diff --git a/Gateways/FE/projects/.resources/.meta b/Gateways/FE/projects/.resources/.meta new file mode 100644 index 0000000..e69de29 diff --git a/Gateways/FE/projects/.resources/0040d73d0f8b8f83cf2abe974ee84af157a5395cabb02bd45606e1b125ea6d49 b/Gateways/FE/projects/.resources/0040d73d0f8b8f83cf2abe974ee84af157a5395cabb02bd45606e1b125ea6d49 new file mode 100644 index 0000000..7ef45f5 Binary files /dev/null and b/Gateways/FE/projects/.resources/0040d73d0f8b8f83cf2abe974ee84af157a5395cabb02bd45606e1b125ea6d49 differ diff --git a/Gateways/FE/projects/.resources/006c9f04d4a4ef9ac308b6b2594153474fd2d5b59f09bd1eb4fc23fb14014754 b/Gateways/FE/projects/.resources/006c9f04d4a4ef9ac308b6b2594153474fd2d5b59f09bd1eb4fc23fb14014754 new file mode 100644 index 0000000..4043441 --- /dev/null +++ b/Gateways/FE/projects/.resources/006c9f04d4a4ef9ac308b6b2594153474fd2d5b59f09bd1eb4fc23fb14014754 @@ -0,0 +1,227 @@ +{ + "custom": {}, + "params": { + "TagId": "value" + }, + "propConfig": { + "params.TagId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 224, + "width": 701 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "GEN Resume", + "textStyle": { + "fontSize": 18, + "fontWeight": "bold", + "paddingLeft": 15 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "SimpleGauge" + }, + "position": { + "grow": 1 + }, + "props": { + "arc": { + "cornerRadius": 5 + }, + "endAngle": 425, + "label": { + "maxDecimal": 0, + "offsetY": 22, + "units": "/35" + }, + "maxValue": 35, + "startAngle": 120, + "value": 15 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Ready", + "textStyle": { + "fontSize": 18, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "SimpleGauge" + }, + "position": { + "grow": 1 + }, + "props": { + "arc": { + "cornerRadius": 5 + }, + "endAngle": 425, + "label": { + "maxDecimal": 0, + "offsetY": 22, + "units": "/35" + }, + "maxValue": 35, + "startAngle": 120, + "value": 18 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Running", + "textStyle": { + "fontSize": 18, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "SimpleGauge" + }, + "position": { + "grow": 1 + }, + "props": { + "arc": { + "cornerRadius": 5 + }, + "endAngle": 425, + "label": { + "color": "#EF4341", + "maxDecimal": 0, + "offsetY": 22, + "units": "/35" + }, + "maxValue": 35, + "startAngle": 120, + "value": 2 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Faulted", + "textStyle": { + "fontSize": 18, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "212px" + }, + "props": { + "justify": "space-evenly", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "#E3E3E3", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3, + "marginBottom": 10, + "marginLeft": 10, + "marginRight": 10, + "marginTop": 10, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/009eb34746a9c65a865143673981aa6f8310dbb301e0ac9849c39e8a50fef92d b/Gateways/FE/projects/.resources/009eb34746a9c65a865143673981aa6f8310dbb301e0ac9849c39e8a50fef92d new file mode 100644 index 0000000..9245b3e Binary files /dev/null and b/Gateways/FE/projects/.resources/009eb34746a9c65a865143673981aa6f8310dbb301e0ac9849c39e8a50fef92d differ diff --git a/Gateways/FE/projects/.resources/00a5ae788de8d76b03fa01642d049c1c75ee59710e924916e77f712d3817a8e4 b/Gateways/FE/projects/.resources/00a5ae788de8d76b03fa01642d049c1c75ee59710e924916e77f712d3817a8e4 new file mode 100644 index 0000000..c8b514d --- /dev/null +++ b/Gateways/FE/projects/.resources/00a5ae788de8d76b03fa01642d049c1c75ee59710e924916e77f712d3817a8e4 @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_SYSTEM" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/00ca1091c1f5a399ed390608e9b9828538b98b1785d03e1aa8c36e721c84fff0 b/Gateways/FE/projects/.resources/00ca1091c1f5a399ed390608e9b9828538b98b1785d03e1aa8c36e721c84fff0 new file mode 100644 index 0000000..e6f9cd0 Binary files /dev/null and b/Gateways/FE/projects/.resources/00ca1091c1f5a399ed390608e9b9828538b98b1785d03e1aa8c36e721c84fff0 differ diff --git a/Gateways/FE/projects/.resources/00dc8809a3dba42fe98312e8dc49aa4399dff2d845a193d30695a254f00a762c b/Gateways/FE/projects/.resources/00dc8809a3dba42fe98312e8dc49aa4399dff2d845a193d30695a254f00a762c new file mode 100644 index 0000000..89fdfa8 Binary files /dev/null and b/Gateways/FE/projects/.resources/00dc8809a3dba42fe98312e8dc49aa4399dff2d845a193d30695a254f00a762c differ diff --git a/Gateways/FE/projects/.resources/00e94a0c0a8f7de65ecc438c329c9c35e58f2ed8952e70fd54ec46703ee15314 b/Gateways/FE/projects/.resources/00e94a0c0a8f7de65ecc438c329c9c35e58f2ed8952e70fd54ec46703ee15314 new file mode 100644 index 0000000..72531cd --- /dev/null +++ b/Gateways/FE/projects/.resources/00e94a0c0a8f7de65ecc438c329c9c35e58f2ed8952e70fd54ec46703ee15314 @@ -0,0 +1,9 @@ +SELECT + id, + body, + last_updated, + last_updated_by +FROM + tag_notes +WHERE + tag_path = :tagPath \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0169ad8fabc1b961f722d4e76b243ba0b316d7aa7a91ce9dc1d0e9ec47e29e55 b/Gateways/FE/projects/.resources/0169ad8fabc1b961f722d4e76b243ba0b316d7aa7a91ce9dc1d0e9ec47e29e55 new file mode 100644 index 0000000..f37d202 --- /dev/null +++ b/Gateways/FE/projects/.resources/0169ad8fabc1b961f722d4e76b243ba0b316d7aa7a91ce9dc1d0e9ec47e29e55 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-3" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948194045 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948194045 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/016e4cecebfdede532fe5176d5e1e95aeec0c8121a283a0abf8667f145894c4e b/Gateways/FE/projects/.resources/016e4cecebfdede532fe5176d5e1e95aeec0c8121a283a0abf8667f145894c4e new file mode 100644 index 0000000..551befc --- /dev/null +++ b/Gateways/FE/projects/.resources/016e4cecebfdede532fe5176d5e1e95aeec0c8121a283a0abf8667f145894c4e @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "ValveC", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/ValveC 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/01a92b1cded10a871e133b800a24f624663abbc9d65171d0cc6a87baa57463fe b/Gateways/FE/projects/.resources/01a92b1cded10a871e133b800a24f624663abbc9d65171d0cc6a87baa57463fe new file mode 100644 index 0000000..dac37af Binary files /dev/null and b/Gateways/FE/projects/.resources/01a92b1cded10a871e133b800a24f624663abbc9d65171d0cc6a87baa57463fe differ diff --git a/Gateways/FE/projects/.resources/01c3945a3baa4253f0115a4f581e2620a3e69583739d288afdd771eaf1bbc42c b/Gateways/FE/projects/.resources/01c3945a3baa4253f0115a4f581e2620a3e69583739d288afdd771eaf1bbc42c new file mode 100644 index 0000000..c15f9b3 --- /dev/null +++ b/Gateways/FE/projects/.resources/01c3945a3baa4253f0115a4f581e2620a3e69583739d288afdd771eaf1bbc42c @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947762435 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947762435 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/01d6caec31b19353bded513b96df05773a1e67f32d428884993f4fce54d766dd b/Gateways/FE/projects/.resources/01d6caec31b19353bded513b96df05773a1e67f32d428884993f4fce54d766dd new file mode 100644 index 0000000..d4658e6 Binary files /dev/null and b/Gateways/FE/projects/.resources/01d6caec31b19353bded513b96df05773a1e67f32d428884993f4fce54d766dd differ diff --git a/Gateways/FE/projects/.resources/031a915cdcfed58255bf09345a4c78105a13036933e322414cb335b01ffb9771 b/Gateways/FE/projects/.resources/031a915cdcfed58255bf09345a4c78105a13036933e322414cb335b01ffb9771 new file mode 100644 index 0000000..d584e02 Binary files /dev/null and b/Gateways/FE/projects/.resources/031a915cdcfed58255bf09345a4c78105a13036933e322414cb335b01ffb9771 differ diff --git a/Gateways/FE/projects/.resources/0329f404c09d3a45b7d11999a4ab28d16c0c25bd1b3a9b0a5dcb33020b4c2e71 b/Gateways/FE/projects/.resources/0329f404c09d3a45b7d11999a4ab28d16c0c25bd1b3a9b0a5dcb33020b4c2e71 new file mode 100644 index 0000000..8e50623 --- /dev/null +++ b/Gateways/FE/projects/.resources/0329f404c09d3a45b7d11999a4ab28d16c0c25bd1b3a9b0a5dcb33020b4c2e71 @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "padding": "1px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/036fecad0b8baad8a7775bfdbfdccea952c86455613d7354996ede365aa05f2c b/Gateways/FE/projects/.resources/036fecad0b8baad8a7775bfdbfdccea952c86455613d7354996ede365aa05f2c new file mode 100644 index 0000000..ff437da Binary files /dev/null and b/Gateways/FE/projects/.resources/036fecad0b8baad8a7775bfdbfdccea952c86455613d7354996ede365aa05f2c differ diff --git a/Gateways/FE/projects/.resources/03934fc50dc605d6391b61a1f367a6014e4f618e1ec9063639c01d33ae55653e b/Gateways/FE/projects/.resources/03934fc50dc605d6391b61a1f367a6014e4f618e1ec9063639c01d33ae55653e new file mode 100644 index 0000000..1679e2a Binary files /dev/null and b/Gateways/FE/projects/.resources/03934fc50dc605d6391b61a1f367a6014e4f618e1ec9063639c01d33ae55653e differ diff --git a/Gateways/FE/projects/.resources/0398542caef37cae7e421977d8e9196f7249187c6b359cc852ae42982d8b59f1 b/Gateways/FE/projects/.resources/0398542caef37cae7e421977d8e9196f7249187c6b359cc852ae42982d8b59f1 new file mode 100644 index 0000000..e097e18 --- /dev/null +++ b/Gateways/FE/projects/.resources/0398542caef37cae7e421977d8e9196f7249187c6b359cc852ae42982d8b59f1 @@ -0,0 +1,1569 @@ +{ + "custom": { + "AlarmSeverity": 1, + "colorHandler": { + "lines": "var(--olGray)", + "text": "var(--olGray)" + } + }, + "params": { + "embedded": false, + "objectName": "RTU-1", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 500 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "RTU" + }, + "position": { + "height": 500, + "width": 800 + }, + "propConfig": { + "props.elements[0].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[10].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[10].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M2153.45,1795.27l192.532,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2345.98,1795.27l38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2345.98,1795.27l38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M206.215,1793.39l166.097,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M206.215,1793.39l38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M206.215,1793.39l38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M3758.85,107.845l85.586,125.272l-85.586,125.272l-2062.52,0l0,1307.41l539.296,0l-83.154,129.615c27.718,43.569 55.436,86.045 83.154,129.614l-1781.25,0l-82.06,-129.614l82.06,-129.615l981.513,0l0,-1307.41l-427.621,0l84.854,-125.272l-84.854,-125.272l2750.59,-0Z", + "fill": { + "paint": "var(--containerNested)" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M4234.1,233.117l-389.655,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4234.1,233.117l-38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4234.1,233.117l-38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1090.11,233.117l-358.583,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M731.529,233.117l-38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M731.529,233.117l-38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "RTU-Box", + "name": "RTU-Box", + "type": "group" + }, + { + "fill": { + "paint": "#ebebeb" + }, + "height": "250.544", + "id": "Filter", + "name": "Filter", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "1905.73", + "y": "107.845" + }, + { + "fill": { + "paint": "#ebebeb" + }, + "height": "250.544", + "id": "DX-Cooling-Coil", + "name": "DX-Cooling-Coil", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "2278.92", + "y": "107.917" + }, + { + "fill": { + "paint": "#ebebeb" + }, + "height": "250.544", + "id": "Hot-Gas-Reheater", + "name": "Hot-Gas-Reheater", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "2660.05", + "y": "107.917" + }, + { + "d": "M1836.36,1786.87c0,63.24 51.343,114.583 114.583,114.583c63.241,0 114.584,-51.343 114.584,-114.583c-0,-63.24 -51.343,-114.583 -114.584,-114.583l-174.265,-0l-0,114.583l59.682,-0Z", + "fill": { + "paint": "#f0f0f0" + }, + "id": "Return-Fan", + "name": "Return-Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3308.72,225.947c-0,63.24 -51.343,114.583 -114.583,114.583c-63.241,0 -114.584,-51.343 -114.584,-114.583c0,-63.24 51.343,-114.583 114.584,-114.583l174.265,-0l0,114.583l-59.682,0Z", + "fill": { + "paint": "#f0f0f0" + }, + "id": "Supply-Fan", + "name": "Supply-Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1217.76,73.6111)", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,189.313,1778.31)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Relief", + "type": "text", + "x": "61.481px", + "y": "1778.32px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "95.356px", + "y": "1828.32px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,670.636,222.75)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Outside", + "type": "text", + "x": "498.322px", + "y": "222.75px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "553.222px", + "y": "272.75px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2539.51,1787.89)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Return", + "type": "text", + "x": "2389.44px", + "y": "1787.89px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "2432.27px", + "y": "1837.89px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,778.081,1595.19)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Gravity", + "type": "text", + "x": "619.731px", + "y": "1595.19px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Damper", + "type": "text", + "x": "622.581px", + "y": "1645.19px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1901.74,730.379)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Return", + "type": "text", + "x": "1751.66px", + "y": "730.379px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "1754.51px", + "y": "780.379px" + } + ], + "name": "group", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,2058.54,250.74)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Filter", + "type": "text", + "x": "1947.43px", + "y": "250.74px" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2845.5,229.889)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Cooling", + "type": "text", + "x": "2675.95px", + "y": "229.889px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Coil", + "type": "text", + "x": "2717.02px", + "y": "279.544px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2460.68,231.269)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Electric", + "type": "text", + "x": "2296.76px", + "y": "231.269px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Heat", + "type": "text", + "x": "2323.57px", + "y": "280.924px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,4383.68,223.2)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Supply", + "type": "text", + "x": "4230.8px", + "y": "223.2px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "4273.62px", + "y": "272.75px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,3245.87,210.25)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "3159.72px", + "y": "210.25px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(SF)", + "type": "text", + "x": "3155.54px", + "y": "260.9px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1992.64,1765.81)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "1906.49px", + "y": "1765.82px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(RF)", + "type": "text", + "x": "1902.31px", + "y": "1816.47px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#ebebeb" + }, + "height": "86.594", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "254.279", + "x": "1439.45", + "y": "539.453" + }, + { + "d": "M1439.45,582.75l254.279,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1566.6,539.453l63.569,86.593l63.57,-86.593", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1439.45,539.453l63.57,86.593l63.57,-86.593", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Return-Damper", + "name": "Return-Damper", + "type": "group" + }, + { + "elements": [ + { + "d": "M1306.88,354.878l-86.593,0l-0,-243.075l86.593,-0l0,243.075Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1263.58,111.803l-0,243.075", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1306.88,233.34l-86.593,60.769l86.593,60.769", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1306.88,111.803l-86.593,60.769l86.593,60.768", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Outside-Damper", + "name": "Outside-Damper", + "type": "group" + }, + { + "elements": [ + { + "d": "M757.675,1921.04l-86.593,-0l-0,-251.181l86.593,-0l0,251.181Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M714.379,1669.86l-0,251.181", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M757.675,1795.45l-86.593,62.796l86.593,62.795", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M757.675,1669.86l-86.593,62.795l86.593,62.795", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Gravity-Damper", + "name": "Gravity-Damper", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4388 1959" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Transmitter_3" + }, + "position": { + "height": 20, + "width": 100, + "x": 67.5, + "y": 37 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_4" + }, + "position": { + "height": 20, + "width": 100, + "x": 67.5, + "y": 60 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Humidity" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%RH", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_5" + }, + "position": { + "height": 20, + "width": 100, + "x": 688.5, + "y": 133 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_9" + }, + "position": { + "height": 20, + "width": 80, + "x": 310, + "y": 239 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_10" + }, + "position": { + "height": 20, + "width": 80, + "x": 310, + "y": 263 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Humidity" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%RH", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_6" + }, + "position": { + "height": 20, + "width": 100, + "x": 67.5, + "y": 83 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Flow" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "cfm", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "rotate": { + "anchor": "50% 25%" + }, + "width": 82, + "x": 323, + "y": 55 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Dirty Filter" + }, + "transforms": [ + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Filter Good" + }, + { + "input": true, + "output": "Filter Bad" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 50, + "x": 204, + "y": 47 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "height": 353, + "width": 640, + "x": 68, + "y": 86 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 35, + "width": 39, + "x": 690.5, + "y": 62 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_7" + }, + "position": { + "height": 20, + "width": 100, + "x": 693, + "y": 312 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Space Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 32, + "width": 76, + "x": 713, + "y": 331 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontSize": 12 + }, + "text": "Space Temperature", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 425.5, + "y": 30.984375 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/041d1cd11f350aeb843dc119bf1325dead088f11e828c792f70983bb6c50aa69 b/Gateways/FE/projects/.resources/041d1cd11f350aeb843dc119bf1325dead088f11e828c792f70983bb6c50aa69 new file mode 100644 index 0000000..1ef4019 --- /dev/null +++ b/Gateways/FE/projects/.resources/041d1cd11f350aeb843dc119bf1325dead088f11e828c792f70983bb6c50aa69 @@ -0,0 +1,216 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Temperature DB" + }, + { + "dataType": "Float4", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Max DP" + }, + { + "dataType": "Float4", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Max Differential Pressure" + }, + { + "dataType": "Float4", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Max Flow" + }, + { + "dataType": "Float4", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Min Flow SP" + }, + { + "dataType": "Int8", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Close Delay SP" + }, + { + "dataType": "Int8", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Open Delay SP" + }, + { + "dataType": "Int8", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Run Delay SP" + }, + { + "dataType": "Int8", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Stop Delay SP" + }, + { + "dataType": "Int8", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Startup Alarm Delay SP" + }, + { + "dataType": "Int8", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Temperature Delay" + }, + { + "dataType": "Int8", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Valve Close Delay SP" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_SYSTEM" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType,\n\t \"format\": \u0027##,###.##\u0027\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/041eb4c6b1ea8fac1935d9b802704572f43421d2f6845e1457cd761950d69d12 b/Gateways/FE/projects/.resources/041eb4c6b1ea8fac1935d9b802704572f43421d2f6845e1457cd761950d69d12 new file mode 100644 index 0000000..f218622 Binary files /dev/null and b/Gateways/FE/projects/.resources/041eb4c6b1ea8fac1935d9b802704572f43421d2f6845e1457cd761950d69d12 differ diff --git a/Gateways/FE/projects/.resources/04538cd6a7a75068aefd9109a86c9ee44217f6666560701922016388cf5d5dc3 b/Gateways/FE/projects/.resources/04538cd6a7a75068aefd9109a86c9ee44217f6666560701922016388cf5d5dc3 new file mode 100644 index 0000000..d018206 --- /dev/null +++ b/Gateways/FE/projects/.resources/04538cd6a7a75068aefd9109a86c9ee44217f6666560701922016388cf5d5dc3 @@ -0,0 +1,101 @@ +def trace_power_flow(): + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + ds_names = ["DS-1A1", "DS-1B1"] + + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/SESA_Out1', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/SESB_Out3' + ] + for name in ds_names: + # Assuming your UDT instances are in a folder named 'DS' + base_path = "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}".format(name) + tag_paths_to_read.append("{}/Breaker Closed Way 01".format(base_path)) + tag_paths_to_read.append("{}/Breaker Closed Way 02".format(base_path)) + # 3. Read all tags at once + + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['SESA-FRD1_Live'] = tag_values[0].value + values['SESB-FRD3_Live'] = tag_values[1].value + + read_idx = 2 + for name in ds_names: + values[name] = { + 'Way01': tag_values[read_idx].value, + 'Way02': tag_values[read_idx + 1].value + } + read_idx += 2 + + # 4. The Tracing Algorithm + + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['SESA-FRD1_Live']: + q.append( ("DS-1A1", "SESA-FRD1") ) + if values['SESB-FRD3_Live']: + q.append( ("DS-1B1", "SESB-FRD3") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ds_name, source = q.pop(0) + if current_ds_name in visited: + continue + + visited.add(current_ds_name) + energized_state[current_ds_name] = source + current_ut_index = ds_names.index(current_ds_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ds_names) - 1: + neighbor_name = ds_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ds_name]['Way02'] and values[neighbor_name]['Way02']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ds_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ds_name]['Way02'] and values[neighbor_name]['Way02']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + print energized_state + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + for name in ds_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + + tag_paths_to_write.append("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}/Data/isEnergized".format(name)) + values_to_write.append(is_energized) + + tag_paths_to_write.append("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}/Data/PowerSource".format(name)) + values_to_write.append(power_source) + + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/047ab6604c56152ab6fd3a19dbea266fc391061b17a6a503205f60cb5456bd82 b/Gateways/FE/projects/.resources/047ab6604c56152ab6fd3a19dbea266fc391061b17a6a503205f60cb5456bd82 new file mode 100644 index 0000000..113a33d Binary files /dev/null and b/Gateways/FE/projects/.resources/047ab6604c56152ab6fd3a19dbea266fc391061b17a6a503205f60cb5456bd82 differ diff --git a/Gateways/FE/projects/.resources/04b7379b42c6aaf564c094f1a14eb10e1e3445800aae94daac5e8195edb86cad b/Gateways/FE/projects/.resources/04b7379b42c6aaf564c094f1a14eb10e1e3445800aae94daac5e8195edb86cad new file mode 100644 index 0000000..26b7145 Binary files /dev/null and b/Gateways/FE/projects/.resources/04b7379b42c6aaf564c094f1a14eb10e1e3445800aae94daac5e8195edb86cad differ diff --git a/Gateways/FE/projects/.resources/04ec1ea77d67c28e3aafcce58b839f36848351f4293e404a12d92afb662bb430 b/Gateways/FE/projects/.resources/04ec1ea77d67c28e3aafcce58b839f36848351f4293e404a12d92afb662bb430 new file mode 100644 index 0000000..94fc6a0 --- /dev/null +++ b/Gateways/FE/projects/.resources/04ec1ea77d67c28e3aafcce58b839f36848351f4293e404a12d92afb662bb430 @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M6537.5,191.897c0,2.3 1.867,4.167 4.167,4.167c2.299,-0 4.166,-1.867 4.166,-4.167c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal32", + "name": "Terminal32", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6541.67,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6535.42,149.892c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In16", + "name": "In16", + "type": "path" + }, + { + "d": "M6541.67,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6545.83,247.063c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.299,0 4.166,-1.867 4.166,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal33", + "name": "Terminal33", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6541.67,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6549.41,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed16", + "name": "Closed16", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6568.41,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open16", + "name": "Open16", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB17", + "name": "CB17", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 2416, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2367,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2367,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2367,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2367,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/05092ea08c0e92e2e78bc1a9aa919c54aa195cee8babc3eb94b5988dd2c37503 b/Gateways/FE/projects/.resources/05092ea08c0e92e2e78bc1a9aa919c54aa195cee8babc3eb94b5988dd2c37503 new file mode 100644 index 0000000..fdb3443 --- /dev/null +++ b/Gateways/FE/projects/.resources/05092ea08c0e92e2e78bc1a9aa919c54aa195cee8babc3eb94b5988dd2c37503 @@ -0,0 +1,638 @@ +{ + "custom": { + "alarmSeverity": -1, + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 110, + "width": 70 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70 + }, + "propConfig": { + "props.elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].elements[1].style.fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[3].style.fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].style.fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\ttxt \u003d value.split(\u0027_\u0027)\n\treturn txt[-2]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": 0 + }, + "height": 67.5, + "name": "rect", + "type": "rect", + "visibility": "hidden", + "width": "37.5", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.268l-0,-4.018l4.464,0l0,0.75l-3.714,-0l-0,3.268l-0.75,-0Zm10.714,-4.018l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm12.5,0l0,0.75l-8.928,0l-0,-0.75l8.928,0Zm6.25,0l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm8.036,4.018l-0.75,-0l0,-3.268l-3.714,0l-0,-0.75l4.464,0l-0,4.018Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-4.464,7.232l-0,-0.75l3.714,0l-0,-3.268l0.75,0l-0,4.018l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-12.5,0l-0,-0.75l8.928,0l0,0.75l-8.928,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-4.018l0.75,0l-0,3.268l3.714,0l0,0.75l-4.464,0l-0,-4.018Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.001,-0l0.319,-0.705l0.105,0l0.319,0.705l-0.13,-0l-0.085,-0.198l0.054,0.035l-0.422,0l0.054,-0.035l-0.084,0.198l-0.13,-0Zm0.37,-0.566l-0.14,0.333l-0.026,-0.032l0.334,0l-0.025,0.032l-0.141,-0.333l-0.002,0Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,63.7053)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,46.6286,63.7053)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.405,0.01c-0.073,0 -0.136,-0.015 -0.189,-0.044c-0.052,-0.03 -0.092,-0.072 -0.12,-0.126c-0.028,-0.055 -0.042,-0.119 -0.042,-0.193c-0,-0.074 0.014,-0.138 0.042,-0.192c0.028,-0.054 0.068,-0.096 0.12,-0.125c0.053,-0.03 0.116,-0.045 0.189,-0.045c0.047,0 0.092,0.007 0.134,0.022c0.043,0.015 0.078,0.036 0.105,0.063l-0.042,0.102c-0.03,-0.025 -0.061,-0.044 -0.092,-0.055c-0.031,-0.012 -0.065,-0.018 -0.101,-0.018c-0.071,0 -0.126,0.022 -0.163,0.065c-0.037,0.043 -0.056,0.104 -0.056,0.183c0,0.079 0.019,0.141 0.056,0.184c0.037,0.043 0.092,0.065 0.163,0.065c0.036,0 0.07,-0.006 0.101,-0.017c0.031,-0.012 0.062,-0.031 0.092,-0.056l0.042,0.102c-0.027,0.027 -0.062,0.048 -0.105,0.063c-0.042,0.015 -0.087,0.022 -0.134,0.022Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,82.3466)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,45.4169,82.3466)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.405,0.01c-0.073,0 -0.136,-0.015 -0.189,-0.044c-0.052,-0.03 -0.092,-0.072 -0.12,-0.126c-0.028,-0.055 -0.042,-0.119 -0.042,-0.193c-0,-0.074 0.014,-0.138 0.042,-0.192c0.028,-0.054 0.068,-0.096 0.12,-0.125c0.053,-0.03 0.116,-0.045 0.189,-0.045c0.047,0 0.092,0.007 0.134,0.022c0.043,0.015 0.078,0.036 0.105,0.063l-0.042,0.102c-0.03,-0.025 -0.061,-0.044 -0.092,-0.055c-0.031,-0.012 -0.065,-0.018 -0.101,-0.018c-0.071,0 -0.126,0.022 -0.163,0.065c-0.037,0.043 -0.056,0.104 -0.056,0.183c0,0.079 0.019,0.141 0.056,0.184c0.037,0.043 0.092,0.065 0.163,0.065c0.036,0 0.07,-0.006 0.101,-0.017c0.031,-0.012 0.062,-0.031 0.092,-0.056l0.042,0.102c-0.027,0.027 -0.062,0.048 -0.105,0.063c-0.042,0.015 -0.087,0.022 -0.134,0.022Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,100.988)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,45.4169,100.988)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.077,-0l0,-0.705l0.128,0l0,0.294l0.363,-0l0,-0.294l0.128,0l0,0.705l-0.128,-0l0,-0.304l-0.363,0l-0,0.304l-0.128,-0Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,119.629)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,47.1692,119.629)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(0.654499,0,0,0.670554,7.32258,-12.0616)", + "type": "group" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "cx": "16.574", + "cy": "45", + "fill": { + "opacity": "0" + }, + "name": "circle", + "r": "5.625", + "stroke": { + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M12.673,41.002l-6.229,5.897", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M26.703,43.323l-6.301,5.832", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Motor-Shape", + "name": "Motor-Shape", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,24.9201,55.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "330.4kW", + "type": "text", + "x": "8.477px", + "y": "55.533px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,24.5742,59.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "442 FLA", + "type": "text", + "x": "8.823px", + "y": "59.283px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "Motor", + "name": "Motor", + "type": "group" + }, + { + "id": "TagID-", + "name": "TagID-", + "transform": "matrix(4.16667,0,0,4.16667,42.2449,10)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "10px", + "fontWeight": "700" + }, + "type": "text", + "x": "20px", + "y": "10px" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 53 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmBorder" + }, + "position": { + "height": 98, + "width": 57, + "x": 1.76, + "y": 10.26 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"solid\"\n\telse:\n\t\treturn \"none\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "outlineWidth": "3" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 15, + "width": 15, + "x": 50.7482, + "y": 1.99823 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "ack": false + }, + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/052fb4491d4cec59a50de180c23e0bdd1a51f1953e94946213e67ca9281bcc2d b/Gateways/FE/projects/.resources/052fb4491d4cec59a50de180c23e0bdd1a51f1953e94946213e67ca9281bcc2d new file mode 100644 index 0000000..626d0ce --- /dev/null +++ b/Gateways/FE/projects/.resources/052fb4491d4cec59a50de180c23e0bdd1a51f1953e94946213e67ca9281bcc2d @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M3874.89,191.897c0,2.3 1.867,4.167 4.167,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal18", + "name": "Terminal18", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3879.05,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3872.8,149.892c-0,-3.449 2.801,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In9", + "name": "In9", + "type": "path" + }, + { + "d": "M3879.05,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3883.22,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal19", + "name": "Terminal19", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3879.05,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3886.79,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed9", + "name": "Closed9", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3905.8,193.729c8.447,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open9", + "name": "Open9", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB10", + "name": "CB10", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1430, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1381,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1381,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1381,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1381,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/058d7a632336eedcd37a72ba5dc42dc04e48c84902f35c2aa6f09e4e0b13700a b/Gateways/FE/projects/.resources/058d7a632336eedcd37a72ba5dc42dc04e48c84902f35c2aa6f09e4e0b13700a new file mode 100644 index 0000000..feb70a1 --- /dev/null +++ b/Gateways/FE/projects/.resources/058d7a632336eedcd37a72ba5dc42dc04e48c84902f35c2aa6f09e4e0b13700a @@ -0,0 +1,764 @@ +{ + "custom": { + "path": "/" + }, + "params": {}, + "propConfig": { + "custom.path": { + "binding": { + "config": { + "expression": "\u0027/\u0027" + }, + "enabled": false, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 51, + "width": 1094 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tmenuOpen \u003d \u0027material/menu_open\u0027\n\tmenuClosed \u003d \u0027material/menu\u0027\n\t\n\tpath \u003d self.props.path\n\tif path \u003d\u003d menuOpen:\n\t\tself.props.path \u003d menuClosed\n\t\tsystem.perspective.closeDock(\u0027mainNav\u0027)\n\telse:\n\t\tself.props.path \u003d menuOpen\n\t\tsystem.perspective.openDock(\u0027mainNav\u0027)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NavMenu" + }, + "position": { + "basis": "28px", + "shrink": 0 + }, + "propConfig": { + "props.path": { + "binding": { + "config": { + "expression": "\u0027material/menu_open\u0027" + }, + "type": "expr" + } + }, + "props.style.width": { + "binding": { + "config": { + "path": "this.position.basis" + }, + "type": "property" + } + } + }, + "props": { + "color": "currentcolor", + "style": { + "cursor": "pointer", + "margin-left": "20px" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "expression": "{view.custom.path}" + }, + "transforms": [ + { + "code": "\tinstances \u003d []\n\tpages \u003d self.view.custom.path.split(\"/\")[1:]\n\tfor i, label in enumerate(pages):\n\t\tif label !\u003d \"\":\n\t\t\tinstances.append({\n\t\t\t \"label\": label,\n\t\t\t \"showArrow\": True\n\t\t\t})\t\n\tif len(instances) \u003e 0:\n\t\tinstances[-1][\u0027showArrow\u0027] \u003d False\n\treturn instances", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "path": "Library/Layouts/Docked/Breadcrumb", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "custom": { + "gtwys": [ + "[Ignition_Common_IO_Gtwy]", + "[Ignition_SATB1_IO1_default]", + "[Ignition_SATB1_IO2_default]", + "[Ignition_SATB1_IO3_default]" + ], + "paths": [ + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL01/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL03/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL04/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL05/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL06/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL07/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL08/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL09/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL10/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL11/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL12/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL13/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL14/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL15/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL18/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL22/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL24/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL60/Delta" + ] + }, + "meta": { + "name": "EmbeddedView" + }, + "propConfig": { + "custom.paths": { + "binding": { + "config": { + "struct": { + "tagPaths": "{this.custom.gtwys}", + "time": "now(3000)" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tpaths \u003d value[\u0027tagPaths\u0027]\n\tfor path in paths:\n\t\ttags \u003d system.tag.browse(path,{\"typeId\":\"Objects/Network/PLC_Data v2\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags:\n\t\t\ttag \u003d str(item[\"fullPath\"]) + \"/Delta\"\n\t\t\toutput.append(tag)\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "struct": { + "hb": "now(3000)\r", + "paths": "{this.custom.paths}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalues \u003d system.tag.readBlocking(value[\u0027paths\u0027])\n\tfor item in values:\n\t\tif item.value \u003e 150:\n\t\t\treturn True\n\treturn False", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Library/CommonObjects/PLC Healt", + "style": { + "padding": "10px" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "events": { + "component": { + "onRowDoubleClick": { + "config": { + "params": {}, + "view": "Pages/Dev/F_Alarms/L1/Alarm Status" + }, + "scope": "C", + "type": "nav" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "650px", + "shrink": 0 + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]System/Top3Alarms" + }, + "type": "tag" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "label", + "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": "left", + "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": true, + "style": { + "classes": "", + "paddingLeft": 5 + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 250 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "dispPath", + "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": "" + } + ], + "enableHeader": false, + "pager": { + "bottom": false + }, + "resizeMode": "fixed", + "rows": { + "height": 6, + "highlight": { + "enabled": false + }, + "striped": { + "enabled": false + }, + "style": { + "fontSize": 16 + } + }, + "selection": { + "enableRowSelection": false + }, + "style": { + "marginBottom": "5px", + "marginTop": "5px", + "minHeight": "40px" + } + }, + "type": "ia.display.table" + }, + { + "meta": { + "name": "Help" + }, + "position": { + "basis": "28px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "props.style.width": { + "binding": { + "config": { + "path": "this.position.basis" + }, + "type": "property" + } + } + }, + "props": { + "color": "currentcolor", + "path": "material/help_outline", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.icon" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": {}, + "enabled": false, + "scope": "C", + "type": "login" + }, + { + "config": { + "script": "\tif self.session.props.auth.authenticated:\n\t\tsystem.perspective.logout()\n\telse:\n\t\tsystem.perspective.login()" + }, + "scope": "G", + "type": "script" + } + ] + } + }, + "meta": { + "name": "Icon" + }, + "position": { + "basis": "28px", + "shrink": 0 + }, + "propConfig": { + "props.style.width": { + "binding": { + "config": { + "path": "this.position.basis" + }, + "type": "property" + } + } + }, + "props": { + "color": "currentcolor", + "path": "material/account_circle", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.icon" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": {}, + "enabled": false, + "scope": "C", + "type": "login" + }, + { + "config": { + "script": "\tif self.session.props.auth.authenticated:\n\t\tsystem.perspective.logout()\n\telse:\n\t\tsystem.perspective.login()" + }, + "scope": "G", + "type": "script" + } + ] + } + }, + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "/Admin/UserSettings" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "Edit Preferences", + "type": "link" + } + ] + }, + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{session.props.auth.authenticated}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{session.props.auth.user.userName}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + }, + "textStyle": { + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "contextMenu": { + "enabled": true + }, + "name": "User" + }, + "position": { + "shrink": 0 + }, + "props": { + "alignItems": "center", + "style": { + "gap": "5px", + "margin-left": "auto", + "margin-right": "20px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Audio" + }, + "position": { + "basis": "300px" + }, + "props": { + "source": "/system/webdev/SDC_SAT_B1/alert.mp3" + }, + "type": "ia.display.audio" + } + ], + "custom": { + "alarmCounts": [ + 0, + 0, + 0, + 0, + 0, + 0 + ], + "totalCount": 0 + }, + "events": { + "system": { + "onStartup": { + "config": { + "name": "stream-light" + }, + "scope": "C", + "type": "theme" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmCounts[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Alarm Count" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.alarmCounts[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO1_default]Alarm Count" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.alarmCounts[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO2_default]Alarm Count" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.alarmCounts[3]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO3_default]Alarm Count" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.alarmCounts[4]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]Alarm Count" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.alarmCounts[5]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO5_default]AlarmActiveCount" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.totalCount": { + "binding": { + "config": { + "path": "this.custom.alarmCounts" + }, + "enabled": false, + "transforms": [ + { + "code": "\ttotal \u003d 0\n\tfor item in value:\n\t\ttotal +\u003d item\n\treturn total", + "type": "script" + } + ], + "type": "property" + }, + "onChange": { + "enabled": null, + "script": "\tif previousValue is not None and previousValue.value is not None:\n\t\t\n\t\tif currentValue.value \u003e previousValue.value:\n\t\t\tsound_component \u003d self.getChild(\"Audio\")\n\t\t\tsound_component.props.play \u003d False # Reset just in case\n\t\t\tsound_component.props.play \u003d True\n\t\t\t\n\t\t\t# Logger for debugging (check your Gateway or Browser logs)\n\t\t\tsystem.perspective.print(\"New Alarm Detected! Playing Sound.\")" + } + } + }, + "props": { + "justify": "space-between", + "style": { + "backgroundColor": "#143663", + "color": "var(--navtree-color)", + "gap": "10px" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "updateBreadcrumb", + "pageScope": true, + "script": "\tself.view.custom.path \u003d payload[\u0027target\u0027]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/05fc9d68b44817d2390797944e0129b4e5424877d405f5098d3f522abcad5faa b/Gateways/FE/projects/.resources/05fc9d68b44817d2390797944e0129b4e5424877d405f5098d3f522abcad5faa new file mode 100644 index 0000000..9f10c84 --- /dev/null +++ b/Gateways/FE/projects/.resources/05fc9d68b44817d2390797944e0129b4e5424877d405f5098d3f522abcad5faa @@ -0,0 +1,517 @@ +{ + "custom": { + "alarmSeverity": 1, + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": true, + "objectName": "RTU01", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 110, + "width": 80 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "RTU" + }, + "position": { + "height": 110, + "width": 80 + }, + "propConfig": { + "props.elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Enclosure", + "name": "Enclosure", + "type": "rect", + "width": "45", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l5.357,0l0,0.75l-4.607,-0l0,3.268l-0.75,-0Zm12.857,-4.018l0,0.75l-3.214,0l-0,-0.75l3.214,0Zm15,0l0,0.75l-10.714,0l-0,-0.75l10.714,0Zm7.5,0l0,0.75l-3.214,0l-0,-0.75l3.214,0Zm9.643,4.018l-0.75,-0l0,-3.268l-4.607,0l-0,-0.75l5.357,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-5.357,7.232l-0,-0.75l4.607,0l0,-3.268l0.75,0l0,4.018l-5.357,0Zm-7.5,0l-0,-0.75l3.214,0l0,0.75l-3.214,0Zm-15,0l-0,-0.75l10.714,0l0,0.75l-10.714,0Zm-7.5,0l-0,-0.75l3.214,0l0,0.75l-3.214,0Zm-9.643,-4.018l0.75,0l-0,3.268l4.607,0l0,0.75l-5.357,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.077,-0l0,-0.705l0.306,0c0.077,0 0.137,0.019 0.179,0.056c0.042,0.037 0.063,0.088 0.063,0.155c0,0.043 -0.01,0.081 -0.029,0.112c-0.019,0.031 -0.046,0.055 -0.082,0.072c-0.036,0.017 -0.08,0.025 -0.131,0.025l0.009,-0.015l0.033,-0c0.027,-0 0.051,0.007 0.071,0.02c0.021,0.013 0.039,0.034 0.054,0.063l0.118,0.217l-0.141,-0l-0.122,-0.225c-0.008,-0.015 -0.017,-0.026 -0.027,-0.034c-0.01,-0.009 -0.021,-0.015 -0.034,-0.018c-0.013,-0.003 -0.027,-0.005 -0.044,-0.005l-0.095,-0l0,0.282l-0.128,-0Zm0.128,-0.377l0.156,-0c0.046,-0 0.081,-0.009 0.104,-0.028c0.024,-0.019 0.036,-0.048 0.036,-0.086c0,-0.037 -0.012,-0.065 -0.036,-0.084c-0.023,-0.019 -0.058,-0.029 -0.104,-0.029l-0.156,0l0,0.227Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "fill": {}, + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,63.7053)", + "type": "group" + }, + { + "fill": {}, + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,45.5474,63.7053)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.247,-0l0,-0.598l-0.242,0l-0,-0.107l0.612,0l0,0.107l-0.242,0l0,0.598l-0.128,-0Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "fill": {}, + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,82.3466)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,44.3357,82.3466)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.37,0.01c-0.097,0 -0.171,-0.025 -0.222,-0.075c-0.051,-0.051 -0.076,-0.125 -0.076,-0.224l0,-0.416l0.128,0l0,0.415c0,0.063 0.014,0.111 0.043,0.143c0.029,0.031 0.072,0.047 0.127,0.047c0.055,0 0.097,-0.016 0.126,-0.047c0.029,-0.032 0.043,-0.08 0.043,-0.143l0,-0.415l0.127,0l0,0.416c0,0.099 -0.025,0.173 -0.075,0.224c-0.05,0.05 -0.124,0.075 -0.221,0.075Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "fill": {}, + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,100.988)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,46.5168,100.988)", + "type": "group" + } + ], + "id": "Name", + "name": "Name", + "transform": "matrix(0.654499,0,0,0.670554,15.7034,-6.33664)", + "type": "group" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "cx": "22.5", + "cy": "45", + "fill": { + "opacity": "0" + }, + "name": "circle", + "r": "5.625", + "stroke": { + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M18.6,41.002l-6.229,5.897", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M32.629,43.323l-6.3,5.832", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Motor1", + "name": "Motor1", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,31.2492,55.4948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "245 KVA", + "type": "text", + "x": "15.111px", + "y": "55.495px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,30.8626,59.2448)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "297 FLA", + "type": "text", + "x": "15.111px", + "y": "59.245px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "Motor", + "name": "Motor", + "type": "group" + }, + { + "id": "TagID", + "name": "TagID", + "transform": "matrix(4.16667,0,0,4.16667,49.4275,9.24479)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "RTU-01", + "type": "text", + "x": "34.842px", + "y": "9.245px" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 60 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmBorder" + }, + "position": { + "height": 94, + "width": 65, + "x": 2.76, + "y": 12.26 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"solid\"\n\telse:\n\t\treturn \"none\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "outlineWidth": "3" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 15, + "width": 15, + "x": 60.75, + "y": 5 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "ack": false + }, + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/060f4ba28c0fd361ac14107b504c4166feef27d116de40eb2efd88f82ae142c6 b/Gateways/FE/projects/.resources/060f4ba28c0fd361ac14107b504c4166feef27d116de40eb2efd88f82ae142c6 new file mode 100644 index 0000000..354b1ee --- /dev/null +++ b/Gateways/FE/projects/.resources/060f4ba28c0fd361ac14107b504c4166feef27d116de40eb2efd88f82ae142c6 @@ -0,0 +1,956 @@ +{ + "custom": { + "airOvr": false, + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Dehumidifier High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Dehumidifier Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Enthalpy Enable SP" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Control Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temp Override" + }, + { + "dataType": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Emergency Override Alarm Delay Minutes" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Day of Week Enable" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Occupancy Mode Start Time" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temp Override En" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Unoccupancy Mode Start Time" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Emergency Override Alarm Delay" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Space Temperature Setpoint" + } + ], + "weekDay": 254 + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + }, + "propConfig": { + "custom.airOvr": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Supply Air Temp Override En" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.weekDay": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Day of Week Enable" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.SA_Ovr": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Supply Air Temp Override" + }, + "type": "tag" + } + }, + "custom.SA_Ovr_En": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Supply Air Temp Override EN" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d False:\n\t\tself.custom.SA_Ovr \u003d 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.instances[0].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[10].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[1].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[2].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[3].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[4].enabled": { + "binding": { + "config": { + "struct": { + "airOv": "{view.custom.airOvr}", + "auth": "{view.params.auth.config}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\"airOv\"] \u0026\u0026 {value}[\"auth\"]", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[5].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[6].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.instances[7].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[8].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[9].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "instances": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 100, + "min": 0, + "name": "Dehumidifier High Setpoint", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Dehumidifier High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 100, + "min": 0, + "name": "Dehumidifier Low Setpoint", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Dehumidifier Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 35, + "min": 25, + "name": "Economizer Enthalpy Enable SP", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Economizer Enthalpy Enable SP" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 80, + "min": -30, + "name": "Economizer Enable Setpoint", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Economizer Enable Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 200, + "min": 0, + "name": "Supply Air Temp Override", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Supply Air Temp Override" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 9999, + "min": 0, + "name": "Emergency Override Alarm Delay Minutes", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Emergency Override Alarm Delay Minutes", + "visible": true + }, + { + "dataType": "Int4", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 120, + "min": 0, + "name": "Space Temperature Setpoint", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Space Temperature Setpoint" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 9999, + "min": 0, + "name": "Occupancy Mode Start Time", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Occupancy Mode Start Time" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 9999, + "min": -9999, + "name": "Supply Air Temp Override En", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Supply Air Temp Override En" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "min": 0, + "name": "Unoccupancy Mode Start Time", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Unoccupancy Mode Start Time" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "min": 0, + "name": "Emergency Override Alarm Delay", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Emergency Override Alarm Delay" + } + ], + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag ConfigV2", + "style": { + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Day of the Week Enable" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 1\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Monday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},1)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Monday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 2\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Tuesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},2)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Tuesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 3\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Wednesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},3)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Wednesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 4\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Thursday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},4)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Thursday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 5\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Friday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},5)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Friday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 6\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Saturday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},6)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Saturday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 7\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Sunday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},7)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Sunday" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "space-evenly", + "style": { + "gap": "5px", + "padding": "5px" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "100%" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0629fe865eb0e0ab813d0d3eacf4ef66f074f108d77a2326a5683b1e78785283 b/Gateways/FE/projects/.resources/0629fe865eb0e0ab813d0d3eacf4ef66f074f108d77a2326a5683b1e78785283 new file mode 100644 index 0000000..5ecbd42 --- /dev/null +++ b/Gateways/FE/projects/.resources/0629fe865eb0e0ab813d0d3eacf4ef66f074f108d77a2326a5683b1e78785283 @@ -0,0 +1,726 @@ +{ + "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" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/066883c3946920ab99dcc485e7db5fc4080ac312d90b8a722e5f5ad50afdb13b b/Gateways/FE/projects/.resources/066883c3946920ab99dcc485e7db5fc4080ac312d90b8a722e5f5ad50afdb13b new file mode 100644 index 0000000..cb1944c --- /dev/null +++ b/Gateways/FE/projects/.resources/066883c3946920ab99dcc485e7db5fc4080ac312d90b8a722e5f5ad50afdb13b @@ -0,0 +1,1685 @@ +{ + "custom": { + "AlarmSeverity": 0 + }, + "params": { + "embedded": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_DH5_STU01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 686 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "STU_Detail" + }, + "position": { + "height": 468, + "width": 540, + "x": 7, + "y": -124 + }, + "propConfig": { + "props.elements[2].elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status 1A" + }, + "transforms": [ + { + "fallback": "var(--state-running)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status 1A" + }, + "transforms": [ + { + "fallback": "var(--state-running)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status 1A" + }, + "transforms": [ + { + "fallback": "var(--state-running)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status 1A" + }, + "transforms": [ + { + "fallback": "var(--state-running)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status 1A" + }, + "transforms": [ + { + "fallback": "var(--state-running)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status 1A" + }, + "transforms": [ + { + "fallback": "var(--state-running)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M30.181,630.3l1911.86,0l83.632,546.524l-83.632,544.578l-1911.86,0l85.577,-544.578l-85.577,-546.524Z", + "fill": { + "paint": "#bfbfbf" + }, + "name": "path", + "stroke": { + "paint": "var(--olGray)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M849.688,630.3l0,1091.1", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M686.412,630.3l-0,1091.1", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "d": "M768.548,694.483l-0.973,60.962", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M767.575,1577.28l0.973,79.941", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M767.575,755.445l45.706,27.555l-91.411,54.546", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M721.87,837.546l91.411,55.109l-91.411,54.546", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M721.87,947.201l91.411,55.109l-91.411,54.547", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M721.87,1056.86l91.411,55.109l-91.411,54.546", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M721.87,1166.51l91.411,55.109l-91.411,54.546", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M721.87,1276.17l91.411,55.109l-91.411,54.546", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M721.87,1385.82l91.411,55.109l-91.411,54.547", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M721.87,1495.48l91.411,55.108l-44.733,26.693", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "962.737", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "91.411", + "x": "721.87", + "y": "694.483" + } + ], + "id": "CHW-Cooling-Coil", + "name": "CHW-Cooling-Coil", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "cx": "1474.9100341796875", + "cy": "1000.1719970703125", + "fill": {}, + "name": "circle", + "r": "64.182", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "elements": [ + { + "d": "M1477.65 1000.196c0.001-0.057 0.001-0.115 0.001-0.172 0-11.245-6.133-21.07-15.234-26.307-0.001 0.057-0.001 0.115-0.001 0.172 0 11.245 6.133 21.069 15.234 26.307Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1477.65 1000.196c-0.05 0.028-0.1 0.057-0.15 0.086-9.738 5.622-15.18 15.846-15.165 26.346 0.05-0.028 0.099-0.057 0.149-0.085 9.739-5.623 15.18-15.847 15.166-26.347Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1477.65 1000.172c0.049 0.029 0.099 0.058 0.149 0.087 9.738 5.623 21.313 5.223 30.399-0.04-0.049-0.029-0.099-0.057-0.149-0.086-9.738-5.623-21.313-5.223-30.399 0.039Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M1435.95 949.541l100.345 33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1435.95 1050.6390000000001l100.345-33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "cx": 1474.91, + "cy": "1432.09", + "fill": {}, + "name": "circle", + "r": "64.182", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "elements": [ + { + "d": "M1477.65,1432.11c0.001,-0.058 0.001,-0.115 0.001,-0.173c-0,-11.245 -6.133,-21.069 -15.234,-26.307c-0.001,0.058 -0.001,0.115 -0.001,0.173c0,11.245 6.133,21.069 15.234,26.307Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1477.65,1432.11c-0.05,0.028 -0.1,0.056 -0.15,0.085c-9.738,5.623 -15.18,15.846 -15.165,26.347c0.05,-0.029 0.099,-0.057 0.149,-0.086c9.739,-5.623 15.18,-15.846 15.166,-26.346Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1477.65,1432.09c0.049,0.029 0.099,0.058 0.149,0.087c9.738,5.622 21.313,5.223 30.399,-0.04c-0.049,-0.029 -0.099,-0.058 -0.149,-0.086c-9.738,-5.623 -21.313,-5.224 -30.399,0.039Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M1435.95,1381.46l100.345,33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1435.95,1482.56l100.345,-33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "cx": "1645.5999755859375", + "cy": "997.35498046875", + "fill": {}, + "name": "circle", + "r": "64.182", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "elements": [ + { + "d": "M1648.33 997.378c0-0.057 0-0.115 0-0.172 0-11.245-6.133-21.069-15.234-26.307 0 0.057 0 0.115 0 0.172 0 11.245 6.133 21.07 15.234 26.307Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1648.33 997.378c-0.05 0.029-0.1 0.057-0.149 0.086-9.739 5.622-15.18 15.846-15.166 26.346 0.05-0.028 0.1-0.057 0.15-0.085 9.738-5.623 15.18-15.846 15.165-26.347Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1648.33 997.355c0.05 0.029 0.099 0.057 0.149 0.086 9.739 5.623 21.313 5.223 30.399-0.039-0.049-0.029-0.099-0.058-0.148-0.087-9.739-5.623-21.314-5.223-30.4 0.04Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M1606.63 946.724l100.345 33.378", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1606.63 1047.821l100.345-33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "cx": "1645.6", + "cy": "1429.27", + "fill": {}, + "name": "circle", + "r": "64.182", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "elements": [ + { + "d": "M1648.33,1429.29c-0,-0.058 0,-0.115 0,-0.172c0,-11.246 -6.133,-21.07 -15.234,-26.307c-0,0.057 -0,0.114 -0,0.172c-0,11.245 6.133,21.069 15.234,26.307Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1648.33,1429.29c-0.05,0.028 -0.1,0.057 -0.149,0.085c-9.739,5.623 -15.18,15.847 -15.166,26.347c0.05,-0.028 0.1,-0.057 0.15,-0.086c9.738,-5.622 15.18,-15.846 15.165,-26.346Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1648.33,1429.27c0.05,0.029 0.099,0.058 0.149,0.087c9.739,5.622 21.313,5.223 30.399,-0.04c-0.049,-0.029 -0.099,-0.058 -0.148,-0.086c-9.739,-5.623 -21.314,-5.224 -30.4,0.039Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M1606.63,1378.64l100.345,33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1606.63,1479.74l100.345,-33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "cx": "1819.0799560546875", + "cy": "997.35498046875", + "fill": {}, + "name": "circle", + "r": "64.182", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "elements": [ + { + "d": "M1821.82 997.378c0-0.057 0-0.115 0-0.172 0-11.245-6.133-21.069-15.234-26.307 0 0.057 0 0.115 0 0.172 0 11.245 6.133 21.07 15.234 26.307Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1821.82 997.378c-0.05 0.029-0.099 0.057-0.149 0.086-9.739 5.622-15.18 15.846-15.166 26.346 0.05-0.028 0.1-0.057 0.15-0.085 9.738-5.623 15.18-15.846 15.165-26.347Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1821.82 997.355c0.05 0.029 0.099 0.057 0.149 0.086 9.739 5.623 21.313 5.223 30.4-0.039-0.05-0.029-0.1-0.058-0.149-0.087-9.739-5.623-21.313-5.223-30.4 0.04Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M1780.11 946.724l100.345 33.378", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1780.11 1047.821l100.345-33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "cx": "1819.08", + "cy": "1429.27", + "fill": {}, + "name": "circle", + "r": "64.182", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "elements": [ + { + "d": "M1821.82,1429.29c0,-0.058 0,-0.115 0,-0.172c0,-11.246 -6.133,-21.07 -15.234,-26.307c-0,0.057 -0,0.114 -0,0.172c-0,11.245 6.133,21.069 15.234,26.307Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1821.82,1429.29c-0.05,0.028 -0.099,0.057 -0.149,0.085c-9.739,5.623 -15.18,15.847 -15.166,26.347c0.05,-0.028 0.1,-0.057 0.15,-0.086c9.738,-5.622 15.18,-15.846 15.165,-26.346Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1821.82,1429.27c0.05,0.029 0.099,0.058 0.149,0.087c9.739,5.622 21.313,5.223 30.4,-0.04c-0.05,-0.029 -0.1,-0.058 -0.149,-0.086c-9.739,-5.623 -21.313,-5.224 -30.4,0.039Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M1780.11,1378.64l100.345,33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1780.11,1479.74l100.345,-33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M1754.1000000000008 998.9550000000004l-45.122 0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1754.9,1429.27l-45.122,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1580.6100000000008 998.9550000000004l-42.316 0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1581.41,1429.27l-42.316,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1409.9300000000007 1001.7720000000004l-48.757 0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1410.73,1432.09l-48.757,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1361.98,630.3l-0,801.788", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Fans", + "name": "Fans", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2096 1763" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "CHWR Temp" + }, + "position": { + "height": 20, + "width": 100, + "x": 110, + "y": 25.997596740722656 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/CHW Valve Feedback" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%", + "EU_Pos": 0, + "Size": 12, + "Value": 17.2 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_1" + }, + "position": { + "height": 20, + "width": 120, + "x": 372, + "y": 271 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Speed Feedback" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%", + "EU_Pos": 0, + "Size": 12, + "Value": 60 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dis Temp_0" + }, + "position": { + "height": 20, + "width": 121, + "x": 547.0070391845703, + "y": 271.9976043701172 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Discharge Air Temperature C" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 68 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dis Temp_1" + }, + "position": { + "height": 20, + "width": 121, + "x": 547.0070391845703, + "y": 243.9976043701172 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Discharge Air Temperature B" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 70 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dis Temp_2" + }, + "position": { + "height": 20, + "width": 121, + "x": 547.0070391845703, + "y": 217.0136043701172 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Discharge Air Temperature A" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 69 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dis Temp_3" + }, + "position": { + "height": 20, + "width": 121, + "x": 543, + "y": 5.997596740722656 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 84 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CHWR Temp_0" + }, + "position": { + "height": 20, + "width": 100, + "x": 190, + "y": 25.997596740722656 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Water Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 72 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 19, + "width": 110, + "x": 156, + "y": 9 + }, + "props": { + "text": "CHW Valve", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 45, + "width": 110, + "x": 547.0070391845703, + "y": 166.0036043701172 + }, + "props": { + "text": "Discharge Temperature (A, B, and C)", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 45, + "width": 110, + "x": 547, + "y": 26 + }, + "props": { + "text": "Return Air Temperature", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 23, + "width": 120, + "x": 372, + "y": 289 + }, + "props": { + "text": "Fan Speed", + "textStyle": { + "color": "#303030", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 20, + "width": 20, + "x": 377, + "y": 100 + }, + "props": { + "text": "1A", + "textStyle": { + "color": "#303030", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 20, + "width": 20, + "x": 421, + "y": 100 + }, + "props": { + "text": "1B", + "textStyle": { + "color": "#303030", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 20, + "width": 20, + "x": 465, + "y": 100 + }, + "props": { + "text": "1C", + "textStyle": { + "color": "#303030", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_10" + }, + "position": { + "height": 20, + "width": 20, + "x": 465, + "y": 213 + }, + "props": { + "text": "1F", + "textStyle": { + "color": "#303030", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_11" + }, + "position": { + "height": 20, + "width": 20, + "x": 421, + "y": 213 + }, + "props": { + "text": "1E", + "textStyle": { + "color": "#303030", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_12" + }, + "position": { + "height": 20, + "width": 20, + "x": 377, + "y": 213 + }, + "props": { + "text": "1D", + "textStyle": { + "color": "#303030", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 26, + "width": 136, + "x": 15, + "y": 19 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "STU", + "textStyle": { + "fontSize": 16, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label_13" + }, + "position": { + "height": 309, + "width": 525, + "x": 10.49, + "y": 27.98 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 33, + "width": 34, + "x": 520, + "y": 9 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/06bfb04e674388dfa3c3a6b2929260b7cf686709c89f02a0adfa7eaa32a28bfe b/Gateways/FE/projects/.resources/06bfb04e674388dfa3c3a6b2929260b7cf686709c89f02a0adfa7eaa32a28bfe new file mode 100644 index 0000000..386f3fe --- /dev/null +++ b/Gateways/FE/projects/.resources/06bfb04e674388dfa3c3a6b2929260b7cf686709c89f02a0adfa7eaa32a28bfe @@ -0,0 +1,209 @@ +{ + "custom": {}, + "params": { + "tagpath": "value", + "title": "value" + }, + "propConfig": { + "params.tagpath": { + "paramDirection": "input", + "persistent": true + }, + "params.title": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 111, + "width": 51 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "15%" + }, + "props": { + "style": { + "fontSize": 12, + "textAlign": "center" + }, + "text": "Dewpoint" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/OPC Tags/SATB1_DH{DH}_Dwpt" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "###.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "desiredRangeColor": "#4BC7D3", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "label": { + "style": { + "fontSize": 30, + "fontWeight": "normal", + "overflow": "visible", + "textAlign": "left" + } + }, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null, + "processValue": 65, + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "80%" + }, + "props": { + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/OPC Tags/SATB1_DH{DH}_Dwpt" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "###.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "--tagvalue-color", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "degF", + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "15%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/06ec1ac3872ebb7e46ce8031d0fc5ed6f3b7d0dea2a16668c0bee946b688397e b/Gateways/FE/projects/.resources/06ec1ac3872ebb7e46ce8031d0fc5ed6f3b7d0dea2a16668c0bee946b688397e new file mode 100644 index 0000000..78e161c --- /dev/null +++ b/Gateways/FE/projects/.resources/06ec1ac3872ebb7e46ce8031d0fc5ed6f3b7d0dea2a16668c0bee946b688397e @@ -0,0 +1,644 @@ +{ + "custom": { + "Temp": [ + null, + null, + null + ], + "gradient": [ + null, + null, + null + ], + "inMax": 5, + "inMin": -5, + "paths": [ + null, + null, + null + ] + }, + "params": { + "Aisle": "TL200", + "SP": 65, + "embedded": true, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_" + }, + "propConfig": { + "custom.Temp": { + "persistent": true + }, + "custom.Temp[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Val" + }, + "type": "tag" + } + }, + "custom.Temp[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.paths[1]}" + }, + "tagPath": "{1}/Val" + }, + "type": "tag" + } + }, + "custom.Temp[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "2": "{view.custom.paths[2]}" + }, + "tagPath": "{2}/Val" + }, + "type": "tag" + } + }, + "custom.gradient": { + "persistent": true + }, + "custom.gradient[0]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[0]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 5\n\tif value\u003cself.custom.inMin: value \u003d -5\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[1]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[1]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[2]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[2]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.inMax": { + "persistent": true + }, + "custom.inMin": { + "persistent": true + }, + "custom.paths": { + "persistent": true + }, + "custom.paths[0]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT04_C\")" + }, + "type": "expr" + } + }, + "custom.paths[1]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT05_C\")" + }, + "type": "expr" + } + }, + "custom.paths[2]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT06_C\")" + }, + "type": "expr" + } + }, + "params.Aisle": { + "paramDirection": "input", + "persistent": true + }, + "params.SP": { + "paramDirection": "input", + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "uppterTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT04_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "upperHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_HT04_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "upperTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "midTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[1]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT05_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "midHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_HT05_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "midTransmitters" + }, + "position": { + "basis": "60%" + }, + "props": { + "alignContent": "space-between", + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "lowerTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[2]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT06_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "lowerHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_HT06_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "lowerTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.backgroundImage": { + "binding": { + "config": { + "expression": "concat(\"linear-gradient(to bottom, rgba(00.0, 127.0,210.0, \",{view.custom.gradient[0]},\"), rgba(00.0, 127.0,210.0, \",{view.custom.gradient[1]},\"),rgba(00.0, 127.0,210.0, \",{view.custom.gradient[2]},\"))\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible", + "paddingBottom": "2px", + "paddingLeft": "2px", + "paddingRight": "2px", + "paddingTop": "2px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/07842c8b29a79c350741992e1a3b474f61fd63f956c52046c5741a0134d198c5 b/Gateways/FE/projects/.resources/07842c8b29a79c350741992e1a3b474f61fd63f956c52046c5741a0134d198c5 new file mode 100644 index 0000000..7e38499 --- /dev/null +++ b/Gateways/FE/projects/.resources/07842c8b29a79c350741992e1a3b474f61fd63f956c52046c5741a0134d198c5 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1/Source 1 Switch" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947747922 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947747922 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/07864660f5bbd0dca321b7d9826c8193d4db15338a5ef7613ec1876990da2a8b b/Gateways/FE/projects/.resources/07864660f5bbd0dca321b7d9826c8193d4db15338a5ef7613ec1876990da2a8b new file mode 100644 index 0000000..6a8cb2f --- /dev/null +++ b/Gateways/FE/projects/.resources/07864660f5bbd0dca321b7d9826c8193d4db15338a5ef7613ec1876990da2a8b @@ -0,0 +1,416 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Avg", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Current N", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage AN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage Avg", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage BN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage CN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KFactor A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KFactor B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KFactor C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Energy", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Sag Events", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage THD A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage THD B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage THD C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Unbalance", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "kW A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "kW B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "kW C", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-2/PQM" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/07a4477d415f24f73c48671b4f3f75cca138be01472780b7ba82f8a66c2cccd8 b/Gateways/FE/projects/.resources/07a4477d415f24f73c48671b4f3f75cca138be01472780b7ba82f8a66c2cccd8 new file mode 100644 index 0000000..bb6d517 Binary files /dev/null and b/Gateways/FE/projects/.resources/07a4477d415f24f73c48671b4f3f75cca138be01472780b7ba82f8a66c2cccd8 differ diff --git a/Gateways/FE/projects/.resources/07cc0c9c73d7cd295c9df5e724e9fb110a2d494ec42c3253a72e1668b1da467e b/Gateways/FE/projects/.resources/07cc0c9c73d7cd295c9df5e724e9fb110a2d494ec42c3253a72e1668b1da467e new file mode 100644 index 0000000..221178e Binary files /dev/null and b/Gateways/FE/projects/.resources/07cc0c9c73d7cd295c9df5e724e9fb110a2d494ec42c3253a72e1668b1da467e differ diff --git a/Gateways/FE/projects/.resources/08126de50d9b5aaf63a65048e25c6ab8fde96a15ddedd2fd7e8d5a70120d73c1 b/Gateways/FE/projects/.resources/08126de50d9b5aaf63a65048e25c6ab8fde96a15ddedd2fd7e8d5a70120d73c1 new file mode 100644 index 0000000..6e26ce9 --- /dev/null +++ b/Gateways/FE/projects/.resources/08126de50d9b5aaf63a65048e25c6ab8fde96a15ddedd2fd7e8d5a70120d73c1 @@ -0,0 +1,120 @@ +{ + "custom": { + "colorHandler": { + "auto": "#FF5101", + "manual": "#FF5101", + "none": "#FFFFFF" + } + }, + "params": { + "Mode": 1, + "options": [ + "Local", + "Remote" + ] + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "params.Mode": { + "paramDirection": "input", + "persistent": true + }, + "params.options": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 60 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.params.Mode}\u003e0" + }, + "enabled": false, + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value \u003c 0:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\tif value \u003d\u003d 0:\n\t\toutput \u003d self.view.custom.colorHandler.manual\n\tif value \u003d\u003d 1:\n\t\toutput \u003d self.view.custom.colorHandler.auto\t\n\tif value \u003e 1:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\t\n\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "code": "\tif value:\n\t\treturn self.view.params.options[1]\n\telse:\n\t\treturn self.view.params.options[0]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#DF5D00", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "paddingLeft": 5, + "paddingRight": 5 + }, + "textStyle": { + "color": "#FFFFFF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/083bd6732652e3bf3a5b79829133de54955ce31c0065a624dd44a75324ffa889 b/Gateways/FE/projects/.resources/083bd6732652e3bf3a5b79829133de54955ce31c0065a624dd44a75324ffa889 new file mode 100644 index 0000000..c36f30e Binary files /dev/null and b/Gateways/FE/projects/.resources/083bd6732652e3bf3a5b79829133de54955ce31c0065a624dd44a75324ffa889 differ diff --git a/Gateways/FE/projects/.resources/0873a40f0d7a49a3c6f41c5f49dffd38bc8de6643f7a8f24f84559dd71280b3a b/Gateways/FE/projects/.resources/0873a40f0d7a49a3c6f41c5f49dffd38bc8de6643f7a8f24f84559dd71280b3a new file mode 100644 index 0000000..5ba7d81 Binary files /dev/null and b/Gateways/FE/projects/.resources/0873a40f0d7a49a3c6f41c5f49dffd38bc8de6643f7a8f24f84559dd71280b3a differ diff --git a/Gateways/FE/projects/.resources/088e9461d0341f9e98d47abecd3d5a13e00818cf720c616e726966490be59c82 b/Gateways/FE/projects/.resources/088e9461d0341f9e98d47abecd3d5a13e00818cf720c616e726966490be59c82 new file mode 100644 index 0000000..2129ff4 Binary files /dev/null and b/Gateways/FE/projects/.resources/088e9461d0341f9e98d47abecd3d5a13e00818cf720c616e726966490be59c82 differ diff --git a/Gateways/FE/projects/.resources/0919b07e107ab963ecd41d078744d4f53936e72ef57555135389f0de013e0f6f b/Gateways/FE/projects/.resources/0919b07e107ab963ecd41d078744d4f53936e72ef57555135389f0de013e0f6f new file mode 100644 index 0000000..283b684 Binary files /dev/null and b/Gateways/FE/projects/.resources/0919b07e107ab963ecd41d078744d4f53936e72ef57555135389f0de013e0f6f differ diff --git a/Gateways/FE/projects/.resources/092cebe0458482a4d7e5e080c4b36d70a52889f2aeaebf59f0a0848517247d4e b/Gateways/FE/projects/.resources/092cebe0458482a4d7e5e080c4b36d70a52889f2aeaebf59f0a0848517247d4e new file mode 100644 index 0000000..f3fa872 Binary files /dev/null and b/Gateways/FE/projects/.resources/092cebe0458482a4d7e5e080c4b36d70a52889f2aeaebf59f0a0848517247d4e differ diff --git a/Gateways/FE/projects/.resources/0971b06f4e7b6b13899f0813d2462e76172c42bd8695f5f55c1bfa3ac0698df1 b/Gateways/FE/projects/.resources/0971b06f4e7b6b13899f0813d2462e76172c42bd8695f5f55c1bfa3ac0698df1 new file mode 100644 index 0000000..0bef607 --- /dev/null +++ b/Gateways/FE/projects/.resources/0971b06f4e7b6b13899f0813d2462e76172c42bd8695f5f55c1bfa3ac0698df1 @@ -0,0 +1,181 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Amps G", + "numDecimals": 4, + "options": [], + "visible": true + }, + { + "dataType": "Int4", + "display": true, + "displaySelection": 1, + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Status", + "numDecimals": 1, + "options": [ + "Open", + "Closed" + ], + "visible": true + }, + { + "dataType": "Boolean", + "display": true, + "displaySelection": 1, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Tripped", + "numDecimals": 1, + "options": [ + "Not Tripped", + "Tripped" + ], + "visible": true + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE2" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n if system.tag.read(tagPath).value \u003d\u003d None:\n \tdisplay \u003d False\n else:\n \tdisplay \u003d True\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"numDecimals\":1,\n \"options\": [],\n \"visible\": True,\n \"display\": display,\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0a137edf47a895682bc96e93c8e3a1a3e5388bd04742100ee7c17cd68b0cda4d b/Gateways/FE/projects/.resources/0a137edf47a895682bc96e93c8e3a1a3e5388bd04742100ee7c17cd68b0cda4d new file mode 100644 index 0000000..be49a64 Binary files /dev/null and b/Gateways/FE/projects/.resources/0a137edf47a895682bc96e93c8e3a1a3e5388bd04742100ee7c17cd68b0cda4d differ diff --git a/Gateways/FE/projects/.resources/0a2cc97056fa83d1bf3bdea5e2960d5ebe7e1afaccd4edb080b8f041222474a3 b/Gateways/FE/projects/.resources/0a2cc97056fa83d1bf3bdea5e2960d5ebe7e1afaccd4edb080b8f041222474a3 new file mode 100644 index 0000000..ee45434 --- /dev/null +++ b/Gateways/FE/projects/.resources/0a2cc97056fa83d1bf3bdea5e2960d5ebe7e1afaccd4edb080b8f041222474a3 @@ -0,0 +1,544 @@ +{ + "custom": { + "OCmd": { + "Occupied": null, + "sEND": null + }, + "tagPaths": [ + "[Ignition_Common_IO_Gtwy]RM1100/SATB1_HS1_RM1100_VAV13", + "[Ignition_Common_IO_Gtwy]RM1100/SATB1_HS1_RM1100_VAV14", + "[Ignition_Common_IO_Gtwy]RM1101/SATB1_HS1_RM1101_VAV17", + "[Ignition_Common_IO_Gtwy]RM1102/SATB1_HS1_RM1102_VAV15", + "[Ignition_Common_IO_Gtwy]RM1102-2/SATB1_HS1_RM1102-2_VAV16", + "[Ignition_Common_IO_Gtwy]RM1103/SATB1_HS1_RM1103_VAV09", + "[Ignition_Common_IO_Gtwy]RM1109/SATB1_HS1_RM1109_VAV06", + "[Ignition_Common_IO_Gtwy]RM1110/SATB1_HS1_RM1110_VAV04", + "[Ignition_Common_IO_Gtwy]RM1110/SATB1_HS1_RM1110_VAV05", + "[Ignition_Common_IO_Gtwy]RM1111/SATB1_HS1_RM1111_VAV11", + "[Ignition_Common_IO_Gtwy]RM1113/SATB1_HS1_RM1113_VAV08", + "[Ignition_Common_IO_Gtwy]RM1114/SATB1_HS1_RM1114_VAV07", + "[Ignition_Common_IO_Gtwy]RM1116/SATB1_HS1_RM1116_VAV01", + "[Ignition_Common_IO_Gtwy]RM1117/SATB1_HS1_RM1117_VAV02", + "[Ignition_Common_IO_Gtwy]RM1118/SATB1_HS1_RM1118_VAV03", + "[Ignition_Common_IO_Gtwy]RM1121/SATB1_HS1_RM1121_VAV19", + "[Ignition_Common_IO_Gtwy]RM1127/SATB1_HS1_RM1127_VAV22", + "[Ignition_Common_IO_Gtwy]RM1127/SATB1_HS1_RM1127_VAV23", + "[Ignition_Common_IO_Gtwy]RM1133/SATB1_HS1_RM1133_VAV25", + "[Ignition_Common_IO_Gtwy]RM1133-5/SATB1_HS1_RM1133-5_VAV18", + "[Ignition_Common_IO_Gtwy]RM1134/SATB1_HS1_RM1134_VAV20", + "[Ignition_Common_IO_Gtwy]RM1135/SATB1_HS1_RM1135_VAV21", + "[Ignition_Common_IO_Gtwy]RM1137/SATB1_HS1_RM1137_VAV12", + "[Ignition_Common_IO_Gtwy]RM1138/SATB1_HS1_RM1138_VAV29", + "[Ignition_Common_IO_Gtwy]RM1139/SATB1_HS1_RM1139_VAV26", + "[Ignition_Common_IO_Gtwy]RM1139/SATB1_HS1_RM1139_VAV27", + "[Ignition_Common_IO_Gtwy]RM1139/SATB1_HS1_RM1139_VAV28", + "[Ignition_Common_IO_Gtwy]RM1141/SATB1_HS1_RM1141_VAV24", + "[Ignition_Common_IO_Gtwy]RM1153/SATB1_HS1_RM1153_VAV34", + "[Ignition_Common_IO_Gtwy]RM1190/SATB1_HS1_RM1190_VAV33", + "[Ignition_Common_IO_Gtwy]RM1192/SATB1_HS1_RM1192_VAV31", + "[Ignition_Common_IO_Gtwy]RM1194/SATB1_HS1_RM1194_VAV32" + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]VAV/SATB1_VAV_Master" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Send": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SendALL" + }, + "type": "tag" + } + }, + "custom.tagPaths": { + "binding": { + "config": { + "struct": { + "hb": "now(3000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIO_Gateways \u003d [\"[Ignition_Common_IO_Gtwy]\"]\n\t\t\t\t\n\t#Change manually the gateway to search through\n\tpath \u003d IO_Gateways[0]\n\t\n\ttagType \u003d {\"tagType\":\"UdtInstance\"}\n\t#Look for this udt type\n\ttypeId \u003d \"Objects/Air/VAV v2\"\n\tdef recursive_browser(base_path, type_id):\n\t\tfound_udt_paths \u003d []\n\t\tbrowse_results \u003d system.tag.browse(base_path)\n\t\tfor item in browse_results:\n\t\t\titem_fullPath \u003d item.get(\u0027fullPath\u0027, \u0027N/A\u0027)\n\t\t\titem_tag_type \u003d item.get(\u0027tagType\u0027, \u0027N/A\u0027)\n\t\t\titem_type_id \u003d item.get(\u0027typeId\u0027, \u0027N/A\u0027)\n\t\t\t\n\t\t\tif str(item_type_id) \u003d\u003d type_id:\n\t\t\t\tfound_udt_paths.append(item_fullPath)\n\t\t\tif str(item_tag_type) \u003d\u003d \"Folder\":\n\t\t\t\tfound_udt_paths.extend(recursive_browser(item_fullPath, type_id))\n\t\treturn found_udt_paths\n\treturn recursive_browser(path, typeId)\n", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Send \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Send to all VAV" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Left control Container" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Occupied Temperature Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpaths \u003d self.view.custom.tagPaths\n\ttags \u003d []\n\tvalues \u003d []\n\tfor path in paths:\n\t\ttags.append(\"{}/Control/Occupied Temp Setpoint\".format(path))\n\t\tvalues.append(self.props.value)\n\tsystem.tag.writeBlocking(tags, values) " + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OccTempSP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 104, + "minimum": 50 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Unoccupied Temperature Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpaths \u003d self.view.custom.tagPaths\n\ttags \u003d []\n\tvalues \u003d []\n\tfor path in paths:\n\t\ttags.append(\"{}/Control/Unoccupied Temperature SP\".format(path))\n\t\tvalues.append(self.props.value)\n\tsystem.tag.writeBlocking(tags, values) " + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_UnOccModeTempSP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 82, + "minimum": 65 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Row3" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Occupied Mode Start Hour", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OccModeStartHR" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Row5" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Unoccupied Mode Start Hour", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_UnOccModeStartHR" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Row6" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right control Container" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0a3a873d52b71692e418ad0f8acafefbb580944a1971461aed0c0100b565e96b b/Gateways/FE/projects/.resources/0a3a873d52b71692e418ad0f8acafefbb580944a1971461aed0c0100b565e96b new file mode 100644 index 0000000..0f82a1b Binary files /dev/null and b/Gateways/FE/projects/.resources/0a3a873d52b71692e418ad0f8acafefbb580944a1971461aed0c0100b565e96b differ diff --git a/Gateways/FE/projects/.resources/0a5361a9305a01caff8068dfed64fbf1eaaaa1b7cebdd7e33c58daf98ddcf48a b/Gateways/FE/projects/.resources/0a5361a9305a01caff8068dfed64fbf1eaaaa1b7cebdd7e33c58daf98ddcf48a new file mode 100644 index 0000000..937099d Binary files /dev/null and b/Gateways/FE/projects/.resources/0a5361a9305a01caff8068dfed64fbf1eaaaa1b7cebdd7e33c58daf98ddcf48a differ diff --git a/Gateways/FE/projects/.resources/0a9033a65ae2fd31663878e7dd34b4817b1a5069a587a7a54b16401d563dd560 b/Gateways/FE/projects/.resources/0a9033a65ae2fd31663878e7dd34b4817b1a5069a587a7a54b16401d563dd560 new file mode 100644 index 0000000..32eb887 --- /dev/null +++ b/Gateways/FE/projects/.resources/0a9033a65ae2fd31663878e7dd34b4817b1a5069a587a7a54b16401d563dd560 @@ -0,0 +1,606 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery 1 Breaker", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery 2 Breaker", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery 3 Breaker", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Charging", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Current", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Discharging", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Operation Mode", + "options": [ + "Initialize Operation", + "Off", + "Battery Operation", + "Normal Operation", + "Forced Static Bypass", + "Requested Static Bypass", + "Maintenance Bypass", + "Emergency Static Bypass", + "Inverter Standby", + "Static Bypass Standby", + "Battery Test", + "Inverter SPoT Mode Power Svaing Mode", + "Charger SPoT Mode", + "Battery Discharge SPoT Mode", + "ECOnversion", + "ECO Mode" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Resting", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Runtime minutes", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Voltage", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Breaker Status", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Voltage AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Voltage BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Voltage CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass kW", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Breaker Status", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Energy", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Inverter Disabled", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Voltage AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Voltage BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Voltage CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load kW", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Frequency", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Voltage AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Voltage BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Voltage CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main kVA Total", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main kW", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Operating on Battery", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Breaker Status", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Energy", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Static Switch Input Breaker Status", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System isolation Brekaer Status", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_UPS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0a9e5e5e6cca0aedf0521f903676443a8e1cbce190536825ee3a9697f7cf8e12 b/Gateways/FE/projects/.resources/0a9e5e5e6cca0aedf0521f903676443a8e1cbce190536825ee3a9697f7cf8e12 new file mode 100644 index 0000000..c2526b4 --- /dev/null +++ b/Gateways/FE/projects/.resources/0a9e5e5e6cca0aedf0521f903676443a8e1cbce190536825ee3a9697f7cf8e12 @@ -0,0 +1,2079 @@ +{ + "custom": { + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + }, + "filters": { + "alm": [], + "prov": [], + "tag": [] + } + }, + "params": {}, + "propConfig": { + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.filters": { + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "IO GW:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "alignItems": "flex-start", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_Common_IO_Gtwy", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_Common_IO_Gtwy", + "source": "prov" + }, + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_SATB1_IO1_default", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_SATB1_IO1_default", + "source": "prov" + } + ], + "path": "Library/Templates/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tsystem.perspective.sendMessage(\u0027clearFilters\u0027, {\n\t\t\u0027source\u0027: source\n\t})\n\tself.parent.parent.parent.parent.getChild(\"AlarmStatusTable\").custom.filters[source] \u003d []" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "prov" + }, + "position": { + "display": false, + "grow": 1 + }, + "props": { + "style": { + "borderBottom": "1px solid var(--border)", + "borderTop": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "Quick Search:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.instances": { + "persistent": true + }, + "props.instances[14].label": { + "binding": { + "config": { + "expression": "\u0027\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH101", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH102", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH201", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH202", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH203", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "CHWS", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Electrical", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--neutral-50)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "", + "mode": "Custom", + "selected": false, + "source": "tag" + } + ], + "path": "Library/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tself.view.custom.filters[source] \u003d []\n\tflexRepeater \u003d self.parent.parent.getChild(\"FlexRepeater\")\n\ttoDelete \u003d []\n\tfor i, instance in enumerate(flexRepeater.props.instances):\n\t\tinstance[\u0027selected\u0027] \u003d False\n\t\tif instance[\u0027mode\u0027] \u003d\u003d \u0027Custom\u0027:\n\t\t\tinstance[\u0027label\u0027] \u003d \u0027\u0027\n\t\t\tif i \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\ttoDelete.append(i)\n\tfor index in reversed(toDelete):\n\t\tflexRepeater.props.instances.pop(index)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "tag" + }, + "position": { + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "RadioGroup" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "expression": "0" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "radioStyle": { + "padding": "0px 10px" + }, + "radios": [ + { + "selected": true, + "text": "Match on ANY", + "value": 0 + }, + { + "selected": false, + "text": "Match on ALL", + "value": 1 + } + ], + "style": { + "borderLeft": "1px solid var(--border)", + "borderRight": "1px solid var(--border)", + "fontSize": "0.8em", + "padding": "4px 5px" + } + }, + "type": "ia.input.radio-group" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "grow": 1 + }, + "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": "Panel" + }, + "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": "Desc", + "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": "Description" + }, + "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": "Location" + }, + "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": "AC1", + "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": "Primary AC Supply" + }, + "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": "AC2", + "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": "Secondary AC Supply" + }, + "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": "DC1", + "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": "Primary DC Power Supply" + }, + "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": "DC2", + "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": "Secondary DC Power Supply" + }, + "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": "THA", + "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": "High Temperature" + }, + "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": "XA", + "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": "Panel Intrusion Alarm" + }, + "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": [ + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL01" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL02" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL03" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL04" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL05" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL06" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL07" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL08" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL09" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL10" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL11" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL12" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL13" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL14" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL15" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL16" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL17" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL18" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL19" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL20" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL21" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL22" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL23" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL24" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL25" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL26" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL27" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL28" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL29" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL30" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL31" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL32" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL33" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL34" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL35" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL36" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL37" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL38" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL39" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL40" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL41" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL42" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL43" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL44" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL45" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL46" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL47" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL48" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL49" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL50" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL51" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL52" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL53" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL54" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL55" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL56" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL57" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL58" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL59" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL60" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL61" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL62" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL63" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL64" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL65" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL66" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL67" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL68" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL69" + } + ], + "virtualized": "[{\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL00\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL01\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL02\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL03\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL04\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL05\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL06\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL07\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL08\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL09\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL10\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL11\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL12\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL13\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL14\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL15\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL16\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL17\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL18\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL19\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL20\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL21\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL22\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL23\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL24\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL25\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL26\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL27\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL28\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL29\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL30\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL31\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL32\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL33\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL34\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL35\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL36\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL37\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL38\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL39\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL40\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL41\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL42\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL43\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL44\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL45\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL46\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL47\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL48\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL49\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL50\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL51\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL52\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL53\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL54\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL55\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL56\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL57\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL58\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL59\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL60\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL61\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL62\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL63\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL64\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL65\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL66\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL67\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL68\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL69\u0027}] " + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "addFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index].selected \u003d True", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "customFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(\u0027tag\u0027).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index][\u0027selected\u0027] \u003d True\n\t\tflexRepeater.props.instances[index][\u0027label\u0027] \u003d label\n\t\tflexRepeater.props.instances.append({\n\t\t\t\"color\": \"var(--neutral-50)\",\n\t\t\t\"filterString\": \"\",\n\t\t\t\"instancePosition\": {},\n\t\t\t\"instanceStyle\": {\n\t\t\t\"classes\": \"\"\n\t\t\t},\n\t\t\t\"mode\": \"Custom\",\n\t\t\t\"selected\": False,\n\t\t\t\"source\": \"tag\",\n\t\t\t\"label\": \"\"\n\t\t\t})", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "removeFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\ti \u003d self.view.custom.filters[source].index(label)\n\t\tself.view.custom.filters[source].pop(i)\n\t\tflexRepeater.props.instances[index].selected \u003d False\n\t\tif flexRepeater.props.instances[index].mode \u003d\u003d \u0027Custom\u0027:\n\t\t\tflexRepeater.props.instances[index].label \u003d \u0027\u0027\n\t\t\tif index \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\tflexRepeater.props.instances.pop(index)\n\telse:\n\t\tpass", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0aa59315f01efa5d5fb2625b247f4d3b4ec2501b5899503b1a37cbd24440113e b/Gateways/FE/projects/.resources/0aa59315f01efa5d5fb2625b247f4d3b4ec2501b5899503b1a37cbd24440113e new file mode 100644 index 0000000..2405d64 --- /dev/null +++ b/Gateways/FE/projects/.resources/0aa59315f01efa5d5fb2625b247f4d3b4ec2501b5899503b1a37cbd24440113e @@ -0,0 +1,347 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 500, + "width": 767 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Sym_Chiller" + }, + "position": { + "height": 0.3, + "width": 0.25, + "x": 0.0648, + "y": 0.054 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Sym_ValveC" + }, + "position": { + "height": 0.164, + "width": 0.1493, + "x": 0.4062, + "y": 0.376 + }, + "props": { + "params": { + "Layout": 4, + "objectName": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1260_FCV69" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Sym_ValveC_0" + }, + "position": { + "height": 0.162, + "width": 0.1627, + "x": 0.4036, + "y": 0.641 + }, + "props": { + "params": { + "Layout": 4, + "objectName": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1260_FCV69" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Sym_ValveM" + }, + "position": { + "height": 0.218, + "width": 0.1707, + "x": 0.6507, + "y": 0.152 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]/Roof/CV48" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Sym_TES" + }, + "position": { + "height": 0.254, + "width": 0.1213, + "x": 0.6328, + "y": 0.453 + }, + "props": { + "params": { + "objectName": "TES", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System" + }, + "path": "Library/Symbols/Mechanical/Sym_TES" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Sym_CHWPump" + }, + "position": { + "height": 0.178, + "width": 0.17, + "x": 0.1271, + "y": 0.486 + }, + "props": { + "params": { + "objectName": "VSD", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD13" + }, + "path": "Library/Symbols/Mechanical/Sym_CHWPump", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 0.086, + "rotate": { + "anchor": "-30% 25%" + }, + "width": 0.0887, + "x": 0.8786, + "y": 0.23 + }, + "props": { + "text": "To CHWS Header" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 0.086, + "rotate": { + "anchor": "-30% 25%" + }, + "width": 0.0939, + "x": 0.8787, + "y": 0.8578 + }, + "props": { + "text": "From CHWS Header" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "pipes": [ + { + "appearance": "auto", + "end": "none", + "fill": "#7BCCCE", + "flanges": true, + "lineVariant": "solid", + "name": "pipe_0", + "origin": { + "connections": [ + { + "connections": [ + { + "x": 0.1726, + "y": 0.278 + }, + { + "connections": [], + "x": 0.6746, + "y": 0.278 + } + ], + "x": 0.4663, + "y": 0.278 + } + ], + "x": 0.4663, + "y": 0.432 + }, + "start": "none", + "stroke": "", + "visible": true, + "width": 5 + }, + { + "appearance": "simple", + "end": "none", + "fill": "#CE7B81", + "flanges": true, + "lineVariant": "solid", + "name": "pipe_2", + "origin": { + "connections": [ + { + "connections": [ + { + "x": 0.8688, + "y": 0.9114 + }, + { + "connections": [ + { + "x": 0.1726, + "y": 0.564 + } + ], + "x": 0.1726, + "y": 0.9114 + } + ], + "x": 0.4651, + "y": 0.9114 + } + ], + "x": 0.4651, + "y": 0.744 + }, + "start": "none", + "stroke": "", + "visible": true, + "width": 5 + }, + { + "appearance": "simple", + "end": "none", + "fill": "#CE7B81", + "flanges": true, + "lineVariant": "solid", + "name": "pipe_2", + "origin": { + "connections": [ + { + "x": 0.1726, + "y": 0.292 + }, + { + "x": 0.1726, + "y": 0.54 + } + ], + "x": 0.1726, + "y": 0.418 + }, + "start": "none", + "stroke": "", + "visible": true, + "width": 5 + }, + { + "appearance": "auto", + "end": "none", + "fill": "#B9CE7B", + "flanges": true, + "lineVariant": "solid", + "name": "pipe", + "origin": { + "connections": [ + { + "connections": [ + { + "x": 0.4663, + "y": 0.486 + }, + { + "x": 0.6746, + "y": 0.588 + } + ], + "x": 0.4663, + "y": 0.588 + } + ], + "x": 0.4663, + "y": 0.694 + }, + "start": "none", + "stroke": "", + "visible": true, + "width": 5 + }, + { + "appearance": "auto", + "end": "none", + "fill": "#7BCCCE", + "flanges": true, + "lineVariant": "solid", + "name": "pipe_1", + "origin": { + "connections": [ + { + "connections": [ + { + "connections": [ + { + "x": 0.8688, + "y": 0.278 + }, + { + "connections": [], + "x": 0.7, + "y": 0.278 + } + ], + "x": 0.7876, + "y": 0.278 + } + ], + "x": 0.7876, + "y": 0.588 + } + ], + "x": 0.6895, + "y": 0.588 + }, + "start": "none", + "stroke": "", + "visible": true, + "width": 5 + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0ac43cf9adc8917bbc772fac09543fc807d26dc5d6d5c950bd0298ce6f45e55e b/Gateways/FE/projects/.resources/0ac43cf9adc8917bbc772fac09543fc807d26dc5d6d5c950bd0298ce6f45e55e new file mode 100644 index 0000000..e155874 --- /dev/null +++ b/Gateways/FE/projects/.resources/0ac43cf9adc8917bbc772fac09543fc807d26dc5d6d5c950bd0298ce6f45e55e @@ -0,0 +1,1047 @@ +{ + "custom": { + "colorHandler": "value" + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 0, + "objectName": "Breaker", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_CB-52U", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "CB": "{/root/SWBD_CB_B.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027]\u003d\u003d0) or (value[\u0027CB\u0027] is None):\n\t\treturn 0\n\tif value[\u0027inputPower\u0027] and value[\u0027CB\u0027]:\n\t\treturn 1\n\telse: \n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 84, + "width": 81 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD_CB_B" + }, + "position": { + "height": 50, + "width": 52 + }, + "propConfig": { + "custom.BreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Status" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "custom.colorHandler.breakerIn": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.breakerOut": { + "binding": { + "config": { + "expression": "{view.params.inputPower} \u0026\u0026 {this.custom.BreakerClosed}" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027hidden\u0027\n\treturn value", + "type": "script" + }, + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + }, + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[6].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M14.91,18c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M11.25,18c1.53,1.2 2.301,2.695 2.269,4.5c0.011,2.094 -0.718,3.616 -2.269,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M11.264,13.5l-0,4.523", + "fill": { + "paint": "transparent" + }, + "id": "In", + "name": "In", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M11.25,27l-0,4.191", + "fill": { + "paint": "transparent" + }, + "id": "Out", + "name": "Out", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M9.007,13.5l2.257,-1.477l2.256,1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M8.993,14.977l2.257,-1.477l2.257,1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "T1", + "name": "T1", + "type": "group" + }, + { + "elements": [ + { + "d": "M13.493,31.523l-2.257,1.477l-2.256,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M13.507,30.045l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "T2", + "name": "T2", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,32.0651,17.9948)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "17.472px", + "y": "17.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,31.7559,21.7448)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "17.472px", + "y": "21.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,37.7007,29.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "17.329px", + "y": "29.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,35.1718,25.5355)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "17.341px", + "y": "25.535px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "30", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "22.5", + "x": "0", + "y": "7.5" + }, + { + "d": "M22.5,7.5l0,30l-22.5,-0l0,-30l22.5,-0Zm-0.75,0.75l-21,0l-0,28.5l21,-0l0,-28.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M22.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M21.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M27.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "22.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M20.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M23.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "backgroundColor": "#00000000", + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "clipRule": "evenodd" + }, + "viewBox": "0 0 39 39" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label_Bottom" + }, + "position": { + "height": 9, + "rotate": { + "anchor": "50% -34%" + }, + "width": 50, + "x": 17.3, + "y": 48 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "!{view.params.textHandler.DL_TOP-Bottm}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_Top" + }, + "position": { + "height": 9, + "rotate": { + "anchor": "50% -34%" + }, + "width": 50, + "x": 17.3, + "y": 8.950000000000001 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.textHandler.DL_TOP-Bottm}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "OpenClose" + }, + "position": { + "height": 9, + "rotate": { + "anchor": "50% -34%" + }, + "width": 24, + "x": 22.9, + "y": 39.45 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.textHandler.DL_TOP-Bottm}" + }, + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "../SWBD_CB_B.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "../SWBD_CB_B.custom.BreakerClosed" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \"Open\"\n\treturn value", + "type": "script" + }, + { + "fallback": "Open", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Closed" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "struct": { + "CB": "{../SWBD_CB_B.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn self.view.params.textColor\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027white\u0027\n\telse: \n\t\treturn self.view.params.textColor\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0aec32c5fb9a9b65c4941443115958ca2c323768c1a5630af40914a1c7cbca18 b/Gateways/FE/projects/.resources/0aec32c5fb9a9b65c4941443115958ca2c323768c1a5630af40914a1c7cbca18 new file mode 100644 index 0000000..b4be4b6 --- /dev/null +++ b/Gateways/FE/projects/.resources/0aec32c5fb9a9b65c4941443115958ca2c323768c1a5630af40914a1c7cbca18 @@ -0,0 +1,323 @@ +{ + "custom": { + "Running": 1, + "Status": 1, + "alarm": 0, + "tag": "RTU" + }, + "params": { + "objectName": "RTU", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + "propConfig": { + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control Status" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "expression": "if({view.custom.alarm}, 2, if({view.custom.Running},1,0))" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.alarm": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/General Alarm" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 90 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "Red", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "visible", + "padding": "2px" + }, + "text": "RTU", + "textStyle": { + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##.##", + "type": "format" + }, + { + "expression": "{value} + \" degF\"", + "type": "expression" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "Red", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "overflow": "visible", + "padding": "2px" + }, + "text": "58.3 degF", + "textStyle": { + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + } + ], + "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": "root" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "marginLeft": 2, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0afb7102755c6249c59fc2efad4384d0c6ecac9dd7644470ca7355e745bce9c5 b/Gateways/FE/projects/.resources/0afb7102755c6249c59fc2efad4384d0c6ecac9dd7644470ca7355e745bce9c5 new file mode 100644 index 0000000..8d0628a Binary files /dev/null and b/Gateways/FE/projects/.resources/0afb7102755c6249c59fc2efad4384d0c6ecac9dd7644470ca7355e745bce9c5 differ diff --git a/Gateways/FE/projects/.resources/0b79075346e9e5f9113c370c26d5e0f20146d0759fcc03c7cc365e9c4f90b2d6 b/Gateways/FE/projects/.resources/0b79075346e9e5f9113c370c26d5e0f20146d0759fcc03c7cc365e9c4f90b2d6 new file mode 100644 index 0000000..2fbb0a5 Binary files /dev/null and b/Gateways/FE/projects/.resources/0b79075346e9e5f9113c370c26d5e0f20146d0759fcc03c7cc365e9c4f90b2d6 differ diff --git a/Gateways/FE/projects/.resources/0b95d9957f0bf40d9983884494fbaac8cbffaa58f53da7747b00e1329b2674c7 b/Gateways/FE/projects/.resources/0b95d9957f0bf40d9983884494fbaac8cbffaa58f53da7747b00e1329b2674c7 new file mode 100644 index 0000000..81ea93c --- /dev/null +++ b/Gateways/FE/projects/.resources/0b95d9957f0bf40d9983884494fbaac8cbffaa58f53da7747b00e1329b2674c7 @@ -0,0 +1,14410 @@ +{ + "custom": { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS", + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + } + }, + "params": { + "pageId": "" + }, + "propConfig": { + "custom.LLS_tagPath": { + "persistent": true + }, + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1372, + "width": 2750 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": { + "CHWR": "green", + "CHWS": "blue" + } + }, + "meta": { + "name": "Chiller Farm Pipes" + }, + "position": { + "height": 1047, + "width": 2530, + "x": 173, + "y": 5 + }, + "propConfig": { + "props.elements[0].elements[0].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[3].elements[2].stroke": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M5.787,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9.954,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M514.12,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH1", + "name": "CH1", + "type": "group" + }, + { + "elements": [ + { + "d": "M5.787,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9.954,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M514.12,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH11", + "name": "CH11", + "type": "group" + }, + { + "elements": [ + { + "d": "M5.787,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9.954,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M514.12,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH12", + "name": "CH12", + "type": "group" + }, + { + "elements": [ + { + "d": "M5.787,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9.954,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M514.12,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH13", + "name": "CH13", + "type": "group" + }, + { + "elements": [ + { + "d": "M5.787,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9.954,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M514.12,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH14", + "name": "CH14", + "type": "group" + }, + { + "elements": [ + { + "d": "M5.787,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9.954,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M514.12,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH15", + "name": "CH15", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1380.79,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1384.95,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1889.12,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH16", + "name": "CH16", + "type": "group" + }, + { + "elements": [ + { + "d": "M1380.79,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1384.95,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1889.12,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH17", + "name": "CH17", + "type": "group" + }, + { + "elements": [ + { + "d": "M1380.79,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1384.95,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1889.12,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH18", + "name": "CH18", + "type": "group" + }, + { + "elements": [ + { + "d": "M1380.79,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1384.95,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1889.12,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH19", + "name": "CH19", + "type": "group" + }, + { + "elements": [ + { + "d": "M1380.79,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1384.95,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1889.12,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH110", + "name": "CH110", + "type": "group" + }, + { + "elements": [ + { + "d": "M1380.79,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1384.95,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1889.12,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH111", + "name": "CH111", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M2755.79,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#5be0e8", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M2759.95,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3264.12,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH112", + "name": "CH112", + "type": "group" + }, + { + "elements": [ + { + "d": "M2755.79,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M2759.95,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3264.12,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH113", + "name": "CH113", + "type": "group" + }, + { + "elements": [ + { + "d": "M2755.79,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M2759.95,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3264.12,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH114", + "name": "CH114", + "type": "group" + }, + { + "elements": [ + { + "d": "M2755.79,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M2759.95,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3264.12,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "type": "path" + } + ], + "id": "CH115", + "name": "CH115", + "type": "group" + }, + { + "elements": [ + { + "d": "M2755.79,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M2759.95,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3264.12,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH116", + "name": "CH116", + "type": "group" + }, + { + "elements": [ + { + "d": "M2755.79,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M2759.95,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3264.12,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH117", + "name": "CH117", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M4380.79,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4384.95,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4889.12,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH118", + "name": "CH118", + "type": "group" + }, + { + "elements": [ + { + "d": "M4380.79,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#5be0e8", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4384.95,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4889.12,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH119", + "name": "CH119", + "type": "group" + }, + { + "elements": [ + { + "d": "M4380.79,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4384.95,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4889.12,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH120", + "name": "CH120", + "type": "group" + }, + { + "elements": [ + { + "d": "M4380.79,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4384.95,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4889.12,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH121", + "name": "CH121", + "type": "group" + }, + { + "elements": [ + { + "d": "M4380.79,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4384.95,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4889.12,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH122", + "name": "CH122", + "type": "group" + }, + { + "elements": [ + { + "d": "M4380.79,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4384.95,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4889.12,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH123", + "name": "CH123", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5755.79,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M5759.95,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6264.12,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH124", + "name": "CH124", + "type": "group" + }, + { + "elements": [ + { + "d": "M5755.79,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M5759.95,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6264.12,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH125", + "name": "CH125", + "type": "group" + }, + { + "elements": [ + { + "d": "M5755.79,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M5759.95,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6264.12,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH126", + "name": "CH126", + "type": "group" + }, + { + "elements": [ + { + "d": "M5755.79,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M5759.95,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6264.12,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH127", + "name": "CH127", + "type": "group" + }, + { + "elements": [ + { + "d": "M5755.79,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M5759.95,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6264.12,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH128", + "name": "CH128", + "type": "group" + }, + { + "elements": [ + { + "d": "M5755.79,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M5759.95,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6264.12,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH129", + "name": "CH129", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7130.79,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7134.95,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7639.12,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH130", + "name": "CH130", + "type": "group" + }, + { + "elements": [ + { + "d": "M7130.79,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7134.95,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7639.12,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH131", + "name": "CH131", + "type": "group" + }, + { + "elements": [ + { + "d": "M7130.79,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7134.95,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7639.12,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH132", + "name": "CH132", + "type": "group" + }, + { + "elements": [ + { + "d": "M7130.79,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7134.95,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7639.12,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH133", + "name": "CH133", + "type": "group" + }, + { + "elements": [ + { + "d": "M7130.79,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7134.95,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7639.12,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH134", + "name": "CH134", + "type": "group" + }, + { + "elements": [ + { + "d": "M7130.79,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7134.95,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7639.12,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH135", + "name": "CH135", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M8505.79,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M8509.95,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9014.12,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH136", + "name": "CH136", + "type": "group" + }, + { + "elements": [ + { + "d": "M8505.79,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M8509.95,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9014.12,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH137", + "name": "CH137", + "type": "group" + }, + { + "elements": [ + { + "d": "M8505.79,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M8509.95,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9014.12,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH138", + "name": "CH138", + "type": "group" + }, + { + "elements": [ + { + "d": "M8505.79,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M8509.95,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9014.12,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH139", + "name": "CH139", + "type": "group" + }, + { + "elements": [ + { + "d": "M8505.79,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M8509.95,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9014.12,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH140", + "name": "CH140", + "type": "group" + }, + { + "elements": [ + { + "d": "M8505.79,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M8509.95,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9014.12,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH141", + "name": "CH141", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M9880.79,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9884.95,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10389.1,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH142", + "name": "CH142", + "type": "group" + }, + { + "elements": [ + { + "d": "M9880.79,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9884.95,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10389.1,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH143", + "name": "CH143", + "type": "group" + }, + { + "elements": [ + { + "d": "M9880.79,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9884.95,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10389.1,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH144", + "name": "CH144", + "type": "group" + }, + { + "elements": [ + { + "d": "M9880.79,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9884.95,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10389.1,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH145", + "name": "CH145", + "type": "group" + }, + { + "elements": [ + { + "d": "M9880.79,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9884.95,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10389.1,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH146", + "name": "CH146", + "type": "group" + }, + { + "elements": [ + { + "d": "M9880.79,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9884.95,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10389.1,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH147", + "name": "CH147", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CHillerCons", + "name": "CHillerCons", + "type": "group" + }, + { + "elements": [ + { + "d": "M659.954,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10535,4184.95l-9875,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M2034.95,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3409.95,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M5034.95,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M659.954,68.287l9875,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10535,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9159.95,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7784.95,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6409.95,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CHWS-Loop", + "name": "CHWS-Loop", + "type": "group" + }, + { + "elements": [ + { + "d": "M584.954,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M584.954,5.787l9875,0l-0,4241.67l-9875,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9084.95,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6334.95,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7709.95,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1959.95,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3334.95,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4959.95,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10460,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CHWR-Loop", + "name": "CHWR-Loop", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M3409.95,2739.12l266.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3695.37,2718.29c11.499,0 20.834,9.335 20.834,20.833c-0,11.499 -9.335,20.834 -20.834,20.834c-11.498,-0 -20.833,-9.335 -20.833,-20.834c0,-11.498 9.335,-20.833 20.833,-20.833Zm0,11.574c-5.11,0 -9.259,4.149 -9.259,9.259c0,5.111 4.149,9.26 9.259,9.26c5.111,-0 9.26,-4.149 9.26,-9.26c-0,-5.11 -4.149,-9.259 -9.26,-9.259Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M3334.95,2659.95l341.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3695.37,2639.12c11.499,0 20.834,9.335 20.834,20.834c-0,11.498 -9.335,20.833 -20.834,20.833c-11.498,0 -20.833,-9.335 -20.833,-20.833c0,-11.499 9.335,-20.834 20.833,-20.834Zm0,11.574c-5.11,0 -9.259,4.149 -9.259,9.26c0,5.11 4.149,9.259 9.259,9.259c5.111,-0 9.26,-4.149 9.26,-9.259c-0,-5.111 -4.149,-9.26 -9.26,-9.26Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3409.95,1451.62l266.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3695.37,1430.79c11.499,0 20.834,9.335 20.834,20.833c-0,11.499 -9.335,20.834 -20.834,20.834c-11.498,-0 -20.833,-9.335 -20.833,-20.834c0,-11.498 9.335,-20.833 20.833,-20.833Zm0,11.574c-5.11,0 -9.259,4.149 -9.259,9.259c0,5.111 4.149,9.26 9.259,9.26c5.111,-0 9.26,-4.149 9.26,-9.26c-0,-5.11 -4.149,-9.259 -9.26,-9.259Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M3334.95,1372.45l341.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3695.37,1351.62c11.499,0 20.834,9.335 20.834,20.834c-0,11.498 -9.335,20.833 -20.834,20.833c-11.498,0 -20.833,-9.335 -20.833,-20.833c0,-11.499 9.335,-20.834 20.833,-20.834Zm0,11.574c-5.11,0 -9.259,4.149 -9.259,9.26c0,5.11 4.149,9.259 9.259,9.259c5.111,-0 9.26,-4.149 9.26,-9.259c-0,-5.111 -4.149,-9.26 -9.26,-9.26Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Drops", + "name": "Drops", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "opacity": 0.25 + }, + "viewBox": "0 0 10541 4254" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "CH29 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1035, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH48 System" + }, + "position": { + "height": 165, + "width": 345, + "x": -10, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH47 System" + }, + "position": { + "height": 165, + "width": 345, + "x": -10, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH46 System" + }, + "position": { + "height": 165, + "width": 345, + "x": -10, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH45 System" + }, + "position": { + "height": 165, + "width": 345, + "x": -10, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH44 System" + }, + "position": { + "height": 165, + "width": 345, + "x": -10, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH43 System" + }, + "position": { + "height": 165, + "width": 345, + "x": -10, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH41 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 317, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH42 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 317, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH40 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 317, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH39 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 317, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH38 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 317, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH37 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 317, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH31 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 645, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH32 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 645, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH33 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 645, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH34 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 645, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH35 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 645, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH36 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 645, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH25 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1034, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH26 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1034, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH27 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1034, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH28 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1034, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH30 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1035, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH19 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1364, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH20 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1364, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH21 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1364, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH22 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1364, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH23 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1364, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH24 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1364, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH13 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1694, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH14 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1694, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH15 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1694, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH16 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1694, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH17 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1694, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH18 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1694, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH07 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2024, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH08 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2024, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH09 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2024, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH10 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2024, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH11 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2024, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH12 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2024, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH01 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2353, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH02 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2353, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH03 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2353, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH04 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2353, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH05 Systrem" + }, + "position": { + "height": 165, + "width": 345, + "x": 2353, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH06 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2353, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH48_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 92 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH47_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 251 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH47_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH47_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH46_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 411 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH46_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH46_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 471 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH45_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 570 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU_Pos": false, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH45_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH45_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH39_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH39_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 570 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH39_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH40_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.323, + "y": 473 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH40_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 411 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH40_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH41_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH41_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 251 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH41_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH42_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH42_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 92 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH42_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH36_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH36_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 91 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH36_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH35_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH35_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 251 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH35_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH34_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 473 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH34_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 411 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH34_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH33_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH33_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 570 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH33_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH27_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH27_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 570 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH27_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH28_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 473 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH28_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 411 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH28_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH29_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH29_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 251 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH29_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH30_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH30_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 91 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH30_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH24_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH24_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 91 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH24_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH23_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH23_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 251 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH23_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH22_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 473 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH22_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 411 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU_Pos": 1, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH22_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH21_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 570 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH21_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH21_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH20_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH20_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 792 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH20_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 760 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH18_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 91 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH18_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH18_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH17_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 251 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH17_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH17_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH16_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 411 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH16_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 473 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH16_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH15_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 570 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH15_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH15_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH14_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH14_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 792 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH14_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 760 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH12_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 91 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH12_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH12_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH11_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 251 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH11_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH11_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH10_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 411 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH10_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 473 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH10_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH09_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 570 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH09_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH09_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH08_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH08_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 792 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH08_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 760 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH06_TT_RET" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 90 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH06_DP" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH06_TT_SPLY" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH05_TT_RET" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 251 + }, + "props": { + "params": { + "AlarmEn": true, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH05_TT_SPLY" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH05_DP" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH04_TT_RET" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 411 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH04_TT_SPLY" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 473 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH04_DP" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH03_TT_RET" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 570 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH03_TT_SPLY" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH03_DP" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH02_TT_RET" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH02_TT_SPLY" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 792 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH02_DP" + }, + "position": { + "height": 40, + "width": 60, + "x": 2546, + "y": 760 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH01_TT_RET" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 886 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH01_TT_SPLY" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 950 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH01_DP" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 920 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH07_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 888 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH07_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 951 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH07_DP" + }, + "position": { + "height": 40, + "width": 36, + "x": 2222, + "y": 920 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH13_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 951 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH13_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 888 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH13_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 919 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH19_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 951 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH19_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 889 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH19_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 920 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH25_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 920 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH25_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 951 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH25_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 889 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH31_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 920 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH31_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 951 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH31_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 889 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH37_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 920 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH37_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 951 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH37_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 889 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH43_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 889 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH44_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH44_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 758 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH44_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 787 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH38_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 760 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH38_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 792 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH38_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH32_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 760 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH32_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 792 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH32_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH26_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 760 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH26_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH26_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 792 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH47" + }, + "position": { + "height": 110, + "width": 150, + "x": 48, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH46" + }, + "position": { + "height": 110, + "width": 150, + "x": 48, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH45" + }, + "position": { + "height": 110, + "width": 150, + "x": 48, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH44" + }, + "position": { + "height": 110, + "width": 150, + "x": 48, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH43" + }, + "position": { + "height": 110, + "width": 150, + "x": 48, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH38" + }, + "position": { + "height": 110, + "width": 150, + "x": 378, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH37" + }, + "position": { + "height": 110, + "width": 150, + "x": 378, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH39" + }, + "position": { + "height": 110, + "width": 150, + "x": 378, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH40" + }, + "position": { + "height": 110, + "width": 150, + "x": 378, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH41" + }, + "position": { + "height": 110, + "width": 150, + "x": 378, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH42" + }, + "position": { + "height": 110, + "width": 150, + "x": 378, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH36" + }, + "position": { + "height": 110, + "width": 150, + "x": 708, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH35" + }, + "position": { + "height": 110, + "width": 150, + "x": 708, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH34" + }, + "position": { + "height": 110, + "width": 150, + "x": 708, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH33" + }, + "position": { + "height": 110, + "width": 150, + "x": 708, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH32" + }, + "position": { + "height": 110, + "width": 150, + "x": 708, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH31" + }, + "position": { + "height": 110, + "width": 150, + "x": 708, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH30" + }, + "position": { + "height": 110, + "width": 150, + "x": 1097, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH29" + }, + "position": { + "height": 110, + "width": 150, + "x": 1097, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH28" + }, + "position": { + "height": 110, + "width": 150, + "x": 1097, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH27" + }, + "position": { + "height": 110, + "width": 150, + "x": 1097, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH26" + }, + "position": { + "height": 110, + "width": 150, + "x": 1097, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH25" + }, + "position": { + "height": 110, + "width": 150, + "x": 1097, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH19" + }, + "position": { + "height": 110, + "width": 150, + "x": 1428, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH20" + }, + "position": { + "height": 110, + "width": 150, + "x": 1428, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH21" + }, + "position": { + "height": 110, + "width": 150, + "x": 1428, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH22" + }, + "position": { + "height": 110, + "width": 150, + "x": 1428, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH23" + }, + "position": { + "height": 110, + "width": 150, + "x": 1428, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH24" + }, + "position": { + "height": 110, + "width": 150, + "x": 1428, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH18" + }, + "position": { + "height": 110, + "width": 150, + "x": 1758, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH17" + }, + "position": { + "height": 110, + "width": 150, + "x": 1758, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH16" + }, + "position": { + "height": 110, + "width": 150, + "x": 1758, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH15" + }, + "position": { + "height": 110, + "width": 150, + "x": 1758, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH14" + }, + "position": { + "height": 110, + "width": 150, + "x": 1758, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH13" + }, + "position": { + "height": 110, + "width": 150, + "x": 1758, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH07" + }, + "position": { + "height": 110, + "width": 150, + "x": 2088, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH08" + }, + "position": { + "height": 110, + "width": 150, + "x": 2088, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH09" + }, + "position": { + "height": 110, + "width": 150, + "x": 2088, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH10" + }, + "position": { + "height": 110, + "width": 150, + "x": 2088, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH11" + }, + "position": { + "height": 110, + "width": 150, + "x": 2088, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH12" + }, + "position": { + "height": 110, + "width": 150, + "x": 2088, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH01" + }, + "position": { + "height": 110, + "width": 150, + "x": 2414, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH02" + }, + "position": { + "height": 110, + "width": 150, + "x": 2414, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH03" + }, + "position": { + "height": 110, + "width": 150, + "x": 2414, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH04" + }, + "position": { + "height": 110, + "width": 150, + "x": 2414, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH05" + }, + "position": { + "height": 110, + "width": 150, + "x": 2414, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH06" + }, + "position": { + "height": 110, + "width": 150, + "x": 2414, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV31" + }, + "position": { + "height": 75, + "width": 101, + "x": 900, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_CV31" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV32" + }, + "position": { + "height": 75, + "width": 101, + "x": 900, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_CV32" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV33" + }, + "position": { + "height": 75, + "width": 101, + "x": 900, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_CV33" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV34" + }, + "position": { + "height": 75, + "width": 101, + "x": 900, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_CV34" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV35" + }, + "position": { + "height": 75, + "width": 101, + "x": 900, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_CV35" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV36" + }, + "position": { + "height": 75, + "width": 101, + "x": 900, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_CV36" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV42" + }, + "position": { + "height": 75, + "width": 101, + "x": 570, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_CV42" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV41" + }, + "position": { + "height": 75, + "width": 101, + "x": 570, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_CV41" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV40" + }, + "position": { + "height": 75, + "width": 101, + "x": 570, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_CV40" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV39" + }, + "position": { + "height": 75, + "width": 101, + "x": 570, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_CV39" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV38" + }, + "position": { + "height": 75, + "width": 101, + "x": 570, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_CV38" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV37" + }, + "position": { + "height": 75, + "width": 101, + "x": 570, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_CV37" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV43" + }, + "position": { + "height": 75, + "width": 101, + "x": 239, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_CV43" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV44" + }, + "position": { + "height": 75, + "width": 101, + "x": 239, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_CV44" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV45" + }, + "position": { + "height": 75, + "width": 101, + "x": 239, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_CV45" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV46" + }, + "position": { + "height": 75, + "width": 101, + "x": 239, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_CV46" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV47" + }, + "position": { + "height": 75, + "width": 101, + "x": 239, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_CV47" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV48", + "tooltip": { + "text": "ValveM" + } + }, + "position": { + "height": 75, + "width": 101, + "x": 239, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_CV48" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV25" + }, + "position": { + "height": 75, + "width": 101, + "x": 1290, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_CV25" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV26" + }, + "position": { + "height": 75, + "width": 101, + "x": 1290, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_CV26" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV27" + }, + "position": { + "height": 75, + "width": 101, + "x": 1290, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_CV27" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV28" + }, + "position": { + "height": 75, + "width": 101, + "x": 1290, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_CV28" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV29" + }, + "position": { + "height": 75, + "width": 101, + "x": 1290, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_CV29" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV30" + }, + "position": { + "height": 75, + "width": 101, + "x": 1290, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_CV30" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV19" + }, + "position": { + "height": 75, + "width": 101, + "x": 1620, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_CV19" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV20" + }, + "position": { + "height": 75, + "width": 101, + "x": 1620, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_CV20" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV21" + }, + "position": { + "height": 75, + "width": 101, + "x": 1620, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_CV21" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV22" + }, + "position": { + "height": 75, + "width": 101, + "x": 1620, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_CV22" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV23" + }, + "position": { + "height": 75, + "width": 101, + "x": 1620, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_CV23" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV24" + }, + "position": { + "height": 75, + "width": 101, + "x": 1620, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_CV24" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV13" + }, + "position": { + "height": 75, + "width": 101, + "x": 1950, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_CV13" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV14" + }, + "position": { + "height": 75, + "width": 101, + "x": 1950, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_CV14" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV15" + }, + "position": { + "height": 75, + "width": 101, + "x": 1950, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_CV15" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV16" + }, + "position": { + "height": 75, + "width": 101, + "x": 1950, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_CV16" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV17" + }, + "position": { + "height": 75, + "width": 101, + "x": 1950, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_CV17" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV18" + }, + "position": { + "height": 75, + "width": 101, + "x": 1950, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_CV18" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV07" + }, + "position": { + "height": 75, + "width": 101, + "x": 2279.9, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_CV07" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV08" + }, + "position": { + "height": 75, + "width": 101, + "x": 2279.9, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_CV08" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV09" + }, + "position": { + "height": 75, + "width": 101, + "x": 2279.9, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_CV09" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV10" + }, + "position": { + "height": 75, + "width": 101, + "x": 2279.9, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_CV10" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV11" + }, + "position": { + "height": 75, + "width": 101, + "x": 2279.9, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_CV11" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV12" + }, + "position": { + "height": 75, + "width": 101, + "x": 2279.9, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_CV12" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV01" + }, + "position": { + "height": 75, + "width": 101, + "x": 2610.9, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_CV01" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV02" + }, + "position": { + "height": 75, + "width": 101, + "x": 2610.9, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_CV02" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV03" + }, + "position": { + "height": 75, + "width": 101, + "x": 2610.9, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_CV03" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV04" + }, + "position": { + "height": 75, + "width": 101, + "x": 2610.9, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_CV04" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV05" + }, + "position": { + "height": 75, + "width": 101, + "x": 2610.9, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_CV05" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV06" + }, + "position": { + "height": 75, + "width": 101, + "x": 2610.9, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_CV06" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH48" + }, + "position": { + "height": 110, + "width": 150, + "x": 48, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH48_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH48_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH43_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 920 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH43_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 950 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Gauge" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerTotalSupply" + }, + "type": "tag" + } + } + }, + "props": { + "backgroundColor": "", + "innerAxis": { + "data": "secondaryValue", + "maxValue": 80, + "percentRadius": 85, + "show": false, + "width": 1 + }, + "outerAxis": { + "data": "value", + "maxValue": 16000, + "percentRadius": 90, + "ranges": [ + { + "color": "#77B6D8", + "end": 16000, + "start": 0, + "width": 8 + } + ], + "show": true, + "width": 1 + }, + "style": { + "overflow": "visible" + } + }, + "type": "ia.chart.gauge" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerTotalSupply" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "numberFormat": "###0.##", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "props": { + "text": "Tons Supply", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "marginTop": -20 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "GaugeTonnage" + }, + "position": { + "height": 200, + "width": 400, + "x": 10, + "y": 1150 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Gauge_0" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.outerAxis.ranges[1].end": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "LLS_tagPath": "{view.custom.LLS_tagPath}" + }, + "tagPath": "{LLS_tagPath}/Value Avail" + }, + "type": "tag" + } + }, + "props.outerAxis.ranges[2].end": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "LLS_tagPath": "{view.custom.LLS_tagPath}" + }, + "tagPath": "{LLS_tagPath}/Value Demand" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "LLS_tagPath": "{view.custom.LLS_tagPath}" + }, + "tagPath": "{LLS_tagPath}/Value Feedback" + }, + "type": "tag" + } + } + }, + "props": { + "backgroundColor": "", + "innerAxis": { + "data": "secondaryValue", + "maxValue": 80, + "percentRadius": 85, + "show": false, + "width": 1 + }, + "outerAxis": { + "data": "value", + "maxValue": 48, + "needle": { + "color": "#555555", + "reach": 95 + }, + "percentRadius": 90, + "ranges": [ + { + "color": "#B4C0C6", + "end": 48, + "start": 0, + "width": 100 + }, + { + "color": "#77B6D8", + "start": 0, + "width": 100 + }, + { + "color": "#B46EED", + "start": 0, + "width": 4 + } + ], + "show": true, + "tickMarks": { + "length": 2 + }, + "width": 1 + } + }, + "type": "ia.chart.gauge" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "LLS_tagPath": "{view.custom.LLS_tagPath}" + }, + "tagPath": "{LLS_tagPath}/Value Feedback" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "numberFormat": "###0.##", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "props": { + "text": "Chillers running in auto", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "marginTop": -20 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "GaugeNumCH" + }, + "position": { + "height": 200, + "width": 301, + "x": 432, + "y": 1150 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Avg CH Ton Demand" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "Tons", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "67px" + }, + "props": { + "alignVertical": "top", + "text": "Average Chiller Tonnage Demand", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerAddTonnageSP" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "Tons", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "Chiller Add Tonnage SP", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerSubTonnageSP" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "Tons", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "Chiller Sub Tonnage SP", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Chiller_Demand" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "Chillers", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px" + }, + "props": { + "alignVertical": "top", + "text": "Chiller Demand", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Recommended CH Demand" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "Chillers", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "34px" + }, + "props": { + "alignVertical": "top", + "text": "Recommended Chiller Demand", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "InfoTonnage" + }, + "position": { + "height": 200, + "width": 414, + "x": 750, + "y": 1150 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "CompStatus_CH01" + }, + "position": { + "height": "auto", + "width": "auto", + "x": 2436.22, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH1_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH02" + }, + "position": { + "height": 20, + "width": 111, + "x": 2436, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH2_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH03" + }, + "position": { + "height": 20, + "width": 111, + "x": 2436, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH3_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH04" + }, + "position": { + "height": 20, + "width": 111, + "x": 2436, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH4_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH05" + }, + "position": { + "height": 20, + "width": 111, + "x": 2436, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH5_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH06" + }, + "position": { + "height": 20, + "width": 111, + "x": 2436, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH6_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH08" + }, + "position": { + "height": 20, + "width": 111, + "x": 2107.98, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH8_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH07" + }, + "position": { + "height": 0, + "width": 0, + "x": 2107.98, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH7_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH09" + }, + "position": { + "height": 20, + "width": 111, + "x": 2107.98, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH9_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH10" + }, + "position": { + "height": 20, + "width": 111, + "x": 2107.98, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH10_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH11" + }, + "position": { + "height": 20, + "width": 111, + "x": 2107.98, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH11_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH12" + }, + "position": { + "height": 20, + "width": 111, + "x": 2107.98, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH12_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH14" + }, + "position": { + "height": 20, + "width": 111, + "x": 1773.97, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH14_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH13" + }, + "position": { + "height": 0, + "width": 0, + "x": 1773.97, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH13_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH15" + }, + "position": { + "height": 20, + "width": 111, + "x": 1773.97, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH15_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH16" + }, + "position": { + "height": 20, + "width": 111, + "x": 1773.97, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH16_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH17" + }, + "position": { + "height": 20, + "width": 111, + "x": 1773.97, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH17_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH18" + }, + "position": { + "height": 20, + "width": 111, + "x": 1773.97, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH18_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH19" + }, + "position": { + "height": 0, + "width": 0, + "x": 1446.96, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH19_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH20" + }, + "position": { + "height": 20, + "width": 111, + "x": 1446.96, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH20_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH21" + }, + "position": { + "height": 20, + "width": 111, + "x": 1446.96, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH21_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH22" + }, + "position": { + "height": 20, + "width": 111, + "x": 1446.96, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH22_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH23" + }, + "position": { + "height": 20, + "width": 111, + "x": 1446.96, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH23_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH24" + }, + "position": { + "height": 20, + "width": 111, + "x": 1446.96, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH24_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH25" + }, + "position": { + "height": 0, + "width": 0, + "x": 1116.95, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH25_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH26" + }, + "position": { + "height": 20, + "width": 111, + "x": 1116.95, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH26_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH27" + }, + "position": { + "height": 20, + "width": 111, + "x": 1116.95, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH27_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH28" + }, + "position": { + "height": 20, + "width": 111, + "x": 1116.95, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH28_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH29" + }, + "position": { + "height": 20, + "width": 111, + "x": 1116.95, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH29_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH30" + }, + "position": { + "height": 20, + "width": 111, + "x": 1116.95, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH30_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH31" + }, + "position": { + "height": 0, + "width": 0, + "x": 726.93, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH31_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH32" + }, + "position": { + "height": 20, + "width": 111, + "x": 726.93, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH32_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH33" + }, + "position": { + "height": 20, + "width": 111, + "x": 726.93, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH33_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH34" + }, + "position": { + "height": 20, + "width": 111, + "x": 726.93, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH34_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH35" + }, + "position": { + "height": 20, + "width": 111, + "x": 726.93, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH35_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH36" + }, + "position": { + "height": 20, + "width": 111, + "x": 726.93, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH36_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH37" + }, + "position": { + "height": 0, + "width": 0, + "x": 397.91, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH37_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH38" + }, + "position": { + "height": 20, + "width": 111, + "x": 397.91, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH38_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH39" + }, + "position": { + "height": 20, + "width": 111, + "x": 397.91, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH39_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH40" + }, + "position": { + "height": 20, + "width": 111, + "x": 397.91, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH40_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH41" + }, + "position": { + "height": 20, + "width": 111, + "x": 397.91, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH41_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH42" + }, + "position": { + "height": 20, + "width": 111, + "x": 397.91, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH42_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH48" + }, + "position": { + "height": 20, + "width": 111, + "x": 72.89, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH48_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH47" + }, + "position": { + "height": 20, + "width": 111, + "x": 72.89, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH47_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH46" + }, + "position": { + "height": 20, + "width": 111, + "x": 72.89, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH46_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH45" + }, + "position": { + "height": 20, + "width": 111, + "x": 72.89, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH45_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH44" + }, + "position": { + "height": 20, + "width": 111, + "x": 72.89, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH44_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH43" + }, + "position": { + "height": 0, + "width": 0, + "x": 72.89, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH43_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_01" + }, + "position": { + "height": 81, + "width": 274, + "x": 2398, + "y": 1050 + }, + "props": { + "params": { + "ID": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_02" + }, + "position": { + "height": 81, + "width": 274, + "x": 2066, + "y": 1050 + }, + "props": { + "params": { + "ID": 2, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_03" + }, + "position": { + "height": 81, + "width": 274, + "x": 1734, + "y": 1050 + }, + "props": { + "params": { + "ID": 3, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_04" + }, + "position": { + "height": 81, + "width": 274, + "x": 1402, + "y": 1050 + }, + "props": { + "params": { + "ID": 4, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_05" + }, + "position": { + "height": 81, + "width": 274, + "x": 1070, + "y": 1050 + }, + "props": { + "params": { + "ID": 5, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_06" + }, + "position": { + "height": 81, + "width": 274, + "x": 687, + "y": 1050 + }, + "props": { + "params": { + "ID": 6, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_07" + }, + "position": { + "height": 81, + "rotate": { + "anchor": "36% 75%" + }, + "width": 274, + "x": 358, + "y": 1050 + }, + "props": { + "params": { + "ID": 7, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_08" + }, + "position": { + "height": 81, + "width": 274, + "x": 29, + "y": 1050 + }, + "props": { + "params": { + "ID": 8, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Temperature Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Chiller_Load_SP" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "degF", + "textStyle": { + "color": "var(--units-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "height": 62, + "width": 291.5, + "x": 1180, + "y": 1150 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": 10 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "HiddnBttn_4" + }, + "position": { + "height": 41, + "width": 139, + "x": 2523.6, + "y": 1209.5 + }, + "props": { + "params": { + "objectName": "FltCodeEnables", + "tagPath": "value" + }, + "path": "Library/Framework/Fwk_HiddenButton", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d not self.custom.tag" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 41, + "width": 139, + "x": 2523.6, + "y": 1163.8 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Chiller Master Reset CMD" + }, + "type": "tag" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "{session.props.auth.user.roles}" + }, + "transforms": [ + { + "code": "\troles \u003d value\n\tvisible \u003d False\n\tfor role in roles:\n\t\tif role \u003d\u003d \u0027Prime User\u0027:\n\t\t\tvisible \u003d True\n\t\t\treturn visible", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "!{this.custom.tag}" + }, + "enabled": false, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "expression": "{this.custom.tag}" + }, + "type": "expr" + } + } + }, + "props": { + "text": "Master Reset CMD" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 154, + "width": 627, + "x": 1164.14, + "y": 1211 + }, + "props": { + "path": "Library/Widgets/Mechanical/wdg_CH_CountPanel" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_8" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 23, + "x": 155.99, + "y": 125 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_9" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 157, + "y": 289 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_10" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 157, + "y": 450 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_11" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 157, + "y": 609 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_12" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 157, + "y": 770 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_13" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 157, + "y": 930 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_14" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 23, + "x": 483.98, + "y": 125 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_15" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 484.98, + "y": 289 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_16" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 484.98, + "y": 450 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_17" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 484.98, + "y": 609 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_18" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 484.98, + "y": 770 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_19" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 484.98, + "y": 930 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_20" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 24, + "x": 813.98, + "y": 127 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_21" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 814.02, + "y": 291 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_22" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 814.02, + "y": 452 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_23" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 814.02, + "y": 611 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_24" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 814.02, + "y": 772 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_25" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 814.02, + "y": 932 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_26" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 24, + "x": 1203.44, + "y": 126.006 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_27" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 1203.48, + "y": 290.006 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_28" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 1203.48, + "y": 451.006 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_29" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 1203.48, + "y": 610.006 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_30" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 1203.48, + "y": 771.006 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_31" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 1203.48, + "y": 931.006 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_32" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 24, + "x": 1535.44, + "y": 126 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_33" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1535.44, + "y": 290 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_34" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1535.44, + "y": 451 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_35" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1535.44, + "y": 610 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_36" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1535.44, + "y": 771 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_37" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1535.44, + "y": 931 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_38" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 24, + "x": 1865.44, + "y": 126 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_39" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1865.44, + "y": 290 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_40" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1865.44, + "y": 451 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_41" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1865.44, + "y": 610 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_42" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1865.44, + "y": 771 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_43" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1865.44, + "y": 931 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_44" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2193.44, + "y": 931 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_45" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2193.44, + "y": 771 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_46" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2193.44, + "y": 610 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_47" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2193.44, + "y": 451 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_48" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2193.44, + "y": 290 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_49" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 24, + "x": 2193.44, + "y": 126 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_50" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2520.44, + "y": 931 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_51" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2520.44, + "y": 771 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_52" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2520.44, + "y": 610 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_53" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2520.44, + "y": 451 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_54" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2520.44, + "y": 290 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_55" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 24, + "x": 2520.44, + "y": 126 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 25, + "width": 90, + "x": 212, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M8 SES B", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 25, + "width": 90, + "x": 539, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M7 SES A", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 25, + "width": 90, + "x": 868, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M6 SES B", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 25, + "width": 90, + "x": 1260, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M5 SES B", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 25, + "width": 90, + "x": 1588, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M4 SES B", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 25, + "width": 90, + "x": 1914, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M3 SES A", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 25, + "width": 90, + "x": 2248, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M2 SES A", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 25, + "width": 90, + "x": 2580, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M1 SES A", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -713.0208435058594, + "y": -1090.0208435058594 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0b9ebf445d571d6d327746b14a25418f9dd3c137ba32ddccce4e62087b02eb0e b/Gateways/FE/projects/.resources/0b9ebf445d571d6d327746b14a25418f9dd3c137ba32ddccce4e62087b02eb0e new file mode 100644 index 0000000..fd73255 --- /dev/null +++ b/Gateways/FE/projects/.resources/0b9ebf445d571d6d327746b14a25418f9dd3c137ba32ddccce4e62087b02eb0e @@ -0,0 +1,7269 @@ +{ + "custom": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*CHWS/Chiller_LLS*" + }, + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + }, + "current_demand": null, + "editPriority": false, + "max_demand": null, + "min_demand": null, + "nUnits": null, + "operatorPriority": null, + "priority": null, + "runtime": null, + "status": null, + "statusBinary": null, + "statusTranslation": [ + { + "index": 0, + "value": [ + "Not Avail", + "Available" + ] + }, + { + "index": 1, + "value": [ + "Stopped", + "Running" + ] + }, + { + "index": 2, + "value": [ + "Good", + "Failed" + ] + } + ], + "tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS", + "tagPath1": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_Rotation" + }, + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*CHWS/Chiller_LLS*" + }, + "deviceName": "Chiller", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/CH", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_Rotation" + } + }, + "permissions": { + "securityLevels": [], + "type": "AllOf" + }, + "propConfig": { + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.current_demand": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath_LLS": "{view.params.tagPaths.tagPath_LLS}" + }, + "tagPath": "{tagPath_LLS}/Value Demand" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.editPriority": { + "binding": { + "config": { + "expression": "false" + }, + "enabled": false, + "type": "expr" + }, + "persistent": true + }, + "custom.max_demand": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath_LLS": "{view.params.tagPaths.tagPath_LLS}" + }, + "tagPath": "{tagPath_LLS}/Config/Max Demand" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.min_demand": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath_LLS": "{view.params.tagPaths.tagPath_LLS}" + }, + "tagPath": "{tagPath_LLS}/Config/Min Demand" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.nUnits": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Number of Units" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.operatorPriority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.priority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.tagPath}" + }, + "tagPath": "{1}/Reference Devices" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.runtime": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.tagPath}" + }, + "tagPath": "{1}/Device Runtime" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.tagPath}" + }, + "tagPath": "{1}/Status Devices" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.statusBinary": { + "binding": { + "config": { + "path": "view.custom.status" + }, + "transforms": [ + { + "code": "\t\n\tdef int_to_bits(num):\n\t # Ensure the integer is formatted as a 3-bit binary string and then reversed\n\t binary_str \u003d format(num % 8, \u002703b\u0027) # % 8 ensures only the last 3 bits are considered\n\t return [int(bit) for bit in binary_str[::-1]]\n\t\n\treturn [int_to_bits(num) for num in value]", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.statusTranslation": { + "persistent": true + }, + "custom.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPaths.tagPath_LLS" + }, + "type": "property" + }, + "persistent": true + }, + "custom.tagPath1": { + "binding": { + "config": { + "path": "view.params.tagPaths.tagPath_Rotation" + }, + "type": "property" + }, + "persistent": true + }, + "params.alm_Filter": { + "paramDirection": "input", + "persistent": true + }, + "params.deviceName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPaths": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 897 + }, + "pageId": "" + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "Status", + "textStyle": { + "classes": "labels/section-title", + "text-indent": "10px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Gauge" + }, + "position": { + "basis": "142px", + "shrink": 0 + }, + "propConfig": { + "props.outerAxis.maxValue": { + "binding": { + "config": { + "path": "view.custom.nUnits" + }, + "enabled": false, + "type": "property" + } + }, + "props.outerAxis.ranges[1].end": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Avail" + }, + "enabled": false, + "type": "tag" + } + }, + "props.outerAxis.ranges[2].end": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Demand" + }, + "enabled": false, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Feedback" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "backgroundColor": "", + "innerAxis": { + "data": "secondaryValue", + "maxValue": 80, + "percentRadius": 85, + "show": false, + "width": 1 + }, + "outerAxis": { + "data": "value", + "maxValue": 54, + "needle": { + "color": "#555555", + "reach": 95 + }, + "percentRadius": 90, + "ranges": [ + { + "color": "#8080809D", + "end": 48, + "start": 0, + "width": 100 + }, + { + "color": "#77B6D8", + "end": 30, + "start": 0, + "width": 100 + }, + { + "color": "#B46EED", + "end": 25, + "start": 0, + "width": 4 + } + ], + "show": true, + "tickMarks": { + "length": 2 + }, + "width": 1 + }, + "value": 8 + }, + "type": "ia.chart.gauge" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "#77B6D8", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Available" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Avail" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "enabled": false, + "style": { + "margin-right": "auto" + }, + "value": 18 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Avail" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": 30, + "textStyle": { + "color": "var(--tagvalue-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Available" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "#B46EED", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Demand" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "enabled": false, + "spinner": { + "enabled": false + }, + "value": 7 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "value" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Demand" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": 25, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Demand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "#555555", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Feedback" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Feedback" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "enabled": false, + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + }, + "value": 7 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "value" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Feedback" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": 8, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Feedback" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "propConfig": { + "props.params.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Status LineUp Adjusting" + }, + "enabled": false, + "transforms": [ + { + "fallback": "transparent", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "transparent" + }, + { + "input": true, + "output": "gray" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "color": "transparent" + }, + "path": "Library/Framework/Border CSS", + "style": { + "marginLeft": 2 + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Status LineUp Adjusting" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Adjusting Line Up" + }, + { + "input": false, + "output": "Line Up Complete" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Line Up Complete" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "LineUp Adjusting" + }, + "position": { + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "propConfig": { + "props.params.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Stage Mode" + }, + "enabled": false, + "transforms": [ + { + "fallback": "gray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "transparent" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "color": "transparent" + }, + "path": "Library/Framework/Border CSS", + "style": { + "marginLeft": 2 + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Stage Mode" + }, + "enabled": false, + "transforms": [ + { + "fallback": "State Out Of Sequence", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Normal Mode" + }, + { + "input": 1, + "output": "Staging Up" + }, + { + "input": 2, + "output": "Staging Down" + }, + { + "input": 3, + "output": "Checking Stability" + }, + { + "input": 4, + "output": "Operator Priority Changing" + }, + { + "input": 5, + "output": "Runtime Rotations" + }, + { + "input": 6, + "output": "Position Rotations" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "State Out Of Sequence" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Trans Active" + }, + "position": { + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "transparent", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label", + "tooltip": { + "text": "Rotation indication, 1 Hour notice flag." + } + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Rotation Aproaching" + }, + "enabled": false, + "transforms": [ + { + "fallback": "-", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Rotation Approaching" + }, + { + "input": false, + "output": "" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": " " + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Rotation Approaching" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Rotation Aproaching" + }, + "type": "tag" + } + } + }, + "props": { + "justify": "center", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Alarms" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmStatusTable" + }, + "position": { + "basis": "83px" + }, + "propConfig": { + "props.filters.active.conditions": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.alm_Filter" + }, + "type": "property" + }, + "persistent": true + } + }, + "props": { + "columns": { + "active": { + "activeTime": { + "strictWidth": true, + "width": 145 + }, + "displayPath": { + "width": 300 + }, + "name": { + "enabled": false + }, + "priority": { + "enabled": false, + "width": 50 + }, + "source": { + "enabled": false + }, + "state": { + "enabled": false, + "width": "auto" + } + } + }, + "enableAcknowledge": false, + "enableDetails": false, + "enableHeader": false, + "enableShelve": false, + "enableUnshelve": false, + "filters": { + "active": { + "conditions": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*CHWS/Chiller_LLS*" + }, + "priorities": { + "diagnostic": true + }, + "states": { + "clearUnacked": false + } + } + }, + "pager": { + "enabled": false + }, + "rowStyles": { + "activeAcked": { + "priorities": { + "critical": { + "backgroundColor": "#e2202888" + }, + "high": { + "backgroundColor": "#de7c3388" + }, + "low": { + "backgroundColor": "#7266b788" + }, + "medium": { + "backgroundColor": "#f4b83488" + } + } + }, + "activeUnacked": { + "priorities": { + "critical": { + "backgroundColor": "var(--alarmred)" + }, + "high": { + "backgroundColor": "var(--sunsetorange)" + }, + "low": { + "backgroundColor": "var(--coolpurple)" + }, + "medium": { + "backgroundColor": "var(--goldenyellow)" + } + } + } + }, + "style": { + "backgroundColor": "var(--containerRoot)", + "borderStyle": "none", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "hidden" + }, + "toolbar": { + "enableActiveTab": false, + "enableConfiguration": false, + "enableFilterResults": false, + "enablePreFilters": false, + "enableShelvedTab": false, + "enabled": false, + "toggleableFilter": false + } + }, + "type": "ia.display.alarmstatustable" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "105px" + }, + "props": { + "direction": "column", + "style": { + "margin": -2 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "borderLeft": "1px solid var(--border)", + "borderRight": "1px solid var(--border)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Status" + }, + "position": { + "basis": "247px", + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "Controls", + "textStyle": { + "classes": "labels/section-title", + "text-indent": "10px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Auto/Manual" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Auto" + }, + { + "input": false, + "output": "Manual" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)" + }, + "text": "Auto", + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "21%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "color": { + "selected": "var(--action-primary)" + }, + "selected": true + }, + "type": "ia.input.toggle-switch" + } + ], + "meta": { + "name": "Auto-Manual" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "On/Off" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--callToAction)" + }, + { + "input": true, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "On" + }, + { + "input": false, + "output": "Off" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "black" + }, + "text": "Off", + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "height": 33, + "width": 48, + "x": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "color": { + "selected": "var(--action-primary)" + }, + "selected": true + }, + "type": "ia.input.toggle-switch" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif self.view.custom.auth.control:\n\t\tutils.Alerts.showAlert(\"info\", \"Turn On-Off\", \"Are you sure you want to change the state of the LLS?\", \"true\" , \"Continue\" , \"Cancel\" , \"\" , \"\" , \"\" , \"setONOFFBtn\", \"CloseAlertDialog\", \"CloseAlertDialog\")\n\t\t\t\t\t\t #\"state\", \"title\"\t\t , \"message\"\t\t\t\t\t\t\t\t\t\t\t\t\t, \"showCloseBtn\", \"btnTextPrimary\", \"btnTextSecondary\", \"btnIconPrimary\", \"btnIconSecondary\", \"btnIconAlignment\", \"btnActionPrimary\" , \"btnActionSecondary\" , \"btnActionClose\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 28, + "width": 43, + "x": 5.73, + "y": 3 + }, + "props": { + "style": { + "classes": "tglswch" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CoordinateContainer" + }, + "position": { + "shrink": 0 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "On" + }, + { + "input": false, + "output": "Off" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)" + }, + "text": "On", + "textStyle": { + "fontSize": 14, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "On-Off" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "enabled": false, + "transforms": [ + { + "expression": "\u0027Demand SP: \u0027+ tostr({value})", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Demand SP:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)" + }, + "text": 8, + "textStyle": { + "fontSize": 14, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.props.tag \u003d self.props.tag + 1\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "18%" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "current": "{view.custom.current_demand}", + "lineUpComplete": "tag({view.custom.tagPath}+\u0027/Status LineUp Complete\u0027)", + "max": "{view.custom.max_demand}", + "mode": "tag({view.custom.tagPath}+\u0027/Control/Mode\u0027)", + "stageMode": "tag({view.custom.tagPath}+\u0027/Value Stage Mode\u0027)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value[\u0027current\u0027] \u003e\u003d value[\u0027max\u0027]:\n\t\treturn False\n\telif value[\u0027mode\u0027]\u003d\u003dFalse:# and value[\u0027lineUpComplete\u0027]\u003d\u003dTrue and value[\u0027stageMode\u0027]\u003d\u003d0:\n\t\treturn True\n\telse:\n\t\treturn False\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + }, + "props.image.icon": { + "persistent": false + }, + "props.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "align": "stretch", + "image": { + "position": "right" + }, + "style": { + "backgroundColor": "var(--action-primary)", + "overflow": "hidden" + }, + "tag": 0, + "text": "Up" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.props.tag \u003d self.props.tag - 1\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "18%" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "current": "{view.custom.current_demand}", + "lineUpComplete": "tag({view.custom.tagPath}+\u0027/Status LineUp Complete\u0027)", + "min": "{view.custom.min_demand}", + "mode": "tag({view.custom.tagPath}+\u0027/Control/Mode\u0027)", + "stageMode": "tag({view.custom.tagPath}+\u0027/Value Stage Mode\u0027)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027current\u0027] \u003c\u003d value[\u0027min\u0027]:\n\t\treturn False\n\telif value[\u0027mode\u0027]\u003d\u003dFalse:# and value[\u0027lineUpComplete\u0027]\u003d\u003dTrue and value[\u0027stageMode\u0027]\u003d\u003d0:\n\t\treturn True\n\telse:\n\t\treturn False\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "type": "property" + } + }, + "props.image.icon": { + "persistent": false + }, + "props.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "type": "tag" + } + } + }, + "props": { + "image": {}, + "style": { + "overflow": "hidden" + }, + "text": "Dn" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Demand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Operator Priority" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Accept", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "25%", + "shrink": 0 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Accept" + }, + "type": "tag" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "Cfg_DuplicateNum": "tag({view.custom.tagPath}+\u0027/Alarms/Alarm Cfg Duplicate Number\u0027)", + "Cfg_Error": "tag({view.custom.tagPath}+\u0027/Alarms/Alarm Cfg Error\u0027)", + "authentication": "{session.props.auth.authenticated}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027authentication\u0027]:\n\t\tText \u003d \u0027No user is logged in\u0027\n\telif value[\u0027Cfg_Error\u0027]:\n\t\tText \u003d \u0027Operator priority has a duplicate number. Number: \u0027 + str(value[\u0027Cfg_DuplicateNum\u0027])\n\telse:\n\t\tText \u003d \u0027\u0027\n\treturn Text", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{view.custom.auth.control}\r\n\u0026\u0026 !tag({view.custom.tagPath}+\u0027/Alarms/Alarm Cfg Error\u0027)\r\n\u0026\u0026 !tag({view.custom.tagPath}+\u0027/Status LineUp Adjusting\u0027)\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--action-primary)", + "padding": "0 10px" + }, + "text": "Accept" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Operator Priority" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Operator Reset" + }, + "type": "ia.display.label" + }, + { + "custom": { + "tag": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Accept", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "25%", + "shrink": 0 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "enabled": false, + "type": "tag" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "Cfg_DuplicateNum": "tag({view.custom.tagPath}+\u0027/Alarms/Alarm Cfg Duplicate Number\u0027)", + "Cfg_Error": "tag({view.custom.tagPath}+\u0027/Alarms/Alarm Cfg Error\u0027)", + "authentication": "{session.props.auth.authenticated}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027authentication\u0027]:\n\t\tText \u003d \u0027No user is logged in\u0027\n\telif value[\u0027Cfg_Error\u0027]:\n\t\tText \u003d \u0027Operator priority has a duplicate number. Number: \u0027 + str(value[\u0027Cfg_DuplicateNum\u0027])\n\telse:\n\t\tText \u003d \u0027\u0027\n\treturn Text", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--action-primary)", + "padding": "0 10px" + }, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Operator Reset" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "alignVertical": "top", + "text": "Rotation Control", + "textStyle": { + "fontWeight": "600", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Rotation Control" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "borderTop": "1px solid var(--border)", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Auto/Manual" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Auto Mode" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Auto Mode" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Auto" + }, + { + "input": false, + "output": "Manual" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--action-primary)" + }, + "text": "Auto", + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "21%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Auto Mode" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "color": { + "selected": "var(--action-primary)" + }, + "selected": true + }, + "type": "ia.input.toggle-switch" + } + ], + "meta": { + "name": "Rotation AutoMAn" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Rotation Type" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Rotation Type" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--callToAction)" + }, + { + "input": true, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Rotation Type" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "" + }, + { + "input": false, + "output": "Runtime" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "black" + }, + "text": "Runtime", + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Rotation Type" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "color": { + "selected": "var(--action-primary)" + }, + "selected": true, + "style": { + "classes": "tglswch" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Rotation Type" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Rotation Type" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Positions" + }, + { + "input": true, + "output": "" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--action-primary)" + }, + "text": "Positions", + "textStyle": { + "fontSize": 14, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Rotation Type" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Rotate Now" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Accept", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "25%", + "shrink": 0 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/OCmd Rotate Now" + }, + "type": "tag" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "authentication": "{session.props.auth.authenticated}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027authentication\u0027]:\n\t\tText \u003d \u0027No user is logged in\u0027\n\telse:\n\t\tText \u003d \u0027\u0027\n\treturn Text", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "!tag({view.custom.tagPath1}+\u0027/Auto Mode\u0027)\r\n\u0026\u0026 tag({view.custom.tagPath}+\u0027/Status LineUp Complete\u0027)\r\n\u0026\u0026 {view.custom.auth.control}\r\n\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--action-primary)", + "padding": "0 10px" + }, + "text": "Rotate" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Rotate Now" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Skip Rotation" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Accept", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "25%", + "shrink": 0 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/OCmd Skip Rotation" + }, + "type": "tag" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "Cfg_DuplicateNum": "tag({view.custom.tagPath}+\u0027/Alarms/Alm_Cfg_DuplicateNumber\u0027)", + "Cfg_Error": "tag({view.custom.tagPath}+\u0027/Alarms/Alm_Cfg_Error\u0027)", + "authentication": "{session.props.auth.authenticated}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027authentication\u0027]:\n\t\tText \u003d \u0027you do not have enough permissions\u0027\n\telif value[\u0027Cfg_Error\u0027]:\n\t\tText \u003d \u0027Operator priority has a duplicate number. Number: \u0027 + str(value[\u0027Cfg_DuplicateNum\u0027])\n\telse:\n\t\tText \u003d \u0027\u0027\n\treturn Text", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{view.custom.auth.control}\r\n\u0026\u0026 tag({view.custom.tagPath1}+\u0027/Rotation Aproaching\u0027)\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--action-primary)", + "padding": "0 10px" + }, + "text": "Skip" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Skip rotation" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "borderRight": "1px solid var(--border)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Controls" + }, + "position": { + "basis": "263px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "props": { + "text": "Config", + "textStyle": { + "classes": "labels/section-title", + "text-indent": "10px" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.perspective.closePopup(\u0027\u0027)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_1" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "image": { + "height": 20, + "icon": { + "path": "material/close" + }, + "width": 20 + }, + "primary": false, + "style": { + "border-bottom": "1px solid var(--border)", + "classes": "buttons/circle-icon", + "margin": 8 + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "40px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Stage Up Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 60 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_StageUpDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Stage Down Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 60 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_StageDownDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Transition Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 300 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_TransitionDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Off Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 10 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_OffDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Max Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 54 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_MaxDemand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Min Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "access": "PUBLIC", + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 2 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_MinDemand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Fail to Run Delay" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 360 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_FTR_SP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Fail to Stop Delay" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 360 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_FTS_SP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "alignVertical": "top", + "text": "Rotation Config", + "textStyle": { + "fontWeight": "600", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Rotation Control" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "borderTop": "1px solid var(--border)", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Hour Rotate" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Hour" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true, + "text": "1\u003d1am ... 13\u003d1pm, etc." + } + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 2 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_Hour_Rotate" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Day of Week" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Day of Week" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true, + "text": "1\u003dMonday, 2\u003dTuesday ... 7\u003dSunday." + } + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 2 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_DayOfWeek_Rotate" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Day of Week" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Number Of Weeks" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true, + "text": "1\u003dWeekly, 2\u003dBiWeekly, etc." + } + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 1 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_NumberOfWeeks_Rotate" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "borderRight": "1px solid var(--border)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Config" + }, + "position": { + "basis": "290px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "events": { + "component": { + "onEditCellCommit": { + "config": { + "script": "\tvalueToSet \u003d int(event.value)\n\teventRow \u003d int(event.row)\n\tself.props.data[event.row][event.column] \u003d valueToSet\n\ttagPath \u003d self.view.custom.tagPath + \u0027/Control/ORef_Devices\u0027 #\"[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Control/ORef_Devices\"\n\t\n\tav \u003d system.tag.readBlocking([tagPath])[0].value\n\tav[eventRow] \u003d valueToSet\n\tsystem.tag.writeBlocking([tagPath], [av])" + }, + "scope": "G", + "type": "script" + }, + "onEditCellStart": { + "config": { + "script": "\t#self.custom.clear()\n\tif \u0027Chiller\u0027 in self.view.params.tagPaths.tagPath_Rotation:\n\t\tsystem.perspective.openPopup(id, \u0027Pages/Dev/B_Mechanical/Widget/LLS_OperatorPriority\u0027)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.columns": { + "persistent": true + }, + "props.columns[6].editable": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + }, + "props.columns[6].visible": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + }, + "props.columns[8].visible": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "struct": { + "deviceName": "{view.params.deviceName}", + "nUnits": "{view.custom.nUnits}", + "oPriority": "{view.custom.operatorPriority}", + "priority": "{view.custom.priority}", + "reset": "{view.params.tagPaths.tagPath_ResetRT}", + "runtime": "{view.custom.runtime}", + "status": "{view.custom.statusBinary}", + "statusTranslation": "{view.custom.statusTranslation}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor i, priority in enumerate(value[\u0027priority\u0027]):\n\t\tchillerName \u003d value[\u0027deviceName\u0027]+\u0027 {}\u0027.format(i+1)\n\t\tnewRow \u003d {\n\t\t\t\t\u0027index\u0027: i, # index\n\t\t\t\t\u0027chillerName\u0027: {\n\t\t\t\t\t\u0027value\u0027: chillerName, # chillerName\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027margin-left\u0027: 10\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027available\u0027: {\n\t\t\t\t\t\u0027value\u0027: value[\u0027statusTranslation\u0027][0].value[value[\u0027status\u0027][i][0]], # available\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027backgroundColor\u0027: \u0027transparent\u0027 if value[\u0027status\u0027][i][0] \u003d\u003d 1 else \u0027var(--input--disabled)\u0027\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027running\u0027: {\n\t\t\t\t\t\u0027value\u0027: value[\u0027statusTranslation\u0027][1].value[value[\u0027status\u0027][i][1]], # running\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027backgroundColor\u0027: \u0027transparent\u0027 if value[\u0027status\u0027][i][1] \u003d\u003d 1 else \u0027var(--input--disabled)\u0027\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027failed\u0027: {\n\t\t\t\t\t\u0027value\u0027: value[\u0027statusTranslation\u0027][2].value[value[\u0027status\u0027][i][2]], # failed\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027backgroundColor\u0027: \u0027transparent\u0027 if value[\u0027status\u0027][i][2] \u003d\u003d 0 else \u0027var(--error)\u0027\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027priority\u0027: value[\u0027priority\u0027][i], # priority\n\t\t\t\t\u0027oPriority\u0027: {\u0027value\u0027:value[\u0027oPriority\u0027][i], \u0027editable\u0027: True}, # oPriority\n\t\t\t\t\u0027runtime\u0027: value[\u0027runtime\u0027][i], #runtime\n\t\t\t\t\u0027reset\u0027:value[\u0027reset\u0027]+\u0027/\u0027 +value[\u0027reset\u0027].split(\u0027/\u0027)[1] +\u0027%s_RT_Reset\u0027%(i+1) #resetButtons\n\t\t\t}\n\t\toutput.append(newRow)\n\t\t#List \u003d sorted(output, key\u003dlambda x: x[\u0027priority\u0027])\n\t\t#List.sort(key\u003dlambda x: float(x[\u0027priority\u0027]) \u003d\u003d 0)\n\t\tif i \u003d\u003d value[\u0027nUnits\u0027]-1:\n\t\t\tbreak\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "props.data[0].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[0]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[10].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[10]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[11].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[11]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[12].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[12]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[13].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[13]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[14].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[14]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[15].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[15]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[16].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[16]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[17].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[17]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[18].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[18]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[19].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[19]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[1].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[1]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[20].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[20]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[21].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[21]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[22].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[22]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[23].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[23]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[24].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[24]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[25].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[25]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[26].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[26]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[27].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[27]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[28].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[28]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[29].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[29]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[2].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[2]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[30].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[30]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[31].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[31]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[32].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[32]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[33].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[33]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[34].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[34]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[35].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[35]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[36].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[36]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[37].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[37]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[38].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[38]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[39].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[39]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[3].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[3]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[40].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[40]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[41].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[41]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[42].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[42]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[43].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[43]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[44].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[44]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[45].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[45]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[46].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[46]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[47].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[47]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[4].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[4]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[5].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[5]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[6].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[6]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[7].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[7]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[8].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[8]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[9].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[9]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.headerGroups[0][0].title": { + "binding": { + "config": { + "path": "view.params.deviceName" + }, + "enabled": false, + "type": "property" + } + }, + "props.pager.bottom": { + "binding": { + "config": { + "expression": "len({this.props.data}) \u003e {this.props.pager.initialOption}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "cells": { + "allowEditOn": "single-click" + }, + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "index", + "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": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "chillerName", + "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": "Device" + }, + "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": { + "border-right": "1px solid var(--border)", + "classes": "", + "color": "black" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "available", + "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": "Available" + }, + "justify": "center", + "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": { + "border-right": "1px solid var(--border)", + "classes": "", + "color": "black" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "running", + "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": "Running" + }, + "justify": "center", + "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": { + "border-right": "1px solid var(--border)", + "classes": "", + "color": "black" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "failed", + "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": "Failed" + }, + "justify": "center", + "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": { + "border-right": "1px solid var(--border)", + "classes": "", + "color": "black" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "priority", + "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": "Priority" + }, + "justify": "center", + "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": "", + "color": "black" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": true, + "field": "oPriority", + "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": "Oper Prio" + }, + "justify": "center", + "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": { + "border-left": "1px solid var(--border)", + "classes": "", + "color": "black" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "runtime", + "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": "", + "color": "var(--olGray)" + }, + "title": "Runtime" + }, + "justify": "center", + "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": { + "border-left": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "classes": "", + "color": "black" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "reset", + "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": "center", + "style": { + "classes": "" + }, + "title": "Reset" + }, + "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": "Library/CommonObjects/resetButton", + "visible": false, + "width": "" + } + ], + "data": [ + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 1" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 0, + "oPriority": { + "editable": true + }, + "priority": 44, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH1_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 486.220458984375 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 2" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 1, + "oPriority": { + "editable": true + }, + "priority": 36, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH2_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 314.00994873046875 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 3" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 2, + "oPriority": { + "editable": true + }, + "priority": 37, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH3_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 314.00994873046875 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 4" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 3, + "oPriority": { + "editable": true + }, + "priority": 38, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH4_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 314.00994873046875 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 5" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 4, + "oPriority": { + "editable": true + }, + "priority": 21, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH5_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 207.30345153808594 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 6" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 5, + "oPriority": { + "editable": true + }, + "priority": 41, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH6_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 325.61065673828125 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 7" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 6, + "oPriority": { + "editable": true + }, + "priority": 20, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH7_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 207.00343322753906 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 8" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 7, + "oPriority": { + "editable": true + }, + "priority": 4, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH8_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 221.6043243408203 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 9" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 8, + "oPriority": { + "editable": true + }, + "priority": 40, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH9_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 321.21038818359375 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 10" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 9, + "oPriority": { + "editable": true + }, + "priority": 46, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH10_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 495.3210144042969 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 11" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 10, + "oPriority": { + "editable": true + }, + "priority": 8, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH11_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 227.30467224121094 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 12" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 11, + "oPriority": { + "editable": true + }, + "priority": 7, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH12_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 227.1046600341797 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 13" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 12, + "oPriority": { + "editable": true + }, + "priority": 11, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH13_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 173.30137634277344 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 14" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 13, + "oPriority": { + "editable": true + }, + "priority": 26, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH14_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 248.4059600830078 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 15" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 14, + "oPriority": { + "editable": true + }, + "priority": 23, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH15_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 214.50389099121094 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 16" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 15, + "oPriority": { + "editable": true + }, + "priority": 30, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH16_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 273.8074951171875 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 17" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 16, + "oPriority": { + "editable": true + }, + "priority": 16, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH17_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 201.6031036376953 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 18" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 17, + "oPriority": { + "editable": true + }, + "priority": 45, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH18_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 494.42095947265625 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 19" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 18, + "oPriority": { + "editable": true + }, + "priority": 13, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH19_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 183.1019744873047 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 20" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 19, + "oPriority": { + "editable": true + }, + "priority": 15, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH20_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 192.50254821777344 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 21" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 20, + "oPriority": { + "editable": true + }, + "priority": 29, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH21_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 266.80706787109375 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 22" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 21, + "oPriority": { + "editable": true + }, + "priority": 25, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH22_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 235.1051483154297 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 23" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 22, + "oPriority": { + "editable": true + }, + "priority": 34, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH23_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 291.7085876464844 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 24" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 23, + "oPriority": { + "editable": true + }, + "priority": 14, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH24_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 189.40235900878906 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 25" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 24, + "oPriority": { + "editable": true + }, + "priority": 42, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH25_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 334.3111877441406 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 26" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 25, + "oPriority": { + "editable": true + }, + "priority": 2, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH26_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 212.4037628173828 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 27" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 26, + "oPriority": { + "editable": true + }, + "priority": 22, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH27_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 208.20350646972656 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 28" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 27, + "oPriority": { + "editable": true + }, + "priority": 9, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH28_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 166.7009735107422 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 29" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 28, + "oPriority": { + "editable": true + }, + "priority": 3, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH29_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 213.30381774902344 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 30" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 29, + "oPriority": { + "editable": true + }, + "priority": 19, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH30_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 205.5033416748047 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 31" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 30, + "oPriority": { + "editable": true + }, + "priority": 35, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH31_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 293.0086669921875 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 32" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 31, + "oPriority": { + "editable": true + }, + "priority": 39, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH32_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 318.7102355957031 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 33" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 32, + "oPriority": { + "editable": true + }, + "priority": 27, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH33_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 259.3066101074219 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 34" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 33, + "oPriority": { + "editable": true + }, + "priority": 24, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH34_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 220.3042449951172 + }, + { + "available": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Not Avail" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 35" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 34, + "oPriority": { + "editable": true + }, + "priority": 0, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH35_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 232.0049591064453 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 36" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 35, + "oPriority": { + "editable": true + }, + "priority": 12, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH36_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 181.30186462402344 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 37" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 36, + "oPriority": { + "editable": true + }, + "priority": 47, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH37_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 176.3015594482422 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 38" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 37, + "oPriority": { + "editable": true + }, + "priority": 18, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH38_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 204.0032501220703 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 39" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 38, + "oPriority": { + "editable": true + }, + "priority": 33, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH39_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 291.4085693359375 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 40" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 39, + "oPriority": { + "editable": true + }, + "priority": 10, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH40_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 171.40126037597656 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 41" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 40, + "oPriority": { + "editable": true + }, + "priority": 1, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH41_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 196.0027618408203 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 42" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 41, + "oPriority": { + "editable": true + }, + "priority": 43, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH42_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 410.6158447265625 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 43" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 42, + "oPriority": { + "editable": true + }, + "priority": 32, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH43_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 282.1080017089844 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 44" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 43, + "oPriority": { + "editable": true + }, + "priority": 6, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH44_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 226.60462951660156 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 45" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 44, + "oPriority": { + "editable": true + }, + "priority": 28, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH45_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 260.3066711425781 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 46" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 45, + "oPriority": { + "editable": true + }, + "priority": 5, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH46_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 221.70433044433594 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 47" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 46, + "oPriority": { + "editable": true + }, + "priority": 17, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH47_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 201.70310974121094 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 48" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 47, + "oPriority": { + "editable": true + }, + "priority": 31, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH48_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 278.00775146484375 + } + ], + "dragOrderable": false, + "headerGroups": [ + [ + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Chiller" + }, + { + "align": "center", + "justify": "left", + "span": 3, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Status" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Priority" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Operator Priority" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Runtime Hrs" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Runtime Reset" + } + ] + ], + "pager": { + "bottom": false, + "initialOption": 48 + }, + "rows": { + "striped": { + "color": { + "even": "#FFFFFF", + "odd": "#F4F4F4" + } + }, + "style": { + "borderBottomColor": "#ADA7A7", + "borderBottomStyle": "solid", + "borderBottomWidth": 0.1 + }, + "subviewExpansionMode": "single" + }, + "selection": { + "enableColumnSelection": true + }, + "style": { + "marginBottom": 5 + }, + "virtualized": false + }, + "type": "ia.display.table" + } + ], + "events": { + "dom": { + "onDoubleClick": { + "config": { + "script": "\ttable \u003d self.getChild(\"Table\")\n\tdata \u003d table.props.data\n\tpriorityTagPath \u003d self.view.custom.tagPath + \u0027/Ref_Chillers\u0027\n\toPriorityTagPath \u003d self.view.custom.tagPath + \u0027/ORef_Chillers\u0027\n\tpriority \u003d []\n\tfor i, rowData in enumerate(data):\n\t\toPriority \u003d rowData[\u0027oPriority\u0027]\n\t\tpriority.append(oPriority)\n\t\n\tdef myCallback(asyncReturn):\n\t for result in asyncReturn:\n\t # Do something if a bad qualified value was returned\n\t if not result.good:\n\t system.perspective.print(repr([\u0027result\u0027, result]))\n\t\n\tsystem.perspective.print(repr([\u0027priority\u0027, priority]))\n\tsystem.tag.writeBlocking([priorityTagPath, oPriorityTagPath], [priority, priority])\n\tself.view.custom.editPriority \u003d False" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + }, + "system": { + "onStartup": { + "config": { + "script": "\tvalue \u003d self.view.params.tagPaths.tagPath_LLS\n\tpathArr \u003d value.split(\"]\")\n\t\n\tself.view.custom.alm_Filter \u003d {\"provider\":pathArr[0].replace(\"[\",\"\"), \"source\":\"*\"+pathArr[1]+\"*\"}" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "setONOFFBtn", + "pageScope": false, + "script": "\tenablePath \u003d self.view.custom.tagPath + \u0027/Control/System_EnableCMD\u0027\n\tenableTag \u003d system.tag.readBlocking([enablePath])[0].value\n\tif enableTag\u003d\u003dTrue:\n\t\tsystem.tag.writeBlocking([enablePath], [False])\n\telse:\n\t\tsystem.tag.writeAsync([enablePath], [True])\n\t\n\tsystem.perspective.closePopup(\u0027\u0027)\n\t#system.perspective.closePopup(\u0027alertDialog\u0027)\n\t", + "sessionScope": true, + "viewScope": false + }, + { + "messageType": "CloseAlertDialog", + "pageScope": false, + "script": "\n\tsystem.perspective.closePopup(\u0027\u0027)", + "sessionScope": true, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0bc03dd9f6e7630e221b51a1f279fd97a05bc7cd327fb7c5d5c3712aba224e31 b/Gateways/FE/projects/.resources/0bc03dd9f6e7630e221b51a1f279fd97a05bc7cd327fb7c5d5c3712aba224e31 new file mode 100644 index 0000000..4e822c9 Binary files /dev/null and b/Gateways/FE/projects/.resources/0bc03dd9f6e7630e221b51a1f279fd97a05bc7cd327fb7c5d5c3712aba224e31 differ diff --git a/Gateways/FE/projects/.resources/0bc49f6397272703182c349d809ba44229fff923cfe2a6740041261787240c2f b/Gateways/FE/projects/.resources/0bc49f6397272703182c349d809ba44229fff923cfe2a6740041261787240c2f new file mode 100644 index 0000000..50d59d7 Binary files /dev/null and b/Gateways/FE/projects/.resources/0bc49f6397272703182c349d809ba44229fff923cfe2a6740041261787240c2f differ diff --git a/Gateways/FE/projects/.resources/0bea6c23be13e89312ef7e996b88753610502e345110667fefde433499a8b56e b/Gateways/FE/projects/.resources/0bea6c23be13e89312ef7e996b88753610502e345110667fefde433499a8b56e new file mode 100644 index 0000000..cde5dd1 Binary files /dev/null and b/Gateways/FE/projects/.resources/0bea6c23be13e89312ef7e996b88753610502e345110667fefde433499a8b56e differ diff --git a/Gateways/FE/projects/.resources/0c35554f6e405e841cb663fa3ddf238e4209ec9a6ce47ff2fd1436fade59f546 b/Gateways/FE/projects/.resources/0c35554f6e405e841cb663fa3ddf238e4209ec9a6ce47ff2fd1436fade59f546 new file mode 100644 index 0000000..4a6fb98 --- /dev/null +++ b/Gateways/FE/projects/.resources/0c35554f6e405e841cb663fa3ddf238e4209ec9a6ce47ff2fd1436fade59f546 @@ -0,0 +1,428 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]RM1109/SATB1_HS1_RM1109_VAV06" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0c38b6bb6253f2ba5ad0728eb549185d7778235d7c3586732b0ddc80610aee1d b/Gateways/FE/projects/.resources/0c38b6bb6253f2ba5ad0728eb549185d7778235d7c3586732b0ddc80610aee1d new file mode 100644 index 0000000..391dce4 Binary files /dev/null and b/Gateways/FE/projects/.resources/0c38b6bb6253f2ba5ad0728eb549185d7778235d7c3586732b0ddc80610aee1d differ diff --git a/Gateways/FE/projects/.resources/0cb4f2d1b4addb770a6723c6061603dce9de7afd672f7416d8fb4f4982a872dd b/Gateways/FE/projects/.resources/0cb4f2d1b4addb770a6723c6061603dce9de7afd672f7416d8fb4f4982a872dd new file mode 100644 index 0000000..2405fca Binary files /dev/null and b/Gateways/FE/projects/.resources/0cb4f2d1b4addb770a6723c6061603dce9de7afd672f7416d8fb4f4982a872dd differ diff --git a/Gateways/FE/projects/.resources/0cb78bf14e74544f940cab6b5623d9869c2defa2817b98080db2bcf9142744b3 b/Gateways/FE/projects/.resources/0cb78bf14e74544f940cab6b5623d9869c2defa2817b98080db2bcf9142744b3 new file mode 100644 index 0000000..0618743 --- /dev/null +++ b/Gateways/FE/projects/.resources/0cb78bf14e74544f940cab6b5623d9869c2defa2817b98080db2bcf9142744b3 @@ -0,0 +1,79 @@ +{ + "custom": {}, + "params": { + "inputs": { + "height": "100%", + "targetDetailedURL": "", + "targetURL": "/Oneline-HS1", + "width": "100%" + } + }, + "propConfig": { + "params.inputs": { + "access": "PUBLIC", + "paramDirection": "input", + "persistent": true + }, + "params.inputs.targetURL": { + "access": "PUBLIC" + } + }, + "props": { + "defaultSize": { + "height": 1800, + "width": 2000 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "IFrame" + }, + "position": { + "height": 5000, + "width": 5000 + }, + "propConfig": { + "props.src": { + "binding": { + "config": { + "struct": { + "address": "{session.props.gateway.address}", + "inputs": "{view.params.inputs}", + "pageId": "{page.props.pageId}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tendpoint \u003d \u0027{gatewayAddress}/system/webdev/{projectName}/pan-zoom-iframe/html?gatewayAddress\u003d{gatewayAddress}\u0026projectName\u003d{projectName}\u0026targetURL\u003d{targetURL}\u0026targetDetailedURL\u003d{targetDetailedURL}\u0026height\u003d{height}\u0026width\u003d{width}\u0026pageId\u003d{pageId}\u0027\n\tif value[\u0027address\u0027] is None:\n\t\tgatewayAddress \u003d system.util.getGatewayAddress()\n\telse:\n\t\tgatewayAddress \u003d value[\u0027address\u0027]\n\tprops \u003d {\n\t\t\t \u0027gatewayAddress\u0027: gatewayAddress\n\t\t\t, \u0027projectName\u0027: system.util.getProjectName()\n\t\t\t, \u0027targetURL\u0027: value[\u0027inputs\u0027][\u0027targetURL\u0027]\n\t\t\t, \u0027targetDetailedURL\u0027 : value[\u0027inputs\u0027][\u0027targetDetailedURL\u0027]\n\t\t\t, \u0027height\u0027: str(value[\u0027inputs\u0027][\u0027height\u0027]).replace(\u0027%\u0027,\u0027%25\u0027)\n\t\t\t, \u0027width\u0027 : str(value[\u0027inputs\u0027][\u0027width\u0027]).replace(\u0027%\u0027,\u0027%25\u0027)\n\t\t\t, \u0027pageId\u0027 : str(value[\u0027pageId\u0027])\n\t}\n\treturn endpoint.format(**props)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "allowFullScreen": true, + "style": { + "touch-action": "none" + } + }, + "type": "ia.display.iframe" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "--containerRoot", + "overflow": "hidden", + "touch-action": "none" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0cd0de00de91f387f9e84f77e83b68aa7219b82feea15da2dee7d9146ef97e1c b/Gateways/FE/projects/.resources/0cd0de00de91f387f9e84f77e83b68aa7219b82feea15da2dee7d9146ef97e1c new file mode 100644 index 0000000..8d98db1 --- /dev/null +++ b/Gateways/FE/projects/.resources/0cd0de00de91f387f9e84f77e83b68aa7219b82feea15da2dee7d9146ef97e1c @@ -0,0 +1,214 @@ +{ + "pages": { + "/": { + "docks": { + "cornerPriority": "left-right", + "left": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "hide", + "iconUrl": "", + "id": "mainNav", + "modal": false, + "resizable": false, + "show": "visible", + "size": 220, + "viewParams": {}, + "viewPath": "Library/Layouts/Docked/MainNav" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "hide", + "iconUrl": "", + "id": "", + "modal": false, + "resizable": false, + "show": "visible", + "size": 80, + "viewParams": {}, + "viewPath": "Library/Layouts/Docked/Header" + } + ] + }, + "title": "", + "viewPath": "Pages/Dashboards/Home" + }, + "/CHW_System/:pageId": { + "title": "", + "viewPath": "Pages/Mechanical/CHW_System" + }, + "/DH101/:pageId": { + "title": "", + "viewPath": "Pages/Datahall/DH101" + }, + "/DH102/:pageId": { + "title": "", + "viewPath": "Pages/Datahall/DH102" + }, + "/DH201/:pageId": { + "title": "", + "viewPath": "Pages/Datahall/DH201" + }, + "/DH202/:pageId": { + "title": "", + "viewPath": "Pages/Datahall/DH203" + }, + "/Oneline_DH101_P1/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH101_P1" + }, + "/Oneline_DH101_P2/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH101_P2" + }, + "/Oneline_DH101_P3/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH101_P3" + }, + "/Oneline_DH101_P4/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH101_P4" + }, + "/Oneline_DH101_P5/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH101_P5" + }, + "/Oneline_DH102_P1/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH102_P1" + }, + "/Oneline_DH102_P2/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH102_P2" + }, + "/Oneline_DH102_P3/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH102_P3" + }, + "/Oneline_DH102_P4/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH102_P4" + }, + "/Oneline_DH102_P5/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH102_P5" + }, + "/Oneline_DH201_P1/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH201_P1" + }, + "/Oneline_DH201_P2/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH201_P2" + }, + "/Oneline_DH201_P3/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH201_P3" + }, + "/Oneline_DH201_P4/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH201_P4" + }, + "/Oneline_DH201_P5/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH201_P5" + }, + "/Oneline_DH202_P1/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH202_P1" + }, + "/Oneline_DH202_P2/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH202_P2" + }, + "/Oneline_DH202_P3/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH202_P3" + }, + "/Oneline_DH202_P4/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH202_P4" + }, + "/Oneline_DH202_P5/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH202_P5" + }, + "/Oneline_DH203_P1/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH203_P1" + }, + "/Oneline_DH203_P2/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH203_P2" + }, + "/Oneline_DH203_P3/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH203_P3" + }, + "/Oneline_DH203_P4/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH203_P4" + }, + "/Oneline_DH203_P5/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH203_P5" + }, + "/Oneline_HS1/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_HS1" + }, + "/Oneline_HS2/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_HS2" + }, + "/Oneline_M1/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M1" + }, + "/Oneline_M2/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M2" + }, + "/Oneline_M3/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M3" + }, + "/Oneline_M4/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M4" + }, + "/Oneline_M5/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M5" + }, + "/Oneline_M6/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M6" + }, + "/Oneline_M7/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M7" + }, + "/Oneline_M8/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M8" + }, + "/Oneline_SES/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_SES" + }, + "/Oneline_UT/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_UT" + } + }, + "sharedDocks": { + "cornerPriority": "top-bottom" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0cd7c10b571489d140f714adde86aa4b140656e48796432ce991d331bff4eae2 b/Gateways/FE/projects/.resources/0cd7c10b571489d140f714adde86aa4b140656e48796432ce991d331bff4eae2 new file mode 100644 index 0000000..bb3cec7 --- /dev/null +++ b/Gateways/FE/projects/.resources/0cd7c10b571489d140f714adde86aa4b140656e48796432ce991d331bff4eae2 @@ -0,0 +1,439 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES01_MOV50" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.PosSP": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_PosSP" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Position Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "path": "this.props.enabled" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--oltagvalue-color)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.PosSP" + }, + "type": "property" + } + } + }, + "props": { + "inputBounds": { + "maximum": 100, + "minimum": 0 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "PositionSP" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0d1491bfc6668bd3b1900918291ebb23754f456e83eba6531a4f02ada68eb90e b/Gateways/FE/projects/.resources/0d1491bfc6668bd3b1900918291ebb23754f456e83eba6531a4f02ada68eb90e new file mode 100644 index 0000000..5c91c8c Binary files /dev/null and b/Gateways/FE/projects/.resources/0d1491bfc6668bd3b1900918291ebb23754f456e83eba6531a4f02ada68eb90e differ diff --git a/Gateways/FE/projects/.resources/0d637b53a546ab63b8342f6f3a98fce8e176d6f597d5391039218f6bb902b042 b/Gateways/FE/projects/.resources/0d637b53a546ab63b8342f6f3a98fce8e176d6f597d5391039218f6bb902b042 new file mode 100644 index 0000000..cf93632 Binary files /dev/null and b/Gateways/FE/projects/.resources/0d637b53a546ab63b8342f6f3a98fce8e176d6f597d5391039218f6bb902b042 differ diff --git a/Gateways/FE/projects/.resources/0d75e8ea510e43ed4b5cc89547d964b31861081e4598188abf721f3e7dc44d4d b/Gateways/FE/projects/.resources/0d75e8ea510e43ed4b5cc89547d964b31861081e4598188abf721f3e7dc44d4d new file mode 100644 index 0000000..7aef350 --- /dev/null +++ b/Gateways/FE/projects/.resources/0d75e8ea510e43ed4b5cc89547d964b31861081e4598188abf721f3e7dc44d4d @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "VAV", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/VAV" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0d7846341785b5a28e650058d140b09f58624de220a60c978c7b37a55a1f447b b/Gateways/FE/projects/.resources/0d7846341785b5a28e650058d140b09f58624de220a60c978c7b37a55a1f447b new file mode 100644 index 0000000..edabf1a Binary files /dev/null and b/Gateways/FE/projects/.resources/0d7846341785b5a28e650058d140b09f58624de220a60c978c7b37a55a1f447b differ diff --git a/Gateways/FE/projects/.resources/0d7e1424554ea1e80b64d77f047a16517a07d67f34709404a6c5c2b21d0269e0 b/Gateways/FE/projects/.resources/0d7e1424554ea1e80b64d77f047a16517a07d67f34709404a6c5c2b21d0269e0 new file mode 100644 index 0000000..b350adc --- /dev/null +++ b/Gateways/FE/projects/.resources/0d7e1424554ea1e80b64d77f047a16517a07d67f34709404a6c5c2b21d0269e0 @@ -0,0 +1,12 @@ +{ + "base": { + "style": { + "borderBottomColor": "#003E69", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "color": "#E6EAEE", + "fontSize": "14px", + "lineHeight": "20px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0e065f05a938d5a6e05d6445bc93d89741b2dee6069e65bb4eedbb019c917763 b/Gateways/FE/projects/.resources/0e065f05a938d5a6e05d6445bc93d89741b2dee6069e65bb4eedbb019c917763 new file mode 100644 index 0000000..0862d24 Binary files /dev/null and b/Gateways/FE/projects/.resources/0e065f05a938d5a6e05d6445bc93d89741b2dee6069e65bb4eedbb019c917763 differ diff --git a/Gateways/FE/projects/.resources/0e26960862e4c700354e8dfedbe250abe8abf051756563a1c45cb0c57a87f53d b/Gateways/FE/projects/.resources/0e26960862e4c700354e8dfedbe250abe8abf051756563a1c45cb0c57a87f53d new file mode 100644 index 0000000..1a08edd Binary files /dev/null and b/Gateways/FE/projects/.resources/0e26960862e4c700354e8dfedbe250abe8abf051756563a1c45cb0c57a87f53d differ diff --git a/Gateways/FE/projects/.resources/0e412049eddfa3b46433f9252fafa07c1cc5551ae6ccca1cf6a14bd9b7b88f4c b/Gateways/FE/projects/.resources/0e412049eddfa3b46433f9252fafa07c1cc5551ae6ccca1cf6a14bd9b7b88f4c new file mode 100644 index 0000000..e3a81ac Binary files /dev/null and b/Gateways/FE/projects/.resources/0e412049eddfa3b46433f9252fafa07c1cc5551ae6ccca1cf6a14bd9b7b88f4c differ diff --git a/Gateways/FE/projects/.resources/0e49b4ae4d62652fb702525eb11b0567f09e0f2c5b6251079afc661f72bda775 b/Gateways/FE/projects/.resources/0e49b4ae4d62652fb702525eb11b0567f09e0f2c5b6251079afc661f72bda775 new file mode 100644 index 0000000..e724108 Binary files /dev/null and b/Gateways/FE/projects/.resources/0e49b4ae4d62652fb702525eb11b0567f09e0f2c5b6251079afc661f72bda775 differ diff --git a/Gateways/FE/projects/.resources/0e51e7635f3d4dbcefdc444c4a20aec65aab8720769d8d6804c83235916e9add b/Gateways/FE/projects/.resources/0e51e7635f3d4dbcefdc444c4a20aec65aab8720769d8d6804c83235916e9add new file mode 100644 index 0000000..a15e752 Binary files /dev/null and b/Gateways/FE/projects/.resources/0e51e7635f3d4dbcefdc444c4a20aec65aab8720769d8d6804c83235916e9add differ diff --git a/Gateways/FE/projects/.resources/0e7aae93071abb6122bd726b7b082785998b65c25d1c52bbfef8a57be0bf83e0 b/Gateways/FE/projects/.resources/0e7aae93071abb6122bd726b7b082785998b65c25d1c52bbfef8a57be0bf83e0 new file mode 100644 index 0000000..857858d Binary files /dev/null and b/Gateways/FE/projects/.resources/0e7aae93071abb6122bd726b7b082785998b65c25d1c52bbfef8a57be0bf83e0 differ diff --git a/Gateways/FE/projects/.resources/0eba8506edcdbd9cd08364f8867ac6a91039cf5e1c2cdd8d03e4d7c314882df7 b/Gateways/FE/projects/.resources/0eba8506edcdbd9cd08364f8867ac6a91039cf5e1c2cdd8d03e4d7c314882df7 new file mode 100644 index 0000000..9358ace Binary files /dev/null and b/Gateways/FE/projects/.resources/0eba8506edcdbd9cd08364f8867ac6a91039cf5e1c2cdd8d03e4d7c314882df7 differ diff --git a/Gateways/FE/projects/.resources/0ed24c079bead0abcf6f25870775e961ad979950cb8c1a9cd074b49d20b2d43d b/Gateways/FE/projects/.resources/0ed24c079bead0abcf6f25870775e961ad979950cb8c1a9cd074b49d20b2d43d new file mode 100644 index 0000000..19d15a3 --- /dev/null +++ b/Gateways/FE/projects/.resources/0ed24c079bead0abcf6f25870775e961ad979950cb8c1a9cd074b49d20b2d43d @@ -0,0 +1,4507 @@ +{ + "custom": { + "c1": 69.8, + "c2": 69.8, + "global": 75 + }, + "params": { + "pageId": "" + }, + "propConfig": { + "custom.c1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1273/SATB1_IDF1273_CRAH_01/Supply Air Temperature" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.c2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1273/SATB1_IDF1273_CRAH_02/Supply Air Temperature" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.global": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/OPC Tags/SATB1_DH2_STU_T_SP" + }, + "type": "tag" + }, + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1150, + "width": 2120 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": { + "racks": "var(--olGray)", + "walls": "var(--olGray)" + } + }, + "meta": { + "name": "DH2" + }, + "position": { + "height": 1120, + "width": 1920, + "x": -93, + "y": 9 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M3.844,42.027l0,-40.465l1212.58,0.001l-0,24.078m-0,30.959l-0,34.963l-1212.58,-0l0,-10.581", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.12px" + }, + "type": "path" + }, + { + "d": "M1216.43,776.159l-0,17.306l-1133.79,-0l-0,-5.3m-0,-46.068l-0,-38.632l1133.79,-0l-0,37.411", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1216.43,697.168l-0,6.297m-0,-580.852l-0,538.665m-0,-567.011l-0,5.001m-1133.79,57.75l-0,-27.535m-0,411.98l-0,-350.712m-0,478.187l-0,-93.828", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M82.637,703.465l-0,-4.689", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1.667,646.491l-0,12.917l80.97,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M82.637,603.783l-80.97,0l-0,15.699", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M1.667,603.783l-0,-474.499l80.97,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + } + ], + "id": "Walls", + "name": "Walls", + "opacity": "50%", + "type": "group" + }, + { + "elements": [ + { + "d": "M129.917,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M129.917,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M233.417,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M233.417,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M336.917,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M336.917,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M440.417,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M440.417,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M543.917,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M543.917,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M647.417,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M647.417,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M750.917,375.688l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M750.917,668.188l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M854.417,375.688l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M854.417,668.188l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M957.917,375.688l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M957.917,668.188l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M171.917,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M171.917,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M275.417,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M275.417,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M378.917,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M378.917,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M482.417,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M482.417,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M585.917,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M585.917,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M689.417,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M689.417,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M792.917,375.688l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M792.917,668.188l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M896.417,375.688l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M896.417,668.188l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M999.917,375.688l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M999.917,668.188l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1061.42,375.688l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1061.42,668.188l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1173.64,591.644l0,-340.536l0,5.65l-20.963,-0.005l-0,9l20.963,0.024l0,5.288l-20.963,0l-0,8.188l20.963,-0l0,5.25l-20.963,-0l-0,9l20.963,-0l0,5.25l-20.963,-0l-0,9l20.963,-0l0,4.5l-20.963,-0l-0,9l20.963,-0l0,5.25l-20.963,-0l-0,9l20.963,-0l0,4.5l-20.963,-0l-0,8.25l20.963,-0l0,6l-20.963,-0l-0,9l20.963,-0l0,5.25l-20.963,-0l-0,8.25l20.963,-0l0,6l-20.963,-0l-0,9l20.963,-0l0,4.5l-20.963,-0l-0,8.25l20.963,-0l0,6l-20.963,-0l-0,9l20.963,-0l0,5.25l-20.963,-0l-0,8.25l20.963,-0l0,4.5l-20.963,-0l-0,9l20.963,-0l0,6l-20.963,-0l-0,8.25l20.963,-0l0,5.25l-20.963,-0l-0,8.25l20.963,-0l0,5.25l-20.963,-0l-0,9.75l20.963,-0l0,4.5l-20.963,-0l-0,8.25l20.963,-0l0,6l-20.963,-0l-0,9l20.963,-0l0,4.5l-20.963,-0l-0,9l20.963,-0l0,4.5l-20.963,-0l-0,9.06l20.963,-0l0,5.94l-20.963,-0l-0,8.25l20.963,-0l0,5.25l-20.963,-0l-0,8.25l20.963,-0l0,6l-20.963,-0l-0,9l20.963,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M21.604,553.335l-0,-340.536l-0,5.649l20.963,-0.004l0,9l-20.963,0.023l-0,5.289l20.963,0l0,8.188l-20.963,-0l-0,5.25l20.963,-0l0,9l-20.963,-0l-0,5.25l20.963,-0l0,9l-20.963,-0l-0,4.5l20.963,-0l0,9l-20.963,-0l-0,5.25l20.963,-0l0,9l-20.963,-0l-0,4.5l20.963,-0l0,8.25l-20.963,-0l-0,6l20.963,-0l0,9l-20.963,-0l-0,5.25l20.963,-0l0,8.25l-20.963,-0l-0,6l20.963,-0l0,9l-20.963,-0l-0,4.5l20.963,-0l0,8.25l-20.963,-0l-0,6l20.963,-0l0,9l-20.963,-0l-0,5.25l20.963,-0l0,8.25l-20.963,-0l-0,4.5l20.963,-0l0,9l-20.963,-0l-0,6l20.963,-0l0,8.25l-20.963,-0l-0,5.25l20.963,-0l0,8.25l-20.963,-0l-0,5.25l20.963,-0l0,9.75l-20.963,-0l-0,4.5l20.963,-0l0,8.25l-20.963,-0l-0,6l20.963,-0l0,9l-20.963,-0l-0,4.5l20.963,-0l0,9l-20.963,-0l-0,4.5l20.963,-0l0,9.06l-20.963,-0l-0,5.94l20.963,-0l0,8.25l-20.963,-0l-0,5.25l20.963,-0l0,8.25l-20.963,-0l-0,6l20.963,-0l0,9l-20.963,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + } + ], + "id": "Racks", + "name": "Racks", + "opacity": "50%", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1218 796" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "STU" + }, + "position": { + "height": 69, + "width": 121, + "x": 1546.1770858764648, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU19" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_0" + }, + "position": { + "height": 69, + "width": 120, + "x": 151.2, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_1" + }, + "position": { + "height": 69, + "width": 120, + "x": 306.2, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU03" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_2" + }, + "position": { + "height": 69, + "width": 120, + "x": 461.2, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU05" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_3" + }, + "position": { + "height": 69, + "width": 120, + "x": 616.2, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU07" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_4" + }, + "position": { + "height": 69, + "width": 120, + "x": 771.2, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU09" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_5" + }, + "position": { + "height": 69, + "width": 120, + "x": 926.2, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU11" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_6" + }, + "position": { + "height": 69, + "width": 120, + "x": 1081.1770858764648, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU13" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_7" + }, + "position": { + "height": 69, + "width": 120, + "x": 1236.1770858764648, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU15" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_8" + }, + "position": { + "height": 69, + "width": 120, + "x": 1391.1770858764648, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU17" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_9" + }, + "position": { + "height": 69, + "width": 120, + "x": 151.2, + "y": 986 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_10" + }, + "position": { + "height": 69, + "width": 120, + "x": 306.2, + "y": 986 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU04" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_11" + }, + "position": { + "height": 69, + "width": 120, + "x": 461.2, + "y": 986 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU06" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_12" + }, + "position": { + "height": 69, + "width": 120, + "x": 616.2, + "y": 986 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU08" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_13" + }, + "position": { + "height": 69, + "width": 120, + "x": 771.2, + "y": 987 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU10" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_14" + }, + "position": { + "height": 69, + "width": 120, + "x": 926.2, + "y": 987 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU12" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_15" + }, + "position": { + "height": 69, + "width": 120, + "x": 1081.18, + "y": 986 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU14" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_16" + }, + "position": { + "height": 69, + "width": 120, + "x": 1236.18, + "y": 987 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU16" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_17" + }, + "position": { + "height": 69, + "width": 120, + "x": 1391.18, + "y": 986 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU18" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_18" + }, + "position": { + "height": 69, + "width": 120, + "x": 1547.2, + "y": 987 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU20" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM" + }, + "position": { + "height": 64, + "width": 165, + "x": 151.2, + "y": 13 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_HUM_03" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_0" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 1547.2, + "y": 1049.9 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_HUM_02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_2" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 151.2, + "y": 1050 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_HUM_01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_75" + }, + "position": { + "height": 25, + "width": 65, + "x": 213.4, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_76_74_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_76" + }, + "position": { + "height": 25, + "width": 65, + "x": 358.4, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_72_70_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_77" + }, + "position": { + "height": 25, + "width": 65, + "x": 503.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_68_66_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_78" + }, + "position": { + "height": 25, + "width": 65, + "x": 647.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_64_62_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_79" + }, + "position": { + "height": 25, + "width": 65, + "x": 793.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_60_58_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_80" + }, + "position": { + "height": 25, + "width": 65, + "x": 938.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_56_54_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_81" + }, + "position": { + "height": 25, + "width": 65, + "x": 1076.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_52_50_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_82" + }, + "position": { + "height": 25, + "width": 65, + "x": 1227.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_48_46_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_83" + }, + "position": { + "height": 25, + "width": 65, + "x": 1364.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_44_42_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_84" + }, + "position": { + "height": 25, + "width": 65, + "x": 1506.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_40_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_85" + }, + "position": { + "height": 25, + "width": 65, + "x": 213.4, + "y": 538 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_76_74_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_86" + }, + "position": { + "height": 25, + "width": 65, + "x": 358.4, + "y": 538 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_72_70_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_87" + }, + "position": { + "height": 25, + "width": 65, + "x": 503.7, + "y": 538 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_68_66_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_88" + }, + "position": { + "height": 25, + "width": 65, + "x": 647.7, + "y": 538 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_64_62_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_89" + }, + "position": { + "height": 25, + "width": 65, + "x": 793.7, + "y": 539 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_60_58_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_90" + }, + "position": { + "height": 25, + "width": 65, + "x": 938.7, + "y": 539 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_56_54_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_91" + }, + "position": { + "height": 25, + "width": 65, + "x": 1076.7, + "y": 539 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_52_50_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_92" + }, + "position": { + "height": 25, + "width": 65, + "x": 1227.7, + "y": 539 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_48_46_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_93" + }, + "position": { + "height": 25, + "width": 65, + "x": 1364.7, + "y": 539 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_44_42_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_94" + }, + "position": { + "height": 25, + "width": 65, + "x": 1506.7, + "y": 540 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_40_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_95" + }, + "position": { + "height": 25, + "width": 65, + "x": 213.4, + "y": 949 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_75_73_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_96" + }, + "position": { + "height": 25, + "width": 65, + "x": 358.4, + "y": 950 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_71_69_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_97" + }, + "position": { + "height": 25, + "width": 65, + "x": 503.7, + "y": 950 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_67_65_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_98" + }, + "position": { + "height": 25, + "width": 65, + "x": 647.7, + "y": 950 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_63_61_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_99" + }, + "position": { + "height": 25, + "width": 65, + "x": 793.7, + "y": 951 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_59_57_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_100" + }, + "position": { + "height": 25, + "width": 65, + "x": 938.7, + "y": 951 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_55_53_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_101" + }, + "position": { + "height": 25, + "width": 65, + "x": 1076.7, + "y": 951 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_51_49_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_102" + }, + "position": { + "height": 25, + "width": 65, + "x": 1227.7, + "y": 951 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_47_45_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_103" + }, + "position": { + "height": 25, + "width": 65, + "x": 1364.7, + "y": 951 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_43_41_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_104" + }, + "position": { + "height": 25, + "width": 65, + "x": 1506.7, + "y": 951 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_39_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_181" + }, + "position": { + "height": 25, + "width": 65, + "x": 213.4, + "y": 570 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_75_73_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_182" + }, + "position": { + "height": 25, + "width": 65, + "x": 358.4, + "y": 571 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_71_69_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_183" + }, + "position": { + "height": 25, + "width": 65, + "x": 503.7, + "y": 571 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_67_65_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_184" + }, + "position": { + "height": 25, + "width": 65, + "x": 647.7, + "y": 571 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_63_61_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_185" + }, + "position": { + "height": 25, + "width": 65, + "x": 793.7, + "y": 572 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_59_57_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_186" + }, + "position": { + "height": 25, + "width": 65, + "x": 938.7, + "y": 572 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_55_53_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_187" + }, + "position": { + "height": 25, + "width": 65, + "x": 1076.7, + "y": 572 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_51_49_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_188" + }, + "position": { + "height": 25, + "width": 65, + "x": 1227.7, + "y": 572 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_47_45_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_189" + }, + "position": { + "height": 25, + "width": 65, + "x": 1364.7, + "y": 572 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_43_41_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_190" + }, + "position": { + "height": 25, + "width": 65, + "x": 1506.7, + "y": 572 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_39_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_167" + }, + "position": { + "height": 25, + "width": 65, + "x": 1636, + "y": 339 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_IDF1_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_168" + }, + "position": { + "height": 25, + "width": 65, + "x": 1636, + "y": 845 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_IDF1_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_170" + }, + "position": { + "height": 25, + "width": 150, + "x": 1360.97, + "y": 1054.9 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO2_default]GAL1272/SATB1_DH2_LD2" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_171" + }, + "position": { + "height": 60, + "width": 110, + "x": 1367.16, + "y": 21.49 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_DH2_LD1" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAH 1263-1" + }, + "position": { + "height": 69, + "width": 121, + "x": 13.84, + "y": 181.524 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "CRAH", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1273/SATB1_IDF1273_CRAH_01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/CRAH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAH 1263 -2" + }, + "position": { + "height": 69, + "width": 121, + "x": 13.866, + "y": 793.529 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "CRAH", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1273/SATB1_IDF1273_CRAH_02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/CRAH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FCU-15" + }, + "position": { + "height": 69, + "width": 121, + "x": 15.873, + "y": 858.517 + }, + "props": { + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 138.84, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 76, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 191.512, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "76_74", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 283.3, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "74_72", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 339.2, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "72_70", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 429.5, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "70_68", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 484, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "68_66", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 575.3, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "66_64", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 630.4, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "64_62", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 720.8, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "62_60", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 775.8, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "60_58", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 867.3, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "58_56", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 88, + "x": 921.6, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "56_54", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1012.27, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "54_52", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1067.5, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "52_50", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C8" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1158.5, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "50_48", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H8" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 91, + "x": 1212.5, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "48_46", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1303.5, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "46_44", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 88, + "x": 1358.5, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "44_42", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1448.7, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "42_40", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 72, + "x": 1504.7, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 40, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C11" + }, + "position": { + "height": 480, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1576.67, + "y": 365.81 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "IDF4", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 138.841, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 75, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 193.512, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "75_73", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 339.2, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "71_69", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 283.3, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "73_71", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 484, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "67_65", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 429.5, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "69_67", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 630.4, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "63_61", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 575.3, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "65_63", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 775.8, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "59_57", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 720.8, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "61_59", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H17" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 88, + "x": 921.6, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "55_53", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C17" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 867.3, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "57_55", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1067.5, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "51_49", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1012.27, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "53_51", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 91, + "x": 1212.5, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "47_45", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1158.5, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "49_47", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 88, + "x": 1358.5, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "43_41", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1303.5, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "45_43", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H21" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 72, + "x": 1504.7, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 39, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C21" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1448.7, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "41_39", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_172" + }, + "position": { + "height": 0, + "width": 0, + "x": -2058, + "y": -2070 + }, + "props": { + "params": { + "FalseText": "No Leak Detected", + "TrueText": "Leak Detected", + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_GAL1182_STU_LD" + }, + "path": "Library/CommonObjects/BooleanIndicator", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle_3" + }, + "position": { + "height": 478, + "width": 71, + "x": 1631, + "y": 367.131 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "IDF4", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle_3", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH controls" + }, + "position": { + "height": 1000, + "width": 350, + "x": 1744, + "y": 9.84 + }, + "props": { + "params": { + "dh": 2 + }, + "path": "Pages/Dev/C_AirSystem/Widgets/DH_Control", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 143, + "width": 130, + "x": 1584.78, + "y": 190.47 + }, + "props": { + "params": { + "DH": "DH2" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/Dewpoint", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C24" + }, + "position": { + "height": 480, + "rotate": { + "anchor": "50% 64%" + }, + "width": 61, + "x": 13.737501525878905, + "y": 305.5 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "struct": { + "c1": "{view.custom.c1}", + "c2": "{view.custom.c1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "max({value}[\u0027c1\u0027], {value}[\u0027c2\u0027])", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "Aisle": "IDF3", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle_3", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C22" + }, + "position": { + "height": 480, + "rotate": { + "anchor": "50% 64%" + }, + "width": 47, + "x": 81.26, + "y": 305.5 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "struct": { + "c1": "{view.custom.c1}", + "c2": "{view.custom.c2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "max({value}[\u0027c1\u0027], {value}[\u0027c2\u0027])", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "Aisle": "IDF3", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_108" + }, + "position": { + "height": 25, + "width": 65, + "x": 86.0999969482422, + "y": 568.5250244140625 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_COR_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "backgroundColor": "--containerRoot", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -12, + "y": 0 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "LLSPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.LLSPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0ee1d700e0b872028c77486828efaa0393a09f2d82f33fcac42f0da8407df564 b/Gateways/FE/projects/.resources/0ee1d700e0b872028c77486828efaa0393a09f2d82f33fcac42f0da8407df564 new file mode 100644 index 0000000..a7349c7 Binary files /dev/null and b/Gateways/FE/projects/.resources/0ee1d700e0b872028c77486828efaa0393a09f2d82f33fcac42f0da8407df564 differ diff --git a/Gateways/FE/projects/.resources/0ef4d099a09ee67a66db31c0a242a47b3dd19facc139a3ae51784e053f4c5044 b/Gateways/FE/projects/.resources/0ef4d099a09ee67a66db31c0a242a47b3dd19facc139a3ae51784e053f4c5044 new file mode 100644 index 0000000..1f14485 --- /dev/null +++ b/Gateways/FE/projects/.resources/0ef4d099a09ee67a66db31c0a242a47b3dd19facc139a3ae51784e053f4c5044 @@ -0,0 +1,2759 @@ +{ + "custom": { + "DH": 4, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_SATB1_IO4_default]", + "in1": true, + "in2": true, + "lineup": 1, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P4.2" + } + }, + "params": { + "pageId": "", + "pageName": "P4-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-1/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5 or value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telse:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P4.1", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "custom.ut_energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-1/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "this.custom.ut_energized" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO4_default]ER1254/SATB1_ER1254_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0ef7bda10a6739236624beab66d29c8da9e2eba36fd869b11e0976ba25419d14 b/Gateways/FE/projects/.resources/0ef7bda10a6739236624beab66d29c8da9e2eba36fd869b11e0976ba25419d14 new file mode 100644 index 0000000..bf47b4c --- /dev/null +++ b/Gateways/FE/projects/.resources/0ef7bda10a6739236624beab66d29c8da9e2eba36fd869b11e0976ba25419d14 @@ -0,0 +1,1023 @@ +{ + "custom": {}, + "params": { + "pageId": "value" + }, + "propConfig": { + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable" + }, + "position": { + "height": 990, + "width": 1250 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-5_to_UT-M7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M7_to_UT-M8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "UT-P1.5", + "right": "UT-M8" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M7", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M7", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M7", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M7", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M7", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 0, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 418, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD03" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 478, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD04" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 423, + "y": 532.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 243, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M7" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0f81b7c00b5c6c03c7e52eecaa220736b1e6318c551fe80b31dadf686e14512a b/Gateways/FE/projects/.resources/0f81b7c00b5c6c03c7e52eecaa220736b1e6318c551fe80b31dadf686e14512a new file mode 100644 index 0000000..ae07622 Binary files /dev/null and b/Gateways/FE/projects/.resources/0f81b7c00b5c6c03c7e52eecaa220736b1e6318c551fe80b31dadf686e14512a differ diff --git a/Gateways/FE/projects/.resources/0f8a083655a191680333072e2c4854186fcbc0b864f5c79b631745fed2753ba2 b/Gateways/FE/projects/.resources/0f8a083655a191680333072e2c4854186fcbc0b864f5c79b631745fed2753ba2 new file mode 100644 index 0000000..d5f2556 --- /dev/null +++ b/Gateways/FE/projects/.resources/0f8a083655a191680333072e2c4854186fcbc0b864f5c79b631745fed2753ba2 @@ -0,0 +1,16 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--container)", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "outlineColor": "var(--border)", + "outlineStyle": "solid", + "outlineWidth": "1px", + "overflow": "visible" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/0fc6bf19f845b3b1ee9cbfebf17c9a69fcfda8b4c3ecca4a83def6c8a5650308 b/Gateways/FE/projects/.resources/0fc6bf19f845b3b1ee9cbfebf17c9a69fcfda8b4c3ecca4a83def6c8a5650308 new file mode 100644 index 0000000..6f075ca Binary files /dev/null and b/Gateways/FE/projects/.resources/0fc6bf19f845b3b1ee9cbfebf17c9a69fcfda8b4c3ecca4a83def6c8a5650308 differ diff --git a/Gateways/FE/projects/.resources/0fdf19874f289e4b23ce681d392cc677573bb35743dd775428f74a4d8e607703 b/Gateways/FE/projects/.resources/0fdf19874f289e4b23ce681d392cc677573bb35743dd775428f74a4d8e607703 new file mode 100644 index 0000000..965f64f Binary files /dev/null and b/Gateways/FE/projects/.resources/0fdf19874f289e4b23ce681d392cc677573bb35743dd775428f74a4d8e607703 differ diff --git a/Gateways/FE/projects/.resources/100c8b1d56b620b435160644b8da021f63951dc4a01f3ab56608b0e0816c76b0 b/Gateways/FE/projects/.resources/100c8b1d56b620b435160644b8da021f63951dc4a01f3ab56608b0e0816c76b0 new file mode 100644 index 0000000..5163296 Binary files /dev/null and b/Gateways/FE/projects/.resources/100c8b1d56b620b435160644b8da021f63951dc4a01f3ab56608b0e0816c76b0 differ diff --git a/Gateways/FE/projects/.resources/1016d9ad1e60e7363d76c227931ac0633512e63accc02b93dd22c59f1746de0b b/Gateways/FE/projects/.resources/1016d9ad1e60e7363d76c227931ac0633512e63accc02b93dd22c59f1746de0b new file mode 100644 index 0000000..6b9f701 --- /dev/null +++ b/Gateways/FE/projects/.resources/1016d9ad1e60e7363d76c227931ac0633512e63accc02b93dd22c59f1746de0b @@ -0,0 +1,266 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "", + "displaySelection": 0, + "format": "0.##0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 5" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1065d7f83eeff8826758b1080d97fbaeb9512f22559b9909f11251df2d8118c8 b/Gateways/FE/projects/.resources/1065d7f83eeff8826758b1080d97fbaeb9512f22559b9909f11251df2d8118c8 new file mode 100644 index 0000000..7bc40ac Binary files /dev/null and b/Gateways/FE/projects/.resources/1065d7f83eeff8826758b1080d97fbaeb9512f22559b9909f11251df2d8118c8 differ diff --git a/Gateways/FE/projects/.resources/107d95551b4bfc8eeda30527f039087b65330bf2f219db9f2a4b709a74d3e460 b/Gateways/FE/projects/.resources/107d95551b4bfc8eeda30527f039087b65330bf2f219db9f2a4b709a74d3e460 new file mode 100644 index 0000000..d78c127 --- /dev/null +++ b/Gateways/FE/projects/.resources/107d95551b4bfc8eeda30527f039087b65330bf2f219db9f2a4b709a74d3e460 @@ -0,0 +1,14 @@ +GWMap= {"172.17.19.32":"HMI1", + "172.17.19.33":"HMI1-Backup", + "172.17.19.41":"IO1", + "172.17.19.42":"IO2", + "172.17.19.43":"IO3", + "172.17.19.44":"IO4", + "172.17.19.45":"IO5", + "172.17.19.46":"IO6", + "172.17.19.49":"IO1-Backup", + } + +def getGatewayStatus(ipAddr): + result = system.net.httpGet("http://"+ipAddr + ":8088/main/system/gwinfo") + return {k: v for k, v in [item.split("=") for item in [pair for pair in result.split(";") if pair]]} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1087f85f6fc8e57d18a8ec0193a8ab59a249be4b0008731dae22d359e0a4990d b/Gateways/FE/projects/.resources/1087f85f6fc8e57d18a8ec0193a8ab59a249be4b0008731dae22d359e0a4990d new file mode 100644 index 0000000..3ad6e3e Binary files /dev/null and b/Gateways/FE/projects/.resources/1087f85f6fc8e57d18a8ec0193a8ab59a249be4b0008731dae22d359e0a4990d differ diff --git a/Gateways/FE/projects/.resources/10904bf1613a7fa7b586299924cbd7441e08add8ba30920e53ffced26736b95f b/Gateways/FE/projects/.resources/10904bf1613a7fa7b586299924cbd7441e08add8ba30920e53ffced26736b95f new file mode 100644 index 0000000..3436a7f --- /dev/null +++ b/Gateways/FE/projects/.resources/10904bf1613a7fa7b586299924cbd7441e08add8ba30920e53ffced26736b95f @@ -0,0 +1,2123 @@ +{ + "custom": { + "key": 1 + }, + "params": { + "OutputPower": {}, + "boxColor": "--olGray", + "genPower": 1, + "inputPower": 1, + "tagPath": "value" + }, + "propConfig": { + "custom.key": { + "binding": { + "config": { + "path": "/root/EmbeddedView_16.props.params.outputPower" + }, + "type": "property" + }, + "persistent": true + }, + "params.OutputPower": { + "paramDirection": "output", + "persistent": true + }, + "params.OutputPower._1": { + "binding": { + "config": { + "path": "/root/EmbeddedView_1.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._10": { + "binding": { + "config": { + "path": "/root/EmbeddedView_10.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._11": { + "binding": { + "config": { + "path": "/root/EmbeddedView_11.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._12": { + "binding": { + "config": { + "path": "/root/EmbeddedView_12.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._13": { + "binding": { + "config": { + "path": "/root/EmbeddedView_13.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._14": { + "binding": { + "config": { + "path": "/root/EmbeddedView_14.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._15": { + "binding": { + "config": { + "path": "/root/EmbeddedView_17.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._16": { + "binding": { + "config": { + "path": "/root/EmbeddedView_15.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._17": { + "binding": { + "config": { + "path": "/root/EmbeddedView_16.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._2": { + "binding": { + "config": { + "path": "/root/EmbeddedView_2.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._3": { + "binding": { + "config": { + "path": "/root/EmbeddedView_3.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._4": { + "binding": { + "config": { + "path": "/root/EmbeddedView_4.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._5": { + "binding": { + "config": { + "path": "/root/EmbeddedView_5.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._6": { + "binding": { + "config": { + "path": "/root/EmbeddedView_6.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._7": { + "binding": { + "config": { + "path": "/root/EmbeddedView_7.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._8": { + "binding": { + "config": { + "path": "/root/EmbeddedView_8.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._9": { + "binding": { + "config": { + "path": "/root/EmbeddedView_9.props.params.outputPower" + }, + "type": "property" + } + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.genPower": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 110, + "width": 1725 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "SWBD_FRAMe" + }, + "position": { + "height": 110, + "width": 1725 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[10].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[11].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[13].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[14].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[15].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[16].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[17].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[18].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[19].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[20].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[8].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[9].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{view.params.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[1].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{view.params.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[1].elements[3].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{view.params.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[3].fill": { + "binding": { + "config": { + "expression": "\u0027var(\u0027+{view.params.boxColor}+\u0027)\u0027" + }, + "type": "expr" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../SWBD_CB_B.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../SWBD_CB_B.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../SWBD_CB_B.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M120,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "id": "Bar", + "name": "Bar", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1248.75,42.375l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M120,45l1128.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M157.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB02", + "name": "CB02", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M247.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB03", + "name": "CB03", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M292.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB04", + "name": "CB04", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M427.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB05", + "name": "CB05", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M472.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB06", + "name": "CB06", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M517.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB07", + "name": "CB07", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M562.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB08", + "name": "CB08", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M607.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB09", + "name": "CB09", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M652.491,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB10", + "name": "CB10", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M837,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB19", + "name": "CB10", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "paint": "var(--olRed)", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M787.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB11", + "name": "CB11", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M877.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB12", + "name": "CB12", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M922.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB13", + "name": "CB13", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M967.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB14", + "name": "CB14", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1012.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB15", + "name": "CB15", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1057.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB16", + "name": "CB16", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1147.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB17", + "name": "CB17", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1237.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB18", + "name": "CB18", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "OutBus", + "name": "OutBus", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "--olGray" + }, + "height": 67.5, + "name": "rect", + "type": "rect", + "width": "1278.75", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l3.759,-0l-0,0.75l-3.009,-0l0,3.268l-0.75,-0Zm9.021,-4.018l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.526,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.264,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.262,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.523,-0l0,0.75l-7.516,-0l-0,-0.75l7.516,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.522,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.261,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.264,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.522,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.266,-0l-0,0.75l-2.257,-0l0,-0.75l2.257,-0Zm10.521,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.523,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.259,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.265,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.522,-0l0,0.75l-7.516,-0l-0,-0.75l7.516,-0Zm5.264,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.522,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.265,-0l-0,0.75l-2.257,-0l0,-0.75l2.257,-0Zm10.523,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.264,-0l-0,0.75l-2.257,-0l0,-0.75l2.257,-0Zm10.522,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.526,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.262,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.523,-0l-0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.262,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.259,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.521,-0l0,0.75l-7.516,-0l-0,-0.75l7.516,-0Zm5.266,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.521,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.265,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.523,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.526,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.259,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.52,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.266,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.525,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.522,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.26,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.26,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.526,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.523,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.261,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.523,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.261,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.523,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.522,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.26,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm6.766,4.018l-0.75,-0l0,-3.268l-3.009,-0l0,-0.75l3.759,-0l-0,4.018Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-3.759,7.232l0,-0.75l3.009,0l-0,-3.268l0.75,0l-0,4.018l-3.759,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.526,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.264,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.262,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.523,0l-0,-0.75l7.516,0l0,0.75l-7.516,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.522,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.261,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.264,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.522,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.266,0l0,-0.75l2.257,0l-0,0.75l-2.257,0Zm-10.521,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.523,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.259,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.265,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.522,0l-0,-0.75l7.516,0l0,0.75l-7.516,0Zm-5.264,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.522,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.265,0l0,-0.75l2.257,0l-0,0.75l-2.257,0Zm-10.523,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.264,0l0,-0.75l2.257,0l-0,0.75l-2.257,0Zm-10.522,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.526,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.262,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.523,0l0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.262,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.259,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.521,0l-0,-0.75l7.516,0l0,0.75l-7.516,0Zm-5.266,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.521,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.265,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.523,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.526,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.259,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.52,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.266,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.525,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.522,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.26,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.26,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.526,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.523,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.261,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.523,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.261,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.523,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.522,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.26,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-6.766,-4.018l0.75,0l-0,3.268l3.009,0l-0,0.75l-3.759,0l-0,-4.018Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "d": "M60.375,78.75l-0.75,0l0,-4.018l0.75,0l0,4.018Zm0,-7.232l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-4.018l0.75,0l0,4.018Z", + "name": "path", + "type": "path" + }, + { + "d": "M139.125,78.75l-0.75,0l-0,-4.018l0.75,0l-0,4.018Zm-0,-7.232l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-4.018l0.75,0l-0,4.018Z", + "name": "path", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#DC1212" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "visibility": "visible", + "width": "1286.25", + "x": "0", + "y": 7.5 + }, + { + "d": "M1286.25,7.5l0,75l-1286.25,-0l0,-75l1286.25,0Zm-0.75,0.75l-1284.75,0l-0,73.5l1284.75,-0l0,-73.5Z", + "fill": { + "paint": "#FF00EA" + }, + "name": "path", + "type": "path" + }, + { + "d": "M1286.61,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1285.91,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1285.61,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1285.88,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1291.06,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1285.88,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "1286.25", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1284.46,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1287.35,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,1278.28,3.03345)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "SWBD-HS1", + "type": "text", + "x": "1256.06px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,1277.77,6.78345)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "1243.04px 1244.19px ", + "y": "6.783px 6.783px " + }, + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "1261.79px 1262.95px ", + "y": "6.783px 6.783px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3000A, 480V3PH, 3W65kAIC", + "type": "text", + "x": "1219.32px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,1278.37,10.4948)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "UL891", + "type": "text", + "x": "1266.09px", + "y": "10.495px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + }, + { + "elements": [ + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "id": "Bar1", + "name": "Bar1", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l87.296,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,36.75l0,8.25", + "fill": { + "paint": "transparent" + }, + "id": "CB01", + "name": "CB01", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "InBus", + "name": "InBus", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1294 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 50, + "width": 65, + "x": 120, + "y": 40 + }, + "propConfig": { + "props.params.inputPower_E": { + "binding": { + "config": { + "path": "view.params.genPower" + }, + "type": "property" + } + }, + "props.params.inputPower_N": { + "binding": { + "config": { + "path": "../SWBD_CB_B.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "objectName": "ATS", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_ATS", + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_ATS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 43, + "x": 195, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_BKR1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "rotate": { + "anchor": "50% 25%" + }, + "width": 43, + "x": 315, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_UPS-HS1-1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 51, + "width": 43, + "x": 375, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_MZP", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 51, + "width": 43, + "x": 555, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PPHS1_1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 51, + "width": 43, + "x": 615, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PPHS1_2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 51, + "width": 43, + "x": 675, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PPHS1_3" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 51, + "width": 43, + "x": 735, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_8" + }, + "position": { + "height": 51, + "width": 43, + "x": 795, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_9" + }, + "position": { + "height": 51, + "width": 43, + "x": 855, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PE1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_10" + }, + "position": { + "height": 51, + "width": 43, + "x": 1035, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_TXLPHS1_1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_11" + }, + "position": { + "height": 51, + "width": 43, + "x": 1155, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_TXRPHS1_1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_12" + }, + "position": { + "height": 51, + "width": 43, + "x": 1215, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_HS1_2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_13" + }, + "position": { + "height": 51, + "width": 43, + "x": 1275, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_HS1_3" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_14" + }, + "position": { + "height": 51, + "width": 43, + "x": 1335, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_TXRPHS1_4" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_15" + }, + "position": { + "height": 51, + "width": 43, + "x": 1515, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_RTU01" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_16" + }, + "position": { + "height": 51, + "width": 43, + "x": 1635, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "objectName": "Breaker X", + "outputPower": 1, + "tagPath": "", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "Temp HS2" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A_NM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B" + }, + "position": { + "height": 51, + "width": 52, + "x": 15, + "y": 5 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_52U", + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true, + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_17" + }, + "position": { + "height": 51, + "width": 43, + "x": 1395, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_TXRPHS1R" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "objectName": "SWBDPQM", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PQM" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.custom.tagPath\n\tobjectName \u003d self.custom.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD PQM1" + }, + "position": { + "height": 18, + "rotate": { + "anchor": "25% 50%" + }, + "width": 62, + "x": 195, + "y": 22 + }, + "propConfig": { + "custom.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.PQMTotal" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#27669C", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "white", + "overflow": "visible" + }, + "text": "PQM", + "textStyle": { + "fontSize": 6, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView_18" + }, + "position": { + "height": 51, + "width": 43, + "x": 1101, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_DOAS2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/109bf831540ba875c407b114a8dd9b3e46f52a61feaba6b5dcf13355cd9b9179 b/Gateways/FE/projects/.resources/109bf831540ba875c407b114a8dd9b3e46f52a61feaba6b5dcf13355cd9b9179 new file mode 100644 index 0000000..3e973b8 --- /dev/null +++ b/Gateways/FE/projects/.resources/109bf831540ba875c407b114a8dd9b3e46f52a61feaba6b5dcf13355cd9b9179 @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/SEL-751 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/10a5ae1cb0841ad34f6106cb668d5967463ed079096f0f6353c305e8fab58aa8 b/Gateways/FE/projects/.resources/10a5ae1cb0841ad34f6106cb668d5967463ed079096f0f6353c305e8fab58aa8 new file mode 100644 index 0000000..75c1317 Binary files /dev/null and b/Gateways/FE/projects/.resources/10a5ae1cb0841ad34f6106cb668d5967463ed079096f0f6353c305e8fab58aa8 differ diff --git a/Gateways/FE/projects/.resources/10ff9522d3988d84cad094037643eca198321824f61bd34e184bc673235c7ad3 b/Gateways/FE/projects/.resources/10ff9522d3988d84cad094037643eca198321824f61bd34e184bc673235c7ad3 new file mode 100644 index 0000000..bf04acb Binary files /dev/null and b/Gateways/FE/projects/.resources/10ff9522d3988d84cad094037643eca198321824f61bd34e184bc673235c7ad3 differ diff --git a/Gateways/FE/projects/.resources/111cfa81f79457e665f1c8c0f0c398e02b88c026a653807f9c5a16a54359af7f b/Gateways/FE/projects/.resources/111cfa81f79457e665f1c8c0f0c398e02b88c026a653807f9c5a16a54359af7f new file mode 100644 index 0000000..9c6c59a Binary files /dev/null and b/Gateways/FE/projects/.resources/111cfa81f79457e665f1c8c0f0c398e02b88c026a653807f9c5a16a54359af7f differ diff --git a/Gateways/FE/projects/.resources/11272275d9c53dbd42792e42babfa68644f65692c919077c39482de8a77de2a9 b/Gateways/FE/projects/.resources/11272275d9c53dbd42792e42babfa68644f65692c919077c39482de8a77de2a9 new file mode 100644 index 0000000..a653b08 Binary files /dev/null and b/Gateways/FE/projects/.resources/11272275d9c53dbd42792e42babfa68644f65692c919077c39482de8a77de2a9 differ diff --git a/Gateways/FE/projects/.resources/11476099d1cdd4cc97e46dd7597cd679628264bba50b344446bd68cb968dba02 b/Gateways/FE/projects/.resources/11476099d1cdd4cc97e46dd7597cd679628264bba50b344446bd68cb968dba02 new file mode 100644 index 0000000..f9db101 --- /dev/null +++ b/Gateways/FE/projects/.resources/11476099d1cdd4cc97e46dd7597cd679628264bba50b344446bd68cb968dba02 @@ -0,0 +1,430 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t#histprov:MSSQL_Server:/drv:ignition-satb1-io6:default:/tag:yard/satb1_yard_ds-1b1/breaker open way 01\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1744233841621 + ], + "$ts": 1744271940000 + }, + "rangeSelectorPen": "histprov:MSSQL_Server:/drv:ignition-satb1-io6:default:/tag:yard/satb1_yard_ds-1b1/breaker open way 01", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1744233827719 + ], + "$ts": 1744039359000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + } + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947885209 + ], + "$ts": 1744271940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:MSSQL_Server:/drv:ignition-satb1-io6:default:/tag:yard/satb1_yard_ds-1b1/breaker open way 01", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947885209 + ], + "$ts": 1744039359000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/116d1d83b1b2ed5a3a937dc2c441b83ae8304d5b83c7129b4e59d5f5a80845cb b/Gateways/FE/projects/.resources/116d1d83b1b2ed5a3a937dc2c441b83ae8304d5b83c7129b4e59d5f5a80845cb new file mode 100644 index 0000000..9117328 --- /dev/null +++ b/Gateways/FE/projects/.resources/116d1d83b1b2ed5a3a937dc2c441b83ae8304d5b83c7129b4e59d5f5a80845cb @@ -0,0 +1,366 @@ +{ + "custom": {}, + "params": { + "Tag": "STU", + "faulted": 8, + "running": 3, + "standby": 25 + }, + "propConfig": { + "params.Tag": { + "paramDirection": "input", + "persistent": true + }, + "params.faulted": { + "paramDirection": "input", + "persistent": true + }, + "params.running": { + "paramDirection": "input", + "persistent": true + }, + "params.standby": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 119, + "width": 110 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Group" + }, + "propConfig": { + "position.height": { + "binding": { + "config": { + "path": "../PieChart.position.height" + }, + "type": "property" + } + }, + "position.width": { + "binding": { + "config": { + "path": "../PieChart.position.width" + }, + "type": "property" + } + }, + "position.x": { + "binding": { + "config": { + "path": "../PieChart.position.x" + }, + "type": "property" + } + }, + "position.y": { + "binding": { + "config": { + "path": "../PieChart.position.y" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.Tag" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "PieChart" + }, + "position": { + "height": 0.8908, + "width": 1 + }, + "propConfig": { + "props.data[0].count": { + "binding": { + "config": { + "path": "view.params.running" + }, + "type": "property" + } + }, + "props.data[1].count": { + "binding": { + "config": { + "path": "view.params.standby" + }, + "type": "property" + } + }, + "props.data[2].count": { + "binding": { + "config": { + "path": "view.params.faulted" + }, + "type": "property" + } + } + }, + "props": { + "colors": [ + "white", + "gray", + "red" + ], + "cutoutRadius": 50, + "data": [ + { + "category": "Running" + }, + { + "category": "Standby" + }, + { + "category": "Faulted" + } + ], + "labels": { + "showName": false, + "showValue": false, + "wrap": { + "maxWidth": 500 + } + }, + "legend": { + "fontSize": 12 + }, + "sectionOutline": { + "color": "#F00404" + }, + "showLabels": false, + "showLegend": false, + "style": { + "outlineColor": "#FF0012", + "outlineStyle": "none", + "outlineWidth": 2, + "overflow": "visible", + "paddingBottom": -5, + "paddingLeft": -5, + "paddingRight": -5, + "paddingTop": -5 + }, + "tooltipFormat": "{category} : {value.formatNumber(\u0027#\u0027)}", + "valueFormat": { + "showValueAsPercent": false + } + }, + "type": "ia.chart.pie" + }, + { + "children": [ + { + "meta": { + "name": "Fault_lbl", + "tooltip": { + "enabled": true, + "text": "Faulted" + } + }, + "position": { + "basis": "15px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "code": "\tresponse \u003d False\n\tif(value\u003e0):\n\t\tresponse\u003dTrue\n\treturn response", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.faulted" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "fontSize": 12 + }, + "textStyle": { + "backgroundColor": "var(--state-faulted)", + "borderBottomLeftRadius": "3px", + "borderBottomRightRadius": "3px", + "borderTopLeftRadius": "3px", + "borderTopRightRadius": "3px", + "color": "White", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Standby_lbl", + "tooltip": { + "enabled": true, + "text": "Standby" + } + }, + "position": { + "basis": "15px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "code": "\tresponse \u003d False\n\tif(value\u003e0):\n\t\tresponse\u003dTrue\n\treturn response", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.standby" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "fontSize": 12 + }, + "textStyle": { + "backgroundColor": "var(--state-standby)", + "borderBottomLeftRadius": "3px", + "borderBottomRightRadius": "3px", + "borderTopLeftRadius": "3px", + "borderTopRightRadius": "3px", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Running_lbl", + "tooltip": { + "enabled": true, + "text": "Running" + } + }, + "position": { + "basis": "15px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "code": "\tresponse \u003d False\n\tif(value\u003e0):\n\t\tresponse\u003dTrue\n\treturn response", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.running" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--state-running)", + "borderBottomLeftRadius": 3, + "borderBottomRightRadius": 3, + "borderTopLeftRadius": 3, + "borderTopRightRadius": 3, + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "values": { + "running": 18 + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "height": 0.2, + "width": 1, + "x": 0.0091, + "y": 0.8039 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": 5, + "paddingLeft": 15, + "paddingRight": 15 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/11cb3cf9f3eec935c7be913f20a8127fa7909f91a1b6d5f214af29c419437cd6 b/Gateways/FE/projects/.resources/11cb3cf9f3eec935c7be913f20a8127fa7909f91a1b6d5f214af29c419437cd6 new file mode 100644 index 0000000..0ad086c Binary files /dev/null and b/Gateways/FE/projects/.resources/11cb3cf9f3eec935c7be913f20a8127fa7909f91a1b6d5f214af29c419437cd6 differ diff --git a/Gateways/FE/projects/.resources/11d1db471433e70eec2e3f836cba3ba592e12709a55aadc5b06b6d98ed325003 b/Gateways/FE/projects/.resources/11d1db471433e70eec2e3f836cba3ba592e12709a55aadc5b06b6d98ed325003 new file mode 100644 index 0000000..0f1d2fb Binary files /dev/null and b/Gateways/FE/projects/.resources/11d1db471433e70eec2e3f836cba3ba592e12709a55aadc5b06b6d98ed325003 differ diff --git a/Gateways/FE/projects/.resources/12298482a56acabbb02a71d3421f62c1db79388cf2e059e5481adca358085951 b/Gateways/FE/projects/.resources/12298482a56acabbb02a71d3421f62c1db79388cf2e059e5481adca358085951 new file mode 100644 index 0000000..672351d Binary files /dev/null and b/Gateways/FE/projects/.resources/12298482a56acabbb02a71d3421f62c1db79388cf2e059e5481adca358085951 differ diff --git a/Gateways/FE/projects/.resources/128b371fd6662a006e7de5de2f262bf2354f803a5cdff41152d39223304c16b2 b/Gateways/FE/projects/.resources/128b371fd6662a006e7de5de2f262bf2354f803a5cdff41152d39223304c16b2 new file mode 100644 index 0000000..29cf23c --- /dev/null +++ b/Gateways/FE/projects/.resources/128b371fd6662a006e7de5de2f262bf2354f803a5cdff41152d39223304c16b2 @@ -0,0 +1,597 @@ +{ + "custom": {}, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\u0027Way \u0027+{parent.custom.wayNumber}+\u0027 Status:\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "Status": {} + }, + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.Status.Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Closed Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Grounded": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Grounded Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Open Way {wayNumber}" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "struct": { + "Closed": "{this.custom.Status.Closed}", + "Grounded": "{this.custom.Status.Grounded}", + "Open": "{this.custom.Status.Open}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "if({value}[\u0027Closed\u0027],1,\r\nif({value}[\u0027Open\u0027],2,\r\nif({value}[\u0027Grounded\u0027],3,0\r\n)))", + "type": "expression" + }, + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Closed" + }, + { + "input": 2, + "output": "Open" + }, + { + "input": 3, + "output": "Grounded" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "gap": "5px" + }, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "wayNumber": "01" + }, + "meta": { + "name": "Way 1" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\u0027Way \u0027+{parent.custom.wayNumber}+\u0027 Status:\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "Status": {} + }, + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.Status.Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Closed Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Grounded": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Grounded Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Open Way {wayNumber}" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "struct": { + "Closed": "{this.custom.Status.Closed}", + "Grounded": "{this.custom.Status.Grounded}", + "Open": "{this.custom.Status.Open}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "if({value}[\u0027Closed\u0027],1,\r\nif({value}[\u0027Open\u0027],2,\r\nif({value}[\u0027Grounded\u0027],3,0\r\n)))", + "type": "expression" + }, + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Closed" + }, + { + "input": 2, + "output": "Open" + }, + { + "input": 3, + "output": "Grounded" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "gap": "10px 0" + }, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "wayNumber": "02" + }, + "meta": { + "name": "Way 2" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\u0027Way \u0027+{parent.custom.wayNumber}+\u0027 Status:\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "Status": {} + }, + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.Status.Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Closed Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Grounded": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Grounded Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Open Way {wayNumber}" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "struct": { + "Closed": "{this.custom.Status.Closed}", + "Grounded": "{this.custom.Status.Grounded}", + "Open": "{this.custom.Status.Open}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "if({value}[\u0027Closed\u0027],1,\r\nif({value}[\u0027Open\u0027],2,\r\nif({value}[\u0027Grounded\u0027],3,0\r\n)))", + "type": "expression" + }, + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Closed" + }, + { + "input": 2, + "output": "Open" + }, + { + "input": 3, + "output": "Grounded" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "gap": "5px" + }, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "wayNumber": "03" + }, + "meta": { + "name": "Way 3" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\u0027Way \u0027+{parent.custom.wayNumber}+\u0027 Status:\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "Status": {} + }, + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.Status.Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Closed Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Grounded": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Grounded Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Open Way {wayNumber}" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "struct": { + "Closed": "{this.custom.Status.Closed}", + "Grounded": "{this.custom.Status.Grounded}", + "Open": "{this.custom.Status.Open}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "if({value}[\u0027Closed\u0027],1,\r\nif({value}[\u0027Open\u0027],2,\r\nif({value}[\u0027Grounded\u0027],3,0\r\n)))", + "type": "expression" + }, + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Closed" + }, + { + "input": 2, + "output": "Open" + }, + { + "input": 3, + "output": "Grounded" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "gap": "5px" + }, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "wayNumber": "04" + }, + "meta": { + "name": "Way 4" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/129f184ebc11c2fd11b8065490b457b997a0dc4a52feb5f5154c6057f43ebcb0 b/Gateways/FE/projects/.resources/129f184ebc11c2fd11b8065490b457b997a0dc4a52feb5f5154c6057f43ebcb0 new file mode 100644 index 0000000..d69d2d4 Binary files /dev/null and b/Gateways/FE/projects/.resources/129f184ebc11c2fd11b8065490b457b997a0dc4a52feb5f5154c6057f43ebcb0 differ diff --git a/Gateways/FE/projects/.resources/12d752911869c22902121ec4263736a4e459ac2d696b11a5bd2580c8d30e31f2 b/Gateways/FE/projects/.resources/12d752911869c22902121ec4263736a4e459ac2d696b11a5bd2580c8d30e31f2 new file mode 100644 index 0000000..bdbd413 --- /dev/null +++ b/Gateways/FE/projects/.resources/12d752911869c22902121ec4263736a4e459ac2d696b11a5bd2580c8d30e31f2 @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/12ead34366ee54eb25e296b6f278975b33f8f4c83c60dee4d8d922cc79604d17 b/Gateways/FE/projects/.resources/12ead34366ee54eb25e296b6f278975b33f8f4c83c60dee4d8d922cc79604d17 new file mode 100644 index 0000000..18992b9 --- /dev/null +++ b/Gateways/FE/projects/.resources/12ead34366ee54eb25e296b6f278975b33f8f4c83c60dee4d8d922cc79604d17 @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderTopColor": "var(--info)", + "borderTopStyle": "solid", + "borderTopWidth": "4px", + "boxShadow": "0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22)" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/12f3c374cf967b39ea11e3397ef6f274281f7fecab27abf10aafa111e4d96d7a b/Gateways/FE/projects/.resources/12f3c374cf967b39ea11e3397ef6f274281f7fecab27abf10aafa111e4d96d7a new file mode 100644 index 0000000..e5f7623 --- /dev/null +++ b/Gateways/FE/projects/.resources/12f3c374cf967b39ea11e3397ef6f274281f7fecab27abf10aafa111e4d96d7a @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "fontSize": "16px", + "fontWeight": "bold", + "lineHeight": "19px", + "marginLeft": "6px", + "fill": "#FAFAFB" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1321243b73c3327a0dc8b0f20345444f7222a32c900f0060ba5349a77dad0a68 b/Gateways/FE/projects/.resources/1321243b73c3327a0dc8b0f20345444f7222a32c900f0060ba5349a77dad0a68 new file mode 100644 index 0000000..88e9617 --- /dev/null +++ b/Gateways/FE/projects/.resources/1321243b73c3327a0dc8b0f20345444f7222a32c900f0060ba5349a77dad0a68 @@ -0,0 +1,426 @@ +{ + "custom": { + "paths": { + "MMR1": { + "DIS_SP": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_MMR1_DHUM_Disable_SP", + "EN": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_MMR1_DHUM_Enable", + "EN_SP": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_MMR1_DHUM_Enable_SP" + }, + "MMR2": { + "DIS_SP": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_MMR2_DHUM_Disable_SP", + "EN": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_MMR2_DHUM_Enable", + "EN_SP": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_MMR2_DHUM_Enable_SP" + }, + "TL200": { + "DIS_SP": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHUM_Disable_SP", + "EN": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHUM_Enable", + "EN_SP": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHUM_Enable_SP" + } + }, + "selected": { + "DIS_SP": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHUM_Disable_SP", + "EN": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHUM_Enable", + "EN_SP": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHUM_Enable_SP" + } + }, + "params": { + "room": "TL200" + }, + "propConfig": { + "custom.paths": { + "persistent": true + }, + "custom.selected": { + "binding": { + "config": { + "struct": { + "lib": "{view.custom.paths}", + "room": "{view.params.room}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tlibrary \u003d value[\u0027lib\u0027]\n\treturn library[value[\u0027room\u0027]]", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.room": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 250, + "width": 350 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "propConfig": { + "props.params.room": { + "binding": { + "config": { + "path": "view.params.room" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/C_AirSystem/Widgets/TapeLibraryAvg", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "propConfig": { + "props.params.room": { + "binding": { + "config": { + "path": "view.params.room" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "DH": "DH1" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/TapeLibraryAvgHum", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "gap": "15px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView", + "tooltip": { + "enabled": true, + "text": "Recommended 41-44" + } + }, + "position": { + "basis": "60px" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.selected.EN_SP" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "dataType": "Int8", + "enabled": true, + "format": "##.##", + "isArray": false, + "max": 100, + "min": 0, + "name": "Enable SP", + "options": [], + "substitute": null + }, + "path": "Library/Framework/Tag ConfigShort" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0", + "tooltip": { + "enabled": true, + "text": "Recommended 34-39" + } + }, + "position": { + "basis": "60px" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.selected.DIS_SP" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "dataType": "Int8", + "enabled": true, + "format": "##.##", + "isArray": false, + "max": 100, + "min": 0, + "name": "Disable SP", + "options": [], + "substitute": null + }, + "path": "Library/Framework/Tag ConfigShort" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "props": { + "text": "Demand:", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.selected.EN}" + }, + "transforms": [ + { + "fallback": "Unknown", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Disabled" + }, + { + "input": true, + "output": "Enabled" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontWeight": "bolder" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "32px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "props": { + "text": "Redundancy:", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/DHUM_Redundancy" + }, + "transforms": [ + { + "fallback": "Unknown", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Normal" + }, + { + "input": true, + "output": "Faulted" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/DHUM_Redundancy" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--tagvalue-color)" + }, + { + "input": true, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontWeight": "bolder" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.room" + }, + "transforms": [ + { + "expression": "if({value} \u003d\"TL200\", true, false)", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50%", + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/13a2b61a83a5d62000a706c7a8b247bf3232aa0a3af8ce8ec5516617ce5a2bce b/Gateways/FE/projects/.resources/13a2b61a83a5d62000a706c7a8b247bf3232aa0a3af8ce8ec5516617ce5a2bce new file mode 100644 index 0000000..d904f99 Binary files /dev/null and b/Gateways/FE/projects/.resources/13a2b61a83a5d62000a706c7a8b247bf3232aa0a3af8ce8ec5516617ce5a2bce differ diff --git a/Gateways/FE/projects/.resources/13a631b7aad12e5b7806c9ef3f4db21afb7c00ffa0346556c05f66c4b32b5be6 b/Gateways/FE/projects/.resources/13a631b7aad12e5b7806c9ef3f4db21afb7c00ffa0346556c05f66c4b32b5be6 new file mode 100644 index 0000000..8c3ad1c Binary files /dev/null and b/Gateways/FE/projects/.resources/13a631b7aad12e5b7806c9ef3f4db21afb7c00ffa0346556c05f66c4b32b5be6 differ diff --git a/Gateways/FE/projects/.resources/13b915102be7706d174da94313469af1d7e10e5a1f039c933e420426320b5b57 b/Gateways/FE/projects/.resources/13b915102be7706d174da94313469af1d7e10e5a1f039c933e420426320b5b57 new file mode 100644 index 0000000..4c4d7e1 --- /dev/null +++ b/Gateways/FE/projects/.resources/13b915102be7706d174da94313469af1d7e10e5a1f039c933e420426320b5b57 @@ -0,0 +1,85 @@ +{ + "custom": {}, + "params": { + "label": "", + "showArrow": true + }, + "propConfig": { + "params.label": { + "paramDirection": "input", + "persistent": true + }, + "params.showArrow": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 270 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.label" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "currentcolor" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Arrow" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.params.showArrow}" + }, + "type": "expr" + } + } + }, + "props": { + "color": "currentcolor", + "path": "material/arrow_right", + "style": { + "height": "20px", + "width": "20px" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignItems": "center", + "style": { + "cursor": "default" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1405244905676df46e16f0973c5081218e9942e08fcab0a825eff08841ed8fa4 b/Gateways/FE/projects/.resources/1405244905676df46e16f0973c5081218e9942e08fcab0a825eff08841ed8fa4 new file mode 100644 index 0000000..5a8f276 Binary files /dev/null and b/Gateways/FE/projects/.resources/1405244905676df46e16f0973c5081218e9942e08fcab0a825eff08841ed8fa4 differ diff --git a/Gateways/FE/projects/.resources/140b2709c368f541583bcee5fef913d72221a748ed7ab4aa8cfc24ce81f6c7da b/Gateways/FE/projects/.resources/140b2709c368f541583bcee5fef913d72221a748ed7ab4aa8cfc24ce81f6c7da new file mode 100644 index 0000000..30f3cf8 Binary files /dev/null and b/Gateways/FE/projects/.resources/140b2709c368f541583bcee5fef913d72221a748ed7ab4aa8cfc24ce81f6c7da differ diff --git a/Gateways/FE/projects/.resources/1477371f9c2923b5f00e84f12c846739c0720c59b645a510b12f74c8ca87b5e7 b/Gateways/FE/projects/.resources/1477371f9c2923b5f00e84f12c846739c0720c59b645a510b12f74c8ca87b5e7 new file mode 100644 index 0000000..ca8b46b Binary files /dev/null and b/Gateways/FE/projects/.resources/1477371f9c2923b5f00e84f12c846739c0720c59b645a510b12f74c8ca87b5e7 differ diff --git a/Gateways/FE/projects/.resources/149fee3bb53c2fcf5a594a7b9e4a4b065fcfcd066013da19aeaadeeeacb5313b b/Gateways/FE/projects/.resources/149fee3bb53c2fcf5a594a7b9e4a4b065fcfcd066013da19aeaadeeeacb5313b new file mode 100644 index 0000000..ee4371b --- /dev/null +++ b/Gateways/FE/projects/.resources/149fee3bb53c2fcf5a594a7b9e4a4b065fcfcd066013da19aeaadeeeacb5313b @@ -0,0 +1,2758 @@ +{ + "custom": { + "DH": 5, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 4, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P5.4", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-4/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 1, + "breaker14": 1, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P5.4", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P5.4", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1164/SATB1_ER1164_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/14bd8a6e1742cf66cf42e9f80c293fa8a9388e0046ffd28edffbe201e558f0a3 b/Gateways/FE/projects/.resources/14bd8a6e1742cf66cf42e9f80c293fa8a9388e0046ffd28edffbe201e558f0a3 new file mode 100644 index 0000000..d2411ff Binary files /dev/null and b/Gateways/FE/projects/.resources/14bd8a6e1742cf66cf42e9f80c293fa8a9388e0046ffd28edffbe201e558f0a3 differ diff --git a/Gateways/FE/projects/.resources/14d10b3a6f685b2dcbea50ec07e2f9c643aa976f6fe44dac4ca846587662087c b/Gateways/FE/projects/.resources/14d10b3a6f685b2dcbea50ec07e2f9c643aa976f6fe44dac4ca846587662087c new file mode 100644 index 0000000..9563fa3 --- /dev/null +++ b/Gateways/FE/projects/.resources/14d10b3a6f685b2dcbea50ec07e2f9c643aa976f6fe44dac4ca846587662087c @@ -0,0 +1,429 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Info", + "Control", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "VAVMaster", + "tagPath": "[Ignition_Common_IO_Gtwy]VAV/SATB1_VAV_Master" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info" + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]VAV/SATB1_VAV_Master" + }, + "path": "Library/Templates/VAVMaster/Info" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/14fbeac2d9a18d9a13b94593e38c3c38272f246361ba07f531fa116d85036817 b/Gateways/FE/projects/.resources/14fbeac2d9a18d9a13b94593e38c3c38272f246361ba07f531fa116d85036817 new file mode 100644 index 0000000..d599d37 Binary files /dev/null and b/Gateways/FE/projects/.resources/14fbeac2d9a18d9a13b94593e38c3c38272f246361ba07f531fa116d85036817 differ diff --git a/Gateways/FE/projects/.resources/151c74bd0ab7ca85dea1094b21bc532feb934e80c1b641d8cc3c5174a4216f27 b/Gateways/FE/projects/.resources/151c74bd0ab7ca85dea1094b21bc532feb934e80c1b641d8cc3c5174a4216f27 new file mode 100644 index 0000000..1e4ca6f --- /dev/null +++ b/Gateways/FE/projects/.resources/151c74bd0ab7ca85dea1094b21bc532feb934e80c1b641d8cc3c5174a4216f27 @@ -0,0 +1,1028 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": false + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 107, + "width": 75 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "RP" + }, + "position": { + "height": 107, + "width": 75 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M9.163,57.536c1.444,1.238 2.153,2.785 2.113,4.761c0.038,1.872 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M11.909,57.536c1.444,1.238 2.153,2.785 2.113,4.761c0.038,1.872 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.88,67.763l0,12.501", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "7.88", + "cy": "57.536", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M7.88,56.411c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "7.88", + "cy": "67.13", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M7.88,66.005c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M20.071,57.536c1.444,1.238 2.153,2.785 2.113,4.761c0.038,1.872 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.817,57.536c1.443,1.238 2.153,2.785 2.113,4.761c0.038,1.872 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.786,67.763l0,12.501", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "57.536", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,56.411c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "18.75", + "cy": "67.13", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,66.005c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M20.071,25.026c1.444,1.238 2.153,2.785 2.113,4.761c0.038,1.871 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.817,25.026c1.443,1.238 2.153,2.785 2.113,4.761c0.038,1.871 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.748", + "cy": "25.116", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.748,23.991c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "18.748", + "cy": "34.439", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.748,33.314c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,33.7018,23.3779)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "400AT", + "type": "text", + "x": "21.735px", + "y": "23.378px" + } + ], + "id": "Main-CB", + "name": "Main-CB", + "type": "group" + }, + { + "elements": [ + { + "d": "M30.875,57.536c1.444,1.238 2.153,2.785 2.113,4.761c0.038,1.872 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M33.621,57.536c1.443,1.238 2.153,2.785 2.113,4.761c0.038,1.872 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M29.692,67.763l0,12.501", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "29.692", + "cy": "57.536", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M29.692,56.411c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "29.692", + "cy": "67.13", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M29.692,66.005c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "37.5", + "x": "0", + "y": "12.764" + }, + { + "d": "M0,16.782l0,-4.018l4.464,-0l0,0.75l-3.714,-0l-0,3.268l-0.75,-0Zm10.714,-4.018l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm12.5,-0l0,0.75l-8.928,-0l-0,-0.75l8.928,-0Zm6.25,-0l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm8.036,4.018l-0.75,-0l0,-3.268l-3.714,-0l-0,-0.75l4.464,-0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,-0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,-0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,-0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,-0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,-0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,-0l0,2.411Zm-4.464,7.232l-0,-0.75l3.714,-0l0,-3.268l0.75,-0l0,4.018l-4.464,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-12.5,-0l-0,-0.75l8.928,-0l0,0.75l-8.928,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-8.036,-4.018l0.75,-0l-0,3.268l3.714,-0l0,0.75l-4.464,-0l-0,-4.018Zm-0,-5.625l0.75,-0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,-0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,-0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,-0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,-0l-0,2.411l-0.75,-0l-0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M18.75,35.001l0,11.513", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M29.692,56.527l0,-10.013", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,56.527l-0,-10.013", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M2.301,43.514l-0,6", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M35.272,43.514l-0,6", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M2.301,46.514l32.971,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.88,56.527l0,-10.013", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,43.1394,6.74479)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "400A,480V", + "type": "text", + "x": "22.52px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,37.3207,3.03345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "PP-HS1", + "type": "text", + "x": "22.269px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,54.8175,10.5334)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3PH, 3W65kAIC", + "type": "text", + "x": "22.398px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 57 81" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1551514114e34ee3ab18dc9604b50ecd03b0fc6533ed1308716082bac14016b9 b/Gateways/FE/projects/.resources/1551514114e34ee3ab18dc9604b50ecd03b0fc6533ed1308716082bac14016b9 new file mode 100644 index 0000000..c882d93 Binary files /dev/null and b/Gateways/FE/projects/.resources/1551514114e34ee3ab18dc9604b50ecd03b0fc6533ed1308716082bac14016b9 differ diff --git a/Gateways/FE/projects/.resources/157080b9c30d6f3f8e5a27e9869afb5483c32765e19aacd1c39ec8befe787a93 b/Gateways/FE/projects/.resources/157080b9c30d6f3f8e5a27e9869afb5483c32765e19aacd1c39ec8befe787a93 new file mode 100644 index 0000000..600df90 --- /dev/null +++ b/Gateways/FE/projects/.resources/157080b9c30d6f3f8e5a27e9869afb5483c32765e19aacd1c39ec8befe787a93 @@ -0,0 +1,205 @@ +{ + "custom": {}, + "params": { + "dataType": "Int4", + "enabled": true, + "max": 9999, + "min": -9999, + "name": "Int", + "options": [], + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-4/Vacuum Fault Interrupter2 Tripped/Config/Target", + "visible": true + }, + "propConfig": { + "params.dataType": { + "paramDirection": "input", + "persistent": true + }, + "params.enabled": { + "paramDirection": "input", + "persistent": true + }, + "params.max": { + "paramDirection": "input", + "persistent": true + }, + "params.min": { + "paramDirection": "input", + "persistent": true + }, + "params.name": { + "paramDirection": "input", + "persistent": true + }, + "params.options": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.visible": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Name", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "220px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.OpcItemPath" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.name" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Input" + }, + "position": { + "basis": "170px" + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "type": "property" + } + }, + "props.params.max": { + "binding": { + "config": { + "path": "view.params.max" + }, + "type": "property" + } + }, + "props.params.min": { + "binding": { + "config": { + "path": "view.params.min" + }, + "type": "property" + } + }, + "props.params.options": { + "binding": { + "config": { + "path": "view.params.options" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "case({view.params.dataType},\r\n\u0027Boolean\u0027, \u0027Library/Framework/Input/Boolean\u0027,\r\n\u0027Int4\u0027, \u0027Library/Framework/Input/Int\u0027,\r\n\u0027Int8\u0027, \u0027Library/Framework/Input/Int\u0027,\r\n\u0027Float4\u0027, \u0027Library/Framework/Input/Int\u0027,\r\n\u0027Float8\u0027, \u0027Library/Framework/Input/Int\u0027,\r\n\u0027String\u0027, \u0027Library/Framework/Input/String\u0027,\r\n\u0027\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "minWidth": "10px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.visible" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible", + "padding": "0 10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/15c81052cd9d4d919776b4aed4bca1e24eb8e1ef773489cccdfaeb7c4a2b69d9 b/Gateways/FE/projects/.resources/15c81052cd9d4d919776b4aed4bca1e24eb8e1ef773489cccdfaeb7c4a2b69d9 new file mode 100644 index 0000000..9539a1b Binary files /dev/null and b/Gateways/FE/projects/.resources/15c81052cd9d4d919776b4aed4bca1e24eb8e1ef773489cccdfaeb7c4a2b69d9 differ diff --git a/Gateways/FE/projects/.resources/1623e90be0dd5d5ae328ebd73a0fcdfc0134ed4818433cdba730f60cb81e2dad b/Gateways/FE/projects/.resources/1623e90be0dd5d5ae328ebd73a0fcdfc0134ed4818433cdba730f60cb81e2dad new file mode 100644 index 0000000..033769a --- /dev/null +++ b/Gateways/FE/projects/.resources/1623e90be0dd5d5ae328ebd73a0fcdfc0134ed4818433cdba730f60cb81e2dad @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Chiller", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/165557b1f02e437504b9b80895a29d7d017d512ff91921e48b3208b31cfebe69 b/Gateways/FE/projects/.resources/165557b1f02e437504b9b80895a29d7d017d512ff91921e48b3208b31cfebe69 new file mode 100644 index 0000000..bded29c --- /dev/null +++ b/Gateways/FE/projects/.resources/165557b1f02e437504b9b80895a29d7d017d512ff91921e48b3208b31cfebe69 @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "paddingBottom": "6px", + "paddingLeft": "12px", + "paddingRight": "12px", + "paddingTop": "8px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/16762f2b45945e697eb61c57499e49ec42b2f73bcdce84a800427f6760906520 b/Gateways/FE/projects/.resources/16762f2b45945e697eb61c57499e49ec42b2f73bcdce84a800427f6760906520 new file mode 100644 index 0000000..4a0ff91 --- /dev/null +++ b/Gateways/FE/projects/.resources/16762f2b45945e697eb61c57499e49ec42b2f73bcdce84a800427f6760906520 @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "marginRight": "8px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/16a1b0c45948a463cae7e45262a4310d85101af1e7f5fbcb98c472d72ffdcbf1 b/Gateways/FE/projects/.resources/16a1b0c45948a463cae7e45262a4310d85101af1e7f5fbcb98c472d72ffdcbf1 new file mode 100644 index 0000000..bd36590 Binary files /dev/null and b/Gateways/FE/projects/.resources/16a1b0c45948a463cae7e45262a4310d85101af1e7f5fbcb98c472d72ffdcbf1 differ diff --git a/Gateways/FE/projects/.resources/16b8aa7c24a18ea42c3843fb1d30115b31b18c107598acf647673db0fa03bcc3 b/Gateways/FE/projects/.resources/16b8aa7c24a18ea42c3843fb1d30115b31b18c107598acf647673db0fa03bcc3 new file mode 100644 index 0000000..c5f2965 Binary files /dev/null and b/Gateways/FE/projects/.resources/16b8aa7c24a18ea42c3843fb1d30115b31b18c107598acf647673db0fa03bcc3 differ diff --git a/Gateways/FE/projects/.resources/16e424d726f6c4dc195a5c62eebe90756714410c640cc4410b0ec1de050b46ab b/Gateways/FE/projects/.resources/16e424d726f6c4dc195a5c62eebe90756714410c640cc4410b0ec1de050b46ab new file mode 100644 index 0000000..b568796 --- /dev/null +++ b/Gateways/FE/projects/.resources/16e424d726f6c4dc195a5c62eebe90756714410c640cc4410b0ec1de050b46ab @@ -0,0 +1,1029 @@ +{ + "custom": { + "data": [ + 27, + 22, + 26, + 14, + 25, + 24, + 16, + 17, + 18, + 19, + 20, + 21, + 11, + 10, + 9, + 8, + 0, + 7, + 6, + 5, + 23, + 4, + 13, + 12, + 0, + 0, + 37, + 38, + 39, + 34, + 0, + 0, + 0, + 1, + 2, + 3, + 28, + 29, + 30, + 31, + 32, + 33, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "key": 48, + "order": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "temp": [ + 27, + 22, + 26, + 14, + 25, + 24, + 16, + 17, + 18, + 19, + 20, + 21, + 11, + 10, + 9, + 8, + 0, + 7, + 6, + 5, + 23, + 4, + 13, + 12, + 35, + 36, + 37, + 38, + 39, + 34, + 0, + 0, + 0, + 1, + 2, + 3, + 28, + 29, + 30, + 31, + 32, + 33, + 15, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "params": {}, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Control/ORef_Devices" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.key": { + "binding": { + "config": { + "struct": { + "hb": "now(3000)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\titem \u003d 0\n\ti \u003d 1\n\tfor i in range(1,9):\n\t\tj \u003d 0\n\t\tfor j in range(0,6):\n\t\t\tflex \u003d \"l{:1d}\".format(i)\n\t\t\tself.getChild(\"root\").getChild(\"LLS\").getChild(flex).props.instances[j].ch \u003d self.view.custom.order[item]\n\t\t\tself.getChild(\"root\").getChild(\"LLS\").getChild(flex).props.instances[j].current_op \u003d self.view.custom.data[item]\n\n\t\t\titem +\u003d 1\n\treturn item", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.order": { + "persistent": true + }, + "custom.temp": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 656, + "width": 892 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "516px" + }, + "props": { + "text": "l8" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "5%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "l1" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 1, + "current_op": 27, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 27 + }, + { + "ch": 2, + "current_op": 22, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 22 + }, + { + "ch": 3, + "current_op": 26, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 26 + }, + { + "ch": 4, + "current_op": 14, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 14 + }, + { + "ch": 5, + "current_op": 25, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 25 + }, + { + "ch": 6, + "current_op": 24, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 24 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l2" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 7, + "current_op": 16, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 16 + }, + { + "ch": 8, + "current_op": 17, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 17 + }, + { + "ch": 9, + "current_op": 18, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 18 + }, + { + "ch": 10, + "current_op": 19, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 19 + }, + { + "ch": 11, + "current_op": 20, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 20 + }, + { + "ch": 12, + "current_op": 21, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 21 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l3" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 13, + "current_op": 11, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 11 + }, + { + "ch": 14, + "current_op": 10, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 10 + }, + { + "ch": 15, + "current_op": 9, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 9 + }, + { + "ch": 16, + "current_op": 8, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 8 + }, + { + "ch": 17, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 18, + "current_op": 7, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 7 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l4" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 19, + "current_op": 6, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 6 + }, + { + "ch": 20, + "current_op": 5, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 5 + }, + { + "ch": 21, + "current_op": 23, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 23 + }, + { + "ch": 22, + "current_op": 4, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 4 + }, + { + "ch": 23, + "current_op": 13, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 13 + }, + { + "ch": 24, + "current_op": 12, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 12 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l5" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 25, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 35 + }, + { + "ch": 26, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 36 + }, + { + "ch": 27, + "current_op": 37, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 37 + }, + { + "ch": 28, + "current_op": 38, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 38 + }, + { + "ch": 29, + "current_op": 39, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 39 + }, + { + "ch": 30, + "current_op": 34, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 34 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l6" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 31, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 32, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 33, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 34, + "current_op": 1, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 1 + }, + { + "ch": 35, + "current_op": 2, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 2 + }, + { + "ch": 36, + "current_op": 3, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 3 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l7" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 37, + "current_op": 28, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 28 + }, + { + "ch": 38, + "current_op": 29, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 29 + }, + { + "ch": 39, + "current_op": 30, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 30 + }, + { + "ch": 40, + "current_op": 31, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 31 + }, + { + "ch": 41, + "current_op": 32, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 32 + }, + { + "ch": 42, + "current_op": 33, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 33 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l8" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 43, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 15 + }, + { + "ch": 44, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 45, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 46, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 47, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 48, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "LLS" + }, + "position": { + "basis": "89.6%" + }, + "props": { + "style": { + "gap": "10px", + "key": "value" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\titem \u003d 0\n\tlogger \u003d system.util.getLogger(\"LLSOperatorPriority\")\n\ti \u003d 0\n\tfor i in range(1,9):\n\t\tj \u003d 0\n\t\tfor j in range(0,6):\n\t\t\tflex \u003d \"l{:1d}\".format(i)\n\t\t\titem \u003d self.parent.getChild(\"LLS\").getChild(flex).props.instances[j].ch -1\n\t\t\tself.view.custom.temp[item] \u003d self.parent.getChild(\"LLS\").getChild(flex).props.instances[j].new_op\n\t\t\t\n\tself.view.custom.data \u003d self.view.custom.temp\n \n\titem \u003d 0\n\ti \u003d 1\n\tfor i in range(1,9):\n\t\tj \u003d 0\n\t\tfor j in range(0,6):\n\t\t\tflex \u003d \"l{:1d}\".format(i)\n\t\t\tself.parent.getChild(\"LLS\").getChild(flex).props.instances[j].ch \u003d self.view.custom.order[item]\n\t\t\tself.parent.getChild(\"LLS\").getChild(flex).props.instances[j].current_op \u003d self.view.custom.data[item]\n\t\t\tself.parent.getChild(\"LLS\").getChild(flex).props.instances[j].new_op \u003d self.view.custom.temp[item]\n\t\t\titem +\u003d1" + }, + "scope": "G", + "type": "script" + } + }, + "system": { + "onStartup": { + "config": { + "script": "\tself.view.custom.temp \u003d self.view.custom.data\n\titem \u003d 0\n\ti \u003d 1\n\tfor i in range(1,9):\n\t\tj \u003d 0\n\t\tfor j in range(0,6):\n\t\t\tflex \u003d \"l{:1d}\".format(i)\n\t\t\tself.parent.getChild(\"LLS\").getChild(flex).props.instances[j].ch \u003d self.view.custom.order[item]\n\t\t\tself.parent.getChild(\"LLS\").getChild(flex).props.instances[j].current_op \u003d self.view.custom.data[item]\n\t\t\tself.parent.getChild(\"LLS\").getChild(flex).props.instances[j].new_op \u003d self.view.custom.temp[item]\n\t\t\titem +\u003d 1\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\titem \u003d 0\n\ti \u003d 1\n\torder \u003d self.view.custom.order\n\tdata \u003d self.view.custom.data\n\ttemp \u003d self.view.custom.temp\n\tfor i in range(1,9):\n\t\tj \u003d 0\n\t\tfor j in range(0,6):\n\t\t\tflex \u003d \"l{:1d}\".format(i)\n\t\t\tself.getChild(\"LLS\").getChild(flex).props.instances[j].ch \u003d order[item]\n\t\t\tself.getChild(\"LLS\").getChild(flex).props.instances[j].current_op \u003d data[item]\n\t\t\tself.getChild(\"LLS\").getChild(flex).props.instances[j].new_op \u003d temp [item]\n\t\t\titem +\u003d 1\n\t\t\t\n\tself.getChild(\"Header\").getChild(\"Title\").props.text \u003d flex" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/16f150cfd0129b055c321780aa0b5ebec73b5836d47e05d92e67f3d44b28294f b/Gateways/FE/projects/.resources/16f150cfd0129b055c321780aa0b5ebec73b5836d47e05d92e67f3d44b28294f new file mode 100644 index 0000000..035bad4 Binary files /dev/null and b/Gateways/FE/projects/.resources/16f150cfd0129b055c321780aa0b5ebec73b5836d47e05d92e67f3d44b28294f differ diff --git a/Gateways/FE/projects/.resources/170b13cea518b8774706651dc09edda6461750dd8cde80cec9ee28281aaf5f83 b/Gateways/FE/projects/.resources/170b13cea518b8774706651dc09edda6461750dd8cde80cec9ee28281aaf5f83 new file mode 100644 index 0000000..185855f Binary files /dev/null and b/Gateways/FE/projects/.resources/170b13cea518b8774706651dc09edda6461750dd8cde80cec9ee28281aaf5f83 differ diff --git a/Gateways/FE/projects/.resources/170b4f482fded286d661d2e2f57a69ab3474976263705e1af83eae59a528ca8d b/Gateways/FE/projects/.resources/170b4f482fded286d661d2e2f57a69ab3474976263705e1af83eae59a528ca8d new file mode 100644 index 0000000..a619129 --- /dev/null +++ b/Gateways/FE/projects/.resources/170b4f482fded286d661d2e2f57a69ab3474976263705e1af83eae59a528ca8d @@ -0,0 +1,5658 @@ +{ + "custom": { + "ColorHandler": { + "Wall": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + } + }, + "params": {}, + "propConfig": { + "custom.ColorHandler": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "custom": { + "MMR1120": "#BAEDFF", + "MMR1188": "#FFBABD", + "RM1152": "#BAEDFF" + }, + "meta": { + "name": "First Floor" + }, + "position": { + "height": "100%", + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "this.custom.MMR1120" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "this.custom.RM1152" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "this.custom.MMR1188" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[19].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[20].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[21].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[22].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[23].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[24].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[25].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[26].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[27].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[28].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[29].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[30].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[31].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[32].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[33].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[34].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[35].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[36].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[37].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[38].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[39].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[40].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1199-STAIR-C", + "name": "_1199-STAIR-C", + "type": "rect", + "width": "203.609", + "x": "1515.85", + "y": "1178.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.399", + "id": "_1197-2-CORRIDOR-H-2", + "name": "_1197-2-CORRIDOR-H-2", + "type": "rect", + "width": "1467.31", + "x": "183.815", + "y": "1134.85" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "41.332", + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": "1996.06", + "x": "1651.13", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.25", + "id": "_1194-1-CORRIDOR-E-2", + "name": "_1194-1-CORRIDOR-E-2", + "type": "rect", + "width": "2592.5", + "x": "1567.63", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1198-STAIR-B", + "name": "_1198-STAIR-B", + "type": "rect", + "width": "203.609", + "x": "3802.52", + "y": "1177.63" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "206.163", + "id": "_1183-STAIRS-D", + "name": "_1183-STAIRS-D", + "type": "rect", + "width": "86.751", + "x": "1.377", + "y": "358.889" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "169.655", + "id": "_1194-1-CORRIDOR-E-3", + "name": "_1194-1-CORRIDOR-E-3", + "type": "rect", + "width": "48.02", + "x": "3607.37", + "y": "1.095" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "899.5", + "id": "_1193-CORRIDOR-D", + "name": "_1193-CORRIDOR-D", + "type": "rect", + "width": "84", + "x": "2894.63", + "y": "235.5" + }, + { + "d": "M1488.64,1134.85l164.275,0.149l-0.034,-139.5l-83.689,0.074l0,-608.074l83.689,0.105l0,-44.605l-83.689,0l0,-107.649l-80.561,0l0.009,899.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1195-CORRIDOR-F", + "name": "_1195-CORRIDOR-F", + "type": "path" + }, + { + "d": "M183.628,1134.85l63.25,0l0,-792.224l-84.75,-0l0,-107.276l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1196-CORRIDOR-G", + "name": "_1196-CORRIDOR-G", + "type": "path" + }, + { + "d": "M3647.19,1178.01l-0.308,-42.395l-35.25,-0l0,-428.611l65,-0l0,329.711l163.5,0.433l-0.113,141.356l-192.829,-0.494Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1192-CORRIDOR-C", + "name": "_1192-CORRIDOR-C", + "type": "path" + }, + { + "d": "M4160.13,138.5l0,96.851l68.5,0l0,406.899l73.372,0l-0,-173.99l58.628,-0l0,-38.859l-58.628,-0l-0.372,-141.301l228.25,-0.1l0,-48.75l-222.014,-0l-0,-100.75l-147.736,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1191-CORRIDOR-B", + "name": "_1191-CORRIDOR-B", + "type": "path" + }, + { + "d": "M4478.59,735.5l-118.361,-0l-0.38,-28.5l-748.22,-0l0,-65.105l690.372,0.427l-0,5.178l44.403,0l0,-43.801l74.63,0l0.308,43.801l56.816,-0.335l0.432,88.335Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1190-CORRIDOR-A", + "name": "_1190-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.101", + "id": "_1194-1-CORRIDOR-E-1", + "name": "_1194-1-CORRIDOR-E-1", + "type": "rect", + "width": "1479.25", + "x": "88.378", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1123-STAIR-A", + "name": "_1123-STAIR-A", + "type": "rect", + "width": "58.434", + "x": "4477.3", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "288" + } + ], + "id": "Corridors-and-stairs", + "name": "Corridors-and-stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1165-elec", + "name": "_1165-elec", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1164-ER", + "name": "_1164-ER", + "type": "rect", + "width": "232", + "x": "329.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1163-ER", + "name": "_1163-ER", + "type": "rect", + "width": "232", + "x": "561.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1162-ER", + "name": "_1162-ER", + "type": "rect", + "width": "232", + "x": "793.628", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1161-ER", + "name": "_1161-ER", + "type": "rect", + "width": "232", + "x": "1025.63", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1160-ER", + "name": "_1160-ER", + "type": "rect", + "width": "238.155", + "x": "1258.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1159-MEP-ROOM", + "name": "_1159-MEP-ROOM", + "type": "rect", + "width": "239.508", + "x": "1496.28", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1158-ER", + "name": "_1158-ER", + "type": "rect", + "width": "231.337", + "x": "1735.79", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1157ER", + "name": "_1157ER", + "type": "rect", + "width": "233.123", + "x": "1967.13", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1156-ER", + "name": "_1156-ER", + "type": "rect", + "width": "231.803", + "x": "2200.25", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1155-ER", + "name": "_1155-ER", + "type": "rect", + "width": "232.461", + "x": "2432.05", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1151-ELEC", + "name": "_1151-ELEC", + "type": "rect", + "width": "183.5", + "x": "3655.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1150-MECH-POWER", + "name": "_1150-MECH-POWER", + "type": "rect", + "width": "232.348", + "x": "3838.63", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "137.655", + "id": "_1120-MMR1", + "name": "_1120-MMR1", + "type": "rect", + "width": "260.5", + "x": "4160.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1152-TAPE-LIBRARY", + "name": "_1152-TAPE-LIBRARY", + "type": "rect", + "width": "476.566", + "x": "2664.63", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "64.565", + "id": "_1154-SDC-IDF", + "name": "_1154-SDC-IDF", + "type": "rect", + "width": "88.333", + "x": "3388.41", + "y": "105.935" + }, + { + "d": "M3141.63,170.25l0,-169.947l464.001,0.042l-0,169.905l-128.69,0l-0,-64.25l-89.212,-0l0.338,64.25l-246.437,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1153-SD-STORAGE", + "name": "_1153-SD-STORAGE", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.155", + "id": "_1149-MDF", + "name": "_1149-MDF", + "type": "rect", + "width": "89.5", + "x": "4070.63", + "y": "1.095" + } + ], + "id": "ELEC---MECH", + "name": "ELEC---MECH", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": 0.5 + }, + "height": "51.46", + "id": "_1185-ELEC", + "name": "_1185-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "458.859" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1184-POE", + "name": "_1184-POE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "109.021", + "id": "_1186-FIRE-PLBG", + "name": "_1186-FIRE-PLBG", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "508.227" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.5", + "id": "_1187-MDF-2", + "name": "_1187-MDF-2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "407.5", + "id": "_1188-MMR2", + "name": "_1188-MMR2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "715.5" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "55.25", + "id": "_1189-POE-4", + "name": "_1189-POE-4", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "1123" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1171-GALLERY", + "name": "_1171-GALLERY", + "type": "rect", + "width": "1325.44", + "x": "1569.19", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1172-GALLERY", + "name": "_1172-GALLERY", + "type": "rect", + "width": "1241.72", + "x": "1652.91", + "y": "1064" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.182", + "id": "_1174-SDC-IDF", + "name": "_1174-SDC-IDF", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "930" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "542.5", + "id": "_1173-SDC-STORAGE", + "name": "_1173-SDC-STORAGE", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "387.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1170-DATAHALL-3", + "name": "_1170-DATAHALL-3", + "type": "rect", + "width": "1241.75", + "x": "1652.88", + "y": "343" + } + ], + "id": "DH3", + "name": "DH3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1181-GALLERY-", + "name": "_1181-GALLERY-", + "type": "rect", + "width": "1326.41", + "x": "162.215", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1182-GALLERY-", + "name": "_1182-GALLERY-", + "type": "rect", + "width": "1241.72", + "x": "246.911", + "y": "1065.51" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1181-1-DATAHALL-1180-1", + "name": "_1181-1-DATAHALL-1180-1", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "344.795" + } + ], + "id": "DH5", + "name": "DH5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1119-POE1", + "name": "_1119-POE1", + "type": "rect", + "width": "51.764", + "x": "4307.86", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.401", + "id": "_1109-MOT", + "name": "_1109-MOT", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "359" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "77.088", + "id": "_1113-HUDDLE", + "name": "_1113-HUDDLE", + "type": "rect", + "width": "86.707", + "x": "4544.16", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "68.485", + "id": "_1104-RR", + "name": "_1104-RR", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "365.023" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.992", + "id": "_1105-JAN", + "name": "_1105-JAN", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "433.508" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "78.218", + "id": "_1102.3-SOC-OFFICE", + "name": "_1102.3-SOC-OFFICE", + "type": "rect", + "width": "66.118", + "x": "4459.01", + "y": "489.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1126-JAN", + "name": "_1126-JAN", + "type": "rect", + "width": "57", + "x": "4303.13", + "y": "707" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1134.2-AM-OFFICE", + "name": "_1134.2-AM-OFFICE", + "type": "rect", + "width": "65.5", + "x": "4063.63", + "y": "850" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61.387", + "id": "_1136-RR", + "name": "_1136-RR", + "type": "rect", + "width": "81.653", + "x": "4063.63", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.218", + "id": "_1142-POE", + "name": "_1142-POE", + "type": "rect", + "width": "101.369", + "x": "3840.13", + "y": "1123.79" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.5-SHRED-ROOM", + "name": "_1133.5-SHRED-ROOM", + "type": "rect", + "width": "125.5", + "x": "3938.13", + "y": "932.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.6-HIGH-VALUE-STORAGE", + "name": "_1133.6-HIGH-VALUE-STORAGE", + "type": "rect", + "width": "261.5", + "x": "3676.63", + "y": "932.697" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "59.838", + "id": "_1133.2-CABLE-STORAGE", + "name": "_1133.2-CABLE-STORAGE", + "type": "rect", + "width": "163.5", + "x": "3676.63", + "y": "708.197" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "110.035", + "id": "_1135-WAITING", + "name": "_1135-WAITING", + "type": "rect", + "width": "62.384", + "x": "4145.28", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "119.5", + "id": "_1133.4-SECURE-STORAGE", + "name": "_1133.4-SECURE-STORAGE", + "type": "rect", + "width": "223.5", + "x": "3840.13", + "y": "813" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1128-ELEC", + "name": "_1128-ELEC", + "type": "rect", + "width": "57", + "x": "4302", + "y": "761.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1125-MECH", + "name": "_1125-MECH", + "type": "rect", + "width": "63.811", + "x": "4359", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1124-PASS", + "name": "_1124-PASS", + "type": "rect", + "width": "54.491", + "x": "4422.81", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1122-SDC-IDF", + "name": "_1122-SDC-IDF", + "type": "rect", + "width": "72.661", + "x": "4535.43", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1130-FREIGHT", + "name": "_1130-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4433.86", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1131-FREIGHT", + "name": "_1131-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4535.36", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1132-MECH", + "name": "_1132-MECH", + "type": "rect", + "width": "138.911", + "x": "4636.63", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61", + "id": "_1100.1-VESTIBULE", + "name": "_1100.1-VESTIBULE", + "type": "rect", + "width": "41.5", + "x": "4767.63", + "y": "499" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "130.798", + "id": "_1103-EXECUTIVE-CONFERENCE", + "name": "_1103-EXECUTIVE-CONFERENCE", + "type": "rect", + "width": "145.497", + "x": "4630.13", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1114-RECORDS", + "name": "_1114-RECORDS", + "type": "rect", + "width": "61", + "x": "4359.63", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1117-OFFICE", + "name": "_1117-OFFICE", + "type": "rect", + "width": "64.5", + "x": "4530.13", + "y": "2.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "237.952", + "id": "_1116-CONFERENCE", + "name": "_1116-CONFERENCE", + "type": "rect", + "width": "109.5", + "x": "4420.63", + "y": "1.298" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1118-OFFICE", + "name": "_1118-OFFICE", + "type": "rect", + "width": "65.274", + "x": "4594.63", + "y": "2.5" + }, + { + "d": "M4775.02,288l0.609,-285l-115.1,-2.655l-0.626,84.155l-130.024,-0.441l0,203.941l245.141,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1110-STREAM-OFFICE", + "name": "_1110-STREAM-OFFICE", + "type": "path" + }, + { + "d": "M4525.13,489.5l-0.162,157.719l33.495,0.137l0,-40.856l41.98,0l-0.008,11.157l52.695,0.479l-1.174,-128.636l-126.826,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1102.1-SOC", + "name": "_1102.1-SOC", + "type": "path" + }, + { + "d": "M4558.46,606.223l0,41.133l-80.452,-0l0.693,57.633l329.676,-0l0,-86.979l-207.164,0l0,-11.51l-42.753,-0.277Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1101-SECURE-LOBBY", + "name": "_1101-SECURE-LOBBY", + "type": "path" + }, + { + "d": "M4607.63,705l0,110.159l167.782,-0.651l0.693,-26.905l32.275,-0.433l0,-82.181l-200.75,0.011Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1121-CONFERENCE", + "name": "_1121-CONFERENCE", + "type": "path" + }, + { + "d": "M4207.55,706.868l0.073,379.082l23.565,0.081l75.845,39.795l19.744,-35.334l77.574,39.904l25.252,-44.509l94.628,0.083l76.334,39.209l19.102,-34.955l75.254,39.426l80.59,-0.024l-0,-197.372l-341.468,-0l-0,-115.82l-131.16,-1.275l0,-108.159l-95.333,-0.132Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1127-LOADING-DOCK", + "name": "_1127-LOADING-DOCK", + "type": "path" + }, + { + "d": "M4598.13,364.5l0,125l55.275,0l-0.13,128.5l155.105,0.01l0,-58.01l-40.75,0l0,-61.698l40.283,-0.037l-0,-79.467l-177.783,-0l0,-54.298l-32,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1100.0-LOBBY", + "name": "_1100.0-LOBBY", + "type": "path" + }, + { + "d": "M3676.63,932l0,-163.965l163.5,0l0,-61.035l367.5,-0l0,143l-144,-0l0,-37l-223.5,-0l0,119.5l-163.5,-0.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1133.1-RECEIVING", + "name": "_1133.1-RECEIVING", + "type": "path" + }, + { + "d": "M4457.98,468l0.296,179.18l-37.243,0.32l-0,-43.801l-38.163,0l0.111,-135.699l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1107-MMR", + "name": "_1107-MMR", + "type": "path" + }, + { + "d": "M4542.91,288l0.721,201.141l-84.617,0.359l-0,-21.24l-98.383,-0l-0.136,-180.26l182.415,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1111-BREAK-ROOM", + "name": "_1111-BREAK-ROOM", + "type": "path" + }, + { + "d": "M4302,468.26l2.333,179.853l42.045,-0.613l0,-42.868l37.34,-0l-0.117,-135.7l-81.601,-0.672Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1108-WRR", + "name": "_1108-WRR", + "type": "path" + }, + { + "d": "M4144.93,1037.5l1.203,140.499l-204.5,0.501l0,-52.454l-101.5,-1.355l0.451,-87.191l304.346,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1141-PLBG-FP", + "name": "_1141-PLBG-FP", + "type": "path" + }, + { + "d": "M4207.55,975.505l-143.66,0.495l-0.257,-44l65.5,-0l0,-82l78.417,0.185l0,125.32Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1134.1-ASSET-MANAGEMENT", + "name": "_1134.1-ASSET-MANAGEMENT", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "79.448", + "id": "_1102.2-SOC-STORAGE", + "name": "_1102.2-SOC-STORAGE", + "type": "rect", + "width": "65.955", + "x": "4459.01", + "y": "567.718" + } + ], + "id": "Stream-Offices", + "name": "Stream-Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "133.25", + "id": "_1138.2-SER", + "name": "_1138.2-SER", + "type": "rect", + "width": "79.5", + "x": "3937.13", + "y": "509" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "88.512", + "id": "_1138.3-FCR", + "name": "_1138.3-FCR", + "type": "rect", + "width": "73", + "x": "3864.13", + "y": "553.738" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.649", + "id": "_1139-TENANT-STORAGE", + "name": "_1139-TENANT-STORAGE", + "type": "rect", + "width": "389.821", + "x": "3222.13", + "y": "235.351" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "406.899", + "id": "_1137-OPS-STORAGE", + "name": "_1137-OPS-STORAGE", + "type": "rect", + "width": "163.5", + "x": "4065.13", + "y": "235.351" + }, + { + "d": "M3611.63,235.5l0,407l252.5,-0.25l0,-88.75l73,-0l0.198,-44.292l79.459,0l0.308,133.042l48.035,0l-0.309,-407.076l-453.191,0.326Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1138.1-TENANT-OFFICE", + "name": "_1138.1-TENANT-OFFICE", + "type": "path" + } + ], + "id": "Tenant-Offices", + "name": "Tenant-Offices", + "type": "group" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1140-MECH---PUMP", + "name": "_1140-MECH---PUMP", + "type": "rect", + "width": "243.5", + "x": "2978.63", + "y": "235.5" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,101.188l-0,-21.233l-40.298,-0l-0,21.233", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1544.41,1178.25l2262.71,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3828.13,1178l315.66,0.25l-0,-92.3l8.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4173.51,1086l57.373,0l76.749,40l19.362,-35.865l77.638,41.156l24.903,-45.608l94.597,0.035l76,40.135l19.39,-36.353l75.428,40l80.682,0l-0.395,-342.218l33.145,0l0,-250.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1035.5l0,94.842l0,-5.357l101.5,0.015l0,53.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1151.75l0,26.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4207.86,1085.95l-0.243,-84.421", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4145.28,1085.95l-0,-84.421l-0,35.614l-468.653,0.357l0,-330.5l294.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4027.95,707l179.674,-0l0,19.825l0,-19.825l127.139,-0l-31.655,-0l-0,59.272l-0,-4.626l56.736,-0l-0,-54.646l-0,109.434", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302.88,786.5l0,29.934l472.628,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4359.85,735.573l33.572,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4413.87,735.573l22.597,-0l-13.636,-0l0.293,80.861", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4477.13,816.434l-0,-80.861l-12.996,-0.323l12.996,0.323l-0,-30.584l7.264,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4504.26,704.989l31.169,-0l-0,111.445", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4608.09,816.434l-0,-111.445l-42.464,0.011", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4653.05,705l110.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4434.04,816.434l-0,115.82l9.934,-0.195", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4535.43,816.434l-0,115.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.63,816.434l0,116.066", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4661.9,932.5l113.729,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,932l185.781,-0l-22.281,-0l0,-119l39.813,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3918.12,813l145.506,-0l0,224.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4020.13,932l108.575,-0l0.156,-55.929", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.63,849.89l70.501,0.36", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.57,850.25l53.056,0l0,25.821l0,-92.073", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,768.035l163.5,0l0,-12.467", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3888.63,932.25l93,0l-43.433,0l-0.067,105.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.67,975.52l144.348,0.195l-0.195,-80.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3647.19,1178.71l0,-14.854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3646.88,1143l0,-7.389l-399.644,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,1135.61l0,-441.611", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3265.63,235.5l755.122,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,235.5l0,419.979l0,-13.175l299.892,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3962.63,642.25l59.351,0l-4.987,0l-0,-133.042l-79.666,0l-0,133.042", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3937.13,553.5l-73,-0l0,88.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.63,642.25l8,0l0,-362.294", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4228.63,241.158l0,-5.685l-168.451,-0.299l4.887,0.008l0,407.068l-23.196,0l140.671,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4160.13,235.351l0,-12.621", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3216.3,1135l10.348,0l-5.018,0l-0,-899.649l5.477,0l-23.327,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3165.48,235.351l-186.856,0l0,899.649l218.001,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4775.02,288l-148.777,-0l4.19,-0l-0.067,130.798l5.052,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4675.13,418.798l56.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4586.88,288l-48.457,-0l5.207,-0l0,201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,365.023l86.5,0.065", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,433.38l54.476,-0l0.16,8.138l0,-52.018", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4598.26,461.785l-0.136,27.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4558.88,622.5l0,-30.591l0,14.936l41.643,0.079l-0.079,10.901l66.663,-0l-13.916,-0l0,-128.325l-194.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4420.88,637l0,10.165l38.133,0l-0,-178.905l-157.011,-0l-0,179.24l44.325,0l-0,-10.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4346.38,617l0.025,-13.192l37.315,-0.235l-0.377,-135.313", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4421.03,616.625l-0.064,-12.926l-74.566,0.109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,239.25l4.674,-0l-0,-105.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4529.88,94l0,-9.5l20.662,-0l-20.662,-0l0.25,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4615.63,84.5l-25.999,-0l4.999,-0l0,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4656.52,84.25l3.384,0l0,-83.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.01,647.165l99.45,0l0,-7.237", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.13,567.191l65.999,-0.128l0,54.768l0,-62.3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,489l0,53.977", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4808.38,617.85l-44.723,0.16", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4743.13,617.85l-18.093,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4705.63,618.01l-17.935,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4360.63,468.067l0,-180.067l-4.8,-0l9.498,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4336.13,288.1l-34.134,-0l-0,141.301l32.686,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302,359l58.577,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4405.13,288l94.191,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.89,234.699l-0.021,11.078l0.012,-6.277l67.252,0l-15.5,0l0,-101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.86,213.705l-0,-75.205l-7.609,0l119.686,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.94,0.345l0,238.853l-5.317,-0.025l71.004,0.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4767.63,539.283l0,20.717l40.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.63,170.632l27.175,-0l-0,13.059l-0,-183.346", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4159.8,138.5l102.161,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-24.506,0l4.341,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3589.63,170.5l16.103,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3551.63,170.5l-138.99,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3476.94,170.5l-0,-64.5l-89.311,-0l0,64.5l5.331,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,50.149", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,508l95.313,-0l0,-5.217l0,10.007", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,5.893l0,-79.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,759.5l0,371.5l0,-7.955l-95.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1039l0,-18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1001l0,-616.527l0,3.027l-83.939,-0l0,37.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,463.614l0,471.386l0,-4.5l83.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,955.5l0,40l83.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1020l0,-635.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "First-Floor", + "name": "First-Floor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMaxYMax", + "stroke": { + "linejoin": "bevel" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "updateColor", + "pageScope": true, + "script": "\tactiveRoom \u003d payload[\"Room\"]\n\tif activeRoom \u003d\u003d \"MMR1120\":\n\t\tself.custom.MMR1120 \u003d self.view.custom.ColorHandler.selected\n\t\tself.custom.RM1152 \u003d self.view.custom.ColorHandler.available\n\t\tself.custom.MMR1188 \u003d self.view.custom.ColorHandler.available\n\telif activeRoom \u003d\u003d \"RM1152\":\n\t\tself.custom.MMR1120 \u003d self.view.custom.ColorHandler.available\n\t\tself.custom.RM1152 \u003d self.view.custom.ColorHandler.selected\n\t\tself.custom.MMR1188 \u003d self.view.custom.ColorHandler.available\n\telif activeRoom \u003d\u003d \"MMR1188\":\n\t\tself.custom.MMR1120 \u003d self.view.custom.ColorHandler.available\n\t\tself.custom.RM1152 \u003d self.view.custom.ColorHandler.available\n\t\tself.custom.MMR1188 \u003d self.view.custom.ColorHandler.selected\n\telse:\n\t\tself.custom.MMR1120 \u003d self.view.custom.ColorHandler.available\n\t\tself.custom.RM1152 \u003d self.view.custom.ColorHandler.available\n\t\tself.custom.MMR1188 \u003d self.view.custom.ColorHandler.available\n\t# implement your handler here", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tmessageType \u003d \"updateRoom\"\n\tpayload \u003d {\"Room\":self.meta.name}\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"updateColor\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "MMR1120", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 15, + "width": 36, + "x": 367.19, + "y": 8.98 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.custom.room" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "availableRooms": [ + "MMR1188", + "value", + "value" + ], + "room": "RM1152" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tmessageType \u003d \"updateRoom\"\n\tpayload \u003d {\"Room\":self.meta.name}\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"updateColor\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1152", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 22, + "width": 57, + "x": 229.95, + "y": 6.44 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.custom.room" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1188" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tmessageType \u003d \"updateRoom\"\n\tpayload \u003d {\"Room\":self.meta.name}\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"updateColor\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "MMR1188", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 38, + "width": 12, + "x": 5.99, + "y": 68.03 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.custom.room" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent", + "borderStyle": "none" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1710d929742aeb437cda98deeed93672836ac4d29613933fbb79fca0147a8c3c b/Gateways/FE/projects/.resources/1710d929742aeb437cda98deeed93672836ac4d29613933fbb79fca0147a8c3c new file mode 100644 index 0000000..28ffab5 Binary files /dev/null and b/Gateways/FE/projects/.resources/1710d929742aeb437cda98deeed93672836ac4d29613933fbb79fca0147a8c3c differ diff --git a/Gateways/FE/projects/.resources/172560578d6ea886799fb518a9b27efad504b3a28fdd5dfcfbaf3a2dec88c369 b/Gateways/FE/projects/.resources/172560578d6ea886799fb518a9b27efad504b3a28fdd5dfcfbaf3a2dec88c369 new file mode 100644 index 0000000..edc5564 --- /dev/null +++ b/Gateways/FE/projects/.resources/172560578d6ea886799fb518a9b27efad504b3a28fdd5dfcfbaf3a2dec88c369 @@ -0,0 +1,104 @@ +{ + "custom": { + "endDate": "2025-04-18 23:59:59", + "location": "DH2", + "startDate": "2025-04-18 00:00:00" + }, + "params": { + "endDate": "2025-04-18 23:59:59", + "location": null, + "startDate": "2025-04-18 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "struct": { + "endDate": "{view.custom.endDate}", + "location": "{view.custom.location}", + "startDate": "{view.custom.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\treturn reports.MBR.cooling.getRawDataMeasurement(startDate, endDate)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1747747890ceea8bcd2c0b6626c458ec7b919e8c75c0c613c811ae8857658dcb b/Gateways/FE/projects/.resources/1747747890ceea8bcd2c0b6626c458ec7b919e8c75c0c613c811ae8857658dcb new file mode 100644 index 0000000..98d599f Binary files /dev/null and b/Gateways/FE/projects/.resources/1747747890ceea8bcd2c0b6626c458ec7b919e8c75c0c613c811ae8857658dcb differ diff --git a/Gateways/FE/projects/.resources/174f563910c55542bc5b1fcf997273b8ff4306f2fc9350b2b1c5e915690a35d0 b/Gateways/FE/projects/.resources/174f563910c55542bc5b1fcf997273b8ff4306f2fc9350b2b1c5e915690a35d0 new file mode 100644 index 0000000..bfafe50 --- /dev/null +++ b/Gateways/FE/projects/.resources/174f563910c55542bc5b1fcf997273b8ff4306f2fc9350b2b1c5e915690a35d0 @@ -0,0 +1,555 @@ +{ + "custom": { + "trendConfig": { + "allPens": [ + { + "group": "misc", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cold Aisle Space Humidity", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall/Cold Aisle Space Humidity" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cold Aisle Space Temperature", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall/Cold Aisle Space Temperature" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Hot Aisle Differential Pressure", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall/Hot Aisle Differential Pressure" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Hot Aisle Space Temperature", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall/Hot Aisle Space Temperature" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Space Dew Point Setpoint", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall/Space Dew Point Setpoint" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Space Differential Pressure", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall/Space Differential Pressure" + } + ] + } + ] + } + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947899741 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947899741 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/17521189210d2096b76cbc03047be705cb5b55c671ef48270ce202a339a594b8 b/Gateways/FE/projects/.resources/17521189210d2096b76cbc03047be705cb5b55c671ef48270ce202a339a594b8 new file mode 100644 index 0000000..42ec73f --- /dev/null +++ b/Gateways/FE/projects/.resources/17521189210d2096b76cbc03047be705cb5b55c671ef48270ce202a339a594b8 @@ -0,0 +1,133 @@ +def trace_power_flow(): + """ + Traces power flow through a series of connected transformers (UTs). + - Reads the state of all switches. + - Determines which components are energized and from which source. + - Writes the results back to memory tags. + """ + + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + # [Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1 + ut_names = ["UT-P3-1", "UT-P3-2", "UT-P3-3", "UT-P3-4", "UT-P3-5"] + providers = [ "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_"] + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/DS2A_W3', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/DS2B_W3'] + idx = 0 + for name in ut_names: + # Assuming your UDT instances are in a folder named 'UTs' + base_path = providers[idx] + name + tag_paths_to_read.append("{}/Source 1 Switch".format(base_path)) + tag_paths_to_read.append("{}/Source 2 Switch".format(base_path)) + idx+=1 + + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['DS-2A_Live'] = tag_values[0].value + values['DS-2B_Live'] = tag_values[1].value + + read_idx = 2 + for name in ut_names: + values[name] = { + 'Switch_L_Status': tag_values[read_idx].value, + 'Switch_R_Status': tag_values[read_idx + 1].value} + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['DS-2A_Live']: + q.append( ("UT-P3-1", "DS-1A2") ) + if values['DS-2B_Live']: + q.append( ("UT-P3-5", "DS-1B2") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ut_name, source = q.pop(0) + + if current_ut_name in visited: + continue + + visited.add(current_ut_name) + energized_state[current_ut_name] = source + current_ut_index = ut_names.index(current_ut_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ut_names) - 1: + neighbor_name = ut_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ut_name]['Switch_R_Status']['Value'] and values[neighbor_name]['Switch_L_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ut_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ut_name]['Switch_L_Status']['Value'] and values[neighbor_name]['Switch_R_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source)) + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + idx = 0 + for name in ut_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + tag_paths_to_write.append(providers[idx] + name + "/Data/isEnergized") + values_to_write.append(is_energized) + tag_paths_to_write.append(providers[idx] + name + "/Data/PowerSource") + values_to_write.append(power_source) + idx += 1 + + line_tags_base_path = "[Ignition_Common_IO_Gtwy]Cables/UT/" + #print energized_state + #print values + # Loop through each connection between UTs + for i in range(len(ut_names) - 1): + ut1_name = ut_names[i] + ut2_name = ut_names[i+1] + line_energized = (ut1_name in energized_state and + ut2_name in energized_state and + #energized_state[ut1_name] == energized_state[ut2_name] and + values[ut1_name]['Switch_R_Status']['Value'] and + values[ut2_name]['Switch_L_Status']['Value']) + #print ut1_name + " : " + str(ut1_name in energized_state) +" & "+str(values[ut1_name]['Switch_R_Status']['Value']) + #print energized_state[ut1_name] + " = " + energized_state[ut2_name] + #print ut2_name + " : " + str(ut2_name in energized_state) +" & "+str(values[ut2_name]['Switch_L_Status']['Value']) + line_tag_name = "Line_{}_to_{}".format(ut1_name, ut2_name) + # Construct the full tag path directly to the boolean tag + full_tag_path = line_tags_base_path + line_tag_name + # Add the path and the calculated value to our list for writing + tag_paths_to_write.append(full_tag_path) + values_to_write.append(line_energized) + #print full_tag_path + " : " + str(line_energized) + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/184b076a8b2e02e66846e61070155ad64903b152289eb0311b70898c45a92432 b/Gateways/FE/projects/.resources/184b076a8b2e02e66846e61070155ad64903b152289eb0311b70898c45a92432 new file mode 100644 index 0000000..0f11097 Binary files /dev/null and b/Gateways/FE/projects/.resources/184b076a8b2e02e66846e61070155ad64903b152289eb0311b70898c45a92432 differ diff --git a/Gateways/FE/projects/.resources/1860555b3ee822aee5b581d260a6041de81c7d6557bf145f884591f0a8f03ea2 b/Gateways/FE/projects/.resources/1860555b3ee822aee5b581d260a6041de81c7d6557bf145f884591f0a8f03ea2 new file mode 100644 index 0000000..51e8716 Binary files /dev/null and b/Gateways/FE/projects/.resources/1860555b3ee822aee5b581d260a6041de81c7d6557bf145f884591f0a8f03ea2 differ diff --git a/Gateways/FE/projects/.resources/18bb9bb490d81251523019810e84246782afeec65cea2e1e2d91d0d165cc9db6 b/Gateways/FE/projects/.resources/18bb9bb490d81251523019810e84246782afeec65cea2e1e2d91d0d165cc9db6 new file mode 100644 index 0000000..e4e1728 Binary files /dev/null and b/Gateways/FE/projects/.resources/18bb9bb490d81251523019810e84246782afeec65cea2e1e2d91d0d165cc9db6 differ diff --git a/Gateways/FE/projects/.resources/18f522ca89a245ca861afeaded9dae9e98ad6316387494690fa89396d77bd6fa b/Gateways/FE/projects/.resources/18f522ca89a245ca861afeaded9dae9e98ad6316387494690fa89396d77bd6fa new file mode 100644 index 0000000..50695cc Binary files /dev/null and b/Gateways/FE/projects/.resources/18f522ca89a245ca861afeaded9dae9e98ad6316387494690fa89396d77bd6fa differ diff --git a/Gateways/FE/projects/.resources/19852075ed7bf565502d9ce3172d62447f5b5078e18cee538e63df53bb0a817e b/Gateways/FE/projects/.resources/19852075ed7bf565502d9ce3172d62447f5b5078e18cee538e63df53bb0a817e new file mode 100644 index 0000000..de9c80e Binary files /dev/null and b/Gateways/FE/projects/.resources/19852075ed7bf565502d9ce3172d62447f5b5078e18cee538e63df53bb0a817e differ diff --git a/Gateways/FE/projects/.resources/19b235c0a5dc3f5caaab84906eb09780137c696488f6730f92e9d91854bff0b3 b/Gateways/FE/projects/.resources/19b235c0a5dc3f5caaab84906eb09780137c696488f6730f92e9d91854bff0b3 new file mode 100644 index 0000000..1e67ee2 Binary files /dev/null and b/Gateways/FE/projects/.resources/19b235c0a5dc3f5caaab84906eb09780137c696488f6730f92e9d91854bff0b3 differ diff --git a/Gateways/FE/projects/.resources/19cc182489d8fdcfeab0ff52d071ceb323b276aa27d56ee623b3a0b063dc58b1 b/Gateways/FE/projects/.resources/19cc182489d8fdcfeab0ff52d071ceb323b276aa27d56ee623b3a0b063dc58b1 new file mode 100644 index 0000000..0a46422 --- /dev/null +++ b/Gateways/FE/projects/.resources/19cc182489d8fdcfeab0ff52d071ceb323b276aa27d56ee623b3a0b063dc58b1 @@ -0,0 +1,1009 @@ +{ + "custom": {}, + "params": { + "pageId": "value" + }, + "propConfig": { + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable" + }, + "position": { + "height": 990, + "width": 1250 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M4_to_UT-M5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M5_to_UT-M6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "UT-M4", + "right": "UT-M6" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M1.5", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M5", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 0, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 417, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD09" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 477, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD10" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 422, + "y": 532.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 242, + "y": 385 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M5" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/19fad8dba288d57c6ed2ea58c0226c8c33e029ba4569bba7a23a87894966b116 b/Gateways/FE/projects/.resources/19fad8dba288d57c6ed2ea58c0226c8c33e029ba4569bba7a23a87894966b116 new file mode 100644 index 0000000..2e268ef --- /dev/null +++ b/Gateways/FE/projects/.resources/19fad8dba288d57c6ed2ea58c0226c8c33e029ba4569bba7a23a87894966b116 @@ -0,0 +1,100 @@ +def set_DOAS(): + tagpaths = ["[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01/Config/High Supply Air Temperature Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01/Control/Schedule Force Occupied", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01/Control/Supply Air Dewpoint Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01/Control/Supply Air Temperature Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02/Config/High Supply Air Temperature Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02/Control/Schedule Force Occupied", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02/Control/Supply Air Dewpoint Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02/Control/Supply Air Temperature Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03/Config/High Supply Air Temperature Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03/Control/Schedule Force Occupied", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03/Control/Supply Air Dewpoint Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03/Control/Supply Air Temperature Setpoint" + ] + data = system.tag.readBlocking(tagpaths) + #print data + idx = 0 + w_paths = [] + w_values = [] + for i in range(0,3): + if data[idx].value == 0: + w_paths.append(tagpaths[idx]) + w_values.append(68) + if data[idx+1].value == 0: + w_paths.append(tagpaths[idx+1]) + w_values.append(1) + if data[idx+2].value == 0: + w_paths.append(tagpaths[idx+2]) + w_values.append(55) + if data[idx+3].value == 0: + w_paths.append(tagpaths[idx+3]) + w_values.append(65) + idx += 4 + if w_paths: + print "Writing values" + try: + system.tag.writeBlocking(w_paths, w_values) + except: + print "Error" + else: + print "Zeros not found" + +def set_FCU(): + fcus = ["[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"] + + tagpaths = [] + for fcu in fcus: + tagpaths.append(fcu + "/Config/Space Temperature Cooling Setpoint") + tagpaths.append(fcu + "/Config/Space Temperature Cooling Setpoint DB") + + data = system.tag.readBlocking(tagpaths) + #for d in data: + # print d + idx = 0 + w_paths = [] + w_values = [] + for i in range(0,29): + if data[idx].value == 0: + w_paths.append(tagpaths[idx]) + w_values.append(74) + if data[idx+1].value == 0: + w_paths.append(tagpaths[idx+1]) + w_values.append(1) + idx += 2 + if w_paths: + print "writing values" + try: + system.tag.writeBlocking(w_paths, w_values) + except: + print "Error" + else: + print "Zeros not found" \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1a01a74ae12e9225335f88dcf201552006be752c6f153df85ae0b655bded89e1 b/Gateways/FE/projects/.resources/1a01a74ae12e9225335f88dcf201552006be752c6f153df85ae0b655bded89e1 new file mode 100644 index 0000000..1375706 --- /dev/null +++ b/Gateways/FE/projects/.resources/1a01a74ae12e9225335f88dcf201552006be752c6f153df85ae0b655bded89e1 @@ -0,0 +1,846 @@ +{ + "custom": { + "Available": [ + "SATB1_RF_RTU01", + "SATB1_RF_RTU02" + ], + "ColorHandler": { + "Walls": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "RTU01": "#BAEDFF", + "RTU02": "#BAEDFF" + }, + "selected": "SATB1_RF_RTU00" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tshortName \u003d room.split(\"_\")\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\tsroom \u003d shortName[2]\n\t\toutput[sroom] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_RTU02", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 105, + "width": 38, + "x": 391 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "2nf" + }, + "position": { + "height": 120, + "width": 430 + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M374.631,241.955l-0,-186.989l34.803,0l0,20.048l12.684,0l-0,16.599l-28.558,0l0,120.143l28.535,0.003l0.021,15.685l-12.624,-0l0,14.511l-34.861,0Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "d": "M97.975,251.131l-56.771,0l0,-0.116l0.001,-38.679l25.137,-0l-0,-0.58l44.257,0l-0,15.688l-12.624,-0l-0,23.687Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "d": "M97.932,242.681l276.696,0l0.003,8.45l-276.699,0l0,-8.45Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "d": "M374.631,251.131l-0,-9.176l34.861,0l0,0.726l276.656,0l0,8.45l-311.517,0Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "8.45", + "name": "rect", + "type": "rect", + "width": "324.014", + "x": "686.148", + "y": "242.681" + }, + { + "d": "M686.148,40.165l321.648,0l-0,-0.873l0.17,-0l-0,0.873l43.825,0l-0,12.676l-9.528,-0l0,7.001l-11.457,0l-0,-7.001l-20.934,-0l0,2.125l-323.724,0l0,-14.801Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "d": "M374.628,54.966l-276.711,0l-31.575,-0.158c-0,0 -26.615,0 -26.661,0l0,-1.378l-24.305,0l0,-14.138l51.297,-0l-0,0.873l307.955,0l-0,14.801Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "14.801", + "name": "rect", + "type": "rect", + "width": "311.52", + "x": "374.628", + "y": "40.165" + }, + { + "d": "M1009.87,54.966l0,9.214l11.406,0l0,4.539l-11.116,0l0,4.046l1.878,-0l0,5.251l-1.878,-0l0,164.665l-12.767,0l0,-187.715l12.477,0Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "d": "M686.148,242.681l0,-187.715l34.534,0l-0,20.048l12.681,0c0.02,0.081 0,16.599 0,16.599l-28.428,0l0,19.8l0.052,-0l-0,102.802l28.376,0l0,13.229l-12.624,-0l0,15.237l-34.591,0Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "d": "M66.342,211.756l-0,-156.949l31.575,0.159l0,20.048l12.682,0l-0,16.599l-30.762,0l-0,120.143l-13.495,0Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + } + ], + "id": "Corridors", + "name": "Corridors", + "opacity": "0.95", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "lightgray" + }, + "height": "23.089", + "name": "rect", + "type": "rect", + "width": "25.943", + "x": 15.376, + "y": "212.493" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "15.591", + "name": "rect", + "type": "rect", + "width": "25.943", + "x": "15.376", + "y": "235.582" + }, + { + "d": "M40.017,54.794l26.439,-0l0,157.699l-51.08,0l0,-134.863l24.641,-0l-0,-22.836Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "24.521", + "name": "rect", + "type": "rect", + "width": "21.863", + "x": 18.188, + "y": "53.332" + } + ], + "id": "West", + "name": "West", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "lightgray" + }, + "height": "102.802", + "name": "rect", + "type": "rect", + "width": "28.377", + "x": "705.101", + "y": "111.571" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "15.238", + "name": "rect", + "type": "rect", + "width": "276.656", + "x": "720.854", + "y": "227.601" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "152.194", + "name": "rect", + "type": "rect", + "width": "264.032", + "x": "733.478", + "y": "75.407" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "19.8", + "name": "rect", + "type": "rect", + "width": "17.673", + "x": "715.804", + "y": "91.771" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "19.8", + "name": "rect", + "type": "rect", + "width": "10.755", + "x": "705.05", + "y": "91.771" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "20.048", + "name": "rect", + "type": "rect", + "width": "276.714", + "x": "720.796", + "y": "55.124" + } + ], + "id": "DH201", + "name": "DH201", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "lightgray" + }, + "height": "100.343", + "name": "rect", + "type": "rect", + "width": "28.377", + "x": "393.675", + "y": "111.571" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "15.238", + "name": "rect", + "type": "rect", + "width": "276.656", + "x": "409.606", + "y": "227.601" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "152.194", + "name": "rect", + "type": "rect", + "width": "264.032", + "x": "422.23", + "y": "75.407" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "19.8", + "name": "rect", + "type": "rect", + "width": "17.673", + "x": "404.378", + "y": "91.771" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "19.8", + "name": "rect", + "type": "rect", + "width": "10.703", + "x": "393.675", + "y": "91.771" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "20.048", + "name": "rect", + "type": "rect", + "width": "276.714", + "x": "409.549", + "y": "55.124" + } + ], + "id": "DH202", + "name": "DH202", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "lightgray" + }, + "height": "103.208", + "name": "rect", + "type": "rect", + "width": "30.762", + "x": "79.951", + "y": "108.706" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "15.238", + "name": "rect", + "type": "rect", + "width": "276.77", + "x": "97.975", + "y": "227.601" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "152.194", + "name": "rect", + "type": "rect", + "width": "264.119", + "x": "110.627", + "y": "75.407" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "17.078", + "name": "rect", + "type": "rect", + "width": "19.159", + "x": "91.554", + "y": "91.628" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "16.935", + "name": "rect", + "type": "rect", + "width": "11.711", + "x": "79.844", + "y": "91.771" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "20.048", + "name": "rect", + "type": "rect", + "width": "276.855", + "x": "97.89", + "y": "55.124" + } + ], + "id": "DH203", + "name": "DH203", + "type": "group" + }, + { + "elements": [ + { + "d": "M1010.28,87.525l19.716,-0l0,89.661l21.912,-0l0,79.495l-50.614,0l0,-5.447l8.986,0l-0,-163.709Z", + "fill": { + "opacity": "0.88", + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "d": "M1012.24,76.375l9.217,0l-0,9.056l-11.182,0l-0,-7.189l1.965,-0l-0,-1.867Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "11.339", + "name": "rect", + "type": "rect", + "width": "11.406", + "x": "1010.24", + "y": "52.742" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "16.585", + "name": "rect", + "type": "rect", + "width": "11.406", + "x": "1030.9", + "y": "59.846" + }, + { + "d": "M1010.28,72.906l-0,-4.029l11.182,-0l-0,5.587l-9.289,-0l0,-1.558l-1.893,-0Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + } + ], + "id": "East", + "name": "East", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "lightgray" + }, + "height": "35.629", + "name": "rect", + "type": "rect", + "width": "16.066", + "x": "15.491", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "35.629", + "name": "rect", + "type": "rect", + "width": "35.231", + "x": "31.556", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.624", + "x": "66.787", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.296", + "x": "118.411", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.296", + "x": "169.708", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.296", + "x": "221.004", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.296", + "x": "272.301", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.296", + "x": "323.597", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "54.794", + "x": "374.894", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.187", + "x": "429.688", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.624", + "x": "480.875", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.406", + "x": "532.499", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "50.969", + "x": "583.905", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.187", + "x": "634.873", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "54.357", + "x": "686.061", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.296", + "x": "740.417", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.296", + "x": "791.714", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.624", + "x": "843.01", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": 50.969, + "x": "894.634", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.734", + "x": "945.603", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "17.185", + "name": "rect", + "type": "rect", + "width": "10.573", + "x": "997.337", + "y": "23.138" + }, + { + "d": "M997.337,22.947l-0,-19.126l54.568,-0l0,36.502l-43.825,0l-0,-17.376l-10.743,-0Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + } + ], + "id": "North", + "name": "North", + "type": "group" + } + ], + "id": "Rooms", + "name": "Rooms", + "type": "group" + }, + { + "d": "M1010.19,251.059l-994.839,0l0,-247.345l1036.44,0l-0,83.693m-0,89.367l-0,79.719m-41.599,-5.434l-0,-2.292m-10.402,-248.369l0,3.316l-11.769,0l0,-3.316l11.769,-0Zm-102.714,-0l0,3.316l-11.769,0l0,-3.316l11.769,-0Zm-102.714,-0l0,3.316l-11.769,0l0,-3.316l11.769,-0Zm-106.218,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm-102.823,-0l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm-102.605,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm-106.218,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm-102.714,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm-102.714,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm-102.933,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm14.199,250.661l-0,3.317l-11.769,0l-0,-3.317l11.769,0Zm78.141,0l0,3.317l-11.769,0l0,-3.317l11.769,0Zm108.518,0l0,3.317l-11.769,0l-0,-3.317l11.769,0Zm92.421,0l-0,3.317l-11.77,0l0,-3.317l11.77,0Zm108.846,0l-0,3.317l-11.769,0l-0,-3.317l11.769,0Zm107.861,0l-0,3.317l-11.77,0l0,-3.317l11.77,0Zm142.849,0l-0,3.317l-11.77,0l0,-3.317l11.77,0Zm92.311,0l-0,3.317l-11.769,0l-0,-3.317l11.769,0Zm108.299,0l-0,3.317l-11.77,0l0,-3.317l11.77,0Zm63.402,0l-0,3.317l-11.769,0l-0,-3.317l11.769,0Zm66.807,-163.652l-21.804,0l-0,89.367l21.804,0m-21.804,-89.367l-19.795,0l-0,-2.122m-957.238,165.774l-0,14.956l-36.793,0l-0,-14.956l36.793,0Zm-37.601,-201.07l-14.955,-0l-0,-36.793l14.955,-0l0,36.793Zm402.74,201.07l-0,14.956l-35.84,0l-0,-14.956l35.84,0Zm488.384,0l-0,14.956l-35.84,0l-0,-14.956l35.84,0Zm-878.402,0l-0,14.956l-5.537,0l0,-14.956l5.537,0Zm-12.722,-225.949l-14.955,-0l-0,-5.537l14.955,0l0,5.537Zm375.282,225.949l-0,14.956l-5.873,0l-0,-14.956l5.873,0Zm488.384,0l-0,14.956l-5.873,0l-0,-14.956l5.873,0Zm-829.289,0.589l0,14.367l-5.536,0l-0,-14.367l5.536,0Zm-34.966,-204.883l-14.366,-0l-0,-5.537l14.366,0l0,5.537Zm397.526,204.883l0,14.367l-5.536,0l-0,-14.367l5.536,0Zm488.384,0l0,14.367l-5.536,0l-0,-14.367l5.536,0Zm-856.621,7.184l0,1.997l-15.978,0l-0,-1.997l15.978,-0Zm-36.623,-217.674l-2.221,0l-0,-15.978l2.221,-0l0,15.978Zm4.811,-0.07l-11.843,0l-0,-15.978l11.843,-0l0,15.978Zm394.372,217.744l0,1.997l-15.978,0l-0,-1.997l15.978,-0Zm488.384,-0l0,1.997l-15.978,0l-0,-1.997l15.978,-0Zm-865.31,-4.661l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm-17.446,-227.45l-11.843,0l-0,-1.611l11.843,-0l0,1.611Zm380.006,227.45l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm488.384,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm-849.333,0l0,11.214l-1.611,-0l-0,-11.214l1.611,0Zm362.56,0l0,11.214l-1.611,-0l-0,-11.214l1.611,0Zm488.384,0l0,11.214l-1.611,-0l-0,-11.214l1.611,0Zm-849.332,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm-20.669,-224.226l-11.843,0l-0,-1.612l11.843,0l0,1.612Zm383.229,224.226l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm488.384,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm-849.332,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm362.56,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm488.384,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm-849.332,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm-23.893,-221.002l-11.843,-0l-0,-1.612l11.843,0l0,1.612Zm386.453,221.002l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm488.384,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm-849.332,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm362.56,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm488.384,0l-0,11.214l-1.612,-0l0,-11.214l1.612,0Zm-849.332,0l-0,11.214l-1.612,-0l0,-11.214l1.612,0Zm-27.117,-217.778l-11.843,-0l-0,-1.612l11.843,-0l0,1.612Zm389.677,217.778l-0,11.214l-1.612,-0l0,-11.214l1.612,0Zm488.384,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm-849.332,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm362.56,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm488.384,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm-849.332,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm-30.341,-214.554l-11.843,-0l-0,-1.612l11.843,-0l0,1.612Zm392.901,214.554l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm488.384,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm-849.332,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm-23.926,-214.872l-4.915,0l0,-35.585l16.094,0l-0,35.585l-3.114,0m10.099,0l-6.985,0l-0,-35.585l35.216,0l-0,35.585l-20.231,0m597.22,0.876l-8.75,0l-0,-36.461l51.23,0l-0,36.461l-5.521,0m-7.625,0l-25.073,0m-55.49,0l-8.751,0l0,-36.461l51.23,0l-0,36.461l-5.521,0m-7.625,0l-25.072,0m-55.491,0l-8.75,0l-0,-36.461l51.229,0l0,36.461l-5.521,0m-7.624,0l-25.073,0m-55.858,0l-8.751,0l0,-36.461l51.23,0l-0,36.461l-5.521,0m-7.625,0l-25.072,0m-55.583,0l-8.766,0l0,-36.461l51.32,0l-0,36.461l-5.531,0m-7.638,0l-25.117,0m-111.701,0l-6.979,0l0,-36.461l50.722,0l-0,36.461l-6.309,0m-7.726,0l-25.622,0m-55.689,0l-7.12,0l-0,-36.461l51.744,0l0,36.461l-6.435,0m-7.883,0l-26.138,0m-55.433,0l-7.043,0l-0,-36.461l51.188,0l-0,36.461l-6.366,0m-7.798,0l-25.857,0m-55.458,0l-7.044,0l0,-36.461l51.188,0l0,36.461l-6.366,0m-7.798,0l-25.857,0m-55.312,0l-7.043,0l0,-36.461l51.188,0l0,36.461l-6.366,0m-7.798,0l-25.857,0m-55.868,0l-7.043,0l-0,-36.461l51.188,0l-0,36.461l-36.151,0m303.252,0l-10.368,0l-0,-36.461l54.924,0l0,36.461l-36.867,0m303.533,0l-10.042,0l-0,-36.461l54.087,0l-0,36.461l-36.195,0m44.897,0l-8.702,0l-0,-36.461l51.334,0l0,36.461l-5.674,0m-7.894,0l-25.252,0m47.499,0l-8.679,0l0,-36.461l51.51,0l0,36.461l-5.649,0m-8.342,0l-24.4,0m46.826,0l-8.435,0l0,-36.461l51.335,0l0,36.461l-5.718,0m-7.67,0l-25.296,0m47.498,0l-8.814,0l0,-36.461l51.072,0l0,36.461l-5.479,0m-8.028,0l-24.669,0m46.826,0l-8.65,0l0,-36.461l51.685,0l0,36.461l-5.763,0m-7.849,0l-25.162,0m40.456,0l-1.682,0l0,-17.472l10.863,0l-0,17.472l-5.368,0m-595.896,213.996l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm488.384,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm156.653,2.322l-50.468,-0l-0,-5.434m43.313,-210.884l7.155,0m-43.773,0l28.733,0m-662.143,29.237l0,5.503l-276.536,-0l-0,-5.498m-0,-8.612l-0,-5.78l276.536,-0l0,5.833m311.467,8.554l-0,5.503l-276.537,-0l0,-5.498m0,-8.612l0,-5.78l276.537,-0l-0,5.833m311.2,8.554l-0,5.503l-276.537,-0l0,-5.498m0,-8.612l0,-5.78l276.537,-0l-0,5.833m-622.667,181.679l-276.536,-0m-0,-8.206l-0,-6.881l276.536,-0l0,6.463m311.467,8.624l-276.537,-0m0,-8.206l0,-6.881l276.537,-0l-0,6.491m311.2,8.596l-276.537,-0m0,-8.206l0,-6.881l276.537,-0l-0,6.434m-886.522,-158.969l0,1.573m311.467,-1.573l-0,1.573m311.2,-1.573l-0,1.573m-358.812,-1.573l0,1.573m311.467,-1.573l-0,1.573m311.2,-1.573l-0,1.573m-886.522,8.074l0,134.332m311.467,-134.332l-0,134.332m311.2,-134.332l-0,134.332m-358.812,-134.332l0,134.332m311.467,-134.332l-0,134.332m311.2,-134.332l-0,134.332m-893.818,-127.238l7.296,-0l0,16.749l-19.519,0l0,-16.749l6.367,-0m318.718,-0l5.901,-0l-0,19.512l-19.519,0l-0,-19.512l6.366,-0m319.792,-0l4.561,-0l-0,19.721l-17.557,-0l-0,-19.721l5.194,-0m-632.383,120.012l-8.863,-0l-0,-103.263l30.942,0l0,103.263l-14.113,-0m300.869,-0l-4.042,-0l0,-100.5l28.753,0l-0,100.5l-16.493,-0m302.255,2.464l-2.904,-0l-0,-102.755l28.342,-0l-0,102.755l-16.796,-0m-630.642,-72.262l-0,8.503l-6.171,0l-0,-8.503l6.171,-0Zm929.903,11.241l0,13.003l-5.693,-0l-0,-13.003l5.693,0Zm-929.903,48.138l-0,10.419l-6.171,-0l-0,-10.419l6.171,-0Zm-6.171,-108.271l-0,-1.322l11.423,-0l0,16.749l-11.423,0l-0,-11.724m313.656,-5.025l9.234,-0l-0,19.512l-9.234,0l0,-14.613m311.611,-4.899l10.785,-0l-0,19.721l-10.785,-0l-0,-14.741m305.114,143.89l-0,-143.947m11.387,-44.034l0,11.55l-11.387,-0l-0,-11.55l11.387,0Zm20.856,0l9.356,0l-0,32.74l-30.212,0l0,-32.74l8.915,0m11.941,0l0,23.94l-11.941,0l-0,-23.94m9.714,7.177l2.227,-0l0,16.763l-11.941,0l-0,-16.763l3.716,-0m-3.716,0.673l-0,16.09l-8.915,0l0,-16.09l8.915,-0Zm21.297,-0l-0,16.09l-9.356,0l0,-16.09l9.356,-0Zm-10.447,24.89l-10.891,0l0,-8.8l10.891,0l0,8.8Zm-10.85,-23.279l-0,1.851l-8.915,-0l0,-1.851l8.915,0Zm21.297,0l-0,1.851l-9.356,-0l0,-1.851l9.356,0Zm-21.297,3.673l-0,1.85l-8.915,-0l0,-1.85l8.915,-0Zm21.297,-0l-0,1.85l-9.356,-0l0,-1.85l9.356,-0Zm-21.297,3.672l-0,1.85l-8.915,0l0,-1.85l8.915,-0Zm21.297,-0l-0,1.85l-9.356,0l0,-1.85l9.356,-0Zm-17.581,15.934l-1.85,0l0,-8.8l1.85,0l0,8.8Zm-3.716,-12.262l-0,1.85l-8.915,0l0,-1.85l8.915,0Zm21.297,0l-0,1.85l-9.356,0l0,-1.85l9.356,0Zm-14.042,12.262l-1.85,0l-0,-8.8l1.85,0l-0,8.8Zm1.85,0l-1.85,0l-0,-8.8l1.85,0l-0,8.8Zm-18.02,-16.37l-11.387,0l-0,3.689l2.214,0l-0,5.611l-2.214,0l-0,7.07l11.387,0m-9.066,-8.8l9.066,0m-9.066,-2.296l9.066,-0m-980.427,155.493l-0,5.746l-25.799,-0l0,-23.054l25.799,0l-0,4.601m2.292,-162.133l-3.289,0m0.997,157.532l25.295,0l-0,-157.532l-14.977,0m-10.318,191.642l-0,4.575m-0,-15.631l-0,2.99m-5.315,-185.177l4.318,0l0,24.334l-24.802,0l0,-24.334l8.156,0m42.938,1.601l-0,10.566l-12.648,0l0,-10.566l12.648,0Zm-25.295,149.367l-0,8.165l-11.619,0l0,-8.165l11.619,0Zm-23.003,-150.968l-0,24.334l-2.796,0l0,-24.334l2.796,0Z", + "fill": { + "paint": "transparent" + }, + "id": "_2ndFloor", + "name": "_2ndFloor", + "stroke": { + "opacity": "0.95", + "paint": "#545454", + "width": "0.8px" + }, + "type": "path" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1053 267" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_02_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1a29601056382a04b4de837c68a2e825884f1d1ad1d4edb52a6bdf4fb3308abe b/Gateways/FE/projects/.resources/1a29601056382a04b4de837c68a2e825884f1d1ad1d4edb52a6bdf4fb3308abe new file mode 100644 index 0000000..abb9e7b Binary files /dev/null and b/Gateways/FE/projects/.resources/1a29601056382a04b4de837c68a2e825884f1d1ad1d4edb52a6bdf4fb3308abe differ diff --git a/Gateways/FE/projects/.resources/1a3407785f3ab940f082a6378012292a16c1e7d36c4721406356c1c52c9d717e b/Gateways/FE/projects/.resources/1a3407785f3ab940f082a6378012292a16c1e7d36c4721406356c1c52c9d717e new file mode 100644 index 0000000..5488f9d --- /dev/null +++ b/Gateways/FE/projects/.resources/1a3407785f3ab940f082a6378012292a16c1e7d36c4721406356c1c52c9d717e @@ -0,0 +1,224 @@ +{ + "custom": {}, + "params": { + "Title": "DH1" + }, + "propConfig": { + "params.Title": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1002, + "width": 250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "17px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.Title" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Power" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TimeSeriesChart" + }, + "position": { + "basis": "138px" + }, + "props": { + "defaultStyles": { + "colorScheme": "Dark2" + }, + "series": [ + { + "data": [ + { + "Pressure": 12, + "Temperature": 60, + "time": 1560469431423 + }, + { + "Pressure": 42, + "Temperature": 18, + "time": 1560469432423 + }, + { + "Pressure": 81, + "Temperature": 26, + "time": 1560469433423 + }, + { + "Pressure": 11, + "Temperature": 63, + "time": 1560469434423 + }, + { + "Pressure": 23, + "Temperature": 65, + "time": 1560469435423 + }, + { + "Pressure": 43, + "Temperature": 12, + "time": 1560469436423 + }, + { + "Pressure": 71, + "Temperature": 61, + "time": 1560469437423 + }, + { + "Pressure": 89, + "Temperature": 60, + "time": 1560469438423 + }, + { + "Pressure": 66, + "Temperature": 58, + "time": 1560469439423 + }, + { + "Pressure": 33, + "Temperature": 1, + "time": 1560469440423 + } + ], + "name": "Boiler" + } + ], + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderStyle": "solid", + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "borderWidth": 1 + }, + "timeAxis": { + "visible": false + }, + "timeRange": { + "visible": false + }, + "title": { + "text": "Power" + }, + "xTrace": { + "visible": false + } + }, + "type": "ia.chart.timeseries" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "831px" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "path": "Pages/Dev/D_Electrical/L1/Widgets/DH ER" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "96.4%" + }, + "props": { + "direction": "column", + "style": { + "paddingBottom": 0, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 0 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1a60ebb4d892c93a3cce2b58b1f7db8e864743f120d6586bb179200990360496 b/Gateways/FE/projects/.resources/1a60ebb4d892c93a3cce2b58b1f7db8e864743f120d6586bb179200990360496 new file mode 100644 index 0000000..d114f04 --- /dev/null +++ b/Gateways/FE/projects/.resources/1a60ebb4d892c93a3cce2b58b1f7db8e864743f120d6586bb179200990360496 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \"\",\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948474968 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948474968 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1a618335d1264093327456535c278f72b2d0b947e7438d6d8bfe756f6b8cd24a b/Gateways/FE/projects/.resources/1a618335d1264093327456535c278f72b2d0b947e7438d6d8bfe756f6b8cd24a new file mode 100644 index 0000000..6aa7673 Binary files /dev/null and b/Gateways/FE/projects/.resources/1a618335d1264093327456535c278f72b2d0b947e7438d6d8bfe756f6b8cd24a differ diff --git a/Gateways/FE/projects/.resources/1a7bfd11d2170f7d998a1eedc8ed073b6f96f68ce886afb60434fefad4bf792b b/Gateways/FE/projects/.resources/1a7bfd11d2170f7d998a1eedc8ed073b6f96f68ce886afb60434fefad4bf792b new file mode 100644 index 0000000..d5c599d --- /dev/null +++ b/Gateways/FE/projects/.resources/1a7bfd11d2170f7d998a1eedc8ed073b6f96f68ce886afb60434fefad4bf792b @@ -0,0 +1,4879 @@ +{ + "custom": {}, + "params": {}, + "permissions": { + "securityLevels": [], + "type": "AllOf" + }, + "props": { + "defaultSize": { + "height": 1018, + "width": 1504 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": { + "box": "var(--olGray)" + } + }, + "meta": { + "name": "Mechanical Overview" + }, + "position": { + "height": 597, + "width": 1300, + "x": -25, + "y": 8 + }, + "propConfig": { + "custom.pipesOpacity": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "fallback": "100%", + "inputType": "scalar", + "mappings": [ + { + "input": "stream-light", + "output": "30%" + }, + { + "input": "stream-dark", + "output": "50%" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.box" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.box" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.box" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.box" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.box" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[1].opacity": { + "binding": { + "config": { + "path": "this.custom.pipesOpacity" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[3].opacity": { + "binding": { + "config": { + "path": "this.custom.pipesOpacity" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M624.232,4.167c0,-0.995 0.395,-1.949 1.098,-2.652c0.704,-0.703 1.658,-1.098 2.652,-1.098l286.027,-0c0.995,-0 1.949,0.395 2.652,1.098c0.703,0.703 1.098,1.657 1.098,2.652l0,75.894c0,0.994 -0.395,1.948 -1.098,2.651c-0.703,0.704 -1.657,1.099 -2.652,1.099l-286.027,-0c-0.994,-0 -1.948,-0.395 -2.652,-1.099c-0.703,-0.703 -1.098,-1.657 -1.098,-2.651l0,-75.894Z", + "fill": { + "paint": "transparent" + }, + "id": "DH1", + "name": "DH1", + "stroke": { + "dasharray": "26.67,6.67,6.67,6.67,6.67,6.67", + "paint": "var(--olGray)", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M624.232,94.167c0,-0.995 0.395,-1.949 1.098,-2.652c0.704,-0.703 1.658,-1.098 2.652,-1.098l286.027,-0c0.995,-0 1.949,0.395 2.652,1.098c0.703,0.703 1.098,1.657 1.098,2.652l0,75.894c0,0.994 -0.395,1.948 -1.098,2.651c-0.703,0.704 -1.657,1.099 -2.652,1.099l-286.027,-0c-0.994,-0 -1.948,-0.395 -2.652,-1.099c-0.703,-0.703 -1.098,-1.657 -1.098,-2.651l0,-75.894Z", + "fill": { + "paint": "transparent" + }, + "id": "DH2", + "name": "DH2", + "stroke": { + "dasharray": "26.67,6.67,6.67,6.67,6.67,6.67", + "paint": "var(--olGray)", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M624.232,184.167c0,-2.071 1.679,-3.75 3.75,-3.75l286.027,-0c0.995,-0 1.949,0.395 2.652,1.098c0.703,0.703 1.098,1.657 1.098,2.652l0,75.894c0,0.994 -0.395,1.948 -1.098,2.651c-0.703,0.704 -1.657,1.099 -2.652,1.099l-286.027,-0c-2.071,-0 -3.75,-1.679 -3.75,-3.75c0,-15.069 0,-73.335 0,-75.894Z", + "fill": { + "paint": "transparent" + }, + "id": "DH3", + "name": "DH3", + "stroke": { + "dasharray": "26.67,6.67,6.67,6.67,6.67,6.67", + "paint": "var(--olGray)", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M624.232,274.167c0,-0.995 0.395,-1.949 1.098,-2.652c0.704,-0.703 1.658,-1.098 2.652,-1.098l286.027,-0c0.995,-0 1.949,0.395 2.652,1.098c0.703,0.703 1.098,1.657 1.098,2.652l0,75.894c0,0.994 -0.395,1.948 -1.098,2.651c-0.703,0.704 -1.657,1.099 -2.652,1.099l-286.027,-0c-0.994,-0 -1.948,-0.395 -2.652,-1.099c-0.703,-0.703 -1.098,-1.657 -1.098,-2.651l0,-75.894Z", + "fill": { + "paint": "transparent" + }, + "id": "DH4", + "name": "DH4", + "stroke": { + "dasharray": "26.67,6.67,6.67,6.67,6.67,6.67", + "paint": "var(--olGray)", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M624.232,364.167c0,-2.071 1.679,-3.75 3.75,-3.75c31.692,-0 254.336,-0 286.027,-0c2.072,-0 3.75,1.679 3.75,3.75c0,13.908 0,62.454 0,76.362c0,2.072 -1.678,3.75 -3.75,3.75c-31.691,0 -254.335,0 -286.027,0c-2.071,0 -3.75,-1.678 -3.75,-3.75c0,-13.908 0,-62.454 0,-76.362Z", + "fill": { + "paint": "transparent" + }, + "id": "DH5", + "name": "DH5", + "stroke": { + "dasharray": "26.67,6.67,6.67,6.67,6.67,6.67", + "paint": "var(--olGray)", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "DH-Rooms", + "name": "DH-Rooms", + "type": "group" + }, + { + "elements": [ + { + "d": "M572.2420000005513 375.804l0-256.2", + "fill": { + "paint": "transparent" + }, + "name": "path_1", + "stroke": { + "linecap": "square", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M158.468,119.6l375.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M158.468,375.91l375.307,-0.112", + "fill": { + "paint": "transparent" + }, + "name": "path_0", + "stroke": { + "linecap": "butt", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M571.275,375.804l12.585,0l17.666,63.931l244.108,-0.003l0.032,-22.251", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M571.275,314.679l17.701,0l10.388,35.649l246.27,0.015l0.032,-22.269", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M571.275,252.054l19.243,0l6.991,7.295l248.145,-0l0,-20.378", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M571.275,189.654l17.448,0l10.936,-20.12l245.995,-0.026l0,-22.303", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M571.275,119.623l13.462,-0.019l14.956,-41.359l245.961,-0.032l0,-20.935", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + } + ], + "id": "Supply-Pipes", + "name": "Supply-Pipes", + "opacity": "100%", + "type": "group" + }, + { + "elements": [ + { + "d": "M158.468,105.337l252.635,-0.017l15.393,-38.03l180.958,-0.03l0,-61.819l238.2,0l0,29.142", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#079a31", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M158.468,390.878l252.682,0.001l13.297,28.873l183.007,-0l0,-368.549", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#079a31", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M607.551,95.441l238.103,0l0,28.964", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "square", + "paint": "#079a31", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M607.551,185.061l238.103,0l0,30.316", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "square", + "paint": "#079a31", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M607.551,274.377l238.103,0l0,30.028", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "square", + "paint": "#079a31", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M607.551,364.985l238.103,0l0,29.177", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "square", + "paint": "#079a31", + "width": "3.33px" + }, + "type": "path" + } + ], + "id": "Return-Pipes", + "name": "Return-Pipes", + "opacity": "100%", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 919 445" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Title Rooftop" + }, + "position": { + "height": 32, + "rotate": { + "anchor": "50% 37%" + }, + "width": 130, + "x": 18.9955, + "y": 110.982 + }, + "props": { + "text": "Rooftop Chillers" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Title Pump" + }, + "position": { + "height": 32, + "width": 130, + "x": 243.636, + "y": 111.976 + }, + "props": { + "text": "Pump Room" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\tviewPath \u003d \u0027Pages/Dev/B_Mechanical/L3/B301 Chillers LLS\u0027\n\ttitle \u003d \u0027Chillers LLS\u0027\n\tutils.nav.openLLSPopup(viewPath,title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Btn Chiller LLS" + }, + "position": { + "height": 40, + "width": 120, + "x": 1384, + "y": 491.5 + }, + "props": { + "text": "Chillers LLS" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\tviewPath \u003d \u0027Pages/Dev/B_Mechanical/L3/B302 CHW Pumps LLS\u0027\n\ttitle \u003d \u0027Chilled Water Pumps LLS\u0027\n\tutils.nav.openLLSPopup(viewPath,title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Btn CHWP LLS" + }, + "position": { + "height": 40, + "rotate": { + "anchor": "50% 40%" + }, + "width": 120, + "x": 1254, + "y": 491.5 + }, + "props": { + "style": { + "key": "value" + }, + "text": "CHWP LLS" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Divider 01" + }, + "position": { + "height": 1, + "width": 250, + "x": 1254, + "y": 243 + }, + "props": { + "style": { + "backgroundColor": "var(--olGray)" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CHWP PID Container" + }, + "position": { + "height": 131, + "width": 120, + "x": 1254, + "y": 538.1 + }, + "props": { + "params": { + "embedded": false, + "objectName": "PID_Loop", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_PID" + }, + "path": "Library/Cards/Card_PID", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP_SpdSP" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "67px" + }, + "props": { + "alignVertical": "top", + "text": "CHWP Speed Setpoint", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP_ADDLimit" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "CHWP Add Limit", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP SUB Limit" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "CHWP SuB Limit", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP_Demand" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "VFD", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "67px" + }, + "props": { + "alignVertical": "top", + "text": "CHWP Demand", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CHWP Calculation Container" + }, + "position": { + "height": 144, + "width": 250, + "x": 1254, + "y": 679 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_LLS/Value Feedback" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "67px" + }, + "props": { + "alignVertical": "top", + "text": "CHWP Ref Feedback", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "text": "1-3 \u003d 1 ASPs", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "text": "4-6 \u003d 2 ASPs", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "25%" + }, + "props": { + "text": "7-9 \u003d 3 ASPs", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "basis": "25%" + }, + "props": { + "text": "10+ \u003d 4 ASPs", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ASP Demand" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "67px" + }, + "props": { + "alignVertical": "top", + "text": "ASP Demand", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "ASP Calculation Container" + }, + "position": { + "height": 144, + "width": 250, + "x": 1254, + "y": 832 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "DHDP Avg Block" + }, + "position": { + "height": 60, + "width": 120, + "x": 1384, + "y": 609.1 + }, + "props": { + "params": { + "embedded": false, + "format": "###.##", + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/DHDP_AvgObj" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Chiller DP Block" + }, + "position": { + "height": 60, + "width": 120, + "x": 123.25, + "y": 23 + }, + "props": { + "params": { + "embedded": false, + "format": "##.##", + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/ChillerDP_AvgObj" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CHWST Avg Block" + }, + "position": { + "height": 60, + "width": 120, + "x": 1384, + "y": 539 + }, + "props": { + "params": { + "embedded": false, + "format": "###.##", + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWST_AvgObj" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Plan Failures Block" + }, + "position": { + "height": 61, + "width": 195, + "x": 600, + "y": 19 + }, + "props": { + "params": { + "embedded": false, + "objectName": "PlantFailure", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "path": "Library/Widgets/Wdg_PlantFailure", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VFD Pie Chart" + }, + "position": { + "height": 97, + "width": 113, + "x": 336.096875, + "y": 7 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Chillers Pie Chart" + }, + "position": { + "height": 97, + "width": 96, + "x": 4, + "y": 7 + }, + "propConfig": { + "custom.counts": { + "access": "PUBLIC" + } + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof" + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH3 Elements" + }, + "position": { + "height": 112, + "width": 402, + "x": 841, + "y": 12 + }, + "props": { + "params": { + "DH": "DH3" + }, + "path": "Library/Widgets/Mechanical/Wdg_DH_Overview", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH2 Elements" + }, + "position": { + "height": 112, + "width": 402, + "x": 841, + "y": 133 + }, + "props": { + "params": { + "DH": "DH2" + }, + "path": "Library/Widgets/Mechanical/Wdg_DH_Overview", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH4 Elements" + }, + "position": { + "height": 112, + "width": 402, + "x": 841, + "y": 253 + }, + "props": { + "params": { + "DH": "DH4" + }, + "path": "Library/Widgets/Mechanical/Wdg_DH_Overview", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH1 Elements" + }, + "position": { + "height": 112, + "width": 402, + "x": 841, + "y": 373 + }, + "props": { + "params": { + "DH": "DH1" + }, + "path": "Library/Widgets/Mechanical/Wdg_DH_Overview", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH5 Elements" + }, + "position": { + "height": 112, + "width": 402, + "x": 841, + "y": 495 + }, + "props": { + "params": { + "DH": "DH5" + }, + "path": "Library/Widgets/Mechanical/Wdg_DH_Overview", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "ChillerTagInfo": { + "chillerLLSPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS", + "statusTranslation": [ + { + "index": 0, + "value": [ + "Not Avail", + "Available" + ] + }, + { + "index": 1, + "value": [ + "Stopped", + "Running" + ] + }, + { + "index": 2, + "value": [ + "Good", + "Failed" + ] + } + ] + } + }, + "meta": { + "name": "Chiller LLS Table" + }, + "position": { + "height": 366.84, + "width": 610, + "x": 9, + "y": 611.16 + }, + "propConfig": { + "custom.ChillerTagInfo.nUnits": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{tagPath}/Config/Number of Units" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.priority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{1}/Reference Devices" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{1}/Status Devices" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.statusBinary": { + "binding": { + "config": { + "path": "this.custom.ChillerTagInfo.status" + }, + "transforms": [ + { + "code": "\t\n\tdef int_to_bits(num):\n\t # Ensure the integer is formatted as a 3-bit binary string and then reversed\n\t binary_str \u003d format(num % 8, \u002703b\u0027) # % 8 ensures only the last 3 bits are considered\n\t return [int(bit) for bit in binary_str[::-1]]\n\t\n\treturn [int_to_bits(num) for num in value]", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "struct": { + "nUnits": "{this.custom.ChillerTagInfo.nUnits}", + "priority": "{this.custom.ChillerTagInfo.priority}", + "status": "{this.custom.ChillerTagInfo.statusBinary}", + "statusTranslation": "{this.custom.ChillerTagInfo.statusTranslation}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor i, priority in enumerate(range(value[\u0027nUnits\u0027])):\n\t\tif i\u003c9:\n\t\t\tchillerName \u003d \u0027Chiller 0{}\u0027.format(i+1)\n\t\telse:\n\t\t\tchillerName \u003d \u0027Chiller {}\u0027.format(i+1)\n\t\tstatusTxt \u003d \"Available\"\n\t\tbgColor \u003d \"transparent\"\n\t\tif value[\u0027statusTranslation\u0027][2].value[value[\u0027status\u0027][i][2]] \u003d\u003d \"Failed\":\n\t\t\tstatusTxt\u003d \"Failed\"\n\t\t\tbgColor \u003d \u0027var(--error)\u0027\n\t\telif value[\u0027statusTranslation\u0027][1].value[value[\u0027status\u0027][i][1]]\u003d\u003d\"Running\":\n\t\t\tstatusTxt\u003d \"Running\"\t\t\n\t\t\n\t\t\n\t\tnewRow \u003d {\n\t\t\t\t\u0027index\u0027: i, # index\n\t\t\t\t\u0027chillerName\u0027: {\n\t\t\t\t\t\u0027value\u0027: chillerName, # chillerName\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027margin-left\u0027: 10\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\"status\": {\"value\":statusTxt,\n\t\t\t\t\t\t\t\"style\":{\n\t\t\t\t\t\t\t\t\"backgroundColor\":bgColor}\n\t\t\t\t\t\t},\n\t\t\t\t\u0027priority\u0027 : value[\u0027priority\u0027][i],\n\t\t\t\t\u0027priority2\u0027: value[\u0027priority\u0027][i] if value[\u0027priority\u0027][i] \u003e 0 else 999 , # priority\n\t\t\t}\n\t\toutput.append(newRow)\n\t\tif i \u003d\u003d value[\u0027nUnits\u0027]-1:\n\t\t\tbreak\n\treturn self.sortChillerData(output)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "index", + "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": false, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "chillerName", + "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": "Chiller" + }, + "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": "status", + "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": "Status" + }, + "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": "priority2", + "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": "number", + "resizable": true, + "sort": "ascending", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": false, + "width": 0 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "priority", + "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": "Priority" + }, + "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": [ + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 41" + }, + "index": 40, + "priority": 1, + "priority2": 1, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 26" + }, + "index": 25, + "priority": 2, + "priority2": 2, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 29" + }, + "index": 28, + "priority": 3, + "priority2": 3, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 08" + }, + "index": 7, + "priority": 4, + "priority2": 4, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 46" + }, + "index": 45, + "priority": 5, + "priority2": 5, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 44" + }, + "index": 43, + "priority": 6, + "priority2": 6, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 12" + }, + "index": 11, + "priority": 7, + "priority2": 7, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 11" + }, + "index": 10, + "priority": 8, + "priority2": 8, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 28" + }, + "index": 27, + "priority": 9, + "priority2": 9, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 40" + }, + "index": 39, + "priority": 10, + "priority2": 10, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 13" + }, + "index": 12, + "priority": 11, + "priority2": 11, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 36" + }, + "index": 35, + "priority": 12, + "priority2": 12, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 19" + }, + "index": 18, + "priority": 13, + "priority2": 13, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 24" + }, + "index": 23, + "priority": 14, + "priority2": 14, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 20" + }, + "index": 19, + "priority": 15, + "priority2": 15, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 17" + }, + "index": 16, + "priority": 16, + "priority2": 16, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 47" + }, + "index": 46, + "priority": 17, + "priority2": 17, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 38" + }, + "index": 37, + "priority": 18, + "priority2": 18, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 30" + }, + "index": 29, + "priority": 19, + "priority2": 19, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 07" + }, + "index": 6, + "priority": 20, + "priority2": 20, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 05" + }, + "index": 4, + "priority": 21, + "priority2": 21, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 27" + }, + "index": 26, + "priority": 22, + "priority2": 22, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 15" + }, + "index": 14, + "priority": 23, + "priority2": 23, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 34" + }, + "index": 33, + "priority": 24, + "priority2": 24, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 35" + }, + "index": 34, + "priority": 25, + "priority2": 25, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 22" + }, + "index": 21, + "priority": 26, + "priority2": 26, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 14" + }, + "index": 13, + "priority": 27, + "priority2": 27, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 33" + }, + "index": 32, + "priority": 28, + "priority2": 28, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 45" + }, + "index": 44, + "priority": 29, + "priority2": 29, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 21" + }, + "index": 20, + "priority": 30, + "priority2": 30, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 16" + }, + "index": 15, + "priority": 31, + "priority2": 31, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 48" + }, + "index": 47, + "priority": 32, + "priority2": 32, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 43" + }, + "index": 42, + "priority": 33, + "priority2": 33, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 39" + }, + "index": 38, + "priority": 34, + "priority2": 34, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 23" + }, + "index": 22, + "priority": 35, + "priority2": 35, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 31" + }, + "index": 30, + "priority": 36, + "priority2": 36, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 02" + }, + "index": 1, + "priority": 37, + "priority2": 37, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 03" + }, + "index": 2, + "priority": 38, + "priority2": 38, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 04" + }, + "index": 3, + "priority": 39, + "priority2": 39, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 32" + }, + "index": 31, + "priority": 40, + "priority2": 40, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 09" + }, + "index": 8, + "priority": 41, + "priority2": 41, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 06" + }, + "index": 5, + "priority": 42, + "priority2": 42, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 25" + }, + "index": 24, + "priority": 43, + "priority2": 43, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 42" + }, + "index": 41, + "priority": 44, + "priority2": 44, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 01" + }, + "index": 0, + "priority": 45, + "priority2": 45, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 18" + }, + "index": 17, + "priority": 46, + "priority2": 46, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 10" + }, + "index": 9, + "priority": 47, + "priority2": 47, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 37" + }, + "index": 36, + "priority": 48, + "priority2": 48, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + } + ], + "pager": { + "bottom": false + } + }, + "scripts": { + "customMethods": [ + { + "name": "sortChillerData", + "params": [ + "arrData" + ], + "script": "\tpriority_rows \u003d sorted([row for row in arrData if row[\"priority2\"] \u003c 999], key\u003dlambda x: x[\"priority2\"])\n\tnewArr \u003d [row for row in arrData if row[\"priority2\"] \u003d\u003d 999]\n\tfor row in priority_rows:\n\t\tif row[\"priority2\"] \u003c 999:\n#\t\t\tsystem.perspective.print(\"%s placed in position %s\"%(row[\"chillerName\"][\"value\"], row[\"priority2\"]-1))\n\t\t\tnewArr.insert(row[\"priority2\"]-1, row)\n\t\n\treturn newArr\n\t\t\t\n\t\n\t" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.display.table" + }, + { + "custom": { + "ChillerTagInfo": { + "chillerLLSPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_LLS", + "statusTranslation": [ + { + "index": 0, + "value": [ + "Not Avail", + "Available" + ] + }, + { + "index": 1, + "value": [ + "Stopped", + "Running" + ] + }, + { + "index": 2, + "value": [ + "Good", + "Failed" + ] + } + ] + } + }, + "meta": { + "name": "CHWP LLS Table" + }, + "position": { + "height": 367, + "width": 610, + "x": 629, + "y": 611 + }, + "propConfig": { + "custom.ChillerTagInfo.nUnits": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{tagPath}/Config/Number of Units" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.priority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{1}/Reference Devices" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{1}/Status Devices" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.statusBinary": { + "binding": { + "config": { + "path": "this.custom.ChillerTagInfo.status" + }, + "transforms": [ + { + "code": "\t\n\tdef int_to_bits(num):\n\t # Ensure the integer is formatted as a 3-bit binary string and then reversed\n\t binary_str \u003d format(num % 8, \u002703b\u0027) # % 8 ensures only the last 3 bits are considered\n\t return [int(bit) for bit in binary_str[::-1]]\n\t\n\treturn [int_to_bits(num) for num in value]", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "struct": { + "nUnits": "{this.custom.ChillerTagInfo.nUnits}", + "priority": "{this.custom.ChillerTagInfo.priority}", + "status": "{this.custom.ChillerTagInfo.statusBinary}", + "statusTranslation": "{this.custom.ChillerTagInfo.statusTranslation}" + }, + "waitOnAll": false + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor i, priority in enumerate(range(value[\u0027nUnits\u0027])):\n\t\tif i \u003c 9:\n\t\t\tchillerName \u003d \u0027CHWP 0{}\u0027.format(i+1)\n\t\telse:\n\t\t\tchillerName \u003d \u0027CHWP {}\u0027.format(i+1)\n\t\tstatusTxt \u003d \"Available\"\n\t\tbgColor \u003d \"transparent\"\n\t\tif value[\u0027statusTranslation\u0027][2].value[value[\u0027status\u0027][i][2]] \u003d\u003d \"Failed\":\n\t\t\tstatusTxt\u003d \"Failed\"\n\t\t\tbgColor \u003d \u0027var(--error)\u0027\n\t\telif value[\u0027statusTranslation\u0027][1].value[value[\u0027status\u0027][i][1]]\u003d\u003d\"Running\":\n\t\t\tstatusTxt\u003d \"Running\"\t\t\n\t\t\n\t\t\n\t\tnewRow \u003d {\n\t\t\t\t\u0027index\u0027: i, # index\n\t\t\t\t\u0027chillerName\u0027: {\n\t\t\t\t\t\u0027value\u0027: chillerName, # chillerName\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027margin-left\u0027: 10\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\"status\": {\"value\":statusTxt,\n\t\t\t\t\t\t\t\"style\":{\n\t\t\t\t\t\t\t\t\"backgroundColor\":bgColor}\n\t\t\t\t\t\t},\n\t\t\t\t\u0027priority\u0027 : value[\u0027priority\u0027][i],\n\t\t\t\t\u0027priority2\u0027: value[\u0027priority\u0027][i] if value[\u0027priority\u0027][i] \u003e 0 else 999 , # priority\n\t\t\t}\n\t\toutput.append(newRow)\n\t\tif i \u003d\u003d value[\u0027nUnits\u0027]-1:\n\t\t\tbreak\n\treturn self.sortChillerData(output)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "index", + "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": false, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "chillerName", + "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": "CHWP" + }, + "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": "status", + "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": "Status" + }, + "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": "priority2", + "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": "number", + "resizable": true, + "sort": "ascending", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": false, + "width": 0 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "priority", + "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": "Priority" + }, + "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": "" + } + ], + "pager": { + "bottom": false + } + }, + "scripts": { + "customMethods": [ + { + "name": "sortChillerData", + "params": [ + "arrData" + ], + "script": "\tpriority_rows \u003d sorted([row for row in arrData if row[\"priority2\"] \u003c 999], key\u003dlambda x: x[\"priority2\"])\n\tnewArr \u003d [row for row in arrData if row[\"priority2\"] \u003d\u003d 999]\n\tfor row in priority_rows:\n\t\tif row[\"priority2\"] \u003c 999:\n#\t\t\tsystem.perspective.print(\"%s placed in position %s\"%(row[\"chillerName\"][\"value\"], row[\"priority2\"]-1))\n\t\t\tnewArr.insert(row[\"priority2\"]-1, row)\n\t\n\treturn newArr\n\t\t\t\n\t\n\t" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.display.table" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof" + }, + "meta": { + "name": "Supply Chart" + }, + "position": { + "height": 366, + "width": 352, + "x": 212.97, + "y": 159.97 + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "60" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "120", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": {}, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\"}\n\ttags \u003d system.tag.browse(self.custom.tagPath, {\"name\":\"*SYSTEM\",\"typeId\":\"Objects/Mechanical/Chiller\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\ttagname \u003d str(item[\"fullPath\"]) + \"/Load\"\n\t\tnameparts \u003d tagname.split(\"]\")\n\t\tprovider\u003d histProvider[nameparts[0][1:]]\n\t\trun_path \u003d \"[{}]{}\".format(provider, nameparts[1])\n\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Tonnage": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\ttotal \u003d 0\n\tfor item in rawHist:\n\t\ttotal \u003d 0\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] is None:\n\t\t\t\ttotal +\u003d 0\n\t\t\telse:\n\t\t\t\ttotal +\u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"total\": total})\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "render": "color" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Tonnage", + "x": "t_stamp", + "y": "total" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Tonnage", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Tonnage", + "zIndex": 0 + } + ], + "style": { + "overflow": "visible", + "paddingRight": 5 + }, + "title": { + "text": "Supply (Tons)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": 10000, + "min": 0, + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "CHWS" + }, + "name": "Tonnage", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Load Add Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerLoad_ADDLimit" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 01 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 100.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Load \nSub Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerLoad_SUBLimit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 02 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 149.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Tonnage Rating" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerTonRating" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 03 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 198.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "CHWP Add Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP ADD Limit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 04 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 247.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "CHWP Sub Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP SUB Limit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 05 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 296.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Minimum Flow Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Chiller_MinFlow_SP" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 06 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 345.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Bypass Valve DP Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWBPV_DiffSP" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 07 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 394.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "CHWP Diff Press Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP DP Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 08 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 443.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Status Indicator 01", + "tooltip": { + "enabled": true, + "text": "Bypass, DPs Fail amd Qty Chiller permissive are all good" + } + }, + "position": { + "height": 40, + "width": 120, + "x": 1254, + "y": 5.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/PlantMgr Permissive OK", + "text": "Plant Manager Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Status Indicator 02", + "tooltip": { + "enabled": true, + "text": "At least 1 DH DP is not faulted" + } + }, + "position": { + "height": 40, + "width": 120, + "x": 1384, + "y": 5.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/DPs Fail Permissive OK", + "text": "DPs Fail Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Status Indicator 03", + "tooltip": { + "enabled": true, + "text": "At least 1 CH is available" + } + }, + "position": { + "height": 40, + "width": 120, + "x": 1254, + "y": 52.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/QtyChillers Permissive OK", + "text": "Qty Chillers Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Status Indicator 04", + "tooltip": { + "enabled": true, + "text": "At least 1 loop bypass valve available" + } + }, + "position": { + "height": 40, + "width": 120, + "x": 1384, + "y": 52.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Bypass Permissive OK", + "text": "Bypass Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "This as page is home now" + }, + "method": { + "name": "", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "Set as Home Page", + "type": "method" + } + ] + }, + "name": "root" + }, + "position": { + "x": 9, + "y": -13 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)", + "overflow": "visible" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "LLSPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.LLSPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1ac07cc6ba7c656eac117e701067f80a4d424992cc0ec4108a1d2e4801a5e08f b/Gateways/FE/projects/.resources/1ac07cc6ba7c656eac117e701067f80a4d424992cc0ec4108a1d2e4801a5e08f new file mode 100644 index 0000000..4a0804b Binary files /dev/null and b/Gateways/FE/projects/.resources/1ac07cc6ba7c656eac117e701067f80a4d424992cc0ec4108a1d2e4801a5e08f differ diff --git a/Gateways/FE/projects/.resources/1adffe794feb8feb17304043c04969db03c166880144d59143fadc54a31c4598 b/Gateways/FE/projects/.resources/1adffe794feb8feb17304043c04969db03c166880144d59143fadc54a31c4598 new file mode 100644 index 0000000..504cb6f Binary files /dev/null and b/Gateways/FE/projects/.resources/1adffe794feb8feb17304043c04969db03c166880144d59143fadc54a31c4598 differ diff --git a/Gateways/FE/projects/.resources/1b83acff88251b75386cdeb76fbea943473fb4361969d74f12b61018cdf309a0 b/Gateways/FE/projects/.resources/1b83acff88251b75386cdeb76fbea943473fb4361969d74f12b61018cdf309a0 new file mode 100644 index 0000000..d66f385 --- /dev/null +++ b/Gateways/FE/projects/.resources/1b83acff88251b75386cdeb76fbea943473fb4361969d74f12b61018cdf309a0 @@ -0,0 +1,482 @@ +{ + "custom": { + "Alarm": false, + "AlarmSeverity": 2, + "Running": 0, + "Status": 0 + }, + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1" + }, + "propConfig": { + "custom.Alarm": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "code": "\tif(value\u003e2):\n\t\tvalue \u003d True\n\telse:\n\t\tvalue \u003d False\n\treturn value", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Status" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "expression": "if({view.custom.Alarm}, 2, {view.custom.Running})" + }, + "type": "expr" + }, + "persistent": true + }, + "params.TagPosition": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 70, + "width": 120 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 70, + "width": 120 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.TagPosition" + }, + "transforms": [ + { + "fallback": "top", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "bottom" + }, + { + "input": true, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Container" + }, + "position": { + "height": 41, + "width": 92, + "x": 10, + "y": 13.5 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var01" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 01" + }, + "position": { + "height": 23, + "width": 44, + "x": 60, + "y": 15 + }, + "props": { + "text": "SAT °F", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var02" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 30 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 02" + }, + "position": { + "height": 23, + "width": 44, + "x": 60, + "y": 30 + }, + "props": { + "text": "RAT °F", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Box" + }, + "position": { + "height": 50, + "width": 102, + "x": 5, + "y": 9.5 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineWidth": 3 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 21, + "width": 21, + "x": 97.99, + "y": -1.01 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1bb00ee1d64ad9ccb8ab3f06a8816173d883175e0bdc47395a088673538b5135 b/Gateways/FE/projects/.resources/1bb00ee1d64ad9ccb8ab3f06a8816173d883175e0bdc47395a088673538b5135 new file mode 100644 index 0000000..db6ab1b Binary files /dev/null and b/Gateways/FE/projects/.resources/1bb00ee1d64ad9ccb8ab3f06a8816173d883175e0bdc47395a088673538b5135 differ diff --git a/Gateways/FE/projects/.resources/1bb353dc61d2c7885e8b64c6bdf2173c6de0e5de870133f7d08204ee9e8ea368 b/Gateways/FE/projects/.resources/1bb353dc61d2c7885e8b64c6bdf2173c6de0e5de870133f7d08204ee9e8ea368 new file mode 100644 index 0000000..b30d27e --- /dev/null +++ b/Gateways/FE/projects/.resources/1bb353dc61d2c7885e8b64c6bdf2173c6de0e5de870133f7d08204ee9e8ea368 @@ -0,0 +1,430 @@ +{ + "custom": { + "tabsConfig": { + "showConfig": false, + "showControl": false, + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "enabled": false, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "enabled": false, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1c2d126b239abaa5b23363835009da49990382dc6d8455e8622678fa27473ce7 b/Gateways/FE/projects/.resources/1c2d126b239abaa5b23363835009da49990382dc6d8455e8622678fa27473ce7 new file mode 100644 index 0000000..9b318fa Binary files /dev/null and b/Gateways/FE/projects/.resources/1c2d126b239abaa5b23363835009da49990382dc6d8455e8622678fa27473ce7 differ diff --git a/Gateways/FE/projects/.resources/1c7728e166b7498a21217574c536f1318851cc54872f22116d871c87410dd3a2 b/Gateways/FE/projects/.resources/1c7728e166b7498a21217574c536f1318851cc54872f22116d871c87410dd3a2 new file mode 100644 index 0000000..5f7fad3 --- /dev/null +++ b/Gateways/FE/projects/.resources/1c7728e166b7498a21217574c536f1318851cc54872f22116d871c87410dd3a2 @@ -0,0 +1,118 @@ +{ + "custom": {}, + "params": { + "NS": true, + "leak": 38, + "stops": [ + 10, + 15, + 20, + 25, + 30, + 35, + 40, + 45, + 50, + 60 + ] + }, + "propConfig": { + "params.NS": { + "paramDirection": "input", + "persistent": true + }, + "params.leak": { + "paramDirection": "input", + "persistent": true + }, + "params.stops": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 15 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "35%", + "grow": 1 + }, + "props": { + "textStyle": { + "borderStyle": "dashed" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "65%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundImage": { + "binding": { + "config": { + "path": "view.params.leak" + }, + "transforms": [ + { + "code": "\tstops \u003d self.view.params.stops\n # Colors\n\tnoleak \u003d \"rgba(0,0,0,0)\"\n\tleak \u003d \"rgba(255,0,0,0.75)\"\n\t# start the gradient\n\tgradient_parts \u003d []\n\t# iterate thourgh the stops\n\tfor i in range(len(stops) - 1):\n\t\tstart \u003d stops[i]\n\t\tend \u003d stops[i+1]\n\t\t# Set the segment color\n\t\tcolor \u003d leak if start \u003c\u003d value \u003c\u003d end else noleak\n\t\tgradient_parts.append(\"{color}\".format(color\u003dcolor))\n\t\n\t# get all the element together\n\treturn \"linear-gradient(to right, \" + \", \".join(gradient_parts) + \")\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "\n" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "props.direction": { + "binding": { + "config": { + "path": "view.params.NS" + }, + "transforms": [ + { + "fallback": "column", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "column" + }, + { + "input": false, + "output": "column-reverse" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1cf203dad5c1b4688f66fd405d3d4b500d3250625b80191ef06ba9a72dce9ba5 b/Gateways/FE/projects/.resources/1cf203dad5c1b4688f66fd405d3d4b500d3250625b80191ef06ba9a72dce9ba5 new file mode 100644 index 0000000..d92fcb1 --- /dev/null +++ b/Gateways/FE/projects/.resources/1cf203dad5c1b4688f66fd405d3d4b500d3250625b80191ef06ba9a72dce9ba5 @@ -0,0 +1,1349 @@ +{ + "custom": { + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + } + }, + "params": { + "dh": 201 + }, + "propConfig": { + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.dh": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1000, + "width": 350 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Title" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.dh" + }, + "transforms": [ + { + "expression": "\"Datahall \"+{value}+\" SLA\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 24 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SLA" + }, + "position": { + "basis": "93px" + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Variable", + "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": false, + "strictWidth": false, + "style": { + "classes": "", + "paddingLeft": "5px" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Minimum", + "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": false, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Maximum", + "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": false, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + } + ], + "data": [ + { + "Maximum": "95 degF", + "Minimum": "50 degF", + "Variable": { + "align": "center", + "editable": false, + "justify": "left", + "style": { + "backgroundColor": "", + "classes": "some-class" + }, + "value": "Temperature" + } + }, + { + "Maximum": "80%", + "Minimum": "5%", + "Variable": { + "align": "center", + "editable": false, + "justify": "left", + "style": { + "backgroundColor": "", + "classes": "some-class" + }, + "value": "Humidity" + } + } + ], + "dragOrderable": false, + "pager": { + "bottom": false + }, + "selection": { + "enableRowSelection": false + }, + "style": { + "fontSize": 16 + } + }, + "type": "ia.display.table" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Humidifier Disable Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027 \u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/OPC Tags/SATB1_DH{dh}_HUM_DISABLE_SP" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 40 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Humidifier Enable Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/OPC Tags/SATB1_DH{dh}_HUM_ENABLE_SP" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 30 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Dewpoint Hi Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/Memory/DH{dh} Dwpt Hi Limit" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 65 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_9" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Dewpoint Lo Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/Memory/DH{dh} Dwpt Lo Limit" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 30 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_10" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%" + }, + "props": { + "text": "STU Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/OPC Tags/SATB1_DH{dh}_STU_Demand" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 20 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_4" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "AvgMinMax_1" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.dh" + }, + "transforms": [ + { + "expression": "\"[Ignition_Common_IO_Gtwy]DH\" + {value} + \"/SATB1_DH\" + {value} + \"_RH_AvgObj\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": true, + "format": "#,###.###", + "objectName": "AvgMinMax", + "title": "RH Avg" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "AvgMinMax_2" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.dh" + }, + "transforms": [ + { + "expression": "\"[Ignition_Common_IO_Gtwy]DH\" + {value} + \"/SATB1_DH\" + {value} + \"_Temp_AvgObj\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": true, + "format": "#,###.###", + "objectName": "AvgMinMax", + "title": "Temp Avg" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "65px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "15px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "style": { + "backgroundColor": "var(--olGray)" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "190px" + }, + "props": { + "text": "DP PID Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/OPC Tags/SATB1_DH{dh}_DP_SP" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 0.05 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_3" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "STU PID RA Temperature Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/OPC Tags/SATB1_DH{dh}_RAT_SP" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 80 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Global Discharge Temp Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/OPC Tags/SATB1_DH{dh}_STU_T_SP" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 75 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_8" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView_28" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.dh" + }, + "transforms": [ + { + "expression": "\"[Ignition_Common_IO_Gtwy]DH\"+{value}+\"/SATB1_DH\"+{value}+\"_DP_PID\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": true, + "objectName": "PID_Loop", + "title": "DP PID" + }, + "path": "Library/Widgets/Wdg_PID", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_29" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.dh" + }, + "transforms": [ + { + "expression": "\"[Ignition_Common_IO_Gtwy]DH\"+{value}+\"/SATB1_DH\"+{value}+\"_STU_RAT_PID\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": true, + "objectName": "PID_Loop", + "title": "RAT PID" + }, + "path": "Library/Widgets/Wdg_PID", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_6" + }, + "position": { + "basis": "150px" + }, + "props": { + "style": { + "gap": "15px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "AvgMinMax" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.dh" + }, + "transforms": [ + { + "expression": "\"[Ignition_Common_IO_Gtwy]DH\"+{value}+\"/SATB1_DH\"+{value}+\"_DP_AvgObj\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": true, + "format": "#,###.###", + "objectName": "AvgMinMax" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "AvgMinMax_0" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.dh" + }, + "transforms": [ + { + "expression": "\"[Ignition_Common_IO_Gtwy]DH\"+{value}+\"/SATB1_DH\"+{value}+\"_STU_RAT_AvgObj\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": true, + "format": "#,###.###", + "objectName": "AvgMinMax" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_7" + }, + "position": { + "basis": "65px" + }, + "props": { + "style": { + "gap": "15px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\tdh \u003d str(self.view.params.dh)\n\tviewPath \u003d \u0027Pages/Datahall/LLS_STU_DH%s\u0027%(dh)\n\ttitle \u003d \u0027DH%s STU LLS\u0027 %(dh)\n\tutils.nav.openLLSPopup(viewPath,title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_4" + }, + "position": { + "basis": "40px" + }, + "props": { + "pageId": "", + "text": "STU LLS" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "justify": "space-between", + "style": { + "gap": "10px", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1d1b9419610054e0564162fddcc3ad64cfe07f02878a77361e4ee1782c59489d b/Gateways/FE/projects/.resources/1d1b9419610054e0564162fddcc3ad64cfe07f02878a77361e4ee1782c59489d new file mode 100644 index 0000000..db20807 --- /dev/null +++ b/Gateways/FE/projects/.resources/1d1b9419610054e0564162fddcc3ad64cfe07f02878a77361e4ee1782c59489d @@ -0,0 +1,486 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Status": 1, + "StatusRunning": 1, + "faulted": 0 + }, + "params": { + "embedded": false, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1141/SATB1_RM1141_PMP_01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "struct": { + "faulted": "{view.custom.Faulted}", + "running": "{view.custom.StatusRunning}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d 0\n\tif value[\"faulted\"]:\n\t\toutput \u003d 2\n\telse:\n\t\tif value[\"running\"]:\n\t\t\toutput \u003d 1\n\t\telse:\n\t\t\toutput \u003d 0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.StatusRunning": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/AlarmSummary" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 170, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Simple motor 2" + }, + "position": { + "height": 100, + "width": 140, + "x": 30, + "y": 56 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M994,297 l-83,0 0,83 83,0 0,-83z", + "fill": { + "paint": "#e0e0e0" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M353,672 l0,-30 200,0 0,30 23,0 0,46 159,0 0,-46 15,0 64,-11 51,-26 34,-38 12,-47 0,-424 -12,-49 -34,-38 -51,-26 -64,-8 -580,0 -64,8 -53,26 -34,38 -14,49 0,424 14,47 34,38 53,26 62,11 0,46 159,0 0,-46 26,0z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M327,680 l-159,0 0,32 159,0 0,-32z", + "fill": { + "paint": "#e0e0e0" + }, + "name": "path", + "type": "path" + }, + { + "d": "M735,680 l-159,0 0,32 159,0 0,-32z", + "fill": { + "paint": "#e0e0e0" + }, + "name": "path", + "type": "path" + }, + { + "d": "M164,5 l0,664", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M754,5 l0,664", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,338 l159,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M911,338 l-157,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M327,680 l-159,0 0,32 159,0 0,-32", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M735,680 l-159,0 0,32 159,0 0,-32", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + } + ], + "viewBox": "0 0 999 723" + }, + "type": "ia.shapes.svg" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 112, + "width": 157, + "x": 18.5, + "y": 50 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 28, + "width": "100%", + "y": 25 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "SP", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 24, + "width": "100%", + "y": 5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Room" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "paddingLeft": 10 + }, + "text": "Room" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 48, + "width": 45, + "x": 153.97, + "y": 22.5 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1d223814cafe157e46b85595c488752fd5acba66a42c9acdf5c5b9fcf899e401 b/Gateways/FE/projects/.resources/1d223814cafe157e46b85595c488752fd5acba66a42c9acdf5c5b9fcf899e401 new file mode 100644 index 0000000..a082bc9 --- /dev/null +++ b/Gateways/FE/projects/.resources/1d223814cafe157e46b85595c488752fd5acba66a42c9acdf5c5b9fcf899e401 @@ -0,0 +1,269 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1/Liquid Temperature Alarm High" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.SubEn": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteEN" + }, + "type": "tag" + } + }, + "custom.OCmd.SubVal": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteVal" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OOSBtn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Enable" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubEn" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "SubEnable" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Value" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.custom.OCmd.SubEn} \u0026\u0026 {view.params.auth.control}" + }, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubVal" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "SubVal" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1d3296fbc279efe86dc5f5de57d6facdc871a08acf39f9a7a7561a1fcdcc4c9d b/Gateways/FE/projects/.resources/1d3296fbc279efe86dc5f5de57d6facdc871a08acf39f9a7a7561a1fcdcc4c9d new file mode 100644 index 0000000..7320802 --- /dev/null +++ b/Gateways/FE/projects/.resources/1d3296fbc279efe86dc5f5de57d6facdc871a08acf39f9a7a7561a1fcdcc4c9d @@ -0,0 +1,6078 @@ +{ + "custom": { + "activeControl": "", + "configureDatabases": { + "sql:Ignition": false, + "sql_Ignition": false + }, + "custom_trends_ref": { + "current_config": { + "axes": [ + { + "color": "#757A7F", + "dataFormat": "0,0.##", + "label": { + "font": { + "color": "#757A7F", + "size": 10 + }, + "offset": 0, + "style": { + "classes": "" + }, + "text": "" + }, + "name": "Default", + "position": "left", + "range": { + "auto": true, + "max": "", + "min": "" + }, + "style": { + "classes": "" + }, + "tick": { + "color": "#757A7F", + "label": { + "font": { + "color": "#757A7F", + "size": 10 + }, + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + }, + "width": 60 + } + ], + "config": { + "dateFormat": "YYYY/MM/DD", + "endDate": {}, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "days", + "mode": "realtime", + "penNamePathDepth": 3, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 750, + "startDate": {}, + "tagBrowserStartPath": "histprov:Ignition_Hist", + "timeFormat": "h:mm A", + "unitOfTime": 1, + "visibility": { + "buttons": { + "showAnnotationButton": true, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": true, + "showTagBrowserButton": true, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": true + } + }, + "dataColumns": { + "penControl": { + "average": true, + "axis": true, + "currentValue": true, + "maximum": true, + "minimum": true, + "plot": true, + "xTrace": true + }, + "rangeSelection": { + "average": true, + "delta": true, + "first": true, + "last": true, + "lcl": true, + "maximum": true, + "median": true, + "minimum": true, + "standardDeviation": true, + "sum": true, + "ucl": true + } + }, + "interaction": { + "annotation": { + "dot": { + "color": "#757A7F", + "opacity": 1, + "radius": 3, + "style": { + "classes": "" + }, + "visible": true + }, + "infoBox": { + "dateFormat": "YYYY/MM/DD", + "fill": { + "color": "#FAFAFB", + "opacity": 0.9 + }, + "font": { + "color": "", + "size": 11, + "style": { + "classes": "" + } + }, + "icon": { + "fill": { + "color": "#929597", + "opacity": 1 + }, + "stroke": { + "color": "#929597", + "dashArray": 0, + "opacity": 0, + "width": 0 + }, + "style": { + "classes": "" + } + }, + "showTime": true, + "stroke": { + "color": "#757A7F", + "dashArray": 0, + "opacity": 0.9, + "width": 1 + }, + "style": { + "classes": "" + }, + "timeFormat": "h:mm A", + "visible": true, + "width": "auto" + }, + "line": { + "color": "#757A7F", + "dashArray": 0, + "opacity": 0.9, + "style": { + "classes": "" + }, + "visible": true, + "width": 1 + } + }, + "chartZoomLevel": 1, + "fullscreen": false, + "mode": "panAndZoom", + "panAndZoom": { + "freeRange": false + }, + "rangeBrush": { + "active": { + "color": "#0C7BB3", + "opacity": 0.3, + "style": { + "classes": "" + } + }, + "inactive": { + "color": "#757A7F", + "opacity": 0.3, + "style": { + "classes": "" + } + }, + "values": [] + }, + "rangeZoomLevel": 1, + "xTrace": { + "infoBox": { + "dataFormat": "0,0.##", + "dateFormat": "YYYY/MM/DD", + "fill": { + "color": "#FAFAFB", + "opacity": 0.9 + }, + "font": { + "color": "", + "size": 11, + "style": { + "classes": "" + } + }, + "showTime": true, + "stroke": { + "color": "#757A7F", + "dashArray": 0, + "opacity": 0.9, + "width": 1 + }, + "style": { + "classes": "" + }, + "timeFormat": "h:mm A", + "visible": true, + "width": "auto" + }, + "line": { + "color": "#757A7F", + "dashArray": 0, + "opacity": 0.5, + "style": { + "classes": "" + }, + "visible": true, + "width": 1 + }, + "values": [ + 1.0013210702341138 + ] + } + }, + "legend": { + "visible": false + }, + "pens": [], + "plots": [ + { + "color": "var(--neutral-10)", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ], + "timeAxis": { + "color": "#737676", + "grid": { + "color": "", + "dashArray": 0, + "opacity": 0.9, + "style": { + "classes": "" + }, + "visible": false + }, + "height": 35, + "style": { + "classes": "" + }, + "tick": { + "color": "#757A7F", + "label": { + "angled": false, + "font": { + "color": "#757A7F", + "size": 10 + }, + "format": "Auto", + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + }, + "tickCount": "auto", + "visible": true + }, + "title": { + "font": { + "color": "", + "size": 12 + }, + "style": { + "classes": "" + }, + "text": "", + "visible": false + } + }, + "drv": "", + "histprov": "Ignition", + "rootTagPath": "" + }, + "databases": [], + "functionTitle": "", + "isAdmin": false, + "refreshRate": 1000, + "viewSaves": false + }, + "params": {}, + "propConfig": { + "custom.activeControl": { + "persistent": true + }, + "custom.configureDatabases": { + "binding": { + "config": { + "expression": "true" + }, + "enabled": false, + "transforms": [ + { + "code": "\t# resets this property when the view is opened\n\treturn {}", + "type": "script" + } + ], + "type": "expr" + }, + "persistent": true + }, + "custom.custom_trends_ref": { + "persistent": true + }, + "custom.databases": { + "binding": { + "config": { + "expression": "runScript(\u0027system.db.getConnections\u0027, 0)" + }, + "transforms": [ + { + "code": "\t# collect the database connection info, check for which ones are enabled for storing ad hoc trend configs\n\ttag_provider \u003d self.session.custom.trends.histprov\n\tbase_path \u003d self.session.custom.trends.rootTagPath\n\t\n\tdatabases \u003d []\n\tfor row in range(value.getRowCount()):\n\t\tif value.getValueAt(row,\u0027Name\u0027) \u003d\u003d self.session.custom.trends.histprov:\n\t\t\tdatabase \u003d {\u0027connector\u0027: \u0027sql\u0027}\n\t\t\tfor column in value.getColumnNames():\n\t\t\t\tdatabase[column] \u003d value.getValueAt(row, column)\n\t\t\tdatabases.append(database)\n\t\n\t# avoid an exception when mongodb module is not installed\n\tif \u0027mongodb\u0027 in system.getDict():\n\t\tfor row in system.mongodb.listConnectorInfo():\n\t\t\tdatabase \u003d row\n\t\t\tdatabase[\u0027connector\u0027] \u003d \u0027mongodb\u0027\n\t\t\tdatabase[\u0027DBType\u0027] \u003d \u0027MongoDB\u0027\n\t\t\t\n\t\t\t# for consistency with system.db.getConnections\n\t\t\tdatabase[\u0027Name\u0027] \u003d database.pop(\u0027name\u0027)\n\t\t\tdatabase[\u0027Status\u0027] \u003d database.pop(\u0027status\u0027)\n\t\t\t\n\t\t\tdatabases.append(database)\n\t\n\tfor database in databases:\n\t\ttry:\n\t\t\tdatabase[\u0027Enabled\u0027] \u003d database[\u0027Status\u0027] \u003d\u003d \u0027Valid\u0027 and self.rootContainer.databaseEnabled(database[\u0027Name\u0027], connector\u003ddatabase[\u0027connector\u0027])\n\t\texcept:\n\t\t\tdatabase[\u0027Enabled\u0027] \u003d False\n\t\n\t\n\treturn databases", + "type": "script" + } + ], + "type": "expr" + }, + "persistent": true + }, + "custom.functionTitle": { + "persistent": true + }, + "custom.isAdmin": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/roles/Administrator\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.refreshRate": { + "persistent": true + }, + "custom.viewSaves": { + "binding": { + "config": { + "expression": "false" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 951, + "width": 1385 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "props": { + "path": "material/trending_up" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "TitleSpacer" + }, + "position": { + "basis": "15px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AdHocTrends" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/HeaderTitle" + }, + "text": "Ad Hoc Trends" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FunctionTitle" + }, + "position": { + "basis": "15px", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.functionTitle" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "AdHocTrends/FunctionTitle" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Controls" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/ControlBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "HeaderSmall" + }, + "props": { + "direction": "column", + "style": { + "classes": "AdHocTrends/Header", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "props": { + "path": "material/trending_up" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "TitleSpacer" + }, + "position": { + "basis": "15px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AdHocTrends" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/HeaderTitle" + }, + "text": "Ad Hoc Trends" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FunctionTitle" + }, + "position": { + "basis": "15px", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.functionTitle" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "AdHocTrends/FunctionTitle", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FunctionTitleSpacer" + }, + "position": { + "basis": "5px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Configure Databases" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ConfigureDatabases" + }, + "position": { + "basis": "26px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/storage" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/FullRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "DbSpacer" + }, + "position": { + "basis": "8px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Load from Database" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)\n\tself.parent.parent.getChild(\"LoadFromDb\").getChild(\"Databases\").refreshBinding(\"props.options\")\n\tself.parent.parent.getChild(\"LoadFromDb\").getChild(\"Charts\").refreshBinding(\"props.options\")\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "LoadFromDb", + "tooltip": { + "enabled": true, + "location": "center-left", + "text": "Load from DB" + } + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/playlist_play" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/LeftRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "custom": { + "title": "Save to Database" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)\n\tself.parent.parent.getChild(\"SaveToDb\").getChild(\"Charts\").refreshBinding(\"props.options\")\n\tself.parent.parent.getChild(\"SaveToDb\").getChild(\"Databases\").refreshBinding(\"props.options\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SaveToDb", + "tooltip": { + "enabled": true, + "location": "center-left", + "text": "Save to DB" + } + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated\u0027)" + }, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/playlist_add" + }, + "width": 23 + }, + "primary": false, + "style": { + "borderBottomLeftRadius": 3, + "borderLeftWidth": "1px", + "borderTopLeftRadius": 3, + "classes": "AdHocTrends/Control AdHocTrends/RightRadius", + "overflow": "visible" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SaveFileSpacer" + }, + "position": { + "basis": "8px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated\u0027)" + }, + "enabled": false, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Load File" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "LoadFromFile", + "tooltip": { + "enabled": true, + "location": "center-left", + "text": "Load From File" + } + }, + "position": { + "basis": "25px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/folder_open" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/LeftRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "custom": { + "title": "Save File" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SaveToFile", + "tooltip": { + "enabled": true, + "location": "center-left", + "text": "Save To File" + } + }, + "position": { + "basis": "25px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/save" + }, + "width": 23 + }, + "primary": false, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/Control AdHocTrends/RightRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SetRefreshRateSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Set Real-Time Refresh Rate" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, \u0027root/MainTopControls/HeaderLarge/SetRefreshRate/Rate\u0027, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SetRefreshRate", + "tooltip": { + "enabled": true, + "location": "center-left", + "text": "Set Refresh Rate" + } + }, + "position": { + "basis": "25px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/access_time" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/LeftRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.togglePause()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Pause", + "tooltip": { + "enabled": true, + "location": "center-left", + "text": "Play / Pause" + } + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.image.icon.color": { + "binding": { + "config": { + "expression": "if({this.props.primary}, \u0027var(--neutral-20)\u0027, \u0027var(--neutral-70)\u0027)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "expression": "{...../Body/PowerChart.props.config.refreshRate} \u003d 0" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/pause_circle_outline" + }, + "width": 23 + }, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/Control AdHocTrends/RightRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SetTitleSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Set Title" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, \u0027root/MainTopControls/HeaderLarge/SetTitle/Title\u0027, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SetTitle", + "tooltip": { + "enabled": true, + "location": "center-left", + "text": "Set Title" + } + }, + "position": { + "basis": "26px", + "shrink": 0 + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/text_fields" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/FullRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "DbSpacer_0" + }, + "position": { + "basis": "8px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Configure Databases" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.custom.viewSaves \u003d not self.view.custom.viewSaves" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ViewSaves" + }, + "position": { + "basis": "26px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated\u0027)" + }, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/cloud_queue" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/FullRadius" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Controls" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/ControlBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onKeyPress": { + "config": { + "script": "\tself.view.rootContainer.setTitle(self.props.text)\n\tif event.key \u003d\u003d \u0027Enter\u0027:\n\t\tself.view.rootContainer.closeFunction()\n\t\t# clearing own text during key press will not work\n\t\t# must be cleared it after this event\n\t\timport threading\n\t\tdef resetText():\n\t\t\tself.props.text \u003d \u0027\u0027\n\t\tthreading.Timer(0.3, resetText).start()\n\t\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Title" + }, + "position": { + "basis": "350px" + }, + "props": { + "deferUpdates": false, + "placeholder": "Enter a new title or leave blank to clear...", + "rejectUpdatesWhileFocused": false + }, + "type": "ia.input.text-field" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.getSibling(\u0027Title\u0027).props.text \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tnewTitle \u003d self.getSibling(\u0027Title\u0027).props.text\n\tself.getSibling(\u0027Title\u0027).props.text \u003d \u0027\u0027\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.setTitle(newTitle)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "SetTitle" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onKeyDown": { + "config": { + "script": "\tif event.key \u003d\u003d \u0027Enter\u0027:\n\t\tself.view.rootContainer.closeFunction()\n\t\t# the value entered will not yet be availble\n\t\t# must trigger the new rate after this event is done\n\t\timport threading\n\t\tdef setNewRate():\n\t\t\tself.view.rootContainer.setRate(self.props.value)\n\t\tthreading.Timer(0.3, setNewRate).start()\n\t\t\n\t\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Rate" + }, + "position": { + "basis": "150px" + }, + "props": { + "align": "left", + "format": "0,0", + "inputBounds": { + "minimum": 0 + }, + "placeholder": "Enter a new rate for real-time mode...", + "value": 5000 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "shrink": 0 + }, + "props": { + "text": "(ms)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tnewRate \u003d self.getSibling(\u0027Rate\u0027).props.value\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.setRate(newRate)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "SetRefreshRate" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "OptionsSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.getSibling(\u0027Display\u0027).props.selected\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.saveToFile(includePlots, includeDisplay)\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "SaveToFile" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "OptionsSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "BrowseSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "configJson": "" + }, + "events": { + "component": { + "onFileReceived": { + "config": { + "script": "\tself.custom.configJson \u003d event.file.getString()\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "FileUpload" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "fileUploadIcon": { + "path": "material/folder_open", + "style": { + "cursor": "pointer" + } + }, + "maxUploads": 1, + "supportedFileTypes": [ + "JSON" + ] + }, + "type": "ia.input.fileupload" + }, + { + "meta": { + "name": "BrowseLabel" + }, + "position": { + "shrink": 0 + }, + "props": { + "text": "Browse (10 MB max)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.getSibling(\u0027FileUpload\u0027).custom.configJson \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.getSibling(\u0027Display\u0027).props.selected\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.loadFromFile(self.getSibling(\u0027FileUpload\u0027).custom.configJson, includePlots, includeDisplay)\n\tself.getSibling(\u0027FileUpload\u0027).custom.configJson \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Load" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Load" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "LoadFromFile" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "FullSpacer" + }, + "position": { + "basis": "0px", + "grow": 1, + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "256px" + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "\tdbList \u003d []\n\tfor db in value:\n\t\tif db[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\t\telif db[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, \u0027MongoDB\u0027, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\treturn dbList", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": "sql:Ignition" + }, + "type": "ia.input.dropdown" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.refreshBinding(\u0027custom.databases\u0027)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Refresh" + }, + "position": { + "basis": "26px", + "shrink": 0 + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/refresh" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "140px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "!isNull({../Databases.props.value})" + }, + "type": "expr" + } + }, + "props.label.text": { + "binding": { + "config": { + "expression": "if({this.props.selected}, \u0027Enabled\u0027, \u0027Disabled\u0027)" + }, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "struct": { + "databases": "{view.custom.databases}", + "selectedDatabase": "{../Databases.props.value}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn next((x.Enabled for x in self.view.custom.databases if \u0027%s:%s\u0027 %(x.connector, x.Name) \u003d\u003d value.selectedDatabase), False)", + "type": "script" + } + ], + "type": "expr-struct" + }, + "onChange": { + "enabled": null, + "script": "\tselectedDatabase \u003d self.getSibling(\u0027Databases\u0027).props.value\n\tif selectedDatabase:\n\t\tif currentValue:\n\t\t\tif currentValue.value:\n\t\t\t\tself.view.custom.configureDatabases[selectedDatabase] \u003d True\n\t\t\telse:\n\t\t\t\tself.view.custom.configureDatabases[selectedDatabase] \u003d False" + } + } + }, + "props": { + "color": { + "selected": "var(--success)", + "unselected": "var(--neutral-60)" + }, + "label": {} + }, + "type": "ia.input.toggle-switch" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.view.custom.configureDatabases \u003d {}\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.configureDatabases()\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ConfigureDatabases" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "OptionsSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DatabaseSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "256px", + "display": false + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "#\treturn [{\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: db.Name} for db in filter(lambda x: x[\u0027Enabled\u0027], value)]\n\t\n\toptions \u003d self.view.rootContainer.populateDatabaseDropdown(value, True)\n\tif len(options) \u003e 0:\n\t\tself.props.value \u003d options[0][\u0027value\u0027]\n\treturn options\t", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "expression": "try({this.props.options}[0][\u0027value\u0027],\u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": "sql:Ignition" + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "ChartSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Charts" + }, + "position": { + "basis": "256px" + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "../Databases.props.value" + }, + "transforms": [ + { + "code": "\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d value), False)\n\tif not dbInfo:\n\t\treturn []\n\tcharts \u003d self.view.rootContainer.getCharts(value)\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\treturn [{\u0027value\u0027: chart[\u0027id\u0027], \u0027label\u0027: chart[\u0027config_name\u0027]} for chart in charts]\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\treturn [{\u0027value\u0027: chart[\u0027_id\u0027], \u0027label\u0027: chart[\u0027configName\u0027]} for chart in charts]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a chart..." + }, + "search": { + "noResultsText": "No charts found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.getSibling(\u0027Display\u0027).props.selected\n\tdbName \u003d self.getSibling(\u0027Databases\u0027).props.value\n\tconfigId \u003d self.getSibling(\u0027Charts\u0027).props.value\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.loadFromDb(dbName, configId, includePlots, includeDisplay)\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Load" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Load" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "LoadFromDb" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "OptionsSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "PrivateSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Private" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{session.props.auth.authenticated}" + }, + "type": "expr" + } + } + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Store Privately", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DatabaseSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "256px", + "display": false + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "#\treturn [{\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: db.Name} for db in filter(lambda x: x[\u0027Enabled\u0027], value)]\n\t\n\toptions \u003d self.view.rootContainer.populateDatabaseDropdown(value, True)\n\tif len(options) \u003e 0:\n\t\tself.props.value \u003d options[0][\u0027value\u0027]\n\treturn options", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "expression": "try({this.props.options}[0][\u0027value\u0027],\u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": "sql:Ignition" + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Favorite" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{session.props.auth.authenticated}" + }, + "type": "expr" + } + } + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Set Favorite", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "ChartSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Charts" + }, + "position": { + "basis": "256px" + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "../Databases.props.value" + }, + "transforms": [ + { + "code": "\tself.props.value \u003d \u0027\u0027\n\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d value), False)\n\tif not dbInfo:\n\t\treturn []\n\tcharts \u003d self.view.rootContainer.getOwnCharts(value)\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\treturn [{\u0027value\u0027: chart[\u0027id\u0027], \u0027label\u0027: chart[\u0027config_name\u0027]} for chart in charts]\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\tfrom system.mongodb.types import ObjectId\n\t\treturn [{\u0027value\u0027: chart[\u0027_id\u0027], \u0027label\u0027: chart[\u0027configName\u0027]} for chart in charts]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "allowCustomOptions": true, + "placeholder": { + "text": "Select or create a chart..." + }, + "search": { + "noResultsText": "No charts found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + } + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "custom": { + "debug": false, + "debug2": "" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.getSibling(\u0027Display\u0027).props.selected\n\tprivate \u003d self.session.props.auth.authenticated and self.getSibling(\u0027Private\u0027).props.selected\n\tfavorite \u003d self.session.props.auth.authenticated and self.getSibling(\u0027Favorite\u0027).props.selected\n\tdbName \u003d self.getSibling(\u0027Databases\u0027).props.value\n\tconfigId \u003d self.getSibling(\u0027Charts\u0027).props.value\n\tnewChart \u003d not any(str(o[\u0027value\u0027]) \u003d\u003d str(configId) for o in self.getSibling(\u0027Charts\u0027).props.options)\n\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.saveToDb(dbName, configId, includePlots, includeDisplay, private, favorite, newChart)\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.getSibling(\u0027Charts\u0027).props.value \u003d None\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "SaveToDb" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "HeaderLarge" + }, + "position": { + "size": "large" + }, + "props": { + "direction": "column", + "style": { + "classes": "AdHocTrends/Header", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "MainTopControls" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.breakpoint": { + "binding": { + "config": { + "expression": "{../Body/PowerChart.props.config.responsiveDesignWidth}+2" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "maxHeight": "50px", + "zIndex": 1 + } + }, + "type": "ia.container.breakpt" + }, + { + "children": [ + { + "meta": { + "domId": "adhocTrends", + "name": "PowerChart", + "tooltip": { + "text": "tooltip" + } + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.axes": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.axes" + }, + "type": "property" + } + }, + "props.config.dateFormat": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.dateFormat" + }, + "type": "property" + } + }, + "props.config.endDate": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.endDate" + }, + "type": "property" + } + }, + "props.config.export": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.export" + }, + "type": "property" + } + }, + "props.config.measureOfTime": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.measureOfTime" + }, + "type": "property" + } + }, + "props.config.mode": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.mode" + }, + "type": "property" + } + }, + "props.config.penNamePathDepth": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.penNamePathDepth" + }, + "type": "property" + } + }, + "props.config.pointCount": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.pointCount" + }, + "type": "property" + } + }, + "props.config.rangeEndDate": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.rangeEndDate" + }, + "type": "property" + } + }, + "props.config.rangeSelectorPen": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.rangeSelectorPen" + }, + "type": "property" + } + }, + "props.config.rangeStartDate": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.rangeStartDate" + }, + "type": "property" + } + }, + "props.config.refreshRate": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.refreshRate" + }, + "type": "property" + } + }, + "props.config.responsiveDesignWidth": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.responsiveDesignWidth" + }, + "type": "property" + } + }, + "props.config.startDate": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.startDate" + }, + "type": "property" + } + }, + "props.config.tagBrowserStartPath": { + "binding": { + "config": { + "path": "session.custom.trends.current_config.config.tagBrowserStartPath" + }, + "transforms": [ + { + "code": "\timport time\n\ttime.sleep(0.2)\n\treturn value", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "props.config.timeFormat": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.timeFormat" + }, + "type": "property" + } + }, + "props.config.unitOfTime": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.unitOfTime" + }, + "type": "property" + } + }, + "props.config.visibility": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.visibility" + }, + "type": "property" + } + }, + "props.dataColumns": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.dataColumns" + }, + "type": "property" + } + }, + "props.interaction": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.interaction" + }, + "type": "property" + } + }, + "props.legend": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.legend" + }, + "type": "property" + } + }, + "props.pens": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.pens" + }, + "type": "property" + } + }, + "props.plots": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.plots" + }, + "type": "property" + } + }, + "props.timeAxis": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.timeAxis" + }, + "type": "property" + } + }, + "props.title": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.title" + }, + "type": "property" + } + } + }, + "props": { + "config": { + "tagBrowserStartPath": "histprov:ignition_hist" + } + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "props": { + "text": "Saved Configs", + "textStyle": { + "fontSize": "0.8em", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttable \u003d self.parent.parent.getChild(\"Table\")\n\ttable.refreshBinding(\u0027props.data\u0027)\n\ttable.props.selection.selectedRow \u003d None\n\ttable.props.selection.selectedColumn \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Refresh" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/refresh", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.icon" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.viewSaves \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Close" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/arrow_forward", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "40px" + }, + "props": { + "alignItems": "center", + "style": { + "gap": "10px", + "overflow": "hidden", + "padding": "0 8px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "expression": "now(0)" + }, + "transforms": [ + { + "code": "\tisAdmin \u003d self.view.custom.isAdmin\n\tquery \u003d \"\"\"\n\tSELECT \n\t\tid, config_name, favorite, private, username, t_stamp\n\tFROM ad_hoc_trends_config\n\tWHERE username \u003d ?\n\t\tOR (username IS NULL and ? \u003d 1)\n\tORDER BY t_stamp DESC\n\t\"\"\"\n\treturn system.db.runPrepQuery(query, [self.session.props.auth.user.userName, isAdmin], database\u003d\u0027Ignition\u0027)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.pager.bottom": { + "binding": { + "config": { + "expression": "len({this.props.data}) \u003e {this.props.pager.initialOption}" + }, + "type": "expr" + } + }, + "props.selection.selectedColumn": { + "binding": { + "config": { + "expression": "null" + }, + "type": "expr" + } + }, + "props.selection.selectedRow": { + "binding": { + "config": { + "expression": "null" + }, + "type": "expr" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "id", + "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": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "config_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": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "favorite", + "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": "Favorite" + }, + "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": "private", + "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": "Private" + }, + "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": "username", + "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": "Username" + }, + "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 HH:mm:ss", + "editable": false, + "field": "t_stamp", + "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": "TStamp" + }, + "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": "date", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + } + ], + "pager": {}, + "selection": {}, + "style": { + "margin": "0 8px" + } + }, + "type": "ia.display.table" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\ttable \u003d self.parent.parent.getChild(\"Table\")\n\tconfigId \u003d table.props.selection.data[0].id\n\tquery \u003d \"\"\"\n\tDELETE FROM ad_hoc_trends_config\n\tWHERE id \u003d ?\n\t\"\"\"\n\targs \u003d [configId]\n\tsystem.db.runPrepUpdate(query, args, database\u003d\u0027Ignition\u0027)\n\ttable.refreshBinding(\u0027props.data\u0027)\n\tself.props.value \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Delete" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "len({.../Table.props.selection.data}) \u003e 0\r\n\u0026\u0026 {session.props.auth.authenticated}" + }, + "type": "expr" + } + } + }, + "props": { + "confirm": { + "enabled": true + }, + "primary": false, + "readyState": { + "icon": { + "style": { + "height": "24px", + "width": "2rem" + } + }, + "text": "Delete Selected Config" + }, + "style": { + "padding": "0 10px" + }, + "writingState": { + "icon": { + "style": { + "height": "24px", + "width": "2rem" + } + }, + "text": "Delete Selected Config" + } + }, + "type": "ia.input.oneshotbutton" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "35px", + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "margin": "8px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "0px", + "shrink": 0 + }, + "propConfig": { + "props.style.flex-basis": { + "binding": { + "config": { + "expression": "if(!{view.custom.viewSaves}, 0, 520)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-left": "none", + "border-right": "1px solid var(--border)", + "border-top": "1px solid var(--border)", + "overflow": "hidden", + "transition": "all 0.2s ease-in-out" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Body", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "500px", + "grow": 1 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onKeyPress": { + "config": { + "script": "\tself.view.rootContainer.setTitle(self.props.text)\n\tif event.key \u003d\u003d \u0027Enter\u0027:\n\t\tself.view.rootContainer.closeFunction()\n\t\t# clearing own text during key press will not work\n\t\t# must be cleared it after this event\n\t\timport threading\n\t\tdef resetText():\n\t\t\tself.props.text \u003d \u0027\u0027\n\t\tthreading.Timer(0.3, resetText).start()\n\t\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Title" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "deferUpdates": false, + "placeholder": "Enter a new title or leave blank to clear...", + "rejectUpdatesWhileFocused": false + }, + "type": "ia.input.text-field" + }, + { + "meta": { + "name": "SaveSpacer" + }, + "position": { + "basis": "8px", + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.parent.getSibling(\u0027Title\u0027).props.text \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tnewTitle \u003d self.parent.getSibling(\u0027Title\u0027).props.text\n\tself.parent.getSibling(\u0027Title\u0027).props.text \u003d \u0027\u0027\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.setTitle(newTitle)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Save", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelSave" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "SetTitle" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onKeyDown": { + "config": { + "script": "\tif event.key \u003d\u003d \u0027Enter\u0027:\n\t\tself.view.rootContainer.closeFunction()\n\t\t# the value entered will not yet be availble\n\t\t# must trigger the new rate after this event is done\n\t\timport threading\n\t\tdef setNewRate():\n\t\t\tself.view.rootContainer.setRate(self.props.value)\n\t\tthreading.Timer(0.3, setNewRate).start()\n\t\t\n\t\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Rate" + }, + "position": { + "basis": "60px", + "grow": 1 + }, + "props": { + "align": "left", + "format": "0,0", + "inputBounds": { + "minimum": 0 + }, + "placeholder": "Enter a new rate for real-time mode...", + "style": { + "height": "60px" + }, + "value": 5000 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "(ms)" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "RateInput" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tnewRate \u003d self.parent.parent.getChild(\u0027RateInput/Rate\u0027).props.value\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.setRate(newRate)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Save", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelSave" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "SetRefreshRate" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.parent.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.parent.getSibling(\u0027Display\u0027).props.selected\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.saveToFile(includePlots, includeDisplay)\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Save", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelSave" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "SaveToFile" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "children": [ + { + "custom": { + "configJson": "" + }, + "events": { + "component": { + "onFileReceived": { + "config": { + "script": "\tself.custom.configJson \u003d event.file.getString()\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "FileUpload" + }, + "position": { + "basis": "60px", + "grow": 1 + }, + "props": { + "fileUploadIcon": { + "path": "material/folder_open", + "style": { + "cursor": "pointer" + } + }, + "maxUploads": 1, + "supportedFileTypes": [ + "JSON" + ] + }, + "type": "ia.input.fileupload" + }, + { + "meta": { + "name": "BrowseLabel" + }, + "position": { + "shrink": 0 + }, + "props": { + "text": "Browse (10 MB max)" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Browse" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "SaveSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.parent.parent.getChild(\u0027Browse/FileUpload\u0027).custom.configJson \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.parent.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.parent.getSibling(\u0027Display\u0027).props.selected\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.loadFromFile(self.parent.parent.getChild(\u0027Browse/FileUpload\u0027).custom.configJson, includePlots, includeDisplay)\n\tself.parent.parent.getChild(\u0027Browse/FileUpload\u0027).custom.configJson \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Load" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Load", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelLoad" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "LoadFromFile" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "60px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "\tdbList \u003d []\n\tfor db in value:\n\t\tif db[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\t\telif db[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, \u0027MongoDB\u0027, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\treturn dbList", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "enabled": false, + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.refreshBinding(\u0027custom.databases\u0027)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Refresh" + }, + "position": { + "basis": "60px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/refresh" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "DbRefresh" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "!isNull({../DbRefresh/Databases.props.value})" + }, + "type": "expr" + } + }, + "props.label.text": { + "binding": { + "config": { + "expression": "if({this.props.selected}, \u0027Enabled\u0027, \u0027Disabled\u0027)" + }, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "struct": { + "databases": "{view.custom.databases}", + "selectedDatabase": "{../DbRefresh/Databases.props.value}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn next((x.Enabled for x in self.view.custom.databases if \u0027%s:%s\u0027 %(x.connector, x.Name) \u003d\u003d value.selectedDatabase), False)", + "type": "script" + } + ], + "type": "expr-struct" + }, + "onChange": { + "enabled": null, + "script": "\tselectedDatabase \u003d self.parent.getChild(\u0027DbRefresh/Databases\u0027).props.value\n\tif selectedDatabase:\n\t\tif currentValue:\n\t\t\tif currentValue.value:\n\t\t\t\tself.view.custom.configureDatabases[selectedDatabase] \u003d True\n\t\t\telse:\n\t\t\t\tself.view.custom.configureDatabases[selectedDatabase] \u003d False" + } + } + }, + "props": { + "color": { + "selected": "var(--success)", + "unselected": "var(--neutral-60)" + }, + "label": {} + }, + "type": "ia.input.toggle-switch" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.view.custom.configureDatabases \u003d {}\n\tself.parent.parent.getChild(\u0027DbRefresh/Databases\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.configureDatabases()\n\tself.parent.parent.getChild(\u0027DbRefresh/Databases\u0027).props.value \u003d None\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Save", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelSave" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "ConfigureDatabases" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "enabled": false, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "60px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "#\treturn [{\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: db.Name} for db in filter(lambda x: x[\u0027Enabled\u0027], value)]\n\treturn self.view.rootContainer.populateDatabaseDropdown(value, True)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "expression": "coalesce({this.props.options[0].value},\u0027\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "enabled": false, + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + } + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "ChartSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "key": "value" + }, + "meta": { + "name": "Charts" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "../Databases.props.value" + }, + "transforms": [ + { + "code": "\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d value), False)\n\tif not dbInfo:\n\t\treturn []\n\tcharts \u003d self.view.rootContainer.getCharts(value)\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\treturn [{\u0027value\u0027: chart[\u0027id\u0027], \u0027label\u0027: chart[\u0027config_name\u0027]} for chart in charts]\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\treturn [{\u0027value\u0027: chart[\u0027_id\u0027], \u0027label\u0027: chart[\u0027configName\u0027]} for chart in charts]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a chart..." + }, + "search": { + "noResultsText": "No charts found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "SaveSpacer" + }, + "position": { + "basis": "8px", + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.parent.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.parent.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.parent.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.parent.getSibling(\u0027Display\u0027).props.selected\n\tdbName \u003d self.parent.getSibling(\u0027Databases\u0027).props.value\n\tconfigId \u003d self.parent.getSibling(\u0027Charts\u0027).props.value\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.loadFromDb(dbName, configId, includePlots, includeDisplay)\n\tself.parent.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.parent.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Load" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Load", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelLoad" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "LoadFromDb" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Private" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{session.props.auth.authenticated}" + }, + "type": "expr" + } + } + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "text": "Store Privately", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Favorite" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{session.props.auth.authenticated}" + }, + "type": "expr" + } + } + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "text": "Set Favorite", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "60px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "#\treturn [{\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: db.Name} for db in filter(lambda x: x[\u0027Enabled\u0027], value)]\n\treturn self.view.rootContainer.populateDatabaseDropdown(value, True)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "expression": "coalesce({this.props.options[0].value},\u0027\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "enabled": false, + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + } + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "ChartSpacer" + }, + "position": { + "basis": "8px", + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "custom": { + "key": "value" + }, + "meta": { + "name": "Charts" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "../Databases.props.value" + }, + "transforms": [ + { + "code": "\tself.props.value \u003d \u0027\u0027\n\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d value), False)\n\tif not dbInfo:\n\t\treturn []\n\tcharts \u003d self.view.rootContainer.getOwnCharts(value)\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\treturn [{\u0027value\u0027: chart[\u0027id\u0027], \u0027label\u0027: chart[\u0027config_name\u0027]} for chart in charts]\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\tfrom system.mongodb.types import ObjectId\n\t\treturn [{\u0027value\u0027: chart[\u0027_id\u0027], \u0027label\u0027: chart[\u0027configName\u0027]} for chart in charts]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "allowCustomOptions": true, + "placeholder": { + "text": "Select or create a chart..." + }, + "search": { + "noResultsText": "No charts found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + } + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px", + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.parent.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.parent.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.parent.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.parent.getSibling(\u0027Display\u0027).props.selected\n\tprivate \u003d self.session.props.auth.authenticated and self.parent.getSibling(\u0027Private\u0027).props.selected\n\tfavorite \u003d self.session.props.auth.authenticated and self.parent.getSibling(\u0027Favorite\u0027).props.selected\n\tdbName \u003d self.parent.getSibling(\u0027Databases\u0027).props.value\n\tconfigId \u003d self.parent.getSibling(\u0027Charts\u0027).props.value\n\tnewChart \u003d not any(str(o[\u0027value\u0027]) \u003d\u003d str(configId) for o in self.parent.getSibling(\u0027Charts\u0027).props.options)\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.saveToDb(dbName, configId, includePlots, includeDisplay, private, favorite, newChart)\n\tself.parent.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.parent.getSibling(\u0027Charts\u0027).props.value \u003d None\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Save", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelSave" + }, + "position": { + "basis": "60px" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "SaveToDb" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "title": "Configure Databases" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ConfigureDatabases" + }, + "position": { + "basis": "36px", + "display": false + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/storage" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/FullRadiusMobile AdHocTrends/MobileControl" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "DatabaseSpacer" + }, + "position": { + "basis": "8px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Load from Database" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)\n\tself.parent.parent.getChild(\"LoadFromDb\").getChild(\"Charts\").refreshBinding(\"props.options\")\n\tself.parent.parent.getChild(\"LoadFromDb\").getChild(\"Databases\").refreshBinding(\"props.options\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "LoadFromDb" + }, + "position": { + "basis": "35px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/playlist_play" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/LeftRadiusMobile AdHocTrends/MobileControl" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "custom": { + "title": "Save to Database" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)\n\tself.parent.parent.getChild(\"SaveToDb\").getChild(\"Charts\").refreshBinding(\"props.options\")\n\tself.parent.parent.getChild(\"SaveToDb\").getChild(\"Databases\").refreshBinding(\"props.options\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SaveToDb" + }, + "position": { + "basis": "35px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/playlist_add" + }, + "width": 23 + }, + "primary": false, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/MobileControl AdHocTrends/RightRadiusMobile" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SaveFileSpacer" + }, + "position": { + "basis": "8px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Load File" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "LoadFromFile" + }, + "position": { + "basis": "35px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/folder_open" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/LeftRadiusMobile AdHocTrends/MobileControl" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "custom": { + "title": "Save File" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SaveToFile" + }, + "position": { + "basis": "35px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/save" + }, + "width": 23 + }, + "primary": false, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/MobileControl AdHocTrends/RightRadiusMobile" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SetRefreshRateSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Set Real-Time Refresh Rate" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, \u0027root/MobileBottomControls/FooterSmall/SetRefreshRate/RateInput/Rate\u0027, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SetRefreshRate" + }, + "position": { + "basis": "35px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/access_time" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/LeftRadiusMobile AdHocTrends/MobileControl" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.togglePause()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Pause" + }, + "position": { + "basis": "35px" + }, + "propConfig": { + "props.image.icon.color": { + "binding": { + "config": { + "expression": "if({this.props.primary}, \u0027var(--neutral-20)\u0027, \u0027var(--neutral-70)\u0027)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "expression": "{...../Body/PowerChart.props.config.refreshRate} \u003d 0" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/pause_circle_outline" + }, + "width": 23 + }, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/MobileControl AdHocTrends/RightRadiusMobile" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SetTitleSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Set Title" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, \u0027root/MobileBottomControls/FooterSmall/SetTitle/Title\u0027, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SetTitle" + }, + "position": { + "basis": "36px", + "shrink": 0 + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/text_fields" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/FullRadiusMobile AdHocTrends/MobileControl" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Controls" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "classes": "AdHocTrends/MobileControlBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FooterSmall" + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/Header", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "MobileBottomControls" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.breakpoint": { + "binding": { + "config": { + "expression": "{../Body/PowerChart.props.config.responsiveDesignWidth}+2" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "maxHeight": "50px", + "zIndex": 1 + } + }, + "type": "ia.container.breakpt" + }, + { + "meta": { + "name": "Debug" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{session.custom.site}" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "scripts": { + "customMethods": [ + { + "name": "toggleFunction", + "params": [ + "name", + "focusElement", + "title" + ], + "script": "\t# toggle just forwards to the open/close methods based on what\u0027s currently selected\n\t# visibility of each feature is based on the name that is stored in the activeControl property\n\tif self.view.custom.activeControl \u003d\u003d name:\n\t\tself.view.rootContainer.closeFunction()\n\telse:\n\t\tself.view.rootContainer.openFunction(name, focusElement, title)\n\t\t" + }, + { + "name": "closeFunction", + "params": [], + "script": "\tself.view.custom.activeControl \u003d None\n\tself.view.custom.functionTitle \u003d \u0027\u0027" + }, + { + "name": "openFunction", + "params": [ + "name", + "focusElement", + "title" + ], + "script": "\tself.view.custom.activeControl \u003d name\n\tself.view.custom.functionTitle \u003d title\n\t\n\t# special case for auto focusing specific elements when opened\n\t# currently used for title and rate \n\t# a delay was necessary in order to allow the input component to become visible first, before focusing\n\tif focusElement:\n\t\timport threading\n\t\tdef focusWorker():\n\t\t\tself.view.getChild(focusElement).focus()\n\t\tthreading.Timer(0.3, focusWorker).start()" + }, + { + "name": "setTitle", + "params": [ + "title" + ], + "script": "\t# sets or hides the title of the chart\n\t# if you simply set it to empty,\n\t# it still includes some extra whitespace where the title would be\n\tif title:\n\t\tself.view.getChild(\u0027root/Body/PowerChart\u0027).props.title.text \u003d title\n\t\tself.view.getChild(\u0027root/Body/PowerChart\u0027).props.title.visible \u003d True\n\telse:\n\t\tself.view.getChild(\u0027root/Body/PowerChart\u0027).props.title.text \u003d \u0027\u0027\n\t\tself.view.getChild(\u0027root/Body/PowerChart\u0027).props.title.visible \u003d False" + }, + { + "name": "setRate", + "params": [ + "rate" + ], + "script": "\tself.view.getChild(\u0027root/Body/PowerChart\u0027).props.config.refreshRate \u003d rate" + }, + { + "name": "saveToFile", + "params": [ + "includePlots", + "includeDisplay" + ], + "script": "\tconfig \u003d self.view.rootContainer.getConfigJson(includePlots, includeDisplay)\n\tsystem.perspective.download(\u0027chartsettings.json\u0027, config)\n" + }, + { + "name": "loadFromFile", + "params": [ + "config", + "includePlots", + "includeDisplay" + ], + "script": "\t# save files are split into two sections -\n\t# the configured plots (pens/axes/plots) and the overall display settings (legends/columns)\n\n\tif config:\n\t\tif isinstance(config, str) or isinstance(config, unicode):\n\t\t\tconfig \u003d system.util.jsonDecode(config.decode(\u0027utf-8\u0027))\n\t\tconfig \u003d self.view.rootContainer.propertyTreeRestoreDate(config)\n\t\t\n\t\tpowerChart \u003d self.view.getChild(\u0027root/Body/PowerChart\u0027)\n\t\tif includePlots:\n\t\t\tif \u0027config\u0027 in config:\n\t\t\t\tpowerChart.props.config \u003d config[\u0027config\u0027]\n\t\t\t\t\n\t\t\tif \u0027axes\u0027 in config:\n\t\t\t\tpowerChart.props.axes \u003d config[\u0027axes\u0027]\n\t\t\tif \u0027pens\u0027 in config:\n\t\t\t\tpowerChart.props.pens \u003d config[\u0027pens\u0027]\n\t\t\tif \u0027plots\u0027 in config:\n\t\t\t\tpowerChart.props.plots \u003d config[\u0027plots\u0027]\n\t\t\tif \u0027title\u0027 in config:\n\t\t\t\tpowerChart.props.title \u003d config[\u0027title\u0027]\n\t\t\t\n\t\tif includeDisplay:\n\t\t\tif \u0027timeAxis\u0027 in config:\n\t\t\t\tpowerChart.props.timeAxis \u003d config[\u0027timeAxis\u0027]\n\t\t\tif \u0027interaction\u0027 in config:\n\t\t\t\t# range brushes are not currently writable through the property tree\n\t\t\t\tconfig[\u0027interaction\u0027][\u0027rangeBrush\u0027][\u0027values\u0027] \u003d []\n\t\t\t\tpowerChart.props.interaction \u003d config[\u0027interaction\u0027]\n\t\t\tif \u0027dataColumns\u0027 in config:\n\t\t\t\tpowerChart.props.dataColumns \u003d config[\u0027dataColumns\u0027]\n\t\t\tif \u0027legend\u0027 in config:\n\t\t\t\tpowerChart.props.legend \u003d config[\u0027legend\u0027]\n" + }, + { + "name": "togglePause", + "params": [], + "script": "\t# this will store the current refresh rate before setting it to 0 so it can be unpaused later\n\tpowerChart \u003d self.view.getChild(\u0027root/Body/PowerChart\u0027)\n\tif powerChart.props.config.refreshRate \u003d\u003d 0:\n\t\tself.view.rootContainer.setRate(self.view.custom.refreshRate)\n\telse:\n\t\tself.view.custom.refreshRate \u003d powerChart.props.config.refreshRate\n\t\tself.view.rootContainer.setRate(0)" + }, + { + "name": "configureDatabases", + "params": [], + "script": "\t# current functionality allows an admin to toggle the available databases\n\t# the list of databases to enable/disable is store in a property until the admin selects \u0027Save\u0027\n\t# based on that list, this function will attempt to enable/disable each one\n\t# enable means there is a matching configs table and the first row has private\u003d0\n\t# disabled means the first row has private\u003d1, or there is no matching configs table \n\t# for enable: this will check for valid connection, create configs table if necessary, or update the existing matching table with private\u003d0\n\t# for disable: this will check for valid connection, update the existing matching table with private\u003d1\n\t# after doing this, we send out a message to open sessions to update their db listing, so they don\u0027t have to manually refresh anything\n\t\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\tfor dbDetailedName in self.view.custom.configureDatabases:\n\t\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d dbDetailedName), False)\n\t\tif not dbInfo:\n\t\t\tlogger.error(\u0027Unable to create configuration table for database \"%s\" because it was not found in database list (view.custom.databases).\u0027 %dbDetailedName)\n\t\t\tcontinue\n\t\t\n\t\tif dbInfo[\u0027Status\u0027] !\u003d \"Valid\":\n\t\t\tlogger.error(\u0027Unable to create configuration table for database \"%s\" because database does not have a valid connection.\u0027 %dbDetailedName)\n\t\t\tcontinue\n\t\t\n\t\tdbEnable \u003d self.view.custom.configureDatabases[dbDetailedName]\n\t\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\t\tdbType \u003d dbInfo[\u0027DBType\u0027]\n\t\t\tdbName \u003d dbInfo[\u0027Name\u0027]\n\t\t\t\n\t\t\ttableExistsQuery \u003d self.view.rootContainer.getTableExistsQuery(dbType)\n\t\t\ttableFormatMatchesQuery \u003d self.view.rootContainer.getTableFormatMatchesQuery(dbType, dbName)\n\t\t\tcreateTableQuery \u003d self.view.rootContainer.getCreateTableQuery(dbType)\n\t\t\tmakeDatabasePrivateQuery \u003d self.view.rootContainer.getMakeDatabasePrivateQuery(dbType)\n\t\t\t\n\t\t\tif not tableExistsQuery or not tableFormatMatchesQuery or not createTableQuery or not makeDatabasePrivateQuery:\n\t\t\t\tlogger.error(\u0027Unable to create configuration table for sql database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbInfo[\u0027Name\u0027], dbType))\n\t\t\t\tcontinue\n\t\t\t\n\t\t\ttableExists \u003d system.db.runScalarPrepQuery(tableExistsQuery, None, dbInfo[\u0027Name\u0027])\n\t\t\t\n\t\t\tif dbEnable:\n\t\t\t\tif tableExists:\n\t\t\t\t\ttableFormatMatches \u003d system.db.runScalarPrepQuery(tableFormatMatchesQuery, None, dbInfo[\u0027Name\u0027])\n\t\t\t\t\tif tableFormatMatches:\n\t\t\t\t\t\tsystem.db.runPrepUpdate(makeDatabasePrivateQuery, [False, False], dbInfo[\u0027Name\u0027])\n\t\t\t\t\t\tlogger.info(\u0027Enabled sql database \"%s\"\u0027 %dbInfo[\u0027Name\u0027])\n\t\t\t\t\telse:\n\t\t\t\t\t\tlogger.error(\u0027Unable to create configuration table for sql database \"%s\" because configuration table but does not match expected format [id,user,public,config, config_name,timestamp].\u0027 %dbInfo[\u0027Name\u0027])\n\t\t\t\telse:\n\t\t\t\t\tsystem.db.runPrepUpdate(createTableQuery, None, dbInfo[\u0027Name\u0027])\n\t\t\t\t\tlogger.info(\u0027Created configuration table for sql database \"%s\"\u0027 %dbInfo[\u0027Name\u0027])\n\t\t\t\t\tsystem.db.runPrepUpdate(makeDatabasePrivateQuery, [False, False], dbInfo[\u0027Name\u0027])\n\t\t\t\t\tlogger.info(\u0027Enabled sql database \"%s\"\u0027 %dbInfo[\u0027Name\u0027])\n\t\t\telse:\n\t\t\t\tif tableExists:\n\t\t\t\t\ttableFormatMatches \u003d system.db.runScalarPrepQuery(tableFormatMatchesQuery, None, dbInfo[\u0027Name\u0027])\n\t\t\t\t\tif tableFormatMatches:\n\t\t\t\t\t\tsystem.db.runPrepUpdate(makeDatabasePrivateQuery, [True, True], dbInfo[\u0027Name\u0027])\n\t\t\t\t\t\tlogger.info(\u0027Disabled sql database \"%s\"\u0027 %dbInfo[\u0027Name\u0027])\n\t\t\t\t\telse:\n\t\t\t\t\t\tlogger.error(\u0027Unable to create configuration table for sql database \"%s\" because configuration table but does not match expected format [id,user,public,config, config_name,timestamp].\u0027 %dbInfo[\u0027Name\u0027])\n\t\t\t\telse:\n\t\t\t\t\t# ad hoc trends config table does not exist, so there is no change needed\n\t\t\t\t\tpass\n\t\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\t\t# collection exists\n\t\t\t# upsert\n\t\t\tif dbEnable:\n\t\t\t\tsystem.mongodb.updateOne(dbInfo[\u0027Name\u0027], \u0027ad_hoc_trends_config\u0027, {\u0027_id\u0027: \u0027config\u0027}, {\u0027$set\u0027: {\u0027Enabled\u0027: True}}, {\u0027upsert\u0027: True})\n\t\t\telse:\n\t\t\t\tsystem.mongodb.updateOne(dbInfo[\u0027Name\u0027], \u0027ad_hoc_trends_config\u0027, {\u0027_id\u0027: \u0027config\u0027}, {\u0027$set\u0027: {\u0027Enabled\u0027: False}}, {\u0027upsert\u0027: True})\n\t\t\t\n\n\tfor session in filter(lambda x: x.sessionScope !\u003d \u0027designer\u0027, system.perspective.getSessionInfo()):\n\t\tsystem.perspective.sendMessage(\u0027ad_hoc_trends_databaseReconfigured\u0027, {}, \u0027session\u0027, session.id)" + }, + { + "name": "databaseEnabled", + "params": [ + "dbName", + "connector" + ], + "script": "\t# enable means there is a matching configs table and the first row has private\u003d0\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\tsystem.perspective.print(repr([\u0027dbName\u0027, dbName, \u0027connector\u0027, connector]))\n\tif connector \u003d\u003d \u0027sql\u0027:\n\t\tdbInfo \u003d system.db.getConnectionInfo(dbName)\n\t\tif not dbInfo:\n\t\t\tlogger.error(\u0027Unable to check if database \"%s\" is enabled because it was not found in database connection list (system.db.getConnectionInfo).\u0027 %dbName)\n\t\t\treturn False\n\t\n\t\tdbType \u003d dbInfo.getValueAt(0, \u0027DBType\u0027)\n\t\t\n\t\ttableExistsQuery \u003d self.view.rootContainer.getTableExistsQuery(dbType)\n\t\ttableFormatMatchesQuery \u003d self.view.rootContainer.getTableFormatMatchesQuery(dbType, dbName)\n\t\tdatabaseEnabledQuery \u003d self.view.rootContainer.getDatabaseEnabledQuery(dbType)\n\t\t\n\t\tif not tableExistsQuery or not tableFormatMatchesQuery or not databaseEnabledQuery:\n\t\t\tlogger.debug(\u0027Unable to check if database \"%s\" is enabled because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\t\tsystem.perspective.print(\u0027False\u0027)\n\t\t\treturn False\n\t\n\t\tcheck1 \u003d bool(system.db.runScalarPrepQuery(tableExistsQuery, None, dbName))\n\t\tcheck2 \u003d bool(system.db.runScalarPrepQuery(tableFormatMatchesQuery, None, dbName))\n\t\tcheck3 \u003d bool(system.db.runScalarPrepQuery(databaseEnabledQuery, None, dbName))\n\t\tsystem.perspective.print(\"check1: {}, check2: {}, check3: {}\".format(check1, check2, check3))\n\t\treturn check1 and \\\n\t\t\t\tcheck2 and \\\n\t\t\t\tcheck3\n\t\t\n#\t\treturn bool(system.db.runScalarPrepQuery(tableExistsQuery, None, dbName)) and \\\n#\t\t\tbool(system.db.runScalarPrepQuery(tableFormatMatchesQuery, None, dbName)) and \\\n#\t\t\tbool(system.db.runScalarPrepQuery(databaseEnabledQuery, None, dbName))\n\t\t\t\n\telif connector \u003d\u003d \u0027mongodb\u0027:\n\t\tcollections \u003d system.mongodb.listCollectionNames(dbName)\n\t\t\n\t\tif \u0027ad_hoc_trends_config\u0027 in collections:\n\t\t\tdoc \u003d system.mongodb.findOne(dbName, \u0027ad_hoc_trends_config\u0027, {\u0027_id\u0027: \u0027config\u0027})\n\t\t\tif doc and doc[\u0027Enabled\u0027]:\n\t\t\t\treturn True\n\t\t\n\t\treturn False" + }, + { + "name": "getCharts", + "params": [ + "dbName" + ], + "script": "\t# get any chart created by this user or any chart made available publicly (null user or private\u003d0)\n\tif not dbName:\n\t\treturn system.dataset.toPyDataSet(system.dataset.toDataSet([\u0027id\u0027, \u0027username\u0027, \u0027config_name\u0027, \u0027private\u0027, \u0027config\u0027, \u0027t_stamp\u0027], []))\n\t\n\tusername \u003d self.session.props.auth.user.userName\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d dbName), False)\n\tif not dbInfo:\n\t\tlogger.error(\u0027Unable to load charts of database \"%s\" because it was not found in database list (view.custom.databases).\u0027 %dbName)\n\t\treturn\n\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\tdbType \u003d dbInfo[\u0027DBType\u0027]\n\t\t\n\t\tavailableChartsQuery \u003d self.view.rootContainer.getAvailableChartsQuery(dbType)\n\t\t\n\t\tif not availableChartsQuery:\n\t\t\tlogger.debug(\u0027Unable to load charts of database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\t\treturn system.dataset.toPyDataSet(system.dataset.toDataSet([\u0027id\u0027, \u0027username\u0027, \u0027config_name\u0027, \u0027private\u0027, \u0027config\u0027, \u0027t_stamp\u0027], []))\n\t\t\n\t\treturn system.db.runPrepQuery(availableChartsQuery, [username], dbInfo[\u0027Name\u0027])\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\treturn system.mongodb.find(dbInfo[\u0027Name\u0027], \u0027ad_hoc_trends_config\u0027, {\n\t\t\t\u0027$and\u0027: [\n\t\t\t\t{\u0027$or\u0027: [{\u0027username\u0027: username}, {\u0027username\u0027: None}, {\u0027private\u0027: False}]},\n\t\t\t\t{\u0027_id\u0027: {\u0027$ne\u0027: \u0027config\u0027}}]\n\t\t})\n" + }, + { + "name": "getOwnCharts", + "params": [ + "dbName" + ], + "script": "\t# only returns the list of charts created by this user, or ones created globally (null user)\n\t# used for the saving feature, so that you don\u0027t edit someone else\u0027s charts\n\tif not dbName:\n\t\treturn system.dataset.toPyDataSet(system.dataset.toDataSet([\u0027id\u0027, \u0027username\u0027, \u0027config_name\u0027, \u0027private\u0027, \u0027config\u0027, \u0027t_stamp\u0027], []))\n\t\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d dbName), False)\n\tif not dbInfo:\n\t\tlogger.error(\u0027Unable to load charts of database \"%s\" because it was not found in database list (view.custom.databases).\u0027 %dbName)\n\t\treturn\n\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\tdbType \u003d dbInfo[\u0027DBType\u0027]\n\t\t\n\t\townChartsQuery \u003d self.view.rootContainer.getOwnChartsQuery(dbType)\n\t\t\n\t\tif not ownChartsQuery:\n\t\t\tlogger.debug(\u0027Unable to load charts of database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\t\treturn system.dataset.toPyDataSet(system.dataset.toDataSet([\u0027id\u0027, \u0027username\u0027, \u0027config_name\u0027, \u0027private\u0027, \u0027config\u0027, \u0027t_stamp\u0027], []))\n\t\t\n\t\treturn system.db.runPrepQuery(ownChartsQuery, [self.session.props.auth.user.userName], dbInfo[\u0027Name\u0027])\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\treturn\tsystem.mongodb.find(dbInfo[\u0027Name\u0027], \u0027ad_hoc_trends_config\u0027, {\n\t\t\t\u0027$and\u0027: [\n\t\t\t\t{\u0027$or\u0027: [{\u0027username\u0027: self.session.props.auth.user.userName}, {\u0027username\u0027: None}]},\n\t\t\t\t{\u0027_id\u0027: {\u0027$ne\u0027: \u0027config\u0027}}]\n\t\t})\n" + }, + { + "name": "loadFromDb", + "params": [ + "dbName", + "configId", + "includePlots", + "includeDisplay" + ], + "script": "\tif not dbName or not configId:\n\t\treturn\n\t\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d dbName), False)\n\tif not dbInfo:\n\t\tlogger.error(\u0027Unable to load chart configuration from database \"%s\" because it was not found in database list (view.custom.databases).\u0027 %dbName)\n\t\treturn\n\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\tdbType \u003d dbInfo[\u0027DBType\u0027]\n\t\t\n\t\tchartConfigQuery \u003d self.view.rootContainer.getChartConfigQuery(dbType)\n\t\tif not chartConfigQuery:\n\t\t\tlogger.debug(\u0027Unable to load chart configuration from database \"%s\" because it is an unknown sql database type \"%s\".\u0027 %(dbName, dbType))\n\t\t\treturn\n\t\t\n\t\tself.view.rootContainer.loadFromFile(system.db.runScalarPrepQuery(chartConfigQuery, [configId], dbInfo[\u0027Name\u0027]), includePlots, includeDisplay)\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\tfrom system.mongodb.types import ObjectId\n\t\tconfigDoc \u003d system.mongodb.findOne(dbInfo[\u0027Name\u0027], \u0027ad_hoc_trends_config\u0027, {\u0027_id\u0027: ObjectId(configId)})\n\t\tif configDoc:\n\t\t\tself.view.rootContainer.loadFromFile(configDoc[\u0027config\u0027], includePlots, includeDisplay)\n\t\n\t\n\t" + }, + { + "name": "saveToDb", + "params": [ + "dbName", + "configId", + "includePlots", + "includeDisplay", + "private", + "favorite", + "newChart" + ], + "script": "\tif not dbName or not configId:\n\t\treturn\n\t\n\t# configId will either be a unique id (newChart \u003d\u003d False) or the name for a new chart (newChart \u003d\u003d True)\n\t\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\t\n\tconfigJson \u003d self.view.rootContainer.getConfigJson(includePlots, includeDisplay)\n\tusername \u003d self.session.props.auth.user.userName\n\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d dbName), False)\n\tif not dbInfo:\n\t\tlogger.error(\u0027Unable to save chart configuration to database \"%s\" because it was not found in database list (view.custom.databases).\u0027 %dbName)\n\t\treturn\n\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\tdbType \u003d dbInfo[\u0027DBType\u0027]\n\n\t\tif newChart:\n\t\t\tinsertChartConfigQuery \u003d self.view.rootContainer.getInsertChartConfigQuery(dbType)\n\t\t\tif not insertChartConfigQuery:\n\t\t\t\tlogger.debug(\u0027Unable to save chart configuration to database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\t\t\treturn\n\t\t\t\t\n\t\t\tnewId \u003d system.db.runPrepUpdate(insertChartConfigQuery, [configJson, configId, private, favorite, username], dbInfo[\u0027Name\u0027], getKey\u003d1)\n\t\t\tif favorite:\n\t\t\t\tupdateFavoritesQuery \u003d self.view.rootContainer.getUpdateFavoritesQuery(dbType)\n\t\t\t\tsystem.db.runPrepUpdate(updateFavoritesQuery, [newId, username], dbInfo[\u0027Name\u0027])\n\t\t\t\n\t\t\tlogger.debug(\u0027Saved new chart configuration to database \"%s\"\u0027 %dbName)\n\t\t\t\n\t\telse:\n\t\t\tupdateChartConfigQuery \u003d self.view.rootContainer.getUpdateChartConfigQuery(dbType)\n\t\t\tif not updateChartConfigQuery:\n\t\t\t\tlogger.debug(\u0027Unable to save chart configuration to database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\t\t\treturn\n\t\t\t\t\n\t\t\tsystem.db.runPrepUpdate(updateChartConfigQuery, [configJson, username, private, username, favorite, configId], dbInfo[\u0027Name\u0027])\n\t\t\tif favorite:\n\t\t\t\tupdateFavoritesQuery \u003d self.view.rootContainer.getUpdateFavoritesQuery(dbType)\n\t\t\t\tsystem.db.runPrepUpdate(updateFavoritesQuery, [configId, username], dbInfo[\u0027Name\u0027])\n\t\t\t\n\t\t\tlogger.debug(\u0027Updated chart configuration in database \"%s\"\u0027 %dbName)\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\tfrom system.mongodb.types import ObjectId\n\t\tif newChart:\n\t\t\tsystem.mongodb.updateOne(dbInfo[\u0027Name\u0027], \u0027ad_hoc_trends_config\u0027, {\u0027_id\u0027: ObjectId.get()}, {\u0027$set\u0027: {\u0027config\u0027: system.util.jsonDecode(configJson), \u0027configName\u0027: configId, \u0027private\u0027: private, \u0027favorite\u0027: favorite, \u0027username\u0027: username}}, {\u0027upsert\u0027: True})\n\t\telse:\n\t\t\tsystem.mongodb.updateOne(dbInfo[\u0027Name\u0027], \u0027ad_hoc_trends_config\u0027, {\u0027_id\u0027: ObjectId(configId)}, {\u0027$set\u0027: {\u0027config\u0027: system.util.jsonDecode(configJson), \u0027private\u0027: private, \u0027favorite\u0027: favorite, \u0027username\u0027: username}}, {\u0027upsert\u0027: True})\n\t" + }, + { + "name": "getConfigJson", + "params": [ + "includePlots", + "includeDisplay" + ], + "script": "\tconfig \u003d {}\n\tpowerChart \u003d self.view.getChild(\u0027root/Body/PowerChart\u0027)\n\n\t# added a deepcopy utility that includes an option to convert Date to Instant format string\n\n\tif includePlots:\n\t\tconfig[\u0027config\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.config, True)\n\t\tconfig[\u0027axes\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.axes, True)\n\t\tconfig[\u0027pens\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.pens, True)\n\t\tconfig[\u0027plots\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.plots, True)\n\t\tconfig[\u0027title\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.title, True)\n\t\t\n\tif includeDisplay:\n\t\tconfig[\u0027timeAxis\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.timeAxis, True)\n\n\t\tconfig[\u0027interaction\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.interaction, True)\n\t\t\n\t\tconfig[\u0027dataColumns\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.dataColumns, True)\n\t\tconfig[\u0027legend\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.legend, True)\n\t\n\t# this method easily converts the perspective property trees into json\n\t# using str() of the property itself can include various parts that are not json compatible\n\tif config:\n\t\tfrom com.inductiveautomation.ignition.common import TypeUtilities\n\t\treturn str(TypeUtilities.pyToGson(config))\n\treturn \u0027{}\u0027" + }, + { + "name": "getTableExistsQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT EXISTS(\n\t\t\tSELECT\n\t\t\t\t*\n\t\t\tFROM\n\t\t\t\tinformation_schema.tables\n\t\t\tWHERE\n\t\t\t\ttable_schema NOT IN (\u0027information_schema\u0027, \u0027pg_catalog\u0027) AND\n\t\t\t\ttable_type \u003d \u0027BASE TABLE\u0027 AND\n\t\t\t\ttable_name \u003d \u0027ad_hoc_trends_config\u0027)\u0027\u0027\u0027\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT EXISTS(\n\t\t\tSELECT\n\t\t\t\t*\n\t\t\tFROM\n\t\t\t\tsqlite_master\n\t\t\tWHERE\n\t\t\t\ttype\u003d\u0027table\u0027 AND\n\t\t\t\tname\u003d\u0027ad_hoc_trends_config\u0027)\u0027\u0027\u0027\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT EXISTS(\n\t\t\tSELECT\n\t\t\t\t*\n\t\t\tFROM\n\t\t\t\tinformation_schema.tables\n\t\t\tWHERE\n\t\t\t\ttable_name \u003d \u0027ad_hoc_trends_config\u0027)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tCASE WHEN EXISTS \n\t\t\t(\n\t\t\t\tSELECT * \n\t\t\t\tFROM INFORMATION_SCHEMA.TABLES\n\t\t\t\tWHERE TABLE_TYPE \u003d \u0027BASE TABLE\u0027\n\t\t\t\tAND TABLE_NAME \u003d \u0027ad_hoc_trends_config\u0027\n\t\t\t)\n\t\t\t\tTHEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tcount(*)\n\t\tFROM\n\t\t\tdba_tables\n\t\tWHERE\n\t\t\ttable_name \u003d \u0027AD_HOC_TRENDS_CONFIG\u0027\n\t\t\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getDatabaseEnabledQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tprivate \u003d false\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d 0\u0027\u0027\u0027\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tprivate \u003d false\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d 0\u0027\u0027\u0027\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\t# by deafult, MySQL will auto increment when you try to set an auto increment column to 0 on INSERT.\n\t\t# using -1 here instead\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tprivate \u003d false\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d -1\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tCOUNT(*)\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\t\u0027\u0027\u0027\n#\t\tSELECT\n#\t\t\tCASE WHEN private \u003d 1\n#\t\t\t\tTHEN 1\n#\t\t\t\tELSE 0\n#\t\t\tEND\n#\t\tFROM\n#\t\t\tad_hoc_trends_config\n#\t\tWHERE\n#\t\t\tid \u003d 0\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tCASE WHEN private \u003d 0\n\t\t\t\tTHEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\n\t\tFROM\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tWHERE\n\t\t\tid \u003d 0\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getTableFormatMatchesQuery", + "params": [ + "dbType", + "dbName" + ], + "script": "\tsystem.perspective.print(\u0027dbType: {}\u0027.format(dbType))\n\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tcount(*) \u003d 7\n\t\tFROM\n\t\t\tinformation_schema.columns\n\t\tWHERE\n\t\t\ttable_name \u003d \u0027ad_hoc_trends_config\u0027 AND\n\t\t\tcolumn_name IN (\u0027id\u0027,\u0027username\u0027,\u0027config_name\u0027,\u0027private\u0027,\u0027config\u0027,\u0027t_stamp\u0027,\u0027favorite\u0027)\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tcount(*) \u003d 7\n\t\tFROM\n\t\t\tpragma_table_info(\u0027ad_hoc_trends_config\u0027)\n\t\tWHERE\n\t\t\tname IN (\u0027id\u0027,\u0027username\u0027,\u0027config_name\u0027,\u0027private\u0027,\u0027config\u0027,\u0027t_stamp\u0027,\u0027favorite\u0027)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tcount(*) \u003d 7\n\t\tFROM\n\t\t\tinformation_schema.columns\n\t\tWHERE\n\t\t\ttable_schema \u003d \u0027{}\u0027 AND \n\t\t\ttable_name \u003d \u0027ad_hoc_trends_config\u0027 AND\n\t\t\tcolumn_name IN (\u0027id\u0027,\u0027username\u0027,\u0027config_name\u0027,\u0027private\u0027,\u0027config\u0027,\u0027t_stamp\u0027,\u0027favorite\u0027)\u0027\u0027\u0027.format(dbName)\n\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tCASE WHEN COUNT(*) \u003d 7\n\t\t\t\tTHEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\n\t\tFROM\n\t\t\tinformation_schema.columns\n\t\tWHERE\n\t\t\tTABLE_NAME \u003d \u0027ad_hoc_trends_config\u0027 AND\n\t\t\tCOLUMN_NAME IN (\u0027id\u0027,\u0027username\u0027,\u0027config_name\u0027,\u0027private\u0027,\u0027config\u0027,\u0027t_stamp\u0027,\u0027favorite\u0027)\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tCASE WHEN COUNT(*) \u003d 7\n\t\t\t\tTHEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\n\t\tFROM\n\t\t\tall_tab_cols\n\t\tWHERE\n\t\t\tTABLE_NAME \u003d \u0027AD_HOC_TRENDS_CONFIG\u0027 AND\n\t\t\tCOLUMN_NAME IN (\u0027ID\u0027,\u0027USERNAME\u0027,\u0027CONFIG_NAME\u0027,\u0027PRIVATE\u0027,\u0027CONFIG\u0027,\u0027T_STAMP\u0027,\u0027FAVORITE\u0027)\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getCreateTableQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tCREATE TABLE ad_hoc_trends_config(\n\t\t\tid SERIAL PRIMARY KEY,\n\t\t\tusername text,\n\t\t\tconfig_name text,\n\t\t\tprivate boolean,\n\t\t\tconfig text,\n\t\t\tt_stamp timestamp DEFAULT CURRENT_TIMESTAMP,\n\t\t\tCONSTRAINT name UNIQUE(username, config_name)\n\t\t)\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tCREATE TABLE ad_hoc_trends_config(\n\t\t\tid INTEGER PRIMARY KEY,\n\t\t\tusername TEXT,\n\t\t\tconfig_name TEXT,\n\t\t\tprivate INTEGER,\n\t\t\tconfig TEXT,\n\t\t\tt_stamp TEXT DEFAULT CURRENT_TIMESTAMP,\n\t\t\tUNIQUE(username, config_name)\n\t\t)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tCREATE TABLE ad_hoc_trends_config(\n\t\t\tid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,\n\t\t\tusername VARCHAR(255),\n\t\t\tconfig_name VARCHAR(255),\n\t\t\tprivate BOOLEAN,\n\t\t\tconfig TEXT,\n\t\t\tt_stamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n\t\t\tCONSTRAINT name UNIQUE(username, config_name)\n\t\t)\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tCREATE TABLE ad_hoc_trends_config(\n\t\t\tid INT NOT NULL PRIMARY KEY IDENTITY(1, 1),\n\t\t\tusername VARCHAR(255),\n\t\t\tconfig_name VARCHAR(255),\n\t\t\tprivate BIT,\n\t\t\tconfig TEXT,\n\t\t\tt_stamp DATETIME DEFAULT CURRENT_TIMESTAMP,\n\t\t\tCONSTRAINT name UNIQUE(username, config_name)\n\t\t)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tCREATE TABLE ad_hoc_trends_config(\n\t\t\tid NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY,\n\t\t username VARCHAR(255),\n\t\t config_name VARCHAR(255),\n\t\t private NUMBER,\n\t\t config NCLOB,\n\t\t t_stamp DATE DEFAULT CURRENT_TIMESTAMP,\n\t\t CONSTRAINT name UNIQUE(username, config_name)\n\t\t)\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getMakeDatabasePrivateQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO ad_hoc_trends_config\n\t\t\t(id, config, config_name, private, username)\n\t\tVALUES\n\t\t\t(0, null, null, ?, null) \n\t\tON CONFLICT (id) \n\t\tDO UPDATE\n\t\t\tSET\n\t\t\t\tprivate \u003d ?\n\t\t\tWHERE\n\t\t\t\tad_hoc_trends_config.id \u003d 0\n\t\t\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\t# using ? AND ? here to use up to arguments, matching the other SQL queries\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT OR REPLACE INTO ad_hoc_trends_config\n\t\t\t(id, config, config_name, private, username)\n\t\tVALUES\n\t\t\t(0, null, null, ? AND ?, null)\n\t\t\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO ad_hoc_trends_config\n\t\t\t\t\t(id, config, config_name, private, username)\n\t\t\t\tVALUES\n\t\t\t\t\t(-1, null, null, ?, null) \n\t\t\t\tON DUPLICATE KEY UPDATE\n\t\t\t\t\tprivate \u003d ?\n\t\t\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tBEGIN TRAN\n\t\t\tUPDATE ad_hoc_trends_config\n\t\t\tWITH (SERIALIZABLE)\n\t\t\tSET private \u003d ?\n\t\t\tWHERE id \u003d 0\n\t\t\t\n\t\t\tIF @@rowcount \u003d 0\n\t\t\tBEGIN\n\t\t\t\tSET IDENTITY_INSERT ad_hoc_trends_config ON\n\t\t\t\tINSERT INTO ad_hoc_trends_config\n\t\t\t\t(id, config, config_name, private, username)\n\t\t\t\tVALUES\n\t\t\t\t(0, null, null, ?, null)\n\t\t\t\tSET IDENTITY_INSERT ad_hoc_trends_config OFF\n\t\t\tEND\n\t\tCOMMIT TRAN\n\t\t\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tMERGE INTO AD_HOC_TRENDS_CONFIG a\n\t\t\tUSING (SELECT 0 AS ID FROM DUAL d) d\n\t\t\tON (a.ID \u003d d.ID)\n\t\t\tWHEN MATCHED THEN UPDATE SET a.PRIVATE \u003d ?\n\t\t\tWHEN NOT MATCHED THEN INSERT (ID, CONFIG, CONFIG_NAME, PRIVATE, USERNAME) VALUES (0, null, null, ?, null)\n\t\t\u0027\u0027\u0027\n\t\t\n\treturn \u0027\u0027" + }, + { + "name": "getAvailableChartsQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR \n\t\t\t(private \u003d FALSE) OR \n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR \n\t\t\t(private \u003d FALSE) OR \n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR \n\t\t\t(private \u003d FALSE) OR \n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR \n\t\t\t(private \u003d \u0027FALSE\u0027) OR \n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid as \"id\",\n\t\t\tusername as \"username\",\n\t\t\tconfig_name as \"config_name\",\n\t\t\tfavorite as \"favorite\"\n\t\tFROM\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tWHERE\n\t\t\t((USERNAME IS NULL) OR \n\t\t\t(PRIVATE \u003d 0) OR \n\t\t\t(USERNAME \u003d ?)) AND\n\t\t\tID \u003e 0\u0027\u0027\u0027\n\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getOwnChartsQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR\n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR\n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR\n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR\n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid as \"id\",\n\t\t\tusername as \"username\",\n\t\t\tconfig_name as \"config_name\",\n\t\t\tfavorite as \"favorite\"\n\t\tFROM\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tWHERE\n\t\t\t((username IS NULL) OR\n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getFavoriteChartQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tusername \u003d ? AND\n\t\t\tfavorite \u003d TRUE\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tusername \u003d ? AND\n\t\t\tfavorite \u003d TRUE\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tusername \u003d ? AND\n\t\t\tfavorite \u003d TRUE\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tusername \u003d ? AND\n\t\t\tfavorite \u003d TRUE\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid as \"id\",\n\t\t\tusername as \"username\",\n\t\t\tconfig_name as \"config_name\"\n\t\tFROM\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tWHERE\n\t\t\tusername \u003d ? AND\n\t\t\tfavorite \u003d 1\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getChartConfigQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tconfig\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tconfig\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tconfig\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tconfig\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tconfig as \"config\"\n\t\tFROM\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getInsertChartConfigQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO\n\t\t\tad_hoc_trends_config\n\t\t\t(config, config_name, private, favorite, username)\n\t\tVALUES\n\t\t\t(?, ?, ?, ?, ?)\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO\n\t\t\tad_hoc_trends_config\n\t\t\t(config, config_name, private, favorite, username)\n\t\tVALUES\n\t\t\t(?, ?, ?, ?, ?)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO\n\t\t\tad_hoc_trends_config\n\t\t\t(config, config_name, private, favorite, username)\n\t\tVALUES\n\t\t\t(?, ?, ?, ?, ?)\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO\n\t\t\tad_hoc_trends_config\n\t\t\t(config, config_name, private, favorite, username)\n\t\tVALUES\n\t\t\t(?, ?, ?, ?, ?)\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\t\t(config, config_name, private, favorite, username)\n\t\tVALUES\n\t\t\t(?, ?, ?, ?, ?)\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getUpdateChartConfigQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tconfig \u003d ?,\n\t\t\tprivate \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE private\n\t\t\tEND, \n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE favorite\n\t\t\tEND, \n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tconfig \u003d ?,\n\t\t\tprivate \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE private\n\t\t\tEND, \n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE favorite\n\t\t\tEND\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tconfig \u003d ?,\n\t\t\tprivate \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE private\n\t\t\tEND, \n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE favorite\n\t\t\tEND\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tconfig \u003d ?,\n\t\t\tprivate \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE private\n\t\t\tEND, \n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE favorite\n\t\t\tEND\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tSET\n\t\t\tconfig \u003d ?,\n\t\t\tprivate \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE private\n\t\t\tEND, \n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE favorite\n\t\t\tEND\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getUpdateFavoritesQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN id \u003d ? THEN TRUE\n\t\t\t\tELSE FALSE\n\t\t\tEND\n\t\tWHERE\n\t\t\tusername \u003d ?\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN id \u003d ? THEN TRUE\n\t\t\t\tELSE FALSE\n\t\t\tEND\n\t\tWHERE\n\t\t\tusername \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN id \u003d ? THEN TRUE\n\t\t\t\tELSE FALSE\n\t\t\tEND\n\t\tWHERE\n\t\t\tusername \u003d ?\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN id \u003d ? THEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\n\t\tWHERE\n\t\t\tusername \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tSET\n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN id \u003d ? THEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\n\t\tWHERE\n\t\t\tusername \u003d ?\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "dateToInstant", + "params": [ + "date" + ], + "script": "\t# using this to convert Date props into string format that can be stored and easily turned back into Date\n\t# using the type ultility converter to string alone does not work well enough as no timezone is included\n\n\treturn str(date.toInstant())" + }, + { + "name": "dateFromInstant", + "params": [ + "instant" + ], + "script": "\t# using this to convert a string in Instant form back to java.util.Date for certain props\n\tfrom java.util import Date\n\tfrom java.time import Instant\n\tif isinstance(instant, basestring):\n\t\treturn Date.from(Instant.parse(instant))\n\treturn Date.from(instant)" + }, + { + "name": "propertyDeepcopy", + "params": [ + "property", + "convertDates\u003dFalse" + ], + "script": "\t# utility for copying the values from a perspective prop tree\n\t# deepcopy() does not appear to work directly on the prop tree wrapper type\n\t# also converting Date object to Instant format string\n\t\n\timport collections\n\tfrom java.util import Date\n\t\n\tdef copyProperties(node):\n\t\t# perspective arrays and python lists (but not strings)\n\t\tif \u0027PropertyTreeScriptWrapper$ArrayWrapper\u0027 in str(type(node)) or \\\n\t\t(isinstance(node, collections.Sequence) and not isinstance(node, basestring)):\n\t\t\tnodeCopy \u003d []\n\t\t\tfor i in node:\n\t\t\t\tnodeCopy.append(copyProperties(i))\n\t\t\treturn nodeCopy\n\t\t# perspective objects and python dictionaries\n\t\telif \u0027PropertyTreeScriptWrapper$ObjectWrapper\u0027 in str(type(node)) or isinstance(node, collections.Mapping):\n\t\t\tnodeCopy \u003d {}\n\t\t\tfor k in node:\n\t\t\t\tnodeCopy[k] \u003d copyProperties(node[k])\n\t\t\treturn nodeCopy\n\t\t# single value, with optional date conversion\n\t\telse:\n\t\t\tif convertDates and isinstance(node, Date):\n\t\t\t\treturn self.view.rootContainer.dateToInstant(node)\n\t\t\treturn node\n\t\t\t\n\treturn copyProperties(property)" + }, + { + "name": "propertyTreeRestoreDate", + "params": [ + "propertyTree" + ], + "script": "\t# creates a new copy of the given property tree, replacing Instant formatted strings with java.util.Date\n\timport collections\n\t\n\tdef convertProperties(node):\n\t\t# perspective arrays and python lists (but not strings)\n\t\tif \u0027PropertyTreeScriptWrapper$ArrayWrapper\u0027 in str(type(node)) or \\\n\t\t(isinstance(node, collections.Sequence) and not isinstance(node, basestring)):\n\t\t\tnodeCopy \u003d []\n\t\t\tfor i in node:\n\t\t\t\tnodeCopy.append(convertProperties(i))\n\t\t\treturn nodeCopy\n\t\t# perspective objects and python dictionaries\n\t\telif \u0027PropertyTreeScriptWrapper$ObjectWrapper\u0027 in str(type(node)) or isinstance(node, collections.Mapping):\n\t\t\tnodeCopy \u003d {}\n\t\t\tfor k in node:\n\t\t\t\tnodeCopy[k] \u003d convertProperties(node[k])\n\t\t\treturn nodeCopy\n\t\t# single value\n\t\telse:\n\t\t\t# this will attempt to convert the string back into Date, otherwise just returns the value\n\t\t\tif isinstance(node, basestring):\n\t\t\t\ttry:\n\t\t\t\t\treturn self.view.rootContainer.dateFromInstant(node)\n\t\t\t\texcept:\n\t\t\t\t\treturn node\n\t\t\treturn node\n\t\t\t\n\treturn convertProperties(propertyTree)" + }, + { + "name": "populateDatabaseDropdown", + "params": [ + "databases", + "filterEnabled" + ], + "script": "\tif filterEnabled:\n\t\tdbList \u003d []\n\t\tfor db in filter(lambda x: x[\u0027Enabled\u0027], databases):\n\t\t\tif db[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\t\t\telif db[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, \u0027MongoDB\u0027, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\t\treturn dbList\n\telse:\n\t\tdbList \u003d []\n\t\tfor db in value:\n\t\t\tif db[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\t\t\telif db[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, \u0027MongoDB\u0027, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\t\treturn dbList" + } + ], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "ad_hoc_trends_databaseReconfigured", + "pageScope": false, + "script": "\t# called when someone enables/disables a database\n\t# this way, users don\u0027t have to manually refresh their db listing\n\tself.view.custom.configureDatabases \u003d {}\n\tself.view.refreshBinding(\u0027custom.databases\u0027)\n\tif self.view.custom.activeControl in [\u0027LoadFromDb\u0027, \u0027SaveToDb\u0027]:\n\t\tself.view.rootContainer.closeFunction()", + "sessionScope": true, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1d33bd343d5e79843e5d0c117da791b700fa5a175944d590da222f46db493c62 b/Gateways/FE/projects/.resources/1d33bd343d5e79843e5d0c117da791b700fa5a175944d590da222f46db493c62 new file mode 100644 index 0000000..bece17f --- /dev/null +++ b/Gateways/FE/projects/.resources/1d33bd343d5e79843e5d0c117da791b700fa5a175944d590da222f46db493c62 @@ -0,0 +1,252 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 437 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "48px" + }, + "props": { + "style": { + "classes": "Framework/Card/Title" + }, + "text": "Find Tag" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "352px" + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "expression": "{view.params.plant}" + }, + "transforms": [ + { + "code": "\tif value is None or value.strip() \u003d\u003d \"\" :\n\t\treturn []\n\tvalue \u003d value.replace(\" Line\", \"\")\n\t_tagRes \u003d system.tag.browse(path\u003d\"[MQTT Engine]Edge Nodes/%s\"%(value),filter\u003d{\"recursive\":True,\"tagType\":\"AtomicTag\"}).results\n\t\n\tfinal \u003d []\n\tfor tag in _tagRes:\n\t\tfinal.append({\"TagPath\":\"/\".join(str(tag[\"fullPath\"]).split(\"/\")[2:]), \"FullPath\":tag[\"fullPath\"]})\n\t\n\treturn final", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "TagPath", + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "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": "FullPath", + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "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": false, + "width": "" + } + ], + "rows": { + "style": { + "fontSize": 12 + } + } + }, + "type": "ia.display.table" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tselPath \u003d self.parent.parent.getChild(\"Table\").props.selection.data[0].FullPath\n\tsystem.perspective.sendMessage(\"rcvPathSelection\",{\"fullPath\":selPath})\n\t\n\tsystem.perspective.closePopup(\"\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "142px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{.../Table.props.selection.selectedRow} !\u003d None" + }, + "type": "expr" + } + } + }, + "props": { + "text": "Select" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "51.3px" + }, + "props": { + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1d44dcf505d2db7d586702b92527e4e376483f02230889317e25daf330b64a2b b/Gateways/FE/projects/.resources/1d44dcf505d2db7d586702b92527e4e376483f02230889317e25daf330b64a2b new file mode 100644 index 0000000..019aff1 Binary files /dev/null and b/Gateways/FE/projects/.resources/1d44dcf505d2db7d586702b92527e4e376483f02230889317e25daf330b64a2b differ diff --git a/Gateways/FE/projects/.resources/1d8ffa9c77065455bb150ebb07cb99f3a63cceefd25cd2e46f58c5465aa02214 b/Gateways/FE/projects/.resources/1d8ffa9c77065455bb150ebb07cb99f3a63cceefd25cd2e46f58c5465aa02214 new file mode 100644 index 0000000..b0afe20 Binary files /dev/null and b/Gateways/FE/projects/.resources/1d8ffa9c77065455bb150ebb07cb99f3a63cceefd25cd2e46f58c5465aa02214 differ diff --git a/Gateways/FE/projects/.resources/1dac0aca6179275964a47e5dbec228e62d84039bdd56fc76864f7a2f76ef0cae b/Gateways/FE/projects/.resources/1dac0aca6179275964a47e5dbec228e62d84039bdd56fc76864f7a2f76ef0cae new file mode 100644 index 0000000..e55284b --- /dev/null +++ b/Gateways/FE/projects/.resources/1dac0aca6179275964a47e5dbec228e62d84039bdd56fc76864f7a2f76ef0cae @@ -0,0 +1,264 @@ +{ + "custom": {}, + "params": { + "dataType": "Int4", + "enabled": true, + "format": "##.##", + "isArray": false, + "max": null, + "min": null, + "name": "", + "options": [], + "substitute": null, + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[0]" + }, + "propConfig": { + "params.dataType": { + "paramDirection": "input", + "persistent": true + }, + "params.enabled": { + "paramDirection": "input", + "persistent": true + }, + "params.format": { + "paramDirection": "input", + "persistent": true + }, + "params.isArray": { + "paramDirection": "input", + "persistent": true + }, + "params.max": { + "paramDirection": "input", + "persistent": true + }, + "params.min": { + "paramDirection": "input", + "persistent": true + }, + "params.name": { + "paramDirection": "input", + "persistent": true + }, + "params.options": { + "paramDirection": "input", + "persistent": true + }, + "params.substitute": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Name", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "40%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.OpcItemPath" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.name" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Input", + "tooltip": {} + }, + "position": { + "basis": "200px", + "shrink": 0 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.OpcItemPath" + }, + "type": "tag" + } + }, + "position.display": { + "binding": { + "config": { + "path": "view.params.name" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d \u0027\u0027:\n\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + }, + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "type": "property" + } + }, + "props.params.format": { + "binding": { + "config": { + "path": "view.params.format" + }, + "type": "property" + } + }, + "props.params.isArray": { + "binding": { + "config": { + "path": "view.params.isArray" + }, + "type": "property" + } + }, + "props.params.max": { + "binding": { + "config": { + "path": "view.params.max" + }, + "type": "property" + } + }, + "props.params.min": { + "binding": { + "config": { + "path": "view.params.min" + }, + "type": "property" + } + }, + "props.params.options": { + "binding": { + "config": { + "path": "view.params.options" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "case({view.params.dataType},\r\n\u0027Boolean\u0027, \u0027Library/Templates/Framework/Input/Boolean\u0027,\r\n\u0027Int4\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027Int8\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027Float4\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027Float8\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027String\u0027, \u0027Library/Templates/Framework/Input/String\u0027,\r\n\u0027\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "minWidth": "100px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.name" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d \u0027\u0027:\n\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}.engUnit" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible", + "padding": "0 10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1dd5739cf7902a69ef591a27a04d8e0363474494629af25102750b2e9b9655fe b/Gateways/FE/projects/.resources/1dd5739cf7902a69ef591a27a04d8e0363474494629af25102750b2e9b9655fe new file mode 100644 index 0000000..07e1488 Binary files /dev/null and b/Gateways/FE/projects/.resources/1dd5739cf7902a69ef591a27a04d8e0363474494629af25102750b2e9b9655fe differ diff --git a/Gateways/FE/projects/.resources/1e13b9ffe00cfad4bd8035edb0ce2fda10b9fe0b7fae23069fc6d1d99e668de6 b/Gateways/FE/projects/.resources/1e13b9ffe00cfad4bd8035edb0ce2fda10b9fe0b7fae23069fc6d1d99e668de6 new file mode 100644 index 0000000..3aa50c1 Binary files /dev/null and b/Gateways/FE/projects/.resources/1e13b9ffe00cfad4bd8035edb0ce2fda10b9fe0b7fae23069fc6d1d99e668de6 differ diff --git a/Gateways/FE/projects/.resources/1e20e7727ad6424cfdb3c996c728ef93277f2d3652b771886d2cc34796ca206d b/Gateways/FE/projects/.resources/1e20e7727ad6424cfdb3c996c728ef93277f2d3652b771886d2cc34796ca206d new file mode 100644 index 0000000..8c7e6c0 Binary files /dev/null and b/Gateways/FE/projects/.resources/1e20e7727ad6424cfdb3c996c728ef93277f2d3652b771886d2cc34796ca206d differ diff --git a/Gateways/FE/projects/.resources/1e28a407835cbe2db75da07d144c86c70c2ed808a28f92a68ea19f35f6afaddd b/Gateways/FE/projects/.resources/1e28a407835cbe2db75da07d144c86c70c2ed808a28f92a68ea19f35f6afaddd new file mode 100644 index 0000000..9322ff4 --- /dev/null +++ b/Gateways/FE/projects/.resources/1e28a407835cbe2db75da07d144c86c70c2ed808a28f92a68ea19f35f6afaddd @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M1045.83,191.897c0,2.3 1.867,4.167 4.167,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal2", + "name": "Terminal2", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1050,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1043.75,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c0,3.45 -2.801,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In1", + "name": "In1", + "type": "path" + }, + { + "d": "M1050,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1054.17,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal3", + "name": "Terminal3", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1050,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1057.74,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed1", + "name": "Closed1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1076.74,193.729c8.447,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open1", + "name": "Open1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 382, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(333,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(333,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(333,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(333,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1e39dd66ec563042d9636c3dd43ae68934d746c090e21162debdcf8b8fddf031 b/Gateways/FE/projects/.resources/1e39dd66ec563042d9636c3dd43ae68934d746c090e21162debdcf8b8fddf031 new file mode 100644 index 0000000..8559da9 Binary files /dev/null and b/Gateways/FE/projects/.resources/1e39dd66ec563042d9636c3dd43ae68934d746c090e21162debdcf8b8fddf031 differ diff --git a/Gateways/FE/projects/.resources/1ec3269139253fd34ef02da6d8d32e2ebd2e5e0c2b6768455bbe77bdaccfd5cb b/Gateways/FE/projects/.resources/1ec3269139253fd34ef02da6d8d32e2ebd2e5e0c2b6768455bbe77bdaccfd5cb new file mode 100644 index 0000000..c8c045f --- /dev/null +++ b/Gateways/FE/projects/.resources/1ec3269139253fd34ef02da6d8d32e2ebd2e5e0c2b6768455bbe77bdaccfd5cb @@ -0,0 +1,147 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "EquipCounts", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "options": [ + "Not Available", + "Available" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Stopped", + "Running" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1f238d68c21baf21bcffad5aa19ad1b71429c5164f5f4f183839cc3eba75459c b/Gateways/FE/projects/.resources/1f238d68c21baf21bcffad5aa19ad1b71429c5164f5f4f183839cc3eba75459c new file mode 100644 index 0000000..b56604c Binary files /dev/null and b/Gateways/FE/projects/.resources/1f238d68c21baf21bcffad5aa19ad1b71429c5164f5f4f183839cc3eba75459c differ diff --git a/Gateways/FE/projects/.resources/1f2827309f2cb97b10972d8e73097c7ec219deae544e056f817ca5f1eee94dfa b/Gateways/FE/projects/.resources/1f2827309f2cb97b10972d8e73097c7ec219deae544e056f817ca5f1eee94dfa new file mode 100644 index 0000000..54e8b9e --- /dev/null +++ b/Gateways/FE/projects/.resources/1f2827309f2cb97b10972d8e73097c7ec219deae544e056f817ca5f1eee94dfa @@ -0,0 +1,16 @@ +{ + "base": { + "style": { + "cursor": "pointer", + "fill": "var(--callToAction)" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "fill": "var(--callToAction--hover)" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1f6a23b61d8a978b7a219d15fca41a81b21871387cb7087089505bc25263a31a b/Gateways/FE/projects/.resources/1f6a23b61d8a978b7a219d15fca41a81b21871387cb7087089505bc25263a31a new file mode 100644 index 0000000..9049b98 Binary files /dev/null and b/Gateways/FE/projects/.resources/1f6a23b61d8a978b7a219d15fca41a81b21871387cb7087089505bc25263a31a differ diff --git a/Gateways/FE/projects/.resources/1f723a8e8c8f654cb6624a75d9190626300e2281ebc6be84b5154fce885de236 b/Gateways/FE/projects/.resources/1f723a8e8c8f654cb6624a75d9190626300e2281ebc6be84b5154fce885de236 new file mode 100644 index 0000000..92d9cdc Binary files /dev/null and b/Gateways/FE/projects/.resources/1f723a8e8c8f654cb6624a75d9190626300e2281ebc6be84b5154fce885de236 differ diff --git a/Gateways/FE/projects/.resources/1f8576b29270a3338ff1b7231c8a4244a831b2f0f7a1630ac8e798af6466227d b/Gateways/FE/projects/.resources/1f8576b29270a3338ff1b7231c8a4244a831b2f0f7a1630ac8e798af6466227d new file mode 100644 index 0000000..920ba69 --- /dev/null +++ b/Gateways/FE/projects/.resources/1f8576b29270a3338ff1b7231c8a4244a831b2f0f7a1630ac8e798af6466227d @@ -0,0 +1,1085 @@ +{ + "custom": { + "trendConfig": { + "allPens": [ + { + "group": "#", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "#", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Strings in System", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Strings in System" + } + ] + }, + { + "group": "%", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Battery Charge Percent", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Battery Charge Percent" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current THD A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Current THD A" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current THD B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Current THD B" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current THD C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Current THD C" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage THD A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Voltage THD A" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage THD B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Voltage THD B" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage THD C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Voltage THD C" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Total Output Percent Load", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Total Output Percent Load" + } + ] + }, + { + "group": "A", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Amps A" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Amps B" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Amps C" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Discharge Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Discharge Current" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Float Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Float Current" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch JAR Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch JAR Current" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Min_Max Battery Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Min_Max Battery Current" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Amps A" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Amps B" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Amps C" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Amps A" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Amps B" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Amps C" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Neutral Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Neutral Current" + } + ] + }, + { + "group": "Hz", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "Hz", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Frequency", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Frequency" + }, + { + "color": "", + "enabled": false, + "engUnit": "Hz", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Frequency", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Frequency" + }, + { + "color": "", + "enabled": false, + "engUnit": "Hz", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Frequency", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Frequency" + } + ] + }, + { + "group": "V", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts AB", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Volts AB" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts AN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Volts AN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts BC", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Volts BC" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts BN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Volts BN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts CA", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Volts CA" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts CN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Volts CN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch JAR Voltage", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch JAR Voltage" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Min_Max Battery Voltage", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Min_Max Battery Voltage" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts AB", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Volts AB" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts AN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Volts AN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts BC", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Volts BC" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts BN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Volts BN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts CA", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Volts CA" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts CN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Volts CN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts AB", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Volts AB" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts AN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Volts AN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts BC", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Volts BC" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts BN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Volts BN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts CA", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Volts CA" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts CN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Volts CN" + } + ] + }, + { + "group": "deg C", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "deg C", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Cell Temperature", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Cell Temperature" + } + ] + }, + { + "group": "kW", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kW", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass KW", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass KW" + }, + { + "color": "", + "enabled": false, + "engUnit": "kW", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input KW", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input KW" + }, + { + "color": "", + "enabled": false, + "engUnit": "kW", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ouput KW", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Ouput KW" + } + ] + }, + { + "group": "mOhms", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "mOhms", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Celwath JAR Impedence", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Celwath JAR Impedence" + } + ] + } + ] + } + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948127218 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948127218 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1f8a72905577c2405a70891dd6e4bd31cf082fbc364547eb2297c46ea9647bd0 b/Gateways/FE/projects/.resources/1f8a72905577c2405a70891dd6e4bd31cf082fbc364547eb2297c46ea9647bd0 new file mode 100644 index 0000000..478a014 Binary files /dev/null and b/Gateways/FE/projects/.resources/1f8a72905577c2405a70891dd6e4bd31cf082fbc364547eb2297c46ea9647bd0 differ diff --git a/Gateways/FE/projects/.resources/1f957a88f28f2c242e66bc3c68034665fc3c0e1be6335d1cd75f35d73ae8e18e b/Gateways/FE/projects/.resources/1f957a88f28f2c242e66bc3c68034665fc3c0e1be6335d1cd75f35d73ae8e18e new file mode 100644 index 0000000..a422c9e Binary files /dev/null and b/Gateways/FE/projects/.resources/1f957a88f28f2c242e66bc3c68034665fc3c0e1be6335d1cd75f35d73ae8e18e differ diff --git a/Gateways/FE/projects/.resources/1f9e10d279bc80bd8a35b8f35c58b62cbc63876bbb63ca075668ed5b02a3b884 b/Gateways/FE/projects/.resources/1f9e10d279bc80bd8a35b8f35c58b62cbc63876bbb63ca075668ed5b02a3b884 new file mode 100644 index 0000000..91c1fcb --- /dev/null +++ b/Gateways/FE/projects/.resources/1f9e10d279bc80bd8a35b8f35c58b62cbc63876bbb63ca075668ed5b02a3b884 @@ -0,0 +1,6100 @@ +{ + "custom": { + "Available": [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159", + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165", + "MPR1150", + "ER1151" + ], + "ColorHandler": { + "Wall": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "ER1151": "#BAEDFF", + "ER1155": "#BAEDFF", + "ER1156": "#BAEDFF", + "ER1157": "#BAEDFF", + "ER1158": "#BAEDFF", + "ER1159": "#BAEDFF", + "ER1161": "#BAEDFF", + "ER1162": "#BAEDFF", + "ER1163": "#BAEDFF", + "ER1164": "#BAEDFF", + "ER1165": "#BAEDFF", + "MPR1150": "#BAEDFF" + }, + "selected": "none" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\toutput[room] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "custom": { + "data": "value" + }, + "meta": { + "name": "First Floor" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1165" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1155" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1151" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MPR1150" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1164" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1163" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1162" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1161" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1159" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1158" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1157" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1156" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[19].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[20].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[21].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[22].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[23].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[24].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[25].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[26].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[27].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[28].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[29].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[30].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[31].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[32].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[33].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[34].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[35].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[36].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[37].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[38].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[39].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[40].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1199-STAIR-C", + "name": "_1199-STAIR-C", + "type": "rect", + "width": "203.609", + "x": "1515.85", + "y": "1178.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.399", + "id": "_1197-2-CORRIDOR-H-2", + "name": "_1197-2-CORRIDOR-H-2", + "type": "rect", + "width": "1467.31", + "x": "183.815", + "y": "1134.85" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "41.332", + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": "1996.06", + "x": "1651.13", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.25", + "id": "_1194-1-CORRIDOR-E-2", + "name": "_1194-1-CORRIDOR-E-2", + "type": "rect", + "width": "2592.5", + "x": "1567.63", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1198-STAIR-B", + "name": "_1198-STAIR-B", + "type": "rect", + "width": "203.609", + "x": "3802.52", + "y": "1177.63" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "206.163", + "id": "_1183-STAIRS-D", + "name": "_1183-STAIRS-D", + "type": "rect", + "width": "86.751", + "x": "1.377", + "y": "358.889" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "169.655", + "id": "_1194-1-CORRIDOR-E-3", + "name": "_1194-1-CORRIDOR-E-3", + "type": "rect", + "width": "48.02", + "x": "3607.37", + "y": "1.095" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "899.5", + "id": "_1193-CORRIDOR-D", + "name": "_1193-CORRIDOR-D", + "type": "rect", + "width": "84", + "x": "2894.63", + "y": "235.5" + }, + { + "d": "M1488.64,1134.85l164.275,0.149l-0.034,-139.5l-83.689,0.074l0,-608.074l83.689,0.105l0,-44.605l-83.689,0l0,-107.649l-80.561,0l0.009,899.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1195-CORRIDOR-F", + "name": "_1195-CORRIDOR-F", + "type": "path" + }, + { + "d": "M183.628,1134.85l63.25,0l0,-792.224l-84.75,-0l0,-107.276l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1196-CORRIDOR-G", + "name": "_1196-CORRIDOR-G", + "type": "path" + }, + { + "d": "M3647.19,1178.01l-0.308,-42.395l-35.25,-0l0,-428.611l65,-0l0,329.711l163.5,0.433l-0.113,141.356l-192.829,-0.494Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1192-CORRIDOR-C", + "name": "_1192-CORRIDOR-C", + "type": "path" + }, + { + "d": "M4160.13,138.5l0,96.851l68.5,0l0,406.899l73.372,0l-0,-173.99l58.628,-0l0,-38.859l-58.628,-0l-0.372,-141.301l228.25,-0.1l0,-48.75l-222.014,-0l-0,-100.75l-147.736,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1191-CORRIDOR-B", + "name": "_1191-CORRIDOR-B", + "type": "path" + }, + { + "d": "M4478.59,735.5l-118.361,-0l-0.38,-28.5l-748.22,-0l0,-65.105l690.372,0.427l-0,5.178l44.403,0l0,-43.801l74.63,0l0.308,43.801l56.816,-0.335l0.432,88.335Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1190-CORRIDOR-A", + "name": "_1190-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.101", + "id": "_1194-1-CORRIDOR-E-1", + "name": "_1194-1-CORRIDOR-E-1", + "type": "rect", + "width": "1479.25", + "x": "88.378", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1123-STAIR-A", + "name": "_1123-STAIR-A", + "type": "rect", + "width": "58.434", + "x": "4477.3", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "288" + } + ], + "id": "Corridors-and-stairs", + "name": "Corridors-and-stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1165-elec", + "name": "_1165-elec", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1164-ER", + "name": "_1164-ER", + "type": "rect", + "width": "232", + "x": "329.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1163-ER", + "name": "_1163-ER", + "type": "rect", + "width": "232", + "x": "561.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1162-ER", + "name": "_1162-ER", + "type": "rect", + "width": "232", + "x": "793.628", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1161-ER", + "name": "_1161-ER", + "type": "rect", + "width": "232", + "x": "1025.63", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1160-ER", + "name": "_1160-ER", + "type": "rect", + "width": "238.155", + "x": "1258.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1159-MEP-ROOM", + "name": "_1159-MEP-ROOM", + "type": "rect", + "width": "239.508", + "x": "1496.28", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1158-ER", + "name": "_1158-ER", + "type": "rect", + "width": "231.337", + "x": "1735.79", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1157ER", + "name": "_1157ER", + "type": "rect", + "width": "233.123", + "x": "1967.13", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1156-ER", + "name": "_1156-ER", + "type": "rect", + "width": "231.803", + "x": "2200.25", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1155-ER", + "name": "_1155-ER", + "type": "rect", + "width": "232.461", + "x": "2432.05", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1151-ELEC", + "name": "_1151-ELEC", + "type": "rect", + "width": "183.5", + "x": "3655.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1150-MECH-POWER", + "name": "_1150-MECH-POWER", + "type": "rect", + "width": "232.348", + "x": "3838.63", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "137.655", + "id": "_1120-MMR1", + "name": "_1120-MMR1", + "type": "rect", + "width": "260.5", + "x": "4160.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1152-TAPE-LIBRARY", + "name": "_1152-TAPE-LIBRARY", + "type": "rect", + "width": "476.566", + "x": "2664.63", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "64.565", + "id": "_1154-SDC-IDF", + "name": "_1154-SDC-IDF", + "type": "rect", + "width": "88.333", + "x": "3388.41", + "y": "105.935" + }, + { + "d": "M3141.63,170.25l0,-169.947l464.001,0.042l-0,169.905l-128.69,0l-0,-64.25l-89.212,-0l0.338,64.25l-246.437,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1153-SD-STORAGE", + "name": "_1153-SD-STORAGE", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.155", + "id": "_1149-MDF", + "name": "_1149-MDF", + "type": "rect", + "width": "89.5", + "x": "4070.63", + "y": "1.095" + } + ], + "id": "ELEC---MECH", + "name": "ELEC---MECH", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": 0.5 + }, + "height": "51.46", + "id": "_1185-ELEC", + "name": "_1185-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "458.859" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1184-POE", + "name": "_1184-POE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "109.021", + "id": "_1186-FIRE-PLBG", + "name": "_1186-FIRE-PLBG", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "508.227" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.5", + "id": "_1187-MDF-2", + "name": "_1187-MDF-2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "407.5", + "id": "_1188-MMR2", + "name": "_1188-MMR2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "715.5" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "55.25", + "id": "_1189-POE-4", + "name": "_1189-POE-4", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "1123" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1171-GALLERY", + "name": "_1171-GALLERY", + "type": "rect", + "width": "1325.44", + "x": "1569.19", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1172-GALLERY", + "name": "_1172-GALLERY", + "type": "rect", + "width": "1241.72", + "x": "1652.91", + "y": "1064" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.182", + "id": "_1174-SDC-IDF", + "name": "_1174-SDC-IDF", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "930" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "542.5", + "id": "_1173-SDC-STORAGE", + "name": "_1173-SDC-STORAGE", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "387.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1170-DATAHALL-3", + "name": "_1170-DATAHALL-3", + "type": "rect", + "width": "1241.75", + "x": "1652.88", + "y": "343" + } + ], + "id": "DH3", + "name": "DH3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1181-GALLERY-", + "name": "_1181-GALLERY-", + "type": "rect", + "width": "1326.41", + "x": "162.215", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1182-GALLERY-", + "name": "_1182-GALLERY-", + "type": "rect", + "width": "1241.72", + "x": "246.911", + "y": "1065.51" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1181-1-DATAHALL-1180-1", + "name": "_1181-1-DATAHALL-1180-1", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "344.795" + } + ], + "id": "DH5", + "name": "DH5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1119-POE1", + "name": "_1119-POE1", + "type": "rect", + "width": "51.764", + "x": "4307.86", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.401", + "id": "_1109-MOT", + "name": "_1109-MOT", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "359" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "77.088", + "id": "_1113-HUDDLE", + "name": "_1113-HUDDLE", + "type": "rect", + "width": "86.707", + "x": "4544.16", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "68.485", + "id": "_1104-RR", + "name": "_1104-RR", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "365.023" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.992", + "id": "_1105-JAN", + "name": "_1105-JAN", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "433.508" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "78.218", + "id": "_1102.3-SOC-OFFICE", + "name": "_1102.3-SOC-OFFICE", + "type": "rect", + "width": "66.118", + "x": "4459.01", + "y": "489.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1126-JAN", + "name": "_1126-JAN", + "type": "rect", + "width": "57", + "x": "4303.13", + "y": "707" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1134.2-AM-OFFICE", + "name": "_1134.2-AM-OFFICE", + "type": "rect", + "width": "65.5", + "x": "4063.63", + "y": "850" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61.387", + "id": "_1136-RR", + "name": "_1136-RR", + "type": "rect", + "width": "81.653", + "x": "4063.63", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.218", + "id": "_1142-POE", + "name": "_1142-POE", + "type": "rect", + "width": "101.369", + "x": "3840.13", + "y": "1123.79" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.5-SHRED-ROOM", + "name": "_1133.5-SHRED-ROOM", + "type": "rect", + "width": "125.5", + "x": "3938.13", + "y": "932.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.6-HIGH-VALUE-STORAGE", + "name": "_1133.6-HIGH-VALUE-STORAGE", + "type": "rect", + "width": "261.5", + "x": "3676.63", + "y": "932.697" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "59.838", + "id": "_1133.2-CABLE-STORAGE", + "name": "_1133.2-CABLE-STORAGE", + "type": "rect", + "width": "163.5", + "x": "3676.63", + "y": "708.197" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "110.035", + "id": "_1135-WAITING", + "name": "_1135-WAITING", + "type": "rect", + "width": "62.384", + "x": "4145.28", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "119.5", + "id": "_1133.4-SECURE-STORAGE", + "name": "_1133.4-SECURE-STORAGE", + "type": "rect", + "width": "223.5", + "x": "3840.13", + "y": "813" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1128-ELEC", + "name": "_1128-ELEC", + "type": "rect", + "width": "57", + "x": "4302", + "y": "761.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1125-MECH", + "name": "_1125-MECH", + "type": "rect", + "width": "63.811", + "x": "4359", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1124-PASS", + "name": "_1124-PASS", + "type": "rect", + "width": "54.491", + "x": "4422.81", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1122-SDC-IDF", + "name": "_1122-SDC-IDF", + "type": "rect", + "width": "72.661", + "x": "4535.43", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1130-FREIGHT", + "name": "_1130-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4433.86", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1131-FREIGHT", + "name": "_1131-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4535.36", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1132-MECH", + "name": "_1132-MECH", + "type": "rect", + "width": "138.911", + "x": "4636.63", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61", + "id": "_1100.1-VESTIBULE", + "name": "_1100.1-VESTIBULE", + "type": "rect", + "width": "41.5", + "x": "4767.63", + "y": "499" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "130.798", + "id": "_1103-EXECUTIVE-CONFERENCE", + "name": "_1103-EXECUTIVE-CONFERENCE", + "type": "rect", + "width": "145.497", + "x": "4630.13", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1114-RECORDS", + "name": "_1114-RECORDS", + "type": "rect", + "width": "61", + "x": "4359.63", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1117-OFFICE", + "name": "_1117-OFFICE", + "type": "rect", + "width": "64.5", + "x": "4530.13", + "y": "2.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "237.952", + "id": "_1116-CONFERENCE", + "name": "_1116-CONFERENCE", + "type": "rect", + "width": "109.5", + "x": "4420.63", + "y": "1.298" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1118-OFFICE", + "name": "_1118-OFFICE", + "type": "rect", + "width": "65.274", + "x": "4594.63", + "y": "2.5" + }, + { + "d": "M4775.02,288l0.609,-285l-115.1,-2.655l-0.626,84.155l-130.024,-0.441l0,203.941l245.141,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1110-STREAM-OFFICE", + "name": "_1110-STREAM-OFFICE", + "type": "path" + }, + { + "d": "M4525.13,489.5l-0.162,157.719l33.495,0.137l0,-40.856l41.98,0l-0.008,11.157l52.695,0.479l-1.174,-128.636l-126.826,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1102.1-SOC", + "name": "_1102.1-SOC", + "type": "path" + }, + { + "d": "M4558.46,606.223l0,41.133l-80.452,-0l0.693,57.633l329.676,-0l0,-86.979l-207.164,0l0,-11.51l-42.753,-0.277Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1101-SECURE-LOBBY", + "name": "_1101-SECURE-LOBBY", + "type": "path" + }, + { + "d": "M4607.63,705l0,110.159l167.782,-0.651l0.693,-26.905l32.275,-0.433l0,-82.181l-200.75,0.011Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1121-CONFERENCE", + "name": "_1121-CONFERENCE", + "type": "path" + }, + { + "d": "M4207.55,706.868l0.073,379.082l23.565,0.081l75.845,39.795l19.744,-35.334l77.574,39.904l25.252,-44.509l94.628,0.083l76.334,39.209l19.102,-34.955l75.254,39.426l80.59,-0.024l-0,-197.372l-341.468,-0l-0,-115.82l-131.16,-1.275l0,-108.159l-95.333,-0.132Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1127-LOADING-DOCK", + "name": "_1127-LOADING-DOCK", + "type": "path" + }, + { + "d": "M4598.13,364.5l0,125l55.275,0l-0.13,128.5l155.105,0.01l0,-58.01l-40.75,0l0,-61.698l40.283,-0.037l-0,-79.467l-177.783,-0l0,-54.298l-32,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1100.0-LOBBY", + "name": "_1100.0-LOBBY", + "type": "path" + }, + { + "d": "M3676.63,932l0,-163.965l163.5,0l0,-61.035l367.5,-0l0,143l-144,-0l0,-37l-223.5,-0l0,119.5l-163.5,-0.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1133.1-RECEIVING", + "name": "_1133.1-RECEIVING", + "type": "path" + }, + { + "d": "M4457.98,468l0.296,179.18l-37.243,0.32l-0,-43.801l-38.163,0l0.111,-135.699l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1107-MMR", + "name": "_1107-MMR", + "type": "path" + }, + { + "d": "M4542.91,288l0.721,201.141l-84.617,0.359l-0,-21.24l-98.383,-0l-0.136,-180.26l182.415,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1111-BREAK-ROOM", + "name": "_1111-BREAK-ROOM", + "type": "path" + }, + { + "d": "M4302,468.26l2.333,179.853l42.045,-0.613l0,-42.868l37.34,-0l-0.117,-135.7l-81.601,-0.672Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1108-WRR", + "name": "_1108-WRR", + "type": "path" + }, + { + "d": "M4144.93,1037.5l1.203,140.499l-204.5,0.501l0,-52.454l-101.5,-1.355l0.451,-87.191l304.346,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1141-PLBG-FP", + "name": "_1141-PLBG-FP", + "type": "path" + }, + { + "d": "M4207.55,975.505l-143.66,0.495l-0.257,-44l65.5,-0l0,-82l78.417,0.185l0,125.32Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1134.1-ASSET-MANAGEMENT", + "name": "_1134.1-ASSET-MANAGEMENT", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "79.448", + "id": "_1102.2-SOC-STORAGE", + "name": "_1102.2-SOC-STORAGE", + "type": "rect", + "width": "65.955", + "x": "4459.01", + "y": "567.718" + } + ], + "id": "Stream-Offices", + "name": "Stream-Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "133.25", + "id": "_1138.2-SER", + "name": "_1138.2-SER", + "type": "rect", + "width": "79.5", + "x": "3937.13", + "y": "509" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "88.512", + "id": "_1138.3-FCR", + "name": "_1138.3-FCR", + "type": "rect", + "width": "73", + "x": "3864.13", + "y": "553.738" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.649", + "id": "_1139-TENANT-STORAGE", + "name": "_1139-TENANT-STORAGE", + "type": "rect", + "width": "389.821", + "x": "3222.13", + "y": "235.351" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "406.899", + "id": "_1137-OPS-STORAGE", + "name": "_1137-OPS-STORAGE", + "type": "rect", + "width": "163.5", + "x": "4065.13", + "y": "235.351" + }, + { + "d": "M3611.63,235.5l0,407l252.5,-0.25l0,-88.75l73,-0l0.198,-44.292l79.459,0l0.308,133.042l48.035,0l-0.309,-407.076l-453.191,0.326Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1138.1-TENANT-OFFICE", + "name": "_1138.1-TENANT-OFFICE", + "type": "path" + } + ], + "id": "Tenant-Offices", + "name": "Tenant-Offices", + "type": "group" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1140-MECH---PUMP", + "name": "_1140-MECH---PUMP", + "type": "rect", + "width": "243.5", + "x": "2978.63", + "y": "235.5" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,101.188l-0,-21.233l-40.298,-0l-0,21.233", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1544.41,1178.25l2262.71,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3828.13,1178l315.66,0.25l-0,-92.3l8.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4173.51,1086l57.373,0l76.749,40l19.362,-35.865l77.638,41.156l24.903,-45.608l94.597,0.035l76,40.135l19.39,-36.353l75.428,40l80.682,0l-0.395,-342.218l33.145,0l0,-250.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1035.5l0,94.842l0,-5.357l101.5,0.015l0,53.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1151.75l0,26.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4207.86,1085.95l-0.243,-84.421", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4145.28,1085.95l-0,-84.421l-0,35.614l-468.653,0.357l0,-330.5l294.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4027.95,707l179.674,-0l0,19.825l0,-19.825l127.139,-0l-31.655,-0l-0,59.272l-0,-4.626l56.736,-0l-0,-54.646l-0,109.434", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302.88,786.5l0,29.934l472.628,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4359.85,735.573l33.572,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4413.87,735.573l22.597,-0l-13.636,-0l0.293,80.861", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4477.13,816.434l-0,-80.861l-12.996,-0.323l12.996,0.323l-0,-30.584l7.264,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4504.26,704.989l31.169,-0l-0,111.445", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4608.09,816.434l-0,-111.445l-42.464,0.011", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4653.05,705l110.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4434.04,816.434l-0,115.82l9.934,-0.195", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4535.43,816.434l-0,115.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.63,816.434l0,116.066", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4661.9,932.5l113.729,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,932l185.781,-0l-22.281,-0l0,-119l39.813,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3918.12,813l145.506,-0l0,224.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4020.13,932l108.575,-0l0.156,-55.929", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.63,849.89l70.501,0.36", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.57,850.25l53.056,0l0,25.821l0,-92.073", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,768.035l163.5,0l0,-12.467", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3888.63,932.25l93,0l-43.433,0l-0.067,105.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.67,975.52l144.348,0.195l-0.195,-80.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3647.19,1178.71l0,-14.854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3646.88,1143l0,-7.389l-399.644,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,1135.61l0,-441.611", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3265.63,235.5l755.122,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,235.5l0,419.979l0,-13.175l299.892,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3962.63,642.25l59.351,0l-4.987,0l-0,-133.042l-79.666,0l-0,133.042", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3937.13,553.5l-73,-0l0,88.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.63,642.25l8,0l0,-362.294", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4228.63,241.158l0,-5.685l-168.451,-0.299l4.887,0.008l0,407.068l-23.196,0l140.671,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4160.13,235.351l0,-12.621", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3216.3,1135l10.348,0l-5.018,0l-0,-899.649l5.477,0l-23.327,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3165.48,235.351l-186.856,0l0,899.649l218.001,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4775.02,288l-148.777,-0l4.19,-0l-0.067,130.798l5.052,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4675.13,418.798l56.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4586.88,288l-48.457,-0l5.207,-0l0,201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,365.023l86.5,0.065", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,433.38l54.476,-0l0.16,8.138l0,-52.018", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4598.26,461.785l-0.136,27.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4558.88,622.5l0,-30.591l0,14.936l41.643,0.079l-0.079,10.901l66.663,-0l-13.916,-0l0,-128.325l-194.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4420.88,637l0,10.165l38.133,0l-0,-178.905l-157.011,-0l-0,179.24l44.325,0l-0,-10.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4346.38,617l0.025,-13.192l37.315,-0.235l-0.377,-135.313", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4421.03,616.625l-0.064,-12.926l-74.566,0.109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,239.25l4.674,-0l-0,-105.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4529.88,94l0,-9.5l20.662,-0l-20.662,-0l0.25,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4615.63,84.5l-25.999,-0l4.999,-0l0,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4656.52,84.25l3.384,0l0,-83.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.01,647.165l99.45,0l0,-7.237", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.13,567.191l65.999,-0.128l0,54.768l0,-62.3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,489l0,53.977", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4808.38,617.85l-44.723,0.16", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4743.13,617.85l-18.093,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4705.63,618.01l-17.935,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4360.63,468.067l0,-180.067l-4.8,-0l9.498,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4336.13,288.1l-34.134,-0l-0,141.301l32.686,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302,359l58.577,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4405.13,288l94.191,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.89,234.699l-0.021,11.078l0.012,-6.277l67.252,0l-15.5,0l0,-101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.86,213.705l-0,-75.205l-7.609,0l119.686,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.94,0.345l0,238.853l-5.317,-0.025l71.004,0.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4767.63,539.283l0,20.717l40.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.63,170.632l27.175,-0l-0,13.059l-0,-183.346", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4159.8,138.5l102.161,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-24.506,0l4.341,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3589.63,170.5l16.103,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3551.63,170.5l-138.99,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3476.94,170.5l-0,-64.5l-89.311,-0l0,64.5l5.331,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,50.149", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,508l95.313,-0l0,-5.217l0,10.007", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,5.893l0,-79.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,759.5l0,371.5l0,-7.955l-95.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1039l0,-18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1001l0,-616.527l0,3.027l-83.939,-0l0,37.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,463.614l0,471.386l0,-4.5l83.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,955.5l0,40l83.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1020l0,-635.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "First-Floor", + "name": "First-Floor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMaxYMax", + "stroke": { + "linejoin": "bevel" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1155", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 30, + "width": 20, + "x": 217.19, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1156", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 29, + "width": 20, + "x": 195, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1157", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 30, + "width": 20, + "x": 176, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1158", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 29, + "width": 20, + "x": 156, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1159", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 28, + "width": 20, + "x": 135, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1161", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 30, + "width": 20, + "x": 92, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1162", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 30, + "width": 20, + "x": 72, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1163", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 30, + "width": 20, + "x": 51, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1164", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 29, + "width": 20, + "x": 30, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1165", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 28, + "width": 20, + "x": 9, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MPR1150", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 23, + "width": 27, + "x": 343, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1151", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 23, + "width": 23, + "x": 321, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_01_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]\n\t", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1fa149498fb8325d80ff4c3b1c1626e6f1a49fcbfb0f816015e98b222a048dc5 b/Gateways/FE/projects/.resources/1fa149498fb8325d80ff4c3b1c1626e6f1a49fcbfb0f816015e98b222a048dc5 new file mode 100644 index 0000000..b5642e8 Binary files /dev/null and b/Gateways/FE/projects/.resources/1fa149498fb8325d80ff4c3b1c1626e6f1a49fcbfb0f816015e98b222a048dc5 differ diff --git a/Gateways/FE/projects/.resources/1fe1981491d27df4a9a4f6d28ec5c93edf1ae5ea3a8b10d25c0aa12fada28bbe b/Gateways/FE/projects/.resources/1fe1981491d27df4a9a4f6d28ec5c93edf1ae5ea3a8b10d25c0aa12fada28bbe new file mode 100644 index 0000000..21ff48b --- /dev/null +++ b/Gateways/FE/projects/.resources/1fe1981491d27df4a9a4f6d28ec5c93edf1ae5ea3a8b10d25c0aa12fada28bbe @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B303 STU LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*DH3/SATB1_DH3_STU_LLS*" + }, + "deviceName": "STU", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_STU_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/DH3_STU", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_STU_Rotation" + } + }, + "path": "Library/Layouts/LLS/Device LLS" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1ff35d3a24655e053f33d3f3ad7593e103c47a67e70db1feff6c35f80c174b36 b/Gateways/FE/projects/.resources/1ff35d3a24655e053f33d3f3ad7593e103c47a67e70db1feff6c35f80c174b36 new file mode 100644 index 0000000..452499a --- /dev/null +++ b/Gateways/FE/projects/.resources/1ff35d3a24655e053f33d3f3ad7593e103c47a67e70db1feff6c35f80c174b36 @@ -0,0 +1,582 @@ +{ + "custom": { + "OCmd": {}, + "StsAuto": null + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD05" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.ModeCMD": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Run" + }, + "type": "tag" + } + }, + "custom.StsAuto": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Auto" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.ModeCMD \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.ModeCMD" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.ModeCMD \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.ModeCMD" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if({view.custom.OCmd.ModeCMD},false,true),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Run" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if({view.custom.OCmd.ModeCMD},false,true),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": false + }, + { + "input": false, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row01" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ResetBtn" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row02" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Speed Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SpdSP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 100, + "minimum": 0 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Row03" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/1ffe600c972d4cfebe490b6c4c0b575d171374acaf1ff97238404566af289900 b/Gateways/FE/projects/.resources/1ffe600c972d4cfebe490b6c4c0b575d171374acaf1ff97238404566af289900 new file mode 100644 index 0000000..1cd66bf --- /dev/null +++ b/Gateways/FE/projects/.resources/1ffe600c972d4cfebe490b6c4c0b575d171374acaf1ff97238404566af289900 @@ -0,0 +1,266 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "", + "displaySelection": 0, + "format": "0.##0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 4" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/203c97e686fa674dfc2d5db5e063777da7aa051512e10c07a777c9e500880b46 b/Gateways/FE/projects/.resources/203c97e686fa674dfc2d5db5e063777da7aa051512e10c07a777c9e500880b46 new file mode 100644 index 0000000..4a8e5dd Binary files /dev/null and b/Gateways/FE/projects/.resources/203c97e686fa674dfc2d5db5e063777da7aa051512e10c07a777c9e500880b46 differ diff --git a/Gateways/FE/projects/.resources/20bf43d48c880384987007ca57cede91b2e2d3ec6d12809c9993846bebe8a6c6 b/Gateways/FE/projects/.resources/20bf43d48c880384987007ca57cede91b2e2d3ec6d12809c9993846bebe8a6c6 new file mode 100644 index 0000000..8872c06 Binary files /dev/null and b/Gateways/FE/projects/.resources/20bf43d48c880384987007ca57cede91b2e2d3ec6d12809c9993846bebe8a6c6 differ diff --git a/Gateways/FE/projects/.resources/20c48694271dc3896cd95a34ca1cc39ea2d9cc062faea14813c6576e28219eea b/Gateways/FE/projects/.resources/20c48694271dc3896cd95a34ca1cc39ea2d9cc062faea14813c6576e28219eea new file mode 100644 index 0000000..e0c66f9 --- /dev/null +++ b/Gateways/FE/projects/.resources/20c48694271dc3896cd95a34ca1cc39ea2d9cc062faea14813c6576e28219eea @@ -0,0 +1,1108 @@ +{ + "custom": { + "MNumber": "M4", + "room": "MPR1241" + }, + "params": { + "pageId": "value" + }, + "propConfig": { + "custom.MNumber": { + "persistent": true + }, + "custom.room": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable" + }, + "position": { + "height": 990, + "width": 1250, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M3_to_UT-M4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M4_to_UT-M5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "UT-M3", + "right": "UT-M5" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M4", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 241, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 56, + "y": 235 + }, + "propConfig": { + "custom.MNumber": { + "binding": { + "config": { + "path": "view.custom.MNumber" + }, + "type": "property" + } + }, + "custom.room": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "type": "property" + } + }, + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M4", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 0, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 418, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD18" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 478, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD19" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_1" + }, + "position": { + "height": 255, + "width": 70, + "x": 538, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD20" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 423, + "y": 532.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 243, + "y": 385 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M4" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/20ed06b5b650985d6479f6dfab8e40d08f8336b7c315532ac18042125efaf057 b/Gateways/FE/projects/.resources/20ed06b5b650985d6479f6dfab8e40d08f8336b7c315532ac18042125efaf057 new file mode 100644 index 0000000..4fbeb3e --- /dev/null +++ b/Gateways/FE/projects/.resources/20ed06b5b650985d6479f6dfab8e40d08f8336b7c315532ac18042125efaf057 @@ -0,0 +1,3 @@ +def showAlert(state, title, message, showCloseBtn, btnTextPrimary, btnTextSecondary, btnIconPrimary, btnIconSecondary, btnIconAlignment, btnActionPrimary, btnActionSecondary, btnActionClose): + params = {"state":state, "title":title, "message":message, "showCloseBtn":showCloseBtn, "btnTextPrimary":btnTextPrimary, "btnTextSecondary":btnTextSecondary, "btnIconPrimary":btnIconPrimary, "btnIconSecondary":btnIconSecondary, "btnIconAlignment":btnIconAlignment, "btnActionPrimary":btnActionPrimary, "btnActionSecondary":btnActionSecondary, "btnActionClose":btnActionClose} + system.perspective.openPopup(id="alertDialog", view="Library/Alerts/alert", params=params, showCloseIcon=False, draggable=False, resizable=False, modal=True, overlayDismiss=True, btnActionPrimary="closePopup") \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2122c9ae9eda665d1e34031972ca07b249c0d9c1582fbc899bbe680c8b4388a1 b/Gateways/FE/projects/.resources/2122c9ae9eda665d1e34031972ca07b249c0d9c1582fbc899bbe680c8b4388a1 new file mode 100644 index 0000000..4fb2f32 Binary files /dev/null and b/Gateways/FE/projects/.resources/2122c9ae9eda665d1e34031972ca07b249c0d9c1582fbc899bbe680c8b4388a1 differ diff --git a/Gateways/FE/projects/.resources/2148a6e9641add51b86ba90dfe48ad8a1731729b48f511ffa15f5540f82dbb93 b/Gateways/FE/projects/.resources/2148a6e9641add51b86ba90dfe48ad8a1731729b48f511ffa15f5540f82dbb93 new file mode 100644 index 0000000..12d021b Binary files /dev/null and b/Gateways/FE/projects/.resources/2148a6e9641add51b86ba90dfe48ad8a1731729b48f511ffa15f5540f82dbb93 differ diff --git a/Gateways/FE/projects/.resources/214a68e564112020d54a0712ccebbae036043f4fd542d2185e945ddcc3415804 b/Gateways/FE/projects/.resources/214a68e564112020d54a0712ccebbae036043f4fd542d2185e945ddcc3415804 new file mode 100644 index 0000000..46bbf3b Binary files /dev/null and b/Gateways/FE/projects/.resources/214a68e564112020d54a0712ccebbae036043f4fd542d2185e945ddcc3415804 differ diff --git a/Gateways/FE/projects/.resources/2166dec87b5c6df4235047e3b8e18c76474ff9d65e6d0ca574711da0dbc8a4fd b/Gateways/FE/projects/.resources/2166dec87b5c6df4235047e3b8e18c76474ff9d65e6d0ca574711da0dbc8a4fd new file mode 100644 index 0000000..5acbcf0 --- /dev/null +++ b/Gateways/FE/projects/.resources/2166dec87b5c6df4235047e3b8e18c76474ff9d65e6d0ca574711da0dbc8a4fd @@ -0,0 +1,1952 @@ +{ + "custom": { + "isEnergized": true, + "w1": true, + "w2": true, + "w3": false, + "w4": true + }, + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B3", + "textColor": "var(--olGray)", + "textHandler": { + "text1": "DS-1A1", + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "propConfig": { + "custom.isEnergized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Data/isenergized" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 01" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 02" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 110, + "width": 166 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "DS" + }, + "position": { + "height": 110, + "width": 160 + }, + "propConfig": { + "custom.colorHandler.Bus": { + "binding": { + "config": { + "path": "view.custom.isEnergized" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.W1": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value [\u0027sw\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.W2": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value [\u0027sw\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.W3": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w3}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value [\u0027sw\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.W4": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w4}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value [\u0027sw\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{parent.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[3].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 02" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 02" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[4].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W1" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 01" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W1" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 01" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[5].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[6].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[8].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[9].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[5].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[8].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text1" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text2" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text3" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text4" + }, + "type": "property" + } + }, + "props.elements[8].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "circle", + "width": 82.5, + "x": 3.75, + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l3.929,0l-0,0.75l-3.179,-0l0,3.268l-0.75,-0Zm9.429,-4.018l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.499,0l0,0.75l-2.357,0l0,-0.75l2.357,0Zm11.001,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.357,0l-0,-0.75l2.357,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm7.071,4.018l-0.75,-0l-0,-3.268l-3.179,0l0,-0.75l3.929,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.929,7.232l0,-0.75l3.179,0l0,-3.268l0.75,0l0,4.018l-3.929,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.499,0l-0,-0.75l2.357,0l-0,0.75l-2.357,0Zm-11.001,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.357,0l0,0.75l-2.357,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-7.071,-4.018l0.75,0l0,3.268l3.179,0l-0,0.75l-3.929,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M22.5,31.634l45,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,25.327l0,15.923", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,25.327l0,15.923", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M90,7.5l0,75l-90,-0l-0,-75l90,0Zm-0.75,0.75l-88.5,0l0,73.5l88.5,-0l0,-73.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "90", + "x": "-0", + "y": "7.5" + }, + { + "d": "M90.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M89.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M94.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "89.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M88.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M91.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + }, + { + "elements": [ + { + "cx": "22.5", + "cy": "25.327", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,26.452c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125Zm0,-0.675c0.248,0 0.45,-0.201 0.45,-0.45c0,-0.248 -0.202,-0.45 -0.45,-0.45c-0.248,0 -0.45,0.202 -0.45,0.45c0,0.249 0.202,0.45 0.45,0.45Z", + "name": "path", + "type": "path" + }, + { + "d": "M22.5,16.327l1.398,8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M22.5,16.327l4.579,7.749", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.68px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,20.5386,16.4583)", + "type": "group" + }, + { + "elements": [], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "WAY-2", + "type": "text", + "x": "8.189px", + "y": "16.458px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.7675,23.2292)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "10.036px", + "y": "23.229px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,30.4087,30.2063)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "24.391px", + "y": "30.206px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "Way-1", + "name": "Way-1", + "type": "group" + }, + { + "elements": [ + { + "cx": "67.5", + "cy": "25.327", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,26.452c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125Zm0,-0.75c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M67.5,16.327l1.398,8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,16.327l4.579,7.749", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,65.5552,16.4583)", + "type": "group" + }, + { + "elements": [], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "WAY-1", + "type": "text", + "x": "53.206px", + "y": "16.458px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,64.7841,23.2292)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "55.053px", + "y": "23.229px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,75.9375,30.2083)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NO", + "type": "text", + "x": "69.688px", + "y": "30.208px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "Way-2", + "name": "Way-2", + "type": "group" + }, + { + "elements": [ + { + "cx": "22.5", + "cy": "59.785", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,58.66c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M22.5,68.785l1.398,-8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,68.785l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M23.898,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 22.5, + "cy": "42.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,41.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": 22.5, + "cy": "51.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,50.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M27.558,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,52.067l0,7.833", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,20.5386,74.4792)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-3", + "type": "tspan", + "x": "11.967px 14.437px 16.834px 18.221px ", + "y": "74.479px 74.479px 74.479px 74.479px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "8.189px", + "y": "74.479px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.7675,65.4822)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "10.036px", + "y": "65.482px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,33.1767,65.5208)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "27.159px", + "y": "65.521px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "Way-3", + "name": "Way-3", + "type": "group" + }, + { + "elements": [ + { + "cx": "67.5", + "cy": "59.785", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,58.66c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M67.5,68.785l1.398,-8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,68.785l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M68.883,42.405c1.261,1.2 1.896,2.695 1.871,4.5c0.008,2.095 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 67.5, + "cy": "42.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,41.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": 67.5, + "cy": "51.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,50.25c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M72.544,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,52.067l0,7.833", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,65.5552,74.4792)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-4", + "type": "tspan", + "x": "56.984px 59.454px 61.85px 63.238px ", + "y": "74.479px 74.479px 74.479px 74.479px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "53.206px", + "y": "74.479px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,64.7841,65.4822)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "55.053px", + "y": "65.482px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,78.4735,65.5208)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "72.455px", + "y": "65.521px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "Way-4", + "name": "Way-4", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,103.018,14.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "88.199px", + "y": "14.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,114.137,17.9948)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ",", + "type": "tspan", + "x": "112.979px ", + "y": "17.995px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.343px", + "y": "17.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,117.199,21.7834)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "92.884px 94.042px ", + "y": "21.783px 21.783px " + }, + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "101.22px 102.377px ", + "y": "21.783px 21.783px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.325px", + "y": "21.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,114.102,25.5334)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "97.434px 99.983px 101.14px ", + "y": "25.533px 25.533px 25.533px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.482px", + "y": "25.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 120 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 37, + "x": 37, + "y": 63 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed Way 03\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Tripped Way 03\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027\n", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "overflow": "visible" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 20, + "width": 37, + "x": 50.5, + "y": 45 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed Way 04\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Tripped Way 04\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027\n", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "overflow": "visible", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 67, + "x": 98, + "y": -9 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\ttext \u003d value.split(\"_\")\n\treturn text[-1]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/21893b20cc06e66c5b019f863887d3f5afbfbf0cbb4b185bc259e599e9bb1e2d b/Gateways/FE/projects/.resources/21893b20cc06e66c5b019f863887d3f5afbfbf0cbb4b185bc259e599e9bb1e2d new file mode 100644 index 0000000..f1bcc59 Binary files /dev/null and b/Gateways/FE/projects/.resources/21893b20cc06e66c5b019f863887d3f5afbfbf0cbb4b185bc259e599e9bb1e2d differ diff --git a/Gateways/FE/projects/.resources/2285a92dc765d5dbc928a213f30733f33eca152be687c8dc3c6a013041b7204a b/Gateways/FE/projects/.resources/2285a92dc765d5dbc928a213f30733f33eca152be687c8dc3c6a013041b7204a new file mode 100644 index 0000000..86ca13d Binary files /dev/null and b/Gateways/FE/projects/.resources/2285a92dc765d5dbc928a213f30733f33eca152be687c8dc3c6a013041b7204a differ diff --git a/Gateways/FE/projects/.resources/2298ea2e714b7911e9a6aab7bc927475abde6f483f6dc1f147e06efda1b2a02b b/Gateways/FE/projects/.resources/2298ea2e714b7911e9a6aab7bc927475abde6f483f6dc1f147e06efda1b2a02b new file mode 100644 index 0000000..439d077 Binary files /dev/null and b/Gateways/FE/projects/.resources/2298ea2e714b7911e9a6aab7bc927475abde6f483f6dc1f147e06efda1b2a02b differ diff --git a/Gateways/FE/projects/.resources/22cf46310f22810bf814836fc27a451657419642fd3378f1f9e18a56545eb62a b/Gateways/FE/projects/.resources/22cf46310f22810bf814836fc27a451657419642fd3378f1f9e18a56545eb62a new file mode 100644 index 0000000..1e0d56c --- /dev/null +++ b/Gateways/FE/projects/.resources/22cf46310f22810bf814836fc27a451657419642fd3378f1f9e18a56545eb62a @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4833.33,191.897c0,2.3 1.867,4.167 4.167,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal22", + "name": "Terminal22", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4837.5,187.73l0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4831.25,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In11", + "name": "In11", + "type": "path" + }, + { + "d": "M4837.5,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4841.67,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal23", + "name": "Terminal23", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4837.5,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4845.24,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed11", + "name": "Closed11", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4864.24,193.729c8.447,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open11", + "name": "Open11", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB12", + "name": "CB12", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1785, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1736,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1736,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1736,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1736,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/22e9316a43d6cdd2a8b71d31943e2327ba20668ae3ed275ef7e44e7b5e54c327 b/Gateways/FE/projects/.resources/22e9316a43d6cdd2a8b71d31943e2327ba20668ae3ed275ef7e44e7b5e54c327 new file mode 100644 index 0000000..77af1a5 --- /dev/null +++ b/Gateways/FE/projects/.resources/22e9316a43d6cdd2a8b71d31943e2327ba20668ae3ed275ef7e44e7b5e54c327 @@ -0,0 +1,600 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "outputPower": 1, + "tagPath": "", + "textColor": "var(--olGray)" + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 90, + "width": 109 + } + }, + "root": { + "children": [ + { + "custom": { + "ColorHandler": {} + }, + "meta": { + "name": "FP_DS" + }, + "position": { + "height": 90, + "width": 109 + }, + "propConfig": { + "custom.ColorHandler.Box": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "custom.ColorHandler.Bus": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.CB": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.inputPower} \r\n//\u0026\u0026 tag(tostr({view.params.tagPath}+\u0027/Alarms/tagname\u0027))\r\n,\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "custom.ColorHandler.text": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.text" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Bus" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "37.5", + "x": "0", + "y": "0" + }, + { + "d": "M0,4.018l0,-4.018l4.464,0l0,0.75l-3.714,-0l-0,3.268l-0.75,-0Zm10.714,-4.018l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm12.5,0l0,0.75l-8.928,0l-0,-0.75l8.928,0Zm6.25,0l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm8.036,4.018l-0.75,-0l0,-3.268l-3.714,0l-0,-0.75l4.464,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-4.464,7.232l-0,-0.75l3.714,0l0,-3.268l0.75,0l0,4.018l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-12.5,0l-0,-0.75l8.928,0l0,0.75l-8.928,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-4.018l0.75,0l-0,3.268l3.714,0l0,0.75l-4.464,0l0,-4.018Zm0,-5.625l0.75,0l-0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l-0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l-0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l-0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l-0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l-0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l-0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,24.9004,12.3698)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "250AF", + "type": "text", + "x": "12.624px", + "y": "12.37px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,24.5911,16.1198)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "22.046px ", + "y": "16.12px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "250A", + "type": "text", + "x": "12.624px", + "y": "16.12px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,27.2642,19.9105)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI, NO", + "type": "text", + "x": "12.445px", + "y": "19.91px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + }, + { + "d": "M30.068,10.418c1.262,1.2 1.897,2.695 1.871,4.5c0.009,2.095 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M28.943,9.293c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.62,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.505,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M28.943,18.293c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.62,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.505,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M33.729,10.418c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--olGreen)", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M28.943,33.75l0,-13.509", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "id": "Line1", + "name": "Line1", + "transform": "matrix(4.16667,0,0,4.16667,61.345,47.8121)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "FIRE PUMP", + "type": "text", + "x": "38.658px", + "y": "47.812px" + }, + { + "id": "Line2", + "name": "Line2", + "transform": "matrix(4.16667,0,0,4.16667,76.7197,51.615)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "64.297px 66.767px 69.312px ", + "y": "51.615px 51.615px 51.615px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "DOCKING STON", + "type": "text", + "x": "38.679px", + "y": "51.615px" + }, + { + "id": "Line3", + "name": "Line3", + "transform": "matrix(4.16667,0,0,4.16667,70.6898,55.3243)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "60.269px 61.427px ", + "y": "55.324px 55.324px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "250A, 480V3PH", + "type": "text", + "x": "38.874px", + "y": "55.324px" + }, + { + "id": "Line4", + "name": "Line4", + "transform": "matrix(4.16667,0,0,4.16667,61.9818,59.113)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "44.845px 46.003px ", + "y": "59.113px 59.113px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3W65 kAIC", + "type": "text", + "x": "38.825px", + "y": "59.113px" + } + ], + "id": "TagPlate", + "name": "TagPlate", + "type": "group" + }, + { + "elements": [ + { + "cx": "28.943", + "cy": "33.75", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M28.943,32.625c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.62,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.505,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.169 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.206 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "18.743", + "cy": "33.75", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.743,32.625c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "8.702", + "cy": "33.75", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M8.702,32.625c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.169 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.206 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M2.105,30.75l-0,6", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M35.38,30.75l0,6", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M2.105,33.75l33.275,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 82 68" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/22ef4f7f385d579d9d9a4b69e9f4468a4044cc3d9a7dc63d25b2bbb990a12073 b/Gateways/FE/projects/.resources/22ef4f7f385d579d9d9a4b69e9f4468a4044cc3d9a7dc63d25b2bbb990a12073 new file mode 100644 index 0000000..de3d969 Binary files /dev/null and b/Gateways/FE/projects/.resources/22ef4f7f385d579d9d9a4b69e9f4468a4044cc3d9a7dc63d25b2bbb990a12073 differ diff --git a/Gateways/FE/projects/.resources/233037dfe430e0ceca6cff76155788bd3a66b56d723857384c2af57c4f5fd434 b/Gateways/FE/projects/.resources/233037dfe430e0ceca6cff76155788bd3a66b56d723857384c2af57c4f5fd434 new file mode 100644 index 0000000..d836123 Binary files /dev/null and b/Gateways/FE/projects/.resources/233037dfe430e0ceca6cff76155788bd3a66b56d723857384c2af57c4f5fd434 differ diff --git a/Gateways/FE/projects/.resources/23334cde73d71012f880978ad5f52f8e1a96eccf98a106ad7ffa93088a1c5974 b/Gateways/FE/projects/.resources/23334cde73d71012f880978ad5f52f8e1a96eccf98a106ad7ffa93088a1c5974 new file mode 100644 index 0000000..ec29520 --- /dev/null +++ b/Gateways/FE/projects/.resources/23334cde73d71012f880978ad5f52f8e1a96eccf98a106ad7ffa93088a1c5974 @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-30)", + "borderColor": "var(--neutral-50)", + "borderStyle": "solid", + "borderWidth": "1px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/241b33b35d2ce00d4d922000e5f1a4fca51d12e8202a2806233fadfb1d0fd504 b/Gateways/FE/projects/.resources/241b33b35d2ce00d4d922000e5f1a4fca51d12e8202a2806233fadfb1d0fd504 new file mode 100644 index 0000000..325c1b2 --- /dev/null +++ b/Gateways/FE/projects/.resources/241b33b35d2ce00d4d922000e5f1a4fca51d12e8202a2806233fadfb1d0fd504 @@ -0,0 +1,1420 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": true + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 109, + "width": 258 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DP-LP-HS1" + }, + "position": { + "height": 109, + "width": 258 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "193.375", + "x": "0", + "y": "14.24" + }, + { + "d": "M0,18.258l0,-4.018l3.837,0l-0,0.75l-3.087,0l0,3.268l-0.75,-0Zm9.208,-4.018l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.744,0l-0,0.75l-7.674,0l0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.303,0l0,-0.75l2.303,0Zm10.743,0l-0,0.75l-7.674,0l-0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l-0,0.75l-7.674,0l0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.744,0l-0,0.75l-7.674,0l0,-0.75l7.674,0Zm5.371,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.303,0l0,-0.75l2.303,0Zm10.743,0l-0,0.75l-7.674,0l-0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm6.906,4.018l-0.75,-0l0,-3.268l-3.087,0l0,-0.75l3.837,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.837,7.232l0,-0.75l3.087,0l0,-3.268l0.75,0l0,4.018l-3.837,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.673,0l0,0.75l-7.673,0Zm-5.372,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.673,0l0,0.75l-7.673,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.673,0l0,0.75l-7.673,0Zm-5.372,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.372,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-6.906,-4.018l0.75,0l0,3.268l3.087,0l-0,0.75l-3.837,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M7.5,45.365l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M186.128,45.365l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,47.99l178.628,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.75,34.466l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M153.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.875,24.74c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "24.74", + "fill": { + "paint": "#ebebeb" + }, + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,23.615c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "108.75", + "cy": "33.74", + "fill": { + "paint": "#ebebeb" + }, + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,32.615c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M113.535,24.74c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,122.791,32.6064)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "116.537px", + "y": "32.606px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,128.504,28.8177)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "250AT", + "type": "text", + "x": "116.537px", + "y": "28.818px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M19.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed1", + "name": "Closed1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "62.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T11", + "name": "T11", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,61.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "18.75", + "cy": "71.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T21", + "name": "T21", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,70.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M23.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open1", + "name": "Open1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,38.7794,65.9948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "125AT", + "type": "text", + "x": "26.812px", + "y": "65.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,33.2151,69.7834)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "26.961px", + "y": "69.783px" + } + ], + "id": "TExt", + "name": "TExt", + "type": "group" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M64.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed2", + "name": "Closed2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "63.75", + "cy": "62.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T12", + "name": "T12", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,61.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "63.75", + "cy": "71.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T22", + "name": "T22", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,70.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M68.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open2", + "name": "Open2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,83.9294,65.9948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "125AT", + "type": "text", + "x": "71.962px", + "y": "65.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,78.3651,69.7834)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "72.111px", + "y": "69.783px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed3", + "name": "Closed3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "62.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T13", + "name": "T13", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,61.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "108.75", + "cy": "71.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T23", + "name": "T23", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,70.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M113.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open3", + "name": "Open3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,129.728,65.9948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "125AT", + "type": "text", + "x": "117.761px", + "y": "65.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,124.163,69.7834)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "117.909px", + "y": "69.783px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "d": "M154.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed4", + "name": "Closed4", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "153.75", + "cy": "62.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T14", + "name": "T14", + "r": "1.125", + "type": "circle" + }, + { + "d": "M153.75,61.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "153.75", + "cy": "71.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T24", + "name": "T24", + "r": "1.125", + "type": "circle" + }, + { + "d": "M153.75,70.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M158.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open4", + "name": "Open4", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,173.459,65.9948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "125AT", + "type": "text", + "x": "161.492px", + "y": "65.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,167.894,69.7834)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "161.64px", + "y": "69.783px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,32.2449,10.5334)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3PH, 4W65kAIC", + "type": "text", + "x": "-0.175px", + "y": "10.533px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,29.7611,6.78345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "250A, 480/277V", + "type": "text", + "x": "-0.126px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,25.3967,3.03345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DP-LP-HS1-1", + "type": "text", + "x": "-0.301px", + "y": "3.033px" + } + ], + "id": "TagIDPlate", + "name": "TagIDPlate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 194 82" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/244b47cb409a5b127695ca8cb07cdea379bee854163a6be21ca88de76c27a046 b/Gateways/FE/projects/.resources/244b47cb409a5b127695ca8cb07cdea379bee854163a6be21ca88de76c27a046 new file mode 100644 index 0000000..ce226a2 --- /dev/null +++ b/Gateways/FE/projects/.resources/244b47cb409a5b127695ca8cb07cdea379bee854163a6be21ca88de76c27a046 @@ -0,0 +1,1606 @@ +{ + "custom": { + "JA01": "/AC Primary Power Fault", + "JA02": "/AC Secondary Power Fault", + "JA03": "/DC Power Supply 1 Fault", + "JA04": "/DC Power Supply 2 Fault", + "TAH": "/High Temperature", + "XA": "/Panel Intrusion", + "allTags": [ + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Chiller Quantity Fail" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Fail" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Temp Fail" + } + ], + "inTagPath": "[Ignition_Common_IO_Gtwy]PLC/SATB1_MPR1240_PNL58" + }, + "params": { + "embedded": false, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]PLC/SATB1_MPR1240_PNL58" + }, + "propConfig": { + "custom.JA01": { + "persistent": true + }, + "custom.JA02": { + "persistent": true + }, + "custom.JA03": { + "persistent": true + }, + "custom.JA04": { + "persistent": true + }, + "custom.TAH": { + "persistent": true + }, + "custom.XA": { + "persistent": true + }, + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "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 + }, + "custom.inTagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA01\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA01}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "AC Primary Power Failure", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA02\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA02}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "AC Secondary Power Failure", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA03\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA03}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA03}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA03}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "DC Power Supply 1 Fault", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA04\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA04}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA04}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA04}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "DC Power Supply 2 Fault", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.TAH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.TAH}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.TAH}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Temperature High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.XA}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_5" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Panel Intrusion", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "136px", + "display": false + }, + "props": { + "justify": "space-evenly", + "style": { + "gap": 5, + "overflow": "visible", + "padding": 5 + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA01\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA01}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA01}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA01}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "AC Primary Power Failure", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA02\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA02}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA02}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA02}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "AC Secondary Power Failure", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA03\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA03}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA03}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA03}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA03}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "DC Power Supply 1 Fault", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA04\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA04}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA04}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA04}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA04}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "DC Power Supply 2 Fault", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.TAH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.TAH}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.TAH}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.TAH}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Temperature High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.XA}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_5" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.XA}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.XA}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Panel Intrusion", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "136px" + }, + "props": { + "justify": "space-evenly", + "style": { + "gap": 5, + "overflow": "visible", + "padding": 5 + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/249b0f3a7fa3ee82711499481a59ffe56afaec0d5b982ebd9ad2c194d44ebef5 b/Gateways/FE/projects/.resources/249b0f3a7fa3ee82711499481a59ffe56afaec0d5b982ebd9ad2c194d44ebef5 new file mode 100644 index 0000000..12775c9 --- /dev/null +++ b/Gateways/FE/projects/.resources/249b0f3a7fa3ee82711499481a59ffe56afaec0d5b982ebd9ad2c194d44ebef5 @@ -0,0 +1,1256 @@ +{ + "custom": { + "colorHandler": { + "box": "var(--olGray)" + } + }, + "params": { + "inPower": 1 + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 105, + "width": 381 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381 + }, + "propConfig": { + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "284.992", + "x": "0", + "y": "11.25" + }, + { + "d": "M0,15.268l0,-4.018l3.77,0l-0,0.75l-3.02,-0l0,3.268l-0.75,-0Zm9.047,-4.018l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.556,0l-0,0.75l-7.54,0l-0,-0.75l7.54,0Zm5.277,0l-0,0.75l-2.262,0l-0,-0.75l2.262,0Zm10.555,0l-0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.277,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.278,0l-0,0.75l-2.262,0l-0,-0.75l2.262,0Zm10.555,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l-0,0.75l-2.262,0l-0,-0.75l2.262,0Zm10.555,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.278,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm6.786,4.018l-0.75,-0c-0,-0 -0,-3.268 -0,-3.268l-3.02,0l-0,-0.75l3.77,0l-0,4.018Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-3.77,7.232l-0,-0.75l3.02,0l-0,-3.268l0.75,0l-0,4.018l-3.77,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l-0,-0.75l2.261,0l0,0.75l-2.261,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l-0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.261,0l0,0.75l-2.261,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.278,0l0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.277,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-6.785,-4.018l0.75,0c0,0 0,3.268 0,3.268l3.02,0l-0,0.75l-3.77,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M279.394,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l271.894,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M243.75,31.476l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M198.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.766,45l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M244.875,21.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "243.75", + "cy": "21.75", + "fill": { + "paint": "#ebebeb" + }, + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "d": "M243.75,20.625c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "243.75", + "cy": "30.75", + "fill": { + "paint": "#ebebeb" + }, + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M243.75,29.625c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M248.535,21.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,265.973,23.9708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1200AT", + "type": "text", + "x": "251.688px", + "y": "23.971px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,269.517,27.7594)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "251.688px", + "y": "27.759px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,263.727,31.5094)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "251.688px", + "y": "31.509px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M19.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed1", + "name": "Closed1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "id": "T11", + "name": "T11", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "18.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "id": "T21", + "name": "T21", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M23.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open1", + "name": "Open1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,40.9922,61.6898)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1200AT", + "type": "text", + "x": "26.708px", + "y": "61.69px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,44.5363,65.4784)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "26.708px", + "y": "65.478px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,38.7461,69.2284)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "26.708px", + "y": "69.228px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed2", + "name": "Closed2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "id": "T12", + "name": "T12", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "108.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "id": "T22", + "name": "T22", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M113.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open2", + "name": "Open2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,131.48,61.6898)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1200At", + "type": "text", + "x": "117.195px", + "y": "61.69px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,135.024,65.4784)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "117.195px", + "y": "65.478px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,129.234,69.2284)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "117.195px", + "y": "69.228px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M199.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed3", + "name": "Closed3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "198.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "id": "T13", + "name": "T13", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "198.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "id": "T23", + "name": "T23", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M203.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open3", + "name": "Open3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,221.205,61.6898)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1200AT", + "type": "text", + "x": "206.921px", + "y": "61.69px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,224.749,65.4784)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "206.921px", + "y": "65.478px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,218.959,69.2284)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "206.921px", + "y": "69.228px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,12.9598,2.99479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DP-M1", + "type": "text", + "x": "272px", + "y": "2.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,42.6941,6.74479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1200A, 480V3PH, 3W", + "type": "text", + "x": "244px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,13.5071,10.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "65kAIC", + "type": "text", + "x": "271px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 286 79" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/254d4fa4a82b1631d09e87ff29cc01c06611fa71c7ee805e6ea11c69dc046daa b/Gateways/FE/projects/.resources/254d4fa4a82b1631d09e87ff29cc01c06611fa71c7ee805e6ea11c69dc046daa new file mode 100644 index 0000000..cf1e535 --- /dev/null +++ b/Gateways/FE/projects/.resources/254d4fa4a82b1631d09e87ff29cc01c06611fa71c7ee805e6ea11c69dc046daa @@ -0,0 +1,60 @@ +{ + "custom": {}, + "params": { + "rowIndex": "value", + "value": "[Ignition_Common_IO_Gtwy]RT_Tags/ASP/ASP1_RT_Reset" + }, + "propConfig": { + "params.rowIndex": { + "paramDirection": "input", + "persistent": true + }, + "params.value": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 35, + "width": 125 + } + }, + "root": { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.writeAsync([self.view.params.value], [1])" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "35px" + }, + "props": { + "style": { + "margin": 3 + }, + "text": "Runtime Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/25589e9afd81397233421adea66be85577f57ab04939de4659f0c9306f706f08 b/Gateways/FE/projects/.resources/25589e9afd81397233421adea66be85577f57ab04939de4659f0c9306f706f08 new file mode 100644 index 0000000..e259e83 --- /dev/null +++ b/Gateways/FE/projects/.resources/25589e9afd81397233421adea66be85577f57ab04939de4659f0c9306f706f08 @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/25b4ae3e70948335c76b877ed835f33a46ecab6f387c01a38d7d1ba28903a0fc b/Gateways/FE/projects/.resources/25b4ae3e70948335c76b877ed835f33a46ecab6f387c01a38d7d1ba28903a0fc new file mode 100644 index 0000000..38c2df4 --- /dev/null +++ b/Gateways/FE/projects/.resources/25b4ae3e70948335c76b877ed835f33a46ecab6f387c01a38d7d1ba28903a0fc @@ -0,0 +1,154 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature Low Setpoint" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_CRAC1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 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\",\"Int4\")\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# 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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/25c232bd7f0bf7ab0cf29349367f2aa999f6b9297613ed76421d2255af25333a b/Gateways/FE/projects/.resources/25c232bd7f0bf7ab0cf29349367f2aa999f6b9297613ed76421d2255af25333a new file mode 100644 index 0000000..c430d72 Binary files /dev/null and b/Gateways/FE/projects/.resources/25c232bd7f0bf7ab0cf29349367f2aa999f6b9297613ed76421d2255af25333a differ diff --git a/Gateways/FE/projects/.resources/262b06638f085a6151dddd61824f0693b5a11eaca8aabe8c9115a952571eee2e b/Gateways/FE/projects/.resources/262b06638f085a6151dddd61824f0693b5a11eaca8aabe8c9115a952571eee2e new file mode 100644 index 0000000..b21b980 --- /dev/null +++ b/Gateways/FE/projects/.resources/262b06638f085a6151dddd61824f0693b5a11eaca8aabe8c9115a952571eee2e @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "fontWeight": "bold" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/269074ee08ff032e225b51d949269c084cf9638063ab4494fb5c6d261ab6b225 b/Gateways/FE/projects/.resources/269074ee08ff032e225b51d949269c084cf9638063ab4494fb5c6d261ab6b225 new file mode 100644 index 0000000..b2e46eb --- /dev/null +++ b/Gateways/FE/projects/.resources/269074ee08ff032e225b51d949269c084cf9638063ab4494fb5c6d261ab6b225 @@ -0,0 +1,118 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Comm_Percentage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Val", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_PNL16_C1_HT01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/26b0a8099b2f113a28b5b6b7dfb0dcb29d17858c24bd859573e912a1a0fac83c b/Gateways/FE/projects/.resources/26b0a8099b2f113a28b5b6b7dfb0dcb29d17858c24bd859573e912a1a0fac83c new file mode 100644 index 0000000..8fbc614 --- /dev/null +++ b/Gateways/FE/projects/.resources/26b0a8099b2f113a28b5b6b7dfb0dcb29d17858c24bd859573e912a1a0fac83c @@ -0,0 +1,139 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Hi Limit Spc Temp Alarm Sp" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Lo Limit Spc Temp Alarm Sp" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Space Temperature Cooling Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Space Temperature Cooling Setpoint DB" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1128/SATB1_HS2_EL1128_FCU16" + }, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/272bc4e964fee5f1c61612c5a42315b988385fa962042233ae316ca14fbab12e b/Gateways/FE/projects/.resources/272bc4e964fee5f1c61612c5a42315b988385fa962042233ae316ca14fbab12e new file mode 100644 index 0000000..d212afa --- /dev/null +++ b/Gateways/FE/projects/.resources/272bc4e964fee5f1c61612c5a42315b988385fa962042233ae316ca14fbab12e @@ -0,0 +1,463 @@ +{ + "custom": { + "AlarmSeverity": -1, + "Faulted": false, + "Layout": true, + "Mode": 1, + "Running": true + }, + "params": { + "Layout": true, + "Popup": true, + "embedded": false, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_HS1_ASP1" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Alarm Summary" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.Layout": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "type": "property" + }, + "persistent": true + }, + "custom.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 2 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "type": "tag" + }, + "persistent": true + }, + "params.Layout": { + "paramDirection": "input", + "persistent": true + }, + "params.Popup": { + "paramDirection": "input", + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 68, + "width": 75 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "height": "auto", + "width": 60, + "y": 50 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if({view.custom.Faulted},\"Faulted\", if({view.custom.Running},\"Running\",\"Stand By\"))" + }, + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "#0600FF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Tag01" + }, + "position": { + "height": "auto", + "width": 60 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ModeBadge" + }, + "position": { + "height": 17, + "width": 21, + "x": 48.97, + "y": 12.4 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "path": "view.custom.Mode" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/CommonObjects/ModeBadgeSmall", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif self.view.params.embedded:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\t\t\t\u0027top\u0027:\u00270\u0027,\n\t\t\t\t\u0027width\u0027: \u00271000px\u0027,\n\t\t\t\t\u0027height\u0027: \u0027800px\u0027\n\t\t\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\telse:\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CHW Pump VFD" + }, + "position": { + "height": 43, + "rotate": { + "anchor": "36% 39%" + }, + "width": 35, + "x": 12.29, + "y": 20.16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.Popup" + }, + "enabled": false, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "position.rotate.angle": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "transforms": [ + { + "fallback": "0deg", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "0deg" + }, + { + "input": true, + "output": "270deg" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "expression": "if({view.custom.Faulted},\"var(--state-faulted)\", if({view.custom.Running},\"var(--state-running)\",\"var(--state-standby)\"))" + }, + "type": "expr" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "white", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003e0, \"solid\", \"none\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "cx": "11.625", + "cy": "11.625", + "fill": {}, + "name": "circle", + "r": "11.25", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M11.625,22.875l9.75,-16.5l-19.5,0l9.75,16.5Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Pump", + "name": "Pump", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": "2" + }, + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 20, + "width": 20, + "x": 45.98, + "y": 3 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/275d8b886aa08aa555e87446c66e0864536bd1822361fa6ced280ddf9e180775 b/Gateways/FE/projects/.resources/275d8b886aa08aa555e87446c66e0864536bd1822361fa6ced280ddf9e180775 new file mode 100644 index 0000000..c974885 --- /dev/null +++ b/Gateways/FE/projects/.resources/275d8b886aa08aa555e87446c66e0864536bd1822361fa6ced280ddf9e180775 @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "ValveM", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/ValveM 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 3 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/27d440ef3908ade50efcca08ff54d8ed3d49f437f2697d4fe7c7802d1545b38f b/Gateways/FE/projects/.resources/27d440ef3908ade50efcca08ff54d8ed3d49f437f2697d4fe7c7802d1545b38f new file mode 100644 index 0000000..4ac471d --- /dev/null +++ b/Gateways/FE/projects/.resources/27d440ef3908ade50efcca08ff54d8ed3d49f437f2697d4fe7c7802d1545b38f @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "paddingBottom": "12px", + "paddingLeft": "14px", + "paddingRight": "16px", + "paddingTop": "12px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/27dd3b68edee09c590ab80de9b0c1d749fba770e0081c308f6635502ff85aa8a b/Gateways/FE/projects/.resources/27dd3b68edee09c590ab80de9b0c1d749fba770e0081c308f6635502ff85aa8a new file mode 100644 index 0000000..db700a2 --- /dev/null +++ b/Gateways/FE/projects/.resources/27dd3b68edee09c590ab80de9b0c1d749fba770e0081c308f6635502ff85aa8a @@ -0,0 +1,299 @@ +{ + "custom": {}, + "params": { + "AlarmSeverity": 4, + "ack": false + }, + "propConfig": { + "params.AlarmSeverity": { + "paramDirection": "input", + "persistent": true + }, + "params.ack": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 20 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "basis": "300px" + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}\u003d4, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}\u003d3, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}\u003d2, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}\u003d1, \"visible\", \"hidden\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "cx": "520.833", + "cy": "520.833", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "500", + "stroke": { + "paint": "#000", + "width": "30px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(845.675,0,0,845.675,723.231,879.38)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.904825,0,-5.12274)", + "type": "group" + } + ], + "id": "L4-RedIcon", + "name": "L4-RedIcon", + "type": "group" + }, + { + "elements": [ + { + "d": "M545.877,45.009l450.78,450.781c13.822,13.822 13.822,36.265 0,50.087l-450.78,450.78c-13.822,13.822 -36.265,13.822 -50.087,0l-450.781,-450.78c-13.821,-13.822 -13.821,-36.265 0,-50.087l450.781,-450.781c13.822,-13.821 36.265,-13.821 50.087,0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "id": "L3-OrangeIcon", + "name": "L3-OrangeIcon", + "type": "group" + }, + { + "elements": [ + { + "d": "M476.192,128.475c9.301,-15.826 26.285,-25.544 44.641,-25.544c18.357,-0 35.341,9.718 44.641,25.544c98.023,166.79 331.22,563.583 430.343,732.245c9.409,16.011 9.524,35.834 0.301,51.952c-9.223,16.119 -26.371,26.064 -44.942,26.064c-197.149,-0 -663.536,-0 -860.685,-0c-18.571,-0 -35.719,-9.945 -44.942,-26.064c-9.223,-16.118 -9.109,-35.941 0.301,-51.952c99.123,-168.662 332.32,-565.455 430.342,-732.245Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "L2-YellowIcon", + "name": "L2-YellowIcon", + "type": "group" + }, + { + "elements": [ + { + "d": "M854.903,82.071l0,877.525c0,18.438 -14.969,33.407 -33.407,33.407l-601.326,-0c-18.437,-0 -33.407,-14.969 -33.407,-33.407l0,-877.525c0,-18.438 14.97,-33.407 33.407,-33.407l601.326,-0c18.438,-0 33.407,14.969 33.407,33.407Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "30px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "id": "L1-PurpleIcon", + "name": "L1-PurpleIcon", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1042 1042" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/28072147856fb6c352b390b64e976764c73e081bc47b073e19a2ef09fe6439a7 b/Gateways/FE/projects/.resources/28072147856fb6c352b390b64e976764c73e081bc47b073e19a2ef09fe6439a7 new file mode 100644 index 0000000..9ac3e15 Binary files /dev/null and b/Gateways/FE/projects/.resources/28072147856fb6c352b390b64e976764c73e081bc47b073e19a2ef09fe6439a7 differ diff --git a/Gateways/FE/projects/.resources/28335449994cf14fa84839d511f95df9304ecbede1f17abf35f7ff4fcfa7e76a b/Gateways/FE/projects/.resources/28335449994cf14fa84839d511f95df9304ecbede1f17abf35f7ff4fcfa7e76a new file mode 100644 index 0000000..d761fae --- /dev/null +++ b/Gateways/FE/projects/.resources/28335449994cf14fa84839d511f95df9304ecbede1f17abf35f7ff4fcfa7e76a @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M5316.67,191.897c-0,2.3 1.867,4.167 4.166,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,0 -4.166,1.867 -4.166,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal26", + "name": "Terminal26", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5320.83,187.73l0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5314.58,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.45,0 6.25,2.801 6.25,6.25c0,3.45 -2.8,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In13", + "name": "In13", + "type": "path" + }, + { + "d": "M5320.83,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5325,247.063c0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,-0 -4.166,1.867 -4.166,4.167c-0,2.299 1.867,4.166 4.166,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal27", + "name": "Terminal27", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5320.83,251.229l0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5328.57,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed13", + "name": "Closed13", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5347.58,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open13", + "name": "Open13", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB14", + "name": "CB14", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1964, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1915,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1915,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1915,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1915,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/28c4d5d8006ffcad8f74ded8065fe496da59fa66d7c94eacba2871d77826b1f1 b/Gateways/FE/projects/.resources/28c4d5d8006ffcad8f74ded8065fe496da59fa66d7c94eacba2871d77826b1f1 new file mode 100644 index 0000000..6ac2fb8 Binary files /dev/null and b/Gateways/FE/projects/.resources/28c4d5d8006ffcad8f74ded8065fe496da59fa66d7c94eacba2871d77826b1f1 differ diff --git a/Gateways/FE/projects/.resources/28f0ec38b57e89840fd1934c3bbc72906a545438561437db153608e02628218e b/Gateways/FE/projects/.resources/28f0ec38b57e89840fd1934c3bbc72906a545438561437db153608e02628218e new file mode 100644 index 0000000..671b9b5 Binary files /dev/null and b/Gateways/FE/projects/.resources/28f0ec38b57e89840fd1934c3bbc72906a545438561437db153608e02628218e differ diff --git a/Gateways/FE/projects/.resources/291919c906ad3a643b9814dc59e48a77a497ce8cc4114a8ad312655e6de10e47 b/Gateways/FE/projects/.resources/291919c906ad3a643b9814dc59e48a77a497ce8cc4114a8ad312655e6de10e47 new file mode 100644 index 0000000..295b610 --- /dev/null +++ b/Gateways/FE/projects/.resources/291919c906ad3a643b9814dc59e48a77a497ce8cc4114a8ad312655e6de10e47 @@ -0,0 +1,234 @@ +{ + "custom": { + "AlarmSeverity": null, + "Val": null + }, + "params": { + "FalseText": "No Leak Detected", + "TrueText": "Leak Detected", + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_GAL1181_STU_LD" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Val": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val" + }, + "type": "tag" + }, + "persistent": true + }, + "params.FalseText": { + "paramDirection": "input", + "persistent": true + }, + "params.TrueText": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 30, + "width": 250 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "solid", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if({view.custom.Val}, {view.params.TrueText}, {view.params.FalseText})" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "padding": "0 5px" + }, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "0.1%", + "grow": 1 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "style": { + "marginLeft": -8, + "marginTop": -12, + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/295430b37f7ea005d2550ea908b404a99ca295a4e17862098278c73b6a091d63 b/Gateways/FE/projects/.resources/295430b37f7ea005d2550ea908b404a99ca295a4e17862098278c73b6a091d63 new file mode 100644 index 0000000..94a07eb Binary files /dev/null and b/Gateways/FE/projects/.resources/295430b37f7ea005d2550ea908b404a99ca295a4e17862098278c73b6a091d63 differ diff --git a/Gateways/FE/projects/.resources/29630ed0f6eeec14fcebe67a8798b1594cc51111e165e8a30c006a99900de9c7 b/Gateways/FE/projects/.resources/29630ed0f6eeec14fcebe67a8798b1594cc51111e165e8a30c006a99900de9c7 new file mode 100644 index 0000000..0aedb64 Binary files /dev/null and b/Gateways/FE/projects/.resources/29630ed0f6eeec14fcebe67a8798b1594cc51111e165e8a30c006a99900de9c7 differ diff --git a/Gateways/FE/projects/.resources/299aa266cbd99e50a06595d7ee943b85e42de2b1bc6436de974f76fadb769c79 b/Gateways/FE/projects/.resources/299aa266cbd99e50a06595d7ee943b85e42de2b1bc6436de974f76fadb769c79 new file mode 100644 index 0000000..cded710 Binary files /dev/null and b/Gateways/FE/projects/.resources/299aa266cbd99e50a06595d7ee943b85e42de2b1bc6436de974f76fadb769c79 differ diff --git a/Gateways/FE/projects/.resources/2a596011e18493bd59766e1dd3480117a917f6efc746ab32db2bf74b498eeab1 b/Gateways/FE/projects/.resources/2a596011e18493bd59766e1dd3480117a917f6efc746ab32db2bf74b498eeab1 new file mode 100644 index 0000000..3568abf --- /dev/null +++ b/Gateways/FE/projects/.resources/2a596011e18493bd59766e1dd3480117a917f6efc746ab32db2bf74b498eeab1 @@ -0,0 +1,46 @@ + +.psc-alarmbox { + position: absolute; + top: 0; + left: 0; + width: 90%; + height: 90%; +} + +.psc-alarmbox circle { + stroke-dasharray: 5; + stroke-dashoffset: 0; + padding: 10em; + vector-effect: non-scaling-stroke; + animation: trace-border 4s linear infinite; +} + +@keyframes trace-border { + from { + stroke-dashoffset: 100; + } + to { + stroke-dashoffset: 0; + } +} + +.psc-tglswch .ia_toggleSwitch__track { + background-color: var(--toggleSwitch--selected); + filter: none; + opacity: 0.25; + border-radius: 8px; + transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; +} + +.psc-tglswch .ia_toggleSwitch__thumb { + border-radius: 50%; + background-color: var(--toggleSwitch--selected); + border: none; + box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12); + transition: left 200ms cubic-bezier(0.4, 0, 0.2, 1), left 150ms cubic-bezier(0.4, 0, 0.2, 1); +} + +.psc-tglswch .ia_toggleSwitch__thumb:hover { + filter: brightness(1.2); +} + diff --git a/Gateways/FE/projects/.resources/2a62471e760d71973ba33bc4068c6c92c5b961d8a55f2e346a0e6394f5fe6f7d b/Gateways/FE/projects/.resources/2a62471e760d71973ba33bc4068c6c92c5b961d8a55f2e346a0e6394f5fe6f7d new file mode 100644 index 0000000..4df72df Binary files /dev/null and b/Gateways/FE/projects/.resources/2a62471e760d71973ba33bc4068c6c92c5b961d8a55f2e346a0e6394f5fe6f7d differ diff --git a/Gateways/FE/projects/.resources/2a6560ac3ef86d27496f53db16e8c2f97741982decdca759612c67cd7f4715c2 b/Gateways/FE/projects/.resources/2a6560ac3ef86d27496f53db16e8c2f97741982decdca759612c67cd7f4715c2 new file mode 100644 index 0000000..3564418 Binary files /dev/null and b/Gateways/FE/projects/.resources/2a6560ac3ef86d27496f53db16e8c2f97741982decdca759612c67cd7f4715c2 differ diff --git a/Gateways/FE/projects/.resources/2a9319457bc94737ad4821a98a5abe9f2fdb12351f1eb2b77e6f7983512f8c56 b/Gateways/FE/projects/.resources/2a9319457bc94737ad4821a98a5abe9f2fdb12351f1eb2b77e6f7983512f8c56 new file mode 100644 index 0000000..3de047b Binary files /dev/null and b/Gateways/FE/projects/.resources/2a9319457bc94737ad4821a98a5abe9f2fdb12351f1eb2b77e6f7983512f8c56 differ diff --git a/Gateways/FE/projects/.resources/2ac63af2e52bb30bf1bc52cfaba5254aefa81cf0160f538d07d07845dc662924 b/Gateways/FE/projects/.resources/2ac63af2e52bb30bf1bc52cfaba5254aefa81cf0160f538d07d07845dc662924 new file mode 100644 index 0000000..5ad70ec Binary files /dev/null and b/Gateways/FE/projects/.resources/2ac63af2e52bb30bf1bc52cfaba5254aefa81cf0160f538d07d07845dc662924 differ diff --git a/Gateways/FE/projects/.resources/2b1553baa7ccddec8412b2be6acacddca639938e9e4249e373a1d15e6b1869b4 b/Gateways/FE/projects/.resources/2b1553baa7ccddec8412b2be6acacddca639938e9e4249e373a1d15e6b1869b4 new file mode 100644 index 0000000..427e856 --- /dev/null +++ b/Gateways/FE/projects/.resources/2b1553baa7ccddec8412b2be6acacddca639938e9e4249e373a1d15e6b1869b4 @@ -0,0 +1,878 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower},1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2400 + } + }, + "root": { + "children": [ + { + "children": [ + { + "custom": { + "boxColor": "--olGray" + }, + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{this.custom.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{this.custom.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{this.custom.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{this.custom.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{this.custom.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../CB Main.props.params.OutputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027),\r\n\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../CB Main.props.params.OutputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027),\r\n\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../CB Main.props.params.OutputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027),\r\n\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../ATS.props.params.OutputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027),\r\n\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../ATS.props.params.OutputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027),\r\n\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../ATS.props.params.OutputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027),\r\n\u0027)\u0027)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M2.083,2.083l0,291.667", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "41.67,16.67,12.5,16.67,0,0", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M380.008,293.75l0,-291.667", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "41.67,16.67,12.5,16.67,10,0", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M685.985,293.75l0,-291.667", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "41.67,16.67,12.5,16.67,0,0", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6660.42,293.75l-0,-291.667l-6658.33,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "41.67,16.67,12.5,16.67,0,0", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.083,293.75l6658.33,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "41.67,16.67,12.5,16.67,0,0", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "d": "M26.597,135.309l0,29.166", + "fill": { + "paint": "transparent" + }, + "id": "Bus01", + "name": "Bus01", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "cx": "505.764", + "cy": "149.892", + "name": "circle", + "r": "7.5", + "type": "circle" + }, + { + "d": "M26.597,149.892l479.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M645.62,135.309l0,29.166", + "fill": { + "paint": "transparent" + }, + "id": "Bus02", + "name": "Bus02", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6634.19,135.309l-0,29.166", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M645.62,149.892l5988.57,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "CB Main" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "loading": { + "order": "with-parent" + }, + "params": { + "BoxColor": "--olGray", + "InputPower": 1, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB Main" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 1" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 1\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 2" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 2\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 2" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 3" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 3\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 3" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 4" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 4\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 4" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 5" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 5\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 5" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 6" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 6\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 6" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 7" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 7" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 8" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 8" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 9" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 9" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 10" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 10" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 11" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 11" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 12" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 12" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 13" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 13" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 14" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 14" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 15" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 15" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 16" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 16" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 17" + }, + "position": { + "height": 1, + "width": 1.0077, + "x": -0.0077 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 17" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ATS" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower_1": { + "binding": { + "config": { + "path": "../CB Main.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "InputPower_2": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/ATS\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/ATS" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2b42d61bf61b199e0c76d59f324cc584e4b0d8cd189dd4c5fc77c7e509fcdf49 b/Gateways/FE/projects/.resources/2b42d61bf61b199e0c76d59f324cc584e4b0d8cd189dd4c5fc77c7e509fcdf49 new file mode 100644 index 0000000..baf0f92 Binary files /dev/null and b/Gateways/FE/projects/.resources/2b42d61bf61b199e0c76d59f324cc584e4b0d8cd189dd4c5fc77c7e509fcdf49 differ diff --git a/Gateways/FE/projects/.resources/2b74c8a9db4670af4cfc201deb739af5113790be430ead153223a54b2a54d806 b/Gateways/FE/projects/.resources/2b74c8a9db4670af4cfc201deb739af5113790be430ead153223a54b2a54d806 new file mode 100644 index 0000000..ea55639 --- /dev/null +++ b/Gateways/FE/projects/.resources/2b74c8a9db4670af4cfc201deb739af5113790be430ead153223a54b2a54d806 @@ -0,0 +1,34 @@ +defaultProvider = "[MQTT]" # Target Provider Name +defaultSourceProvider = "[Ignition_Common_IO_Gtwy]" # "[Ignition_Common_IO_Gtwy]" +Logger = system.util.getLogger("utils.admin.tags.helper") +def generateUDTDef(): + """ One stop shop execution to deploy the MQTT tags. + + """ + logger = Logger.createSubLogger("generateUDTDef") + + utils.admin.tags.utils.definition.transformBase() + utils.admin.tags.utils.definition.transformObjects(udtFolder= "Objects/Parent") + utils.admin.tags.utils.definition.transformObjects(udtFolder= "Objects") + +def generateUDTInstances(): + """ Generate UDT Instances based off of MQTT Reference UDTs. Iterate over every provider and perform the execution + """ + logger = Logger.createSubLogger("generateUDTInstances") + for prov in ["Ignition_Common_IO_Gtwy", "Ignition_SATB1_IO1_default", "Ignition_SATB1_IO2_default", + "Ignition_SATB1_IO3_default", "Ignition_SATB1_IO4_default", "Ignition_SATB1_IO5_default"]: + logger.debug("Processing provider: %s"%(prov)) + utils.admin.tags.utils.instances.transformObjects(prov) + logger.debug("Finished Processing") + +def generateUDTInstances_demo(): + """ Generate UDT Instances based off of MQTT Reference UDTs. Iterate over every provider and perform the execution + """ +# utils.admin.tags.utils.instances.transformObjects("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A") + utils.admin.tags.utils.instances.transformObjects("[Ignition_Common_IO_Gtwy]Yard") + +def exportAllTags(): + """ Browse all the tags in the MQTT provider and generate a tag export. + + """ + return system.dataset.toExcel(True, [utils.admin.tags.utils.instances.generateTagExport()], ["All Tags"]) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2b9089853f2cd94595d6e2a0f0bcad511c8d33675b182fec671cfc7d98c1d308 b/Gateways/FE/projects/.resources/2b9089853f2cd94595d6e2a0f0bcad511c8d33675b182fec671cfc7d98c1d308 new file mode 100644 index 0000000..d039489 --- /dev/null +++ b/Gateways/FE/projects/.resources/2b9089853f2cd94595d6e2a0f0bcad511c8d33675b182fec671cfc7d98c1d308 @@ -0,0 +1,427 @@ +{ + "custom": { + "EU": "value", + "TagID": "STU", + "Values": 35 + }, + "params": { + "EU": "value", + "Tag": "STU", + "Values": 35, + "objectName": "value", + "tagPath": "value" + }, + "propConfig": { + "custom.EU": { + "binding": { + "config": { + "path": "view.params.EU" + }, + "type": "property" + }, + "persistent": true + }, + "custom.TagID": { + "binding": { + "config": { + "path": "view.params.Tag" + }, + "type": "property" + }, + "persistent": true + }, + "custom.Values": { + "binding": { + "config": { + "path": "view.params.Values" + }, + "type": "property" + }, + "persistent": true + }, + "params.EU": { + "paramDirection": "input", + "persistent": true + }, + "params.Tag": { + "paramDirection": "input", + "persistent": true + }, + "params.Values": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 132, + "width": 166 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "SimpleGauge" + }, + "position": { + "height": 0.9015, + "width": 1.0542, + "x": -0.0755, + "y": 0.0869 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "path": "view.params.Values" + }, + "type": "property" + } + } + }, + "props": { + "animate": true, + "arc": { + "width": 100 + }, + "label": { + "offsetY": 12, + "visible": false + }, + "style": { + "margin": -10, + "opacity": "1", + "outlineWidth": "2", + "overflow": "visible" + } + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "x": 0.0064, + "y": 0.1217 + }, + "propConfig": { + "position.height": { + "binding": { + "config": { + "expression": "{../SimpleGauge.position.height}*0.7" + }, + "type": "expr" + } + }, + "position.width": { + "binding": { + "config": { + "expression": "{../SimpleGauge.position.width}*0.75" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#FF0000", + "borderStyle": "solid", + "borderWidth": 2, + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 0.1652, + "width": 0.4335 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.TagID" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 0.1652, + "width": 0.3383, + "x": 0.0346, + "y": 0.723 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.Values" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "#002BFF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 0.1652, + "width": 0.3563, + "x": 0.4162, + "y": 0.723 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.EU" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 0.1773, + "width": 0.2084, + "x": 0.6961, + "y": 0.0377 + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2bae8b5518690841625cd31541b6be7d7f9ef0ff86a5f359bdb09f6cc96e9755 b/Gateways/FE/projects/.resources/2bae8b5518690841625cd31541b6be7d7f9ef0ff86a5f359bdb09f6cc96e9755 new file mode 100644 index 0000000..25a28a8 Binary files /dev/null and b/Gateways/FE/projects/.resources/2bae8b5518690841625cd31541b6be7d7f9ef0ff86a5f359bdb09f6cc96e9755 differ diff --git a/Gateways/FE/projects/.resources/2bd721ab1409cc941d7a3277a79eceb8449a214f82ae8e8ae201e364fac49134 b/Gateways/FE/projects/.resources/2bd721ab1409cc941d7a3277a79eceb8449a214f82ae8e8ae201e364fac49134 new file mode 100644 index 0000000..bfb60f4 --- /dev/null +++ b/Gateways/FE/projects/.resources/2bd721ab1409cc941d7a3277a79eceb8449a214f82ae8e8ae201e364fac49134 @@ -0,0 +1,10305 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "pageId": "", + "textColor": "var(--olGray)" + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1290, + "width": 1130 + } + }, + "root": { + "children": [ + { + "custom": { + "HS1": {}, + "M1": {}, + "P2": {}, + "P3": {}, + "P4": {}, + "P5": {} + }, + "meta": { + "name": "UT Cables" + }, + "position": { + "height": 1290, + "width": 1130 + }, + "propConfig": { + "custom.HS1.C1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1A_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-HS1_to_UT-P1-1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-1_to_UT-P1-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-2_to_UT-P1-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-3_to_UT-P1-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C6": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-4_to_UT-P1-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C7": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-5_to_UT-M7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C8": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M7_to_UT-M8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C9": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.M1.C1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1A_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.M1.C2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M1_to_UT-M2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.M1.C3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M2_to_UT-M3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.M1.C4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M3_to_UT-M4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.M1.C5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M4_to_UT-M5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.M1.C6": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M5_to_UT-M6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.M1.C7": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P2.C1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS2A_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P2.C2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-1_to_UT-P2-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P2.C3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-2_to_UT-P2-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P2.C4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-3_to_UT-P2-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P2.C5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-4_to_UT-P2-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P2.C6": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS2B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P3.C1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS2A_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P3.C2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P3-1_to_UT-P3-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P3.C3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P3-2_to_UT-P3-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P3.C4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P3-3_to_UT-P3-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P3.C5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P3-4_to_UT-P3-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P3.C6": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS2B_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P4.C1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3A_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P4.C2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-1_to_UT-P4-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P4.C3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-2_to_UT-P4-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P4.C4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-3_to_UT-P4-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P4.C5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-4_to_UT-P4-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P4.C6": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-5_to_UT-HS2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P4.C7": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P5.C1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3A_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P5.C2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P5-1_to_UT-P5-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P5.C3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P5-2_to_UT-P5-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P5.C4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P5-3_to_UT-P5-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P5.C5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P5-4_to_UT-P5-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P5.C6": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3B_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C1" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C1" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C1" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C1" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C6" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C6" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C6" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C6" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C2" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C2" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C2" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C3" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C3" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C3" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C4" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C4" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C4" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C5" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C5" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C5" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P5-1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P5-2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P5-3.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P5-4.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[6].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P5-5.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C1" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C1" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C1" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C1" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C7" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C7" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C7" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C7" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C2" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C2" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C2" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C3" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C3" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C3" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C4" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C4" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C4" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C5" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C5" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C5" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C6" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C6" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C6" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../UT_HS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P4-5.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P4-4.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P4-3.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P4-2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P4-1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C6" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C6" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C6" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C6" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C2" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C2" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C2" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C3" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C3" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C3" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C4" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C4" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C4" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C5" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C5" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C5" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P3-1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P3-2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P3-3.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P3-4.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[6].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P3-5.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C1" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C6" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C6" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C6" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C6" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C2" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C3" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C3" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C3" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C4" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C4" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C4" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C5" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C5" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C5" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P2-5.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P2-4.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P2-3.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P2-2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P2-1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C1" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C1" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C1" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C1" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C7" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C7" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C7" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C7" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C2" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C2" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C2" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C3" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C3" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C3" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C4" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C4" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C4" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C5" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C5" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C5" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C6" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C6" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C6" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M3.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M4.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M5.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M6.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C1" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C9" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C9" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C9" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C9" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C2" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C2" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C2" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C3" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C3" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C3" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C4" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C4" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C4" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C5" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C5" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C5" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C6" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C6" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C6" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C7" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C7" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C7" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C8" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C8" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C8" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M8.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[9].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M7.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[9].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P1-5.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[9].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P1-4.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[9].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P1-3.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[9].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P1-2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[9].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P1-1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[9].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "../UT_HS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,71.0986,40.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1A3", + "type": "text", + "visibility": "hidden", + "x": "56.279px", + "y": "40.533px" + }, + { + "d": "M66.007,41.994l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M236.257,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,43.472l-0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,52.731l172.507,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "C1", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,791.099,40.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1B3", + "type": "text", + "visibility": "hidden", + "x": "776.279px", + "y": "40.533px" + }, + { + "d": "M786.007,41.994l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M783.75,43.472l0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M611.25,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M611.25,52.731l172.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "C6", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M326.257,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M251.25,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M251.25,52.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "C2", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M416.257,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M341.25,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M341.25,52.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "C3", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M506.257,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M431.25,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M431.25,52.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "C4", + "type": "group" + }, + { + "elements": [ + { + "d": "M596.257,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M521.25,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M521.25,52.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "C5", + "type": "group" + }, + { + "elements": [ + { + "d": "M243.75,123.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M333.75,123.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M423.75,123.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M513.75,123.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M603.75,123.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "OUTS", + "type": "group", + "visibility": "visible" + } + ], + "id": "DS-1A3-1B3-01", + "name": "DS-1A3-1B3-01", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,71.0986,190.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1A3", + "type": "text", + "visibility": "hidden", + "x": "56.279px", + "y": "190.533px" + }, + { + "d": "M66.007,191.994l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M191.257,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,193.472l-0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,202.731l127.507,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "C1", + "name": "P4-C1", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,791.099,190.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1B3", + "type": "text", + "visibility": "hidden", + "x": "776.279px", + "y": "190.533px" + }, + { + "d": "M786.007,191.994l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M783.75,193.472l0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M656.25,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M656.25,202.731l127.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "SRC021", + "name": "SRC021", + "type": "group" + }, + { + "elements": [ + { + "d": "M281.257,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M206.25,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M206.25,202.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "TX011", + "name": "TX011", + "type": "group" + }, + { + "elements": [ + { + "d": "M371.257,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M296.25,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M296.25,202.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "TX021", + "name": "TX021", + "type": "group" + }, + { + "elements": [ + { + "d": "M461.257,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M386.25,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M386.25,202.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "TX031", + "name": "TX031", + "type": "group" + }, + { + "elements": [ + { + "d": "M551.257,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M476.25,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M476.25,202.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "TX041", + "name": "TX041", + "type": "group" + }, + { + "elements": [ + { + "d": "M641.257,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M566.25,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M566.25,202.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "TX05", + "name": "TX05", + "type": "group" + }, + { + "elements": [ + { + "d": "M648.75,273.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M558.75,273.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M468.75,273.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M378.75,273.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M288.75,273.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M198.75,273.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "OUT1", + "name": "OUT1", + "type": "group" + } + ], + "id": "DS-1A3-1B3-02", + "name": "DS-1A3-1B3-02", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,71.0986,340.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1A2", + "type": "text", + "visibility": "hidden", + "x": "56.279px", + "y": "340.533px" + }, + { + "d": "M66.007,341.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M236.257,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,343.009l-0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,352.269l172.507,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC012", + "name": "SRC012", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,791.099,340.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1B2", + "type": "text", + "visibility": "hidden", + "x": "776.279px", + "y": "340.533px" + }, + { + "d": "M786.007,341.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M783.75,343.009l0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M611.25,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M611.25,352.269l172.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC022", + "name": "SRC022", + "type": "group" + }, + { + "elements": [ + { + "d": "M326.257,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M251.25,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M251.25,352.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX012", + "name": "TX012", + "type": "group" + }, + { + "elements": [ + { + "d": "M416.257,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M341.25,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M341.25,352.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX022", + "name": "TX022", + "type": "group" + }, + { + "elements": [ + { + "d": "M506.257,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M431.25,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M431.25,352.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX032", + "name": "TX032", + "type": "group" + }, + { + "elements": [ + { + "d": "M596.257,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M521.25,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M521.25,352.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX042", + "name": "TX042", + "type": "group" + }, + { + "elements": [ + { + "d": "M243.75,423.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M333.75,423.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M423.75,423.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M513.75,423.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M603.75,423.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "OUT2", + "name": "OUT2", + "type": "group" + } + ], + "id": "DA-1A2-1B2-01", + "name": "DA-1A2-1B2-01", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,71.0986,490.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1A2", + "type": "text", + "visibility": "hidden", + "x": "56.279px", + "y": "490.533px" + }, + { + "d": "M66.007,491.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M236.257,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,493.009l-0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,502.269l172.507,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC013", + "name": "SRC013", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,791.099,490.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1B2", + "type": "text", + "visibility": "hidden", + "x": "776.279px", + "y": "490.533px" + }, + { + "d": "M786.007,491.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M783.75,493.009l0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M611.25,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M611.25,502.269l172.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC023", + "name": "SRC023", + "type": "group" + }, + { + "elements": [ + { + "d": "M326.257,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M251.25,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M251.25,502.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX013", + "name": "TX013", + "type": "group" + }, + { + "elements": [ + { + "d": "M416.257,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M341.25,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M341.25,502.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX023", + "name": "TX023", + "type": "group" + }, + { + "elements": [ + { + "d": "M506.257,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M431.25,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M431.25,502.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX033", + "name": "TX033", + "type": "group" + }, + { + "elements": [ + { + "d": "M596.257,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M521.25,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M521.25,502.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX043", + "name": "TX043", + "type": "group" + }, + { + "elements": [ + { + "d": "M603.75,573.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M513.75,573.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M423.75,573.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M333.75,573.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M243.75,573.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "OUT3", + "name": "OUT3", + "type": "group" + } + ], + "id": "DA-1A2-1B2-02", + "name": "DA-1A2-1B2-02", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,71.0986,640.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1A1", + "type": "text", + "visibility": "hidden", + "x": "56.279px", + "y": "640.533px" + }, + { + "d": "M66.007,641.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M191.257,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,643.009l-0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,652.269l127.507,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC014", + "name": "SRC014", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,791.099,640.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1B1", + "type": "text", + "visibility": "hidden", + "x": "776.279px", + "y": "640.533px" + }, + { + "d": "M786.007,641.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M783.75,643.009l0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M656.25,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M656.25,652.269l127.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC024", + "name": "SRC024", + "type": "group" + }, + { + "elements": [ + { + "d": "M281.257,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M206.25,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M206.25,652.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX014", + "name": "TX014", + "type": "group" + }, + { + "elements": [ + { + "d": "M371.257,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M296.25,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M296.25,652.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX024", + "name": "TX024", + "type": "group" + }, + { + "elements": [ + { + "d": "M461.257,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M386.25,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M386.25,652.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX034", + "name": "TX034", + "type": "group" + }, + { + "elements": [ + { + "d": "M551.257,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M476.25,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M476.25,652.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX044", + "name": "TX044", + "type": "group" + }, + { + "elements": [ + { + "d": "M641.257,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M566.25,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M566.25,652.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX051", + "name": "TX051", + "type": "group" + }, + { + "elements": [ + { + "d": "M198.75,723.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,723.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M378.75,723.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M468.75,723.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M558.75,723.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M648.75,723.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "OUT4", + "name": "OUT4", + "type": "group" + } + ], + "id": "DS-1A1-1B1-01", + "name": "DS-1A1-1B1-01", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,71.0986,790.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1A1", + "type": "text", + "visibility": "hidden", + "x": "56.279px", + "y": "790.533px" + }, + { + "d": "M66.007,791.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M101.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,793.009l-0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,802.491l37.507,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC015", + "name": "SRC015", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,791.099,790.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1B1", + "type": "text", + "visibility": "hidden", + "x": "776.279px", + "y": "790.533px" + }, + { + "d": "M786.007,791.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M783.75,793.009l0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M746.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M746.25,802.269l37.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC025", + "name": "SRC025", + "type": "group" + }, + { + "elements": [ + { + "d": "M191.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M116.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M116.25,802.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX015", + "name": "TX015", + "type": "group" + }, + { + "elements": [ + { + "d": "M281.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M206.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M206.25,802.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX025", + "name": "TX025", + "type": "group" + }, + { + "elements": [ + { + "d": "M371.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M296.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M296.25,802.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX035", + "name": "TX035", + "type": "group" + }, + { + "elements": [ + { + "d": "M461.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M386.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M386.25,802.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX045", + "name": "TX045", + "type": "group" + }, + { + "elements": [ + { + "d": "M551.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M476.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M476.25,802.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX052", + "name": "TX052", + "type": "group" + }, + { + "elements": [ + { + "d": "M641.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M566.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M566.25,802.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX06", + "name": "TX06", + "type": "group" + }, + { + "elements": [ + { + "d": "M731.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M656.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M656.25,802.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX07", + "name": "TX07", + "type": "group" + }, + { + "elements": [ + { + "d": "M738.75,873.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M648.75,873.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M558.75,873.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M468.75,873.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M378.75,873.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,873.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M198.75,873.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M108.75,873.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "OUT5", + "name": "OUT5", + "type": "group" + } + ], + "id": "DS-1A1-1B1-02", + "name": "DS-1A1-1B1-02", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 848 968" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "A": { + "IN": false, + "InputPower_A": 1, + "OUT": 0 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P5-2" + }, + "position": { + "height": 111, + "width": 86, + "x": 415, + "y": 85 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": false, + "InputPower_A": 1, + "OUT": 0 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P5-3" + }, + "position": { + "height": 111, + "width": 86, + "x": 534.5, + "y": 85 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": false, + "InputPower_A": 1, + "OUT": 0 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P5-4" + }, + "position": { + "height": 111, + "width": 86, + "x": 655, + "y": 85 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-4", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": false, + "InputPower_A": 1, + "OUT": 0 + }, + "B": { + "IN": 1, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P5-5" + }, + "position": { + "height": 111, + "width": 86, + "x": 775, + "y": 85 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": 1, + "InputPower_A": 1, + "OUT": 0 + }, + "B": { + "IN": true, + "InputPower_B": 0, + "OUT": 0 + }, + "Bus": false + }, + "meta": { + "name": "UT_P5-1" + }, + "position": { + "height": 111, + "width": 86, + "x": 295, + "y": 85 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": 1, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P4-1" + }, + "position": { + "height": 111, + "width": 86, + "x": 235, + "y": 285 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P4-2" + }, + "position": { + "height": 111, + "width": 86, + "x": 355, + "y": 285 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P4-3" + }, + "position": { + "height": 111, + "width": 86, + "x": 474.5, + "y": 285 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P4-4" + }, + "position": { + "height": 111, + "width": 86, + "x": 595, + "y": 285 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-4", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": true, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P4-5" + }, + "position": { + "height": 111, + "width": 86, + "x": 715, + "y": 285 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": 1, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_HS2" + }, + "position": { + "height": 111, + "width": 86, + "x": 835, + "y": 285 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": {}, + "B": {} + }, + "meta": { + "name": "UT_P3-1" + }, + "position": { + "height": 111, + "width": 86, + "x": 295, + "y": 485 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": {}, + "B": {} + }, + "meta": { + "name": "UT_P3-2" + }, + "position": { + "height": 111, + "width": 86, + "x": 415, + "y": 485 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": {}, + "B": {} + }, + "meta": { + "name": "UT_P3-3" + }, + "position": { + "height": 111, + "width": 86, + "x": 534.5, + "y": 485 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": {}, + "B": {} + }, + "meta": { + "name": "UT_P3-4" + }, + "position": { + "height": 111, + "width": 86, + "x": 655, + "y": 485 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-4", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": {}, + "B": {} + }, + "meta": { + "name": "UT_P3-5" + }, + "position": { + "height": 111, + "width": 86, + "x": 775, + "y": 485 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": 1, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P2-1" + }, + "position": { + "height": 111, + "width": 86, + "x": 295, + "y": 684 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P2-2" + }, + "position": { + "height": 111, + "width": 86, + "x": 415, + "y": 684 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P2-3" + }, + "position": { + "height": 111, + "width": 86, + "x": 534.5, + "y": 684 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P2-4" + }, + "position": { + "height": 111, + "width": 86, + "x": 655, + "y": 684 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-4", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": 1, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P2-5" + }, + "position": { + "height": 111, + "width": 86, + "x": 775, + "y": 684 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": 1, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_M1" + }, + "position": { + "height": 111, + "width": 86, + "x": 235, + "y": 885 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_M2" + }, + "position": { + "height": 111, + "width": 86, + "x": 355, + "y": 885 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_M3" + }, + "position": { + "height": 111, + "width": 86, + "x": 474.5, + "y": 885 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_M4" + }, + "position": { + "height": 111, + "width": 86, + "x": 595, + "y": 885 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M4", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": false, + "InputPower_B": false, + "OUT": 0 + }, + "Bus": true + }, + "meta": { + "name": "UT_M5" + }, + "position": { + "height": 111, + "width": 86, + "x": 715, + "y": 885 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": false, + "InputPower_A": 0, + "OUT": 0 + }, + "B": { + "IN": 0, + "InputPower_B": 0, + "OUT": 0 + }, + "Bus": false + }, + "meta": { + "name": "UT_M6" + }, + "position": { + "height": 111, + "width": 86, + "x": 834.5, + "y": 885 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M6", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": 1, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_HS1" + }, + "position": { + "height": 111, + "width": 86, + "x": 115.25, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P1-1" + }, + "position": { + "height": 111, + "width": 86, + "x": 235.25, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P1-2" + }, + "position": { + "height": 111, + "width": 86, + "x": 354.75, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P1-3" + }, + "position": { + "height": 111, + "width": 86, + "x": 475.25, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": true, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P1-4" + }, + "position": { + "height": 111, + "width": 86, + "x": 595.25, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-4", + "textColor": "var(--olGray)" + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": true, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P1-5" + }, + "position": { + "height": 111, + "width": 86, + "x": 714.75, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": true, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_M7" + }, + "position": { + "height": 111, + "width": 86, + "x": 834.25, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M7", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": 1, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_M8" + }, + "position": { + "height": 111, + "width": 86, + "x": 953.75, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M8", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 42, + "width": 127, + "x": 26, + "y": 1013 + }, + "props": { + "text": "DS-1A1 Way 04", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 42, + "width": 127, + "x": 26, + "y": 813 + }, + "props": { + "text": "DS-1A1 Way 03", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 42, + "width": 127, + "x": 26, + "y": 613 + }, + "props": { + "text": "DS-1A2 Way 04", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 42, + "width": 127, + "x": 26, + "y": 413 + }, + "props": { + "text": "DS-1A2 Way 03", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 42, + "width": 127, + "x": 26, + "y": 214 + }, + "props": { + "text": "DS-1A3 Way 04", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 42, + "width": 127, + "x": 26, + "y": 14 + }, + "props": { + "text": "DS-1A3 Way 03", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 42, + "width": 127, + "x": 983, + "y": 1013 + }, + "props": { + "text": "DS-1B1 Way 04", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_7" + }, + "position": { + "height": 42, + "width": 127, + "x": 983, + "y": 813 + }, + "props": { + "text": "DS-1B1 Way 03", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_8" + }, + "position": { + "height": 42, + "width": 127, + "x": 983, + "y": 613 + }, + "props": { + "text": "DS-1B2 Way 04", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_9" + }, + "position": { + "height": 42, + "width": 127, + "x": 983, + "y": 413 + }, + "props": { + "text": "DS-1B2 Way 03", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_10" + }, + "position": { + "height": 42, + "width": 127, + "x": 983, + "y": 214 + }, + "props": { + "text": "DS-1B3 Way 04", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_11" + }, + "position": { + "height": 42, + "width": 127, + "x": 983, + "y": 14 + }, + "props": { + "text": "DS-1B3 Way 03", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -78, + "y": 240 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2c2a29f84a0278fa97ecfc1fbd3be15042537d9b539cb7a5239e93a192aa4b39 b/Gateways/FE/projects/.resources/2c2a29f84a0278fa97ecfc1fbd3be15042537d9b539cb7a5239e93a192aa4b39 new file mode 100644 index 0000000..9696d23 --- /dev/null +++ b/Gateways/FE/projects/.resources/2c2a29f84a0278fa97ecfc1fbd3be15042537d9b539cb7a5239e93a192aa4b39 @@ -0,0 +1,266 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "", + "displaySelection": 0, + "format": "0.##0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 3\n\n" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2c5166a5c8ef65639104cb34385de567bfdfee9fc94ff2b4951afe02d320fb4d b/Gateways/FE/projects/.resources/2c5166a5c8ef65639104cb34385de567bfdfee9fc94ff2b4951afe02d320fb4d new file mode 100644 index 0000000..4c14aff Binary files /dev/null and b/Gateways/FE/projects/.resources/2c5166a5c8ef65639104cb34385de567bfdfee9fc94ff2b4951afe02d320fb4d differ diff --git a/Gateways/FE/projects/.resources/2cd0dbafb1648b9f3ef360d963fcf7934f7adf154cfb863386b72d5df6f08de7 b/Gateways/FE/projects/.resources/2cd0dbafb1648b9f3ef360d963fcf7934f7adf154cfb863386b72d5df6f08de7 new file mode 100644 index 0000000..9e4e0af --- /dev/null +++ b/Gateways/FE/projects/.resources/2cd0dbafb1648b9f3ef360d963fcf7934f7adf154cfb863386b72d5df6f08de7 @@ -0,0 +1,81 @@ +import pprint, time +Logger = system.util.getLogger("alarm.summary") +provider = "[default]" + +def initAlarmSummaries(): + """ This function will reset all the alarm summary udt's in the system + + """ + allActiveAlarmsTag = [] + newValues = [] + for t in system.tag.browse(provider, {"tagType":"UdtInstance", "typeId": "AlarmSummary", "recursive":True}): + allActiveAlarmsTag.append(t["fullPath"].toString() +"/ActiveAlarms") + newValues.append({}) + + system.tag.writeAsync(allActiveAlarmsTag, newValues) + +def updateAlarmCount(srcPath, priority, state): + pass + + +def calcMaxPriority(levelPath): + """ Pass in the path level to determine the max priority and return the value + levelPath: string of the object level path without the /AlarmSummary/ActiveAlarms + """ + aggAlarmStatus = system.tag.readBlocking([levelPath+"/AlarmSummary/ActiveAlarms"])[0].value.toDict() + + return determinePriority(aggAlarmStatus) + +def determinePriority(tagValue): + """ Use this method to figure out the highest priority level of a tag. Useful with transforms from front-end + Args: + tagValue: dict/document of the expected structure of {srcPath:priority} + Returns: + maxState: int -1 for none, 0-Diag, 1-Low, 2- Med, 3- High, 4-Critical + """ + maxState = -1 + for k, v in tagValue.iteritems(): + maxState = v if v > maxState else maxState + + return maxState + + + +def syncAlarms(): + """ + Timer based function to update all of the aggregate alarm tags. + + """ + sublog = Logger.createSubLogger("syncAlarms") + start = time.time() + levelAlarmSummary = {} #{"alarmPath":[{srcAlarm:priority}] + for alm in system.alarm.queryStatus(priority=[0,1,2,3,4],state=['ActiveUnacked','ActiveAcked']): + srcPath = alm.getSource().toString() + mainTagPath = srcPath.split("/tag:")[1].split(":/alm")[0] + priorityVal = alm.getPriority().intValue + + pathLevelsList = mainTagPath.split("/") + + # Because alarms can exist outside of the /Alarms folder in the UDT, we will account for this + almOffset = -1 + if "Alarms" not in pathLevelsList: + almOffset= 0 + + for i in range(1, len(pathLevelsList) + almOffset): + path = provider+"/".join(pathLevelsList[:i])+"/AlarmSummary/ActiveAlarms" + if path not in levelAlarmSummary.keys(): + levelAlarmSummary[path]= {} + + levelAlarmSummary[path][srcPath] = max([levelAlarmSummary[path].get(srcPath,0), priorityVal ]) + +# pprint.pprint(levelAlarmSummary) + writeTags, writeVals = [], [] + for k, v in levelAlarmSummary.iteritems(): + writeTags.append(str(k)) + writeVals.append(v) + sublog.debug("%s - %s"%(writeTags, writeVals)) + if len(writeTags) == len(writeVals) and len(writeTags) > 0: + system.tag.writeAsync(writeTags, writeVals) + + + sublog.trace("finished in %s sec"%(time.time() - start)) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2cddddbc70090ef48693051985acba1464ad09ba8520a18727caa9fef81da81a b/Gateways/FE/projects/.resources/2cddddbc70090ef48693051985acba1464ad09ba8520a18727caa9fef81da81a new file mode 100644 index 0000000..ba8406f --- /dev/null +++ b/Gateways/FE/projects/.resources/2cddddbc70090ef48693051985acba1464ad09ba8520a18727caa9fef81da81a @@ -0,0 +1,290 @@ +{ + "custom": {}, + "params": { + "group": "A", + "penList": [ + { + "color": "#e55d19", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Amps A" + }, + { + "color": "#e57419", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Amps B" + }, + { + "color": "#e58a19", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Amps C" + }, + { + "color": "#46e519", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Discharge Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Discharge Current" + }, + { + "color": "#30e519", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Float Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Float Current" + }, + { + "color": "#19e519", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch JAR Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch JAR Current" + }, + { + "color": "#19e546", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Min_Max Battery Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Min_Max Battery Current" + }, + { + "color": "#19e5a1", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Amps A" + }, + { + "color": "#19e5b8", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Amps B" + }, + { + "color": "#19e5ce", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Amps C" + }, + { + "color": "#3019e5", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Amps A" + }, + { + "color": "#4619e5", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Amps B" + }, + { + "color": "#5d19e5", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Amps C" + }, + { + "color": "#ce19e5", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Neutral Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Neutral Current" + } + ] + }, + "propConfig": { + "params.group": { + "paramDirection": "input", + "persistent": true + }, + "params.penList": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "12px", + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.group" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-100", + "fontSize": "13px", + "fontWeight": "bold", + "paddingLeft": "10px" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Pen List" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.instances": { + "binding": { + "config": { + "struct": { + "groupName": "{parent.custom.groupName}", + "groupNum": "{parent.custom.groupNum}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tkW_tags \u003d system.tag.browse(value[\u0027tagPath\u0027], {\u0027name\u0027:\u0027*kW*\u0027, \u0027tagType\u0027:\u0027AtomicTag\u0027})\n\tkVA_tags \u003d system.tag.browse(value[\u0027tagPath\u0027], {\u0027name\u0027:\u0027*kVA*\u0027, \u0027tagType\u0027:\u0027AtomicTag\u0027})\n\ttags \u003d list(kW_tags) + list(kVA_tags)\n\toutput \u003d []\n\tfor i, tag in enumerate(tags):\n\t\tinstance \u003d {\n\t\t\t\"color\": utils.misc.getHexColorFromInt((value[\u0027groupNum\u0027] * 10) + i),\n\t\t\t\"enabled\": False,\n\t\t\t\"group\": value[\u0027groupName\u0027],\n\t\t\t\"instancePosition\": {},\n\t\t\t\"instanceStyle\": {\n\t\t\t\"classes\": \"\"\n\t\t\t},\n\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\"path\": tag[\u0027fullPath\u0027]\n\t\t}\n\t\toutput.append(instance)\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.instances": { + "binding": { + "config": { + "path": "view.params.penList" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen", + "style": { + "marginLeft": "10px", + "marginTop": "5px", + "overflow": "hidden" + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "custom": { + "groupName": "Power", + "groupNum": 1 + }, + "meta": { + "name": "Pens Group 1" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "paddingBottom": "8px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2d03ad7b6d78c1beca66f7f4fd6046c3dc83534ab95e70e86deaa2a957a63404 b/Gateways/FE/projects/.resources/2d03ad7b6d78c1beca66f7f4fd6046c3dc83534ab95e70e86deaa2a957a63404 new file mode 100644 index 0000000..15d0ae4 Binary files /dev/null and b/Gateways/FE/projects/.resources/2d03ad7b6d78c1beca66f7f4fd6046c3dc83534ab95e70e86deaa2a957a63404 differ diff --git a/Gateways/FE/projects/.resources/2d143841ce026f68c6db0a865c684408d449f9327695229a9d22585498f6f893 b/Gateways/FE/projects/.resources/2d143841ce026f68c6db0a865c684408d449f9327695229a9d22585498f6f893 new file mode 100644 index 0000000..24a79ca Binary files /dev/null and b/Gateways/FE/projects/.resources/2d143841ce026f68c6db0a865c684408d449f9327695229a9d22585498f6f893 differ diff --git a/Gateways/FE/projects/.resources/2e0113e4a55c4fd33999ceb9de0afa67c8e07ebea9b1b61fb443c1f3eeb913c0 b/Gateways/FE/projects/.resources/2e0113e4a55c4fd33999ceb9de0afa67c8e07ebea9b1b61fb443c1f3eeb913c0 new file mode 100644 index 0000000..fdd9eba --- /dev/null +++ b/Gateways/FE/projects/.resources/2e0113e4a55c4fd33999ceb9de0afa67c8e07ebea9b1b61fb443c1f3eeb913c0 @@ -0,0 +1,2766 @@ +{ + "custom": { + "DH": 3, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 4, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P3.4", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "custom.UT_Energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-4/Data/isEnergized" + }, + "type": "tag" + } + }, + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "this.custom.UT_Energized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 0, + "breaker11": 0, + "breaker12": 0, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P3.4", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P3.4", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1158/SATB1_ER1158_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2e05ef43753e34e3c77aa6c83cb8178e614b77045111b3a8a9b34b420772bae8 b/Gateways/FE/projects/.resources/2e05ef43753e34e3c77aa6c83cb8178e614b77045111b3a8a9b34b420772bae8 new file mode 100644 index 0000000..e1e61c5 --- /dev/null +++ b/Gateways/FE/projects/.resources/2e05ef43753e34e3c77aa6c83cb8178e614b77045111b3a8a9b34b420772bae8 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SATB1_P2_1_ER1248_CRAH_01" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947747922 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947747922 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2e0e8814d2f2ba6a3cc6517750ff4640aab8768e984f5d92e14d77a1d5648c57 b/Gateways/FE/projects/.resources/2e0e8814d2f2ba6a3cc6517750ff4640aab8768e984f5d92e14d77a1d5648c57 new file mode 100644 index 0000000..3d5638e --- /dev/null +++ b/Gateways/FE/projects/.resources/2e0e8814d2f2ba6a3cc6517750ff4640aab8768e984f5d92e14d77a1d5648c57 @@ -0,0 +1,5682 @@ +{ + "custom": { + "Available": [ + "SATB1_RF_DOAS01", + "SATB1_RF_DOAS02", + "SATB1_RF_DOAS03" + ], + "ColorHandler": { + "Wall": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "DOAS01": "#BAEDFF", + "DOAS02": "#BAEDFF", + "DOAS03": "#BAEDFF" + }, + "selected": "SATB1_4" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tshortName \u003d room.split(\"_\")\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\tsroom \u003d shortName[2]\n\t\toutput[sroom] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "custom": { + "data": "value" + }, + "meta": { + "name": "First Floor" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[0].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[19].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[20].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[21].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[22].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[23].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[24].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[25].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[26].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[27].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[28].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[29].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[30].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[31].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[32].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[33].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[34].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[35].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[36].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[37].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[38].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[39].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[40].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1199-STAIR-C", + "name": "_1199-STAIR-C", + "type": "rect", + "width": "203.609", + "x": "1515.85", + "y": "1178.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.399", + "id": "_1197-2-CORRIDOR-H-2", + "name": "_1197-2-CORRIDOR-H-2", + "type": "rect", + "width": 1305, + "x": "183.815", + "y": "1134.85" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "41.332", + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": 752, + "x": 2895, + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 41.332, + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": 1405, + "x": 1490, + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 65.25, + "id": "_1194-1-CORRIDOR-E-4", + "name": "_1194-1-CORRIDOR-E-4", + "type": "rect", + "width": 1255, + "x": 2900, + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 65.25, + "id": "_1194-1-CORRIDOR-E-2", + "name": "_1194-1-CORRIDOR-E-2", + "type": "rect", + "width": 1408, + "x": 1490, + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1198-STAIR-B", + "name": "_1198-STAIR-B", + "type": "rect", + "width": "203.609", + "x": "3802.52", + "y": "1177.63" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "206.163", + "id": "_1183-STAIRS-D", + "name": "_1183-STAIRS-D", + "type": "rect", + "width": "86.751", + "x": "1.377", + "y": "358.889" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": 169.655, + "id": "_1194-1-CORRIDOR-E-3", + "name": "_1194-1-CORRIDOR-E-3", + "type": "rect", + "width": "48.02", + "x": "3607.37", + "y": "1.095" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": 899.5, + "id": "_1193-CORRIDOR-D", + "name": "_1193-CORRIDOR-D", + "type": "rect", + "width": "84", + "x": "2894.63", + "y": "235.5" + }, + { + "d": "M1488.64,1134.85l164.275,0.149l-0.034,-139.5l-83.689,0.074l0,-608.074l83.689,0.105l0,-44.605l-83.689,0l0,-107.649l-80.561,0l0.009,899.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1195-CORRIDOR-F", + "name": "_1195-CORRIDOR-F", + "type": "path" + }, + { + "d": "M183.628,1134.85l63.25,0l0,-792.224l-84.75,-0l0,-107.276l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1196-CORRIDOR-G", + "name": "_1196-CORRIDOR-G", + "type": "path" + }, + { + "d": "M3647.19,1178.01l-0.308,-42.395l-35.25,-0l0,-428.611l65,-0l0,329.711l163.5,0.433l-0.113,141.356l-192.829,-0.494Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1192-CORRIDOR-C", + "name": "_1192-CORRIDOR-C", + "type": "path" + }, + { + "d": "M4160.13,138.5l0,96.851l68.5,0l0,406.899l73.372,0l-0,-173.99l58.628,-0l0,-38.859l-58.628,-0l-0.372,-141.301l228.25,-0.1l0,-48.75l-222.014,-0l-0,-100.75l-147.736,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1191-CORRIDOR-B", + "name": "_1191-CORRIDOR-B", + "type": "path" + }, + { + "d": "M4478.59,735.5l-118.361,-0l-0.38,-28.5l-748.22,-0l0,-65.105l690.372,0.427l-0,5.178l44.403,0l0,-43.801l74.63,0l0.308,43.801l56.816,-0.335l0.432,88.335Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1190-CORRIDOR-A", + "name": "_1190-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.101", + "id": "_1194-1-CORRIDOR-E-1", + "name": "_1194-1-CORRIDOR-E-1", + "type": "rect", + "width": 1400, + "x": "88.378", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 111.445, + "id": "_1123-STAIR-A", + "name": "_1123-STAIR-A", + "type": "rect", + "width": "58.434", + "x": "4477.3", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 71, + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "288" + } + ], + "id": "Corridors-and-stairs", + "name": "Corridors-and-stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1165-elec", + "name": "_1165-elec", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1164-ER", + "name": "_1164-ER", + "type": "rect", + "width": "232", + "x": "329.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1163-ER", + "name": "_1163-ER", + "type": "rect", + "width": "232", + "x": "561.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1162-ER", + "name": "_1162-ER", + "type": "rect", + "width": "232", + "x": "793.628", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1161-ER", + "name": "_1161-ER", + "type": "rect", + "width": "232", + "x": "1025.63", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1160-ER", + "name": "_1160-ER", + "type": "rect", + "width": "238.155", + "x": "1258.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1159-MEP-ROOM", + "name": "_1159-MEP-ROOM", + "type": "rect", + "width": "239.508", + "x": "1496.28", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1158-ER", + "name": "_1158-ER", + "type": "rect", + "width": "231.337", + "x": "1735.79", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1157ER", + "name": "_1157ER", + "type": "rect", + "width": "233.123", + "x": "1967.13", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1156-ER", + "name": "_1156-ER", + "type": "rect", + "width": "231.803", + "x": "2200.25", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1155-ER", + "name": "_1155-ER", + "type": "rect", + "width": "232.461", + "x": "2432.05", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1151-ELEC", + "name": "_1151-ELEC", + "type": "rect", + "width": "183.5", + "x": "3655.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1150-MECH-POWER", + "name": "_1150-MECH-POWER", + "type": "rect", + "width": "232.348", + "x": "3838.63", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "137.655", + "id": "_1120-MMR1", + "name": "_1120-MMR1", + "type": "rect", + "width": "260.5", + "x": "4160.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1152-TAPE-LIBRARY", + "name": "_1152-TAPE-LIBRARY", + "type": "rect", + "width": "476.566", + "x": "2664.63", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "64.565", + "id": "_1154-SDC-IDF", + "name": "_1154-SDC-IDF", + "type": "rect", + "width": "88.333", + "x": "3388.41", + "y": "105.935" + }, + { + "d": "M3141.63,170.25l0,-169.947l464.001,0.042l-0,169.905l-128.69,0l-0,-64.25l-89.212,-0l0.338,64.25l-246.437,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1153-SD-STORAGE", + "name": "_1153-SD-STORAGE", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.155", + "id": "_1149-MDF", + "name": "_1149-MDF", + "type": "rect", + "width": "89.5", + "x": "4070.63", + "y": "1.095" + } + ], + "id": "ELEC---MECH", + "name": "ELEC---MECH", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": 0.5 + }, + "height": "51.46", + "id": "_1185-ELEC", + "name": "_1185-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "458.859" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1184-POE", + "name": "_1184-POE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "109.021", + "id": "_1186-FIRE-PLBG", + "name": "_1186-FIRE-PLBG", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "508.227" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.5", + "id": "_1187-MDF-2", + "name": "_1187-MDF-2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "407.5", + "id": "_1188-MMR2", + "name": "_1188-MMR2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "715.5" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "55.25", + "id": "_1189-POE-4", + "name": "_1189-POE-4", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "1123" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1171-GALLERY", + "name": "_1171-GALLERY", + "type": "rect", + "width": "1325.44", + "x": "1569.19", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1172-GALLERY", + "name": "_1172-GALLERY", + "type": "rect", + "width": "1241.72", + "x": "1652.91", + "y": "1064" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.182", + "id": "_1174-SDC-IDF", + "name": "_1174-SDC-IDF", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "930" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "542.5", + "id": "_1173-SDC-STORAGE", + "name": "_1173-SDC-STORAGE", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "387.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1170-DATAHALL-3", + "name": "_1170-DATAHALL-3", + "type": "rect", + "width": "1241.75", + "x": "1652.88", + "y": "343" + } + ], + "id": "DH3", + "name": "DH3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1181-GALLERY-", + "name": "_1181-GALLERY-", + "type": "rect", + "width": "1326.41", + "x": "162.215", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1182-GALLERY-", + "name": "_1182-GALLERY-", + "type": "rect", + "width": "1241.72", + "x": "246.911", + "y": "1065.51" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1181-1-DATAHALL-1180-1", + "name": "_1181-1-DATAHALL-1180-1", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "344.795" + } + ], + "id": "DH5", + "name": "DH5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1119-POE1", + "name": "_1119-POE1", + "type": "rect", + "width": "51.764", + "x": "4307.86", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.401", + "id": "_1109-MOT", + "name": "_1109-MOT", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "359" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "77.088", + "id": "_1113-HUDDLE", + "name": "_1113-HUDDLE", + "type": "rect", + "width": "86.707", + "x": "4544.16", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "68.485", + "id": "_1104-RR", + "name": "_1104-RR", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "365.023" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.992", + "id": "_1105-JAN", + "name": "_1105-JAN", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "433.508" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "78.218", + "id": "_1102.3-SOC-OFFICE", + "name": "_1102.3-SOC-OFFICE", + "type": "rect", + "width": "66.118", + "x": "4459.01", + "y": "489.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1126-JAN", + "name": "_1126-JAN", + "type": "rect", + "width": "57", + "x": "4303.13", + "y": "707" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1134.2-AM-OFFICE", + "name": "_1134.2-AM-OFFICE", + "type": "rect", + "width": "65.5", + "x": "4063.63", + "y": "850" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61.387", + "id": "_1136-RR", + "name": "_1136-RR", + "type": "rect", + "width": "81.653", + "x": "4063.63", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.218", + "id": "_1142-POE", + "name": "_1142-POE", + "type": "rect", + "width": "101.369", + "x": "3840.13", + "y": "1123.79" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.5-SHRED-ROOM", + "name": "_1133.5-SHRED-ROOM", + "type": "rect", + "width": "125.5", + "x": "3938.13", + "y": "932.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.6-HIGH-VALUE-STORAGE", + "name": "_1133.6-HIGH-VALUE-STORAGE", + "type": "rect", + "width": "261.5", + "x": "3676.63", + "y": "932.697" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "59.838", + "id": "_1133.2-CABLE-STORAGE", + "name": "_1133.2-CABLE-STORAGE", + "type": "rect", + "width": "163.5", + "x": "3676.63", + "y": "708.197" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "110.035", + "id": "_1135-WAITING", + "name": "_1135-WAITING", + "type": "rect", + "width": "62.384", + "x": "4145.28", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "119.5", + "id": "_1133.4-SECURE-STORAGE", + "name": "_1133.4-SECURE-STORAGE", + "type": "rect", + "width": "223.5", + "x": "3840.13", + "y": "813" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1128-ELEC", + "name": "_1128-ELEC", + "type": "rect", + "width": "57", + "x": "4302", + "y": "761.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1125-MECH", + "name": "_1125-MECH", + "type": "rect", + "width": "63.811", + "x": "4359", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1124-PASS", + "name": "_1124-PASS", + "type": "rect", + "width": "54.491", + "x": "4422.81", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1122-SDC-IDF", + "name": "_1122-SDC-IDF", + "type": "rect", + "width": "72.661", + "x": "4535.43", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1130-FREIGHT", + "name": "_1130-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4433.86", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1131-FREIGHT", + "name": "_1131-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4535.36", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1132-MECH", + "name": "_1132-MECH", + "type": "rect", + "width": "138.911", + "x": "4636.63", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61", + "id": "_1100.1-VESTIBULE", + "name": "_1100.1-VESTIBULE", + "type": "rect", + "width": "41.5", + "x": "4767.63", + "y": "499" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "130.798", + "id": "_1103-EXECUTIVE-CONFERENCE", + "name": "_1103-EXECUTIVE-CONFERENCE", + "type": "rect", + "width": "145.497", + "x": "4630.13", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1114-RECORDS", + "name": "_1114-RECORDS", + "type": "rect", + "width": "61", + "x": "4359.63", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1117-OFFICE", + "name": "_1117-OFFICE", + "type": "rect", + "width": "64.5", + "x": "4530.13", + "y": "2.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "237.952", + "id": "_1116-CONFERENCE", + "name": "_1116-CONFERENCE", + "type": "rect", + "width": "109.5", + "x": "4420.63", + "y": "1.298" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1118-OFFICE", + "name": "_1118-OFFICE", + "type": "rect", + "width": "65.274", + "x": "4594.63", + "y": "2.5" + }, + { + "d": "M4775.02,288l0.609,-285l-115.1,-2.655l-0.626,84.155l-130.024,-0.441l0,203.941l245.141,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1110-STREAM-OFFICE", + "name": "_1110-STREAM-OFFICE", + "type": "path" + }, + { + "d": "M4525.13,489.5l-0.162,157.719l33.495,0.137l0,-40.856l41.98,0l-0.008,11.157l52.695,0.479l-1.174,-128.636l-126.826,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1102.1-SOC", + "name": "_1102.1-SOC", + "type": "path" + }, + { + "d": "M4558.46,606.223l0,41.133l-80.452,-0l0.693,57.633l329.676,-0l0,-86.979l-207.164,0l0,-11.51l-42.753,-0.277Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1101-SECURE-LOBBY", + "name": "_1101-SECURE-LOBBY", + "type": "path" + }, + { + "d": "M4607.63,705l0,110.159l167.782,-0.651l0.693,-26.905l32.275,-0.433l0,-82.181l-200.75,0.011Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1121-CONFERENCE", + "name": "_1121-CONFERENCE", + "type": "path" + }, + { + "d": "M4207.55,706.868l0.073,379.082l23.565,0.081l75.845,39.795l19.744,-35.334l77.574,39.904l25.252,-44.509l94.628,0.083l76.334,39.209l19.102,-34.955l75.254,39.426l80.59,-0.024l-0,-197.372l-341.468,-0l-0,-115.82l-131.16,-1.275l0,-108.159l-95.333,-0.132Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1127-LOADING-DOCK", + "name": "_1127-LOADING-DOCK", + "type": "path" + }, + { + "d": "M4598.13,364.5l0,125l55.275,0l-0.13,128.5l155.105,0.01l0,-58.01l-40.75,0l0,-61.698l40.283,-0.037l-0,-79.467l-177.783,-0l0,-54.298l-32,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1100.0-LOBBY", + "name": "_1100.0-LOBBY", + "type": "path" + }, + { + "d": "M3676.63,932l0,-163.965l163.5,0l0,-61.035l367.5,-0l0,143l-144,-0l0,-37l-223.5,-0l0,119.5l-163.5,-0.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1133.1-RECEIVING", + "name": "_1133.1-RECEIVING", + "type": "path" + }, + { + "d": "M4457.98,468l0.296,179.18l-37.243,0.32l-0,-43.801l-38.163,0l0.111,-135.699l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1107-MMR", + "name": "_1107-MMR", + "type": "path" + }, + { + "d": "M4542.91,288l0.721,201.141l-84.617,0.359l-0,-21.24l-98.383,-0l-0.136,-180.26l182.415,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1111-BREAK-ROOM", + "name": "_1111-BREAK-ROOM", + "type": "path" + }, + { + "d": "M4302,468.26l2.333,179.853l42.045,-0.613l0,-42.868l37.34,-0l-0.117,-135.7l-81.601,-0.672Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1108-WRR", + "name": "_1108-WRR", + "type": "path" + }, + { + "d": "M4144.93,1037.5l1.203,140.499l-204.5,0.501l0,-52.454l-101.5,-1.355l0.451,-87.191l304.346,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1141-PLBG-FP", + "name": "_1141-PLBG-FP", + "type": "path" + }, + { + "d": "M4207.55,975.505l-143.66,0.495l-0.257,-44l65.5,-0l0,-82l78.417,0.185l0,125.32Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1134.1-ASSET-MANAGEMENT", + "name": "_1134.1-ASSET-MANAGEMENT", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "79.448", + "id": "_1102.2-SOC-STORAGE", + "name": "_1102.2-SOC-STORAGE", + "type": "rect", + "width": "65.955", + "x": "4459.01", + "y": "567.718" + } + ], + "id": "Stream-Offices", + "name": "Stream-Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "133.25", + "id": "_1138.2-SER", + "name": "_1138.2-SER", + "type": "rect", + "width": "79.5", + "x": "3937.13", + "y": "509" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "88.512", + "id": "_1138.3-FCR", + "name": "_1138.3-FCR", + "type": "rect", + "width": "73", + "x": "3864.13", + "y": "553.738" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.649", + "id": "_1139-TENANT-STORAGE", + "name": "_1139-TENANT-STORAGE", + "type": "rect", + "width": "389.821", + "x": "3222.13", + "y": "235.351" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "406.899", + "id": "_1137-OPS-STORAGE", + "name": "_1137-OPS-STORAGE", + "type": "rect", + "width": "163.5", + "x": "4065.13", + "y": "235.351" + }, + { + "d": "M3611.63,235.5l0,407l252.5,-0.25l0,-88.75l73,-0l0.198,-44.292l79.459,0l0.308,133.042l48.035,0l-0.309,-407.076l-453.191,0.326Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1138.1-TENANT-OFFICE", + "name": "_1138.1-TENANT-OFFICE", + "type": "path" + } + ], + "id": "Tenant-Offices", + "name": "Tenant-Offices", + "type": "group" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1140-MECH---PUMP", + "name": "_1140-MECH---PUMP", + "type": "rect", + "width": "243.5", + "x": "2978.63", + "y": "235.5" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,101.188l-0,-21.233l-40.298,-0l-0,21.233", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1544.41,1178.25l2262.71,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3828.13,1178l315.66,0.25l-0,-92.3l8.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4173.51,1086l57.373,0l76.749,40l19.362,-35.865l77.638,41.156l24.903,-45.608l94.597,0.035l76,40.135l19.39,-36.353l75.428,40l80.682,0l-0.395,-342.218l33.145,0l0,-250.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1035.5l0,94.842l0,-5.357l101.5,0.015l0,53.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1151.75l0,26.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4207.86,1085.95l-0.243,-84.421", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4145.28,1085.95l-0,-84.421l-0,35.614l-468.653,0.357l0,-330.5l294.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4027.95,707l179.674,-0l0,19.825l0,-19.825l127.139,-0l-31.655,-0l-0,59.272l-0,-4.626l56.736,-0l-0,-54.646l-0,109.434", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302.88,786.5l0,29.934l472.628,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4359.85,735.573l33.572,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4413.87,735.573l22.597,-0l-13.636,-0l0.293,80.861", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4477.13,816.434l-0,-80.861l-12.996,-0.323l12.996,0.323l-0,-30.584l7.264,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4504.26,704.989l31.169,-0l-0,111.445", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4608.09,816.434l-0,-111.445l-42.464,0.011", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4653.05,705l110.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4434.04,816.434l-0,115.82l9.934,-0.195", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4535.43,816.434l-0,115.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.63,816.434l0,116.066", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4661.9,932.5l113.729,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,932l185.781,-0l-22.281,-0l0,-119l39.813,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3918.12,813l145.506,-0l0,224.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4020.13,932l108.575,-0l0.156,-55.929", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.63,849.89l70.501,0.36", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.57,850.25l53.056,0l0,25.821l0,-92.073", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,768.035l163.5,0l0,-12.467", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3888.63,932.25l93,0l-43.433,0l-0.067,105.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.67,975.52l144.348,0.195l-0.195,-80.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3647.19,1178.71l0,-14.854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3646.88,1143l0,-7.389l-399.644,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,1135.61l0,-441.611", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3265.63,235.5l755.122,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,235.5l0,419.979l0,-13.175l299.892,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3962.63,642.25l59.351,0l-4.987,0l-0,-133.042l-79.666,0l-0,133.042", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3937.13,553.5l-73,-0l0,88.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.63,642.25l8,0l0,-362.294", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4228.63,241.158l0,-5.685l-168.451,-0.299l4.887,0.008l0,407.068l-23.196,0l140.671,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4160.13,235.351l0,-12.621", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3216.3,1135l10.348,0l-5.018,0l-0,-899.649l5.477,0l-23.327,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3165.48,235.351l-186.856,0l0,899.649l218.001,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4775.02,288l-148.777,-0l4.19,-0l-0.067,130.798l5.052,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4675.13,418.798l56.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4586.88,288l-48.457,-0l5.207,-0l0,201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,365.023l86.5,0.065", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,433.38l54.476,-0l0.16,8.138l0,-52.018", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4598.26,461.785l-0.136,27.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4558.88,622.5l0,-30.591l0,14.936l41.643,0.079l-0.079,10.901l66.663,-0l-13.916,-0l0,-128.325l-194.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4420.88,637l0,10.165l38.133,0l-0,-178.905l-157.011,-0l-0,179.24l44.325,0l-0,-10.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4346.38,617l0.025,-13.192l37.315,-0.235l-0.377,-135.313", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4421.03,616.625l-0.064,-12.926l-74.566,0.109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,239.25l4.674,-0l-0,-105.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4529.88,94l0,-9.5l20.662,-0l-20.662,-0l0.25,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4615.63,84.5l-25.999,-0l4.999,-0l0,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4656.52,84.25l3.384,0l0,-83.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.01,647.165l99.45,0l0,-7.237", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.13,567.191l65.999,-0.128l0,54.768l0,-62.3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,489l0,53.977", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4808.38,617.85l-44.723,0.16", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4743.13,617.85l-18.093,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4705.63,618.01l-17.935,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4360.63,468.067l0,-180.067l-4.8,-0l9.498,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4336.13,288.1l-34.134,-0l-0,141.301l32.686,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302,359l58.577,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4405.13,288l94.191,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.89,234.699l-0.021,11.078l0.012,-6.277l67.252,0l-15.5,0l0,-101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.86,213.705l-0,-75.205l-7.609,0l119.686,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.94,0.345l0,238.853l-5.317,-0.025l71.004,0.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4767.63,539.283l0,20.717l40.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.63,170.632l27.175,-0l-0,13.059l-0,-183.346", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4159.8,138.5l102.161,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-24.506,0l4.341,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3589.63,170.5l16.103,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3551.63,170.5l-138.99,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3476.94,170.5l-0,-64.5l-89.311,-0l0,64.5l5.331,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,50.149", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,508l95.313,-0l0,-5.217l0,10.007", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,5.893l0,-79.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,759.5l0,371.5l0,-7.955l-95.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1039l0,-18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1001l0,-616.527l0,3.027l-83.939,-0l0,37.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,463.614l0,471.386l0,-4.5l83.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,955.5l0,40l83.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1020l0,-635.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "First-Floor", + "name": "First-Floor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMaxYMax", + "stroke": { + "linejoin": "bevel" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS03", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 105, + "width": 123, + "x": 9, + "y": 8 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS02", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 105, + "width": 124, + "x": 134, + "y": 8 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_01_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2e524e5f29952204f5dbfd7454496ebaff1d462a562ed5021c7a9965cfd41d49 b/Gateways/FE/projects/.resources/2e524e5f29952204f5dbfd7454496ebaff1d462a562ed5021c7a9965cfd41d49 new file mode 100644 index 0000000..30cced9 Binary files /dev/null and b/Gateways/FE/projects/.resources/2e524e5f29952204f5dbfd7454496ebaff1d462a562ed5021c7a9965cfd41d49 differ diff --git a/Gateways/FE/projects/.resources/2e7b611c6bd593e4f1d2c9f71a8feda6ade6a1ae8503fbeaf0ddcca5f8c97ff2 b/Gateways/FE/projects/.resources/2e7b611c6bd593e4f1d2c9f71a8feda6ade6a1ae8503fbeaf0ddcca5f8c97ff2 new file mode 100644 index 0000000..8619c60 Binary files /dev/null and b/Gateways/FE/projects/.resources/2e7b611c6bd593e4f1d2c9f71a8feda6ade6a1ae8503fbeaf0ddcca5f8c97ff2 differ diff --git a/Gateways/FE/projects/.resources/2ecb0dc1594c711a265aee85a9435836b9536283d577c2d31978ce04ae8d1e00 b/Gateways/FE/projects/.resources/2ecb0dc1594c711a265aee85a9435836b9536283d577c2d31978ce04ae8d1e00 new file mode 100644 index 0000000..7a0261a Binary files /dev/null and b/Gateways/FE/projects/.resources/2ecb0dc1594c711a265aee85a9435836b9536283d577c2d31978ce04ae8d1e00 differ diff --git a/Gateways/FE/projects/.resources/2ecc5a3b4b987f73056652bfc1dde9424847764a64171fa49c41303e64028aaa b/Gateways/FE/projects/.resources/2ecc5a3b4b987f73056652bfc1dde9424847764a64171fa49c41303e64028aaa new file mode 100644 index 0000000..d4e0aba --- /dev/null +++ b/Gateways/FE/projects/.resources/2ecc5a3b4b987f73056652bfc1dde9424847764a64171fa49c41303e64028aaa @@ -0,0 +1,263 @@ +{ + "custom": { + "Status": 0, + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "current_value": 0 + }, + "params": { + "ID": 3, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "propConfig": { + "custom.Status": { + "binding": { + "config": { + "path": "view.custom.current_value" + }, + "transforms": [ + { + "code": "\tmask \u003d pow(2, self.params.ID)\n\tmasked \u003d value \u0026 mask\n\treturn masked \u003e\u003e self.params.ID", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.current_value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "type": "tag" + }, + "persistent": true + }, + "params.ID": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 86, + "width": 453 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.ID" + }, + "transforms": [ + { + "expression": "\"Freeze Protection Lineup \"+{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tcurrent_value \u003d system.tag.readBlocking(self.view.params.tagPath)[0].value\n\tmask \u003d pow(2, self.view.params.ID)\n\tnew_value \u003d current_value | mask\n\tsystem.tag.writeBlocking(self.view.params.tagPath, new_value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "On_btn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "On" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tcurrent_value \u003d system.tag.readBlocking(self.view.params.tagPath)[0].value\n\tmask \u003d pow(2, self.view.params.ID)\n\tmask \u003d mask ^ 0b1111111111111111\n\tnew_value \u003d current_value \u0026 mask\n\tsystem.tag.writeBlocking(self.view.params.tagPath, new_value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Off_btn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": true, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": true + }, + { + "input": 1, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Off" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "props": { + "style": { + "gap": 10 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "gap": 10, + "paddingBottom": 10, + "paddingLeft": 10, + "paddingRight": 10, + "paddingTop": 10 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2ef3fd7df9cd49fb25adb33245ae6021c33aecfbae69178d66464af1800dcb4c b/Gateways/FE/projects/.resources/2ef3fd7df9cd49fb25adb33245ae6021c33aecfbae69178d66464af1800dcb4c new file mode 100644 index 0000000..d758009 Binary files /dev/null and b/Gateways/FE/projects/.resources/2ef3fd7df9cd49fb25adb33245ae6021c33aecfbae69178d66464af1800dcb4c differ diff --git a/Gateways/FE/projects/.resources/2efbcdafc3511efe3b6a809b59dae29d7a10d7e269182f0eb07fd071cf8263b2 b/Gateways/FE/projects/.resources/2efbcdafc3511efe3b6a809b59dae29d7a10d7e269182f0eb07fd071cf8263b2 new file mode 100644 index 0000000..50335bc --- /dev/null +++ b/Gateways/FE/projects/.resources/2efbcdafc3511efe3b6a809b59dae29d7a10d7e269182f0eb07fd071cf8263b2 @@ -0,0 +1,773 @@ +{ + "custom": { + "trendConfig": { + "allPens": [ + { + "group": "%", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CHW Valve Feedback", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/CHW Valve Feedback" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Comm Percentage", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Comm Percentage" + } + ] + }, + { + "group": "% Full Speed", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "% Full Speed", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Speed Feedback", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Speed Feedback" + } + ] + }, + { + "group": "Hrs", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "Hrs", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Runtime" + } + ] + }, + { + "group": "misc", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CMD_Out", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/CMD_Out" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EquipCounts", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/EquipCounts" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Status Available" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Status Running" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1A", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1A" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1B", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1B" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1C", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1C" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1D", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1D" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1E", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1E" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1F", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1F" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1G", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1G" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1H", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1H" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1I", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1I" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Unit Status", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Unit Status" + } + ] + }, + { + "group": "°F", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "°F", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge Air Temperature A", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Discharge Air Temperature A" + }, + { + "color": "", + "enabled": false, + "engUnit": "°F", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge Air Temperature B", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Discharge Air Temperature B" + }, + { + "color": "", + "enabled": false, + "engUnit": "°F", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge Air Temperature C", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Discharge Air Temperature C" + }, + { + "color": "", + "enabled": false, + "engUnit": "°F", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Return Air Temperature" + }, + { + "color": "", + "enabled": false, + "engUnit": "°F", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Water Temperature", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Return Water Temperature" + }, + { + "color": "", + "enabled": false, + "engUnit": "°F", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Water Temperature", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Water Temperature" + } + ] + } + ] + } + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948508092 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948508092 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2f3190c358ec2e9bcf865d1183729cfafb481341ed6b162d366395b450dadc5f b/Gateways/FE/projects/.resources/2f3190c358ec2e9bcf865d1183729cfafb481341ed6b162d366395b450dadc5f new file mode 100644 index 0000000..6defe13 Binary files /dev/null and b/Gateways/FE/projects/.resources/2f3190c358ec2e9bcf865d1183729cfafb481341ed6b162d366395b450dadc5f differ diff --git a/Gateways/FE/projects/.resources/2f424ba71ed3118fd62e09bd742e971b898ba76f3839ca13df92ae79284d5c30 b/Gateways/FE/projects/.resources/2f424ba71ed3118fd62e09bd742e971b898ba76f3839ca13df92ae79284d5c30 new file mode 100644 index 0000000..fb77dd4 Binary files /dev/null and b/Gateways/FE/projects/.resources/2f424ba71ed3118fd62e09bd742e971b898ba76f3839ca13df92ae79284d5c30 differ diff --git a/Gateways/FE/projects/.resources/2f507fe1115fb47f9ae722009c256107a9cb6449a5908b5ceeebf61dab9f08e0 b/Gateways/FE/projects/.resources/2f507fe1115fb47f9ae722009c256107a9cb6449a5908b5ceeebf61dab9f08e0 new file mode 100644 index 0000000..0cdbc99 --- /dev/null +++ b/Gateways/FE/projects/.resources/2f507fe1115fb47f9ae722009c256107a9cb6449a5908b5ceeebf61dab9f08e0 @@ -0,0 +1,266 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "", + "displaySelection": 0, + "format": "0.##0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2f59a1c60f64148e0d981b7d41ca7994ec5513846c49758e4994ea20616800ef b/Gateways/FE/projects/.resources/2f59a1c60f64148e0d981b7d41ca7994ec5513846c49758e4994ea20616800ef new file mode 100644 index 0000000..9f61db6 --- /dev/null +++ b/Gateways/FE/projects/.resources/2f59a1c60f64148e0d981b7d41ca7994ec5513846c49758e4994ea20616800ef @@ -0,0 +1,56 @@ +def update_alarms_in_udts(root_path): + """This script will update all the alarms under a base path so that the + alarm is enabled based on the depth from the UDT and the other Meta tag bindings are updated accordingly.""" + + def get_relative_meta_path(depth): + if depth <= 1: + return "[.]Meta/" + return "[.]" + "../" * (depth - 1) + "Meta/" + + def update_alarm_config(base_path, path, meta_path): + """This function will take a tag path as an input and update the alarms with depth-based meta references.""" + configs = system.tag.getConfiguration(path, False) + + for config in configs: + if "alarms" in config: + for alarm in config["alarms"]: + print alarm + alarm["Building"] = {"bindType": "Tag", "value": meta_path + "Building"} + alarm["EqName"] = {"bindType": "Tag", "value": meta_path + "EqName"} + alarm["AreaServed"] = {"bindType": "Tag", "value": meta_path + "Area Served"} + alarm["Room"] = {"bindType": "Tag", "value": meta_path + "Room"} + if "enabled" not in alarm or alarm['enabled']==True: + alarm["enabled"] = {"bindType": "Tag", "value": meta_path + "Alarms Enabled"} + else: + # Check to see if the alarm if false. If false, skip edit. + if alarm["enabled"]: + enable_condition = str(alarm["enabled"]["value"]) + alarm["enabled"] = {"bindType": "Expression", "value": "{%sAlarms Enabled} && {%s}" % (meta_path, enable_condition)} + # take the tag path and use in the expression + # u'enabled': {u'bindType': u'Expression', u'value': u'{[.]../Meta/Alarms Enabled} && {[.]Communcation Loss}'} + system.tag.configure(base_path, config, "o") + print "Updated tag: %s" % config["path"] + else: + print "\nERROR: Tag has no alarms: %s\n" % config["path"] + + def recurse_tags(base_path, udt_depth): + """Recursively browse tags and update alarms with respect to UDT depth.""" + tags = system.tag.browse(base_path) + + for tag in tags: + tag_type = str(tag["tagType"]) + has_children = tag["hasChildren"] + full_path = tag["fullPath"] + + if tag_type == "UdtType": + # Entering a new UDT, so depth resets to 1 + recurse_tags(full_path, 1) + elif tag_type == "AtomicTag" and "alarm" in tag["attributes"]: + meta_path = get_relative_meta_path(udt_depth) + update_alarm_config(base_path, full_path, meta_path) + elif has_children: + # Descending deeper from current UDT level + recurse_tags(full_path, udt_depth + 1) + + recurse_tags(root_path, 0) + \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2f95c625ecf654e30709d64f814913b9759c55d83677e8984a59e5f0cf757b3b b/Gateways/FE/projects/.resources/2f95c625ecf654e30709d64f814913b9759c55d83677e8984a59e5f0cf757b3b new file mode 100644 index 0000000..d48f141 Binary files /dev/null and b/Gateways/FE/projects/.resources/2f95c625ecf654e30709d64f814913b9759c55d83677e8984a59e5f0cf757b3b differ diff --git a/Gateways/FE/projects/.resources/2fe8f8caa470e82147b6989b0e738fa6301cd2be5074425528c78ed92fb55ab5 b/Gateways/FE/projects/.resources/2fe8f8caa470e82147b6989b0e738fa6301cd2be5074425528c78ed92fb55ab5 new file mode 100644 index 0000000..4b4306c --- /dev/null +++ b/Gateways/FE/projects/.resources/2fe8f8caa470e82147b6989b0e738fa6301cd2be5074425528c78ed92fb55ab5 @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/2feaacbcddc7a660672259abf68f2842849734dda339b2d3506ff3b7da3049ec b/Gateways/FE/projects/.resources/2feaacbcddc7a660672259abf68f2842849734dda339b2d3506ff3b7da3049ec new file mode 100644 index 0000000..469459c Binary files /dev/null and b/Gateways/FE/projects/.resources/2feaacbcddc7a660672259abf68f2842849734dda339b2d3506ff3b7da3049ec differ diff --git a/Gateways/FE/projects/.resources/2ff64dc26c6475f733e2855b871c0dd7589552c58f6154ae62db3c8b358ff1ff b/Gateways/FE/projects/.resources/2ff64dc26c6475f733e2855b871c0dd7589552c58f6154ae62db3c8b358ff1ff new file mode 100644 index 0000000..8a7d940 Binary files /dev/null and b/Gateways/FE/projects/.resources/2ff64dc26c6475f733e2855b871c0dd7589552c58f6154ae62db3c8b358ff1ff differ diff --git a/Gateways/FE/projects/.resources/2ff8b74eaaa9b2ca0e2cf3ce1f922861e7364ebafe21ae5ea67165394ab8a264 b/Gateways/FE/projects/.resources/2ff8b74eaaa9b2ca0e2cf3ce1f922861e7364ebafe21ae5ea67165394ab8a264 new file mode 100644 index 0000000..fe7e824 Binary files /dev/null and b/Gateways/FE/projects/.resources/2ff8b74eaaa9b2ca0e2cf3ce1f922861e7364ebafe21ae5ea67165394ab8a264 differ diff --git a/Gateways/FE/projects/.resources/3006c0bf62c0b19bee24c60dec711763005963b44572a283fe287982388ad0b6 b/Gateways/FE/projects/.resources/3006c0bf62c0b19bee24c60dec711763005963b44572a283fe287982388ad0b6 new file mode 100644 index 0000000..40577d1 --- /dev/null +++ b/Gateways/FE/projects/.resources/3006c0bf62c0b19bee24c60dec711763005963b44572a283fe287982388ad0b6 @@ -0,0 +1,111 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Off", + "On" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]RM1141/SATB1_RM1141_PMP_02" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3006ca030e79c3606fd6e1d420b161ab862b0e1404a6881a80ca87b33982a4e2 b/Gateways/FE/projects/.resources/3006ca030e79c3606fd6e1d420b161ab862b0e1404a6881a80ca87b33982a4e2 new file mode 100644 index 0000000..2aadfd0 --- /dev/null +++ b/Gateways/FE/projects/.resources/3006ca030e79c3606fd6e1d420b161ab862b0e1404a6881a80ca87b33982a4e2 @@ -0,0 +1,428 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [ + "Return Air Humidity" + ] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "CRAC", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_CRAC1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/300b9eee872d9c4e73e6e52c19ead27a16a3fbd2e098bee012ee54f84fa91420 b/Gateways/FE/projects/.resources/300b9eee872d9c4e73e6e52c19ead27a16a3fbd2e098bee012ee54f84fa91420 new file mode 100644 index 0000000..5343fa7 --- /dev/null +++ b/Gateways/FE/projects/.resources/300b9eee872d9c4e73e6e52c19ead27a16a3fbd2e098bee012ee54f84fa91420 @@ -0,0 +1,1040 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 1000, + "width": 1700 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Gateway |" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/SystemName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontStyle": "italic" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "style": { + "gap": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Role:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Redundancy/Role" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "License:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/LicenseState" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Uptime", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/UptimeSeconds" + }, + "transforms": [ + { + "code": "\tdays \u003d value / 86400\n\thours \u003d value % 86400\n\thours \u003d hours /3600\n\toutput \u003d str(days) + \" days \" + str(hours) + \" hrs\"\n\treturn output", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "props": { + "alignContent": "space-between", + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Session Counts:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Sessions/SessionCount" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_3" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Current Time:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/CurrentDateTime" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_4" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "80%" + }, + "props": { + "direction": "column", + "style": { + "gap": 3, + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "CPU_Gauge" + }, + "position": { + "basis": "75px" + }, + "propConfig": { + "props.arc.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/CPU Usage" + }, + "transforms": [ + { + "code": "\tif value\u003e 0.5:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.arcBackground.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/CPU Usage" + }, + "transforms": [ + { + "code": "\tif value\u003e 0.5:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/CPU Usage" + }, + "type": "tag" + } + } + }, + "props": { + "arc": { + "width": 0 + }, + "arcBackground": {}, + "endAngle": 450, + "label": { + "offsetY": 12, + "visible": false + }, + "maxValue": 1, + "startAngle": 90 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/CPU Usage" + }, + "transforms": [ + { + "expression": "{value}*100\r\n", + "type": "expression" + }, + { + "formatType": "numeric", + "formatValue": "##.##", + "type": "format" + }, + { + "expression": "{value}+\"% cpu\"", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CPU_Gauge_0" + }, + "position": { + "basis": "75px" + }, + "propConfig": { + "custom.memory": { + "binding": { + "config": { + "struct": { + "max": "{this.props.maxValue}", + "value": "{this.props.value}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d float(value[\"value\"]) / float(value[\"max\"])\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.arc.color": { + "binding": { + "config": { + "path": "this.custom.memory" + }, + "transforms": [ + { + "code": "\tif value\u003e 0.33:\n\t\toutput \u003d \"#F1E013\"\n\telif value \u003e0.66:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.arcBackground.color": { + "binding": { + "config": { + "path": "this.custom.memory" + }, + "transforms": [ + { + "code": "\tif value\u003e 0.33:\n\t\toutput \u003d \"#F1E013\"\n\telif value \u003e0.66:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.maxValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": {}, + "tagPath": "[System]Gateway/Performance/Max Memory" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/Memory Usage" + }, + "type": "tag" + } + } + }, + "props": { + "arc": { + "width": 0 + }, + "arcBackground": {}, + "endAngle": 450, + "label": { + "color": "#F1E013", + "offsetY": 12, + "visible": false + }, + "startAngle": 90 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/Memory Utilization" + }, + "transforms": [ + { + "expression": "{value}*100", + "type": "expression" + }, + { + "formatType": "numeric", + "formatValue": "##.##", + "type": "format" + }, + { + "expression": "{value}+ \" %\"", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "85%" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "15%" + }, + "props": { + "style": { + "backgroundColor": "#143663" + }, + "text": "MASTER", + "textStyle": { + "color": "white", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Left Container" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "outlineColor": "#143663", + "outlineStyle": "solid", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Redundancy" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "style": { + "gap": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Redundancy/Connection/IsConnected" + }, + "transforms": [ + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Peer Not Connected" + }, + { + "input": true, + "output": "Peer Connected" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": {}, + "tagPath": "[System]Gateway/Redundancy/Connection/IsConnected" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "red" + }, + { + "input": true, + "output": "green" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Peer Id:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Redundancy/Connection/PeerId" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "props": { + "direction": "column", + "style": { + "gap": 3, + "padding": 5 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "85%" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "15%" + }, + "props": { + "style": { + "backgroundColor": "#143663" + }, + "text": "BACKUP", + "textStyle": { + "color": "white", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Right Container" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "outlineColor": "#143663", + "outlineStyle": "solid", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "justify": "space-evenly", + "style": { + "gap": "var(--space-lg)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "props": { + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO1/Master" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO2/Master" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO3/Master" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO4/Master" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO5/Master" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO6/Master" + } + ], + "justify": "space-evenly", + "path": "Library/Widgets/Network/Wgt_Agent", + "style": { + "gap": "var(--space-lg)", + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "FlexRepeater_0" + }, + "position": { + "grow": 1 + }, + "props": { + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO1/Backup" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO2/Backup" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO3/Backup" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO4/Backup" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO5/Backup" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO6/Backup" + } + ], + "justify": "space-evenly", + "path": "Library/Widgets/Network/Wgt_Agent", + "style": { + "gap": "var(--space-lg)", + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "gap": "var(--space-lg)", + "padding": "var(--space-lg)" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/300d7635de99baa3bacc9f137af63f4ef6eb22f33d64110017ae2137485f737e b/Gateways/FE/projects/.resources/300d7635de99baa3bacc9f137af63f4ef6eb22f33d64110017ae2137485f737e new file mode 100644 index 0000000..92058ad Binary files /dev/null and b/Gateways/FE/projects/.resources/300d7635de99baa3bacc9f137af63f4ef6eb22f33d64110017ae2137485f737e differ diff --git a/Gateways/FE/projects/.resources/3039565cdc33e0fa3b5a87bfbb565d41dce7291b62199ec1b9a9b28d9fd8b8bf b/Gateways/FE/projects/.resources/3039565cdc33e0fa3b5a87bfbb565d41dce7291b62199ec1b9a9b28d9fd8b8bf new file mode 100644 index 0000000..27ffe19 Binary files /dev/null and b/Gateways/FE/projects/.resources/3039565cdc33e0fa3b5a87bfbb565d41dce7291b62199ec1b9a9b28d9fd8b8bf differ diff --git a/Gateways/FE/projects/.resources/3084e10d8af1190129599b789c8b7a29e8872142b0a306ca7a1a22befc4fb4c2 b/Gateways/FE/projects/.resources/3084e10d8af1190129599b789c8b7a29e8872142b0a306ca7a1a22befc4fb4c2 new file mode 100644 index 0000000..1a981de --- /dev/null +++ b/Gateways/FE/projects/.resources/3084e10d8af1190129599b789c8b7a29e8872142b0a306ca7a1a22befc4fb4c2 @@ -0,0 +1,448 @@ +{ + "custom": { + "AlarmSeverity": -1 + }, + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_SPD" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 65, + "width": 70 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "H2" + }, + "position": { + "height": 44, + "width": 54, + "x": 1, + "y": 17 + }, + "propConfig": { + "props.style.borderColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": null + }, + { + "input": 2, + "output": null + }, + { + "input": 3, + "output": null + }, + { + "input": 4, + "output": null + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"solid\"\n\telse:\n\t\treturn \"none\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--state-running)", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "black", + "outlineWidth": "2", + "overflow": "visible" + }, + "text": "H2 Sensor", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "fontWeight": "bold", + "key": "value", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 29, + "width": 28, + "x": 42.09, + "y": -1 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 3, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 3, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 2, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 1, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 4, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 4, \"visible\", \"hidden\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "key": "value", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/30896bf9921ad5d277cadfe507e732f3355fa15dd944da7fee0da45b27bf7c1f b/Gateways/FE/projects/.resources/30896bf9921ad5d277cadfe507e732f3355fa15dd944da7fee0da45b27bf7c1f new file mode 100644 index 0000000..1244ad0 --- /dev/null +++ b/Gateways/FE/projects/.resources/30896bf9921ad5d277cadfe507e732f3355fa15dd944da7fee0da45b27bf7c1f @@ -0,0 +1,423 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor A1 Signal", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B1 Signal", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser A1 Signal", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser B1 Signal", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser C Signal", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Modulating Hot Gas Reheat Valve Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor A1 Enabled", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B1 Enabled", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor C1 Enabled", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor C2 Enabled", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Enabled Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Exhaust Fan Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Heating Enabled Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Remote Forced Occupied Status", + "options": [ + "Unforced", + "Forced" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge A Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge B Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge C Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outdoor Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/30b125f1b978023bc5e337db2c88e0fd0987bc5f043fed7d4901539731d83650 b/Gateways/FE/projects/.resources/30b125f1b978023bc5e337db2c88e0fd0987bc5f043fed7d4901539731d83650 new file mode 100644 index 0000000..a83c9df Binary files /dev/null and b/Gateways/FE/projects/.resources/30b125f1b978023bc5e337db2c88e0fd0987bc5f043fed7d4901539731d83650 differ diff --git a/Gateways/FE/projects/.resources/30e5cbc5800357ddd2f0d49c5fdf170f726d2c43c50931e39ec95e96f05be2dd b/Gateways/FE/projects/.resources/30e5cbc5800357ddd2f0d49c5fdf170f726d2c43c50931e39ec95e96f05be2dd new file mode 100644 index 0000000..8ad22bb --- /dev/null +++ b/Gateways/FE/projects/.resources/30e5cbc5800357ddd2f0d49c5fdf170f726d2c43c50931e39ec95e96f05be2dd @@ -0,0 +1,419 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": 0, + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "CHW Valve Feedback", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": 0, + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "CHW Valve Command", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 22, + "instanceStyle": { + "classes": "" + }, + "name": "CMD_Out", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Comm Percentage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge Air Temperature A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge Air Temperature B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge Air Temperature C", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": 0, + "instancePosition": 22, + "instanceStyle": { + "classes": "" + }, + "name": "EquipCounts", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": 0, + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Return Water Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 23, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 16, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "options": [ + "Manual", + "Auto" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 18, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Not Running", + "Running" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Speed Feedback", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1A", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1B", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1C", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1D", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1E", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1F", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1G", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 17, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1H", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 19, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1I", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Water Temperature", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 24, + "instanceStyle": { + "classes": "" + }, + "name": "Unit Status", + "options": [ + "Unknown", + "Unit OFF - Normal", + "Controller Powered", + "Unit ON Fans only", + "Unit ON CW Cooling", + "Unit ON Alarm", + "Unit Failure", + "Unit Starting" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 821, + "width": 816 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3104735bb2e0aff8266b9ca12d10dd62146b08798d57f3705ff1281bffe2468c b/Gateways/FE/projects/.resources/3104735bb2e0aff8266b9ca12d10dd62146b08798d57f3705ff1281bffe2468c new file mode 100644 index 0000000..b8b8ec8 --- /dev/null +++ b/Gateways/FE/projects/.resources/3104735bb2e0aff8266b9ca12d10dd62146b08798d57f3705ff1281bffe2468c @@ -0,0 +1,121 @@ +{ + "custom": { + "colorHandler": { + "auto": "#27669C", + "manual": "#9C6427", + "none": "#FFFFFF" + } + }, + "params": { + "Mode": 1, + "options": [ + "A", + "M" + ] + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "params.Mode": { + "paramDirection": "input", + "persistent": true + }, + "params.options": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 20 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "code": "\tif value \u003c 1:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\tif value \u003d\u003d 1:\n\t\toutput \u003d self.view.custom.colorHandler.auto\n\tif value \u003d\u003d 2:\n\t\toutput \u003d self.view.custom.colorHandler.manual\n\tif value \u003e 2:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\t\n\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "A" + }, + { + "input": 2, + "output": "M" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "paddingLeft": 5, + "paddingRight": 5 + }, + "textStyle": { + "color": "#FFFFFF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/310624cd6e6269c80718d26aa8f6bacb2c65b180f46f4cdff3cccded9bac15f3 b/Gateways/FE/projects/.resources/310624cd6e6269c80718d26aa8f6bacb2c65b180f46f4cdff3cccded9bac15f3 new file mode 100644 index 0000000..4119b8c Binary files /dev/null and b/Gateways/FE/projects/.resources/310624cd6e6269c80718d26aa8f6bacb2c65b180f46f4cdff3cccded9bac15f3 differ diff --git a/Gateways/FE/projects/.resources/311846895e4aab9f0dd95d7aba99c17513a964eacff85bb50a961d36957597bc b/Gateways/FE/projects/.resources/311846895e4aab9f0dd95d7aba99c17513a964eacff85bb50a961d36957597bc new file mode 100644 index 0000000..8dbcec7 Binary files /dev/null and b/Gateways/FE/projects/.resources/311846895e4aab9f0dd95d7aba99c17513a964eacff85bb50a961d36957597bc differ diff --git a/Gateways/FE/projects/.resources/3125b705e784c9593072ce9da71ac6d1c0250539505d3fb44c800556e9dce9b1 b/Gateways/FE/projects/.resources/3125b705e784c9593072ce9da71ac6d1c0250539505d3fb44c800556e9dce9b1 new file mode 100644 index 0000000..9d9a67d --- /dev/null +++ b/Gateways/FE/projects/.resources/3125b705e784c9593072ce9da71ac6d1c0250539505d3fb44c800556e9dce9b1 @@ -0,0 +1,827 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 1, + "OutputPower": 1, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "CB_Main" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements": { + "access": "PUBLIC" + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[8].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[9].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M148.874,126.645l9.442,5.95l9.441,-5.95", + "fill": { + "paint": "transparent" + }, + "id": "Out01", + "name": "Out01", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M167.691,117.892l-9.375,6.25l-9.375,-6.25", + "fill": { + "paint": "transparent" + }, + "id": "Out02", + "name": "Out02", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M158.316,100.065l-0,24.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M161.891,50.395c8.447,7.001 12.597,15.745 12.365,26.919c0.22,10.578 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed17", + "name": "Closed17", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M180.892,50.395c8.448,7.001 12.598,15.745 12.366,26.919c0.219,10.578 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open17", + "name": "Open17", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M148.941,36.119l9.375,-6.25l9.375,6.25", + "fill": { + "paint": "transparent" + }, + "id": "In02", + "name": "In02", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M158.316,54.397l-0,-24.528", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M167.757,27.365l-9.441,-5.949l-9.442,5.949", + "fill": { + "paint": "transparent" + }, + "id": "In01", + "name": "In01", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M164.566,149.892c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25Z", + "id": "Out", + "name": "Out", + "type": "path" + }, + { + "d": "M158.316,132.595l-0,17.297", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB_Main", + "name": "CB_Main", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 49, + "y": 48.5 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "id": "g5", + "name": "g5", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2, false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5", + "name": "g5", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3, false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs4", + "name": "defs4", + "type": "defs" + }, + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2468 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3159b9da2db23aaf67de20cba7e22f43305c439fd8aada8ce363598406a508cf b/Gateways/FE/projects/.resources/3159b9da2db23aaf67de20cba7e22f43305c439fd8aada8ce363598406a508cf new file mode 100644 index 0000000..f1fc78b --- /dev/null +++ b/Gateways/FE/projects/.resources/3159b9da2db23aaf67de20cba7e22f43305c439fd8aada8ce363598406a508cf @@ -0,0 +1,195 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "lnUp_8", + "lnUp_9", + "lnUp_10", + "lnUp_11", + "lnUp_12", + "lnUp_13", + "lnUp_14", + "lnUp_15" + ] + } + }, + "params": { + "objectName": "FltCodeEnables", + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "lnUp_1" + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lnUp_2" + }, + "position": { + "tabIndex": 1 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP09" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lnUp_3" + }, + "position": { + "tabIndex": 2 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP10" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lnUp_4" + }, + "position": { + "tabIndex": 3 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP11" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lnUp_5" + }, + "position": { + "tabIndex": 4 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP12" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lnUp_6" + }, + "position": { + "tabIndex": 5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP13" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lnUp_7" + }, + "position": { + "tabIndex": 6 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP14" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lnUp_8" + }, + "position": { + "tabIndex": 7 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP15" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/315bb66441f49e55ffdceef68d9dd0d4880f2eb257c188c40f5d059bb2531873 b/Gateways/FE/projects/.resources/315bb66441f49e55ffdceef68d9dd0d4880f2eb257c188c40f5d059bb2531873 new file mode 100644 index 0000000..b801c7d Binary files /dev/null and b/Gateways/FE/projects/.resources/315bb66441f49e55ffdceef68d9dd0d4880f2eb257c188c40f5d059bb2531873 differ diff --git a/Gateways/FE/projects/.resources/317d6b1a7f693b4c0d3824b98a884222ad4b218fa7e49dd25cf91546d0badcf9 b/Gateways/FE/projects/.resources/317d6b1a7f693b4c0d3824b98a884222ad4b218fa7e49dd25cf91546d0badcf9 new file mode 100644 index 0000000..005ef2e --- /dev/null +++ b/Gateways/FE/projects/.resources/317d6b1a7f693b4c0d3824b98a884222ad4b218fa7e49dd25cf91546d0badcf9 @@ -0,0 +1,433 @@ +{ + "custom": {}, + "params": { + "tagPath": "" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 575, + "width": 375 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "ApplicationHelp/Field" + }, + "text": "Page" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Page" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "marginBottom": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "ApplicationHelp/Field" + }, + "text": "Title" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "!{parent.custom.edit}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "/root.custom.data.title" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.parent.custom.edit \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Edit" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "!{parent.custom.edit}" + }, + "type": "expr" + } + } + }, + "props": { + "path": "material/edit", + "style": { + "cursor": "pointer", + "marginLeft": "6px" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Editor" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{parent.custom.edit}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "/root.custom.data.title" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderRadius": "4px" + } + }, + "type": "ia.input.text-field" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttitle \u003d self.getSibling(\"Editor\").props.text\n\t\n\tif title \u003d\u003d None or len(title) \u003d\u003d 0:\n\t\tFramework.Popup.showError(\"Please enter in a title\")\n\telse:\n\t\tself.view.getChild(\"root\").custom.data.title \u003d title\n\t\tself.parent.custom.edit \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{parent.custom.edit}" + }, + "type": "expr" + } + } + }, + "props": { + "path": "material/save", + "style": { + "cursor": "pointer", + "marginLeft": "6px" + } + }, + "type": "ia.display.icon" + } + ], + "custom": { + "edit": false + }, + "meta": { + "name": "Value" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Title" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "marginBottom": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "ApplicationHelp/Field" + }, + "text": "Body" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Editor" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.params.inText": { + "binding": { + "config": { + "path": "/root.custom.data.body" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "outText": "" + }, + "path": "Library/Templates/Markdown/Editor", + "style": { + "marginBottom": "10px" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Editor" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath\n\tid \u003d self.view.getChild(\"root\").custom.data.id\n\ttitle \u003d self.view.getChild(\"root\").custom.data.title\n\tbody \u003d self.parent.parent.getChild(\"Editor\").getChild(\"Editor\").props.params.outText\n\tuser \u003d \"guest\" if self.session.props.auth.user.userName \u003d\u003d None else self.session.props.auth.user.userName\n\t\n\tif title \u003d\u003d None or len(title) \u003d\u003d 0:\n\t\tFramework.Popup.showError(\"Please enter in a title\")\n\telse:\n\t\tif id \u003d\u003d None:\n\t\t\tsystem.db.runNamedQuery(\"Tag Notes/Insert Note\", {\"tagPath\":tagPath, \"title\":title, \"body\":body, \"user\":user})\n\t\telse:\n\t\t\tsystem.db.runNamedQuery(\"Tag Notes/Update Note\", {\"id\":id, \"title\":title, \"body\":body, \"user\":user})\n\t\t\t\n\t\tsystem.perspective.sendMessage(messageType\u003d\"tag-notes-refresh\", payload\u003d{})\n\t\tsystem.perspective.closePopup(id\u003d\"tag-notes-editor\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "100px", + "shrink": 0 + }, + "props": { + "image": { + "icon": { + "path": "material/save" + } + }, + "style": { + "classes": "ApplicationHelp/Standard_Button", + "marginBottom": "6px", + "marginRight": "6px" + }, + "text": "Save" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "tag-notes-editor", + "modal": false, + "overlayDismiss": false, + "resizable": true, + "showCloseIcon": true, + "type": "close", + "viewPath": "", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "Close" + }, + "position": { + "basis": "100px", + "shrink": 0 + }, + "props": { + "image": { + "icon": { + "path": "material/exit_to_app" + } + }, + "style": { + "classes": "ApplicationHelp/Standard_Button", + "marginBottom": "6px" + }, + "text": "Close" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "38px", + "shrink": 0 + }, + "props": { + "justify": "center", + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "parameters": { + "tagPath": "{view.params.tagPath}" + }, + "queryPath": "Tag Notes/Get Notes", + "returnFormat": "json" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d None or len(value) \u003d\u003d 0:\n\t\tvalue \u003d {\"id\":None, \"title\":\"\", \"body\":\"\", \"last_updated\":None, \"last_updated_by\":None}\n\telse:\n\t\tvalue \u003d value[0]\n\t\n\treturn value", + "type": "script" + } + ], + "type": "query" + } + } + }, + "props": { + "direction": "column", + "style": { + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/31a6ded2eb9eaec5da9df0d95f40014b08d79cd85e61217de272a65c1747d581 b/Gateways/FE/projects/.resources/31a6ded2eb9eaec5da9df0d95f40014b08d79cd85e61217de272a65c1747d581 new file mode 100644 index 0000000..c16651f Binary files /dev/null and b/Gateways/FE/projects/.resources/31a6ded2eb9eaec5da9df0d95f40014b08d79cd85e61217de272a65c1747d581 differ diff --git a/Gateways/FE/projects/.resources/31c539504d9c011c15763148cd2f6d9b245d71f1fdef2ecc73fc5b9fa79fe51c b/Gateways/FE/projects/.resources/31c539504d9c011c15763148cd2f6d9b245d71f1fdef2ecc73fc5b9fa79fe51c new file mode 100644 index 0000000..77dc9bc Binary files /dev/null and b/Gateways/FE/projects/.resources/31c539504d9c011c15763148cd2f6d9b245d71f1fdef2ecc73fc5b9fa79fe51c differ diff --git a/Gateways/FE/projects/.resources/31c914a21542fc177afe5c290486edda82dcf7817fc1f694c63866b4c737ad79 b/Gateways/FE/projects/.resources/31c914a21542fc177afe5c290486edda82dcf7817fc1f694c63866b4c737ad79 new file mode 100644 index 0000000..bd41600 --- /dev/null +++ b/Gateways/FE/projects/.resources/31c914a21542fc177afe5c290486edda82dcf7817fc1f694c63866b4c737ad79 @@ -0,0 +1,24 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--success)", + "borderStyle": "none", + "boxShadow": "none", + "textTransform": "uppercase" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "var(--success)" + } + }, + { + "pseudo": "active", + "style": { + "color": "var(--neutral-30)" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3212e5d77f8397082a96509456c91fac0be3ca14caaecf32d228273cbbe4de41 b/Gateways/FE/projects/.resources/3212e5d77f8397082a96509456c91fac0be3ca14caaecf32d228273cbbe4de41 new file mode 100644 index 0000000..e8b1e48 --- /dev/null +++ b/Gateways/FE/projects/.resources/3212e5d77f8397082a96509456c91fac0be3ca14caaecf32d228273cbbe4de41 @@ -0,0 +1,961 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 0, + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P1-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "expression": "if({view.params.inputPower} \u0026\u0026 !{/root/CAM.custom.BreakerTripped}\r\n,1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "inout", + "persistent": true + }, + "params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "defaultSize": { + "height": 90, + "width": 153 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 18, + "width": 91, + "x": 72.5, + "y": 3 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153 + }, + "propConfig": { + "custom.BreakerTripped": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Tripped" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\telse:\n\t\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.ColorHandler.Box": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "custom.colorHandler.breakerIn": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.inputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "custom.colorHandler.breakerOut": { + "binding": { + "config": { + "struct": { + "BreakerTripped": "{this.custom.BreakerTripped}", + "PowerIN": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "if({value}[\u0027PowerIN\u0027] \u0026\u0026 !{value}[\u0027BreakerTripped\u0027],\u0027var(--olRed)\u0027,\u0027var(--olGreen)\u0027)", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerTripped" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerTripped" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].stroke": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.CAM.CAM1" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.CAM.CAM2" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.CAM.CAM3" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.CAM.CAM4" + }, + "type": "property" + } + }, + "props.elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[3].elements[2].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[3].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[4].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M31.125,43.125c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 30, + "cy": "43.125", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": 30, + "cy": "52.125", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M34.785,43.125c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,38.5303,41.0409)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "CAM", + "type": "text", + "x": "31.123px", + "y": "41.041px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,18.0005,41.688)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3000A", + "type": "text", + "x": "5.952px", + "y": "41.688px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,23.7785,45.438)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "MOLDED", + "type": "text", + "x": "5.952px", + "y": "45.438px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,17.2986,49.188)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "CASE", + "type": "text", + "x": "5.952px", + "y": "49.188px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,22.3848,52.938)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "SWITCH", + "type": "text", + "x": "5.952px", + "y": "52.938px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "52.515", + "id": "Ext", + "name": "Ext", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "square", + "width": "0.75px" + }, + "type": "rect", + "width": "45", + "x": "3.75", + "y": "11.235" + }, + { + "fill": { + "opacity": "0" + }, + "height": "18.229", + "id": "Int02", + "name": "Int02", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.38px" + }, + "type": "rect", + "width": "15.666", + "x": "24.227", + "y": "37.174" + }, + { + "fill": { + "opacity": "0" + }, + "height": "8.375", + "id": "Int01", + "name": "Int01", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.38px" + }, + "type": "rect", + "width": "15.666", + "x": "24.227", + "y": "28.799" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "id": "Line1", + "name": "Line1", + "transform": "matrix(4.16667,0,0,4.16667,74.3369,14.2834)", + "type": "group", + "visibility": "visible" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "12px", + "fontWeight": "700" + }, + "text": "", + "type": "text", + "x": "55.355px", + "y": "14.283px" + }, + { + "id": "Line2", + "name": "Line2", + "transform": "matrix(4.16667,0,0,4.16667,95.7582,18.0334)", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "76.772px 77.93px ", + "y": "18.033px 18.033px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "55.377px", + "y": "18.033px" + }, + { + "id": "Line3", + "name": "Line3", + "transform": "matrix(4.16667,0,0,4.16667,114.474,21.7834)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "60.38px 63.159px ", + "y": "21.783px 21.783px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "55.365px", + "y": "21.783px" + }, + { + "id": "Line4", + "name": "Line4", + "transform": "matrix(4.16667,0,0,4.16667,111.987,25.5334)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "59.28px 61.749px 64.295px ", + "y": "25.533px 25.533px 25.533px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "55.501px", + "y": "25.533px" + } + ], + "id": "TagPlate", + "name": "TagPlate", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "60", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "52.5", + "x": "0", + "y": "7.5" + }, + { + "d": "M52.5,7.5l-0,60l-52.5,0l0,-60l52.5,-0Zm-0.75,0.75c0,-0 -51,-0 -51,0l-0,58.5c-0,-0 51,0 51,-0l0,-58.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M52.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M52.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M51.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M52.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M57.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M52.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "52.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M50.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M53.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group", + "visibility": "visible" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 115 68" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/326f14c0d21204002ad7209e2435c1038b283744a83739eb373ac8203655307a b/Gateways/FE/projects/.resources/326f14c0d21204002ad7209e2435c1038b283744a83739eb373ac8203655307a new file mode 100644 index 0000000..f486edf --- /dev/null +++ b/Gateways/FE/projects/.resources/326f14c0d21204002ad7209e2435c1038b283744a83739eb373ac8203655307a @@ -0,0 +1,428 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/VSD 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/326f4c347bfe50628642f0ca1d85a4522e37e580a165b27dbb0e7e0eddba8b7e b/Gateways/FE/projects/.resources/326f4c347bfe50628642f0ca1d85a4522e37e580a165b27dbb0e7e0eddba8b7e new file mode 100644 index 0000000..439ae61 Binary files /dev/null and b/Gateways/FE/projects/.resources/326f4c347bfe50628642f0ca1d85a4522e37e580a165b27dbb0e7e0eddba8b7e differ diff --git a/Gateways/FE/projects/.resources/32acf1975cb398236fcee180c9b6a829075563017b3cfb25e255c67abe753141 b/Gateways/FE/projects/.resources/32acf1975cb398236fcee180c9b6a829075563017b3cfb25e255c67abe753141 new file mode 100644 index 0000000..539e01c --- /dev/null +++ b/Gateways/FE/projects/.resources/32acf1975cb398236fcee180c9b6a829075563017b3cfb25e255c67abe753141 @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/32ce8987a8f9d216c6a18f01714864c65d82b62845964ff45c256a58cee5dfa3 b/Gateways/FE/projects/.resources/32ce8987a8f9d216c6a18f01714864c65d82b62845964ff45c256a58cee5dfa3 new file mode 100644 index 0000000..56939a0 Binary files /dev/null and b/Gateways/FE/projects/.resources/32ce8987a8f9d216c6a18f01714864c65d82b62845964ff45c256a58cee5dfa3 differ diff --git a/Gateways/FE/projects/.resources/333003aa1965c67b96343a495744f14eace7d6fda71780d4ce4dc1c65fb2eb92 b/Gateways/FE/projects/.resources/333003aa1965c67b96343a495744f14eace7d6fda71780d4ce4dc1c65fb2eb92 new file mode 100644 index 0000000..150863f --- /dev/null +++ b/Gateways/FE/projects/.resources/333003aa1965c67b96343a495744f14eace7d6fda71780d4ce4dc1c65fb2eb92 @@ -0,0 +1,980 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "0: No Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[0]", + "value": false + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "1: Low Ambient Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[1]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "2: High Ambient Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[2]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "3: Low Chilled Liquid Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[3]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "4: VSD Initialization Failure", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[4]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "5: Low RTC Battery Voltage", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[5]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "6: Invalid Number of Compressors Selected", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[6]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "7: VSD Communications Failure", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[7]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "8: Pre-charge Low DC Bus Voltage", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[8]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "9: Pre-charge DC Bus Voltage Imbalance", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[9]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "10: High DC Bus Voltage", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[10]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "11: Low DC Bus Voltage", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[11]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "12: DC Bus Voltage Imbalance", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[12]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "13: High VSD Ambien Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[13]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "14: Single Phase Input", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[14]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "15: VSD Power Supply Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[15]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "16: VSD Logic Board Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[16]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "17: Motor Current Overload (Hardware)", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[17]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "18: CT Plug Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[18]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "19: High Harmonic Filter Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[19]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "20: Evap Anti-Freeze Pump Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[20]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "21: Low Heat Exchange Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[21]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "22: N/A", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[22]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "23: N/A", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[23]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "24: N/A", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[24]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "25: N/A", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[25]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "26: N/A", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[26]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "27: High Discharge Pressure", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[27]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "28: High Differential Oil Pressure", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[28]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "29: Low Differential Oil Pressure", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[29]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "30: Low Suction Pressure", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[30]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "31: High Discharge Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[31]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "32: N/A", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[32]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "33: Eductor Clog Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[33]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "34: Sensor Failure", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[34]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "35: Low Motor Current", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[35]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "36: High Motor Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[36]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "37: Pre-charge Low DC Bus Voltage Immbalance", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[37]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "38: Pre-charge DC Bus Voltage Imbalance", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[38]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "39: High DC Bus Voltage", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[39]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "40: Low DC Bus Voltage", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[40]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "41: DC Bus Voltage Imbalance", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[41]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "42: High Motor Current", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[42]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "43: Motor Current Overload", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[43]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "44: IGBT Gate Driver Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[44]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "45: High Baseplate Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[45]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "46: Single Phase Input", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[46]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "47: VSD Run Signal Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[47]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "48: High Discharge Press (HPCO)", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[48]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "49: Low Suction Superheat", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[49]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "50: Control Valve Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[50]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "51: Low Discharge Superheat", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[51]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "52: Low Suction PRessure Smart Freeze", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[52]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "53: Isolation Valve Failed to Close Warning", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[53]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "54: Isolation Valve failed to Open Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[54]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "55: High Discharge Pressure Rate", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[55]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "56: Condenser Fan VSD Fault Warning", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[56]", + "value": true + } + ], + "fltCodes": [ + "0: No Fault", + "1: Low Ambient Temperature", + "2: High Ambient Temperature", + "3: Low Chilled Liquid Temperature", + "4: VSD Initialization Failure", + "5: Low RTC Battery Voltage", + "6: Invalid Number of Compressors Selected", + "7: VSD Communications Failure", + "8: Pre-charge Low DC Bus Voltage", + "9: Pre-charge DC Bus Voltage Imbalance", + "10: High DC Bus Voltage", + "11: Low DC Bus Voltage", + "12: DC Bus Voltage Imbalance", + "13: High VSD Ambien Temperature", + "14: Single Phase Input", + "15: VSD Power Supply Fault", + "16: VSD Logic Board Fault", + "17: Motor Current Overload (Hardware)", + "18: CT Plug Fault", + "19: High Harmonic Filter Temperature", + "20: Evap Anti-Freeze Pump Fault", + "21: Low Heat Exchange Temperature", + "22: N/A", + "23: N/A", + "24: N/A", + "25: N/A", + "26: N/A", + "27: High Discharge Pressure", + "28: High Differential Oil Pressure", + "29: Low Differential Oil Pressure", + "30: Low Suction Pressure", + "31: High Discharge Temperature", + "32: N/A", + "33: Eductor Clog Fault", + "34: Sensor Failure", + "35: Low Motor Current", + "36: High Motor Temperature", + "37: Pre-charge Low DC Bus Voltage Immbalance", + "38: Pre-charge DC Bus Voltage Imbalance", + "39: High DC Bus Voltage", + "40: Low DC Bus Voltage", + "41: DC Bus Voltage Imbalance", + "42: High Motor Current", + "43: Motor Current Overload", + "44: IGBT Gate Driver Fault", + "45: High Baseplate Temperature", + "46: Single Phase Input", + "47: VSD Run Signal Fault", + "48: High Discharge Press (HPCO)", + "49: Low Suction Superheat", + "50: Control Valve Fault", + "51: Low Discharge Superheat", + "52: Low Suction PRessure Smart Freeze", + "53: Isolation Valve Failed to Close Warning", + "54: Isolation Valve failed to Open Fault", + "55: High Discharge Pressure Rate", + "56: Condenser Fan VSD Fault Warning", + "57: N/A", + "58: N/A", + "59: N/A", + "60: N/A", + "61: N/A", + "62: N/A" + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "fltCodes": "{view.custom.fltCodes}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tcount \u003d 0\n\ttagPath \u003d value[\u0027tagPath\u0027] #[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[0]\n\tnodes \u003d system.tag.readBlocking(value[\u0027tagPath\u0027])\n\tdecode \u003d system.util.jsonDecode(system.util.jsonEncode(nodes))\n\tvals \u003d decode[0][\u0027value\u0027]\n\tfltCodes \u003d value[\u0027fltCodes\u0027]\n\tlista \u003d zip(vals , fltCodes)\n\t\n\tfor vals, fltCode in lista:\n\t\tif count \u003e\u003d 57:\n\t\t\tbreak\n\t\tinstance \u003d {\n \t\"instanceStyle\": {\n \t\"classes\": \"\"\n \t},\n \t\"instancePosition\": 999,\n \t\"name\": fltCode,\n \t\"value\": vals,\n \t\"tagPath\": tagPath + \u0027[\u0027 + str(count) + \u0027]\u0027,\n \t\"dataType\": \u0027Boolean\u0027,\n \t\"displaySelection\": 0,\n \t\"format\": \"0.0\",\n \t\"isArray\": True,\n \t\"options\": []\n \t}\n \toutput.append(instance)\n \tcount +\u003d 1\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.fltCodes": { + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "RightColumn" + }, + "position": { + "basis": "100%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/335be0ba68585d369bbbf70c3cd15b6be067a23630e6deb42122c1e3b22a0454 b/Gateways/FE/projects/.resources/335be0ba68585d369bbbf70c3cd15b6be067a23630e6deb42122c1e3b22a0454 new file mode 100644 index 0000000..1a0e51e --- /dev/null +++ b/Gateways/FE/projects/.resources/335be0ba68585d369bbbf70c3cd15b6be067a23630e6deb42122c1e3b22a0454 @@ -0,0 +1,67 @@ +{ + "resource-type": "python-resource", + "doGet": { + "enabled": true, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + }, + "doPost": { + "enabled": false, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + }, + "doPut": { + "enabled": false, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + }, + "doDelete": { + "enabled": false, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + }, + "doHead": { + "enabled": false, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + }, + "doOptions": { + "enabled": false, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + }, + "doTrace": { + "enabled": false, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + }, + "doPatch": { + "enabled": false, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3369a6b840ffb34ca962296d01bef5d16cedfd9e7ccfb3b1ab4af5b37b8c0a20 b/Gateways/FE/projects/.resources/3369a6b840ffb34ca962296d01bef5d16cedfd9e7ccfb3b1ab4af5b37b8c0a20 new file mode 100644 index 0000000..01d77fb --- /dev/null +++ b/Gateways/FE/projects/.resources/3369a6b840ffb34ca962296d01bef5d16cedfd9e7ccfb3b1ab4af5b37b8c0a20 @@ -0,0 +1,159 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CV31" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.instances[0].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[1].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[2].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "instances": [ + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Close Delay Setpoint", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CV31/Config/Fail To Close Delay Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Open Delay Setpoint", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CV31/Config/Fail To Open Delay Setpoint" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CV31/Config/Reset Required" + } + ], + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/338cd9192e70a10e8d376c0440a3aa0fa219d724f696c5bece12459bf070defa b/Gateways/FE/projects/.resources/338cd9192e70a10e8d376c0440a3aa0fa219d724f696c5bece12459bf070defa new file mode 100644 index 0000000..9eaba2d --- /dev/null +++ b/Gateways/FE/projects/.resources/338cd9192e70a10e8d376c0440a3aa0fa219d724f696c5bece12459bf070defa @@ -0,0 +1,157 @@ +{ + "custom": {}, + "params": { + "color": "#FFFFFF", + "enabled": false, + "group": "AHU 1", + "name": "Supply fan speed" + }, + "propConfig": { + "params.color": { + "paramDirection": "input", + "persistent": true + }, + "params.enabled": { + "paramDirection": "inout", + "persistent": true + }, + "params.group": { + "paramDirection": "input", + "persistent": true + }, + "params.name": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 22, + "width": 212 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Color" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.fill": { + "binding": { + "config": { + "path": "view.params.color" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "height": "60%", + "rx": "3px", + "type": "rect", + "width": "60%", + "x": "20%", + "y": "20%" + } + ], + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\t# Send a message to enableDisablePen handler and in the payload \n\t# include the pen name, pen group, pen color, and a boolean \n\t# denoting whether the pen was selected or de-selected.\n\t\n\tenabledOrDisabled \u003d self.props.selected\n\tname \u003d self.view.params.name\n\tgroup \u003d self.view.params.group\n\tcolor \u003d self.view.params.color\n\t\n\tpayload \u003d {\u0027enabledOrDisabled\u0027:enabledOrDisabled,\u0027name\u0027:name,\u0027group\u0027:group,\u0027color\u0027:color}\n\t\n\tsystem.perspective.sendMessage(\u0027enableDisablePen\u0027,payload\u003dpayload,scope\u003d\u0027page\u0027)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Checkbox" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "type": "property" + } + } + }, + "props": { + "checkedIcon": { + "color": { + "enabled": "var(--neutral-100)" + }, + "style": { + "maxHeight": "17px" + } + }, + "text": "", + "uncheckedIcon": { + "style": { + "maxHeight": "17px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "12px", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.name" + }, + "transforms": [ + { + "code": "\tif \u0027AHU\u0027 in value:\n\t\treturn value[5:len(value)]\n\telse:\n\t\treturn value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-90", + "fontSize": "11px", + "paddingLeft": "5px" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "color": "--units-color" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/33c53d403df3a352782824302fa21d1aedc2cf742e54bc520fa6f28944682894 b/Gateways/FE/projects/.resources/33c53d403df3a352782824302fa21d1aedc2cf742e54bc520fa6f28944682894 new file mode 100644 index 0000000..1e0387c Binary files /dev/null and b/Gateways/FE/projects/.resources/33c53d403df3a352782824302fa21d1aedc2cf742e54bc520fa6f28944682894 differ diff --git a/Gateways/FE/projects/.resources/33de6ad08bef08426c43d6bd6a389e0b3a3a0bc5c78a869f6908ec8e914d01cd b/Gateways/FE/projects/.resources/33de6ad08bef08426c43d6bd6a389e0b3a3a0bc5c78a869f6908ec8e914d01cd new file mode 100644 index 0000000..4980fd1 --- /dev/null +++ b/Gateways/FE/projects/.resources/33de6ad08bef08426c43d6bd6a389e0b3a3a0bc5c78a869f6908ec8e914d01cd @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948358902 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948358902 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/34b6ffc8ec811cc842329172e864c91e1936e7d9a2ab64678c3cf7ac2ada1126 b/Gateways/FE/projects/.resources/34b6ffc8ec811cc842329172e864c91e1936e7d9a2ab64678c3cf7ac2ada1126 new file mode 100644 index 0000000..7258f76 Binary files /dev/null and b/Gateways/FE/projects/.resources/34b6ffc8ec811cc842329172e864c91e1936e7d9a2ab64678c3cf7ac2ada1126 differ diff --git a/Gateways/FE/projects/.resources/34da34456e24b2f6673edd6e4f6fda06f55c603d9c69aab99a1fccc3aa308261 b/Gateways/FE/projects/.resources/34da34456e24b2f6673edd6e4f6fda06f55c603d9c69aab99a1fccc3aa308261 new file mode 100644 index 0000000..011736d --- /dev/null +++ b/Gateways/FE/projects/.resources/34da34456e24b2f6673edd6e4f6fda06f55c603d9c69aab99a1fccc3aa308261 @@ -0,0 +1,2678 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "display": true, + "inputPower": 1, + "objectName": "PDU V2", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "tagPath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-1", + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.display": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 160, + "width": 130 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 66, + "x": 1.55, + "y": -23 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "PDU" + }, + "position": { + "height": 160, + "width": 130 + }, + "propConfig": { + "custom.MainBreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Main Breaker" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.cb1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker 1" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.cb2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker 2" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.cb3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker 3" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.cb4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker 4" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.cb5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker 5" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.breaker": { + "binding": { + "config": { + "struct": { + "inputPower": "{view.params.inputPower}", + "mb": "{this.custom.MainBreakerClosed}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027mb\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker1": { + "binding": { + "config": { + "struct": { + "cb": "{this.custom.cb1}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027cb\u0027] and value[\u0027inputPower\u0027]:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker2": { + "binding": { + "config": { + "struct": { + "cb": "{this.custom.cb2}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027cb\u0027] and value[\u0027inputPower\u0027]:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker3": { + "binding": { + "config": { + "struct": { + "cb": "{this.custom.cb3}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027cb\u0027] and value[\u0027inputPower\u0027]:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker4": { + "binding": { + "config": { + "struct": { + "cb": "{this.custom.cb4}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027cb\u0027] and value[\u0027inputPower\u0027]:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker5": { + "binding": { + "config": { + "struct": { + "cb": "{this.custom.cb5}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027cb\u0027] and value[\u0027inputPower\u0027]:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.bus": { + "binding": { + "config": { + "struct": { + "inputPower": "{view.params.inputPower}", + "mb": "{this.custom.MainBreakerClosed}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027mb\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.input": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.transformer": { + "binding": { + "config": { + "struct": { + "inputPower": "{view.params.inputPower}", + "mb": "{this.custom.MainBreakerClosed}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027mb\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + }, + "props.elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.PDU2" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.PDU3" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1" + }, + "type": "property" + } + }, + "props.elements[2].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr2" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr3" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr4" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr5" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr6" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].visibility": { + "binding": { + "config": { + "path": "this.custom.MainBreakerClosed" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.input" + }, + "type": "property" + } + }, + "props.elements[2].elements[8].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[9].visibility": { + "binding": { + "config": { + "path": "this.custom.MainBreakerClosed" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[11].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-5" + }, + "type": "property" + } + }, + "props.elements[3].elements[13].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[13].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SPD" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-1" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-6" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-2" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-3" + }, + "type": "property" + } + }, + "props.elements[3].elements[9].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[9].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-4" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.cb1" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.cb1" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + }, + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.cb2" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.cb2" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker3" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.cb3" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker3" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker3" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.cb3" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker4" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.cb4" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker4" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker4" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.cb4" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker5" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.cb5" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker5" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker5" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.cb5" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[7].elements[2].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[3].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[4].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[5].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[6].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[7].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "105", + "id": "Box", + "name": "Box", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "width": "0.75px" + }, + "type": "rect", + "width": "82.5", + "x": "3.75", + "y": "11.25" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,25.9078,2.99479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "12px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "3.447px", + "y": "2.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.8979,6.74479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "3.296px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,16.2256,10.5355)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "3.498px", + "y": "10.535px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + }, + { + "elements": [ + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "18.347px" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "60.035px ", + "y": "22.097px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "22.097px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.445px", + "y": "25.886px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.42px", + "y": "29.636px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "33.386px" + }, + { + "elements": [ + { + "name": "tspan", + "text": "A", + "type": "tspan", + "x": "62.119px ", + "y": "37.097px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "37.097px" + }, + { + "d": "M68.625,21.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 67.5, + "cy": "21.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": 67.5, + "cy": "30.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M72.285,21.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": "transparent", + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.491,31.875l0,16.875", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.6195,65.9948)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.343px", + "y": "65.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,52.3586,113.342)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "23.646px", + "y": "113.342px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.3103,69.7448)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.343px", + "y": "69.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,13.4489,73.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.195px", + "y": "73.533px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,17.703,77.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.046px", + "y": "77.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,28.8582,81.0355)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.402px", + "y": "81.035px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,79.6713,95.5791)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "71.104px", + "y": "95.579px" + } + ], + "id": "CB-Texts", + "name": "CB-Texts", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "8.809", + "name": "rect", + "stroke": { + "width": "0.75px" + }, + "type": "rect", + "width": "12.458", + "x": "69.141", + "y": "89.683" + }, + { + "d": "M7.5,82.5l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M20.47,82.5l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M33.503,82.5l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M46.537,82.5l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M59.57,82.5l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M75.409,89.683l-0,-7.183", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,60.908l0,21.592", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,82.5l67.909,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M8.626,96.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 7.501, + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "7.501", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M12.287,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M21.604,96.75c1.261,1.2 1.896,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "20.479", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "20.479", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M25.265,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M34.637,96.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "33.512", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "33.512", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M38.298,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "d": "M47.671,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "46.546", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "46.546", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M51.331,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + }, + { + "elements": [ + { + "d": "M60.704,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "59.579", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "59.579", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M64.364,96.75c1.261,1.2 1.896,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB05", + "name": "CB05", + "type": "group" + } + ], + "id": "OutputCB", + "name": "OutputCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M56.064,46.378l-0,2.405c0.375,1.41 1.359,2.021 2.849,1.972c1.412,0.061 2.381,-0.575 2.849,-1.972c0.498,1.321 1.407,2.024 2.849,1.972c1.601,0.04 2.45,-0.725 2.849,-1.972c0.449,1.237 1.285,2.022 2.849,1.972c1.501,0.066 2.464,-0.58 2.849,-1.972c0.418,1.151 1.23,1.937 2.849,1.972c0.841,-0.048 1.468,-0.277 1.934,-0.645c0.428,-0.337 0.72,-0.791 0.915,-1.327l0,-2.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.37px" + }, + "type": "path" + }, + { + "d": "M52.594,57.248c-0.032,0.465 0.318,0.868 0.783,0.901c0.464,0.032 0.868,-0.318 0.901,-0.783c0.032,-0.464 -0.319,-0.868 -0.783,-0.901c-0.465,-0.032 -0.868,0.319 -0.901,0.783Z", + "name": "path", + "type": "path" + }, + { + "d": "M70.692,60.206c0.387,0.259 0.491,0.783 0.232,1.17c-0.258,0.388 -0.783,0.492 -1.17,0.233c-0.387,-0.258 -0.491,-0.783 -0.233,-1.17c0.259,-0.387 0.783,-0.492 1.171,-0.233Z", + "name": "path", + "type": "path" + }, + { + "d": "M53.436,57.307c0.165,-2.362 0.971,-3.638 2.79,-3.839c1.783,0.125 2.612,1.298 2.742,3.839c0.024,-2.147 0.904,-3.712 3.219,-3.696c1.973,0.336 2.582,1.707 2.647,3.696l5.389,3.601", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M80.705,57.366c0.032,0.465 0.436,0.815 0.9,0.783c0.465,-0.033 0.816,-0.436 0.783,-0.901c-0.032,-0.464 -0.436,-0.815 -0.901,-0.783c-0.464,0.033 -0.815,0.437 -0.782,0.901Z", + "name": "path", + "type": "path" + }, + { + "d": "M65.228,61.609c-0.387,0.259 -0.911,0.155 -1.17,-0.233c-0.259,-0.387 -0.154,-0.911 0.233,-1.17c0.387,-0.259 0.911,-0.154 1.17,0.233c0.259,0.387 0.154,0.912 -0.233,1.17Z", + "name": "path", + "type": "path" + }, + { + "d": "M81.546,57.307c-0.165,-2.362 -0.971,-3.638 -2.789,-3.839c-1.784,0.125 -2.612,1.298 -2.743,3.839c-0.024,-2.147 -0.904,-3.712 -3.219,-3.696c-1.973,0.336 -2.581,1.707 -2.647,3.696l-5.389,3.601", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + } + ], + "id": "TX", + "name": "TX", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "transparent" + }, + "height": "112.5", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "90", + "x": "0", + "y": "7.5" + }, + { + "d": "M90,7.5l-0,112.5l-90,0l0,-112.5l90,0Zm-0.675,0.675l-88.65,-0l0,111.15l88.65,0l0,-111.15Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M90.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M89.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M94.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "89.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M88.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M91.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd", + "overflow": "auto" + }, + "viewBox": "0 0 98 120" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/350c6cfadd6ed41b6103b6e20bb8e6561e86e65d777b5a8d850afb549db336cf b/Gateways/FE/projects/.resources/350c6cfadd6ed41b6103b6e20bb8e6561e86e65d777b5a8d850afb549db336cf new file mode 100644 index 0000000..93b5f55 Binary files /dev/null and b/Gateways/FE/projects/.resources/350c6cfadd6ed41b6103b6e20bb8e6561e86e65d777b5a8d850afb549db336cf differ diff --git a/Gateways/FE/projects/.resources/351df743f630355c00eadc5b85a20a9f53f34fd231df7541d56601e18d5e1e83 b/Gateways/FE/projects/.resources/351df743f630355c00eadc5b85a20a9f53f34fd231df7541d56601e18d5e1e83 new file mode 100644 index 0000000..11d5b14 --- /dev/null +++ b/Gateways/FE/projects/.resources/351df743f630355c00eadc5b85a20a9f53f34fd231df7541d56601e18d5e1e83 @@ -0,0 +1,2758 @@ +{ + "custom": { + "DH": 5, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 1, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P5.1", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-1/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P5.1", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P5.1", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1161/SATB1_ER1161_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/358888ad1d3173edfa2222e65df740a2dacf754a5376b0522bf246148d37dbbd b/Gateways/FE/projects/.resources/358888ad1d3173edfa2222e65df740a2dacf754a5376b0522bf246148d37dbbd new file mode 100644 index 0000000..2ad5086 --- /dev/null +++ b/Gateways/FE/projects/.resources/358888ad1d3173edfa2222e65df740a2dacf754a5376b0522bf246148d37dbbd @@ -0,0 +1,2829 @@ +{ + "custom": { + "alarmHi": null, + "data": [ + { + "T1": 73, + "T2": 73.09105214608927, + "T3": 72.38656206113339, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775141946189 + }, + { + "T1": 73, + "T2": 73.0999984741211, + "T3": 72.4000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775141976189 + }, + { + "T1": 73, + "T2": 73.19552845966578, + "T3": 72.59104862287523, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142006189 + }, + { + "T1": 73, + "T2": 73.19999694824219, + "T3": 72.69105233780213, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142036189 + }, + { + "T1": 73.95516367757851, + "T2": 73.4865948636373, + "T3": 72.79105605272902, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142066189 + }, + { + "T1": 74, + "T2": 73.5, + "T3": 72.80000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142096189 + }, + { + "T1": 73.0449925012498, + "T2": 73.5, + "T3": 72.89551552580669, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142126189 + }, + { + "T1": 73, + "T2": 73.5, + "T3": 72.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142156189 + }, + { + "T1": 73, + "T2": 73.21342275609874, + "T3": 72.8044848741308, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142186189 + }, + { + "T1": 73, + "T2": 73.19999694824219, + "T3": 72.80000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142216189 + }, + { + "T1": 73, + "T2": 72.72237990852618, + "T3": 72.6089656563441, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142246189 + }, + { + "T1": 73, + "T2": 72.69999694824219, + "T3": 72.50896527487437, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142276189 + }, + { + "T1": 72.04495149838328, + "T2": 72.31790307695924, + "T3": 72.40896489340464, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142306189 + }, + { + "T1": 72, + "T2": 72.30000305175781, + "T3": 72.4000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142336189 + }, + { + "T1": 72, + "T2": 71.7268281155433, + "T3": 71.826892983373, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142366189 + }, + { + "T1": 72, + "T2": 71.69999694824219, + "T3": 71.80000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142396189 + }, + { + "T1": 72, + "T2": 71.4134138917711, + "T3": 71.41791552467947, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142426189 + }, + { + "T1": 72, + "T2": 71.26341490902371, + "T3": 71.4000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142456189 + }, + { + "T1": 71.04488333333333, + "T2": 71.11341592627632, + "T3": 71.11342883457746, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142486189 + }, + { + "T1": 71, + "T2": 70.96341694352891, + "T3": 71.0999984741211, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142516189 + }, + { + "T1": 71, + "T2": 70.81341796078152, + "T3": 70.90895790660467, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142546189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 70.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142576189 + }, + { + "T1": 71.95508483050565, + "T2": 71.08658493475211, + "T3": 70.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142606189 + }, + { + "T1": 72, + "T2": 71.23658330329597, + "T3": 70.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142636189 + }, + { + "T1": 72, + "T2": 71.38658167183985, + "T3": 70.99552006835937, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142666189 + }, + { + "T1": 72, + "T2": 71.4000015258789, + "T3": 71, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142696189 + }, + { + "T1": 72, + "T2": 71.78210282193622, + "T3": 71.28655813907008, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142726189 + }, + { + "T1": 72, + "T2": 71.9821000108838, + "T3": 71.30000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142756189 + }, + { + "T1": 72, + "T2": 72.18209719983138, + "T3": 71.49103998738521, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142786189 + }, + { + "T1": 72, + "T2": 72.19999694824219, + "T3": 71.5, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142816189 + }, + { + "T1": 72.9551, + "T2": 72.48657725160304, + "T3": 71.88208782564996, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142846189 + }, + { + "T1": 73, + "T2": 72.63658002750508, + "T3": 71.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142876189 + }, + { + "T1": 73, + "T2": 72.78658280340711, + "T3": 72.09104399596414, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142906189 + }, + { + "T1": 73, + "T2": 72.80000305175781, + "T3": 72.19104354410429, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142936189 + }, + { + "T1": 73, + "T2": 72.99105028572806, + "T3": 72.29104309224445, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142966189 + }, + { + "T1": 73, + "T2": 73.0910470932357, + "T3": 72.30000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142996189 + }, + { + "T1": 73, + "T2": 73.19104390074334, + "T3": 72.395518410393, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143026189 + }, + { + "T1": 73, + "T2": 73.19999694824219, + "T3": 72.4000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143056189 + }, + { + "T1": 73, + "T2": 73.29552770403636, + "T3": 72.59104036391753, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143086189 + }, + { + "T1": 73, + "T2": 73.30000305175781, + "T3": 72.69104324545928, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143116189 + }, + { + "T1": 73.95509925165419, + "T2": 73.49105332073731, + "T3": 72.79104612700105, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143146189 + }, + { + "T1": 74, + "T2": 73.5, + "T3": 72.80000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143176189 + }, + { + "T1": 73.04488408140136, + "T2": 73.4044747909546, + "T3": 72.89552166890256, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143206189 + }, + { + "T1": 73, + "T2": 73.4000015258789, + "T3": 72.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143236189 + }, + { + "T1": 73, + "T2": 72.92237615296845, + "T3": 72.6134446426127, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143266189 + }, + { + "T1": 73, + "T2": 72.9000015258789, + "T3": 72.46344627406883, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143296189 + }, + { + "T1": 72.0449181639388, + "T2": 72.23132215309143, + "T3": 72.31344790552497, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143326189 + }, + { + "T1": 72, + "T2": 72.19999694824219, + "T3": 72.30000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143356189 + }, + { + "T1": 72, + "T2": 71.43581405741118, + "T3": 71.8224193448196, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143386189 + }, + { + "T1": 72, + "T2": 71.4000015258789, + "T3": 71.80000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143416189 + }, + { + "T1": 71.04493333333333, + "T2": 71.1134322546641, + "T3": 71.41792855971427, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143446189 + }, + { + "T1": 71, + "T2": 70.96343263613383, + "T3": 71.4000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143476189 + }, + { + "T1": 71, + "T2": 70.81343301760356, + "T3": 71.20896685455232, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143506189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 71.19999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143536189 + }, + { + "T1": 71, + "T2": 70.60895201237996, + "T3": 70.72240602854487, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143566189 + }, + { + "T1": 71, + "T2": 70.5999984741211, + "T3": 70.69999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143596189 + }, + { + "T1": 71, + "T2": 70.79105906652856, + "T3": 70.69999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143626189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 70.69999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143656189 + }, + { + "T1": 71, + "T2": 71.08656457471622, + "T3": 70.79551815175681, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143686189 + }, + { + "T1": 71, + "T2": 71.0999984741211, + "T3": 70.80000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143716189 + }, + { + "T1": 71.9550932639896, + "T2": 71.4821057036942, + "T3": 70.99103968870318, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143746189 + }, + { + "T1": 72, + "T2": 71.5, + "T3": 71, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143776189 + }, + { + "T1": 72, + "T2": 71.9776174127529, + "T3": 71.28655813907008, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143806189 + }, + { + "T1": 72, + "T2": 72, + "T3": 71.30000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143836189 + }, + { + "T1": 72, + "T2": 72.38208205483524, + "T3": 71.6820514526947, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143866189 + }, + { + "T1": 72, + "T2": 72.4000015258789, + "T3": 71.69999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143896189 + }, + { + "T1": 72.9550810873877, + "T2": 72.5910481631717, + "T3": 71.89104072341395, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143926189 + }, + { + "T1": 73, + "T2": 72.5999984741211, + "T3": 71.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143956189 + }, + { + "T1": 73, + "T2": 72.88654773438672, + "T3": 72.18651895099697, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143986189 + }, + { + "T1": 73, + "T2": 72.9000015258789, + "T3": 72.19999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144016189 + }, + { + "T1": 73, + "T2": 73.0910299787953, + "T3": 72.29552058859788, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144046189 + }, + { + "T1": 73, + "T2": 73.19102916893111, + "T3": 72.30000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144076189 + }, + { + "T1": 73, + "T2": 73.2910283590669, + "T3": 72.58652502707798, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144106189 + }, + { + "T1": 73, + "T2": 73.39102754920269, + "T3": 72.5999984741211, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144136189 + }, + { + "T1": 73.95485451454854, + "T2": 73.49102673933848, + "T3": 72.79100472742708, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144166189 + }, + { + "T1": 74, + "T2": 73.5, + "T3": 72.89099927588147, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144196189 + }, + { + "T1": 74, + "T2": 73.5955055088816, + "T3": 72.99099382433587, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144226189 + }, + { + "T1": 74, + "T2": 73.5999984741211, + "T3": 73, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144256189 + }, + { + "T1": 73.04502492123557, + "T2": 73.31345419164109, + "T3": 72.9044920561043, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144286189 + }, + { + "T1": 73, + "T2": 73.30000305175781, + "T3": 72.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144316189 + }, + { + "T1": 73, + "T2": 72.91791582326105, + "T3": 72.61344950767715, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144346189 + }, + { + "T1": 73, + "T2": 72.9000015258789, + "T3": 72.5999984741211, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144376189 + }, + { + "T1": 72.04502883045029, + "T2": 72.32690163841824, + "T3": 72.21796218634307, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144406189 + }, + { + "T1": 72, + "T2": 72.30000305175781, + "T3": 72.19999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144436189 + }, + { + "T1": 72, + "T2": 71.91792855971427, + "T3": 72.00897682892123, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144466189 + }, + { + "T1": 72, + "T2": 71.9000015258789, + "T3": 72, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144496189 + }, + { + "T1": 72, + "T2": 71.61342928227853, + "T3": 71.71347289187389, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144526189 + }, + { + "T1": 72, + "T2": 71.5999984741211, + "T3": 71.56347702324034, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144556189 + }, + { + "T1": 72, + "T2": 71.12242160552681, + "T3": 71.41348115460677, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144586189 + }, + { + "T1": 72, + "T2": 71.0999984741211, + "T3": 71.4000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144616189 + }, + { + "T1": 71.04495899179835, + "T2": 70.81343396607514, + "T3": 71.01794156356597, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144646189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 71, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144676189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 70.80898246576318, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144706189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 70.80000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144736189 + }, + { + "T1": 71.95503183439448, + "T2": 71.08655345519186, + "T3": 70.89551477811509, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144766189 + }, + { + "T1": 72, + "T2": 71.0999984741211, + "T3": 70.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144796189 + }, + { + "T1": 72, + "T2": 71.48207326494853, + "T3": 71.09102527770996, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144826189 + }, + { + "T1": 72, + "T2": 71.5, + "T3": 71.0999984741211, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144856189 + }, + { + "T1": 72, + "T2": 71.97760758691956, + "T3": 71.48206600045644, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144886189 + }, + { + "T1": 72, + "T2": 72, + "T3": 71.5, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144916189 + }, + { + "T1": 72.95503483217226, + "T2": 72.38207538836535, + "T3": 71.69102405092764, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144946189 + }, + { + "T1": 73, + "T2": 72.4000015258789, + "T3": 71.69999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144976189 + }, + { + "T1": 73, + "T2": 72.6865617054026, + "T3": 71.98654941482668, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775145006189 + }, + { + "T1": 73, + "T2": 72.69999694824219, + "T3": 72, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775145036189 + }, + { + "T1": 73, + "T2": 72.89103191854572, + "T3": 72.09550884194186, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775145066189 + }, + { + "T1": 73, + "T2": 72.9000015258789, + "T3": 72.0999984741211, + "T4": 0, + "T5": 74, + "T6": 74.30000305175781, + "t_stamp": 1775145096189 + }, + { + "T1": 73, + "T2": 73.18655648129696, + "T3": 72.29102603001452, + "T4": 0, + "T5": 74, + "T6": 74.39551666906219, + "t_stamp": 1775145126189 + }, + { + "T1": 73, + "T2": 73.19999694824219, + "T3": 72.30000305175781, + "T4": 0, + "T5": 74, + "T6": 74.44551507281601, + "t_stamp": 1775145156189 + }, + { + "T1": 73, + "T2": 73.39102971730324, + "T3": 72.58652412887812, + "T4": 0, + "T5": 74, + "T6": 74.49551347656983, + "t_stamp": 1775145186189 + }, + { + "T1": 73, + "T2": 73.49102593226401, + "T3": 72.5999984741211, + "T4": 73.80000305175781, + "T5": 74, + "T6": 74.54551188032364, + "t_stamp": 1775145216189 + }, + { + "T1": 73, + "T2": 73.59102214722478, + "T3": 72.79101314565658, + "T4": 73.89549348673924, + "T5": 74, + "T6": 74.59551028407746, + "t_stamp": 1775145246189 + }, + { + "T1": 73, + "T2": 73.5999984741211, + "T3": 72.80000305175781, + "T4": 73.9000015258789, + "T5": 74, + "T6": 74.64550868783128, + "t_stamp": 1775145276189 + }, + { + "T1": 73, + "T2": 73.50449144841433, + "T3": 72.89550022798875, + "T4": 73.70902973559983, + "T5": 74, + "T6": 74.6955070915851, + "t_stamp": 1775145306189 + }, + { + "T1": 73, + "T2": 73.5, + "T3": 72.9000015258789, + "T4": 73.69999694824219, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775145336189 + }, + { + "T1": 73, + "T2": 73.21346253406811, + "T3": 72.70898775339397, + "T4": 73.2225325351342, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775145366189 + }, + { + "T1": 73, + "T2": 73.19999694824219, + "T3": 72.69999694824219, + "T4": 73.19999694824219, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775145396189 + }, + { + "T1": 72.04503558511259, + "T2": 72.62689975077468, + "T3": 72.41348267688751, + "T4": 72.62706227763276, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775145426189 + }, + { + "T1": 72, + "T2": 72.5999984741211, + "T3": 72.26348305835724, + "T4": 72.3270755400196, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775145456189 + }, + { + "T1": 72, + "T2": 72.21794308516539, + "T3": 72.11348343982696, + "T4": 72.02708880240647, + "T5": 74, + "T6": 74.50897289731455, + "t_stamp": 1775145486189 + }, + { + "T1": 72, + "T2": 72.19999694824219, + "T3": 72.0999984741211, + "T4": 72, + "T5": 74, + "T6": 74.5, + "t_stamp": 1775145516189 + }, + { + "T1": 72, + "T2": 72.00896682874048, + "T3": 71.90898183787058, + "T4": 71.71353617969872, + "T5": 74, + "T6": 74.40448494024915, + "t_stamp": 1775145546189 + }, + { + "T1": 72, + "T2": 72, + "T3": 71.9000015258789, + "T4": 71.5635315610145, + "T5": 74, + "T6": 74.4000015258789, + "t_stamp": 1775145576189 + }, + { + "T1": 71.04509624197983, + "T2": 71.61796371222198, + "T3": 71.51799190264724, + "T4": 71.41352694233026, + "T5": 73.04526214045262, + "T6": 74.20897973862184, + "t_stamp": 1775145606189 + }, + { + "T1": 71, + "T2": 71.5999984741211, + "T3": 71.5, + "T4": 71.4000015258789, + "T5": 73, + "T6": 74.19999694824219, + "t_stamp": 1775145636189 + }, + { + "T1": 71, + "T2": 71.4089751709723, + "T3": 71.30898957103247, + "T4": 71.20900427142125, + "T5": 73, + "T6": 74.10448529666779, + "t_stamp": 1775145666189 + }, + { + "T1": 71, + "T2": 71.4000015258789, + "T3": 71.20898585610558, + "T4": 71.19999694824219, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775145696189 + }, + { + "T1": 71, + "T2": 71.11345383524845, + "T3": 71.10898214117869, + "T4": 71.2955010352976, + "T5": 73, + "T6": 73.90897153850779, + "t_stamp": 1775145726189 + }, + { + "T1": 71, + "T2": 71.0999984741211, + "T3": 71.0999984741211, + "T4": 71.30000305175781, + "T5": 73, + "T6": 73.9000015258789, + "t_stamp": 1775145756189 + }, + { + "T1": 71, + "T2": 71.29102442719389, + "T3": 71.00449000632148, + "T4": 71.68200328967671, + "T5": 73, + "T6": 73.80448593164063, + "t_stamp": 1775145786189 + }, + { + "T1": 71, + "T2": 71.39102230871657, + "T3": 71, + "T4": 71.69999694824219, + "T5": 73, + "T6": 73.75448562056997, + "t_stamp": 1775145816189 + }, + { + "T1": 71.95490450954904, + "T2": 71.49102019023927, + "T3": 71.09550217582134, + "T4": 71.9864762147951, + "T5": 73, + "T6": 73.70448530949929, + "t_stamp": 1775145846189 + }, + { + "T1": 72, + "T2": 71.5, + "T3": 71.0999984741211, + "T4": 72, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775145876189 + }, + { + "T1": 72, + "T2": 71.78653769036205, + "T3": 71.29101269615379, + "T4": 72.38198085644908, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775145906189 + }, + { + "T1": 72, + "T2": 71.80000305175781, + "T3": 71.30000305175781, + "T4": 72.4000015258789, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775145936189 + }, + { + "T1": 72, + "T2": 72.18205708368671, + "T3": 71.58650412984993, + "T4": 72.5909912288158, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775145966189 + }, + { + "T1": 72, + "T2": 72.38206093937393, + "T3": 71.5999984741211, + "T4": 72.69099107327722, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775145996189 + }, + { + "T1": 72.95494849828327, + "T2": 72.58206479506114, + "T3": 71.79101573003658, + "T4": 72.79099091773864, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775146026189 + }, + { + "T1": 73, + "T2": 72.5999984741211, + "T3": 71.80000305175781, + "T4": 72.89099076220008, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775146056189 + }, + { + "T1": 73, + "T2": 72.79102662845271, + "T3": 72.08651390462869, + "T4": 72.9909906066615, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775146086189 + }, + { + "T1": 73, + "T2": 72.80000305175781, + "T3": 72.0999984741211, + "T4": 73.09099045112293, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775146116189 + }, + { + "T1": 73, + "T2": 72.89551326103211, + "T3": 72.19550201683045, + "T4": 73.19099029558436, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775146146189 + }, + { + "T1": 73, + "T2": 72.9000015258789, + "T3": 72.19999694824219, + "T4": 73.19999694824219, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775146176189 + }, + { + "T1": 73, + "T2": 73.18651305293331, + "T3": 72.39099540357618, + "T4": 73.29548830290479, + "T5": 73, + "T6": 73.79551178382536, + "t_stamp": 1775146206189 + }, + { + "T1": 73, + "T2": 73.19999694824219, + "T3": 72.4000015258789, + "T4": 73.30000305175781, + "T5": 73, + "T6": 73.84551257023382, + "t_stamp": 1775146236189 + }, + { + "T1": 73, + "T2": 73.3910172279015, + "T3": 72.68650147938611, + "T4": 73.49098605303698, + "T5": 73.95476214288095, + "T6": 73.89551335664227, + "t_stamp": 1775146266189 + }, + { + "T1": 73, + "T2": 73.49102260964031, + "T3": 72.69999694824219, + "T4": 73.5, + "T5": 74, + "T6": 73.94551414305072, + "t_stamp": 1775146296189 + }, + { + "T1": 73.95498033202213, + "T2": 73.59102799137912, + "T3": 72.89101738799087, + "T4": 73.59549824277022, + "T5": 74, + "T6": 73.99551492945916, + "t_stamp": 1775146326189 + }, + { + "T1": 74, + "T2": 73.5999984741211, + "T3": 72.9000015258789, + "T4": 73.5999984741211, + "T5": 74, + "T6": 74, + "t_stamp": 1775146356189 + }, + { + "T1": 74, + "T2": 73.50448970700269, + "T3": 72.99550362676568, + "T4": 73.50451425396847, + "T5": 74, + "T6": 74.19102071775626, + "t_stamp": 1775146386189 + }, + { + "T1": 74, + "T2": 73.5, + "T3": 73, + "T4": 73.5, + "T5": 74, + "T6": 74.19999694824219, + "t_stamp": 1775146416189 + }, + { + "T1": 73.04507117378405, + "T2": 73.2134718607351, + "T3": 72.80899943120659, + "T4": 73.11802671190719, + "T5": 74, + "T6": 74.29551159695282, + "t_stamp": 1775146446189 + }, + { + "T1": 73, + "T2": 73.19999694824219, + "T3": 72.80000305175781, + "T4": 73.0999984741211, + "T5": 74, + "T6": 74.34551315804168, + "t_stamp": 1775146476189 + }, + { + "T1": 73, + "T2": 72.62691975172388, + "T3": 72.5134808111662, + "T4": 72.8135144279433, + "T5": 74, + "T6": 74.39551471913053, + "t_stamp": 1775146506189 + }, + { + "T1": 73, + "T2": 72.5999984741211, + "T3": 72.5, + "T4": 72.66351230937772, + "T5": 74, + "T6": 74.4000015258789, + "t_stamp": 1775146536189 + }, + { + "T1": 72.04504849838338, + "T2": 72.21797279529306, + "T3": 72.30899276475274, + "T4": 72.51351019081214, + "T5": 74, + "T6": 74.4000015258789, + "t_stamp": 1775146566189 + }, + { + "T1": 72, + "T2": 72.01798727207046, + "T3": 72.30000305175781, + "T4": 72.5, + "T5": 74, + "T6": 74.4000015258789, + "t_stamp": 1775146596189 + }, + { + "T1": 72, + "T2": 71.81800174884785, + "T3": 72.01351856036717, + "T4": 72.30903186060992, + "T5": 74, + "T6": 74.30449113268415, + "t_stamp": 1775146626189 + }, + { + "T1": 72, + "T2": 71.80000305175781, + "T3": 72, + "T4": 72.30000305175781, + "T5": 74, + "T6": 74.25449179934192, + "t_stamp": 1775146656189 + }, + { + "T1": 72, + "T2": 71.51350734094821, + "T3": 71.61800610985954, + "T4": 72.2045106322756, + "T5": 74, + "T6": 74.2044924659997, + "t_stamp": 1775146686189 + }, + { + "T1": 72, + "T2": 71.36350958659763, + "T3": 71.5999984741211, + "T4": 72.19999694824219, + "T5": 74, + "T6": 74.15449313265748, + "t_stamp": 1775146716189 + }, + { + "T1": 72, + "T2": 71.21351183224705, + "T3": 71.31351262045209, + "T4": 72.00902971171794, + "T5": 73.04550832347402, + "T6": 74.10449379931526, + "t_stamp": 1775146746189 + }, + { + "T1": 72, + "T2": 71.06351407789647, + "T3": 71.30000305175781, + "T4": 72, + "T5": 73, + "T6": 74.05449446597304, + "t_stamp": 1775146776189 + }, + { + "T1": 71.0452303179788, + "T2": 70.91351632354589, + "T3": 70.91804675761882, + "T4": 71.90452441328436, + "T5": 73, + "T6": 74.00449513263082, + "t_stamp": 1775146806189 + }, + { + "T1": 71, + "T2": 70.9000015258789, + "T3": 70.9000015258789, + "T4": 71.9000015258789, + "T5": 73, + "T6": 73.9544957992886, + "t_stamp": 1775146836189 + }, + { + "T1": 71.95483032202146, + "T2": 70.99550302719929, + "T3": 70.80450669167907, + "T4": 72.09096195298896, + "T5": 73, + "T6": 73.90449646594637, + "t_stamp": 1775146866189 + }, + { + "T1": 72, + "T2": 71, + "T3": 70.80000305175781, + "T4": 72.19096566791586, + "T5": 73, + "T6": 73.9000015258789, + "t_stamp": 1775146896189 + }, + { + "T1": 72, + "T2": 71.38202085117544, + "T3": 70.99099347076417, + "T4": 72.29096938284275, + "T5": 73, + "T6": 73.9000015258789, + "t_stamp": 1775146926189 + }, + { + "T1": 72, + "T2": 71.58202478708104, + "T3": 71.09099194488526, + "T4": 72.30000305175781, + "T5": 73, + "T6": 73.9000015258789, + "t_stamp": 1775146956189 + }, + { + "T1": 72, + "T2": 71.78202872298665, + "T3": 71.19099041900635, + "T4": 72.58645110914442, + "T5": 73, + "T6": 73.9000015258789, + "t_stamp": 1775146986189 + }, + { + "T1": 72, + "T2": 71.98203265889225, + "T3": 71.19999694824219, + "T4": 72.73645009189183, + "T5": 73, + "T6": 73.9000015258789, + "t_stamp": 1775147016189 + }, + { + "T1": 72, + "T2": 72.18203659479786, + "T3": 71.48648747514811, + "T4": 72.88644907463922, + "T5": 73, + "T6": 73.99550506858826, + "t_stamp": 1775147046189 + }, + { + "T1": 72, + "T2": 72.19999694824219, + "T3": 71.63648775102472, + "T4": 73.03644805738661, + "T5": 73, + "T6": 74.0455043056488, + "t_stamp": 1775147076189 + }, + { + "T1": 72.95482193744063, + "T2": 72.48652747522168, + "T3": 71.78648802690132, + "T4": 73.18644704013401, + "T5": 73, + "T6": 74.09550354270935, + "t_stamp": 1775147106189 + }, + { + "T1": 73, + "T2": 72.63652775109828, + "T3": 71.80000305175781, + "T4": 73.19999694824219, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775147136189 + }, + { + "T1": 73, + "T2": 72.78652802697489, + "T3": 71.99099468817442, + "T4": 73.29548485421323, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775147166189 + }, + { + "T1": 73, + "T2": 72.80000305175781, + "T3": 72.0909955449819, + "T4": 73.34548724868228, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775147196189 + }, + { + "T1": 73, + "T2": 72.99101623775353, + "T3": 72.19099640178938, + "T4": 73.39548964315132, + "T5": 73.95473635090994, + "T6": 74.19550906832828, + "t_stamp": 1775147226189 + }, + { + "T1": 73, + "T2": 73.0910144155717, + "T3": 72.29099725859686, + "T4": 73.4000015258789, + "T5": 74, + "T6": 74.24550937939894, + "t_stamp": 1775147256189 + }, + { + "T1": 73, + "T2": 73.1910125933899, + "T3": 72.39099811540434, + "T4": 73.59098210407338, + "T5": 74, + "T6": 74.2955096904696, + "t_stamp": 1775147286189 + }, + { + "T1": 73, + "T2": 73.29101077120808, + "T3": 72.4000015258789, + "T4": 73.69098415224391, + "T5": 74, + "T6": 74.30000305175781, + "t_stamp": 1775147316189 + }, + { + "T1": 73, + "T2": 73.39100894902627, + "T3": 72.68650170431808, + "T4": 73.79098620041444, + "T5": 74, + "T6": 74.49101665401902, + "t_stamp": 1775147346189 + }, + { + "T1": 73, + "T2": 73.49100712684445, + "T3": 72.69999694824219, + "T4": 73.80000305175781, + "T5": 74, + "T6": 74.5, + "t_stamp": 1775147376189 + }, + { + "T1": 73.95488408526525, + "T2": 73.59100530466264, + "T3": 72.79549920906419, + "T4": 73.80000305175781, + "T5": 74, + "T6": 74.5, + "t_stamp": 1775147406189 + }, + { + "T1": 74, + "T2": 73.5999984741211, + "T3": 72.84549952013485, + "T4": 73.80000305175781, + "T5": 74, + "T6": 74.5, + "t_stamp": 1775147436189 + }, + { + "T1": 73.04511666666667, + "T2": 73.50449500632851, + "T3": 72.89549983120551, + "T4": 73.51353036314033, + "T5": 74, + "T6": 74.69100693558515, + "t_stamp": 1775147466189 + }, + { + "T1": 73, + "T2": 73.5, + "T3": 72.9000015258789, + "T4": 73.5, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775147496189 + }, + { + "T1": 73, + "T2": 73.02245112255613, + "T3": 72.80449828285163, + "T4": 73.11803217680784, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775147526189 + }, + { + "T1": 73, + "T2": 73, + "T3": 72.80000305175781, + "T4": 72.91802808046678, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775147556189 + }, + { + "T1": 73, + "T2": 72.42696055868166, + "T3": 72.41799751136467, + "T4": 72.71802398412572, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775147586189 + }, + { + "T1": 73, + "T2": 72.4000015258789, + "T3": 72.21800508144314, + "T4": 72.69999694824219, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775147616189 + }, + { + "T1": 72.04513032464503, + "T2": 72.01799250234734, + "T3": 72.0180126515216, + "T4": 72.5090097062395, + "T5": 74, + "T6": 74.60448954165366, + "t_stamp": 1775147646189 + }, + { + "T1": 72, + "T2": 72, + "T3": 72, + "T4": 72.40900940499542, + "T5": 74, + "T6": 74.55449002681803, + "t_stamp": 1775147676189 + }, + { + "T1": 72, + "T2": 71.7134837904445, + "T3": 71.71349276031103, + "T4": 72.30900910375134, + "T5": 74, + "T6": 74.50449051198241, + "t_stamp": 1775147706189 + }, + { + "T1": 72, + "T2": 71.56347792166969, + "T3": 71.69999694824219, + "T4": 72.20900880250727, + "T5": 74, + "T6": 74.45449099714678, + "t_stamp": 1775147736189 + }, + { + "T1": 72, + "T2": 71.41347205289489, + "T3": 71.50899334599505, + "T4": 72.10900850126319, + "T5": 74, + "T6": 74.40449148231114, + "t_stamp": 1775147766189 + }, + { + "T1": 72, + "T2": 71.4000015258789, + "T3": 71.5, + "T4": 72.0999984741211, + "T5": 74, + "T6": 74.4000015258789, + "t_stamp": 1775147796189 + }, + { + "T1": 71.04509774511274, + "T2": 70.92246744368164, + "T3": 71.2134966355817, + "T4": 72.00450811427115, + "T5": 73.04523107177974, + "T6": 74.4000015258789, + "t_stamp": 1775147826189 + }, + { + "T1": 71, + "T2": 70.9000015258789, + "T3": 71.19999694824219, + "T4": 72, + "T5": 73, + "T6": 74.4000015258789, + "t_stamp": 1775147856189 + }, + { + "T1": 71, + "T2": 70.80450109155004, + "T3": 70.8180600676317, + "T4": 72, + "T5": 73, + "T6": 74.20899337100508, + "t_stamp": 1775147886189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 70.80000305175781, + "T4": 72, + "T5": 73, + "T6": 74.19999694824219, + "t_stamp": 1775147916189 + }, + { + "T1": 71.95486140049672, + "T2": 70.99100665400495, + "T3": 70.80000305175781, + "T4": 72.0954846830468, + "T5": 73, + "T6": 74.10449514711863, + "t_stamp": 1775147946189 + }, + { + "T1": 72, + "T2": 71, + "T3": 70.80000305175781, + "T4": 72.0999984741211, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775147976189 + }, + { + "T1": 72, + "T2": 71.38202115761784, + "T3": 70.89549666970069, + "T4": 72.38646532572143, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775148006189 + }, + { + "T1": 72, + "T2": 71.5820252539589, + "T3": 70.9000015258789, + "T4": 72.53646891344765, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775148036189 + }, + { + "T1": 72, + "T2": 71.78202935029996, + "T3": 71.18648860318646, + "T4": 72.68647250117385, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775148066189 + }, + { + "T1": 72, + "T2": 71.80000305175781, + "T3": 71.33648969083899, + "T4": 72.83647608890007, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775148096189 + }, + { + "T1": 72, + "T2": 72.27754434411268, + "T3": 71.48649077849151, + "T4": 72.98647967662627, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775148126189 + }, + { + "T1": 72, + "T2": 72.30000305175781, + "T3": 71.63649186614404, + "T4": 73, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775148156189 + }, + { + "T1": 72.9547901148161, + "T2": 72.5865249354047, + "T3": 71.78649295379657, + "T4": 73.19098739522298, + "T5": 73, + "T6": 74.19550603396662, + "t_stamp": 1775148186189 + }, + { + "T1": 73, + "T2": 72.73652330394856, + "T3": 71.80000305175781, + "T4": 73.2909877766927, + "T5": 73, + "T6": 74.24550562903451, + "t_stamp": 1775148216189 + }, + { + "T1": 73, + "T2": 72.88652167249244, + "T3": 71.9910030207626, + "T4": 73.39098815816243, + "T5": 73, + "T6": 74.29550522410241, + "t_stamp": 1775148246189 + }, + { + "T1": 73, + "T2": 72.9000015258789, + "T3": 72, + "T4": 73.4000015258789, + "T5": 73, + "T6": 74.34550481917032, + "t_stamp": 1775148276189 + }, + { + "T1": 73, + "T2": 73.09098011481525, + "T3": 72.28645539765667, + "T4": 73.49549101486238, + "T5": 73.95457650842317, + "T6": 74.3955044142382, + "t_stamp": 1775148306189 + }, + { + "T1": 73, + "T2": 73.0999984741211, + "T3": 72.30000305175781, + "T4": 73.54548900197325, + "T5": 74, + "T6": 74.4455040093061, + "t_stamp": 1775148336189 + }, + { + "T1": 73, + "T2": 73.38650958972671, + "T3": 72.49098431111983, + "T4": 73.59548698908412, + "T5": 74, + "T6": 74.495503604374, + "t_stamp": 1775148366189 + }, + { + "T1": 73, + "T2": 73.4000015258789, + "T3": 72.59099195260806, + "T4": 73.5999984741211, + "T5": 74, + "T6": 74.5455031994419, + "t_stamp": 1775148396189 + }, + { + "T1": 73, + "T2": 73.49550419780262, + "T3": 72.6909995940963, + "T4": 73.88648071230567, + "T5": 74, + "T6": 74.59550279450978, + "t_stamp": 1775148426189 + }, + { + "T1": 73, + "T2": 73.54550385152695, + "T3": 72.69999694824219, + "T4": 73.9000015258789, + "T5": 74, + "T6": 74.64550238957769, + "t_stamp": 1775148456189 + }, + { + "T1": 73, + "T2": 73.59550350525127, + "T3": 72.79550285210294, + "T4": 73.61353180342597, + "T5": 74, + "T6": 74.69550198464559, + "t_stamp": 1775148486189 + }, + { + "T1": 73, + "T2": 73.5999984741211, + "T3": 72.80000305175781, + "T4": 73.46353718471632, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775148516189 + }, + { + "T1": 73, + "T2": 73.3135021708082, + "T3": 72.80000305175781, + "T4": 73.31354256600667, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775148546189 + }, + { + "T1": 73, + "T2": 73.30000305175781, + "T3": 72.80000305175781, + "T4": 73.30000305175781, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775148576189 + }, + { + "T1": 73, + "T2": 72.91797612608174, + "T3": 72.70449585605918, + "T4": 72.91803582971914, + "T5": 74, + "T6": 74.79550921948156, + "t_stamp": 1775148606189 + }, + { + "T1": 73, + "T2": 72.9000015258789, + "T3": 72.69999694824219, + "T4": 72.9000015258789, + "T5": 74, + "T6": 74.80000305175781, + "t_stamp": 1775148636189 + }, + { + "T1": 72.04509924834586, + "T2": 72.42248410979278, + "T3": 72.31800884347149, + "T4": 72.61352838625683, + "T5": 74, + "T6": 74.70449806646334, + "t_stamp": 1775148666189 + }, + { + "T1": 72, + "T2": 72.17249244284834, + "T3": 72.30000305175781, + "T4": 72.5999984741211, + "T5": 74, + "T6": 74.65449894670148, + "t_stamp": 1775148696189 + }, + { + "T1": 72, + "T2": 71.9225007759039, + "T3": 72.01350513737997, + "T4": 72.40902513697309, + "T5": 74, + "T6": 74.60449982693962, + "t_stamp": 1775148726189 + }, + { + "T1": 72, + "T2": 71.67250910895947, + "T3": 72, + "T4": 72.30902862574258, + "T5": 74, + "T6": 74.55450070717775, + "t_stamp": 1775148756189 + }, + { + "T1": 72, + "T2": 71.42251744201504, + "T3": 71.52256403419601, + "T4": 72.20903211451208, + "T5": 74, + "T6": 74.50450158741589, + "t_stamp": 1775148786189 + }, + { + "T1": 72, + "T2": 71.4000015258789, + "T3": 71.5, + "T4": 72.10903560328158, + "T5": 74, + "T6": 74.5, + "t_stamp": 1775148816189 + }, + { + "T1": 71.04513709475789, + "T2": 71.11350986703016, + "T3": 71.21353595410469, + "T4": 72.00903909205108, + "T5": 74, + "T6": 74.5, + "t_stamp": 1775148846189 + }, + { + "T1": 71, + "T2": 70.96350899849266, + "T3": 71.0635338355391, + "T4": 71.9090425808206, + "T5": 74, + "T6": 74.5, + "t_stamp": 1775148876189 + }, + { + "T1": 71, + "T2": 70.81350812995514, + "T3": 70.91353171697352, + "T4": 71.8090460695901, + "T5": 73.04536213045363, + "T6": 74.40450123222904, + "t_stamp": 1775148906189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 70.9000015258789, + "T4": 71.80000305175781, + "T5": 73, + "T6": 74.4000015258789, + "t_stamp": 1775148936189 + }, + { + "T1": 71, + "T2": 70.89550311123753, + "T3": 70.9000015258789, + "T4": 72.0864623270341, + "T5": 73, + "T6": 74.20899397077659, + "t_stamp": 1775148966189 + }, + { + "T1": 71, + "T2": 70.9000015258789, + "T3": 70.9000015258789, + "T4": 72.0999984741211, + "T5": 73, + "T6": 74.19999694824219, + "t_stamp": 1775148996189 + }, + { + "T1": 71.95491516383879, + "T2": 70.9000015258789, + "T3": 70.99549991866184, + "T4": 72.29098587814357, + "T5": 73, + "T6": 74.10449196356608, + "t_stamp": 1775149026189 + }, + { + "T1": 72, + "T2": 70.9000015258789, + "T3": 71, + "T4": 72.30000305175781, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775149056189 + }, + { + "T1": 72, + "T2": 70.9000015258789, + "T3": 71, + "T4": 72.30000305175781, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775149086189 + }, + { + "T1": 72, + "T2": 70.9000015258789, + "T3": 71, + "T4": 72.30000305175781, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775149116189 + } + ], + "hiRange": 90, + "lib": { + "MMR1": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_tt01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_tt02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_tt03_c/val" + } + ], + "MMR2": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1188/satb1_hs1_mmr1188_tt01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1188/satb1_hs1_mmr1188_tt02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1188/satb1_hs1_mmr1188_tt03_c/val" + } + ], + "TL200": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_tt01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_tt02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_tt03_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T4", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_tt01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T5", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_tt02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T6", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_tt03_c/val" + } + ] + }, + "loRange": 50, + "tagPath": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_tt01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_tt02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_tt03_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T4", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_tt01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T5", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_tt02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T6", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_tt03_c/val" + } + ] + }, + "params": { + "room": "TL200" + }, + "propConfig": { + "custom.alarmHi": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--sunsetorange)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.tagPath}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + }, + "persistent": true + }, + "custom.hiRange": { + "persistent": true + }, + "custom.lib": { + "persistent": true + }, + "custom.loRange": { + "persistent": true + }, + "custom.tagPath": { + "binding": { + "config": { + "struct": { + "lib": "{view.custom.lib}", + "room": "{view.params.room}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tlibrary \u003d value[\u0027lib\u0027]\n\treturn library[value[\u0027room\u0027]]", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.room": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 102, + "width": 125 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "time01" + }, + "position": { + "height": 25, + "width": 37, + "x": 85, + "y": 60 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "time02" + }, + "position": { + "height": 25, + "width": 38, + "x": 6, + "y": 60 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-7200000" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Sparkline", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 65, + "width": 108, + "x": 10.5, + "y": 5.5 + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "code": "\tdata \u003d []\n\tfor item in value:\n\t\tdim \u003d len(dict(item))\n\t\tif dim \u003d\u003d 4:\n\t\t\tavg \u003d (item[\u0027T1\u0027]+item[\u0027T2\u0027]+item[\u0027T3\u0027] )/3\n\t\tif dim \u003d\u003d 7:\n\t\t\tavg \u003d (item[\u0027T1\u0027]+item[\u0027T2\u0027]+item[\u0027T3\u0027]+item[\u0027T4\u0027]+item[\u0027T5\u0027]+item[\u0027T6\u0027] )/6\n\t\tdata.append(avg)\n\treturn data", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.max": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.min": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "transforms": [ + { + "expression": "min({value})", + "type": "expression" + } + ], + "type": "property" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "min": "{this.custom.min}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "\"Max: \" + {value}[\u0027max\u0027] + \" | \" + \"Min: \" + {value}[\u0027min\u0027]\r\n", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.desired.high": { + "binding": { + "config": { + "path": "view.custom.hiRange" + }, + "enabled": false, + "type": "property" + } + }, + "props.desired.low": { + "binding": { + "config": { + "path": "view.custom.hiRange" + }, + "enabled": false, + "type": "property" + } + }, + "props.points": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "type": "property" + } + }, + "props.range.high": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "range": 77 + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027max\u0027] \u003c value[\u0027range\u0027]:\n\t\treturn value[\u0027range\u0027]\n\telse:\n\t\treturn value[\u0027max\u0027]+0.7", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.range.low": { + "binding": { + "config": { + "struct": { + "min": "{this.custom.min}", + "range": 60 + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027min\u0027] \u003e value[\u0027range\u0027]:\n\t\treturn value[\u0027range\u0027]\n\telse:\n\t\treturn value[\u0027min\u0027]-0.7", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "desired": { + "fill": { + "color": "var(--container)" + }, + "high": 77, + "low": 60 + }, + "marker": { + "high": { + "fill": { + "color": "#FB9306" + }, + "style": { + "transform": "rotate(180)" + } + } + }, + "range": {} + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "CurrentTemp": { + "MMR1": [ + null, + null, + null + ], + "MMR2": [ + null, + null, + null + ], + "TL200": [ + null, + null, + null, + null, + null, + null + ] + } + }, + "meta": { + "name": "Value" + }, + "position": { + "height": 32, + "width": 39, + "x": 18.5045, + "y": 73.5 + }, + "propConfig": { + "custom.CurrentTemp.MMR1[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_TT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.MMR1[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_TT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.MMR1[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_TT03_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.MMR2[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_TT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.MMR2[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_TT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.MMR2[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_TT03_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.TL200[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL198_TT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.TL200[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL198_TT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.TL200[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL198_TT03_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.TL200[3]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_TT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.TL200[4]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_TT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.TL200[5]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_TT03_C/Val" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "struct": { + "current": "{this.custom.CurrentTemp}", + "room": "{view.params.room}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tlib \u003d value[\u0027current\u0027]\n\tdim \u003d len(lib[value[\u0027room\u0027]])\n\tavg \u003d 0\n\tfor item in lib[value[\u0027room\u0027]]:\n\t\tavg +\u003d item\n\treturn avg / dim", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 32, + "width": 41, + "x": 60.5045, + "y": 73.5 + }, + "props": { + "text": "degF" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root", + "tooltip": { + "width": "" + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/35cf7305ed70fdcee2cc465732064275c8e071d56d7ca57de93c0aa035ef2c6a b/Gateways/FE/projects/.resources/35cf7305ed70fdcee2cc465732064275c8e071d56d7ca57de93c0aa035ef2c6a new file mode 100644 index 0000000..2f76340 --- /dev/null +++ b/Gateways/FE/projects/.resources/35cf7305ed70fdcee2cc465732064275c8e071d56d7ca57de93c0aa035ef2c6a @@ -0,0 +1,434 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 200, + "width": 600 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "alignContent": "space-around", + "alignItems": "center", + "direction": "column", + "elementPosition": { + "shrink": 0 + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + } + ], + "justify": "space-around", + "path": "Library/Symbols/HVAC/Sym_DOAS_Status", + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 65, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 60, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 65, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 60, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 65, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 60, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50, + "setpointValue": "" + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexRepeater_0" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "alignContent": "space-around", + "alignItems": "center", + "direction": "column", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "RTU01", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "RTU02", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + } + ], + "justify": "space-around", + "path": "Library/Symbols/HVAC/Sym_RTU_Status", + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 60, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 55, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 60, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 55, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "25%", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/363e19a6f5dc58abf3612004c10d95e6c56317a5bf44b96748f4d4b344d35396 b/Gateways/FE/projects/.resources/363e19a6f5dc58abf3612004c10d95e6c56317a5bf44b96748f4d4b344d35396 new file mode 100644 index 0000000..ae2f723 --- /dev/null +++ b/Gateways/FE/projects/.resources/363e19a6f5dc58abf3612004c10d95e6c56317a5bf44b96748f4d4b344d35396 @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderTopColor": "var(--warning)", + "borderTopStyle": "solid", + "borderTopWidth": "4px", + "boxShadow": "0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22)" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3652ee1ae05c625e218f9aa52f73e8450c20776e36b7083c52ebf4df4e584c1c b/Gateways/FE/projects/.resources/3652ee1ae05c625e218f9aa52f73e8450c20776e36b7083c52ebf4df4e584c1c new file mode 100644 index 0000000..3896859 --- /dev/null +++ b/Gateways/FE/projects/.resources/3652ee1ae05c625e218f9aa52f73e8450c20776e36b7083c52ebf4df4e584c1c @@ -0,0 +1,122 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Hi Temperature Alm Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Lo Temperature Alm Setpoint" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_HF" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/368f409f3e70f31d7b1c5e00c755520f92e2ce60f205eecdacba8def3132c12f b/Gateways/FE/projects/.resources/368f409f3e70f31d7b1c5e00c755520f92e2ce60f205eecdacba8def3132c12f new file mode 100644 index 0000000..cbbffff Binary files /dev/null and b/Gateways/FE/projects/.resources/368f409f3e70f31d7b1c5e00c755520f92e2ce60f205eecdacba8def3132c12f differ diff --git a/Gateways/FE/projects/.resources/3723950589125555149ecc2a9267638a8e76fe5fd0d82ee9f87496b9399459df b/Gateways/FE/projects/.resources/3723950589125555149ecc2a9267638a8e76fe5fd0d82ee9f87496b9399459df new file mode 100644 index 0000000..87829bb --- /dev/null +++ b/Gateways/FE/projects/.resources/3723950589125555149ecc2a9267638a8e76fe5fd0d82ee9f87496b9399459df @@ -0,0 +1,226 @@ +{ + "custom": {}, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + "propConfig": { + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40%" + }, + "props": { + "text": "Schedule Override" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "60%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Schedule Override Cmd" + }, + "type": "tag" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 0 + }, + { + "label": "Force Occupied", + "value": 1 + }, + { + "label": "Force Unoccupied", + "value": 2 + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "FlexContainer" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "LeftContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40%" + }, + "props": { + "text": "HVAC Override" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "60%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/HVAC Override Cmd" + }, + "type": "tag" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 0 + }, + { + "label": "Vent", + "value": 1 + }, + { + "label": "Cool", + "value": 2 + }, + { + "label": "Heat", + "value": 3 + }, + { + "label": "Vent Dehum", + "value": 4 + }, + { + "label": "Cool Dehum", + "value": 5 + }, + { + "label": "Heat Dehum", + "value": 6 + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "FlexContainer" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "RightContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/375996a66ecc148f14e248122893ad775b19e2158a7ce6cf80c6c122d45bea81 b/Gateways/FE/projects/.resources/375996a66ecc148f14e248122893ad775b19e2158a7ce6cf80c6c122d45bea81 new file mode 100644 index 0000000..039a1f6 --- /dev/null +++ b/Gateways/FE/projects/.resources/375996a66ecc148f14e248122893ad775b19e2158a7ce6cf80c6c122d45bea81 @@ -0,0 +1,878 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 200, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "XYChart" + }, + "position": { + "basis": "375px" + }, + "props": { + "dataSources": { + "example": [ + { + "output_temp": 38, + "process_temp": 63, + "t_stamp": "Tue Aug 07 2018" + }, + { + "output_temp": 39, + "process_temp": 59, + "t_stamp": "Tue Aug 08 2018" + }, + { + "output_temp": 41, + "process_temp": 62, + "t_stamp": "Tue Aug 09 2018" + }, + { + "output_temp": 37, + "process_temp": 63, + "t_stamp": "Tue Aug 10 2018" + }, + { + "output_temp": 31, + "process_temp": 48, + "t_stamp": "Tue Aug 11 2018" + }, + { + "output_temp": 42, + "process_temp": 54, + "t_stamp": "Tue Aug 12 2018" + }, + { + "output_temp": 38, + "process_temp": 49, + "t_stamp": "Tue Aug 13 2018" + }, + { + "output_temp": 34, + "process_temp": 69, + "t_stamp": "Tue Aug 14 2018" + }, + { + "output_temp": 56, + "process_temp": 73, + "t_stamp": "Tue Aug 15 2018" + }, + { + "output_temp": 32, + "process_temp": 61, + "t_stamp": "Tue Aug 16 2018" + }, + { + "output_temp": 62, + "process_temp": 73, + "t_stamp": "Tue Aug 17 2018" + } + ] + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "example", + "x": "t_stamp", + "y": "process_temp" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "process temp", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "process temp", + "zIndex": 0 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "example", + "x": "t_stamp", + "y": "output_temp" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Output Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "output temp", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "output temp", + "zIndex": 0 + } + ], + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "Process Temp" + }, + "name": "process temp", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + }, + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "4,4", + "minDistance": null, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": true + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "Output Temp" + }, + "name": "output temp", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/378d9478b49e3aeef734c089c92d3cadff85956c5bd11d462a08ad365255507c b/Gateways/FE/projects/.resources/378d9478b49e3aeef734c089c92d3cadff85956c5bd11d462a08ad365255507c new file mode 100644 index 0000000..83a4497 Binary files /dev/null and b/Gateways/FE/projects/.resources/378d9478b49e3aeef734c089c92d3cadff85956c5bd11d462a08ad365255507c differ diff --git a/Gateways/FE/projects/.resources/379a28725c1971a3a93f34614eadeec1dd319e9489cb1a69366c377df70e4d0d b/Gateways/FE/projects/.resources/379a28725c1971a3a93f34614eadeec1dd319e9489cb1a69366c377df70e4d0d new file mode 100644 index 0000000..93df9bb --- /dev/null +++ b/Gateways/FE/projects/.resources/379a28725c1971a3a93f34614eadeec1dd319e9489cb1a69366c377df70e4d0d @@ -0,0 +1,534 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 38, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Energy Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 40, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Energy Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 16, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Current Avg", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Current N", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 25, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Apparent Power Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 27, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Apparent Power Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 26, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Reactive Power Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 28, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Reactive Power Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 33, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Real Power Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 35, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Real Power Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 19, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 29, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Apparent Power Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 31, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Apparent Power Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 30, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Reactive Power Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 32, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Reactive Power Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 37, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Real Power Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 39, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Real Power Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 20, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 34, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Energy Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 36, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Energy Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 18, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 21, + "instanceStyle": { + "classes": "" + }, + "name": "Real Energy", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 22, + "instanceStyle": { + "classes": "" + }, + "name": "Real Energy Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 24, + "instanceStyle": { + "classes": "" + }, + "name": "Real Energy Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 17, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Average", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CN", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A/PQM_Main" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027visible\u0027] \u003d True\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.instances[22].visible": { + "binding": { + "config": { + "expression": "False" + }, + "type": "expr" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/37f76680657c2576720740867b051dce6c0f624be295679e0f3dad1c4610cdb0 b/Gateways/FE/projects/.resources/37f76680657c2576720740867b051dce6c0f624be295679e0f3dad1c4610cdb0 new file mode 100644 index 0000000..1e4aeac --- /dev/null +++ b/Gateways/FE/projects/.resources/37f76680657c2576720740867b051dce6c0f624be295679e0f3dad1c4610cdb0 @@ -0,0 +1,136 @@ +{ + "custom": {}, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Bypass Permissive OK", + "text": "value" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.text": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 30, + "width": 100 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.value" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-faulted)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.text" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.value" + }, + "enabled": false, + "transforms": [ + { + "fallback": "black", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "black" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "backgroundColor": "white", + "borderBottomLeftRadius": "3px", + "borderBottomRightRadius": "3px", + "borderTopLeftRadius": "3px", + "borderTopRightRadius": "3px", + "boxShadow": "var(--boxShadow2)" + }, + "textStyle": { + "color": "black", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3824d0953fa5242dac5ad97b6ce8d059b5a6037009dc287298b5d273d2aa6960 b/Gateways/FE/projects/.resources/3824d0953fa5242dac5ad97b6ce8d059b5a6037009dc287298b5d273d2aa6960 new file mode 100644 index 0000000..4d053b3 --- /dev/null +++ b/Gateways/FE/projects/.resources/3824d0953fa5242dac5ad97b6ce8d059b5a6037009dc287298b5d273d2aa6960 @@ -0,0 +1,169 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "At Max", + "options": [ + "No", + "Yes" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "At Min", + "options": [ + "No", + "Yes" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Error", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Activate", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input PV", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Out CV", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_2" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/38461743f9b9b15be7d2273f5ccdfff952bb455c435c7bad4ef7566ddd8bbdfe b/Gateways/FE/projects/.resources/38461743f9b9b15be7d2273f5ccdfff952bb455c435c7bad4ef7566ddd8bbdfe new file mode 100644 index 0000000..427e32c --- /dev/null +++ b/Gateways/FE/projects/.resources/38461743f9b9b15be7d2273f5ccdfff952bb455c435c7bad4ef7566ddd8bbdfe @@ -0,0 +1,133 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "EquipCounts", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Stopped", + "Running" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/384e454c0968d3773f97e79e790ba93e30e362462d7e2d2cdc464cff6d95773d b/Gateways/FE/projects/.resources/384e454c0968d3773f97e79e790ba93e30e362462d7e2d2cdc464cff6d95773d new file mode 100644 index 0000000..5f568af --- /dev/null +++ b/Gateways/FE/projects/.resources/384e454c0968d3773f97e79e790ba93e30e362462d7e2d2cdc464cff6d95773d @@ -0,0 +1,225 @@ +{ + "custom": { + "H": false, + "v": true + }, + "params": { + "EU": "degF", + "EU_Pos": 0, + "Val": 83 + }, + "propConfig": { + "custom.H": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": true + }, + { + "input": 0, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.v": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": false + }, + { + "input": 0, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.EU": { + "paramDirection": "input", + "persistent": true + }, + "params.EU_Pos": { + "paramDirection": "input", + "persistent": true + }, + "params.Val": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 75 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Var", + "tooltip": { + "width": "100%" + } + }, + "position": { + "align": "center" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.Val" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "#021CB4", + "fontSize": 12, + "fontWeight": "bold", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU H" + }, + "position": { + "basis": "AUTO" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.custom.H" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.EU" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "marginLeft": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer", + "tooltip": { + "width": 1 + } + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "alignItems": "center", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EU Ver" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.EU" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.custom.v" + }, + "type": "property" + } + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "justify": "flex-end" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/38f3ad61e118602357dc910ae4b42a914ce05fae7b935793cb82bec63e5941cb b/Gateways/FE/projects/.resources/38f3ad61e118602357dc910ae4b42a914ce05fae7b935793cb82bec63e5941cb new file mode 100644 index 0000000..e7ce32f --- /dev/null +++ b/Gateways/FE/projects/.resources/38f3ad61e118602357dc910ae4b42a914ce05fae7b935793cb82bec63e5941cb @@ -0,0 +1,754 @@ +{ + "custom": { + "providers": [ + "Ignition_Common_IO_Gtwy", + "Ignition_SATB1_IO1_default", + "Ignition_SATB1_IO2_default", + "Ignition_SATB1_IO3_default", + "Ignition_SATB1_IO4_default", + "Ignition_SATB1_IO5_default" + ] + }, + "events": { + "system": { + "onStartup": { + "config": { + "script": "\n\tend \u003d system.date.now()\n\tstart \u003d system.date.addDays(end, -7)\n\t\n\tself.getChild(\"root\").getChild(\"Data\").getChild(\"Settings\").getChild(\"StartDate\").getChild(\"DateTimeInput\").props.value \u003d start\n\tself.getChild(\"root\").getChild(\"Data\").getChild(\"Settings\").getChild(\"EndDate\").getChild(\"DateTimeInput\").props.value \u003d end" + }, + "scope": "G", + "type": "script" + } + } + }, + "params": {}, + "propConfig": { + "custom.providers": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1255 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "80px" + }, + "props": { + "text": "Provider" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "struct": { + "provs": "{view.custom.providers}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tret \u003d []\n\t\n\tfor val in value[\u0027provs\u0027]:\n\t\titem \u003d {\n\t\t\t\"value\": \u0027[\u0027+val+\u0027]\u0027,\n\t\t\t\"label\": val\n\t\t}\n\t\tret.append(item)\n\treturn ret", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "value": "[Ignition_Common_IO_Gtwy]" + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Provider" + }, + "position": { + "basis": "36px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TagBrowseTree" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.root.path": { + "binding": { + "config": { + "path": "../Provider/Dropdown.props.value" + }, + "type": "property" + } + } + }, + "props": { + "filter": { + "enabled": true + }, + "root": {} + }, + "scripts": { + "customMethods": [], + "extensionFunctions": [ + { + "enabled": true, + "name": "filterBrowseNode", + "script": "\t#system.perspective.print(str(node))\n\tif node.attributes is not None:\n\t\tfor attribute in node.getAttributes():\n\t\t\tif attribute.getId() \u003d\u003d \"history\":\n\t\t\t\treturn True\n\treturn node.hasChildren()" + } + ], + "messageHandlers": [] + }, + "type": "ia.display.tag-browse-tree" + } + ], + "meta": { + "name": "TagSelect" + }, + "position": { + "basis": "325px" + }, + "props": { + "direction": "column", + "style": { + "gap": "5px", + "overflow": "visible", + "paddingLeft": "5px", + "paddingRight": "5px", + "paddingTop": "80px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Mode" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "36px" + }, + "props": { + "options": [ + { + "label": "Historical", + "value": "historical" + }, + { + "label": "Realtime", + "value": "realtime" + } + ], + "value": "historical" + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Mode" + }, + "position": { + "basis": "150px", + "shrink": 0 + }, + "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" + }, + "props": { + "formattedValue": "Feb 5, 2026 11:05 AM", + "inputProps": { + "style": { + "fontSize": 12 + } + }, + "value": { + "$": [ + "ts", + 192, + 1770915919423 + ], + "$ts": 1770311119423 + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "StartDate" + }, + "position": { + "basis": "160px", + "shrink": 0 + }, + "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": { + "expression": "addDays(now(0),-1)" + }, + "type": "expr" + } + } + }, + "props": { + "formattedValue": "Feb 12, 2026 11:05 AM", + "inputProps": { + "style": { + "fontSize": 12 + } + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "EndDate" + }, + "position": { + "basis": "160px", + "shrink": 0 + }, + "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 + }, + "props": { + "format": 0, + "value": 1 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "256px" + }, + "props": { + "options": [ + { + "label": "min", + "value": "minutes" + }, + { + "label": "hour", + "value": "hours" + }, + { + "label": "day", + "value": "days" + } + ], + "value": "minutes" + }, + "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", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "gap": "5px", + "paddingRight": "3px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tspp \u003d self.parent.parent\n\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 self.parent.parent.parent.parent.getChild(\"TagSelect\").getChild(\"TagBrowseTree\").props.selection.values\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\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.xlsx\"%()\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": "114px", + "shrink": 0 + }, + "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": "Data" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/39099d21f40e4cc8b7933397e94e6ecc9d67137a6588f02154c73bc8ccd88dd7 b/Gateways/FE/projects/.resources/39099d21f40e4cc8b7933397e94e6ecc9d67137a6588f02154c73bc8ccd88dd7 new file mode 100644 index 0000000..b88124b Binary files /dev/null and b/Gateways/FE/projects/.resources/39099d21f40e4cc8b7933397e94e6ecc9d67137a6588f02154c73bc8ccd88dd7 differ diff --git a/Gateways/FE/projects/.resources/39494e0960a47ba81ea0111dbaf39d843f483d63d429be985b32f16553ce9e7a b/Gateways/FE/projects/.resources/39494e0960a47ba81ea0111dbaf39d843f483d63d429be985b32f16553ce9e7a new file mode 100644 index 0000000..8823513 Binary files /dev/null and b/Gateways/FE/projects/.resources/39494e0960a47ba81ea0111dbaf39d843f483d63d429be985b32f16553ce9e7a differ diff --git a/Gateways/FE/projects/.resources/396cfb05e11fa3e1d473cb10efa1e2c90753164da0bfc4555006cc0c6cc5a96e b/Gateways/FE/projects/.resources/396cfb05e11fa3e1d473cb10efa1e2c90753164da0bfc4555006cc0c6cc5a96e new file mode 100644 index 0000000..9a9f578 Binary files /dev/null and b/Gateways/FE/projects/.resources/396cfb05e11fa3e1d473cb10efa1e2c90753164da0bfc4555006cc0c6cc5a96e differ diff --git a/Gateways/FE/projects/.resources/39c95a393df273e2e08aa29307a526bb5a3cf562390b241e30fdc4a1ba3dd246 b/Gateways/FE/projects/.resources/39c95a393df273e2e08aa29307a526bb5a3cf562390b241e30fdc4a1ba3dd246 new file mode 100644 index 0000000..9a14adc --- /dev/null +++ b/Gateways/FE/projects/.resources/39c95a393df273e2e08aa29307a526bb5a3cf562390b241e30fdc4a1ba3dd246 @@ -0,0 +1,34 @@ +def browseTags(path="", filters=None, expanded=False): + treeItems = [] + results = system.tag.browse(path, {} if filters == None else filters) + + if results != None and results.getResults() != None: + for result in results.getResults(): + name = result["name"] + if name != "_types_": + treeItem = {"label":name, "expanded":expanded, "data":{"path":result["fullPath"], "hasChildren":False}} + treeItem["items"] = [] + + if result["hasChildren"]: + treeItem["items"].append({"label":"Click to load...", "expanded":expanded, "data":{"path":result["fullPath"], "hasChildren":True}, "items":[], "icon":{"path":"material/hourglass_empty"}}) + + treeItems.append(treeItem) + + return treeItems + +def browseHistoryTags(path="", filters=None, expanded=False): + treeItems = [] + results = system.tag.browseHistoricalTags(path, [] if filters == None else filters) + + if results != None and results.getResults() != None: + for result in results.getResults(): + name = result.getPath().toString().replace(path, "").replace(":/", "").replace("/", "") + treeItem = {"label":name, "expanded":expanded, "data":{"path":result.getPath().toString(), "hasChildren":False}} + treeItem["items"] = [] + + if result.hasChildren(): + treeItem["items"].append({"label":"Click to load...", "expanded":expanded, "data":{"path":result.getPath().toString(), "hasChildren":True}, "items":[], "icon":{"path":"material/hourglass_empty"}}) + + treeItems.append(treeItem) + + return treeItems \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/39cf06113e13e171a76480b594d6c250042f324fa967f3d0fe4f92dfb7bc0551 b/Gateways/FE/projects/.resources/39cf06113e13e171a76480b594d6c250042f324fa967f3d0fe4f92dfb7bc0551 new file mode 100644 index 0000000..ec173f0 Binary files /dev/null and b/Gateways/FE/projects/.resources/39cf06113e13e171a76480b594d6c250042f324fa967f3d0fe4f92dfb7bc0551 differ diff --git a/Gateways/FE/projects/.resources/3a027b8f5a3778ca6de95a5f4e56c38e028e610108ac5452e021836e4ad3074c b/Gateways/FE/projects/.resources/3a027b8f5a3778ca6de95a5f4e56c38e028e610108ac5452e021836e4ad3074c new file mode 100644 index 0000000..2eaf130 --- /dev/null +++ b/Gateways/FE/projects/.resources/3a027b8f5a3778ca6de95a5f4e56c38e028e610108ac5452e021836e4ad3074c @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "VSD", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/VSD 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3a1d8444448d85533977c095484c313b3a16eaa4831d7398c788313b925bfcb2 b/Gateways/FE/projects/.resources/3a1d8444448d85533977c095484c313b3a16eaa4831d7398c788313b925bfcb2 new file mode 100644 index 0000000..617f413 --- /dev/null +++ b/Gateways/FE/projects/.resources/3a1d8444448d85533977c095484c313b3a16eaa4831d7398c788313b925bfcb2 @@ -0,0 +1,370 @@ +{ + "custom": {}, + "params": { + "AlarmSeverity": 1 + }, + "propConfig": { + "params.AlarmSeverity": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 50 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "basis": "300px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}!\u003d1,False,True)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M854.903,82.071l0,877.525c0,18.438 -14.969,33.407 -33.407,33.407l-601.326,-0c-18.437,-0 -33.407,-14.969 -33.407,-33.407l0,-877.525c0,-18.438 14.97,-33.407 33.407,-33.407l601.326,-0c18.438,-0 33.407,14.969 33.407,33.407Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1042 1042" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "basis": "300px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}!\u003d2,False,True)" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M476.192,128.475c9.301,-15.826 26.285,-25.544 44.641,-25.544c18.357,-0 35.341,9.718 44.641,25.544c98.023,166.79 331.22,563.583 430.343,732.245c9.409,16.011 9.524,35.834 0.301,51.952c-9.223,16.119 -26.371,26.064 -44.942,26.064c-197.149,-0 -663.536,-0 -860.685,-0c-18.571,-0 -35.719,-9.945 -44.942,-26.064c-9.223,-16.118 -9.109,-35.941 0.301,-51.952c99.123,-168.662 332.32,-565.455 430.342,-732.245Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1042 1042" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}!\u003d3,False,True)" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "d": "M545.877,45.009l450.78,450.781c13.822,13.822 13.822,36.265 0,50.087l-450.78,450.78c-13.822,13.822 -36.265,13.822 -50.087,0l-450.781,-450.78c-13.821,-13.822 -13.821,-36.265 0,-50.087l450.781,-450.781c13.822,-13.821 36.265,-13.821 50.087,0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1042 1042" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "basis": "300px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}!\u003d4,False,True)" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "cx": "520.833", + "cy": "520.833", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "500", + "stroke": { + "paint": "#000", + "width": "33.33px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(845.675,0,0,845.675,723.231,879.38)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.904825,0,-5.12274)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1042 1042" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3a1e6c82f8ff2a780bcd479cfc24bb65557230e3fda04aedfc1602d201c810ec b/Gateways/FE/projects/.resources/3a1e6c82f8ff2a780bcd479cfc24bb65557230e3fda04aedfc1602d201c810ec new file mode 100644 index 0000000..f223ca4 --- /dev/null +++ b/Gateways/FE/projects/.resources/3a1e6c82f8ff2a780bcd479cfc24bb65557230e3fda04aedfc1602d201c810ec @@ -0,0 +1,900 @@ +{ + "custom": { + "trendConfig": { + "allPens": [ + { + "group": "%", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/THD Current A" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/THD Current B" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/THD Current C" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/THD Voltage A" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/THD Voltage B" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/THD Voltage C" + } + ] + }, + { + "group": "6xlr", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "6xlr", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- LTD", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- LTD" + } + ] + }, + { + "group": "A", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Amps A" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Amps B" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Amps C" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps N", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Amps N" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- Rating Plug Type", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- Rating Plug Type" + } + ] + }, + { + "group": "Hz", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "Hz", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Frequency" + } + ] + }, + { + "group": "PF", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "PF", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Power Factor" + } + ] + }, + { + "group": "Secs.", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "Secs.", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- STD", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- STD" + } + ] + }, + { + "group": "V", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Average Phase Voltage", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Average Phase Voltage" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Voltage A" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Voltage B" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Voltage C" + } + ] + }, + { + "group": "kVA", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kVA", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KVA", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/KVA" + } + ] + }, + { + "group": "kVAR", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kVAR", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KVAR", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/KVAR" + } + ] + }, + { + "group": "kW", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kW", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KW", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/KW" + } + ] + }, + { + "group": "kWH", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kWH", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KW Demand", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/KW Demand" + }, + { + "color": "", + "enabled": false, + "engUnit": "kWH", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Total KWH", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Total KWH" + } + ] + }, + { + "group": "lg", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "lg", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- GFPU", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- GFPU" + } + ] + }, + { + "group": "misc", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Sag_Swell", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Voltage Sag_Swell" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Waveform Capture", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Waveform Capture" + } + ] + }, + { + "group": "tg", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "tg", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- GFD", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- GFD" + } + ] + }, + { + "group": "xlr", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "xlr", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- INST", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- INST" + }, + { + "color": "", + "enabled": false, + "engUnit": "xlr", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- LTPU", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- LTPU" + }, + { + "color": "", + "enabled": false, + "engUnit": "xlr", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- STPU", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- STPU" + } + ] + } + ] + } + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948107800 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948107800 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3a67d8cc1c473ab3c5db3544b89bc216db70ded2d010d2aa92937d53a828c1b0 b/Gateways/FE/projects/.resources/3a67d8cc1c473ab3c5db3544b89bc216db70ded2d010d2aa92937d53a828c1b0 new file mode 100644 index 0000000..36698cd Binary files /dev/null and b/Gateways/FE/projects/.resources/3a67d8cc1c473ab3c5db3544b89bc216db70ded2d010d2aa92937d53a828c1b0 differ diff --git a/Gateways/FE/projects/.resources/3ab67e5e68095ec7f2d762a89d86101173bf94a2a40e5d35ebda4203f722af9b b/Gateways/FE/projects/.resources/3ab67e5e68095ec7f2d762a89d86101173bf94a2a40e5d35ebda4203f722af9b new file mode 100644 index 0000000..5204425 --- /dev/null +++ b/Gateways/FE/projects/.resources/3ab67e5e68095ec7f2d762a89d86101173bf94a2a40e5d35ebda4203f722af9b @@ -0,0 +1,1027 @@ +{ + "custom": { + "path": [ + { + "aggregate": "LastValue", + "alias": "BP" + } + ] + }, + "params": { + "RTU": 2, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + }, + "propConfig": { + "custom.path": { + "persistent": true + }, + "custom.path[0].path": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\"}\n\ttagname \u003d str(value) + \"/Supply Air Temperature\"\n\tnameparts \u003d tagname.split(\"]\")\n\tprovider\u003d histProvider[nameparts[0][1:]]\n\treturn \"[{}]{}\".format(provider, nameparts[1])\n\t\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "params.RTU": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 400, + "width": 400 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "marginLeft": 5 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "XYChart" + }, + "position": { + "basis": "194px" + }, + "propConfig": { + "props.dataSources.data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.path}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + } + }, + "props": { + "background": { + "render": "color" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "data", + "x": "t_stamp", + "y": "BP" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Building Pressure", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "BP", + "zIndex": 0 + } + ], + "style": { + "marginBottom": -50 + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": false + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "Supply Air Temp" + }, + "name": "BP", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "SAT", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "223px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "basis": "34.3px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "SAT Widget" + }, + "position": { + "basis": "10%" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "RAT", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "223px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "basis": "34.3px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "SAT Widget_0" + }, + "position": { + "basis": "10%" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Transmitter_0" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Dewpoint" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF OA Dwpt", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_1" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Flow" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "cfm OA Flow", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_2" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF OA Temp", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Transmitter_0" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Damper" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "% DA Damper", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_1" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Enthalpy" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "RA Enthalpy", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_2" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Humidity" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "% RA Hum", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "174px" + }, + "props": { + "justify": "space-between" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingLeft": 20, + "paddingRight": 2, + "paddingTop": 10 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3b365325fef36945a57dd619fed09029117a9c3c06f44310fab0fb95971fd4ce b/Gateways/FE/projects/.resources/3b365325fef36945a57dd619fed09029117a9c3c06f44310fab0fb95971fd4ce new file mode 100644 index 0000000..5cd096d --- /dev/null +++ b/Gateways/FE/projects/.resources/3b365325fef36945a57dd619fed09029117a9c3c06f44310fab0fb95971fd4ce @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "padding": "10px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3b4b1f5b391cfb694ee97e785d41aea6627078c24aa02aaeb9d02e582d700800 b/Gateways/FE/projects/.resources/3b4b1f5b391cfb694ee97e785d41aea6627078c24aa02aaeb9d02e582d700800 new file mode 100644 index 0000000..54785d5 --- /dev/null +++ b/Gateways/FE/projects/.resources/3b4b1f5b391cfb694ee97e785d41aea6627078c24aa02aaeb9d02e582d700800 @@ -0,0 +1,646 @@ +{ + "custom": { + "Temp": [ + 65, + 78, + 60 + ], + "gradient": [ + null, + null, + null + ], + "inMax": 5, + "inMin": -5, + "paths": [ + null, + null, + null + ] + }, + "params": { + "Aisle": "", + "SP": 65, + "embedded": true, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188" + }, + "propConfig": { + "custom.Temp": { + "persistent": true + }, + "custom.Temp[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/DH/Temp1" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Temp[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/DH/Temp5" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Temp[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/DH/Temp10" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.gradient": { + "persistent": true + }, + "custom.gradient[0]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[0]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 5\n\tif value\u003cself.custom.inMin: value \u003d -5\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[1]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[1]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[2]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[2]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.inMax": { + "persistent": true + }, + "custom.inMin": { + "persistent": true + }, + "custom.paths": { + "persistent": true + }, + "custom.paths[0]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT01_C\")" + }, + "type": "expr" + } + }, + "custom.paths[1]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT02_C\")" + }, + "type": "expr" + } + }, + "custom.paths[2]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT03_C\")" + }, + "type": "expr" + } + }, + "params.Aisle": { + "paramDirection": "input", + "persistent": true + }, + "params.SP": { + "paramDirection": "input", + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "uppterTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "enabled": false, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/DH/Temp1" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F", + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "upperHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_HT01_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "upperTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "midTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[1]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "enabled": false, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT02_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "°F", + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "midHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_HT02_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "midTransmitters" + }, + "position": { + "basis": "60%" + }, + "props": { + "alignContent": "space-between", + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "lowerTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[2]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "enabled": false, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT03_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "°F", + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "lowerHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_HT03_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "lowerTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.backgroundImage": { + "binding": { + "config": { + "expression": "concat(\"linear-gradient(to bottom, rgba(00.0, 127.0,210.0, \",{view.custom.gradient[0]},\"), rgba(00.0, 127.0,210.0, \",{view.custom.gradient[1]},\"),rgba(00.0, 127.0,210.0, \",{view.custom.gradient[2]},\"))\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible", + "paddingBottom": "2px", + "paddingLeft": "2px", + "paddingRight": "2px", + "paddingTop": "2px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3b736862a529ad44f4de55cbc2bb2ce534532ce895dc3d95e29a2ee1376cf4f4 b/Gateways/FE/projects/.resources/3b736862a529ad44f4de55cbc2bb2ce534532ce895dc3d95e29a2ee1376cf4f4 new file mode 100644 index 0000000..a7bd675 --- /dev/null +++ b/Gateways/FE/projects/.resources/3b736862a529ad44f4de55cbc2bb2ce534532ce895dc3d95e29a2ee1376cf4f4 @@ -0,0 +1,275 @@ +{ + "custom": { + "percent": 100 + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1" + }, + "propConfig": { + "custom.percent": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Charge Percent" + }, + "type": "tag" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 150, + "width": 145 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.desiredHigh": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + }, + "props.processValue": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + } + }, + "props": { + "desiredLow": 25, + "highAlarm": 100, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 25, + "lowInterlock": null, + "lowLowAlarm": null, + "reverseIndicator": true + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "children": [ + { + "meta": { + "name": "desc" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "text": "Battery", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "35%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery runtime remaining Hours" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "Hrs", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "35%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "75%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 3, + "paddingLeft": 3, + "paddingRight": 3, + "paddingTop": 3 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3bac3b33e6d8bda9acb58def375bbd1d825834ff9a86d791e934daa5d977cafe b/Gateways/FE/projects/.resources/3bac3b33e6d8bda9acb58def375bbd1d825834ff9a86d791e934daa5d977cafe new file mode 100644 index 0000000..4e44ebd Binary files /dev/null and b/Gateways/FE/projects/.resources/3bac3b33e6d8bda9acb58def375bbd1d825834ff9a86d791e934daa5d977cafe differ diff --git a/Gateways/FE/projects/.resources/3bc5acd6d6dd1ab5b338d50af74c104f3bc1321c687ba58af1ddb6e6c7a883e6 b/Gateways/FE/projects/.resources/3bc5acd6d6dd1ab5b338d50af74c104f3bc1321c687ba58af1ddb6e6c7a883e6 new file mode 100644 index 0000000..d631754 Binary files /dev/null and b/Gateways/FE/projects/.resources/3bc5acd6d6dd1ab5b338d50af74c104f3bc1321c687ba58af1ddb6e6c7a883e6 differ diff --git a/Gateways/FE/projects/.resources/3bdfb90edca2f16ba9f2a59287f0cb88af7592d83d2830a40f8a9a6f9359aa86 b/Gateways/FE/projects/.resources/3bdfb90edca2f16ba9f2a59287f0cb88af7592d83d2830a40f8a9a6f9359aa86 new file mode 100644 index 0000000..da1c197 --- /dev/null +++ b/Gateways/FE/projects/.resources/3bdfb90edca2f16ba9f2a59287f0cb88af7592d83d2830a40f8a9a6f9359aa86 @@ -0,0 +1,544 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "PlantManager Floor" + }, + "position": { + "height": 700, + "width": 1100, + "x": 50, + "y": 50 + }, + "props": { + "elements": [ + { + "d": "M1821.26,1239.34c12.932,7.43 20.907,21.205 20.91,36.12c0.003,14.914 -7.966,28.693 -20.895,36.128c-245.1,140.951 -1130.6,650.181 -1277.65,734.747c-12.856,7.392 -28.671,7.396 -41.529,0.008c-73.265,-42.094 -321.57,-184.755 -439.249,-252.366c-12.932,-7.43 -20.907,-21.206 -20.91,-36.12c-0.003,-14.915 7.966,-28.693 20.895,-36.128c245.1,-140.952 1130.6,-650.181 1277.65,-734.747c12.855,-7.393 28.671,-7.396 41.529,-0.008c73.265,42.093 321.57,184.755 439.249,252.366Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + }, + { + "d": "M3502.61,264.298c12.932,7.43 20.906,21.205 20.909,36.119c0.003,14.915 -7.966,28.694 -20.895,36.129c-245.099,140.951 -1130.6,650.18 -1277.65,734.746c-12.855,7.393 -28.67,7.396 -41.529,0.009c-73.264,-42.094 -321.57,-184.755 -439.248,-252.366c-12.933,-7.43 -20.907,-21.206 -20.91,-36.12c-0.003,-14.915 7.966,-28.693 20.895,-36.129c245.099,-140.951 1130.6,-650.18 1277.65,-734.746c12.855,-7.393 28.671,-7.396 41.529,-0.009c73.265,42.094 321.57,184.755 439.249,252.367Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + }, + { + "d": "M2983.09,2395.76c12.932,7.43 20.906,21.206 20.91,36.12c0.003,14.915 -7.966,28.693 -20.895,36.129c-145.796,83.844 -502.822,289.161 -610.348,350.996c-19.282,11.089 -43.006,11.094 -62.293,0.013c-91.888,-52.794 -363.119,-208.627 -486.884,-279.734c-12.932,-7.43 -20.906,-21.206 -20.909,-36.12c-0.003,-14.915 7.966,-28.693 20.895,-36.129c150.913,-86.787 528.146,-303.725 620.728,-356.966c12.855,-7.393 28.671,-7.396 41.529,-0.009c79.763,45.828 368.424,211.675 497.267,285.7Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + }, + { + "d": "M3847.78,1883.55c12.932,7.43 20.907,21.205 20.91,36.12c0.003,14.914 -7.966,28.693 -20.895,36.128c-145.796,83.844 -502.822,289.161 -610.348,350.997c-19.282,11.089 -43.006,11.094 -62.293,0.012c-91.888,-52.793 -363.119,-208.626 -486.884,-279.734c-12.932,-7.43 -20.906,-21.205 -20.909,-36.12c-0.003,-14.914 7.966,-28.693 20.895,-36.128c150.914,-86.787 528.146,-303.725 620.728,-356.967c12.855,-7.393 28.671,-7.396 41.529,-0.008c79.763,45.827 368.424,211.674 497.267,285.7Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + }, + { + "d": "M4705.79,1375.61c12.932,7.43 20.907,21.206 20.91,36.12c0.003,14.915 -7.966,28.693 -20.895,36.129c-145.796,83.844 -502.821,289.161 -610.347,350.996c-19.283,11.089 -43.006,11.094 -62.293,0.013c-91.889,-52.794 -363.12,-208.627 -486.884,-279.734c-12.932,-7.43 -20.907,-21.206 -20.91,-36.12c-0.003,-14.915 7.966,-28.693 20.895,-36.129c150.914,-86.787 528.147,-303.725 620.728,-356.966c12.855,-7.393 28.671,-7.396 41.529,-0.009c79.764,45.828 368.424,211.675 497.267,285.7Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + }, + { + "d": "M3779.75,460.931c-12.932,7.43 -20.906,21.205 -20.909,36.12c-0.003,14.914 7.966,28.693 20.895,36.128c145.796,83.844 502.821,289.161 610.347,350.997c19.283,11.089 43.006,11.094 62.293,0.013c91.889,-52.794 363.12,-208.627 486.884,-279.735c12.932,-7.43 20.906,-21.205 20.909,-36.12c0.004,-14.914 -7.965,-28.693 -20.894,-36.128c-150.914,-86.787 -528.147,-303.725 -620.729,-356.967c-12.855,-7.392 -28.67,-7.395 -41.528,-0.008c-79.764,45.827 -368.425,211.675 -497.268,285.7Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M1214.79,1420.17l261.807,151.154", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2245.02,835.193l253.296,146.241", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2536.8,2566.4l195.933,113.122", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2438.77,2622.02l214.349,123.755", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M3336.95,2090.93l207.663,119.894", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M3476.72,2010.49l199.159,114.984", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M4197.67,1581.6l210.558,121.565", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M4347.92,1494.45l213.805,123.44", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M4025.96,870.676l914.984,528.266", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2409.42,739.823l251.01,144.921", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2919.16,431.562l263.104,151.903", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M3085.03,334.521l791.499,456.972", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1084.56,1495.85l269.63,155.671", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M615.475,1779.21l259.19,149.644", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M506.487,1842.93l710.316,410.101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1379.36,2349.8l979.275,565.384", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1354.37,1651.9l-479.708,276.96", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1216.8,2253.03l-352.326,203.416", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1378.37,2349.8l-350.391,202.298", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2498.32,981.434l-1021.72,589.892", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M3182.26,583.465l-521.829,301.279", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M4025.96,870.676l309.397,-178.63", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M3876.53,791.493l314.227,-181.419", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M4940.95,1398.94l-379.225,218.946", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M4408.23,1703.07l-731.615,422.398", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M3544.62,2210.83l-811.803,468.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2653.12,2745.78l-293.417,169.404", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + } + ], + "id": "Loop", + "name": "Loop", + "type": "group" + }, + { + "d": "M257.6,2678.33c-12.932,7.43 -20.907,21.206 -20.91,36.12c-0.003,14.915 7.966,28.693 20.895,36.128c145.796,83.844 502.821,289.162 610.347,350.997c19.283,11.089 43.006,11.094 62.293,0.013c91.889,-52.794 363.12,-208.627 486.884,-279.735c12.932,-7.43 20.907,-21.205 20.91,-36.119c0.003,-14.915 -7.966,-28.694 -20.895,-36.129c-150.914,-86.787 -528.147,-303.725 -620.728,-356.966c-12.855,-7.393 -28.671,-7.396 -41.529,-0.009c-79.764,45.828 -368.424,211.675 -497.267,285.7Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 5003 3120" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "PLC_A" + }, + "position": { + "height": 175, + "width": 175, + "x": 929, + "y": 62.5 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/PLC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PLC_C" + }, + "position": { + "height": 300, + "width": 300, + "x": 103, + "y": 215 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/RedundantPLC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PLC_C_0" + }, + "position": { + "height": 300, + "width": 300, + "x": 491.98663330078125 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/RedundantPLC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PLC_A_0" + }, + "position": { + "height": 175, + "width": 175, + "x": 165.49107360839844, + "y": 529 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/PLC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PLC_B" + }, + "position": { + "height": 175, + "width": 175, + "x": 504, + "y": 492 + }, + "props": { + "params": { + "Positon": false + }, + "path": "Pages/Dev/E_Network/Equipment/PLC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PLC_B_0" + }, + "position": { + "height": 175, + "width": 175, + "x": 695.487, + "y": 371.6358467407227 + }, + "props": { + "params": { + "Positon": false + }, + "path": "Pages/Dev/E_Network/Equipment/PLC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PLC_B_1" + }, + "position": { + "height": 175, + "width": 175, + "x": 883, + "y": 260.1430435180664 + }, + "props": { + "params": { + "Positon": false + }, + "path": "Pages/Dev/E_Network/Equipment/PLC" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3be44de75518942b63c2cda5a5a9e8869e53054700f8fa56342d635ef06d00b7 b/Gateways/FE/projects/.resources/3be44de75518942b63c2cda5a5a9e8869e53054700f8fa56342d635ef06d00b7 new file mode 100644 index 0000000..ca289a2 --- /dev/null +++ b/Gateways/FE/projects/.resources/3be44de75518942b63c2cda5a5a9e8869e53054700f8fa56342d635ef06d00b7 @@ -0,0 +1,245 @@ +{ + "custom": { + "Config1": null, + "Config2": null, + "DSA_Bus": null, + "DSA_W2_Closed": null, + "DSB_Bus": null, + "DSB_W2_Closed": null, + "cable": null + }, + "params": { + "L_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2", + "R_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B2", + "cable": false, + "path": "[Ignition_Common_IO_Gtwy]Cables/DS_2" + }, + "propConfig": { + "custom.Config1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "path1": "{view.params.L_Path}" + }, + "tagPath": "{path1}/Data/Config" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.Config2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "path2": "{view.params.R_Path}" + }, + "tagPath": "{path2}/Data/Config" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.DSA_Bus": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "L_Path": "{view.params.L_Path}" + }, + "tagPath": "{L_Path}/Data/Bus" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.DSA_W2_Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "L_Path": "{view.params.L_Path}" + }, + "tagPath": "{L_Path}/Breaker Closed Way 02" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.DSB_Bus": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "R_Path": "{view.params.R_Path}" + }, + "tagPath": "{R_Path}/Data/Bus" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.DSB_W2_Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "R_Path": "{view.params.R_Path}" + }, + "tagPath": "{R_Path}/Breaker Closed Way 02" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cable": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "path": "{view.params.path}" + }, + "tagPath": "{path}" + }, + "type": "tag" + }, + "persistent": true + }, + "params.L_Path": { + "paramDirection": "input", + "persistent": true + }, + "params.R_Path": { + "paramDirection": "input", + "persistent": true + }, + "params.cable": { + "binding": { + "config": { + "struct": { + "BA": "{view.custom.DSA_Bus}", + "BB": "{view.custom.DSB_Bus}", + "CA": "{view.custom.Config1}", + "CB": "{view.custom.Config2}", + "WA": "{view.custom.DSA_W2_Closed}", + "WB": "{view.custom.DSB_W2_Closed}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027CA\u0027]\u003d\u003d3 and value[\u0027BA\u0027] and value[\u0027WA\u0027]:\n\t\tself.custom.cable \u003d True\n\t\treturn True\n\telif value[\u0027CB\u0027]\u003d\u003d3 and value[\u0027BB\u0027] and value[\u0027WB\u0027]:\n\t\tself.custom.cable \u003d True\n\t\treturn True\n\telse:\n\t\tself.custom.cable \u003d False\n\t\treturn False", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.path": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 43 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "custom.colorHandler.cable": { + "binding": { + "config": { + "path": "view.params.cable" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.borderLeftColor": { + "binding": { + "config": { + "path": "this.custom.colorHandler.cable" + }, + "type": "property" + } + }, + "props.style.borderRightColor": { + "binding": { + "config": { + "path": "this.custom.colorHandler.cable" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "this.custom.colorHandler.cable" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "solid", + "borderRightWidth": 2, + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3be9e45c7c9e0961c54091f48cf281f2e4ea22ed22d000af32da999d9990e9f7 b/Gateways/FE/projects/.resources/3be9e45c7c9e0961c54091f48cf281f2e4ea22ed22d000af32da999d9990e9f7 new file mode 100644 index 0000000..933d080 --- /dev/null +++ b/Gateways/FE/projects/.resources/3be9e45c7c9e0961c54091f48cf281f2e4ea22ed22d000af32da999d9990e9f7 @@ -0,0 +1,139 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Limit Bld Press Alarm Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Supply Air Dewpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Supply Air Temperature Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Low Supply Air Temperature Setpoint" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[default]_types_/Objects/Air/DOAS" + }, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3c1d22d7aa77288133baada4e6599c7c66e05759b521ef47e563d0edcb97eb9c b/Gateways/FE/projects/.resources/3c1d22d7aa77288133baada4e6599c7c66e05759b521ef47e563d0edcb97eb9c new file mode 100644 index 0000000..345949c Binary files /dev/null and b/Gateways/FE/projects/.resources/3c1d22d7aa77288133baada4e6599c7c66e05759b521ef47e563d0edcb97eb9c differ diff --git a/Gateways/FE/projects/.resources/3c57a513d0707769a17040ba1f40691c67514290d34863e6470dbc0dc61d5af2 b/Gateways/FE/projects/.resources/3c57a513d0707769a17040ba1f40691c67514290d34863e6470dbc0dc61d5af2 new file mode 100644 index 0000000..3e1ee52 --- /dev/null +++ b/Gateways/FE/projects/.resources/3c57a513d0707769a17040ba1f40691c67514290d34863e6470dbc0dc61d5af2 @@ -0,0 +1,2513 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": true + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 105, + "width": 486 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DP-UPS-HS1" + }, + "position": { + "height": 105, + "width": 486 + }, + "propConfig": { + "props.elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[10].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[10].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[10].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[10].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[10].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[10].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[10].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[10].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[10].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[11].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[12].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[12].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[12].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[12].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[12].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[12].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[12].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[12].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[12].elements[6].elements[5].key.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[12].elements[6].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[9].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[9].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[9].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "363.897", + "x": "0", + "y": "11.25" + }, + { + "d": "M0,15.268l0,-4.018l3.767,0l0,0.75l-3.017,-0l0,3.268l-0.75,-0Zm9.041,-4.018l0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.548,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.273,0l0,0.75l-2.26,0l0,-0.75l2.26,0Zm10.548,0l0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.275,0l-0,0.75l-2.261,0l0,-0.75l2.261,0Zm10.547,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.273,0l0,0.75l-2.26,0l0,-0.75l2.26,0Zm10.549,0l-0,0.75l-7.535,0l0,-0.75l7.535,0Zm5.274,0l-0,0.75l-2.261,0l0,-0.75l2.261,0Zm10.547,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.548,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.261,0l0,-0.75l2.261,0Zm10.547,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l0,0.75l-2.26,0l0,-0.75l2.26,0Zm10.548,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.273,0l0,0.75l-2.26,0l0,-0.75l2.26,0Zm10.549,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.273,0l0,0.75l-2.26,0l0,-0.75l2.26,0Zm10.548,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.548,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.261,0l0,-0.75l2.261,0Zm10.547,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.548,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.261,0l0,-0.75l2.261,0Zm10.548,0l0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.547,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l0,0.75l-2.26,0l0,-0.75l2.26,0Zm10.548,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.261,0l0,-0.75l2.261,0Zm10.548,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.261,0l0,-0.75l2.261,0Zm10.547,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.547,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.548,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.548,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.547,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l0,0.75l-2.26,0l0,-0.75l2.26,0Zm6.781,4.018l-0.75,-0l-0,-3.268l-3.017,0l-0,-0.75l3.767,0l-0,4.018Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-3.767,7.232l-0,-0.75l3.017,0l-0,-3.268l0.75,0l-0,4.018l-3.767,0Zm-5.274,0l-0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.548,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.273,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-10.548,0l-0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.275,0l0,-0.75l2.261,0l-0,0.75l-2.261,0Zm-10.547,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.273,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-10.549,0l0,-0.75l7.535,0l-0,0.75l-7.535,0Zm-5.274,0l0,-0.75l2.261,0l-0,0.75l-2.261,0Zm-10.547,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.548,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.261,0l-0,0.75l-2.261,0Zm-10.547,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-10.548,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.273,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-10.549,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.273,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-10.548,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.548,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.261,0l-0,0.75l-2.261,0Zm-10.547,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.548,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.261,0l-0,0.75l-2.261,0Zm-10.548,0l-0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.547,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-10.548,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.548,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.261,0l-0,0.75l-2.261,0Zm-10.547,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.547,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-10.548,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l-0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.548,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.548,0l0,-0.75l7.535,0l-0,0.75l-7.535,0Zm-5.273,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-6.781,-4.018l0.75,0l0,3.268l3.017,0l0,0.75l-3.767,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,353.561,3.03345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DP-UPS-HS1", + "type": "text", + "x": "328.325px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,361.298,6.74479)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "800A, 480V3PH,", + "type": "text", + "x": "328.325px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,350.324,10.5334)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3W65kAIC", + "type": "text", + "x": "328.325px", + "y": "10.533px" + } + ], + "id": "TagIdPlate", + "name": "TagIdPlate", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,350.954,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "341.304px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,347.558,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "341.304px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,363.305,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "341.304px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M334.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "333.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M333.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "333.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M333.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M338.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB08", + "name": "CB08", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,306.283,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "296.634px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,302.888,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "296.634px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,318.635,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "296.634px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M289.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "288.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M288.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "288.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M288.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M293.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB07", + "name": "CB07", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,261.295,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90A", + "type": "text", + "x": "251.645px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,257.899,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "251.645px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,273.646,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "251.645px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M244.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "243.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M243.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "243.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M243.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M248.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB06", + "name": "CB06", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,216.146,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "206.497px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,212.751,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "206.497px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,228.498,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "206.497px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M199.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 198.75, + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "198.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M203.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB05", + "name": "CB05", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,170.998,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "161.349px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,167.603,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "161.349px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,183.35,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "161.349px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M154.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "153.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M153.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "153.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M153.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M158.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,126.089,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "116.44px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,122.694,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "116.44px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,138.441,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "116.44px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M109.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "108.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M113.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,81.18,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "71.53px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,77.7845,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "71.53px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,93.5315,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "71.53px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M64.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "63.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "63.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M68.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,36.1912,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "26.542px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,32.7956,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "26.542px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,48.5427,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "26.542px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M19.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "18.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M23.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": 10, + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M356.25,42.375l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l348.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.75,31.476l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M153.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M198.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M243.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M288.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M333.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.875,21.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "21.75", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,20.625c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": 108.75, + "cy": "30.75", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,29.625c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M113.535,21.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,130.105,21.7448)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "800AF", + "type": "text", + "x": "117.828px", + "y": "21.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,129.795,25.4948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "700AT", + "type": "text", + "x": "117.828px", + "y": "25.495px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,132.416,29.2448)", + "type": "group" + }, + { + "key": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI, NC", + "type": "text", + "x": "117.828px", + "y": "29.245px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,128.485,32.9948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "100%", + "type": "text", + "x": "117.828px", + "y": "32.995px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Main-CB", + "name": "Main-CB", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 365 79" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3c8a35c94826687b7c3efe9738e5ed3a496f6df9480fe2ded23549da839229c7 b/Gateways/FE/projects/.resources/3c8a35c94826687b7c3efe9738e5ed3a496f6df9480fe2ded23549da839229c7 new file mode 100644 index 0000000..cc44422 --- /dev/null +++ b/Gateways/FE/projects/.resources/3c8a35c94826687b7c3efe9738e5ed3a496f6df9480fe2ded23549da839229c7 @@ -0,0 +1,23 @@ +{ + "base": { + "style": { + "backgroundColor": "#F5F5F5", + "borderColor": "#CCCCCC", + "borderStyle": "solid", + "borderWidth": "1px", + "borderRadius": "4px", + "color": "#555555", + "cursor": "pointer", + "marginBottom": "4px", + "marginRight": "4px" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "borderColor": "#AAAAAA" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3cab6f54b5aff5e50165a76fa5a4d404afa62e7ff13c944cff8633fd4fffa737 b/Gateways/FE/projects/.resources/3cab6f54b5aff5e50165a76fa5a4d404afa62e7ff13c944cff8633fd4fffa737 new file mode 100644 index 0000000..c74cb42 Binary files /dev/null and b/Gateways/FE/projects/.resources/3cab6f54b5aff5e50165a76fa5a4d404afa62e7ff13c944cff8633fd4fffa737 differ diff --git a/Gateways/FE/projects/.resources/3cb48890607c5768de6d5ff26d1d741647cec5d209b01d0c490b1ca42988b599 b/Gateways/FE/projects/.resources/3cb48890607c5768de6d5ff26d1d741647cec5d209b01d0c490b1ca42988b599 new file mode 100644 index 0000000..8e30510 Binary files /dev/null and b/Gateways/FE/projects/.resources/3cb48890607c5768de6d5ff26d1d741647cec5d209b01d0c490b1ca42988b599 differ diff --git a/Gateways/FE/projects/.resources/3cd96ebf986b3f14a8285d990a73a8923301ab79f6a7d37a93d35cc9288b937d b/Gateways/FE/projects/.resources/3cd96ebf986b3f14a8285d990a73a8923301ab79f6a7d37a93d35cc9288b937d new file mode 100644 index 0000000..6936749 Binary files /dev/null and b/Gateways/FE/projects/.resources/3cd96ebf986b3f14a8285d990a73a8923301ab79f6a7d37a93d35cc9288b937d differ diff --git a/Gateways/FE/projects/.resources/3cec9e592f3ed52fa4a7acffdd75e0333f854c1824602525e593c24db34eb33c b/Gateways/FE/projects/.resources/3cec9e592f3ed52fa4a7acffdd75e0333f854c1824602525e593c24db34eb33c new file mode 100644 index 0000000..195e267 Binary files /dev/null and b/Gateways/FE/projects/.resources/3cec9e592f3ed52fa4a7acffdd75e0333f854c1824602525e593c24db34eb33c differ diff --git a/Gateways/FE/projects/.resources/3d2cf7ca92b8b8d0a06ec424659258da64dd2071de267c20ff8e49f039c7a645 b/Gateways/FE/projects/.resources/3d2cf7ca92b8b8d0a06ec424659258da64dd2071de267c20ff8e49f039c7a645 new file mode 100644 index 0000000..783c413 --- /dev/null +++ b/Gateways/FE/projects/.resources/3d2cf7ca92b8b8d0a06ec424659258da64dd2071de267c20ff8e49f039c7a645 @@ -0,0 +1,12107 @@ +{ + "custom": { + "ColorHandler": { + "Auxiliary": { + "ER_1185": "lightgray", + "FirePlbg_1186": "lightgray", + "MDF2_1187": "lightgray", + "MMR2_1188": "lightgray", + "POE4_1189": "lightgray", + "POE_1184": "lightgray" + }, + "Corridors": { + "CorridorA_1190": "lightgray", + "CorridorB_1191": "lightgray", + "CorridorC_1192": "lightgray", + "CorridorD_1193": "lightgray", + "CorridorE1_1194_1": "lightgray", + "CorridorE2_1194_1": "lightgray", + "CorridorE3_1194_1": "lightgray", + "CorridorF_1195": "lightgray", + "CorridorG_1196": "lightgray", + "CorridorH1_1197_1": "lightgray", + "CorridorH2_1197_2": "lightgray", + "StairA_1123": "lightgray", + "StairB_1198": "lightgray", + "StairC_1199": "lightgray", + "StairD_1183": "lightgray", + "UNKNOWN": "lightgray" + }, + "DH3": { + "DH3_1170": "lightgray", + "Gallery_1171": "lightgray", + "Gallery_1172": "lightgray", + "SDC_IDF_1174": "lightgray", + "SDC_Storage_1173": "lightgray" + }, + "DH5": { + "DH5_1180": "lightgray", + "Gallery_1181": "lightgray", + "Gallery_1182": "lightgray" + }, + "Elec-Mech": { + "ER_1151": "lightgray", + "ER_1155": "lightgray", + "ER_1156": "lightgray", + "ER_1157": "lightgray", + "ER_1158": "lightgray", + "ER_1160": "lightgray", + "ER_1161": "lightgray", + "ER_1162": "lightgray", + "ER_1163": "lightgray", + "ER_1164": "lightgray", + "ER_1165": "lightgray", + "MDF_1149": "lightgray", + "MEPRoom_1159": "lightgray", + "MMR1_1120": "lightgray", + "MechPower_1150": "lightgray", + "SDC_IDF_1154": "lightgray", + "SDStorage_1153": "lightgray", + "TapeLibrary_1152": "lightgray" + }, + "MEP_1140": "lightgray", + "Stream_Offices": { + "AMOffice_1134_2": "lightgray", + "AssetManagement_1134_1": "lightgray", + "BreakRoom_1111": "lightgray", + "CableStorage_1133_2": "lightgray", + "Conference_1116": "lightgray", + "Conference_1121": "lightgray", + "Elec_1128": "lightgray", + "ExecutiveConference_1103": "lightgray", + "Freight_1130": "lightgray", + "Freight_1131": "lightgray", + "HighValueStorage_1133_6": "lightgray", + "Huddle_1113": "lightgray", + "JAN_1105": "lightgray", + "JAN_1126": "lightgray", + "LoadingDock_1127": "lightgray", + "Lobby_1100_0": "lightgray", + "MMR_1107": "lightgray", + "MOPT_1109": "lightgray", + "Mech_1125": "lightgray", + "Mech_1132": "lightgray", + "Office_1117": "lightgray", + "Office_1118": "lightgray", + "PBLG_FP_1141": "lightgray", + "POE1_1119": "lightgray", + "POE_1142": "lightgray", + "Pass_1124": "lightgray", + "RR_1104": "lightgray", + "RR_1136": "lightgray", + "Receiving_1133_1": "lightgray", + "Records_1114": "lightgray", + "SDC_IDF_1122": "lightgray", + "SOCStorage_1102_2": "lightgray", + "SOC_1102_1": "lightgray", + "SOC_OFFICE_1102_3": "lightgray", + "SecureLobby_1101": "lightgray", + "SecureStorge_1133_4": "lightgray", + "ShredRoom_1133_5": "lightgray", + "StreamOffice_1110": "lightgray", + "Vestibule_1100_1": "lightgray", + "WWR_1108": "lightgray", + "Waiting_1135": "lightgray" + }, + "Tenant_Offices": { + "FCR_1138_3": "lightgray", + "OPS_Storage_1137": "lightgray", + "SER_1138_2": "lightgray", + "TenantOffice_1138_1": "lightgray", + "TenantStorage_1139": "lightgray" + }, + "Wall": "var(--olGray)" + } + }, + "params": {}, + "propConfig": { + "custom.ColorHandler": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 1155 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Roof" + }, + "position": { + "height": 300, + "width": 1155 + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#ddd" + }, + "height": "1179.52", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "4682.44", + "x": "93.184", + "y": "37.323" + }, + { + "fill": { + "paint": "#ddd" + }, + "height": "215.988", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "96.472", + "x": "-3.288", + "y": "397.273" + }, + { + "fill": { + "paint": "#bababa" + }, + "height": "816.391", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "2336.13", + "x": "1968.11", + "y": "218.315" + } + ], + "id": "Roof-Walls", + "name": "Roof-Walls", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#e5f8ff" + }, + "height": "190.416", + "id": "Box", + "name": "Box", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "73.532", + "x": "180.308", + "y": "660.106" + }, + { + "elements": [ + { + "d": "M180.308,678.073l73.532,0l-0,17.932l-73.532,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M180.308,820.351l73.532,0l-0,12.841l-73.532,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "cx": "187.599", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "207.085", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "226.899", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "246.548", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DOAS03", + "name": "DOAS03", + "type": "group" + }, + { + "elements": [ + { + "d": "M1526.99,369.429l190.416,-0l-0,73.532l-190.416,0l-0,-73.532Z", + "fill": { + "paint": "#e5f8ff" + }, + "id": "Box1", + "name": "Box1", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1544.96,442.961l0,-73.532l17.932,-0l0,73.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1687.24,442.961l0,-73.532l12.842,-0l-0,73.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,435.67c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,-0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,416.184c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,396.37c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,376.721c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,-0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DOAS02", + "name": "DOAS02", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#e5f8ff" + }, + "height": "50.588", + "id": "Box2", + "name": "Box2", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "120.896", + "x": "4486.23", + "y": "209.765" + }, + { + "elements": [ + { + "cx": "4512.07", + "cy": "224.469", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4512.07", + "cy": "245.298", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4534.29", + "cy": "224.469", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4534.29", + "cy": "245.298", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4556.51", + "cy": "224.469", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4556.51", + "cy": "245.298", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "50.588", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "75.925", + "x": "4496.9", + "y": "209.765" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DOAS01", + "name": "DOAS01", + "type": "group" + } + ], + "id": "DOAS", + "name": "DOAS", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX", + "name": "BOX", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2073.88,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH48", + "name": "CH48", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX1", + "name": "BOX1", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2073.88,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH47", + "name": "CH47", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX2", + "name": "BOX2", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2073.88,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH46", + "name": "CH46", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX3", + "name": "BOX3", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2073.88,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH45", + "name": "CH45", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX4", + "name": "BOX4", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2073.88,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH44", + "name": "CH44", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX5", + "name": "BOX5", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2073.88,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH43", + "name": "CH43", + "type": "group" + } + ], + "id": "Lineup08", + "name": "Lineup08", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX6", + "name": "BOX6", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2498.03,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,273.653c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,294.92c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH42", + "name": "CH42", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX7", + "name": "BOX7", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2498.03,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,411.323c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,432.59c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH41", + "name": "CH41", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX8", + "name": "BOX8", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2498.03,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,547.303c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,568.57c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH40", + "name": "CH40", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX9", + "name": "BOX9", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2498.03,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,684.819c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,706.086c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH39", + "name": "CH39", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX10", + "name": "BOX10", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2498.03,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,823.104c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,844.371c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH38", + "name": "CH38", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX11", + "name": "BOX11", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2498.03,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,959.852c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,981.119c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH37", + "name": "CH37", + "type": "group" + } + ], + "id": "Lineup07", + "name": "Lineup07", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX12", + "name": "BOX12", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2655.74,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH36", + "name": "CH36", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX13", + "name": "BOX13", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2655.74,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH35", + "name": "CH35", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX14", + "name": "BOX14", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2655.74,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH34", + "name": "CH34", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX15", + "name": "BOX15", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2655.74,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH33", + "name": "CH33", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX16", + "name": "BOX16", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2655.74,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH32", + "name": "CH32", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX17", + "name": "BOX17", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2655.74,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH31", + "name": "CH31", + "type": "group" + } + ], + "id": "Lineup06", + "name": "Lineup06", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX18", + "name": "BOX18", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2929.8,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,308.328l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH30", + "name": "CH30", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX19", + "name": "BOX19", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2929.8,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,445.998l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH29", + "name": "CH29", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX20", + "name": "BOX20", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2929.8,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,581.978l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH28", + "name": "CH28", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX21", + "name": "BOX21", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2929.8,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,719.494l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH27", + "name": "CH27", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX22", + "name": "BOX22", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2929.8,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,857.779l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH26", + "name": "CH26", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX23", + "name": "BOX23", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2929.8,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,994.527l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH25", + "name": "CH25", + "type": "group" + } + ], + "id": "Lineup05", + "name": "Lineup05", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX24", + "name": "BOX24", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M3237.92,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH24", + "name": "CH24", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX25", + "name": "BOX25", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M3237.92,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH23", + "name": "CH23", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX26", + "name": "BOX26", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M3237.92,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH22", + "name": "CH22", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX27", + "name": "BOX27", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M3237.92,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH21", + "name": "CH21", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX28", + "name": "BOX28", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M3237.92,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH20", + "name": "CH20", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX29", + "name": "BOX29", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M3237.92,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH19", + "name": "CH19", + "type": "group" + } + ], + "id": "Lineup04", + "name": "Lineup04", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX30", + "name": "BOX30", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M3660.64,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH18", + "name": "CH18", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX31", + "name": "BOX31", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M3660.64,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH17", + "name": "CH17", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX32", + "name": "BOX32", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M3660.64,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH16", + "name": "CH16", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX33", + "name": "BOX33", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M3660.64,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH15", + "name": "CH15", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX34", + "name": "BOX34", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M3660.64,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH14", + "name": "CH14", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX35", + "name": "BOX35", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M3660.64,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH13", + "name": "CH13", + "type": "group" + } + ], + "id": "Lineup03", + "name": "Lineup03", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX36", + "name": "BOX36", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M3818.47,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,308.328l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH12", + "name": "CH12", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX37", + "name": "BOX37", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M3818.47,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,445.998l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH11", + "name": "CH11", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX38", + "name": "BOX38", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M3818.47,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,581.978l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH10", + "name": "CH10", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX39", + "name": "BOX39", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M3818.47,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,719.494l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH09", + "name": "CH09", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX40", + "name": "BOX40", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M3818.47,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,857.779l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH08", + "name": "CH08", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX41", + "name": "BOX41", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M3818.47,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,994.527l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH07", + "name": "CH07", + "type": "group" + } + ], + "id": "Lineup02", + "name": "Lineup02", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX42", + "name": "BOX42", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M4242.99,273.653c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,294.92c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,308.328l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH06", + "name": "CH06", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX43", + "name": "BOX43", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M4242.99,411.323c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,432.59c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,445.998l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH05", + "name": "CH05", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX44", + "name": "BOX44", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M4242.99,547.303c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,568.57c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,581.978l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH04", + "name": "CH04", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX45", + "name": "BOX45", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M4242.99,684.819c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,706.086c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,719.494l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH03", + "name": "CH03", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX46", + "name": "BOX46", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M4242.99,823.104c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,844.371c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,857.779l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH02", + "name": "CH02", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX47", + "name": "BOX47", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M4242.99,959.852c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,981.119c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,994.527l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH01", + "name": "CH01", + "type": "group" + } + ], + "id": "Lineup01", + "name": "Lineup01", + "type": "group" + } + ], + "id": "Chillers", + "name": "Chillers", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#ffe17e" + }, + "height": "210.644", + "id": "Box3", + "name": "Box3", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "81.344", + "x": "4566.82", + "y": "361.949" + }, + { + "elements": [ + { + "d": "M4648.17,552.716l-81.343,0l-0,-19.836l81.343,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4648.17,530.268l-81.343,0l-0,-19.837l81.343,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4648.17,395.325l-81.343,-0l-0,-14.206l81.343,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "cx": "4640.1", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4640.1", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4618.55", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4618.55", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4596.63", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4596.63", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4574.89", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4574.89", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "RTU01", + "name": "RTU01", + "type": "group" + }, + { + "elements": [ + { + "d": "M4609.27,634.973l50.588,-0l-0,98.743l-50.588,-0l-0,-98.743Z", + "fill": { + "paint": "#ffe17e" + }, + "id": "Box4", + "name": "Box4", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M4632.04,707.872c-0,4.452 -3.615,8.066 -8.067,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.067,3.614 8.067,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4652.87,707.872c0,4.452 -3.614,8.066 -8.066,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c-0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.066,3.614 8.066,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4632.04,685.651c-0,4.452 -3.615,8.067 -8.067,8.067c-4.452,-0 -8.066,-3.615 -8.066,-8.067c0,-4.451 3.614,-8.066 8.066,-8.066c4.452,0 8.067,3.615 8.067,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4652.87,685.651c0,4.452 -3.614,8.067 -8.066,8.067c-4.452,-0 -8.066,-3.615 -8.066,-8.067c-0,-4.451 3.614,-8.066 8.066,-8.066c4.452,0 8.066,3.615 8.066,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4632.04,663.431c-0,4.452 -3.615,8.066 -8.067,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.067,3.614 8.067,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4652.87,663.431c0,4.452 -3.614,8.066 -8.066,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c-0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.066,3.614 8.066,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4609.27,647.122l50.588,0l-0,75.925l-50.588,0l-0,-75.925Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "RTU02", + "name": "RTU02", + "type": "group" + } + ], + "id": "RTU", + "name": "RTU", + "type": "group" + } + ], + "id": "Roof-equipment", + "name": "Roof-equipment", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 13, + "y": 0 + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3d5368f8489673e0a8314d68fdf527c26cbff2752845f10ef46a2b843f1b6dd9 b/Gateways/FE/projects/.resources/3d5368f8489673e0a8314d68fdf527c26cbff2752845f10ef46a2b843f1b6dd9 new file mode 100644 index 0000000..70bea0b --- /dev/null +++ b/Gateways/FE/projects/.resources/3d5368f8489673e0a8314d68fdf527c26cbff2752845f10ef46a2b843f1b6dd9 @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M2950,191.897c0,2.3 1.867,4.167 4.167,4.167c2.299,-0 4.166,-1.867 4.166,-4.167c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal12", + "name": "Terminal12", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2954.17,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2947.92,149.892c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In6", + "name": "In6", + "type": "path" + }, + { + "d": "M2954.17,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2958.33,247.063c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c-0,2.299 1.867,4.166 4.167,4.166c2.299,0 4.166,-1.867 4.166,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal13", + "name": "Terminal13", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2954.17,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2961.91,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed6", + "name": "Closed6", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2980.91,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open6", + "name": "Open6", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB07", + "name": "CB07", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1087, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1038,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1038,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1038,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1038,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3d97d97c1425a8faf773e9be8d54ff6481a30786220e311d986fac5e0d1e9d59 b/Gateways/FE/projects/.resources/3d97d97c1425a8faf773e9be8d54ff6481a30786220e311d986fac5e0d1e9d59 new file mode 100644 index 0000000..7594a67 Binary files /dev/null and b/Gateways/FE/projects/.resources/3d97d97c1425a8faf773e9be8d54ff6481a30786220e311d986fac5e0d1e9d59 differ diff --git a/Gateways/FE/projects/.resources/3dc0017ca5080edc4e29327c1c821b3b9c883aabe5ec55836ee367cac5191d77 b/Gateways/FE/projects/.resources/3dc0017ca5080edc4e29327c1c821b3b9c883aabe5ec55836ee367cac5191d77 new file mode 100644 index 0000000..f478ea0 --- /dev/null +++ b/Gateways/FE/projects/.resources/3dc0017ca5080edc4e29327c1c821b3b9c883aabe5ec55836ee367cac5191d77 @@ -0,0 +1,327 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps N", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Average Phase Current", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KVA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KVAR", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KW", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KW Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "MVAR", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "MWH", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Sag_Swell", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Waveform Capture", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/MV SWGR 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3e0ad46ff86cb40446a98e1ec025c2c1440baf534c346b8dde2617f6e5baa6c5 b/Gateways/FE/projects/.resources/3e0ad46ff86cb40446a98e1ec025c2c1440baf534c346b8dde2617f6e5baa6c5 new file mode 100644 index 0000000..5febab9 --- /dev/null +++ b/Gateways/FE/projects/.resources/3e0ad46ff86cb40446a98e1ec025c2c1440baf534c346b8dde2617f6e5baa6c5 @@ -0,0 +1,98 @@ +{ + "custom": {}, + "params": { + "enabled": true, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Motor 1/Config/Cfg_FTR_DelaySP" + }, + "propConfig": { + "params.enabled": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericEntryField", + "tooltip": {} + }, + "position": { + "grow": 1 + }, + "propConfig": { + "meta.tooltip.enabled": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "type": "property" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "####.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "format": "###.###", + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignItems": "center", + "justify": "center" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3e0d7d665c6b34fab3b4ab8b9f29a1e7ae6f03c8f803a9df3140d516eb478e86 b/Gateways/FE/projects/.resources/3e0d7d665c6b34fab3b4ab8b9f29a1e7ae6f03c8f803a9df3140d516eb478e86 new file mode 100644 index 0000000..53d979d --- /dev/null +++ b/Gateways/FE/projects/.resources/3e0d7d665c6b34fab3b4ab8b9f29a1e7ae6f03c8f803a9df3140d516eb478e86 @@ -0,0 +1,95 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3e794abec56c61f467503f1ebbcb5e1e28625d44223ff2f0fa5f3383031138e4 b/Gateways/FE/projects/.resources/3e794abec56c61f467503f1ebbcb5e1e28625d44223ff2f0fa5f3383031138e4 new file mode 100644 index 0000000..9975575 --- /dev/null +++ b/Gateways/FE/projects/.resources/3e794abec56c61f467503f1ebbcb5e1e28625d44223ff2f0fa5f3383031138e4 @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 2 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3eb9dd4e5c0fa104fdba368576bf2e38d26e5ddd53d7e0811d48c32b05cf96d8 b/Gateways/FE/projects/.resources/3eb9dd4e5c0fa104fdba368576bf2e38d26e5ddd53d7e0811d48c32b05cf96d8 new file mode 100644 index 0000000..6c074f4 --- /dev/null +++ b/Gateways/FE/projects/.resources/3eb9dd4e5c0fa104fdba368576bf2e38d26e5ddd53d7e0811d48c32b05cf96d8 @@ -0,0 +1,3586 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Postion": { + "Closed": 0, + "Faulted": 0, + "Open": 1 + }, + "Status": 2, + "Val": "Open", + "colorHandler": {}, + "tag": "Valve" + }, + "params": { + "Layout": 2, + "objectName": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1260_FCV69" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Postion": { + "persistent": true + }, + "custom.Postion.Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Closed" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Postion.Faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Alarm Summary" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Postion.Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Open" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Status": { + "binding": { + "config": { + "expression": "binEnum({view.custom.Postion.Closed},{view.custom.Postion.Open},{view.custom.Postion.Faulted})\r\n\t " + }, + "type": "expr" + }, + "persistent": true + }, + "custom.Val": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Actuating" + }, + { + "input": 1, + "output": "Closed" + }, + { + "input": 2, + "output": "Open" + }, + { + "input": 3, + "output": "Faulted" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.text": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "black" + }, + { + "input": 1, + "output": "black" + }, + { + "input": 2, + "output": "black" + }, + { + "input": 3, + "output": "white" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.valve": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-auto)" + }, + { + "input": 1, + "output": "var(--state-standby)" + }, + { + "input": 2, + "output": "var(--state-running)" + }, + { + "input": 3, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.Layout": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 75, + "width": 100 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Val" + }, + "position": { + "height": 10, + "width": 40, + "x": 2, + "y": 61 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Valve Position Feedback" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##0.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 30, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Tag" + }, + "position": { + "height": 15, + "width": 74, + "x": 3 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Valve", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Valve_Vertical" + }, + "position": { + "height": 50, + "width": 50, + "x": 15, + "y": 12 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "transforms": [ + { + "fallback": "M", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "M" + }, + { + "input": true, + "output": "A" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "11.25", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "rect", + "width": "15.75", + "x": "4.167", + "y": "0.375" + }, + { + "d": "M12.042,11.625l-0,12.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M12.042,24.375l11.625,-5.25l-0,10.5l-11.625,-5.25Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M12.042,24.375l-11.625,-5.25l-0,10.5l11.625,-5.25Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(10.4167,0,0,10.4167,16.3879,9.72823)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "10.417px" + }, + "type": "text", + "x": "7.711px", + "y": "9.728px" + } + ], + "id": "Valve", + "name": "Valve", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "borderStyle": "none", + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": 2, + "paddingBottom": 3, + "paddingLeft": 3, + "paddingRight": 3, + "paddingTop": 3 + }, + "viewBox": "0 0 25 31" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 20, + "rotate": { + "anchor": "50% 39%" + }, + "width": 20, + "x": 56 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "visible" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 15, + "width": 36, + "x": 47.4978, + "y": 58.9933 + }, + "props": { + "text": "%", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "VierticalView" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Val" + }, + "position": { + "height": 10, + "width": 27, + "x": 54, + "y": 32.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Valve Position Feedback" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##0.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 30, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Tag" + }, + "position": { + "height": 15, + "width": 16, + "x": 54.9965, + "y": 5.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Valve", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Valve_Horizontal" + }, + "position": { + "height": 50, + "width": 50, + "x": 3, + "y": 12.5 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].elements[0].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": "M", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "M" + }, + { + "input": true, + "output": "A" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": 62.5, + "name": "rect", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "rect", + "width": "45.833", + "x": "1.729", + "y": "17.354" + }, + { + "elements": [ + { + "elements": [ + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "39.263px" + }, + "text": "A", + "type": "text", + "x": "8.325px", + "y": "61.555px" + } + ], + "name": "group", + "stroke": { + "width": "1px" + }, + "transform": "matrix(1,0,0,0.921677,0,4.82116)", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M104.075,48.604l23.438,46.875l-46.876,0l23.438,-46.875Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "path" + }, + { + "d": "M104.075,48.604l23.438,-46.875l-46.876,0l23.438,46.875Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "path" + }, + { + "d": "M104.075,48.604l-56.25,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "path" + } + ], + "id": "Valve", + "name": "Valve", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": "2" + }, + "viewBox": "0 0 130 98" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 20, + "rotate": { + "anchor": "50% 39%" + }, + "width": 20, + "x": 44.992984484863285 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "visible" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Tag_0" + }, + "position": { + "height": 15, + "width": 16, + "x": 81, + "y": 29.5 + }, + "props": { + "text": "%", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "HorizontalView" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Val" + }, + "position": { + "height": 10, + "width": 40, + "x": 2, + "y": 61 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Valve Position Feedback" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##0.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Tag" + }, + "position": { + "height": 15, + "width": 74, + "x": 3 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "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": "Valve_Vertical" + }, + "position": { + "height": 50, + "width": 50, + "x": 15, + "y": 12 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "transforms": [ + { + "fallback": "M", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "M" + }, + { + "input": true, + "output": "A" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "11.25", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "rect", + "width": "15.75", + "x": "4.167", + "y": "0.375" + }, + { + "d": "M12.042,11.625l-0,12.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M12.042,24.375l11.625,-5.25l-0,10.5l-11.625,-5.25Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M12.042,24.375l-11.625,-5.25l-0,10.5l11.625,-5.25Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(10.4167,0,0,10.4167,16.3879,9.72823)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "10.417px" + }, + "type": "text", + "x": "7.711px", + "y": "9.728px" + } + ], + "id": "Valve", + "name": "Valve", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "borderStyle": "none", + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": 2, + "paddingBottom": 3, + "paddingLeft": 3, + "paddingRight": 3, + "paddingTop": 3 + }, + "viewBox": "0 0 25 31" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 20, + "rotate": { + "anchor": "50% 39%" + }, + "width": 20, + "x": 56 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "visible" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 15, + "width": 36, + "x": 47.4978, + "y": 58.9933 + }, + "props": { + "text": "%", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "VierticalView2" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Val" + }, + "position": { + "height": 0.1333, + "width": 0.27, + "x": 0.54, + "y": 0.4333 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Valve Position Feedback" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##0.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 80, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Tag" + }, + "position": { + "height": 0.2, + "width": 0.44, + "x": 0.55, + "y": 0.0733 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Valve", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "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": "Valve_Horizontal" + }, + "position": { + "height": 0.6667, + "width": 0.5, + "x": 0.03, + "y": 0.1667 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": 62.5, + "name": "rect", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "rect", + "width": "45.833", + "x": "1.729", + "y": "17.354" + }, + { + "elements": [ + { + "elements": [ + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "39.263px" + }, + "text": "A", + "type": "text", + "x": "12px", + "y": "61.555px" + } + ], + "name": "group", + "stroke": { + "width": "1px" + }, + "transform": "matrix(1,0,0,0.921677,0,4.82116)", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M104.075,48.604l23.438,46.875l-46.876,0l23.438,-46.875Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "path" + }, + { + "d": "M104.075,48.604l23.438,-46.875l-46.876,0l23.438,46.875Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "path" + }, + { + "d": "M104.075,48.604l-56.25,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "path" + } + ], + "id": "Valve", + "name": "Valve", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": "2", + "overflow": "visible" + }, + "viewBox": "0 0 130 98" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 0.2667, + "rotate": { + "anchor": "50% 39%" + }, + "width": 0.2, + "x": 0.4499 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "visible" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Tag_0" + }, + "position": { + "height": 0.2, + "width": 0.16, + "x": 0.81, + "y": 0.3933 + }, + "props": { + "text": "%", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "HorizontalView2" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3edbdde3d9b56ff2b069c52337f4cc8796f836483d8acf487f454f5aae7c240b b/Gateways/FE/projects/.resources/3edbdde3d9b56ff2b069c52337f4cc8796f836483d8acf487f454f5aae7c240b new file mode 100644 index 0000000..b259672 --- /dev/null +++ b/Gateways/FE/projects/.resources/3edbdde3d9b56ff2b069c52337f4cc8796f836483d8acf487f454f5aae7c240b @@ -0,0 +1,16 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--callToAction)", + "color": "var(--contextBackground)" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "color-mix(in srgb, var(--contextBackground) 15%, var(--callToAction) 85%)" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3ee47edd4f5949d7588e278f71a6a119454d3c133fd8d52f0256f2345a6a8033 b/Gateways/FE/projects/.resources/3ee47edd4f5949d7588e278f71a6a119454d3c133fd8d52f0256f2345a6a8033 new file mode 100644 index 0000000..831e3a2 Binary files /dev/null and b/Gateways/FE/projects/.resources/3ee47edd4f5949d7588e278f71a6a119454d3c133fd8d52f0256f2345a6a8033 differ diff --git a/Gateways/FE/projects/.resources/3eedd5e7cabc79148241ad815cc7f1ae97c98c74f74833930f5356fd19a4b51c b/Gateways/FE/projects/.resources/3eedd5e7cabc79148241ad815cc7f1ae97c98c74f74833930f5356fd19a4b51c new file mode 100644 index 0000000..3478eb4 Binary files /dev/null and b/Gateways/FE/projects/.resources/3eedd5e7cabc79148241ad815cc7f1ae97c98c74f74833930f5356fd19a4b51c differ diff --git a/Gateways/FE/projects/.resources/3ef96500c515d7e3c2f1917b16d1951b2386777a7b8cf6e399685ff42989bd6b b/Gateways/FE/projects/.resources/3ef96500c515d7e3c2f1917b16d1951b2386777a7b8cf6e399685ff42989bd6b new file mode 100644 index 0000000..208bc3d Binary files /dev/null and b/Gateways/FE/projects/.resources/3ef96500c515d7e3c2f1917b16d1951b2386777a7b8cf6e399685ff42989bd6b differ diff --git a/Gateways/FE/projects/.resources/3f0a0424fe4d9120a72fca0585e3406403542e0895c50ffffe11a7d1a8b6536b b/Gateways/FE/projects/.resources/3f0a0424fe4d9120a72fca0585e3406403542e0895c50ffffe11a7d1a8b6536b new file mode 100644 index 0000000..c6c2da0 --- /dev/null +++ b/Gateways/FE/projects/.resources/3f0a0424fe4d9120a72fca0585e3406403542e0895c50ffffe11a7d1a8b6536b @@ -0,0 +1,211 @@ +{ + "custom": { + "AlarmSevery": 4, + "RunStatus": false, + "Status": null, + "tag": "GEN-P4_5" + }, + "params": { + "objectName": "GEN", + "tagPath": "[Ignition_SATB1_IO1_default]Yard/GEN-P1_1" + }, + "propConfig": { + "custom.AlarmSevery": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.RunStatus": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Run_Status" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "expression": "if({view.params.tagPath}/AlarmSummary \u003e1,2, {view.params.tagPath}/Run_Status)\r\n" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Label" + }, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 65 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "60px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSevery}\u003e1, 2, {view.custom.RunStatus})" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "lightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.tag" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSevery}\u003e1, 2, {view.custom.RunStatus})" + }, + "transforms": [ + { + "fallback": "yellow", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "black" + }, + { + "input": 1, + "output": "black" + }, + { + "input": 2, + "output": "white" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginBottom": 0, + "marginLeft": 0, + "marginRight": 0, + "marginTop": 0 + }, + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": "var(--borderRadiusInput)", + "borderBottomRightRadius": "var(--borderRadiusInput)", + "borderTopLeftRadius": "var(--borderRadiusInput)", + "borderTopRightRadius": "var(--borderRadiusInput)", + "classes": "containers/HoverOver", + "marginLeft": 2 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/3f3bb4dcecdbacb40c0ab1826d6a24744ea80c9a48a954c8774b7e0d45876eff b/Gateways/FE/projects/.resources/3f3bb4dcecdbacb40c0ab1826d6a24744ea80c9a48a954c8774b7e0d45876eff new file mode 100644 index 0000000..7683b48 Binary files /dev/null and b/Gateways/FE/projects/.resources/3f3bb4dcecdbacb40c0ab1826d6a24744ea80c9a48a954c8774b7e0d45876eff differ diff --git a/Gateways/FE/projects/.resources/3f905faa6ba81cbe638be9e7fb8f36229ac6522a6dce02769e6ea92b623598a6 b/Gateways/FE/projects/.resources/3f905faa6ba81cbe638be9e7fb8f36229ac6522a6dce02769e6ea92b623598a6 new file mode 100644 index 0000000..06c15a9 Binary files /dev/null and b/Gateways/FE/projects/.resources/3f905faa6ba81cbe638be9e7fb8f36229ac6522a6dce02769e6ea92b623598a6 differ diff --git a/Gateways/FE/projects/.resources/3fe97e9478121242eb23fcf61cbeddbe26ff6136279840c1fc8be0eb31ff5c12 b/Gateways/FE/projects/.resources/3fe97e9478121242eb23fcf61cbeddbe26ff6136279840c1fc8be0eb31ff5c12 new file mode 100644 index 0000000..ab96496 Binary files /dev/null and b/Gateways/FE/projects/.resources/3fe97e9478121242eb23fcf61cbeddbe26ff6136279840c1fc8be0eb31ff5c12 differ diff --git a/Gateways/FE/projects/.resources/402131c7436edd0756c445d6af8a3c49cadbeb3e2c3a6726f37729cdbeebe2fb b/Gateways/FE/projects/.resources/402131c7436edd0756c445d6af8a3c49cadbeb3e2c3a6726f37729cdbeebe2fb new file mode 100644 index 0000000..04e3eb9 --- /dev/null +++ b/Gateways/FE/projects/.resources/402131c7436edd0756c445d6af8a3c49cadbeb3e2c3a6726f37729cdbeebe2fb @@ -0,0 +1,823 @@ +{ + "custom": { + "AlarmSeverity": 0, + "colorHandler": { + "text": "var(--text-muted)" + } + }, + "params": { + "embedded": "value", + "objectName": "VAV", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1141/SATB1_HS1_FS1141_VAV24" + }, + "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.colorHandler": { + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 250, + "width": 431 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "VAV_Detail" + }, + "position": { + "height": 157, + "width": 417, + "x": 7, + "y": 11 + }, + "propConfig": { + "props.elements[2].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M238.893,212.9l635.39,-0l79.148,120.243l-79.148,120.244l-635.39,-0l81.178,-120.244l-81.178,-120.243Z", + "fill": { + "paint": "#f0f0f0" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1317.32,212.9l427.69,-0l79.148,120.243l-79.148,120.244l-427.69,-0l81.177,-120.244l-81.177,-120.243Z", + "fill": { + "paint": "#f0f0f0" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "fill": { + "paint": "#f0f0f0" + }, + "height": "532.217", + "id": "Filer", + "name": "Filer", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "809.501", + "x": 570.162, + "y": "67.035" + }, + { + "fill": { + "paint": "#dfdfdf" + }, + "height": "42.235", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "219.293", + "x": "596.162", + "y": "599.252" + } + ], + "id": "VAV-Box", + "name": "VAV-Box", + "type": "group" + }, + { + "fill": { + "paint": "#f0f0f0" + }, + "height": "532.217", + "id": "Electric-Heat", + "name": "Electric-Heat", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "218.481", + "x": "1187.18", + "y": "67.035" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,339.642,191.264)", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1991.3,325.928)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Supply", + "type": "text", + "x": "1838.42px", + "y": "325.928px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,1901.85,376.759)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "1840.74px", + "y": "376.759px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,240.601,325.928)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Primary Air", + "type": "text", + "x": "-3.857px", + "y": "325.928px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,231.812,376.759)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "From RTU1", + "type": "text", + "x": "-1.538px", + "y": "376.759px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1376.63,322.861)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Electric", + "type": "text", + "x": "1212.72px", + "y": "322.861px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,1318.33,378.63)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Heat", + "type": "text", + "x": "1212.72px", + "y": "378.63px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,716.193,191.855)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "M", + "type": "text", + "x": "674.542px", + "y": "191.855px" + }, + { + "fill": { + "paint": "transparent" + }, + "height": 77.879, + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "84.164", + "x": "653.249", + "y": "135.02" + }, + { + "d": "M570.162,453.387l220.338,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M570.162,212.9l220.338,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M695.331,212.9l-0,240.487", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "RED", + "width": "4.17px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "cx": "695.331", + "cy": "333.143", + "name": "circle", + "r": "8.333", + "type": "circle" + }, + { + "d": "M623.344,425.08l143.973,-183.874", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "red", + "width": "4.17px" + }, + "type": "path", + "visibility": "hidden" + } + ], + "id": "Damper", + "name": "Damper", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1992 667" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Space Temp" + }, + "position": { + "height": 25, + "width": 108, + "x": 236, + "y": 191.99 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Space Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 78 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Damper Pos" + }, + "position": { + "height": 25, + "width": 62, + "x": 116, + "y": 116.5 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Space Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%", + "EU_Pos": 0, + "Size": 12, + "Value": 30 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SupplyTemp Var" + }, + "position": { + "height": 25, + "width": 100, + "x": 280, + "y": 40.4928 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Space Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 64.6 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Air Flow Var" + }, + "position": { + "height": 25, + "width": 81, + "x": 40, + "y": 38.5 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Space Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "cfm", + "EU_Pos": 0, + "Size": 12, + "Value": 129 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 88, + "x": 267, + "y": 213.964 + }, + "props": { + "text": "Space Temperature", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 32, + "width": 169, + "x": 133, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "VAV", + "textStyle": { + "fontSize": 16, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "height": 134, + "width": 347, + "x": 45, + "y": 26.5 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 45, + "width": 38, + "x": 373, + "y": 5 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "custom": { + "ValvePos": 30 + }, + "meta": { + "name": "Damper" + }, + "position": { + "height": 45, + "width": 1, + "x": 152, + "y": 67 + }, + "propConfig": { + "custom.ValvePos": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Damper Position" + }, + "enabled": false, + "type": "tag" + } + }, + "props.style.transform": { + "binding": { + "config": { + "path": "this.custom.ValvePos" + }, + "transforms": [ + { + "expression": "\"rotate(\"+ (({value}*-90)/100) + \"deg)\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/404f348ce8d916e694fe7780e75bd6da85cd9ba997f7efadbccda767267da300 b/Gateways/FE/projects/.resources/404f348ce8d916e694fe7780e75bd6da85cd9ba997f7efadbccda767267da300 new file mode 100644 index 0000000..1233c17 --- /dev/null +++ b/Gateways/FE/projects/.resources/404f348ce8d916e694fe7780e75bd6da85cd9ba997f7efadbccda767267da300 @@ -0,0 +1,161 @@ +{ + "custom": { + "data": null, + "type": "Chillers", + "values": null + }, + "params": { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof" + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "struct": { + "hb": "now(5000)", + "tagpath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\ttagPaths \u003d []\n\tfor i in range(0, 48):\n\t\tCH_Name \u003d \"/SATB1_RF_CH{:02d}_SYSTEM\".format(i+1)\n\t\tMTR_Name \u003d \"/SATB1_RF_CH{:02d}_MOTOR\".format(i+1)\n\t\ttagPaths.append(value[\u0027tagpath\u0027] + CH_Name + \"/Control/Mode\")\n\t\ttagPaths.append(value[\u0027tagpath\u0027] + CH_Name + \"/System HOA\")\n\t\ttagPaths.append(value[\u0027tagpath\u0027] + MTR_Name + \"/Status Running\")\n\tdata \u003d system.tag.readBlocking(tagPaths)\n\t\n\tidx \u003d 0\n\toutput \u003d []\n\tfor i in range(0, 48):\n\t\tchiller \u003d {}\n\t\tCH_Name \u003d \"/SATB1_RF_CH{:02d}_SYSTEM\".format(i+1)\n\t\tchiller[\u0027Mode\u0027] \u003d data[idx]\n\t\tchiller[\u0027HOA\u0027] \u003d data[idx+1]\n\t\tchiller[\u0027Faulted\u0027] \u003d alarm.summary.calcMaxPriority(value[\u0027tagpath\u0027] + CH_Name)\n\t\tchiller[\u0027Running\u0027] \u003d data[idx+2]\n\t\tidx +\u003d 3\n\t\toutput.append(chiller)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.type": { + "persistent": true + }, + "custom.values": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tcountRunning \u003d 0\n\tcountStandby \u003d 0\n\tcountFaulted \u003d 0\n\tcountManual \u003d 0\n\tfor i in range(len(value)):\n\t\tif value[i][\u0027Faulted\u0027] \u003e 0:\n\t\t\tcountFaulted +\u003d1\n\t\t\tcontinue\n\t\telif value[i][\u0027Mode\u0027] \u003d\u003d False:\n\t\t\tcountManual +\u003d1\n\t\t\tcontinue\n\t\telif value[i][\u0027Running\u0027]:\n\t\t\tcountRunning +\u003d1\n\t\t\tcontinue\n\t\telse:\n\t\t\tcountStandby +\u003d1\n\toutput[\"Running\"] \u003d countRunning\n\toutput[\"Standby\"] \u003d countStandby\n\toutput[\"Faulted\"] \u003d countFaulted\n\toutput[\"Manual\"] \u003d countManual\n\treturn output", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.LLS_tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 101, + "width": 399 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.instances[0].value": { + "binding": { + "config": { + "path": "view.custom.values.Running" + }, + "type": "property" + } + }, + "props.instances[1].value": { + "binding": { + "config": { + "path": "view.custom.values.Standby" + }, + "type": "property" + } + }, + "props.instances[2].value": { + "binding": { + "config": { + "path": "view.custom.values.Faulted" + }, + "type": "property" + } + }, + "props.instances[3].value": { + "binding": { + "config": { + "path": "view.custom.values.Manual" + }, + "type": "property" + } + } + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "Running" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "Standby" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "Faulted" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "Manual" + } + ], + "path": "Library/Widgets/Mechanical/Wdg_CH_Count", + "style": { + "gap": "15px", + "padding": "15px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/406b0d3d519612c19c21c366af68fb53c09f153a6271371d9c341944d045933b b/Gateways/FE/projects/.resources/406b0d3d519612c19c21c366af68fb53c09f153a6271371d9c341944d045933b new file mode 100644 index 0000000..874b084 Binary files /dev/null and b/Gateways/FE/projects/.resources/406b0d3d519612c19c21c366af68fb53c09f153a6271371d9c341944d045933b differ diff --git a/Gateways/FE/projects/.resources/40bdfa0f4355b1325ae031f2fd7fa374821b5ebb910307fa767ae6a66d667fa9 b/Gateways/FE/projects/.resources/40bdfa0f4355b1325ae031f2fd7fa374821b5ebb910307fa767ae6a66d667fa9 new file mode 100644 index 0000000..e749a94 --- /dev/null +++ b/Gateways/FE/projects/.resources/40bdfa0f4355b1325ae031f2fd7fa374821b5ebb910307fa767ae6a66d667fa9 @@ -0,0 +1,322 @@ +{ + "custom": {}, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + }, + "propConfig": { + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40%" + }, + "props": { + "text": "Schedule Override" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "60%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Schedule Override Command" + }, + "type": "tag" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 0 + }, + { + "label": "Force Occupied", + "value": 1 + }, + { + "label": "Force Unoccupied", + "value": 2 + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "FlexContainer" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "LeftContainer" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40%" + }, + "props": { + "text": "HVAC Override" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "60%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/HVAC Override Cmd" + }, + "type": "tag" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 0 + }, + { + "label": "Vent", + "value": 1 + }, + { + "label": "Cool", + "value": 2 + }, + { + "label": "Heat", + "value": 3 + }, + { + "label": "Vent Dehum", + "value": 4 + }, + { + "label": "Cool Dehum", + "value": 5 + }, + { + "label": "Heat Dehum", + "value": 6 + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Dropdown" + }, + "position": { + "display": false + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Tag ConfigV2" + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Emergency Override\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Boolean", + "name": "Emergency Override", + "options": [] + }, + "path": "Library/Framework/Tag ConfigV2" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Tag ConfigV2" + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Occupancy Override\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Boolean", + "name": "Occupancy Override", + "options": [] + }, + "path": "Library/Framework/Tag ConfigV2" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "RightContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/412e247195d69e9d7cb14bd646601da29f2ea9cfd71f25ac36cc9ecf834de04a b/Gateways/FE/projects/.resources/412e247195d69e9d7cb14bd646601da29f2ea9cfd71f25ac36cc9ecf834de04a new file mode 100644 index 0000000..9cb2a16 Binary files /dev/null and b/Gateways/FE/projects/.resources/412e247195d69e9d7cb14bd646601da29f2ea9cfd71f25ac36cc9ecf834de04a differ diff --git a/Gateways/FE/projects/.resources/414d83eaba0be6e8c7a212b82bb31f0b76cc552ecab026b9cb6869a27bcfe708 b/Gateways/FE/projects/.resources/414d83eaba0be6e8c7a212b82bb31f0b76cc552ecab026b9cb6869a27bcfe708 new file mode 100644 index 0000000..9cbbc6f Binary files /dev/null and b/Gateways/FE/projects/.resources/414d83eaba0be6e8c7a212b82bb31f0b76cc552ecab026b9cb6869a27bcfe708 differ diff --git a/Gateways/FE/projects/.resources/416553462c7d10b57e7a74a59a626ee5697fb30da7652a7339d976802f915818 b/Gateways/FE/projects/.resources/416553462c7d10b57e7a74a59a626ee5697fb30da7652a7339d976802f915818 new file mode 100644 index 0000000..88290f1 Binary files /dev/null and b/Gateways/FE/projects/.resources/416553462c7d10b57e7a74a59a626ee5697fb30da7652a7339d976802f915818 differ diff --git a/Gateways/FE/projects/.resources/416f2937763a796b49a60a297a5cf89391f5ef724e6b2c6bc1c2427a514a0deb b/Gateways/FE/projects/.resources/416f2937763a796b49a60a297a5cf89391f5ef724e6b2c6bc1c2427a514a0deb new file mode 100644 index 0000000..a39a0c2 --- /dev/null +++ b/Gateways/FE/projects/.resources/416f2937763a796b49a60a297a5cf89391f5ef724e6b2c6bc1c2427a514a0deb @@ -0,0 +1,584 @@ +{ + "custom": { + "AlarmSeverity": 0 + }, + "params": { + "embedded": false, + "objectName": "Panel_340_580", + "tagPath": "[Ignition_Common_IO_Gtwy]SR1133/SATB1_HS1_SR1133_EF03" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 190, + "width": 170 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Generic panel" + }, + "position": { + "height": 0.5824, + "width": 0.4647, + "x": 0.2588, + "y": 0.3294 + }, + "props": { + "elements": [ + { + "d": "M5,72 l23,0 0,854 -23,0 0,-854z", + "fill": { + "paint": "#b2b29b" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,117 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,297 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,476 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,656 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,836 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,162 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,342 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,521 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,701 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,881 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,207 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,387 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,566 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,746 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,252 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,431 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,611 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,791 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,5 l808,0 0,988 -808,0 0,-988z", + "fill": { + "paint": "#e5e5dd" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M32,988 l799,0 0,-624 -799,168 0,456z", + "fill": { + "paint": "#deded4" + }, + "name": "path", + "type": "path" + }, + { + "d": "M32,988 l799,0 0,-557 -799,169 0,388z", + "fill": { + "paint": "#d4d4c7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M32,988 l799,0 0,-399 -799,168 0,231z", + "fill": { + "paint": "#ccccbd" + }, + "name": "path", + "type": "path" + }, + { + "d": "M95,72 l674,0 0,854 -674,0 0,-854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M140,117 l90,0 0,23 -90,0 0,-23z", + "fill": { + "paint": "#ccccbd" + }, + "name": "path", + "type": "path" + }, + { + "d": "M836,454 l22,0 0,90 -22,0 0,-90z", + "fill": { + "paint": "#4c4c16" + }, + "name": "path", + "type": "path" + } + ], + "viewBox": "0 0 864 999" + }, + "type": "ia.shapes.svg" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 0.6588, + "width": 0.5353, + "x": 0.2147, + "y": 0.2912 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 0.1647, + "width": 1, + "y": 0.1471 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Panel", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 0.1412, + "width": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Room" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Room" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 0.2824, + "width": 0.2647, + "x": 0.6263, + "y": 0.1294 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "backgroundColor": "var(--containerNested)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "hidden", + "paddingBottom": 10, + "paddingLeft": 10, + "paddingRight": 10, + "paddingTop": 10 + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/41dff8a7a213e8a7e93537c006e1cafa9739411eb286485cac09ab30339d207d b/Gateways/FE/projects/.resources/41dff8a7a213e8a7e93537c006e1cafa9739411eb286485cac09ab30339d207d new file mode 100644 index 0000000..a3a576f --- /dev/null +++ b/Gateways/FE/projects/.resources/41dff8a7a213e8a7e93537c006e1cafa9739411eb286485cac09ab30339d207d @@ -0,0 +1,437 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Details", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [ + "Amps A", + "Amps B" + ] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_HF" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Details" + }, + "position": { + "tabIndex": 5 + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Details\u0027)" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/HarmonicFilter/Details" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "enabled": false, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "tabs": [ + "Status", + "Config", + "Trend", + "Meta", + "Wiki", + "Details" + ] + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/421398ecaf4fdd0296426c697241e906711d4c9c514b39b739f132ad2a822947 b/Gateways/FE/projects/.resources/421398ecaf4fdd0296426c697241e906711d4c9c514b39b739f132ad2a822947 new file mode 100644 index 0000000..d5ceb61 Binary files /dev/null and b/Gateways/FE/projects/.resources/421398ecaf4fdd0296426c697241e906711d4c9c514b39b739f132ad2a822947 differ diff --git a/Gateways/FE/projects/.resources/4241f05c4bb32b2bc213b4d72fff2f3f1a7bfb2e16fb96e51dfd12d2a3d98690 b/Gateways/FE/projects/.resources/4241f05c4bb32b2bc213b4d72fff2f3f1a7bfb2e16fb96e51dfd12d2a3d98690 new file mode 100644 index 0000000..64c8780 --- /dev/null +++ b/Gateways/FE/projects/.resources/4241f05c4bb32b2bc213b4d72fff2f3f1a7bfb2e16fb96e51dfd12d2a3d98690 @@ -0,0 +1,300 @@ +{ + "custom": { + "Motor": "/Motor", + "PID": "/PID", + "inTagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_EF5" + }, + "params": { + "embedded": false, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_EF5" + }, + "propConfig": { + "custom.Motor": { + "persistent": true + }, + "custom.PID": { + "persistent": true + }, + "custom.inTagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.ZSO01\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "VSD", + "tagPath": "{view.custom.inTagPath}{view.custom.Motor}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "150PX" + }, + "propConfig": { + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "backgroundColor": "#AEAEAE", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Motor", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.ZSO02\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "PID_Loop", + "tagPath": "{view.custom.inTagPath}{view.custom.PID}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "150PX" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.ZSO02} +\"/Alarms/Alarm Target Disagree\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "backgroundColor": "#AEAEAE", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "PID", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "150px" + }, + "props": { + "justify": "space-around", + "style": { + "gap": 5, + "padding": 5 + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/42c1b479e2f294a0ccbd790d755dae8533f6733b9995876a5b9d68e53ed1a886 b/Gateways/FE/projects/.resources/42c1b479e2f294a0ccbd790d755dae8533f6733b9995876a5b9d68e53ed1a886 new file mode 100644 index 0000000..0ae0446 --- /dev/null +++ b/Gateways/FE/projects/.resources/42c1b479e2f294a0ccbd790d755dae8533f6733b9995876a5b9d68e53ed1a886 @@ -0,0 +1,2121 @@ +{ + "custom": { + "in1": null, + "in2": null + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower_1": 1, + "inputPower_2": 0, + "objectName": "DS", + "outputPower_1": 0, + "outputPower_2": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2", + "textColor": "var(--olGray)", + "textHandler": { + "text1": "DS-1A1", + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "propConfig": { + "custom.in1": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Data/S1In" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.in2": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Data/S2In" + }, + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower_1": { + "onChange": { + "enabled": null, + "script": "\tself.custom.in1 \u003d currentValue" + }, + "paramDirection": "input", + "persistent": true + }, + "params.inputPower_2": { + "onChange": { + "enabled": null, + "script": "\tself.custom.in2 \u003d currentValue" + }, + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower_1": { + "binding": { + "config": { + "path": "/root/DS.custom.outW3" + }, + "enabled": false, + "transforms": [ + { + "code": "\ttagPath \u003d self.params.tagPath + \"/Data/S1Out\"\n\tif value is None:\n\t\tsystem.tag.writeAsync(tagPath, False)\n\t\treturn 0\n\toutput \u003d bool(value)\n\tsystem.tag.writeAsync(tagPath, output)\n\treturn value", + "type": "script" + }, + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": 0 + }, + { + "input": 1, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.outputPower_2": { + "binding": { + "config": { + "path": "/root/DS.custom.outW4" + }, + "enabled": false, + "transforms": [ + { + "code": "\ttagPath \u003d self.params.tagPath + \"/Data/S2Out\"\n\tif value is None:\n\t\tsystem.tag.writeAsync(tagPath, False)\n\t\treturn 0\n\toutput \u003d bool(value)\n\tsystem.tag.writeAsync(tagPath, output)\n\treturn value", + "type": "script" + }, + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": 0 + }, + { + "input": 1, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 110, + "width": 160 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "DS" + }, + "position": { + "height": 110, + "width": 160 + }, + "propConfig": { + "custom.CB3_Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.CB4_Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.Bus": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Data/Bus" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.W1": { + "binding": { + "config": { + "path": "this.custom.inW1" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\tif value:\n\t\treturn \u0027var(--olRed)\u0027\n\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.colorHandler.W2": { + "binding": { + "config": { + "path": "this.custom.inW2" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\tif value:\n\t\treturn \u0027var(--olRed)\u0027\n\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.colorHandler.W3": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.outBus}", + "CB3": "{this.custom.CB3_Closed}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027CB3\u0027] \u003d\u003d 1) and (value[\u0027Bus\u0027] \u003d\u003d 1):\n\t\treturn \u0027var(--olRed)\u0027\n\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.W4": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.outBus}", + "CB4": "{this.custom.CB4_Closed}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027CB4\u0027] \u003d\u003d 1) and (value[\u0027Bus\u0027] \u003d\u003d 1):\n\t\treturn \u0027var(--olRed)\u0027\n\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.inBus": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Data/Bus" + }, + "type": "tag" + } + }, + "custom.inW1": { + "binding": { + "config": { + "path": "view.params.inputPower_1" + }, + "type": "property" + } + }, + "custom.inW2": { + "binding": { + "config": { + "path": "view.params.inputPower_2" + }, + "type": "property" + } + }, + "custom.inW3": { + "binding": { + "config": { + "path": "this.custom.outBus" + }, + "type": "property" + } + }, + "custom.inW4": { + "binding": { + "config": { + "path": "this.custom.outBus" + }, + "type": "property" + } + }, + "custom.outBus": { + "binding": { + "config": { + "path": "this.custom.inBus" + }, + "type": "property" + } + }, + "custom.outW1": { + "binding": { + "config": { + "expression": "if(tag(tostr({view.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))\u0026\u0026{this.custom.inW1},1,0)\r\n" + }, + "type": "expr" + } + }, + "custom.outW2": { + "binding": { + "config": { + "expression": "if(tag(tostr({view.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))\u0026\u0026{this.custom.inW2},1,0)" + }, + "type": "expr" + } + }, + "custom.outW3": { + "binding": { + "config": { + "expression": "if(tag(tostr({view.params.tagPath}+\u0027/Breaker Closed Way 03\u0027))\u0026\u0026{this.custom.outBus},1,0)" + }, + "type": "expr" + } + }, + "custom.outW4": { + "binding": { + "config": { + "expression": "if(tag(tostr({view.params.tagPath}+\u0027/Breaker Closed Way 04\u0027))\u0026\u0026{this.custom.outBus},1,0)" + }, + "type": "expr" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{parent.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[3].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W1" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 01" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W1" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 01" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[4].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 02" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 02" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[5].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[6].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[8].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[9].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[5].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[8].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text1" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text2" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text3" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text4" + }, + "type": "property" + } + }, + "props.elements[8].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "circle", + "width": 82.5, + "x": 3.75, + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l3.929,0l-0,0.75l-3.179,-0l0,3.268l-0.75,-0Zm9.429,-4.018l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.499,0l0,0.75l-2.357,0l0,-0.75l2.357,0Zm11.001,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.357,0l-0,-0.75l2.357,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm7.071,4.018l-0.75,-0l-0,-3.268l-3.179,0l0,-0.75l3.929,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.929,7.232l0,-0.75l3.179,0l0,-3.268l0.75,0l0,4.018l-3.929,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.499,0l-0,-0.75l2.357,0l-0,0.75l-2.357,0Zm-11.001,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.357,0l0,0.75l-2.357,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-7.071,-4.018l0.75,0l0,3.268l3.179,0l-0,0.75l-3.929,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M22.5,31.634l45,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,25.327l0,15.923", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,25.327l0,15.923", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M90,7.5l0,75l-90,-0l-0,-75l90,0Zm-0.75,0.75l-88.5,0l0,73.5l88.5,-0l0,-73.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "90", + "x": "-0", + "y": "7.5" + }, + { + "d": "M90.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M89.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M94.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "89.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M88.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M91.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + }, + { + "elements": [ + { + "cx": "22.5", + "cy": "25.327", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,26.452c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125Zm0,-0.675c0.248,0 0.45,-0.201 0.45,-0.45c0,-0.248 -0.202,-0.45 -0.45,-0.45c-0.248,0 -0.45,0.202 -0.45,0.45c0,0.249 0.202,0.45 0.45,0.45Z", + "name": "path", + "type": "path" + }, + { + "d": "M22.5,16.327l1.398,8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M22.5,16.327l4.579,7.749", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.68px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,20.5386,16.4583)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-1", + "type": "tspan", + "x": "11.967px 14.437px 16.834px 18.221px ", + "y": "16.458px 16.458px 16.458px 16.458px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "8.189px", + "y": "16.458px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.7675,23.2292)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "10.036px", + "y": "23.229px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,30.4087,30.2063)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "24.391px", + "y": "30.206px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "Way-1", + "name": "Way-1", + "type": "group" + }, + { + "elements": [ + { + "cx": "67.5", + "cy": "25.327", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,26.452c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125Zm0,-0.75c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M67.5,16.327l1.398,8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,16.327l4.579,7.749", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,65.5552,16.4583)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-2", + "type": "tspan", + "x": "56.984px 59.454px 61.85px 63.238px ", + "y": "16.458px 16.458px 16.458px 16.458px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "53.206px", + "y": "16.458px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,64.7841,23.2292)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "55.053px", + "y": "23.229px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,75.9375,30.2083)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NO", + "type": "text", + "x": "69.688px", + "y": "30.208px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "Way-2", + "name": "Way-2", + "type": "group" + }, + { + "elements": [ + { + "cx": "22.5", + "cy": "59.785", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,58.66c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M22.5,68.785l1.398,-8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,68.785l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M23.898,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 22.5, + "cy": "42.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,41.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": 22.5, + "cy": "51.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,50.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M27.558,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,52.067l0,7.833", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,20.5386,74.4792)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-3", + "type": "tspan", + "x": "11.967px 14.437px 16.834px 18.221px ", + "y": "74.479px 74.479px 74.479px 74.479px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "8.189px", + "y": "74.479px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.7675,65.4822)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "10.036px", + "y": "65.482px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,33.1767,65.5208)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "27.159px", + "y": "65.521px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "Way-3", + "name": "Way-3", + "type": "group" + }, + { + "elements": [ + { + "cx": "67.5", + "cy": "59.785", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,58.66c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M67.5,68.785l1.398,-8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,68.785l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M68.883,42.405c1.261,1.2 1.896,2.695 1.871,4.5c0.008,2.095 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 67.5, + "cy": "42.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,41.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": 67.5, + "cy": "51.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,50.25c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M72.544,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,52.067l0,7.833", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,65.5552,74.4792)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-4", + "type": "tspan", + "x": "56.984px 59.454px 61.85px 63.238px ", + "y": "74.479px 74.479px 74.479px 74.479px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "53.206px", + "y": "74.479px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,64.7841,65.4822)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "55.053px", + "y": "65.482px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,78.4735,65.5208)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "72.455px", + "y": "65.521px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "Way-4", + "name": "Way-4", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,103.018,14.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "x": "88.199px", + "y": "14.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,114.137,17.9948)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ",", + "type": "tspan", + "x": "112.979px ", + "y": "17.995px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.343px", + "y": "17.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,117.199,21.7834)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "92.884px 94.042px ", + "y": "21.783px 21.783px " + }, + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "101.22px 102.377px ", + "y": "21.783px 21.783px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.325px", + "y": "21.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,114.102,25.5334)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "97.434px 99.983px 101.14px ", + "y": "25.533px 25.533px 25.533px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.482px", + "y": "25.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 120 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 37, + "x": 37, + "y": 63 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed Way 03\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Tripped Way 03\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027\n", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "overflow": "visible" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 20, + "width": 37, + "x": 50.5, + "y": 45 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed Way 04\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Tripped Way 04\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027\n", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "overflow": "visible", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/42d6157421964e44d4551ade73f10f34228ef8857b758752ae9fd875a60561df b/Gateways/FE/projects/.resources/42d6157421964e44d4551ade73f10f34228ef8857b758752ae9fd875a60561df new file mode 100644 index 0000000..03810da Binary files /dev/null and b/Gateways/FE/projects/.resources/42d6157421964e44d4551ade73f10f34228ef8857b758752ae9fd875a60561df differ diff --git a/Gateways/FE/projects/.resources/431bff6d4ba2c25df93bbae17becdc7f8e5db51eb811e5f6982f401d1c0c560e b/Gateways/FE/projects/.resources/431bff6d4ba2c25df93bbae17becdc7f8e5db51eb811e5f6982f401d1c0c560e new file mode 100644 index 0000000..0a4f239 --- /dev/null +++ b/Gateways/FE/projects/.resources/431bff6d4ba2c25df93bbae17becdc7f8e5db51eb811e5f6982f401d1c0c560e @@ -0,0 +1,32 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderColor": "var(--warning)", + "borderStyle": "solid", + "borderWidth": "1px", + "boxShadow": "none", + "color": "var(--warning)", + "fontWeight": "normal", + "textTransform": "uppercase", + "fill": "var(--warning)" + } + }, + "variants": [ + { + "pseudo": "hover", + "animation": { + "duration": "0.2s", + "direction": "normal", + "iterationCount": "1", + "timingFunction": "ease", + "keyframes": { + "0%": {}, + "100%": { + "backgroundColor": "var(--neutral-20)" + } + } + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/432106fab62a0c40396c3e421f88c4a3766d1e7585fc8aef104b3619ac9f2e0e b/Gateways/FE/projects/.resources/432106fab62a0c40396c3e421f88c4a3766d1e7585fc8aef104b3619ac9f2e0e new file mode 100644 index 0000000..4aabe17 --- /dev/null +++ b/Gateways/FE/projects/.resources/432106fab62a0c40396c3e421f88c4a3766d1e7585fc8aef104b3619ac9f2e0e @@ -0,0 +1,403 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Breaker", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Breaker E/Info" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4330ee01fc35c116aa8784c3ae13876cd6f6eac179f7bf6a629eae64a2699efc b/Gateways/FE/projects/.resources/4330ee01fc35c116aa8784c3ae13876cd6f6eac179f7bf6a629eae64a2699efc new file mode 100644 index 0000000..9796365 --- /dev/null +++ b/Gateways/FE/projects/.resources/4330ee01fc35c116aa8784c3ae13876cd6f6eac179f7bf6a629eae64a2699efc @@ -0,0 +1,431 @@ +{ + "custom": { + "tabsConfig": { + "showConfig": true, + "showControl": true, + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]FS1232/SATB1_HS2_FS1232_FCU21" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Controls" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "\r\nif (split({view.params.tagPath},\u0027_\u0027)[6,0] \u003d \"FCU21\",\r\nconcat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info_\u0027,split({view.params.tagPath},\u0027_\u0027)[6,0]),\r\nconcat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027))" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/434aad399d73605b5e18988c802a179084cc705e50c3261c31b397749265f411 b/Gateways/FE/projects/.resources/434aad399d73605b5e18988c802a179084cc705e50c3261c31b397749265f411 new file mode 100644 index 0000000..34ce0db Binary files /dev/null and b/Gateways/FE/projects/.resources/434aad399d73605b5e18988c802a179084cc705e50c3261c31b397749265f411 differ diff --git a/Gateways/FE/projects/.resources/4374d7e8f5b4ef9778696791693f67d4f0efa458c645b707e5cf6c5f5bd75bc4 b/Gateways/FE/projects/.resources/4374d7e8f5b4ef9778696791693f67d4f0efa458c645b707e5cf6c5f5bd75bc4 new file mode 100644 index 0000000..cd6bdce Binary files /dev/null and b/Gateways/FE/projects/.resources/4374d7e8f5b4ef9778696791693f67d4f0efa458c645b707e5cf6c5f5bd75bc4 differ diff --git a/Gateways/FE/projects/.resources/439c02c857bbb0a8abc52451342c1e9ba759d15e4123aaaefd192cde95e28045 b/Gateways/FE/projects/.resources/439c02c857bbb0a8abc52451342c1e9ba759d15e4123aaaefd192cde95e28045 new file mode 100644 index 0000000..6b17c90 Binary files /dev/null and b/Gateways/FE/projects/.resources/439c02c857bbb0a8abc52451342c1e9ba759d15e4123aaaefd192cde95e28045 differ diff --git a/Gateways/FE/projects/.resources/43c0f1088a53d188ad4271a00502c72ec35f8a5c0cb8b3de83b441b0fc880822 b/Gateways/FE/projects/.resources/43c0f1088a53d188ad4271a00502c72ec35f8a5c0cb8b3de83b441b0fc880822 new file mode 100644 index 0000000..5d65c28 Binary files /dev/null and b/Gateways/FE/projects/.resources/43c0f1088a53d188ad4271a00502c72ec35f8a5c0cb8b3de83b441b0fc880822 differ diff --git a/Gateways/FE/projects/.resources/43dc0c9ecdd6ee80e312fae023c27074fe43735e837a97bc1814cab7a3706c07 b/Gateways/FE/projects/.resources/43dc0c9ecdd6ee80e312fae023c27074fe43735e837a97bc1814cab7a3706c07 new file mode 100644 index 0000000..86f1520 Binary files /dev/null and b/Gateways/FE/projects/.resources/43dc0c9ecdd6ee80e312fae023c27074fe43735e837a97bc1814cab7a3706c07 differ diff --git a/Gateways/FE/projects/.resources/43f2d0518e20e2e18eb2aa8b6874a1ddaa83e65637d36c2c51a9435780ad3836 b/Gateways/FE/projects/.resources/43f2d0518e20e2e18eb2aa8b6874a1ddaa83e65637d36c2c51a9435780ad3836 new file mode 100644 index 0000000..b938256 --- /dev/null +++ b/Gateways/FE/projects/.resources/43f2d0518e20e2e18eb2aa8b6874a1ddaa83e65637d36c2c51a9435780ad3836 @@ -0,0 +1,1649 @@ +{ + "custom": { + "lineColor": "var(--olGreen)" + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 0, + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP-P1.1", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "propConfig": { + "custom.lineColor": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 105, + "width": 371 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371 + }, + "propConfig": { + "props.elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.mainLegend" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Mainbreaker1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Mainbreaker2" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Mainbreaker3" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1-1" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1-2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1-3" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2-1" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2-2" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2-3" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4-1" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4-2" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4-3" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3-1" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3-2" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3-3" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.IDPlate1" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[7].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.IDPlate2" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.IDPlate3" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker5-1" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker5-2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker5-3" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "name": "rect", + "type": "rect", + "width": "277.971", + "x": "0", + "y": "11.25" + }, + { + "d": "M0,15.268l0,-4.018l3.893,0l0,0.75l-3.143,-0l0,3.268l-0.75,-0Zm9.344,-4.018l-0,0.75l-2.336,0l-0,-0.75l2.336,0Zm10.9,0l0,0.75l-7.786,0l0,-0.75l7.786,0Zm5.451,0l-0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l-0,0.75l-7.787,0l0,-0.75l7.787,0Zm5.45,0l-0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.45,0l0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.45,0l0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.902,0l-0,0.75l-7.787,0l0,-0.75l7.787,0Zm5.45,0l0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.9,0l0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.451,0l-0,0.75l-2.336,0l-0,-0.75l2.336,0Zm10.901,0l-0,0.75l-7.787,0l0,-0.75l7.787,0Zm5.45,0l-0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.451,0l-0,0.75l-2.336,0l-0,-0.75l2.336,0Zm10.9,0l0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.451,0l-0,0.75l-2.336,0l-0,-0.75l2.336,0Zm10.9,0l0,0.75l-7.786,0l0,-0.75l7.786,0Zm5.451,0l-0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l-0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.45,0l0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l0,0.75l-7.786,0l0,-0.75l7.786,0Zm5.45,0l0,0.75l-2.335,0l-0,-0.75l2.335,0Zm10.902,0l-0,0.75l-7.787,0l0,-0.75l7.787,0Zm5.45,0l-0,0.75l-2.336,0l-0,-0.75l2.336,0Zm10.9,0l0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.451,0l0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l-0,0.75l-7.787,0l0,-0.75l7.787,0Zm5.45,0l-0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l-0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.451,0l-0,0.75l-2.336,0l-0,-0.75l2.336,0Zm7.007,4.018l-0.75,-0l0,-3.268l-3.143,0l0,-0.75l3.893,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.893,7.232l0,-0.75l3.143,0l0,-3.268l0.75,0l0,4.018l-3.893,0Zm-5.45,0l-0,-0.75l2.335,0l0,0.75l-2.335,0Zm-10.901,0l-0,-0.75l7.786,0l-0,0.75l-7.786,0Zm-5.451,0l0,-0.75l2.336,0l0,0.75l-2.336,0Zm-10.901,0l0,-0.75l7.787,0l-0,0.75l-7.787,0Zm-5.45,0l0,-0.75l2.336,0l-0,0.75l-2.336,0Zm-10.901,0l0,-0.75l7.787,0l-0,0.75l-7.787,0Zm-5.45,0l-0,-0.75l2.336,0l-0,0.75l-2.336,0Zm-10.901,0l-0,-0.75l7.786,0l0,0.75l-7.786,0Zm-5.45,0l-0,-0.75l2.336,0l-0,0.75l-2.336,0Zm-10.902,0l0,-0.75l7.787,0l-0,0.75l-7.787,0Zm-5.45,0l-0,-0.75l2.336,0l-0,0.75l-2.336,0Zm-10.9,0l-0,-0.75l7.786,0l0,0.75l-7.786,0Zm-5.451,0l0,-0.75l2.336,0l0,0.75l-2.336,0Zm-10.901,0l0,-0.75l7.787,0l-0,0.75l-7.787,0Zm-5.45,0l0,-0.75l2.336,0l0,0.75l-2.336,0Zm-10.901,0l-0,-0.75l7.786,0l0,0.75l-7.786,0Zm-5.45,0l-0,-0.75l2.335,0l0,0.75l-2.335,0Zm-10.901,0l-0,-0.75l7.786,0l0,0.75l-7.786,0Zm-5.451,0l0,-0.75l2.336,0l0,0.75l-2.336,0Zm-10.9,0l-0,-0.75l7.786,0l0,0.75l-7.786,0Zm-5.451,0l0,-0.75l2.336,0l0,0.75l-2.336,0Zm-10.901,0l0,-0.75l7.787,0l-0,0.75l-7.787,0Zm-5.45,0l-0,-0.75l2.336,0l-0,0.75l-2.336,0Zm-10.901,0l-0,-0.75l7.786,0l0,0.75l-7.786,0Zm-5.45,0l-0,-0.75l2.336,0l-0,0.75l-2.336,0Zm-10.901,0l-0,-0.75l7.786,0l-0,0.75l-7.786,0Zm-5.451,0l0,-0.75l2.336,0l0,0.75l-2.336,0Zm-10.9,0l-0,-0.75l7.786,0l0,0.75l-7.786,0Zm-5.451,0l0,-0.75l2.336,0l-0,0.75l-2.336,0Zm-10.9,0l-0,-0.75l7.786,0l-0,0.75l-7.786,0Zm-5.451,0l0,-0.75l2.336,0l0,0.75l-2.336,0Zm-10.901,0l0,-0.75l7.787,0l-0,0.75l-7.787,0Zm-5.45,0l-0,-0.75l2.335,0l0,0.75l-2.335,0Zm-7.008,-4.018l0.75,0l0,3.268l3.143,0l0,0.75l-3.893,0l-0,-4.018Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,216.514,75.3798)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "194.961px", + "y": "75.38px" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M270,42.375l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l262.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M243.75,31.476l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M198.75,45l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M172.3,45l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M224.272,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.766,45l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M244.875,21.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 243.75, + "cy": "21.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "243.75", + "cy": "30.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M248.535,21.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,264.061,23.9231)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "252.095px", + "y": "23.923px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,269.787,27.7118)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "251.958px", + "y": "27.712px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,262.466,31.4618)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "251.81px", + "y": "31.462px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M19.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "59.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "18.75", + "cy": "68.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M23.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,39.2724,61.4526)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "27.305px", + "y": "61.453px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,33.7081,65.2413)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "27.454px", + "y": "65.241px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,33.4599,68.9913)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "27.442px", + "y": "68.991px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "59.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "108.75", + "cy": "68.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M113.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,128.498,61.4526)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "116.531px", + "y": "61.453px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,122.934,65.2413)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "116.68px", + "y": "65.241px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,122.685,68.9913)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "116.667px", + "y": "68.991px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M199.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "198.75", + "cy": "59.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "198.75", + "cy": "68.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M203.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,217.076,61.4526)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "214.53px ", + "y": "61.453px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "207.426px", + "y": "61.453px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,213.829,65.2413)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "207.575px", + "y": "65.241px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,213.58,68.9913)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "207.562px", + "y": "68.991px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + }, + { + "elements": [ + { + "d": "M173.425,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "172.3", + "cy": "59.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "172.3", + "cy": "68.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M177.085,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,190.549,61.4526)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "188.004px ", + "y": "61.453px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "180.899px", + "y": "61.453px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,187.302,65.2413)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "181.048px", + "y": "65.241px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,187.054,68.9913)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "181.036px", + "y": "68.991px" + } + ], + "id": "Text4", + "name": "Text4", + "type": "group" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,222.023,2.99479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "", + "type": "text", + "x": "206.276px", + "y": "2.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,228.828,6.74479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "206.276px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,238.696,10.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "206.276px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + }, + { + "elements": [ + { + "d": "M225.5,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 224.3, + "cy": 59.25, + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": 224.3, + "cy": "68.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M230,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4,0,0,4.16667,190.549,61.4526)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "188.004px ", + "y": "61.453px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "231.899px", + "y": "61.453px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,187.302,65.2413)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "232.048px", + "y": "65.241px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,187.054,68.9913)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "232.036px", + "y": "68.991px" + } + ], + "id": "Text4", + "name": "Text4", + "type": "group" + } + ], + "id": "CB05", + "name": "CB05", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 279 79" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 141, + "x": 262, + "y": -11 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.textHandler.IDPlate1" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "color": "var(--olGray)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4407304a7d259ad4c0b8b1af2b45acb8d96aa8b93d1e68cafdbe5ce90fa7d449 b/Gateways/FE/projects/.resources/4407304a7d259ad4c0b8b1af2b45acb8d96aa8b93d1e68cafdbe5ce90fa7d449 new file mode 100644 index 0000000..31f6006 --- /dev/null +++ b/Gateways/FE/projects/.resources/4407304a7d259ad4c0b8b1af2b45acb8d96aa8b93d1e68cafdbe5ce90fa7d449 @@ -0,0 +1,227 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value [\u0027auth\u0027]\t\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/44288eda325a69aeac7b0d84b6bed2deadd7dc3571bfb6b3142bab48675bd7de b/Gateways/FE/projects/.resources/44288eda325a69aeac7b0d84b6bed2deadd7dc3571bfb6b3142bab48675bd7de new file mode 100644 index 0000000..6e1c97b --- /dev/null +++ b/Gateways/FE/projects/.resources/44288eda325a69aeac7b0d84b6bed2deadd7dc3571bfb6b3142bab48675bd7de @@ -0,0 +1,170 @@ +import time +from datetime import datetime +Logger = system.util.getLogger("reports.MBR.totalpower") +def getTagPaths(location=None): + """ + Get all the relvant tagpaths needed for the historian query + """ + baseTagPaths = reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getPQMBase(), location) + return baseTagPaths + +def getRealPowerPaths(location=None): + paths = [] + for path in reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getPQMBase(), location): + paths.append(path+"/Real Power") + return paths + +def getPDURealPowerPaths(location=None): + paths = [] + for path in reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getPDUBase(), location): + paths.append(path+"/PQM/Real Power") + return paths + +def getRawDataTotalLoad(startDate, endDate, location, customArgs= {}): + logger = Logger.createSubLogger("getRawDataTotalLoad") + logger.debug("BEGIN") + startDur = time.time() + tagpaths = getRealPowerPaths(location) + hist = reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={}) + logger.debug("completed in %s"%(time.time()-startDur)) + return hist + +def getRawDataCriticalLoad(startDate, endDate, location, customArgs= {}): + logger = Logger.createSubLogger("getRawDataTotalLoad") + logger.debug("BEGIN") + startDur = time.time() + tagpaths = getPDURealPowerPaths(location) + hist = reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={}) + + logger.debug("completed in %s"%(time.time()-startDur)) + return hist + +def generateSumCol(hist): + return reports.MBR.common.util.generateSumCol(hist, sumColName="SumRealPwr") +# allHeaders = system.dataset.getColumnHeaders(hist) +# +# sumCol = [] +# for row in hist: +# try: +# sumCol.append(sum([row[h] for h in allHeaders[1:] if row[h] is not None])) +# except: +# sumCol.append(0) +# +# return system.dataset.toPyDataSet(system.dataset.addColumn(hist, sumCol, "SumRealPwr", float)) + +def calculateValues(data, interval=15): + """ + Calculate the Average, Min Average, Max Average + Args: + data: historian data, expected in minute intervals + interval: grouping by minutes, None if daily + Returns: + dictionary containing calculated data + """ + data = system.dataset.toPyDataSet(data) + res = {"MinAvg":-1,"MaxAvg":-1,"ResultData":None} + dailyGroup= {} + resultData = [] + allAvgs = [] + rawSum = [] + timeUnitStr = "" + GroupDict= {} # represents {"datetime":{"col1":[], "col2":[]...}} + histDsCols = ["SumRealPwr"] + resultData = [] + # Construct / Group + for i,row in enumerate(data): + if i%interval == 0: + timeUnitStr = system.date.format(row["t_stamp"],"yyyy-MM-dd HH:mm") + GroupDict.setdefault(timeUnitStr, {}) + GroupDict[timeUnitStr]={col:[] for col in histDsCols} + # GroupDict[quarterHrStr].append(row["SumRealPwr"]) + for col in histDsCols: + colVal = row[col] if row[col] is not None else 0 + rawSum.append(colVal) + GroupDict[timeUnitStr][col].append(row[col] if row[col] is not None else 0) + sortedDateKeys = sorted(GroupDict.keys(), key=lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M')) + # Create + for dt_str in sortedDateKeys: + colAvgs= [sum(GroupDict[dt_str][col])/len(GroupDict[dt_str][col]) for col in histDsCols] + allAvgs.append(colAvgs[0]) + oneRow = [system.date.parse(dt_str, "yyyy-MM-dd HH:mm")]+ colAvgs + resultData.append(oneRow) + + res["MinAvg"] = min(allAvgs) if len(allAvgs)> 0 else 0 + res["MaxAvg"] = max(allAvgs) if len(allAvgs)> 0 else 0 + res["RawMin"] = min(rawSum) if len(rawSum)> 0 else 0 + res["RawMax"] = max(rawSum) if len(rawSum)> 0 else 0 + + res["ResultData"] = resultData + res["ResultDS"] = system.dataset.toDataSet(["Date", "Average"], resultData) + res["RawDS"] = data + return res + +def generatePUE(mergedData): + """ + Calculate the PUE based on the time column. + Since there's only 3 columns, date/time, Average, AverageCritical + """ + headers = system.dataset.getColumnHeaders(mergedData) + axisHeader = headers[0] + newHeaders= [axisHeader, "PUE"] + allRows= [] + singleVals = [] + for row in system.dataset.toPyDataSet(mergedData): + try: + rowPUE = row["Average"]/row["AverageCritical"] + except: + rowPUE = -1 + + allRows.append([row[axisHeader], rowPUE]) + singleVals.append(rowPUE) + + return {"ResultDS":system.dataset.toDataSet(newHeaders, allRows), + "Min":min(singleVals), + "Max":max(singleVals)} + +def getInputData(startDate, endDate, location=None, calcInterval=60): + """ + + """ + final = {"TotalLoad":{}, "CriticalLoad":{}, "MergedDS":{}} + rawDataTotal = generateSumCol(getRawDataTotalLoad(startDate, endDate, location)) + totalLoadDict = calculateValues(rawDataTotal, calcInterval) + final["TotalLoad"] = totalLoadDict + + rawDataCritical = generateSumCol(getRawDataCriticalLoad(startDate, endDate, location)) + totalCriticalDict = calculateValues(rawDataCritical, calcInterval) + final["CriticalLoad"] = totalCriticalDict + + return final + +def MergeTotalCritical(ds1,ds2): + # extract the rows of average from ds2 + newCol =[] + for row in system.dataset.toPyDataSet(ds2): + newCol.append(row["Average"]) + + return system.dataset.addColumn(ds1, newCol, "AverageCritical", float) +def DoAll(startDate, endDate, location=None, interval= 60): + """ + Single call point for Report data fetch + """ + final = getInputData(startDate,endDate,location, interval) + + try: + final["MergedDS"] = MergeTotalCritical(final["TotalLoad"]["ResultDS"],final["CriticalLoad"]["ResultDS"]) + final["PUE"] = generatePUE(final["MergedDS"]) + except: + final["MergedDS"] = final["TotalLoad"]["ResultDS"] + + return final + +def doAllInterval(startDate, endDate, location=None, intervalMins=15): + final = getInputData(startDate,endDate,location, intervalMins) + try: + final["MergedDS"] = MergeTotalCritical(final["TotalLoad"]["ResultDS"],final["CriticalLoad"]["ResultDS"]) + final["PUE"] = generatePUE(final["MergedDS"]) + except: + final["MergedDS"] = final["TotalLoad"]["ResultDS"] + + return final \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4428dfef4af2bb5455371267e9da8e555c327c6e3b80feebf27adeebf3c63011 b/Gateways/FE/projects/.resources/4428dfef4af2bb5455371267e9da8e555c327c6e3b80feebf27adeebf3c63011 new file mode 100644 index 0000000..0d51c50 --- /dev/null +++ b/Gateways/FE/projects/.resources/4428dfef4af2bb5455371267e9da8e555c327c6e3b80feebf27adeebf3c63011 @@ -0,0 +1,1180 @@ +{ + "custom": { + "Available": [ + "SATB1_RF_RTU01", + "SATB1_RF_RTU02" + ], + "ColorHandler": { + "Wall": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "RTU01": "#BAEDFF", + "RTU02": "#BAEDFF" + }, + "selected": "SATB1_4" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tshortName \u003d room.split(\"_\")\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\tsroom \u003d shortName[2]\n\t\toutput[sroom] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_RTU01", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 105, + "width": 170, + "x": 260, + "y": 8 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "1sf" + }, + "position": { + "height": 120, + "width": 430 + }, + "props": { + "elements": [ + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "19.513", + "x": "15.769", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.652", + "x": "118.364", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.652", + "x": "170.016", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "50.952", + "x": "221.667", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.739", + "x": "272.62", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "50.602", + "x": "324.359", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.477", + "x": "429.8", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.564", + "x": "481.277", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.564", + "x": "532.841", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.04", + "x": "584.405", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.04", + "x": "635.445", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "54.275", + "x": "686.485", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "21.346", + "name": "rect", + "type": "rect", + "width": "21.925", + "x": "740.759", + "y": "19.107" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "15.475", + "name": "rect", + "type": "rect", + "width": "21.925", + "x": "740.759", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "13.416", + "name": "rect", + "type": "rect", + "width": "14.539", + "x": "786.218", + "y": "13.901" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "13.416", + "name": "rect", + "type": "rect", + "width": "14.539", + "x": "852.316", + "y": "13.901" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "13.135", + "name": "rect", + "type": "rect", + "width": "14.539", + "x": "786.218", + "y": "27.317" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "13.135", + "name": "rect", + "type": "rect", + "width": "14.539", + "x": "852.316", + "y": "27.317" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "13.851", + "name": "rect", + "type": "rect", + "width": "16.222", + "x": "930.366", + "y": "26.601" + }, + { + "d": "M930.348,40.452l-27.849,0l-0,-36.821l44.089,0l0,22.925l-16.24,0l-0,13.896Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "23.534", + "x": "762.684", + "y": "3.631" + }, + { + "d": "M786.218,13.913l0,-10.282l90.299,0l-0,36.821l-9.76,0l0,-26.539l-14.441,0l-0,26.539l-51.657,0l0,-26.539l-14.441,0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "25.982", + "x": "876.517", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.228", + "x": "946.588", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "54.368", + "x": "997.816", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "14.089", + "name": "rect", + "type": "rect", + "width": "15.038", + "x": "35.282", + "y": "26.364" + }, + { + "d": "M35.282,26.32l0,-22.689l43.295,0l0,36.821l-28.213,0l0,-14.132l-15.082,-0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "16.934", + "name": "rect", + "type": "rect", + "width": "12.193", + "x": "1030.82", + "y": "59.578" + }, + { + "d": "M704.881,225.51l-0,-170.409l161.096,0l0,187.468l-149.344,-0l0,-17.059l-11.752,0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "17.24", + "name": "rect", + "type": "rect", + "width": "11.943", + "x": "704.881", + "y": "225.328" + }, + { + "d": "M876.967,214.554l-0,-64.103l36.031,-0l-0,85.698l-15.332,0l-0,-21.595l-20.699,-0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "14.539", + "name": "rect", + "type": "rect", + "width": "36.031", + "x": "876.967", + "y": "236.149" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "21.595", + "name": "rect", + "type": "rect", + "width": "20.699", + "x": "876.967", + "y": "214.554" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "18.473", + "name": "rect", + "type": "rect", + "width": "18.536", + "x": "930.889", + "y": "150.451" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "18.473", + "name": "rect", + "type": "rect", + "width": "17.891", + "x": "912.998", + "y": "150.451" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "6.994", + "name": "rect", + "type": "rect", + "width": "18.536", + "x": "930.889", + "y": "168.924" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "13.849", + "name": "rect", + "type": "rect", + "width": "11.891", + "x": "937.534", + "y": "175.918" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "13.849", + "name": "rect", + "type": "rect", + "width": "8.674", + "x": "928.86", + "y": "175.918" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "23.641", + "name": "rect", + "type": "rect", + "width": "15.862", + "x": "912.998", + "y": "175.918" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "21.866", + "name": "rect", + "type": "rect", + "width": "36.427", + "x": "912.998", + "y": "199.559" + }, + { + "d": "M971.223,232.877l-0,18.173l-58.225,-0l-0,-29.625l36.427,0l-0,11.452l21.798,-0Z", + "fill": { + "opacity": "0.8", + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "17.062", + "name": "rect", + "type": "rect", + "width": "18.445", + "x": "963.414", + "y": "189.423" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "11.862", + "name": "rect", + "type": "rect", + "width": "17.665", + "x": "963.915", + "y": "170.98" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "18.443", + "name": "rect", + "type": "rect", + "width": "16.899", + "x": "981.58", + "y": "170.98" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "38.861", + "name": "rect", + "type": "rect", + "width": "29.136", + "x": "1001.35", + "y": "128.524" + }, + { + "d": "M1030.49,85.457l-0,43.067l-66.685,0l-0,5.678l-14.384,0l-0,4.915l-72.683,0l0,-84.077l58.255,0l-0,4.364l12.265,-0l0,-4.364l74.607,0l-0,30.417l8.625,0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "57.132", + "name": "rect", + "type": "rect", + "width": "29.136", + "x": "1001.35", + "y": "167.624" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "28.911", + "name": "rect", + "type": "rect", + "width": "17.935", + "x": "1034.25", + "y": "222.138" + }, + { + "d": "M1030.49,222.138l3.76,0l-0,28.912l-63.026,-0l-0,-44.565l30.13,0l-0,18.226l29.136,0l-0,-2.573Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "d": "M998.256,150.993l-0,19.987l-34.452,0l-0,-11.174l8.944,0l-0,-8.813l25.508,0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "d": "M972.748,147.916l-0,-8.464l-8.944,0l-0,-10.928l34.452,0l-0,19.392l-25.508,-0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "17.062", + "name": "rect", + "type": "rect", + "width": "19.494", + "x": "981.859", + "y": "189.423" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "6.994", + "name": "rect", + "type": "rect", + "width": "17.891", + "x": "912.998", + "y": "168.924" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "24.65", + "name": "rect", + "type": "rect", + "width": "22.172", + "x": "18.391", + "y": "53.391" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "11.206", + "name": "rect", + "type": "rect", + "width": "12.24", + "x": "54.692", + "y": "55.139" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "11.102", + "name": "rect", + "type": "rect", + "width": "12.24", + "x": "54.692", + "y": "66.345" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "12.117", + "name": "rect", + "type": "rect", + "width": "25.955", + "x": "15.646", + "y": "200.465" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "22.964", + "name": "rect", + "type": "rect", + "width": "25.955", + "x": "15.646", + "y": "212.582" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "15.623", + "name": "rect", + "type": "rect", + "width": "25.955", + "x": "15.646", + "y": "235.546" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "10.277", + "name": "rect", + "type": "rect", + "width": "11.384", + "x": "29.179", + "y": "84.3" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "32.029", + "name": "rect", + "type": "rect", + "width": "51.287", + "x": "15.646", + "y": "168.436" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "12.158", + "name": "rect", + "type": "rect", + "width": "13.351", + "x": "53.581", + "y": "200.465" + }, + { + "d": "M40.563,54.987l14.129,-0l0,21.662l12.24,-0l0,91.787l-51.286,-0l-0,-64.403l24.917,-0l0,-49.046Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "d": "M40.563,94.439l0,9.615l-24.917,-0l-0,-15.097l13.597,-0l-0,5.482l11.32,0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "d": "M29.198,89.667l-13.552,0l-0,-11.626l24.917,0l0,6.248l-11.365,0l-0,5.378Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "17.024", + "name": "rect", + "type": "rect", + "width": "11.711", + "x": "80.091", + "y": "91.578" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "152.196", + "name": "rect", + "type": "rect", + "width": "263.909", + "x": "111.158", + "y": "75.196" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "15.177", + "name": "rect", + "type": "rect", + "width": "276.758", + "x": "98.309", + "y": "227.392" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "20.095", + "name": "rect", + "type": "rect", + "width": "276.758", + "x": "98.309", + "y": "55.101" + }, + { + "d": "M91.815,91.578l19.397,-0l0,120.214l-31.121,-0l-0,-103.211l11.724,-0l0,-17.003Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "17.286", + "name": "rect", + "type": "rect", + "width": "11.012", + "x": "393.832", + "y": "91.578" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "152.196", + "name": "rect", + "type": "rect", + "width": "263.909", + "x": "422.8", + "y": "75.196" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "15.177", + "name": "rect", + "type": "rect", + "width": "276.758", + "x": "409.951", + "y": "227.392" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "20.095", + "name": "rect", + "type": "rect", + "width": "276.758", + "x": "409.951", + "y": "55.101" + }, + { + "d": "M404.766,91.578l18.089,-0l0,122.924l-29.023,0l-0,-105.538l10.934,0l-0,-17.386Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "d": "M66.932,211.792l0,-156.653l31.37,-0.038l0.007,20.095l12.903,0l0,16.382l-31.121,-0l-0,120.214l-13.159,-0Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor21", + "name": "Corridor21", + "type": "path" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "36.821", + "id": "Corridor20", + "name": "Corridor20", + "type": "rect", + "width": "39.787", + "x": "78.577", + "y": "3.631" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "8.6", + "id": "Corridor19", + "name": "Corridor19", + "type": "rect", + "width": "276.758", + "x": "98.309", + "y": "242.569" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "14.649", + "id": "Corridor18", + "name": "Corridor18", + "type": "rect", + "width": "256.909", + "x": "429.8", + "y": "40.452" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "187.468", + "id": "Corridor17", + "name": "Corridor17", + "type": "rect", + "width": "18.171", + "x": "686.709", + "y": "55.101" + }, + { + "d": "M876.967,55.04l-172.086,0.061l-0,-14.649l172.086,0l-0,14.588Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor16", + "name": "Corridor16", + "type": "path" + }, + { + "d": "M876.967,40.452l175.217,0l-0,12.187l-8.968,0l0,6.939l-12.2,-0l0,-6.939l-9.235,0l0,2.401l-74.524,0l0,4.364l-12.265,-0l-0,-4.364l-58.025,0l-0,-14.588Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor15", + "name": "Corridor15", + "type": "path" + }, + { + "d": "M876.967,55.042l-0,187.527l-10.99,-0l0,-187.523l10.99,-0.004Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor14", + "name": "Corridor14", + "type": "path" + }, + { + "d": "M949.421,150.451l-72.454,-0l-0,-11.334l72.453,0l0.001,11.334Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor13", + "name": "Corridor13", + "type": "path" + }, + { + "d": "M949.425,189.767l-0.005,-55.565l14.139,0l0,5.1l9,0l0,20.504l-8.755,0l-0,11.174l0.111,0l0,11.863l17.665,-0l0,6.58l-18.166,0l-0,17.062l7.809,0l-0,27.437l-21.798,-0l-0,-34.363l-20.565,0l-0,-9.792l20.565,0Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor12", + "name": "Corridor12", + "type": "path" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "8.6", + "id": "Corridor11", + "name": "Corridor11", + "type": "rect", + "width": "10.99", + "x": "865.977", + "y": "242.569" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "8.6", + "id": "Corridor10", + "name": "Corridor10", + "type": "rect", + "width": "161.096", + "x": "704.881", + "y": "242.569" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "8.6", + "id": "Corridor9", + "name": "Corridor9", + "type": "rect", + "width": "18.171", + "x": "686.709", + "y": "242.569" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "8.6", + "id": "Corridor8", + "name": "Corridor8", + "type": "rect", + "width": "276.758", + "x": "409.951", + "y": "242.569" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "14.649", + "id": "Corridor7", + "name": "Corridor7", + "type": "rect", + "width": "18.171", + "x": "686.709", + "y": "40.452" + }, + { + "d": "M409.951,251.169l-34.885,0l0,-196.068l34.885,0l0,20.095l12.849,0l0,16.382l-28.968,-0l-0,122.924l28.968,0l0,12.89l-12.849,-0l0,23.777Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor6", + "name": "Corridor6", + "type": "path" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "36.821", + "id": "Corridor5", + "name": "Corridor5", + "type": "rect", + "width": "54.839", + "x": "374.961", + "y": "3.631" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "14.649", + "id": "Corridor4", + "name": "Corridor4", + "type": "rect", + "width": "54.839", + "x": "374.961", + "y": "40.452" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "14.649", + "id": "Corridor3", + "name": "Corridor3", + "type": "rect", + "width": "256.597", + "x": "118.364", + "y": "40.452" + }, + { + "d": "M118.364,55.101l-20.055,0l-31.377,0.038l-12.24,0l0,-0.152l-14.129,-0l0,-1.596l-24.917,-0l-0,-12.939l102.718,0l0,14.649Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor2", + "name": "Corridor2", + "type": "path" + }, + { + "d": "M98.309,251.169l-56.708,0l-0,-50.704l11.98,-0l0,12.158l13.351,0l0,-0.831l44.28,-0l0,15.6l-12.903,-0l-0,23.777Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor1", + "name": "Corridor1", + "type": "path" + }, + { + "d": "M1052.18,251.104l-1036.44,-0l0,-247.345l1036.44,-0l-0,83.692m-0,134.724l-0,28.929m-52.001,-250.662l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-102.714,-0l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-102.714,-0l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-106.218,-0l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-102.824,-0l0,3.317l-11.769,-0l0,-3.317l11.769,-0Zm-102.604,-0l-0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-106.218,-0l-0,3.317l-11.77,-0l0,-3.317l11.77,-0Zm-102.714,-0l-0,3.317l-11.77,-0l0,-3.317l11.77,-0Zm-102.714,-0l-0,3.317l-11.77,-0l0,-3.317l11.77,-0Zm-102.933,-0l-0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm14.199,250.662l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm78.141,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm108.518,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm92.421,-0l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm108.846,-0l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm107.86,-0l0,3.316l-11.769,0l0,-3.316l11.769,-0Zm142.85,-0l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm92.311,-0l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm108.298,-0l0,3.316l-11.769,0l0,-3.316l11.769,-0Zm63.403,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm66.807,-163.653l-21.805,0l0,134.724l21.805,-0m-998.837,28.929l-0,14.955l-36.793,0l-0,-14.955l36.793,-0Zm-37.601,-201.071l-14.956,-0l0,-36.793l14.956,-0l0,36.793Zm402.74,201.071l-0,14.955l-35.84,0l-0,-14.955l35.84,-0Zm488.384,-0l-0,14.955l-35.84,0l-0,-14.955l35.84,-0Zm-878.403,-0l0,14.955l-5.536,0l0,-14.955l5.536,-0Zm-12.721,-225.95l-14.956,-0l0,-5.537l14.956,0l0,5.537Zm375.282,225.95l-0,14.955l-5.873,0l-0,-14.955l5.873,-0Zm488.383,-0l0,14.955l-5.872,0l-0,-14.955l5.872,-0Zm-829.288,0.589l-0,14.366l-5.537,0l0,-14.366l5.537,-0Zm-34.966,-204.884l-14.367,0l0,-5.536l14.367,-0l0,5.536Zm397.526,204.884l-0,14.366l-5.537,0l0,-14.366l5.537,-0Zm488.384,-0l-0,14.366l-5.537,0l0,-14.366l5.537,-0Zm-856.621,7.183l0,1.997l-15.979,0l0,-1.997l15.979,0Zm-36.623,-217.674l-2.221,0l-0,-15.978l2.221,-0l0,15.978Zm4.811,-0.07l-11.844,0l0,-15.978l11.844,-0l0,15.978Zm394.372,217.744l0,1.997l-15.978,0l-0,-1.997l15.978,0Zm488.384,0l0,1.997l-15.979,0l0,-1.997l15.979,0Zm-865.311,-4.66l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-17.445,-227.45l-11.844,-0l0,-1.612l11.844,-0l0,1.612Zm380.005,227.45l0,11.213l-1.611,-0l-0,-11.213l1.611,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm362.56,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-20.669,-224.227l-11.844,0l0,-1.612l11.844,0l0,1.612Zm383.229,224.227l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm362.56,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-23.893,-221.003l-11.844,0l0,-1.612l11.844,0l0,1.612Zm386.453,221.003l-0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm362.56,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-27.117,-217.779l-11.844,-0l0,-1.612l11.844,0l0,1.612Zm389.677,217.779l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm362.56,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-849.333,-0l0,11.213l-1.611,-0l-0,-11.213l1.611,-0Zm-30.34,-214.555l-11.844,-0l0,-1.612l11.844,-0l0,1.612Zm392.9,214.555l0,11.213l-1.611,-0l-0,-11.213l1.611,-0Zm488.384,-0l0,11.213l-1.611,-0l-0,-11.213l1.611,-0Zm-849.332,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-22.508,-213.996l-6.332,-0l0,-36.461l19.372,-0l0,36.461l-4.638,-0m21.154,-0l-10.159,-0m-6.357,-0l0,-36.461l43.331,-0l0,36.461l-19.065,-0m583.35,-0l-7.439,-0l-0,-36.461l51.229,-0l0,36.461l-5.848,-0m-8.363,-0l-25.4,-0m-55.819,-0l-7.029,-0l0,-36.461l51.23,-0l-0,36.461l-6.341,-0m-8.116,-0l-24.827,-0m-56.31,-0l-6.866,-0l0,-36.461l51.23,-0l0,36.461l-6.013,-0m-8.444,-0l-25.236,-0m-56.023,-0l-7.111,-0l-0,-36.461l51.23,-0l-0,36.461l-5.521,-0m-8.609,-0l-25.728,-0m-55.501,-0l-7.208,-0l0,-36.461l51.319,-0l0,36.461l-5.53,-0m-8.786,-0l-25.362,-0m-110.308,-0l-6.979,-0l0,-36.461l50.722,-0l-0,36.461l-6.309,-0m-7.726,-0l-25.622,-0m-55.689,-0l-7.12,-0l-0,-36.461l51.744,-0l0,36.461l-6.436,-0m-7.882,-0l-26.138,-0m-55.433,-0l-7.043,-0l-0,-36.461l51.188,-0l-0,36.461l-6.367,-0m-7.797,-0l-25.858,-0m-54.966,-0l-7.535,-0l-0,-36.461l51.188,-0l-0,36.461l-6.366,-0m-7.798,-0l-25.202,-0m-55.967,-0l-7.043,-0l-0,-36.461l51.188,-0l-0,36.461l-6.366,-0m-7.798,-0l-25.038,-0m-52.337,-0l0,-36.461l39.795,-0l-0,36.461m586.833,185.309l0,-2.629m0,-161.477l0,-6.244l160.844,0l-0,187.61l-160.844,-0l0,-12.419m0,-15.318l0,-145.865m0,156.342l11.507,-0l-0,17.26l-11.507,-0m171.85,-33.867l0,-58.424l36.021,-0l0,85.787l-36.021,-0m0,-4.74l0,-18.361m0,1.338l20.762,0l0,21.763m66.039,-43.071l-0,-3.706l18.01,-0l0,16.759l-18.01,0l-0,-8.955m19.341,8.955l-1.331,0l0,-16.759l15.009,-0l0,16.759l-9.744,0m-56.673,-55.769l2.135,-0m4.373,-0l12.381,-0l0,25.252l-36.271,-0l0,-25.252l13.185,-0m20.296,48.852l2.79,0l0,21.773l-36.271,-0l0,-21.773l29.547,0m-245.928,-159.13l-10.043,-0l0,-36.461l54.087,-0l0,36.461l-36.195,-0m163.185,-0l-112.808,-0m-8.504,-0l-5.678,-0l0,-36.461l161.833,-0l0,36.461l-28.183,-0m-133.65,-20.985l22.051,-0m0,-11.066l0,32.051m179.19,-0l-12.032,-0m-8.966,-0l-18.41,-0l0,-36.461l44.144,-0l0,36.461m6.351,-0l-6.351,-0l0,-36.461l50.96,-0l0,36.461l-35.652,-0m-554.75,213.996l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm117.352,-213.996l39.302,-0m-54.636,-0l7.578,-0m-630.125,29.237l0,5.502l-276.536,0l-0,-5.498m-0,-8.612l-0,-5.78l276.536,-0l0,5.833m311.467,8.555l-0,5.502l-276.537,0l0,-5.498m0,-8.612l0,-5.78l276.537,-0l-0,5.833m-311.467,181.679l-276.536,0m-0,-8.206l-0,-6.881l276.536,0l0,6.463m311.467,8.624l-276.537,0m0,-8.206l0,-6.881l276.537,0l-0,6.492m-575.322,-159.027l-0,1.574m311.466,-1.574l0,1.574m-47.611,-1.574l0,1.574m311.467,-1.574l-0,1.574m-575.322,8.073l-0,134.332m311.466,-134.332l0,134.332m-47.611,-134.332l0,134.332m311.467,-134.332l-0,134.332m-594.841,-127.238l19.519,-0l-0,16.749m-0,0l-0,103.263l-17.458,0m-8.49,0l-4.994,0l-0,-114.804m313.656,-5.208l28.752,-0l0,122.574l-16.492,-0m-8.218,-0l-4.042,-0l0,-103.062m-313.656,-18.19l-0,-1.322l11.423,-0l-0,16.749l-11.423,0m324.631,-16.749l0,19.512l-10.975,0l0,-14.613m648.968,-44.009l9.356,-0l-0,32.739l-30.212,0l-0,-32.739l8.914,-0m11.942,-0l0,23.939l-11.942,0l0,-23.939m9.715,7.176l2.227,-0l0,16.763l-11.942,0l0,-16.763l3.717,-0m-3.717,0.673l0,16.09l-8.914,0l-0,-16.09l8.914,-0Zm21.298,-0l-0,16.09l-9.356,0l0,-16.09l9.356,-0Zm-10.447,24.89l-10.891,0l-0,-8.8l10.891,0l-0,8.8Zm-10.851,-23.278l0,1.85l-8.914,-0l-0,-1.85l8.914,-0Zm21.298,-0l-0,1.85l-9.356,-0l0,-1.85l9.356,-0Zm-21.298,3.672l0,1.85l-8.914,0l-0,-1.85l8.914,-0Zm21.298,-0l-0,1.85l-9.356,0l0,-1.85l9.356,-0Zm-21.298,3.672l0,1.85l-8.914,0l-0,-1.85l8.914,0Zm21.298,0l-0,1.85l-9.356,0l0,-1.85l9.356,0Zm-17.581,15.934l-1.85,0l0,-8.8l1.85,0l0,8.8Zm-3.717,-12.262l0,1.851l-8.914,-0l-0,-1.851l8.914,0Zm21.298,0l-0,1.851l-9.356,-0l0,-1.851l9.356,0Zm-14.042,12.262l-1.851,0l0,-8.8l1.851,0l-0,8.8Zm1.85,0l-1.85,0l-0,-8.8l1.85,0l-0,8.8Zm-998.447,144.397l-0,5.746l-25.799,-0l0,-23.054l25.799,0l-0,4.601m2.292,-162.133l-3.289,0m14.274,0l-2.959,0m-10.318,194.328l-0,1.89m-0,-15.632l-0,9.168m25.294,-112.121l0,-4.249m0,72.181l0,-56.286m0,-20.04l0,-47.132m-30.609,-23.708l4.318,0l-0,24.335l-24.802,-0l0,-24.335l8.156,0m36.246,1.601l6.691,0l0,11.796m0,4.564l0,5.747l-12.017,0l-0,-22.107l1.392,0m-1.392,11.054l12.017,-0m-25.294,145.671l-0,0.807l-25.799,0l0,-11.967l25.799,0l-0,6.697m-23.003,-153.863l-0,24.335l-2.796,-0l0,-24.335l2.796,0Zm48.297,158.313l0,0.82l-13.145,0l-0,-11.967l13.145,0l0,6.908m-23.436,-6.908l-1.858,0m12.149,0l-2.395,0m10.426,-31.873l5.114,0m-13.145,0l3.849,0m-41.797,0l25.799,0m-6.427,-142.069l15.071,0l-0,13.711m-9.641,42.41l-0,15.895m-0,3.83l-0,1.626l-24.802,0l0,-26.361l24.802,-0l-0,0.971m-24.802,-0.423l0,8.131l-15.304,0l-0,-8.131l15.304,-0Zm23.838,6.088l0.964,0l-0,10.23l-11.246,-0l0,-10.23l6.505,0m-20.061,5.115l13.556,0m-25.319,-11.203l-0,8.131l-1.836,0l-0,-8.131l1.836,-0Zm3.724,-0l0,8.131l-1.836,0l0,-8.131l1.836,-0Zm1026.6,163.98l0,8.956m0,-28.929l0,12.924m-121.356,1.54l0,14.465m-36.021,-14.465l0,9.022m94.493,-31.3l-0,-8.094m-0,44.837l-0,-25.923m-0,7.468l-21.901,0l0,-5.891m0,-51.008l0,13.866l-7.044,0m-4.739,-13.866l0,13.866l-3.97,0m-4.739,-13.866l0,18.477m2.057,-18.477l-0,-25.252m-11.022,18.242l22.413,0m26.741,13.943l12.322,-0m-17.547,-23.164l0,23.164l1.209,-0m-1.209,-11.582l34.453,-0m-16.906,13.887l-0,-13.887m-12.68,-11.582l3.907,-0l-0,-20.108l-4.035,0m4.035,8.709l25.679,-0.128m-25.679,2.818l25.679,-0m-1.697,38.698l1.697,-0l-0,-60.983l-34.709,-0l0,10.886m14.857,-10.886l-0,3.586m-0,35.605l-0,3.073m19.852,-42.264l31.634,-0m-4.222,96.056l4.523,-0l0,-2.406m-29.118,-93.65l0,85.836m0,3.771l0,6.449l20.742,-0m-25.256,-18.314l4.514,0m25.022,-39.048l4.096,-0m-29.118,-0l20.186,-0m-75.992,-107.941l1.721,-0l0,-4.099l74.796,0m-62.895,79.225l-9.508,-0.075l-0,4.713l-72.642,0l0,-83.863l58.118,0l0,4.099m0,-0l2.295,-0m-151.112,-52.543l-0,-2.976m-0,36.461l-0,-28.157m5.041,2.049l-5.041,-0m14.242,13.054l-0,-13.054m-0,26.108l-0,-7.522m66.189,-17.52l-0,-1.066l-14.242,-0m14.242,15l-0,-9.119m-0,20.227l-0,-3.423m-14.242,-22.685l-0,26.108m24.283,-27.235l-0,27.235m-90.472,-13.054l14.242,-0m51.947,-0l14.242,-0m63.673,13.054l-0,-13.618l16.256,0m96.24,25.988l0,-7.264", + "fill": { + "paint": "transparent" + }, + "id": "_1stFloor", + "name": "_1stFloor", + "stroke": { + "opacity": "0.95", + "paint": "#747474", + "width": "0.88px" + }, + "type": "path" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1053 267" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_01_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/443f213d574ee7d6dfc806974e9d67ddecbf6e736912eb8128239199faf470e0 b/Gateways/FE/projects/.resources/443f213d574ee7d6dfc806974e9d67ddecbf6e736912eb8128239199faf470e0 new file mode 100644 index 0000000..1f6119c --- /dev/null +++ b/Gateways/FE/projects/.resources/443f213d574ee7d6dfc806974e9d67ddecbf6e736912eb8128239199faf470e0 @@ -0,0 +1,140 @@ +{ + "custom": { + "reset": false + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4441350cc6ba62f9c3112d071befd40d5d5372228994a8dcb99fbb1eda63d14a b/Gateways/FE/projects/.resources/4441350cc6ba62f9c3112d071befd40d5d5372228994a8dcb99fbb1eda63d14a new file mode 100644 index 0000000..9c276b0 --- /dev/null +++ b/Gateways/FE/projects/.resources/4441350cc6ba62f9c3112d071befd40d5d5372228994a8dcb99fbb1eda63d14a @@ -0,0 +1,24 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--warning)", + "borderStyle": "none", + "boxShadow": "none", + "textTransform": "uppercase" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "var(--warning)" + } + }, + { + "pseudo": "active", + "style": { + "color": "var(--neutral-30)" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/444a21abe949ac978112c7bc3fb92e62eafd96e5edbbfda0b0f16395b422ff3d b/Gateways/FE/projects/.resources/444a21abe949ac978112c7bc3fb92e62eafd96e5edbbfda0b0f16395b422ff3d new file mode 100644 index 0000000..7f0e835 Binary files /dev/null and b/Gateways/FE/projects/.resources/444a21abe949ac978112c7bc3fb92e62eafd96e5edbbfda0b0f16395b422ff3d differ diff --git a/Gateways/FE/projects/.resources/444a45fd0d2870504b0bc0857b0f2fa3db45ce3981002af8359cd323f3ff035c b/Gateways/FE/projects/.resources/444a45fd0d2870504b0bc0857b0f2fa3db45ce3981002af8359cd323f3ff035c new file mode 100644 index 0000000..a7c26c2 --- /dev/null +++ b/Gateways/FE/projects/.resources/444a45fd0d2870504b0bc0857b0f2fa3db45ce3981002af8359cd323f3ff035c @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B305 STU LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*DH5/SATB1_DH5_STU_LLS*" + }, + "deviceName": "STU", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_STU_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/DH5_STU", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_STU_Rotation" + } + }, + "path": "Library/Templates/Graphics/LLS/Device LLS V1" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/448bf46a6add03ba2cc82c27bc8144e9f985729b9b47c716bda832708ed8c3c1 b/Gateways/FE/projects/.resources/448bf46a6add03ba2cc82c27bc8144e9f985729b9b47c716bda832708ed8c3c1 new file mode 100644 index 0000000..7af2842 --- /dev/null +++ b/Gateways/FE/projects/.resources/448bf46a6add03ba2cc82c27bc8144e9f985729b9b47c716bda832708ed8c3c1 @@ -0,0 +1,269 @@ +import time +from collections import OrderedDict +Logger = system.util.getLogger("reports.MBR.coolingdata") + +def test1_0(): + res={} + endDate= system.date.midnight(system.date.now()) + startDate = system.date.addDays(endDate, -2) + tempDS, humDS = reports.MBR.coolingdata.getRawDataMeasurement(startDate, endDate, "DH1", customArgs= {"noInterpolation":False}) +# res["tempDS"]= tempDS +# res["humDS"] = humDS + # group the sensors by aisle then perform an interval average + tempDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(tempDS, "Temp"), 60) + humDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(humDS, "Humidity"), 60) + + + tempSummaryDS = reports.MBR.coolingdata.generateSummaryColumnDS(tempDS, "Temp") + humiditySummaryDS = reports.MBR.coolingdata.generateSummaryColumnDS(humDS, "Humidity") + summaryDS = combineTempHumidity(tempSummaryDS, humiditySummaryDS) + del tempSummaryDS + del humiditySummaryDS + + + measurementDS = reports.MBR.common.util.mergeHistorianData(combineTempHumidity(tempDS, humDS),summaryDS) + res["measurementDS"]=measurementDS + res["summaryDS"]=summaryDS + return res + + +def genSummCols(ds, snsrType, aggRow): + if aggRow: + return reports.MBR.coolingdata.generateSummaryColumnDS(ds, snsrType) + else: + return reports.MBR.coolingdata.generateRangeSummaryCol(ds, snsrType) +def doReport(startDate, endDate, locations, intervalTime = 60, aggRow= True): + """ + Args: + aggRow boolean, true: get the min/max/avg on row, false: get the min max over the range, and avg per row + """ + res={} + customArgs= {"noInterpolation":False} + tempDS, humDS = None, None + if locations is None: + tempDS, humDS = reports.MBR.coolingdata.getRawDataMeasurement(startDate, endDate, None,customArgs) + else: + for loc in locations: + ds1, ds2 = getRawDataMeasurement(startDate, endDate, loc, customArgs) + if tempDS is None and humDS is None: + tempDS = ds1 + humDS = ds2 + else: + tempDS= reports.MBR.common.util.mergeHistorianData(tempDS, ds1) + humDS= reports.MBR.common.util.mergeHistorianData(humDS, ds1) +# res["tempDS"]= tempDS +# res["humDS"] = humDS + # group the sensors by aisle then perform an interval average + tempDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(tempDS, "Temp"), intervalTime) + humDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(humDS, "Humidity"), intervalTime) + + + tempSummaryDS = genSummCols(tempDS, "Temp", aggRow) + humiditySummaryDS = genSummCols(humDS, "Humidity", aggRow) + summaryDS = combineTempHumidity(tempSummaryDS, humiditySummaryDS) + del tempSummaryDS + del humiditySummaryDS + + + measurementDS = addStaticLimits(reports.MBR.common.util.mergeHistorianData(combineTempHumidity(tempDS, humDS),summaryDS)) + res["measurementDS"]=measurementDS + res["summaryDS"]=summaryDS + return res + +def doReport2(startDate, endDate, locations, intervalTime = 60, aggRow= False): + """ + Args: + aggRow boolean, true: get the min/max/avg on row, false: get the min max over the range, and avg per row + """ + tSt = time.time() + res={} + customArgs= {"noInterpolation":False} + superTempDS, superHumDS, tempDS, humDS = None, None, None, None + if locations is None: + locations = ["DH1","DH2","DH3","DH4","DH5"] + summaryRows = [] + + + for loc in locations: + ds1, ds2 = getRawDataMeasurement(startDate, endDate, loc, customArgs) + tempDS = ds1 + humDS = ds2 + if superTempDS is None and superHumDS is None: + superTempDS = ds1 + superHumDS = ds2 + else: + superTempDS= reports.MBR.common.util.mergeHistorianData(superTempDS, ds1) + superHumDS= reports.MBR.common.util.mergeHistorianData(superHumDS, ds2) + tempDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(tempDS, "Temp"), intervalTime) + humDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(humDS, "Humidity"), intervalTime) + + + + tempSummaryDS = genSummCols(tempDS, "Temp", aggRow) + humiditySummaryDS = genSummCols(humDS, "Humidity", aggRow) + summaryDS = combineTempHumidity(tempSummaryDS, humiditySummaryDS) + del tempSummaryDS + del humiditySummaryDS + summaryRows.append([loc.replace("DH", "Datahall "), system.dataset.toDataSet(summaryDS) ]) + print "elapsed 1: ", time.time() - tSt + + # group the sensors by aisle then perform an interval average + print "elapsed 2: ", time.time()- tSt + superTempDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(superTempDS, "Temp"), intervalTime) + superHumDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(superHumDS, "Humidity"), intervalTime) + tempSummaryDS = genSummCols(superTempDS, "Temp", aggRow) + humiditySummaryDS = genSummCols(superHumDS, "Humidity", aggRow) + summaryDS = combineTempHumidity(tempSummaryDS, humiditySummaryDS) + measurementDS = addStaticLimits(reports.MBR.common.util.mergeHistorianData(combineTempHumidity(superTempDS, superHumDS),summaryDS)) + print "elapsed 3: ", time.time()- tSt + + res["summaryDS"]=summaryDS + res["measurementDS"]=measurementDS + res["locSummaryDS"] = system.dataset.toDataSet(["Location", "data"], summaryRows) + return res +# res["summaryDS"]=system.dataset.toDataSet([],summaryDS) +def getRawDataMeasurement(startDate, endDate, location, customArgs= {}): + """ + Get the history 1-minute interval for the relevant location sensors + Args: + startDate: datetime + endDate: datetime + location: str DH1, DH2.. + customArgs: optional overrides for the history retrieval + Returns: + tuple (temp Dataset, humidity dataset) + """ + logger = Logger.createSubLogger("getRawDataMeasurement") + stTime= time.time() + tempTags = reports.MBR.common.coolingTags.generateTags(location, "temp") + humidityTags = reports.MBR.common.coolingTags.generateTags(location, "humidity") + + tempDS = reports.MBR.common.util.getHistory(tempTags, startDate, endDate, customArgs) + humidityDS = reports.MBR.common.util.getHistory(humidityTags, startDate, endDate, customArgs) + logger.debug("complete duration: %s"%(time.time()-stTime)) + + return tempDS, humidityDS + + + +def groupColumnLocation(histDS, sensorType): + """ + Take the full range of tag columns and group them by location and average the value + ex. [Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_C1_HT01/Val + [Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_C1_HT02/Val + [Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_C1_HT03/Val + becomes DH1_C1 + Args: + histDS: pyds of history + sensorType: str Temp/Humidity + Returns: + py dataset + """ + def groupColNames(colNames): + colMap = OrderedDict() + for name in colNames: + + cNameParts = name.split("/")[1].split("_") + gName = "%s_%s %s"%(cNameParts[1], cNameParts[3], sensorType) + colMap.setdefault(gName, []) + colMap[gName].append(name) + return colMap + + oColNames = system.dataset.getColumnHeaders(histDS)[1:] + colMap = groupColNames(oColNames) + newCols = colMap.keys() + + # now let's average across the new names + allRows = [] + for row in histDS: + oneRow = [row["t_stamp"]] + for grp in newCols: + groupVals = [row[c] for c in colMap[grp]] + try: + oneRow.append(sum(groupVals)/len(groupVals)) + except: + oneRow.append(-1.0) + + allRows.append(oneRow) + + return system.dataset.toPyDataSet(system.dataset.toDataSet(["t_stamp"]+newCols , allRows)) + +def combineTempHumidity(tempDS, humidityDS): + """ + Build the custom column sort order C1 Humidity, C1 Temp, C2 Humidity, etc.. + Args: + tempDS: pyDataset + humidityDS: humidityDS + Returns: + pydataset + """ + allRows = [] + header = ["t_stamp"] + tempHeaders = system.dataset.getColumnHeaders(tempDS) + humHeaders = system.dataset.getColumnHeaders(humidityDS) + + for rCnt, row in enumerate(humidityDS): + newRow = [row["t_stamp"]] + for cCnt in range(1, len(row)): + if rCnt == 0: + header.extend([humHeaders[cCnt], tempHeaders[cCnt]]) + newRow.extend([row[cCnt], tempDS[rCnt][cCnt]]) + allRows.append(newRow) +# print header, len(header), len(allRows[0]) + return system.dataset.toPyDataSet(system.dataset.toDataSet(header, allRows)) + + +def generateSummaryColumnDS(ds1, sensorType): + """ + Receive the grouped dataset and calculate the Min/Max/Avg/Limit for each row + Args: + ds1: pydataset grouped by sensors + sensorType: str (Temp or Humidity) + Returns: + pydataset with columns t_stamp, Max , Avg, Min + """ + header = ["t_stamp", "Max %s"%(sensorType), "Avg %s"%(sensorType), "Min %s"%(sensorType)] + allRows = [] + for row in ds1: + rowVals= [c for c in row[1:]] + allRows.append([row["t_stamp"], max(rowVals), sum(rowVals)/len(rowVals), min(rowVals)]) + return system.dataset.toPyDataSet(system.dataset.toDataSet(header, allRows)) + + +def generateRangeSummaryCol(ds1, sensorType): + """ + Receive the grouped dataset and calculate the Min/Max/Avg/Limit for the entire range + Args: + ds1: pydataset grouped by sensors + sensorType: str (Temp or Humidity) + Returns: + pydataset with columns t_stamp, Max , Avg, Min + """ + header = ["t_stamp", "Max %s"%(sensorType), "Avg %s"%(sensorType), "Min %s"%(sensorType)] + allRows = [] + vals = [] + for row in ds1: + vals.extend([v for v in row[1:]]) + rowVals= [c for c in row[1:]] + allRows.append([row["t_stamp"], None, sum(rowVals)/len(rowVals), None]) + valMin = min(vals) + valMax = max(vals) + for sRow in allRows: + sRow[1] = valMax + sRow[3] = valMin + + return system.dataset.toPyDataSet(system.dataset.toDataSet(header, allRows)) + +def addStaticLimits(ds): + limits= [] + limits.append( [reports.MBR.common.static.humidityHighLimit for i in range(len(ds))]) + limits.append( [reports.MBR.common.static.humidityLowLimit for i in range(len(ds))]) + limits.append( [reports.MBR.common.static.tempHighLimit for i in range(len(ds))]) + limits.append( [reports.MBR.common.static.tempLowLimit for i in range(len(ds))]) + + for i,cName in enumerate(["Hum High Lim", "Hum Low Lim", "Temp High Lim", "Temp Low Lim"]): + ds = system.dataset.addColumn(ds, limits[i], cName, float) + + return system.dataset.toPyDataSet(ds) + + \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/449622b20723f354daa728a5973933b2243191a7d9339ca43df4581094bf578e b/Gateways/FE/projects/.resources/449622b20723f354daa728a5973933b2243191a7d9339ca43df4581094bf578e new file mode 100644 index 0000000..2c2d8c9 --- /dev/null +++ b/Gateways/FE/projects/.resources/449622b20723f354daa728a5973933b2243191a7d9339ca43df4581094bf578e @@ -0,0 +1,3065 @@ +{ + "custom": { + "deviceTagPaths": {}, + "key": 1, + "key_1": 1 + }, + "params": { + "boxColor": "var(--olGray)", + "inUPS1": 1, + "inUPS2": 1, + "inputPowerGen": 0, + "inputPowerMain": 1, + "outputPower": {}, + "pageName": "P5-5", + "room": "ER1165", + "tagPath": "[Ignition_SATB1_IO5_default]ER1165/SWBD", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD-P1.3", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "propConfig": { + "custom.deviceTagPaths": { + "persistent": true + }, + "custom.deviceTagPaths.ATS": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_ATS\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.PQMCritical": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_PQM2\u0027\n\t#[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_PQM1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.PQMTotal": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_PQM1\u0027\n\t#[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_PQM1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker1": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F1\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker10": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F10\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker11": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F11\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker12": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F12\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker13": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F13\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52Fx\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker14": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F14\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker15": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F15\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker2": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F2\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker3": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F3\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker4": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F4\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker5": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F5\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker6": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F6\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker7": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F7\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker8": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F8\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker9": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F9\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breakerT1": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52T1\u0027\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaket13": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F13\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.mainBreaker": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52U\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52U\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.key": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_8.props.params.outputPower" + }, + "type": "property" + }, + "persistent": true + }, + "custom.key_1": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_3.props.params.outputPower" + }, + "type": "property" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inUPS1": { + "paramDirection": "input", + "persistent": true + }, + "params.inUPS2": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPowerGen": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPowerMain": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "paramDirection": "output", + "persistent": true + }, + "params.outputPower.breaker1": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker10": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_6.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker11": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_7.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker12": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_8.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker2": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_0.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker3": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_1.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker4": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_2.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker5": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_3.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker6": { + "binding": { + "config": { + "path": "/root/SWBD_CB_B_0.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker7": { + "binding": { + "config": { + "path": "/root/SWBD_CB_B_1.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker8": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_4.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker9": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_5.props.params.outputPower" + }, + "type": "property" + } + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + }, + "params.room": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 148, + "width": 1774 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "SWBD_Frame_P" + }, + "position": { + "height": 110, + "rotate": { + "anchor": "0% 25%" + }, + "width": 1724, + "x": 1 + }, + "propConfig": { + "custom.bus2": { + "binding": { + "config": { + "struct": { + "ats": "{../SWBD_ATS.props.params.outputPower}", + "bus3": "{this.custom.bus3}", + "cb13": "{this.custom.cb13}", + "cbT": "{this.custom.cbT1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027ats\u0027] and value[\u0027cbT\u0027]) or (value[\u0027bus3\u0027] and value[\u0027cb13\u0027]):\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.bus3": { + "binding": { + "config": { + "struct": { + "cb14": "{this.custom.cb14}", + "cb15": "{this.custom.cb15}", + "in1": "{view.params.inUPS1}", + "in2": "{view.params.inUPS2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027cb14\u0027] and value[\u0027in1\u0027]) or (value[\u0027cb15\u0027] and value[\u0027in2\u0027]):\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.cb13": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "breaker13": "{view.custom.deviceTagPaths.breaker13}" + }, + "tagPath": "{breaker13}/Breaker Status" + }, + "type": "tag" + } + }, + "custom.cb14": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "breaker14": "{view.custom.deviceTagPaths.breaker14}" + }, + "tagPath": "{breaker14}/Breaker Status" + }, + "type": "tag" + } + }, + "custom.cb15": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "breaker15": "{view.custom.deviceTagPaths.breaker15}" + }, + "tagPath": "{breaker15}/Breaker Status" + }, + "type": "tag" + } + }, + "custom.cbT1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "breakerT1": "{view.custom.deviceTagPaths.breakerT1}" + }, + "tagPath": "{breakerT1}/Breaker Status" + }, + "type": "tag" + } + }, + "custom.colorHandler.Input": { + "binding": { + "config": { + "path": "../SWBD_CB_B.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.Section-A": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.Section-B": { + "binding": { + "config": { + "path": "this.custom.bus2" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.Section-C": { + "binding": { + "config": { + "path": "this.custom.bus3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.mainInput": { + "binding": { + "config": { + "path": "view.params.inputPowerMain" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-B" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-B" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-B" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-B" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-B" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-B" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-B" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-C" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-C" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-C" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-C" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-C" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-C" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-C" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Input" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Input" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Input" + }, + "type": "property" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SWBD2" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SWBD3" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M120,42.375l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M120,45l510.761,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M157.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M247.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M202.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M337.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M292.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M446.23,45.364l-0,8.272", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M581.23,45.364l-0,8.272", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Section-A", + "name": "Section-A", + "stroke": "red", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M651.843,45l440.168,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M697.491,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M787.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M877.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M967.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1057.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1057.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Section-B", + "name": "Section-B", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1272.36,42.375l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1113.09,45l159.263,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1235.26,72.985l2.257,-1.477l2.256,1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1235.24,74.463l2.257,-1.478l2.257,1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1192.5,45l-0,8.273", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1237.5,45l-0,26.508", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1147.5,45l-0,8.273", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Section-C", + "name": "Section-C", + "type": "group" + }, + { + "elements": [ + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l87.296,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,36.75l-0,8.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Input", + "name": "Input", + "type": "group", + "visibility": "visible" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "67.5", + "name": "rect", + "type": "rect", + "width": "1278.75", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.268l-0,-4.018l3.759,-0l-0,0.75l-3.009,-0l-0,3.268l-0.75,-0Zm9.021,-4.018l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.526,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.264,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.262,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.523,-0l0,0.75l-7.516,-0l-0,-0.75l7.516,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.522,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.261,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.264,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.522,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.266,-0l-0,0.75l-2.257,-0l0,-0.75l2.257,-0Zm10.521,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.523,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.259,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.265,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.522,-0l0,0.75l-7.516,-0l-0,-0.75l7.516,-0Zm5.264,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.522,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.265,-0l-0,0.75l-2.257,-0l0,-0.75l2.257,-0Zm10.523,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.264,-0l-0,0.75l-2.257,-0l0,-0.75l2.257,-0Zm10.522,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.526,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.262,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.523,-0l-0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.262,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.259,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.521,-0l0,0.75l-7.516,-0l-0,-0.75l7.516,-0Zm5.266,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.521,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.265,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.523,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.526,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.259,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.52,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.266,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.525,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.522,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.26,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.26,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.526,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.523,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.261,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.523,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.261,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.523,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.522,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.26,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm6.766,4.018l-0.75,-0l0,-3.268l-3.009,-0l0,-0.75l3.759,-0l-0,4.018Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-3.759,7.232l0,-0.75l3.009,0l-0,-3.268l0.75,0l-0,4.018l-3.759,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.526,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.264,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.262,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.523,0l-0,-0.75l7.516,0l0,0.75l-7.516,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.522,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.261,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.264,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.522,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.266,0l0,-0.75l2.257,0l-0,0.75l-2.257,0Zm-10.521,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.523,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.259,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.265,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.522,0l-0,-0.75l7.516,0l0,0.75l-7.516,0Zm-5.264,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.522,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.265,0l0,-0.75l2.257,0l-0,0.75l-2.257,0Zm-10.523,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.264,0l0,-0.75l2.257,0l-0,0.75l-2.257,0Zm-10.522,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.526,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.262,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.523,0l0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.262,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.259,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.521,0l-0,-0.75l7.516,0l0,0.75l-7.516,0Zm-5.266,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.521,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.265,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.523,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.526,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.259,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.52,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.266,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.525,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.522,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.26,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.26,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.526,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.523,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.261,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.523,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.261,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.523,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.522,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.26,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-6.766,-4.018l0.75,0l-0,3.268l3.009,0l-0,0.75l-3.759,0l-0,-4.018Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "d": "M60.375,78.75l-0.75,0l-0,-4.018l0.75,0l-0,4.018Zm-0,-7.232l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-4.018l0.75,0l-0,4.018Z", + "name": "path", + "type": "path" + }, + { + "d": "M139.125,78.75l-0.75,0l-0,-4.018l0.75,0l-0,4.018Zm-0,-7.232l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-4.018l0.75,0l-0,4.018Z", + "name": "path", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,1264.87,3.03345)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "12px", + "fontWeight": "700" + }, + "text": "SWBD-P1.1", + "type": "text", + "visibility": "hidden", + "x": "1242.18px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,1277.45,6.74479)", + "type": "group", + "visibility": "hidden" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "1242.16px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,1278.75,10.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "1242.16px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 1294 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "SWBD_CB_A" + }, + "position": { + "height": 48, + "width": 46, + "x": 196, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker5" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Breaker E", + "outputPower": 1, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "52F5" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A_NM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_0" + }, + "position": { + "height": 46, + "width": 45, + "x": 256, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker3" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B" + }, + "position": { + "height": 62, + "width": 82, + "x": 16, + "y": 6 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "view.params.inputPowerMain" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.mainBreaker" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_ATS" + }, + "position": { + "height": 50, + "width": 65, + "x": 121, + "y": 40 + }, + "propConfig": { + "props.params.inputPower_E": { + "binding": { + "config": { + "path": "view.params.inputPowerGen" + }, + "type": "property" + } + }, + "props.params.inputPower_N": { + "binding": { + "config": { + "path": "../SWBD_CB_B.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.ATS" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "ATS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "ATS1": "N", + "ATS2": "E", + "ATS3": "L" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_ATS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_1" + }, + "position": { + "height": 49, + "width": 45, + "x": 316, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker1" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_2" + }, + "position": { + "height": 51, + "width": 43, + "x": 376, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker4" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_3" + }, + "position": { + "height": 51, + "width": 43, + "x": 436, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker2" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_0" + }, + "position": { + "height": 50, + "width": 52, + "x": 580, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker6" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_1" + }, + "position": { + "height": 50, + "rotate": { + "anchor": "-262% 522%" + }, + "width": 52, + "x": 760, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker7" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_C" + }, + "position": { + "height": 39, + "width": 82, + "x": 811, + "y": 32 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breakerT1" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, NO", + "Breaker4": "NC, ERMS", + "DL_Left_Right": false + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_C" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_4" + }, + "position": { + "height": 51, + "width": 43, + "x": 916, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_Frame_P.custom.bus2" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker8" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_5" + }, + "position": { + "height": 51, + "width": 43, + "x": 1036, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_Frame_P.custom.bus2" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker9" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_6" + }, + "position": { + "height": 51, + "width": 43, + "x": 1156, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_Frame_P.custom.bus2" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker10" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_7" + }, + "position": { + "height": 51, + "width": 43, + "x": 1276, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_Frame_P.custom.bus2" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker11" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_8" + }, + "position": { + "height": 51, + "width": 43, + "x": 1395, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_Frame_P.custom.bus2" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker12" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_C_0" + }, + "position": { + "height": 39, + "width": 89, + "x": 1426, + "y": 32 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_Frame_P.custom.bus3" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker13" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, NO", + "Breaker4": "NC, ERMS", + "DL_Left_Right": false + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_C" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_2" + }, + "position": { + "height": 50, + "width": 52, + "x": 1515, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "view.params.inUPS1" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker14" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_3" + }, + "position": { + "height": 50, + "width": 52, + "x": 1575, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "view.params.inUPS2" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker15" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B" + }, + "type": "ia.display.view" + }, + { + "custom": { + "objectName": "SWBDPQM" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.custom.tagPath\n\tobjectName \u003d self.custom.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD PQM1" + }, + "position": { + "height": 18, + "rotate": { + "anchor": "25% 50%" + }, + "width": 62, + "x": 193.67, + "y": 19 + }, + "propConfig": { + "custom.alarmSummary": { + "binding": { + "config": { + "path": "this.custom.tagPath" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.PQMTotal" + }, + "type": "property" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "this.custom.alarmSummary" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "#27669C" + }, + { + "input": 0, + "output": "#27669C" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--orangesunset)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "white", + "overflow": "visible" + }, + "text": "PQM Total", + "textStyle": { + "fontSize": 6, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "objectName": "SWBDPQM" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.custom.tagPath\n\tobjectName \u003d self.custom.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD PQM2" + }, + "position": { + "height": 18, + "rotate": { + "anchor": "25% 50%" + }, + "width": 73, + "x": 1517.67, + "y": 19 + }, + "propConfig": { + "custom.alarmSummary": { + "binding": { + "config": { + "path": "this.custom.tagPath" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.PQMCritical" + }, + "type": "property" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "this.custom.alarmSummary" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "#27669C" + }, + { + "input": 0, + "output": "#27669C" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--orangesunset)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "white", + "overflow": "visible" + }, + "text": "PQM Critical", + "textStyle": { + "fontSize": 6, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 135, + "x": 1618, + "y": -20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.textHandler.SWBD1" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -8, + "y": -6 + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/44d3f858bfaecbef42cad38aa0027d54ed18cba1df57d069810ca2e5ab63cfad b/Gateways/FE/projects/.resources/44d3f858bfaecbef42cad38aa0027d54ed18cba1df57d069810ca2e5ab63cfad new file mode 100644 index 0000000..a9bf1a0 --- /dev/null +++ b/Gateways/FE/projects/.resources/44d3f858bfaecbef42cad38aa0027d54ed18cba1df57d069810ca2e5ab63cfad @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "PID_Loop", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/PID_Loop" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4528025862ba6d4db0ab04e10aa2bd62f9b0c6d89925b93ebbe07108c068b75f b/Gateways/FE/projects/.resources/4528025862ba6d4db0ab04e10aa2bd62f9b0c6d89925b93ebbe07108c068b75f new file mode 100644 index 0000000..5c4160f --- /dev/null +++ b/Gateways/FE/projects/.resources/4528025862ba6d4db0ab04e10aa2bd62f9b0c6d89925b93ebbe07108c068b75f @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B301 Chillers LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*MPR1140/ASP_LLS*" + }, + "deviceName": "ASP", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]MPR1140/ASP_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/ASP", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]MPR1140/ASP_Rotation" + } + }, + "path": "Library/Templates/Graphics/LLS/Device LLS V1" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/45b3c1beee2db387844f4f212ed86cbfc06777fb68895ac374adfe56d6c2c408 b/Gateways/FE/projects/.resources/45b3c1beee2db387844f4f212ed86cbfc06777fb68895ac374adfe56d6c2c408 new file mode 100644 index 0000000..e1f08a1 Binary files /dev/null and b/Gateways/FE/projects/.resources/45b3c1beee2db387844f4f212ed86cbfc06777fb68895ac374adfe56d6c2c408 differ diff --git a/Gateways/FE/projects/.resources/45e3ef21411925ec0b3652087d6c3e3d4b88aba5570999d6a56c18f8c193ea1a b/Gateways/FE/projects/.resources/45e3ef21411925ec0b3652087d6c3e3d4b88aba5570999d6a56c18f8c193ea1a new file mode 100644 index 0000000..7d5f2e3 --- /dev/null +++ b/Gateways/FE/projects/.resources/45e3ef21411925ec0b3652087d6c3e3d4b88aba5570999d6a56c18f8c193ea1a @@ -0,0 +1,6228 @@ +{ + "custom": {}, + "params": { + "pageId": "" + }, + "propConfig": { + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1425, + "width": 2962 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlowDiagram" + }, + "position": { + "height": 1040, + "width": 2011, + "x": 87.88, + "y": 15.059999999999999 + }, + "props": { + "elements": [ + { + "d": "M1098.98,0.442l0,102.447l-1096.65,0l0,-102.447l1096.65,-0Zm0,164.608l0,167.653l-1096.65,-0l0,-167.653m0,-3.735l0,-16.744l1096.65,-0l0,16.71m-1096.65,-49.616l0,-8.776m370.552,8.776l-0,-8.776m363.051,8.776l-0,-8.776m363.051,8.776l0,-8.776m-1081.65,58.392l0,-16.756m0,246.597l0,-16.756m370.552,-213.085l-0,-16.756m-223.582,0l-0,37.5l21,0m-5.97,192.341l0,37.5l21,0m327.777,-267.341l0,37.5l21,0m-6.798,192.341l0,37.5l21,0m327.021,-267.341l0,37.5l21,0m-538.448,-20.744l-0,-16.756m363.051,16.756l-0,-16.71m-363.051,20.479l-0,167.653m363.051,-167.653l-0,167.653m15,-171.422l-0,-16.71m-363.051,171.668l-0,16.464m363.051,-16.112l-0,16.112m-733.603,-16.327l0,16.327m0,213.468l0,16.327m146.97,-229.795l-0,-26.25l21,-0m-5.97,256.045l0,-26.25l21,0m327.777,-203.545l0,-26.25l21,-0m-6.798,256.045l0,-26.25l21,0m327.021,-203.545l0,-26.25l21,-0m-894,67.913l733.603,0l-0,16.756m-733.603,171.376l733.603,0l-0,-16.112m-363.051,-155.264l-0,-16.756m-0,172.02l-0,16.112", + "fill": { + "paint": "transparent" + }, + "id": "Supply", + "name": "Supply", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M1091.48,7.942l0,87.447l-1081.65,0l0,-87.447l1081.65,-0Zm-1081.65,103.723l0,-16.276m355.552,16.276l-0,-16.276m363.051,16.276l-0,-16.276m363.051,16.276l0,-16.276m-726.102,69.661l-0,160.153m363.051,-160.153l-0,160.153m-363.051,-163.922l-0,-9.21m363.051,9.21l-0,-9.21m363.051,12.979l0,160.153l-1081.65,-0l0,-160.153m0,-3.723l0,-9.256l1081.65,-0l0,9.21m-1066.65,0l0,-9.21m0,239.051l0,-9.21m355.552,-220.631l-0,-9.256m-190.582,30l21,0l-0,-30m-5.97,259.841l21,0l0,-30m327.777,-199.841l21,0l0,-30m-6.798,259.841l21,0l0,-30m327.021,-199.841l21,0l0,-30m-193.397,9.256l-0,-9.21m-363.051,164.168l-0,8.964m363.051,-8.827l-0,8.827m-718.603,-8.612l0,8.612m0,221.183l0,8.612m164.97,-248.545l21,-0l-0,18.763m-5.97,211.032l21,0l0,18.75m327.777,-248.545l21,-0l0,18.763m-6.798,211.032l21,0l0,18.75m327.021,-248.545l21,-0l0,18.763m-193.397,65.906l-0,-9.256l-718.603,0m718.603,164.52l-0,8.612l-718.603,0m355.552,-163.876l-0,-9.256m-0,164.52l-0,8.612", + "fill": { + "paint": "transparent" + }, + "id": "Return", + "name": "Return", + "stroke": { + "paint": "#f00", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M9.826,161.281c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm363.052,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm-1081.65,0c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm0,229.841c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm363.052,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm-741.103,-279.457c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm370.552,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm-718.602,49.616c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm-726.103,151.326c1.04,-0 1.885,0.844 1.885,1.884c-0,1.04 -0.845,1.885 -1.885,1.885c-1.04,-0 -1.884,-0.845 -1.884,-1.885c-0,-1.04 0.844,-1.884 1.884,-1.884Zm0,229.795c1.04,-0 1.885,0.844 1.885,1.884c-0,1.041 -0.845,1.885 -1.885,1.885c-1.04,-0 -1.884,-0.844 -1.884,-1.885c-0,-1.04 0.844,-1.884 1.884,-1.884Zm363.052,-0c1.04,-0 1.884,0.844 1.884,1.884c0,1.041 -0.844,1.885 -1.884,1.885c-1.041,-0 -1.885,-0.844 -1.885,-1.885c0,-1.04 0.844,-1.884 1.885,-1.884Zm363.051,-0c1.04,-0 1.884,0.844 1.884,1.884c0,1.041 -0.844,1.885 -1.884,1.885c-1.04,-0 -1.885,-0.844 -1.885,-1.885c0,-1.04 0.845,-1.884 1.885,-1.884Zm-363.051,-229.795c1.04,-0 1.884,0.844 1.884,1.884c0,1.04 -0.844,1.885 -1.884,1.885c-1.041,-0 -1.885,-0.845 -1.885,-1.885c0,-1.04 0.844,-1.884 1.885,-1.884Zm363.051,-0c1.04,-0 1.884,0.844 1.884,1.884c0,1.04 -0.844,1.885 -1.884,1.885c-1.04,-0 -1.885,-0.845 -1.885,-1.885c0,-1.04 0.845,-1.884 1.885,-1.884Zm-718.603,-151.326c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm0,229.841c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm363.052,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm-741.103,-279.457c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm355.552,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm-703.602,49.616c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm-726.103,151.326c1.04,-0 1.885,0.892 1.885,1.992c-0,1.099 -0.845,1.992 -1.885,1.992c-1.04,-0 -1.884,-0.893 -1.884,-1.992c-0,-1.1 0.844,-1.992 1.884,-1.992Zm0,229.795c1.04,-0 1.885,0.893 1.885,1.992c-0,1.099 -0.845,1.992 -1.885,1.992c-1.04,-0 -1.884,-0.893 -1.884,-1.992c-0,-1.099 0.844,-1.992 1.884,-1.992Zm363.052,-0c1.04,-0 1.884,0.893 1.884,1.992c0,1.099 -0.844,1.992 -1.884,1.992c-1.041,-0 -1.885,-0.893 -1.885,-1.992c0,-1.099 0.844,-1.992 1.885,-1.992Zm363.051,-0c1.04,-0 1.884,0.893 1.884,1.992c0,1.099 -0.844,1.992 -1.884,1.992c-1.04,-0 -1.885,-0.893 -1.885,-1.992c0,-1.099 0.845,-1.992 1.885,-1.992Zm-363.051,-229.795c1.04,-0 1.884,0.892 1.884,1.992c0,1.099 -0.844,1.992 -1.884,1.992c-1.041,-0 -1.885,-0.893 -1.885,-1.992c0,-1.1 0.844,-1.992 1.885,-1.992Zm363.051,-0c1.04,-0 1.884,0.892 1.884,1.992c0,1.099 -0.844,1.992 -1.884,1.992c-1.04,-0 -1.885,-0.893 -1.885,-1.992c0,-1.1 0.845,-1.992 1.885,-1.992Zm-748.603,-151.326c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm363.052,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Z", + "fill": { + "paint": "transparent" + }, + "id": "Connector", + "name": "Connector", + "stroke": { + "paint": "#000", + "width": "0.88px" + }, + "type": "path" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1102 563" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Valve_A" + }, + "position": { + "height": 78, + "width": 100, + "x": 418.4, + "y": 949 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH1180_FCV73" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_0" + }, + "position": { + "height": 78, + "width": 100, + "x": 1076.4, + "y": 949 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1260_FCV69" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_1" + }, + "position": { + "height": 78, + "rotate": { + "anchor": "39% 50%" + }, + "width": 100, + "x": 1076.4, + "y": 722.5 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH1280_FCV72" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_2" + }, + "position": { + "height": 78, + "width": 100, + "x": 1058.4, + "y": 530.4 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH1270_FCV70" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_3" + }, + "position": { + "height": 78, + "width": 100, + "x": 1058.4, + "y": 303.8 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH1170_FCV71" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "height": 20, + "width": 80, + "x": 112.97999999999999, + "y": 212.46766030883788 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES02_TT01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_3" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.01, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_4" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.01, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_10" + }, + "position": { + "height": 20, + "width": 80, + "x": 154, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_11" + }, + "position": { + "height": 20, + "width": 80, + "x": 154, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_13" + }, + "position": { + "height": 20, + "width": 80, + "x": 782.9296875, + "y": 212.0119375 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES05_TT01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_34" + }, + "position": { + "height": 20, + "width": 80, + "x": 1434, + "y": 212.0119375 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES08_TT01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_48" + }, + "position": { + "height": 20, + "width": 80, + "x": 1993, + "y": 212.0119375 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES11_TT01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/DHDP_AvgObj/Value OUT" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "psi", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "DH DP Avg", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/ChillerDP_AvgObj/Value OUT" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "gpm", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "Chiller Min Flow", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_1/Control/PSet_SP" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "psi", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "CHW Bpv PID SP", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Chiller_MinFlow_SP" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "GPLM", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "Chiller Min Flow SP", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_1/Out CV" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "CHW Bpv PID 1 OutCV", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_2/Out CV" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "CHW Bpv PID 2 OutCV", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_3" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWBPV_PosSP" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "props": { + "alignVertical": "top", + "text": "CHW Bpv Pos SP", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_6" + }, + "position": { + "height": 110, + "rotate": { + "anchor": "61% -55%" + }, + "width": 554, + "x": 1524, + "y": 1027.1396014404297 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "EmbeddedView_28" + }, + "position": { + "height": 110, + "width": 130, + "x": 2285, + "y": 1027.2096014404297 + }, + "props": { + "params": { + "embedded": true, + "objectName": "PID_Loop", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_1" + }, + "path": "Library/Widgets/Wdg_PID", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_29" + }, + "position": { + "height": 110, + "rotate": { + "anchor": "-22% 0%" + }, + "width": 130, + "x": 2124.16, + "y": 1026.9896014404299 + }, + "props": { + "params": { + "embedded": true, + "objectName": "PID_Loop", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_2" + }, + "path": "Library/Widgets/Wdg_PID", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 120, + "rotate": { + "anchor": "25% 50%" + }, + "width": 290, + "x": 1110, + "y": 818.653 + }, + "props": { + "params": { + "DH": "DH101" + }, + "path": "Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk", + "style": { + "bxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_4" + }, + "position": { + "height": 78, + "rotate": { + "anchor": "39% 50%" + }, + "width": 100, + "x": 418.4, + "y": 722.5 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH1280_FCV72" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_5" + }, + "position": { + "height": 78, + "width": 100, + "x": 391.4, + "y": 303.8 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH1170_FCV71" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_6" + }, + "position": { + "height": 78, + "width": 100, + "x": 391.4, + "y": 530.4 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH1270_FCV70" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_7" + }, + "position": { + "height": 78, + "width": 100, + "x": 1715.7, + "y": 530.4 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH1270_FCV70" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_8" + }, + "position": { + "height": 78, + "width": 100, + "x": 1715.7, + "y": 303.8 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH1170_FCV71" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_12" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_5" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_14" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_6" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_15" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_7" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_16" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_8" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_9" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.01, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_17" + }, + "position": { + "height": 20, + "width": 80, + "x": 154, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_18" + }, + "position": { + "height": 20, + "width": 80, + "x": 154, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_19" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.01, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_20" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_21" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_22" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_23" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_24" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_25" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_26" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_27" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_28" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_29" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_30" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_31" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_32" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_33" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_35" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_36" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_37" + }, + "position": { + "height": 20, + "width": 80, + "x": 154, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_38" + }, + "position": { + "height": 20, + "width": 80, + "x": 154, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_39" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.012, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_40" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.01, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_41" + }, + "position": { + "height": 20, + "width": 80, + "x": 14.6873490234375, + "y": 346.8 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_42" + }, + "position": { + "height": 20, + "width": 80, + "x": 110, + "y": 346.8 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_43" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.01, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_44" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.01, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_45" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_46" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_47" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_49" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_50" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_51" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_52" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_53" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_54" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_55" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_56" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_57" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_58" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_59" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_60" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_61" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_63" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_64" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_65" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_66" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_67" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_68" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_69" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_70" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_71" + }, + "position": { + "height": 20, + "width": 80, + "x": 1522, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_72" + }, + "position": { + "height": 20, + "width": 80, + "x": 1522, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_73" + }, + "position": { + "height": 20, + "width": 80, + "x": 1622, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_74" + }, + "position": { + "height": 20, + "width": 80, + "x": 1622, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_75" + }, + "position": { + "height": 20, + "width": 80, + "x": 1522, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_76" + }, + "position": { + "height": 20, + "width": 80, + "x": 1622, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_77" + }, + "position": { + "height": 20, + "width": 80, + "x": 1522, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_78" + }, + "position": { + "height": 20, + "width": 80, + "x": 1622, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_79" + }, + "position": { + "height": 20, + "width": 80, + "x": 1836, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_80" + }, + "position": { + "height": 20, + "width": 80, + "x": 1836, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_81" + }, + "position": { + "height": 20, + "width": 80, + "x": 1936, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_82" + }, + "position": { + "height": 20, + "width": 80, + "x": 1936, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_83" + }, + "position": { + "height": 20, + "width": 80, + "x": 1836, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_84" + }, + "position": { + "height": 20, + "width": 80, + "x": 1936, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_85" + }, + "position": { + "height": 20, + "width": 80, + "x": 1836, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_86" + }, + "position": { + "height": 20, + "width": 80, + "x": 1936, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 120, + "rotate": { + "anchor": "25% 50%" + }, + "width": 290, + "x": 445.772, + "y": 818.653 + }, + "props": { + "params": { + "DH": "DH102" + }, + "path": "Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk", + "style": { + "bxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 120, + "rotate": { + "anchor": "25% 50%" + }, + "width": 290, + "x": 1109.9970019531252, + "y": 393.4020944595337 + }, + "props": { + "params": { + "DH": "DH202" + }, + "path": "Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk", + "style": { + "bxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 120, + "rotate": { + "anchor": "25% 50%" + }, + "width": 290, + "x": 445.7672814941406, + "y": 393.4020944595337 + }, + "props": { + "params": { + "DH": "DH203" + }, + "path": "Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk", + "style": { + "bxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 120, + "rotate": { + "anchor": "25% 50%" + }, + "width": 290, + "x": 1763.75, + "y": 394.6 + }, + "props": { + "params": { + "DH": "DH201" + }, + "path": "Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk", + "style": { + "bxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_87" + }, + "position": { + "height": 20, + "width": 80, + "x": 776, + "y": 346.775 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_88" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 346.7750085830688 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_89" + }, + "position": { + "height": 20, + "width": 80, + "x": 1434.0027490234374, + "y": 346.7750085830688 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_90" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 346.775 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 788, + "width": 311, + "x": 2124.48, + "y": 222.49436804199217 + }, + "props": { + "path": "Library/Cards/Card_Process_Control", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VFD Pie Chart" + }, + "position": { + "height": 139, + "width": 155, + "x": 206, + "y": 405 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VFD Pie Chart_0" + }, + "position": { + "height": 159, + "width": 139, + "x": 857.69, + "y": 391.7 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VFD Pie Chart_1" + }, + "position": { + "height": 137, + "width": "Æ", + "x": 1495.29, + "y": 400.38 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VFD Pie Chart_2" + }, + "position": { + "height": 141, + "width": 107, + "x": 890.3, + "y": 836.29 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VFD Pie Chart_3" + }, + "position": { + "height": 139, + "width": 123, + "x": 196.61, + "y": 835.29 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VFD Pie Chart_4" + }, + "position": { + "height": 125, + "width": 104, + "x": 119.959, + "y": 56 + }, + "props": { + "params": { + "Tag": "Chillers", + "faulted": 8, + "running": 3, + "standby": 25 + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "ChillerTagInfo": { + "chillerLLSPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS", + "statusTranslation": [ + { + "index": 0, + "value": [ + "Not Avail", + "Available" + ] + }, + { + "index": 1, + "value": [ + "Stopped", + "Running" + ] + }, + { + "index": 2, + "value": [ + "Good", + "Failed" + ] + } + ] + } + }, + "meta": { + "name": "Chiller LLS Table" + }, + "position": { + "height": 338, + "rotate": { + "anchor": "64% 50%" + }, + "width": 558, + "x": 1526.04, + "y": 676.49 + }, + "propConfig": { + "custom.ChillerTagInfo.nUnits": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{tagPath}/Config/Number of Units" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.priority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{1}/Reference Devices" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{1}/Status Devices" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.statusBinary": { + "binding": { + "config": { + "path": "this.custom.ChillerTagInfo.status" + }, + "transforms": [ + { + "code": "\t\n\tdef int_to_bits(num):\n\t # Ensure the integer is formatted as a 3-bit binary string and then reversed\n\t binary_str \u003d format(num % 8, \u002703b\u0027) # % 8 ensures only the last 3 bits are considered\n\t return [int(bit) for bit in binary_str[::-1]]\n\t\n\treturn [int_to_bits(num) for num in value]", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "struct": { + "nUnits": "{this.custom.ChillerTagInfo.nUnits}", + "priority": "{this.custom.ChillerTagInfo.priority}", + "status": "{this.custom.ChillerTagInfo.statusBinary}", + "statusTranslation": "{this.custom.ChillerTagInfo.statusTranslation}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor i, priority in enumerate(range(value[\u0027nUnits\u0027])):\n\t\tif i\u003c9:\n\t\t\tchillerName \u003d \u0027Chiller 0{}\u0027.format(i+1)\n\t\telse:\n\t\t\tchillerName \u003d \u0027Chiller {}\u0027.format(i+1)\n\t\tstatusTxt \u003d \"Available\"\n\t\tbgColor \u003d \"transparent\"\n\t\tif value[\u0027statusTranslation\u0027][2].value[value[\u0027status\u0027][i][2]] \u003d\u003d \"Failed\":\n\t\t\tstatusTxt\u003d \"Failed\"\n\t\t\tbgColor \u003d \u0027var(--error)\u0027\n\t\telif value[\u0027statusTranslation\u0027][1].value[value[\u0027status\u0027][i][1]]\u003d\u003d\"Running\":\n\t\t\tstatusTxt\u003d \"Running\"\t\t\n\t\t\n\t\t\n\t\tnewRow \u003d {\n\t\t\t\t\u0027index\u0027: i, # index\n\t\t\t\t\u0027chillerName\u0027: {\n\t\t\t\t\t\u0027value\u0027: chillerName, # chillerName\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027margin-left\u0027: 10\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\"status\": {\"value\":statusTxt,\n\t\t\t\t\t\t\t\"style\":{\n\t\t\t\t\t\t\t\t\"backgroundColor\":bgColor}\n\t\t\t\t\t\t},\n\t\t\t\t\u0027priority\u0027 : value[\u0027priority\u0027][i],\n\t\t\t\t\u0027priority2\u0027: value[\u0027priority\u0027][i] if value[\u0027priority\u0027][i] \u003e 0 else 999 , # priority\n\t\t\t}\n\t\toutput.append(newRow)\n\t\tif i \u003d\u003d value[\u0027nUnits\u0027]-1:\n\t\t\tbreak\n\treturn self.sortChillerData(output)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "index", + "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": false, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "chillerName", + "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": "Chiller" + }, + "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": "status", + "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": "Status" + }, + "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": "priority2", + "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": "number", + "resizable": true, + "sort": "ascending", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": false, + "width": 0 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "priority", + "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": "Priority" + }, + "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": [ + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 41" + }, + "index": 40, + "priority": 1, + "priority2": 1, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 26" + }, + "index": 25, + "priority": 2, + "priority2": 2, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 29" + }, + "index": 28, + "priority": 3, + "priority2": 3, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 08" + }, + "index": 7, + "priority": 4, + "priority2": 4, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 46" + }, + "index": 45, + "priority": 5, + "priority2": 5, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 44" + }, + "index": 43, + "priority": 6, + "priority2": 6, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 12" + }, + "index": 11, + "priority": 7, + "priority2": 7, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 11" + }, + "index": 10, + "priority": 8, + "priority2": 8, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 28" + }, + "index": 27, + "priority": 9, + "priority2": 9, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 40" + }, + "index": 39, + "priority": 10, + "priority2": 10, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 13" + }, + "index": 12, + "priority": 11, + "priority2": 11, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 36" + }, + "index": 35, + "priority": 12, + "priority2": 12, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 19" + }, + "index": 18, + "priority": 13, + "priority2": 13, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 24" + }, + "index": 23, + "priority": 14, + "priority2": 14, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 20" + }, + "index": 19, + "priority": 15, + "priority2": 15, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 17" + }, + "index": 16, + "priority": 16, + "priority2": 16, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 47" + }, + "index": 46, + "priority": 17, + "priority2": 17, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 38" + }, + "index": 37, + "priority": 18, + "priority2": 18, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 30" + }, + "index": 29, + "priority": 19, + "priority2": 19, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 07" + }, + "index": 6, + "priority": 20, + "priority2": 20, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 05" + }, + "index": 4, + "priority": 21, + "priority2": 21, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 27" + }, + "index": 26, + "priority": 22, + "priority2": 22, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 15" + }, + "index": 14, + "priority": 23, + "priority2": 23, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 34" + }, + "index": 33, + "priority": 24, + "priority2": 24, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 35" + }, + "index": 34, + "priority": 25, + "priority2": 25, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 22" + }, + "index": 21, + "priority": 26, + "priority2": 26, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 14" + }, + "index": 13, + "priority": 27, + "priority2": 27, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 33" + }, + "index": 32, + "priority": 28, + "priority2": 28, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 45" + }, + "index": 44, + "priority": 29, + "priority2": 29, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 21" + }, + "index": 20, + "priority": 30, + "priority2": 30, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 16" + }, + "index": 15, + "priority": 31, + "priority2": 31, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 48" + }, + "index": 47, + "priority": 32, + "priority2": 32, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 43" + }, + "index": 42, + "priority": 33, + "priority2": 33, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 39" + }, + "index": 38, + "priority": 34, + "priority2": 34, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 23" + }, + "index": 22, + "priority": 35, + "priority2": 35, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 31" + }, + "index": 30, + "priority": 36, + "priority2": 36, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 02" + }, + "index": 1, + "priority": 37, + "priority2": 37, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 03" + }, + "index": 2, + "priority": 38, + "priority2": 38, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 04" + }, + "index": 3, + "priority": 39, + "priority2": 39, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 32" + }, + "index": 31, + "priority": 40, + "priority2": 40, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 09" + }, + "index": 8, + "priority": 41, + "priority2": 41, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 06" + }, + "index": 5, + "priority": 42, + "priority2": 42, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 25" + }, + "index": 24, + "priority": 43, + "priority2": 43, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 42" + }, + "index": 41, + "priority": 44, + "priority2": 44, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 01" + }, + "index": 0, + "priority": 45, + "priority2": 45, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 18" + }, + "index": 17, + "priority": 46, + "priority2": 46, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 10" + }, + "index": 9, + "priority": 47, + "priority2": 47, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 37" + }, + "index": 36, + "priority": 48, + "priority2": 48, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + } + ], + "pager": { + "bottom": false + } + }, + "scripts": { + "customMethods": [ + { + "name": "sortChillerData", + "params": [ + "arrData" + ], + "script": "\tpriority_rows \u003d sorted([row for row in arrData if row[\"priority2\"] \u003c 999], key\u003dlambda x: x[\"priority2\"])\n\tnewArr \u003d [row for row in arrData if row[\"priority2\"] \u003d\u003d 999]\n\tfor row in priority_rows:\n\t\tif row[\"priority2\"] \u003c 999:\n#\t\t\tsystem.perspective.print(\"%s placed in position %s\"%(row[\"chillerName\"][\"value\"], row[\"priority2\"]-1))\n\t\t\tnewArr.insert(row[\"priority2\"]-1, row)\n\t\n\treturn newArr\n\t\t\t\n\t\n\t" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.display.table" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof" + }, + "meta": { + "name": "Supply Chart" + }, + "position": { + "height": 240, + "rotate": { + "anchor": "57% 50%" + }, + "width": 352, + "x": 2101.97, + "y": -2.959808349609375 + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "60" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "120", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": {}, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\"}\n\ttags \u003d system.tag.browse(self.custom.tagPath, {\"name\":\"*SYSTEM\",\"typeId\":\"Objects/Mechanical/Chiller\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\ttagname \u003d str(item[\"fullPath\"]) + \"/Load\"\n\t\tnameparts \u003d tagname.split(\"]\")\n\t\tprovider\u003d histProvider[nameparts[0][1:]]\n\t\trun_path \u003d \"[{}]{}\".format(provider, nameparts[1])\n\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Tonnage": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\ttotal \u003d 0\n\tfor item in rawHist:\n\t\ttotal \u003d 0\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] is None:\n\t\t\t\ttotal +\u003d 0\n\t\t\telse:\n\t\t\t\ttotal +\u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"total\": total})\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "render": "color" + }, + "dataSources": { + "Tonnage": [ + { + "t_stamp": 1776866263502, + "total": 1673.604373568407 + }, + { + "t_stamp": 1776866323502, + "total": 1668.3232719284033 + }, + { + "t_stamp": 1776866383502, + "total": 1667.7585804841597 + }, + { + "t_stamp": 1776866443502, + "total": 1677.5819018963616 + }, + { + "t_stamp": 1776866503502, + "total": 1685.8205119174413 + }, + { + "t_stamp": 1776866563502, + "total": 1689.8692880042101 + }, + { + "t_stamp": 1776866623502, + "total": 1675.565934076644 + }, + { + "t_stamp": 1776866683502, + "total": 1677.0669210518904 + }, + { + "t_stamp": 1776866743502, + "total": 1677.0423980430648 + }, + { + "t_stamp": 1776866803502, + "total": 1669.4905979078678 + }, + { + "t_stamp": 1776866863502, + "total": 1678.9369594752789 + }, + { + "t_stamp": 1776866923502, + "total": 1687.1916379989912 + }, + { + "t_stamp": 1776866983502, + "total": 1687.3385592680215 + }, + { + "t_stamp": 1776867043502, + "total": 1695.8774153804547 + }, + { + "t_stamp": 1776867103502, + "total": 1700.6212221696458 + }, + { + "t_stamp": 1776867163502, + "total": 1705.2337151708052 + }, + { + "t_stamp": 1776867223502, + "total": 1696.7683863537602 + }, + { + "t_stamp": 1776867283502, + "total": 1692.3688050157184 + }, + { + "t_stamp": 1776867343502, + "total": 1696.0415455735406 + }, + { + "t_stamp": 1776867403502, + "total": 1702.246973531337 + }, + { + "t_stamp": 1776867463502, + "total": 1706.1742175421298 + }, + { + "t_stamp": 1776867523502, + "total": 1695.5927052647216 + }, + { + "t_stamp": 1776867583502, + "total": 1701.3725069511581 + }, + { + "t_stamp": 1776867643502, + "total": 1695.7144239444785 + }, + { + "t_stamp": 1776867703502, + "total": 1702.6068129410028 + }, + { + "t_stamp": 1776867763502, + "total": 1701.0631307816898 + }, + { + "t_stamp": 1776867823502, + "total": 1714.5919484051492 + }, + { + "t_stamp": 1776867883502, + "total": 1711.3600040150939 + }, + { + "t_stamp": 1776867943502, + "total": 1718.5114102340797 + }, + { + "t_stamp": 1776868003502, + "total": 1716.2898490025261 + }, + { + "t_stamp": 1776868063502, + "total": 1724.1854644023742 + }, + { + "t_stamp": 1776868123502, + "total": 1712.9110237981288 + }, + { + "t_stamp": 1776868183502, + "total": 1707.9297555006074 + }, + { + "t_stamp": 1776868243502, + "total": 1712.8940187229937 + }, + { + "t_stamp": 1776868303502, + "total": 1714.1118496792003 + }, + { + "t_stamp": 1776868363502, + "total": 1713.7515206119724 + }, + { + "t_stamp": 1776868423502, + "total": 1720.9529738868714 + }, + { + "t_stamp": 1776868483502, + "total": 1720.0880106587158 + }, + { + "t_stamp": 1776868543502, + "total": 1711.856543937079 + }, + { + "t_stamp": 1776868603502, + "total": 1721.124363350834 + }, + { + "t_stamp": 1776868663502, + "total": 1727.1498985698713 + }, + { + "t_stamp": 1776868723502, + "total": 1728.170471446037 + }, + { + "t_stamp": 1776868783502, + "total": 1723.909578320036 + }, + { + "t_stamp": 1776868843502, + "total": 1729.8520381218805 + }, + { + "t_stamp": 1776868903502, + "total": 1732.097751646726 + }, + { + "t_stamp": 1776868963502, + "total": 1740.9971828180521 + }, + { + "t_stamp": 1776869023502, + "total": 1734.2687255570472 + }, + { + "t_stamp": 1776869083502, + "total": 1734.2929230090335 + }, + { + "t_stamp": 1776869143502, + "total": 1734.6363186037192 + }, + { + "t_stamp": 1776869203502, + "total": 1743.9197004263635 + }, + { + "t_stamp": 1776869263502, + "total": 1737.5756559216577 + }, + { + "t_stamp": 1776869323502, + "total": 1742.9075356864444 + }, + { + "t_stamp": 1776869383502, + "total": 1746.6211894734565 + }, + { + "t_stamp": 1776869443502, + "total": 1740.8419477213345 + }, + { + "t_stamp": 1776869503502, + "total": 1733.2567053044684 + }, + { + "t_stamp": 1776869563502, + "total": 1736.0245853120891 + }, + { + "t_stamp": 1776869623502, + "total": 1739.6241111354132 + }, + { + "t_stamp": 1776869683502, + "total": 1742.343615144019 + }, + { + "t_stamp": 1776869743502, + "total": 1746.5502502787115 + }, + { + "t_stamp": 1776869803502, + "total": 1742.2633506779198 + }, + { + "t_stamp": 1776869863502, + "total": 1743.4050817623797 + }, + { + "t_stamp": 1776869923502, + "total": 1736.8477679900932 + }, + { + "t_stamp": 1776869983502, + "total": 1743.0368428952843 + }, + { + "t_stamp": 1776870043502, + "total": 1747.3324815688302 + }, + { + "t_stamp": 1776870103502, + "total": 1753.0242299943664 + }, + { + "t_stamp": 1776870163502, + "total": 1748.3851890690034 + }, + { + "t_stamp": 1776870223502, + "total": 1749.756959463162 + }, + { + "t_stamp": 1776870283502, + "total": 1752.826580690277 + }, + { + "t_stamp": 1776870343502, + "total": 1750.4432147478196 + }, + { + "t_stamp": 1776870403502, + "total": 1749.9699796187908 + }, + { + "t_stamp": 1776870463502, + "total": 1750.810513435925 + }, + { + "t_stamp": 1776870523502, + "total": 1753.6675424187536 + }, + { + "t_stamp": 1776870583502, + "total": 1753.3575761529119 + }, + { + "t_stamp": 1776870643502, + "total": 1752.998356977879 + }, + { + "t_stamp": 1776870703502, + "total": 1760.0286232986691 + }, + { + "t_stamp": 1776870763502, + "total": 1761.057042654046 + }, + { + "t_stamp": 1776870823502, + "total": 1754.2316664188131 + }, + { + "t_stamp": 1776870883502, + "total": 1760.8681574444565 + }, + { + "t_stamp": 1776870943502, + "total": 1759.0162714942785 + }, + { + "t_stamp": 1776871003502, + "total": 1755.4071409359299 + }, + { + "t_stamp": 1776871063502, + "total": 1759.701700921904 + }, + { + "t_stamp": 1776871123502, + "total": 1761.1063343853061 + }, + { + "t_stamp": 1776871183502, + "total": 1752.4834227853635 + }, + { + "t_stamp": 1776871243502, + "total": 1745.7723498193548 + }, + { + "t_stamp": 1776871303502, + "total": 1752.4357288955077 + }, + { + "t_stamp": 1776871363502, + "total": 1752.483457777643 + }, + { + "t_stamp": 1776871423502, + "total": 1767.0660551786423 + }, + { + "t_stamp": 1776871483502, + "total": 1765.361112868309 + }, + { + "t_stamp": 1776871543502, + "total": 1772.3484557221161 + }, + { + "t_stamp": 1776871603502, + "total": 1769.6380303433157 + }, + { + "t_stamp": 1776871663502, + "total": 1765.1463410465883 + }, + { + "t_stamp": 1776871723502, + "total": 1757.970170917029 + }, + { + "t_stamp": 1776871783502, + "total": 1767.2378848195076 + }, + { + "t_stamp": 1776871843502, + "total": 1765.807411055545 + }, + { + "t_stamp": 1776871903502, + "total": 1763.8420522502504 + }, + { + "t_stamp": 1776871963502, + "total": 1752.3368800322855 + }, + { + "t_stamp": 1776872023502, + "total": 1758.7938743375364 + }, + { + "t_stamp": 1776872083502, + "total": 1764.3227354980754 + }, + { + "t_stamp": 1776872143502, + "total": 1758.534891189733 + }, + { + "t_stamp": 1776872203502, + "total": 1755.7419400599197 + }, + { + "t_stamp": 1776872263502, + "total": 1747.3315513598322 + }, + { + "t_stamp": 1776872323502, + "total": 1748.0340819589003 + }, + { + "t_stamp": 1776872383502, + "total": 1762.0498406014892 + }, + { + "t_stamp": 1776872443502, + "total": 1764.9835695732045 + }, + { + "t_stamp": 1776872503502, + "total": 1760.9265243419136 + }, + { + "t_stamp": 1776872563502, + "total": 1763.0892823015924 + }, + { + "t_stamp": 1776872623502, + "total": 1754.4993179332862 + }, + { + "t_stamp": 1776872683502, + "total": 1756.0587353413346 + }, + { + "t_stamp": 1776872743502, + "total": 1757.1295786965152 + }, + { + "t_stamp": 1776872803502, + "total": 1760.5342755692782 + }, + { + "t_stamp": 1776872863502, + "total": 1769.7505698147313 + }, + { + "t_stamp": 1776872923502, + "total": 1760.3795834155528 + }, + { + "t_stamp": 1776872983502, + "total": 1773.0256561354795 + }, + { + "t_stamp": 1776873043502, + "total": 1767.426040279913 + }, + { + "t_stamp": 1776873103502, + "total": 1768.120054070619 + }, + { + "t_stamp": 1776873163502, + "total": 1769.0735871671823 + }, + { + "t_stamp": 1776873223502, + "total": 1780.5697892264104 + }, + { + "t_stamp": 1776873283502, + "total": 1782.129469384543 + }, + { + "t_stamp": 1776873343502, + "total": 1780.7831728458405 + }, + { + "t_stamp": 1776873403502, + "total": 1780.7831728458405 + } + ] + }, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Tonnage", + "x": "t_stamp", + "y": "total" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Tonnage", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Tonnage", + "zIndex": 0 + } + ], + "style": { + "overflow": "visible", + "paddingRight": 5 + }, + "title": { + "text": "Supply (Tons)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": 10000, + "min": 0, + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "CHWS" + }, + "name": "Tonnage", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "meta": { + "name": "Transmitter_62" + }, + "position": { + "height": 20, + "width": 80, + "x": 1994, + "y": 237.49138220214843 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES11_TT01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_91" + }, + "position": { + "height": 20, + "width": 80, + "x": 154, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_92" + }, + "position": { + "height": 20, + "width": 80, + "x": 152, + "y": 303 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 128, + "width": 1833, + "x": 232.99, + "y": 52.46 + }, + "props": { + "path": "Library/Cards/Card_CH_Overview", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 1001, + "y": 600 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4656dd061c41fa28fc709bd33dd002959802afb7840242206f339f9bcd202684 b/Gateways/FE/projects/.resources/4656dd061c41fa28fc709bd33dd002959802afb7840242206f339f9bcd202684 new file mode 100644 index 0000000..4b2b36b Binary files /dev/null and b/Gateways/FE/projects/.resources/4656dd061c41fa28fc709bd33dd002959802afb7840242206f339f9bcd202684 differ diff --git a/Gateways/FE/projects/.resources/4667e2146f3b06b3ca355eb015507f44bdb718e343967a78967bb091780311a6 b/Gateways/FE/projects/.resources/4667e2146f3b06b3ca355eb015507f44bdb718e343967a78967bb091780311a6 new file mode 100644 index 0000000..33a6067 --- /dev/null +++ b/Gateways/FE/projects/.resources/4667e2146f3b06b3ca355eb015507f44bdb718e343967a78967bb091780311a6 @@ -0,0 +1,138 @@ +{ + "custom": {}, + "params": { + "caption": "Caption", + "value": 3.1416 + }, + "propConfig": { + "params.caption": { + "paramDirection": "input", + "persistent": true + }, + "params.value": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 83, + "width": 1119 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "lblBorder" + }, + "position": { + "width": 1 + }, + "propConfig": { + "position.height": { + "binding": { + "config": { + "expression": "({view.props.defaultSize.height} - {this.props.style.marginTop})\r\n/ {view.props.defaultSize.height}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderColor": "#888282", + "borderStyle": "solid", + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "borderWidth": 1, + "marginTop": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "txtNumericEntry" + }, + "position": { + "height": 0.3556, + "width": 1, + "y": 0.4444 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.value" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "marginLeft": 15, + "marginRight": 15 + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "children": [ + { + "meta": { + "name": "lblCaption" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#f7f7f7", + "paddingLeft": 5, + "paddingRight": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "style": { + "paddingLeft": 15 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/46810f3cc0014621cda570822425fc825bdc11a35828654aca73d0f80f8f52b1 b/Gateways/FE/projects/.resources/46810f3cc0014621cda570822425fc825bdc11a35828654aca73d0f80f8f52b1 new file mode 100644 index 0000000..e0ac1bf --- /dev/null +++ b/Gateways/FE/projects/.resources/46810f3cc0014621cda570822425fc825bdc11a35828654aca73d0f80f8f52b1 @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": null + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1" + }, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4697ce4ff20effd7d8d11301cc866a4d151f754ff252e4a65b1a1be0aaea70c9 b/Gateways/FE/projects/.resources/4697ce4ff20effd7d8d11301cc866a4d151f754ff252e4a65b1a1be0aaea70c9 new file mode 100644 index 0000000..dcd8eda --- /dev/null +++ b/Gateways/FE/projects/.resources/4697ce4ff20effd7d8d11301cc866a4d151f754ff252e4a65b1a1be0aaea70c9 @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1\n" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/46f6a6143c5ddf97a71ec8baf47a36729c0010652ad63bfe10860cf3411cec7d b/Gateways/FE/projects/.resources/46f6a6143c5ddf97a71ec8baf47a36729c0010652ad63bfe10860cf3411cec7d new file mode 100644 index 0000000..3f3f457 Binary files /dev/null and b/Gateways/FE/projects/.resources/46f6a6143c5ddf97a71ec8baf47a36729c0010652ad63bfe10860cf3411cec7d differ diff --git a/Gateways/FE/projects/.resources/47208d6ae6c58a1cd04d3fa9b6eb9c2d217c300815dc515a2bcc100c7be38ec2 b/Gateways/FE/projects/.resources/47208d6ae6c58a1cd04d3fa9b6eb9c2d217c300815dc515a2bcc100c7be38ec2 new file mode 100644 index 0000000..c838307 Binary files /dev/null and b/Gateways/FE/projects/.resources/47208d6ae6c58a1cd04d3fa9b6eb9c2d217c300815dc515a2bcc100c7be38ec2 differ diff --git a/Gateways/FE/projects/.resources/4720c1cc2e0077977d6cbb89fb711d90708fa61fded1a4a490c5e500132819c7 b/Gateways/FE/projects/.resources/4720c1cc2e0077977d6cbb89fb711d90708fa61fded1a4a490c5e500132819c7 new file mode 100644 index 0000000..f151ce3 --- /dev/null +++ b/Gateways/FE/projects/.resources/4720c1cc2e0077977d6cbb89fb711d90708fa61fded1a4a490c5e500132819c7 @@ -0,0 +1,1718 @@ +{ + "custom": { + "AlarmSeverity": 0, + "type": true + }, + "params": { + "embedded": false, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.type": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "enabled": false, + "transforms": [ + { + "code": "\tDOAS_type \u003d value.split(\"_DOAS0\")\n\treturn DOAS_type[-1]", + "type": "script" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": "1", + "output": true + }, + { + "input": "2", + "output": false + }, + { + "input": "3", + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 226, + "width": 838 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DOAS" + }, + "position": { + "height": 200, + "width": 800, + "x": 10, + "y": 9 + }, + "propConfig": { + "props.elements[0].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Dirty Filter" + }, + "enabled": false, + "transforms": [ + { + "fallback": "var(--alarm-low)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-running)" + }, + { + "input": true, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[3].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Heating Enabled Status" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Unknownl", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[4].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Heat Wheel Defrost Active" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Unknownl", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[5].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Exhaust Fan Status" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Unknownl", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[6].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Unknownl", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M525.91,362.556l-85.586,125.272l85.586,125.272l1615.89,0l-84.854,-125.272l84.854,-125.272l-1615.89,0Z", + "fill": { + "paint": "var(--containerNested)" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M2058.28,487.828l192.532,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2250.81,487.828l38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2250.81,487.828l38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M188.065,487.828l252.259,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M188.065,487.828l38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M188.065,487.828l38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Lower", + "name": "Lower", + "type": "group" + }, + { + "elements": [ + { + "d": "M3748.21,107.845l85.585,125.272l-85.585,125.272l-2907.87,0l84.854,-125.272l-84.854,-125.272l2907.87,-0Z", + "fill": { + "paint": "var(--containerNested)" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M4226.86,233.117l-393.074,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4226.86,233.117l-38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4226.86,233.117l-38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M924.233,233.117l-358.583,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M565.65,233.117l-38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M565.65,233.117l-38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Upper", + "name": "Upper", + "type": "group" + } + ], + "id": "DOAS-Box", + "name": "DOAS-Box", + "type": "group" + }, + { + "fill": { + "paint": "var(--state-running)" + }, + "height": 250.544, + "id": "Filter", + "name": "Filter", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "2063.73", + "y": "107.845" + }, + { + "fill": { + "paint": "#ebebeb" + }, + "height": "250.544", + "id": "DX-Cooling-Coil", + "name": "DX-Cooling-Coil", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "2340.54", + "y": "107.845" + }, + { + "fill": { + "paint": "var(--state-running)" + }, + "height": 250.544, + "id": "Hot-Gas-Reheater", + "name": "Hot-Gas-Reheater", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "2638.79", + "y": "107.845" + }, + { + "fill": { + "paint": "var(--state-running)" + }, + "height": "505.256", + "id": "Energy-Wheel", + "name": "Energy-Wheel", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "1526.57", + "y": "107.845" + }, + { + "d": "M1092.16,481.306c0,63.24 51.343,114.583 114.584,114.583c63.24,0 114.583,-51.343 114.583,-114.583c-0,-63.24 -51.343,-114.583 -114.583,-114.583l-174.266,-0l-0,114.583l59.682,0Z", + "fill": { + "paint": "var(--state-running)" + }, + "id": "Exhaust-Fan", + "name": "Exhaust-Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3301.49,225.947c0,63.24 -51.343,114.583 -114.583,114.583c-63.24,0 -114.583,-51.343 -114.583,-114.583c-0,-63.24 51.343,-114.583 114.583,-114.583l174.266,-0l-0,114.583l-59.683,0Z", + "fill": { + "paint": "var(--state-running)" + }, + "id": "Supply-Fan", + "name": "Supply-Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,176.314,472.75)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Exhaust", + "type": "text", + "x": "170px", + "y": "620px" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Air", + "type": "text", + "x": "210px", + "y": "690px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,494.91,222.75)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Outside", + "type": "text", + "x": "570px", + "y": "135px" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Air", + "type": "text", + "x": "610px", + "y": "215px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2457.19,472.75)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Return", + "type": "text", + "x": "2350px", + "y": "470px" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Air", + "type": "text", + "x": "2400px", + "y": "550px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1705.93,347.75)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Energy", + "type": "text", + "x": "1547.51px", + "y": "347.75px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Wheel", + "type": "text", + "x": "1550.36px", + "y": "397.75px" + } + ], + "name": "group", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,2216.53,250.517)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Filter", + "type": "text", + "x": "2105.43px", + "y": "250.517px" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2475.22,193.583)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "DX", + "type": "text", + "x": "2405.76px", + "y": "193.583px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Cooling", + "type": "text", + "x": "2356.44px", + "y": "244.033px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Coil", + "type": "text", + "x": "2397.51px", + "y": "294.033px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2830.07,218.928)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Hot-Gas", + "type": "text", + "x": "2643.91px", + "y": "218.928px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Reheat", + "type": "text", + "x": "2658.48px", + "y": "268.583px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,4376.45,223.2)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Supply", + "type": "text", + "x": "3900px", + "y": "300px" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Air", + "type": "text", + "x": "3950px", + "y": "375px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,3238.65,210.25)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "3152.49px", + "y": "210.25px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(SF)", + "type": "text", + "x": "3148.31px", + "y": "260.9px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1248.45,460.25)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "1162.29px", + "y": "460.25px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(RF)", + "type": "text", + "x": "1158.12px", + "y": "510.9px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4388 659" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "RA Temp" + }, + "position": { + "height": 35, + "width": 92, + "x": 611.96, + "y": 177.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.type" + }, + "type": "property" + } + }, + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Building Pressure" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 0, + "Size": 12, + "Value": 0.35 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "OS Humidity" + }, + "position": { + "height": 35, + "width": 75, + "y": 85.47 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Humidity" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%", + "EU_Pos": 0, + "Size": 12, + "Value": 21.7 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "OS Temp" + }, + "position": { + "height": 35, + "width": 75, + "y": 52.41 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 82.1 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SA Temp" + }, + "position": { + "height": 35, + "width": 81, + "x": 720, + "y": 48.93 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 68.4 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 32, + "width": 90, + "x": 165, + "y": 36.390625 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "DOAS01", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 80, + "x": 363, + "y": 30 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Dirty Filter" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Comm Error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Filter Good" + }, + { + "input": true, + "output": "Dirty Filter" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Filter Good", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 32, + "width": 80, + "x": 554, + "y": 30 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Unknownl", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Standby" + }, + { + "input": true, + "output": "Running" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Running", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 32, + "width": 80, + "x": 190, + "y": 163 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Exhaust Fan Status" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Unknown", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Standby" + }, + { + "input": true, + "output": "Running" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Running", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 109, + "width": 621, + "x": 91, + "y": 61 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 45, + "width": 38, + "x": 695.47, + "y": 37.39 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 32, + "width": 90, + "x": 713, + "y": 180 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.type" + }, + "type": "property" + } + } + }, + "props": { + "text": "Building Pressure", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "colorHandler": { + "lines": "var(--text-muted)" + } + }, + "meta": { + "name": "root" + }, + "position": { + "x": 425.5, + "y": 30.984375 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/47357058386aa5f29794530cacaf8ae069b7addc023835b79abbed588cd807d1 b/Gateways/FE/projects/.resources/47357058386aa5f29794530cacaf8ae069b7addc023835b79abbed588cd807d1 new file mode 100644 index 0000000..33ad8e8 Binary files /dev/null and b/Gateways/FE/projects/.resources/47357058386aa5f29794530cacaf8ae069b7addc023835b79abbed588cd807d1 differ diff --git a/Gateways/FE/projects/.resources/4781a3d88948caf930b6f189c5e6f204db40062eaa2bf4cb8f0cd31e14390cd5 b/Gateways/FE/projects/.resources/4781a3d88948caf930b6f189c5e6f204db40062eaa2bf4cb8f0cd31e14390cd5 new file mode 100644 index 0000000..21b0d6f --- /dev/null +++ b/Gateways/FE/projects/.resources/4781a3d88948caf930b6f189c5e6f204db40062eaa2bf4cb8f0cd31e14390cd5 @@ -0,0 +1,118 @@ +{ + "custom": { + "colorHandler": { + "auto": "#27669C", + "manual": "#9C6427", + "none": "#FFFFFF" + } + }, + "params": { + "Mode": 1, + "options": [ + "Local", + "Remote" + ] + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "params.Mode": { + "paramDirection": "input", + "persistent": true + }, + "params.options": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 60 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.params.Mode}\u003e0" + }, + "enabled": false, + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "code": "\tif value \u003c 0:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\tif value \u003d\u003d 0:\n\t\toutput \u003d self.view.custom.colorHandler.manual\n\tif value \u003d\u003d 1:\n\t\toutput \u003d self.view.custom.colorHandler.auto\t\n\tif value \u003e 1:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\t\n\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "code": "\treturn self.view.params.options[value]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "paddingLeft": 5, + "paddingRight": 5 + }, + "textStyle": { + "color": "#FFFFFF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/479ef922fefeeaecb30fb148085a886d62eb261bbda57d1ff7aee88dcf97f6d9 b/Gateways/FE/projects/.resources/479ef922fefeeaecb30fb148085a886d62eb261bbda57d1ff7aee88dcf97f6d9 new file mode 100644 index 0000000..a833bbc Binary files /dev/null and b/Gateways/FE/projects/.resources/479ef922fefeeaecb30fb148085a886d62eb261bbda57d1ff7aee88dcf97f6d9 differ diff --git a/Gateways/FE/projects/.resources/47da868e71e2094728190f4077dfbe9a00790d063ff25ae11741c265cd1fa461 b/Gateways/FE/projects/.resources/47da868e71e2094728190f4077dfbe9a00790d063ff25ae11741c265cd1fa461 new file mode 100644 index 0000000..2fa1a78 --- /dev/null +++ b/Gateways/FE/projects/.resources/47da868e71e2094728190f4077dfbe9a00790d063ff25ae11741c265cd1fa461 @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "fill": "#FAFAFB" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/480bb07bb95ec9dd193d8c25c8eac096beaa19ed6b623de5419eae31e358171b b/Gateways/FE/projects/.resources/480bb07bb95ec9dd193d8c25c8eac096beaa19ed6b623de5419eae31e358171b new file mode 100644 index 0000000..2f033c2 --- /dev/null +++ b/Gateways/FE/projects/.resources/480bb07bb95ec9dd193d8c25c8eac096beaa19ed6b623de5419eae31e358171b @@ -0,0 +1,1043 @@ +{ + "custom": { + "Mode": 1, + "OCmd": {}, + "damperCmd": 1 + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1121/SATB1_HS1_RM1121_VAV19" + }, + "propConfig": { + "custom.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/User Control Command" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.ModeCMD": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Mode" + }, + "type": "tag" + } + }, + "custom.OCmd.Occupied": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OccMode" + }, + "type": "tag" + } + }, + "custom.OCmd.Unoccupied": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_UnOccMode" + }, + "type": "tag" + } + }, + "custom.damperCmd": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Damper Override Command" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.ModeCMD \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Ocmd_Mode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.ModeCMD" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.ModeCMD \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ManualBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Ocmd_Mode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.ModeCMD" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Unoccupied \u003d False\t\n\tself.view.custom.OCmd.Occupied \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OccModeBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OccMode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if({view.custom.OCmd.ModeCMD},false,true),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Occupied" + }, + "type": "property" + } + } + }, + "props": { + "text": "Occupied Mode" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Occupied \u003d False\n\tself.view.custom.OCmd.Unoccupied \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "UnOccBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_UnOccMode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if({view.custom.OCmd.ModeCMD},false,true),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Unoccupied" + }, + "type": "property" + } + } + }, + "props": { + "text": "Unoccupied Mode" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row01" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "User Control Command" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/User Control Command.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.Mode" + }, + "type": "property" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 1 + }, + { + "label": "Heat", + "value": 2 + }, + { + "label": "Cool", + "value": 3 + }, + { + "label": "Off", + "value": 4 + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Damper Override Command" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Damper Override Command.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.damperCmd" + }, + "type": "property" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 1 + }, + { + "label": "Open", + "value": 2 + }, + { + "label": "Close", + "value": 3 + }, + { + "label": "Min Cool", + "value": 4 + }, + { + "label": "Max Cool", + "value": 5 + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Row3" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Left control Container" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Occupied Temperature Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "35%", + "grow": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Occupied Temp Setpoint.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Occupied Temp Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 104, + "minimum": 50 + }, + "spinner": { + "enabled": false + }, + "style": { + "fontWeight": "bold", + "max-height": "40px", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "10%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Occupied Temp Setpoint.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--units-color)", + "textAlign": "left" + }, + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Unoccupied Cooling Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": {} + }, + "position": { + "basis": "35%", + "grow": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Cool SP.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "path": ".../Row4/NumericEntryField.props.value" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Cool SP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 104 + }, + "spinner": { + "enabled": false + }, + "style": { + "fontWeight": "bold", + "max-height": "40px", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "10%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Cool SP.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--units-color)", + "textAlign": "left" + }, + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row3" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Unoccupied Heating Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": {} + }, + "position": { + "basis": "35%", + "grow": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Heat SP.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "path": ".../Row3/NumericEntryField.props.value" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Heat SP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "minimum": 50 + }, + "spinner": { + "enabled": false + }, + "style": { + "fontWeight": "bold", + "max-height": "40px", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "10%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Heat SP.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--units-color)", + "textAlign": "left" + }, + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row4" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right control Container" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/482705f154739c5a66115af8d91797343add3829e5c074d3e1b34d0cfd3ec73d b/Gateways/FE/projects/.resources/482705f154739c5a66115af8d91797343add3829e5c074d3e1b34d0cfd3ec73d new file mode 100644 index 0000000..136ddd5 --- /dev/null +++ b/Gateways/FE/projects/.resources/482705f154739c5a66115af8d91797343add3829e5c074d3e1b34d0cfd3ec73d @@ -0,0 +1,1019 @@ +{ + "custom": { + "JA01": "/AC Primary Power Fault", + "JA02": "/AC Secondary Power Fault", + "JA03": "/DC Power Supply 1 Fault", + "JA04": "/DC Power Supply 2 Fault", + "PLC_A_Fail": false, + "PLC_A_Online": false, + "PLC_B_Fail": false, + "PLC_B_Online": false, + "RedundancySTS": "/Hot Standby Status", + "TAH": "/High Temperature", + "XA": "/Panel Intrusion", + "allTags": [ + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Chiller Quantity Fail" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Fail" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Temp Fail" + } + ], + "inTagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_PNL24" + }, + "params": { + "embedded": false, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_PNL24" + }, + "propConfig": { + "custom.JA01": { + "persistent": true + }, + "custom.JA02": { + "persistent": true + }, + "custom.JA03": { + "persistent": true + }, + "custom.JA04": { + "persistent": true + }, + "custom.PLC_A_Fail": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Hot Standby Status/PLC A Fail" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.PLC_A_Online": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Hot Standby Status/PLC A Online" + }, + "transforms": [ + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.PLC_B_Fail": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Hot Standby Status/PLC B Fail" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.PLC_B_Online": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Hot Standby Status/PLC B Online" + }, + "transforms": [ + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.RedundancySTS": { + "persistent": true + }, + "custom.TAH": { + "persistent": true + }, + "custom.XA": { + "persistent": true + }, + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "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 + }, + "custom.inTagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA01\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA01}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA01}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA01}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "AC Primary Power Failure", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA02\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA02}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA02}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA02}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "AC Secondary Power Failure", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA03\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA03}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA03}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA03}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA03}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "DC Power Supply 1 Fault", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA04\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA04}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA04}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA04}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA04}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "DC Power Supply 2 Fault", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.TAH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.TAH}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.TAH}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.TAH}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Temperature High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.XA}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_5" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.XA}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.XA}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Panel Intrusion", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "Redundancy", + "tagPath": "{view.custom.inTagPath}{view.custom.RedundancySTS}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_6" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "struct": { + "PLC_A": "{view.custom.PLC_A_Fail}", + "PLC_A_On": "{view.custom.PLC_A_Online}", + "PLC_B": "{view.custom.PLC_B_Fail}", + "PLC_B_On": "{view.custom.PLC_B_Online}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027PLC_A\u0027] or value[\u0027PLC_B\u0027] or value[\u0027PLC_A_On\u0027] or value[\u0027PLC_B_On\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--state-standby)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Redundancy Status", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "136px" + }, + "props": { + "justify": "space-evenly", + "style": { + "gap": 5, + "overflow": "visible", + "padding": 5 + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/483106d25b9fc9c98aa9c224ff7011b77e5297b92f65af2df7aa24b502c712b3 b/Gateways/FE/projects/.resources/483106d25b9fc9c98aa9c224ff7011b77e5297b92f65af2df7aa24b502c712b3 new file mode 100644 index 0000000..0660ffc Binary files /dev/null and b/Gateways/FE/projects/.resources/483106d25b9fc9c98aa9c224ff7011b77e5297b92f65af2df7aa24b502c712b3 differ diff --git a/Gateways/FE/projects/.resources/48587ad0e615e6decdb8799da93285d9955e91ff356569faf2faf45a288e243e b/Gateways/FE/projects/.resources/48587ad0e615e6decdb8799da93285d9955e91ff356569faf2faf45a288e243e new file mode 100644 index 0000000..db5e970 --- /dev/null +++ b/Gateways/FE/projects/.resources/48587ad0e615e6decdb8799da93285d9955e91ff356569faf2faf45a288e243e @@ -0,0 +1,278 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHT01" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.SubEn": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteEN" + }, + "type": "tag" + } + }, + "custom.OCmd.SubVal": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteVal" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OOSBtn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Enable" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubEn" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "SubEnable" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description" + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.custom.OCmd.SubEn} \u0026\u0026 {view.params.auth.control}" + }, + "type": "expr" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubVal" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "SubVal" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/488a576d4188e4889f06f568fc9054c9760fee03b56ed1755ac787314993e0e2 b/Gateways/FE/projects/.resources/488a576d4188e4889f06f568fc9054c9760fee03b56ed1755ac787314993e0e2 new file mode 100644 index 0000000..fb847e9 --- /dev/null +++ b/Gateways/FE/projects/.resources/488a576d4188e4889f06f568fc9054c9760fee03b56ed1755ac787314993e0e2 @@ -0,0 +1,432 @@ +{ + "custom": { + "tabsConfig": { + "showControl": false, + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_ER1151_H2" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "enabled": false, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "params": { + "embedded": false, + "objectName": "DiscreteIn" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4890184d4771a46c925b39ef9c56fda279e0dd1165167d1b121654ad0f917893 b/Gateways/FE/projects/.resources/4890184d4771a46c925b39ef9c56fda279e0dd1165167d1b121654ad0f917893 new file mode 100644 index 0000000..8974d7e Binary files /dev/null and b/Gateways/FE/projects/.resources/4890184d4771a46c925b39ef9c56fda279e0dd1165167d1b121654ad0f917893 differ diff --git a/Gateways/FE/projects/.resources/48aaf17414c92cc95676d1fc953eb0ab196bee3ac32b66a8eb7c4f205409da64 b/Gateways/FE/projects/.resources/48aaf17414c92cc95676d1fc953eb0ab196bee3ac32b66a8eb7c4f205409da64 new file mode 100644 index 0000000..7cffd92 --- /dev/null +++ b/Gateways/FE/projects/.resources/48aaf17414c92cc95676d1fc953eb0ab196bee3ac32b66a8eb7c4f205409da64 @@ -0,0 +1,2001 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Postion": { + "Closed": 1, + "Faulted": 0, + "Open": 0 + }, + "Status": 1, + "Val": "Closed", + "colorHandler": { + "body": "var(--text-muted)" + }, + "tag": "Valve" + }, + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]/Roof/CV48" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Postion": { + "persistent": true + }, + "custom.Postion.Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Closed" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Postion.Faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Alarm Summary" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Postion.Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Open" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Status": { + "binding": { + "config": { + "expression": "binEnum({view.custom.Postion.Closed},{view.custom.Postion.Open},{view.custom.Postion.Faulted})\r\n\t " + }, + "type": "expr" + }, + "persistent": true + }, + "custom.Val": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Actuating" + }, + { + "input": 1, + "output": "Closed" + }, + { + "input": 2, + "output": "Open" + }, + { + "input": 3, + "output": "Faulted" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.text": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "black" + }, + { + "input": 1, + "output": "black" + }, + { + "input": 2, + "output": "black" + }, + { + "input": 3, + "output": "white" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.valve": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-auto)" + }, + { + "input": 1, + "output": "var(--state-standby)" + }, + { + "input": 2, + "output": "var(--state-running)" + }, + { + "input": 3, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.Layout": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 101, + "width": 100 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Val" + }, + "position": { + "height": 15, + "width": 74, + "x": 2, + "y": 76 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.Val" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "#0013FF", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Tag" + }, + "position": { + "height": 12, + "width": 74, + "x": 3 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Valve", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Valve_Vertical", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 68, + "width": 70, + "x": 5, + "y": 12 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Tooltip" + }, + "type": "tag" + } + }, + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": "M", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "M" + }, + { + "input": true, + "output": "A" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "11.25", + "name": "rect", + "stroke": { + "width": "0.75px" + }, + "type": "rect", + "width": "15.75", + "x": "4.167", + "y": "0.375" + }, + { + "d": "M12.042,11.625l-0,12.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M12.042,24.375l11.625,-5.25l-0,10.5l-11.625,-5.25Z", + "fill": {}, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M12.042,24.375l-11.625,-5.25l-0,10.5l11.625,-5.25Z", + "fill": {}, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(10.4167,0,0,10.4167,16.3879,9.72823)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "10.417px" + }, + "text": "A", + "type": "text", + "x": "7.711px", + "y": "9.728px" + } + ], + "id": "Valve", + "name": "Valve", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "borderStyle": "none", + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": 2, + "paddingBottom": 3, + "paddingLeft": 3, + "paddingRight": 3, + "paddingTop": 3 + }, + "viewBox": "0 0 25 31" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 20, + "rotate": { + "anchor": "50% 39%" + }, + "width": 20, + "x": 56 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "visible" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "contextMenu": { + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "menu-item", + "type": "method" + }, + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "menu-item", + "type": "link" + } + ] + }, + "name": "VierticalView", + "tooltip": { + "enabled": true, + "location": "top", + "text": null + } + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Val" + }, + "position": { + "height": 10, + "width": 40, + "x": 55, + "y": 41.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.Val" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "#0013FF", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Tag" + }, + "position": { + "height": 15, + "width": 45, + "x": 55, + "y": 19.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Valve_Horizontal", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 50, + "width": 50, + "x": 3, + "y": 12.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Tooltip" + }, + "type": "tag" + } + }, + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].elements[0].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "transforms": [ + { + "fallback": "M", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "M" + }, + { + "input": true, + "output": "A" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": 62.5, + "name": "rect", + "stroke": { + "width": "3.46px" + }, + "type": "rect", + "width": "45.833", + "x": "1.729", + "y": "17.354" + }, + { + "elements": [ + { + "elements": [ + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "39.263px" + }, + "type": "text", + "x": "8.325px", + "y": "61.555px" + } + ], + "name": "group", + "stroke": { + "width": "1px" + }, + "transform": "matrix(1,0,0,0.921677,0,4.82116)", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M104.075,48.604l23.438,46.875l-46.876,0l23.438,-46.875Z", + "fill": {}, + "name": "path", + "stroke": { + "width": "3.46px" + }, + "type": "path" + }, + { + "d": "M104.075,48.604l23.438,-46.875l-46.876,0l23.438,46.875Z", + "fill": {}, + "name": "path", + "stroke": { + "width": "3.46px" + }, + "type": "path" + }, + { + "d": "M104.075,48.604l-56.25,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "path" + } + ], + "id": "Valve", + "name": "Valve", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": "2" + }, + "viewBox": "0 0 130 98" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 20, + "rotate": { + "anchor": "50% 39%" + }, + "width": 20, + "x": 44.992984484863285 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "visible" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "HorizontalView" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": false + }, + { + "input": false, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/48c2877a72341819fa5df64fc79ae3d658b93607127705e30446353becebb957 b/Gateways/FE/projects/.resources/48c2877a72341819fa5df64fc79ae3d658b93607127705e30446353becebb957 new file mode 100644 index 0000000..d41a02e --- /dev/null +++ b/Gateways/FE/projects/.resources/48c2877a72341819fa5df64fc79ae3d658b93607127705e30446353becebb957 @@ -0,0 +1,206 @@ +{ + "custom": {}, + "params": { + "dataType": "Int4", + "enabled": true, + "max": 9999, + "min": -9999, + "name": "Int", + "options": [], + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-4/Vacuum Fault Interrupter2 Tripped/Config/Target", + "visible": true + }, + "propConfig": { + "params.dataType": { + "paramDirection": "input", + "persistent": true + }, + "params.enabled": { + "paramDirection": "input", + "persistent": true + }, + "params.max": { + "paramDirection": "input", + "persistent": true + }, + "params.min": { + "paramDirection": "input", + "persistent": true + }, + "params.name": { + "paramDirection": "input", + "persistent": true + }, + "params.options": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.visible": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Name", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.OpcItemPath" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.name" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Input" + }, + "position": { + "basis": "75px" + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "type": "property" + } + }, + "props.params.max": { + "binding": { + "config": { + "path": "view.params.max" + }, + "type": "property" + } + }, + "props.params.min": { + "binding": { + "config": { + "path": "view.params.min" + }, + "type": "property" + } + }, + "props.params.options": { + "binding": { + "config": { + "path": "view.params.options" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "case({view.params.dataType},\r\n\u0027Boolean\u0027, \u0027Library/Templates/Framework/Input/Boolean\u0027,\r\n\u0027Int4\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027Int8\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027Float4\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027Float8\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027String\u0027, \u0027Library/Templates/Framework/Input/String\u0027,\r\n\u0027\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "minWidth": "10px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.visible" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible", + "padding": "0 10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4905bbef108a7a956180fd3f473fa3d4efbb3e2aaf72f3f285614ad812e76ad5 b/Gateways/FE/projects/.resources/4905bbef108a7a956180fd3f473fa3d4efbb3e2aaf72f3f285614ad812e76ad5 new file mode 100644 index 0000000..7e53400 Binary files /dev/null and b/Gateways/FE/projects/.resources/4905bbef108a7a956180fd3f473fa3d4efbb3e2aaf72f3f285614ad812e76ad5 differ diff --git a/Gateways/FE/projects/.resources/4910420abbe8f27b631a82f94114fffe268a62566b33eda40fdb20cabf0ee84a b/Gateways/FE/projects/.resources/4910420abbe8f27b631a82f94114fffe268a62566b33eda40fdb20cabf0ee84a new file mode 100644 index 0000000..0d194e9 Binary files /dev/null and b/Gateways/FE/projects/.resources/4910420abbe8f27b631a82f94114fffe268a62566b33eda40fdb20cabf0ee84a differ diff --git a/Gateways/FE/projects/.resources/4911a6f40e09c5f55972823a421ef88c952cd578d95f8574c0f456009c4b3301 b/Gateways/FE/projects/.resources/4911a6f40e09c5f55972823a421ef88c952cd578d95f8574c0f456009c4b3301 new file mode 100644 index 0000000..996f413 Binary files /dev/null and b/Gateways/FE/projects/.resources/4911a6f40e09c5f55972823a421ef88c952cd578d95f8574c0f456009c4b3301 differ diff --git a/Gateways/FE/projects/.resources/4921b44589f874d6109651f3397b8232a70a3a21e3ed6a1165e52b804b7ed0eb b/Gateways/FE/projects/.resources/4921b44589f874d6109651f3397b8232a70a3a21e3ed6a1165e52b804b7ed0eb new file mode 100644 index 0000000..7f274a9 Binary files /dev/null and b/Gateways/FE/projects/.resources/4921b44589f874d6109651f3397b8232a70a3a21e3ed6a1165e52b804b7ed0eb differ diff --git a/Gateways/FE/projects/.resources/496163ab5dc2eb945c18559457131b02ff2b3e290743a3ce431dc81e81db2cec b/Gateways/FE/projects/.resources/496163ab5dc2eb945c18559457131b02ff2b3e290743a3ce431dc81e81db2cec new file mode 100644 index 0000000..99eb8a0 --- /dev/null +++ b/Gateways/FE/projects/.resources/496163ab5dc2eb945c18559457131b02ff2b3e290743a3ce431dc81e81db2cec @@ -0,0 +1,711 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 1242 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "meta": { + "name": "NetworkFloor" + }, + "position": { + "height": 586, + "width": 1054, + "x": 84, + "y": 180.9921875 + }, + "propConfig": { + "custom.colorHandler.zones": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": "stream-light", + "output": "#ebebeb" + }, + { + "input": "stream-dark", + "output": "#12121280" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.zones" + }, + "type": "property" + } + }, + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.zones" + }, + "type": "property" + } + }, + "props.elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.zones" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M3226.58,282.538c12.932,7.43 20.907,21.206 20.91,36.12c0.003,14.915 -7.966,28.693 -20.895,36.128c-385.651,221.779 -2423.16,1393.5 -2651.22,1524.65c-12.855,7.393 -28.671,7.396 -41.529,0.009c-76.864,-44.162 -347.139,-199.446 -470.997,-270.607c-12.932,-7.43 -20.907,-21.206 -20.91,-36.12c-0.003,-14.915 7.966,-28.693 20.895,-36.128c385.651,-221.779 2423.16,-1393.5 2651.22,-1524.65c12.855,-7.393 28.671,-7.396 41.529,-0.009c76.863,44.162 347.139,199.446 470.997,270.607Z", + "fill": {}, + "id": "Zone01", + "name": "Zone01", + "type": "path" + }, + { + "d": "M3169.28,1567.04c12.932,7.43 20.907,21.205 20.91,36.12c0.003,14.914 -7.966,28.693 -20.895,36.128c-213.14,122.572 -903.927,519.828 -1059.11,609.072c-19.283,11.089 -43.006,11.094 -62.293,0.012c-91.889,-52.793 -363.12,-208.626 -486.884,-279.734c-12.932,-7.43 -20.907,-21.205 -20.91,-36.12c-0.003,-14.914 7.966,-28.693 20.895,-36.128c218.337,-125.56 937.895,-539.362 1069.49,-615.042c12.855,-7.392 28.671,-7.396 41.529,-0.008c79.764,45.827 368.424,211.674 497.267,285.7Z", + "fill": {}, + "id": "Zone011", + "name": "Zone011", + "type": "path" + }, + { + "d": "M4235.68,1129.82c12.932,7.43 20.906,21.205 20.909,36.12c0.003,14.914 -7.966,28.693 -20.895,36.128c-112.575,64.74 -343.453,197.513 -413.742,237.934c-12.855,7.393 -28.671,7.396 -41.529,0.009c-116.596,-66.989 -691.421,-397.249 -883.798,-507.778c-12.932,-7.43 -20.907,-21.205 -20.91,-36.12c-0.003,-14.914 7.966,-28.693 20.895,-36.128c112.576,-64.74 343.454,-197.513 413.743,-237.934c12.855,-7.393 28.671,-7.396 41.529,-0.009c116.596,66.99 691.42,397.249 883.798,507.778Z", + "fill": {}, + "id": "Zone03", + "name": "Zone03", + "type": "path" + }, + { + "elements": [ + { + "d": "M609.683,1759.37l-150.586,-86.941", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M1301.94,1354.31l-150.586,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M2488.01,1366.11l-749.764,-432.876", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M2428.76,707.843l-150.585,-86.941", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M3000.96,380.318l-150.585,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M612.372,1759.37l2388.59,-1379.05", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M3107.97,973.119l150.586,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M2943.48,1384.12l562.301,-349.589", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M2030.45,1983.38l478.231,-276.107", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M3723.15,1331.16l150.585,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M3723.2,1331.16l-615.237,-355.206", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path", + "visibility": "hidden" + } + ], + "id": "Connections", + "name": "Connections", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4299 2267" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "HMI-M" + }, + "position": { + "height": 140, + "width": 170, + "x": 823.938, + "y": 645 + }, + "props": { + "params": { + "ipAddr": "192.168.8.189", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO1-M" + }, + "position": { + "height": 140, + "width": 170, + "x": 14.9287, + "y": 644.976 + }, + "props": { + "params": { + "ipAddr": "192.168.8.181", + "tagProvider": "[Ignition SATB1 IO1 default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO2-M" + }, + "position": { + "height": 140, + "width": 170, + "x": 131.925, + "y": 301.882875 + }, + "props": { + "params": { + "ipAddr": "192.168.8.182", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO3-M" + }, + "position": { + "height": 140, + "width": 170, + "x": 321.96, + "y": 180.984375 + }, + "props": { + "params": { + "ipAddr": "192.168.8.183", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO4-M" + }, + "position": { + "height": 140, + "width": 170, + "x": 508.917, + "y": 93.984 + }, + "props": { + "params": { + "ipAddr": "192.168.8.184", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO5-M" + }, + "position": { + "height": 140, + "width": 170, + "x": 795.98, + "y": 48.95275 + }, + "props": { + "params": { + "ipAddr": "192.168.8.185", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO6-M" + }, + "position": { + "height": 140, + "width": 170, + "x": 1009.98, + "y": 237.925 + }, + "props": { + "params": { + "ipAddr": "192.168.8.180", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 130, + "width": 130, + "x": 905.305, + "y": 343.859375 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 130, + "width": 130, + "x": 709.54, + "y": 157.98 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 130, + "width": 130, + "x": 570, + "y": 238 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 130, + "width": 130, + "x": 437, + "y": 315 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 130, + "width": 130, + "x": 293, + "y": 397 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 130, + "width": 130, + "x": 123, + "y": 496 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Database" + }, + "position": { + "height": 130, + "width": 130, + "x": 517.234, + "y": 587.915 + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M352.242,171.978c-0,-26.76 -62.353,-48.485 -139.155,-48.485c-76.801,-0 -139.154,21.725 -139.154,48.485l-0,264.243c-0,26.759 62.353,48.485 139.154,48.485c76.802,-0 139.155,-21.726 139.155,-48.485l-0,-264.243Z", + "fill": { + "paint": "#bfc0c2" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M73.933,183.91c-0,26.7 62.353,48.377 139.154,48.377c76.802,-0 139.155,-21.677 139.155,-48.377", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M73.933,268.05c-0,26.7 62.353,48.376 139.154,48.376c76.802,0 139.155,-21.676 139.155,-48.376", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M73.933,352.189c-0,26.7 62.353,48.377 139.154,48.377c76.802,0 139.155,-21.677 139.155,-48.377", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 500 516" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 200, + "width": 200, + "x": 656, + "y": 445 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -8, + "y": 0 + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/49705e04c354d4395464e025c55e5abd234faeeb4c8cb8566dea223073c4c0f6 b/Gateways/FE/projects/.resources/49705e04c354d4395464e025c55e5abd234faeeb4c8cb8566dea223073c4c0f6 new file mode 100644 index 0000000..40cca76 --- /dev/null +++ b/Gateways/FE/projects/.resources/49705e04c354d4395464e025c55e5abd234faeeb4c8cb8566dea223073c4c0f6 @@ -0,0 +1,871 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Layout": false, + "Mode": 1, + "STS_Alarm": false, + "STS_Running": 1 + }, + "params": { + "objectName": "VSD", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD13" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Layout": { + "persistent": true + }, + "custom.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 2 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.STS_Alarm": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "enabled": false, + "transforms": [ + { + "expression": "if({value}\u003e0, True, False)", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.STS_Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 62, + "width": 106 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "height": 0.2581, + "y": 1.0102 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "type": "property" + } + }, + "position.width": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.width" + }, + "type": "property" + } + }, + "position.x": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.x" + }, + "type": "property" + } + } + }, + "props": { + "text": "Running", + "textStyle": { + "color": "#0600FF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Tag02" + }, + "position": { + "basis": "34%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "VFD", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Load" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Speed Feedback Percent" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 45, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "basis": "31.1%" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "33%", + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "width": 0.5318, + "x": 0.4683 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "position.height": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.height" + }, + "type": "property" + } + }, + "position.y": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.y" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Tag01" + }, + "position": { + "height": 0.2581, + "y": -0.0408 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "type": "property" + } + }, + "position.width": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.width" + }, + "type": "property" + } + }, + "position.x": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.x" + }, + "type": "property" + } + } + }, + "props": { + "text": "ASP01", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ModeBadge" + }, + "position": { + "height": 0.2742, + "width": 0.1656, + "x": 0.0174, + "y": 0.6613 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Mode" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": true + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Mode": { + "binding": { + "config": { + "path": "view.custom.Mode" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Widgets/ModeBadgeSmall", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "colorHandler": {} + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\t\n\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CHW Pump VFD" + }, + "position": { + "height": 0.5484, + "rotate": {}, + "width": 0.3313, + "x": 0.1095, + "y": 0.1689 + }, + "propConfig": { + "custom.colorHandler.pump": { + "binding": { + "config": { + "expression": " if({view.custom.STS_Alarm},2,if({view.custom.STS_Running},1,0))" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "position.rotate.angle": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "transforms": [ + { + "fallback": "0deg", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "0deg" + }, + { + "input": true, + "output": "270deg" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.pump" + }, + "type": "property" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e0, \"solid\", \"none\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "cx": "11.625", + "cy": "11.625", + "fill": {}, + "name": "circle", + "r": "11.25", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M11.825000002980232 28.675000101327896l9.75-16.5-19.5 0 9.75 16.5Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "transform": "matrix(1 0 0 -1 0 29.25)", + "type": "path" + } + ], + "id": "Pump", + "name": "Pump", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": 2 + }, + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 0.3226, + "width": 0.1744, + "x": 0.3574 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 3, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 3, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 2, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 1, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 4, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 4, \"visible\", \"hidden\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/49746b21b05deddd2f3a6e9bcc8121fea21e732b394947873d7a0e0835eb1c3d b/Gateways/FE/projects/.resources/49746b21b05deddd2f3a6e9bcc8121fea21e732b394947873d7a0e0835eb1c3d new file mode 100644 index 0000000..349b9f0 --- /dev/null +++ b/Gateways/FE/projects/.resources/49746b21b05deddd2f3a6e9bcc8121fea21e732b394947873d7a0e0835eb1c3d @@ -0,0 +1,228 @@ +{ + "custom": { + "AlarmSeverity": 0, + "RunStatus": 1, + "Status": null, + "tag": "GEN 1.1" + }, + "params": { + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-1" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.RunStatus": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Run Status" + }, + "enabled": false, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e1,2, {view.custom.RunStatus})" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 65 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "60px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e1, 2, {view.custom.RunStatus})" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "lightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.tag" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e1, 2, {view.custom.RunStatus})" + }, + "transforms": [ + { + "fallback": "yellow", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "black" + }, + { + "input": 1, + "output": "black" + }, + { + "input": 2, + "output": "white" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "padding": "5px" + }, + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": "var(--borderRadiusInput)", + "borderBottomRightRadius": "var(--borderRadiusInput)", + "borderTopLeftRadius": "var(--borderRadiusInput)", + "borderTopRightRadius": "var(--borderRadiusInput)", + "classes": "containers/HoverOver" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/499c5a663a65d6c50b1466f5110886b34601274b18f0b54a3d279b5195444e1b b/Gateways/FE/projects/.resources/499c5a663a65d6c50b1466f5110886b34601274b18f0b54a3d279b5195444e1b new file mode 100644 index 0000000..ec96ad8 Binary files /dev/null and b/Gateways/FE/projects/.resources/499c5a663a65d6c50b1466f5110886b34601274b18f0b54a3d279b5195444e1b differ diff --git a/Gateways/FE/projects/.resources/49aa72a1ae478cc4d9c30e0433a20189b9b00822e1fd0c580836f6ef4087785e b/Gateways/FE/projects/.resources/49aa72a1ae478cc4d9c30e0433a20189b9b00822e1fd0c580836f6ef4087785e new file mode 100644 index 0000000..b80b8e8 Binary files /dev/null and b/Gateways/FE/projects/.resources/49aa72a1ae478cc4d9c30e0433a20189b9b00822e1fd0c580836f6ef4087785e differ diff --git a/Gateways/FE/projects/.resources/49cb10a506250853f0a4bc1df657f083cde9f1e785b32e7b7783d40aea6a7438 b/Gateways/FE/projects/.resources/49cb10a506250853f0a4bc1df657f083cde9f1e785b32e7b7783d40aea6a7438 new file mode 100644 index 0000000..c505712 --- /dev/null +++ b/Gateways/FE/projects/.resources/49cb10a506250853f0a4bc1df657f083cde9f1e785b32e7b7783d40aea6a7438 @@ -0,0 +1,940 @@ +{ + "custom": { + "DeviceName": "FE-2" + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "Breaker", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "propConfig": { + "custom.DeviceName": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "CB": "{/root/SWBD_CB.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027inputPower\u0027] is None or value[\u0027CB\u0027] is None:\n\t\treturn 0\n\tif value[\u0027inputPower\u0027] \u003d\u003d 1 and value[\u0027CB\u0027]\u003d\u003d True:\n\t\treturn 1\n\telse: \n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 55, + "width": 66 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\n\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD_CB" + }, + "position": { + "height": 51, + "width": 43 + }, + "propConfig": { + "custom.BreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Status" + }, + "type": "tag" + } + }, + "custom.colorHandler.breakerIn": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.breakerOut": { + "binding": { + "config": { + "expression": "{view.params.inputPower} \u0026\u0026 {this.custom.BreakerClosed}\r\n" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif( value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027purple\u0027\n\tif value[\u0027inputPower\u0027] and value[\u0027CB\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "code": "\tif value is None: \n\t\treturn \"hidden\"\n\treturn value", + "type": "script" + }, + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027purple\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[1].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + }, + { + "code": "\tif value is None:\n\t\treturn \u0027hidden\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027purple\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[3].fill": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027purple\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "expression": "{view.params.inputPower}" + }, + "overlayOptOut": true, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[5].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill": { + "binding": { + "config": { + "expression": "{view.params.textColor}" + }, + "type": "expr" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[1].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M12.375,18c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M16.035,18c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "11.25", + "cy": "27", + "fill": {}, + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M11.25,25.875c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "11.25", + "cy": "18", + "fill": {}, + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "elements": [ + { + "id": "Line4", + "name": "Line4", + "transform": "matrix(4.16667,0,0,4.16667,29.5634,29.5687)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "18.907px", + "y": "29.569px" + }, + { + "id": "Line3", + "name": "Line3", + "transform": "matrix(4.16667,0,0,4.16667,28.5503,25.8853)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "19.055px", + "y": "25.885px" + }, + { + "id": "Line2", + "name": "Line2", + "transform": "matrix(4.16667,0,0,4.16667,31.1585,22.4233)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "19.192px", + "y": "22.423px" + }, + { + "id": "Line1", + "name": "Line1", + "transform": "matrix(4.16667,0,0,4.16667,31.4677,18.3302)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "19.192px", + "y": "18.33px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "30", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "22.5", + "x": "0", + "y": "7.5" + }, + { + "d": "M22.5,7.5l0,30l-22.5,-0l0,-30l22.5,-0Zm-0.75,0.75l-21,0l-0,28.5l21,-0l0,-28.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M22.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M21.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M27.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "22.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M20.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M23.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 33 39" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 48, + "x": 16.4, + "y": 11.4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.DeviceName" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "OpenClose" + }, + "position": { + "height": 9, + "width": 23, + "x": 24.4, + "y": 40.4 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "struct": { + "CB": "{../SWBD_CB.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027purple\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.text": { + "binding": { + "config": { + "path": "../SWBD_CB.custom.BreakerClosed" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "Open", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Closed" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "struct": { + "CB": "{../SWBD_CB.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027white\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027white\u0027\n\telse: \n\t\treturn self.view.params.textColor", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignVertical": "top", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\n\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4a3fcc1c7b4b17cdd5154666db2861f53ee6c1f2ad617d6dcc43368e48f6cf1a b/Gateways/FE/projects/.resources/4a3fcc1c7b4b17cdd5154666db2861f53ee6c1f2ad617d6dcc43368e48f6cf1a new file mode 100644 index 0000000..ad1a55a Binary files /dev/null and b/Gateways/FE/projects/.resources/4a3fcc1c7b4b17cdd5154666db2861f53ee6c1f2ad617d6dcc43368e48f6cf1a differ diff --git a/Gateways/FE/projects/.resources/4ae5d3f8e4a38ce05d402f71be66f812e76773bdf328cfb91740d357144453dd b/Gateways/FE/projects/.resources/4ae5d3f8e4a38ce05d402f71be66f812e76773bdf328cfb91740d357144453dd new file mode 100644 index 0000000..6f3965d --- /dev/null +++ b/Gateways/FE/projects/.resources/4ae5d3f8e4a38ce05d402f71be66f812e76773bdf328cfb91740d357144453dd @@ -0,0 +1,320 @@ +{ + "custom": { + "endDate": "2025-7-8 23:59:59", + "location": null, + "startDate": "2025-7-7 00:00:00" + }, + "params": { + "endDate": "2025-7-8 23:59:59", + "location": null, + "startDate": "2025-7-7 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "30px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + }, + { + "label": "daily", + "value": 1440 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 60 + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Import" + }, + "position": { + "basis": "34px", + "display": false + }, + "props": { + "enabled": false, + "text": "Import" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\tsystem.perspective.download(\"Billing Data.xls\", xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "DH1" + }, + "position": { + "basis": "150px" + }, + "props": { + "selected": true, + "text": "Datahall 1" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH2" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 2" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH3" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 3" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH4" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 4" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH5" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 5" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "AreaFilter" + }, + "position": { + "basis": "400px" + }, + "propConfig": { + "custom.areaSelection": { + "binding": { + "config": { + "struct": { + "areas": [ + "if({./DH1.props.selected}, \"DH1\", \"\")", + "if({./DH2.props.selected}, \"DH2\", \"\")", + "if({./DH3.props.selected}, \"DH3\", \"\")", + "if({./DH4.props.selected}, \"DH4\", \"\")", + "if({./DH5.props.selected}, \"DH5\", \"\")" + ] + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn [v for v in value[\"areas\"] if len(v.value) \u003e 0]\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "props": { + "style": { + "gap": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.CoolingData": { + "binding": { + "config": { + "struct": { + "endDate": "{view.params.endDate}", + "interval": "{../CalculatedFields/Actions/Dropdown.props.value}", + "locations": "{view.params.location}", + "startDate": "{view.params.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\t\t\n\treturn reports.MBR.cooling.DoChillerDemand(value[\"startDate\"], value[\"endDate\"],\n\t\t\t\tvalue[\"interval\"], value[\"locations\"]) ", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.CoolingData.histDS" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4b17c3ede0bfd1525923ce1a0801f4afe077e18056525affc30dc915d661d806 b/Gateways/FE/projects/.resources/4b17c3ede0bfd1525923ce1a0801f4afe077e18056525affc30dc915d661d806 new file mode 100644 index 0000000..e6e3872 --- /dev/null +++ b/Gateways/FE/projects/.resources/4b17c3ede0bfd1525923ce1a0801f4afe077e18056525affc30dc915d661d806 @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M6200,191.897c0,2.3 1.867,4.167 4.167,4.167c2.299,-0 4.166,-1.867 4.166,-4.167c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal30", + "name": "Terminal30", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6204.17,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6197.92,149.892c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In15", + "name": "In15", + "type": "path" + }, + { + "d": "M6204.17,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6208.33,247.063c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.299,0 4.166,-1.867 4.166,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal31", + "name": "Terminal31", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6204.17,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6211.91,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed15", + "name": "Closed15", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6230.91,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open15", + "name": "Open15", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB16", + "name": "CB16", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 2291, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2242,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2242,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2242,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2242,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4b4f1e172fac61142524915f9831ddedcc6d3a7377cc3ba4418058b58d8d1676 b/Gateways/FE/projects/.resources/4b4f1e172fac61142524915f9831ddedcc6d3a7377cc3ba4418058b58d8d1676 new file mode 100644 index 0000000..d2b21dc --- /dev/null +++ b/Gateways/FE/projects/.resources/4b4f1e172fac61142524915f9831ddedcc6d3a7377cc3ba4418058b58d8d1676 @@ -0,0 +1,17 @@ +def getUPSPaths(location=None): + return reports.MBR.criticalpower.getPowerPaths(location) + +def getPowerHist(startDate,endDate, location=None): + tagpaths = getUPSPaths(location) + + hist = reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={}) + return reports.MBR.common.util.generateSumCol(hist, sumColName="CalculatedUPSTotalkW") + + +def processData(startDate,endDate, interval, location=None): + histDS = getPowerHist(startDate,endDate, location) + return reports.MBR.common.util.averageIntervalData(histDS, interval) + +def beginReport(startDate,endDate, intervalMins, location=None): + return processData(startDate,endDate, intervalMins, location) + diff --git a/Gateways/FE/projects/.resources/4b77dcdccbcba180467f920001e4438ba8d74eb17398c59136cd0cdc0e2eb68e b/Gateways/FE/projects/.resources/4b77dcdccbcba180467f920001e4438ba8d74eb17398c59136cd0cdc0e2eb68e new file mode 100644 index 0000000..db7a5ef Binary files /dev/null and b/Gateways/FE/projects/.resources/4b77dcdccbcba180467f920001e4438ba8d74eb17398c59136cd0cdc0e2eb68e differ diff --git a/Gateways/FE/projects/.resources/4b91d2eac18d4b7b64718223f30bc8ff2617369f0c69968f94bacb486b8c54dc b/Gateways/FE/projects/.resources/4b91d2eac18d4b7b64718223f30bc8ff2617369f0c69968f94bacb486b8c54dc new file mode 100644 index 0000000..4ed3ab6 Binary files /dev/null and b/Gateways/FE/projects/.resources/4b91d2eac18d4b7b64718223f30bc8ff2617369f0c69968f94bacb486b8c54dc differ diff --git a/Gateways/FE/projects/.resources/4bc42ffa1453714bc569e1ba4b8a122bcc926a0e0be305f0b119a476f9ee3692 b/Gateways/FE/projects/.resources/4bc42ffa1453714bc569e1ba4b8a122bcc926a0e0be305f0b119a476f9ee3692 new file mode 100644 index 0000000..1389b28 --- /dev/null +++ b/Gateways/FE/projects/.resources/4bc42ffa1453714bc569e1ba4b8a122bcc926a0e0be305f0b119a476f9ee3692 @@ -0,0 +1,22 @@ +from com.inductiveautomation.ignition.common.alarming.config.CommonAlarmProperties import EventTime +priorityBGColors = {"Diagnostic":"#FFFFFF", "Low":"#7266B7", "Medium":"#F4B834", "High":"#DE7C33", "Critical":"#E22028"} +priorityTextColors = {"Diagnostic":"#222222", "Low":"#FAFAFB", "Medium":"#FAFAFB", "High":"#FAFAFB", "Critical":"#FAFAFB"} + +def getTop3Alarms(): +# import time +# start= time.time() + res= [] + + activeAlarms = system.alarm.queryStatus([], ["ActiveUnacked"], ["*"], [], []) + sortedAlarms = system.dataset.toPyDataSet(system.dataset.sort(activeAlarms.getDataset(),3,False)) + + formatAlarms = [{'eventid':str(alm.EventId), "label":alm.get('label'), "dispPath":alm.getDisplayPathOrSource(), "eventtime":alm.getActiveData().get(EventTime), "priority":str(alm.getPriority())} for alm in activeAlarms] + top3EventIDs = [alm["EventId"] for alm in sortedAlarms[:3]] + for eid in top3EventIDs: + for alm in formatAlarms: + if alm["eventid"] == eid: + res.append({"value":{"dispPath":alm["dispPath"],"label":alm["label"]}, "style":{"backgroundColor":priorityBGColors[alm["priority"]], + "color":priorityTextColors[alm["priority"]]}}) + break +# system.perspective.print("alarm update duration %s"%(time.time()- start)) + return res \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4bce5a0404ab0156697abf79fdc1e863ba48c15c7594d96206cecc2d34cf1c66 b/Gateways/FE/projects/.resources/4bce5a0404ab0156697abf79fdc1e863ba48c15c7594d96206cecc2d34cf1c66 new file mode 100644 index 0000000..dcad027 --- /dev/null +++ b/Gateways/FE/projects/.resources/4bce5a0404ab0156697abf79fdc1e863ba48c15c7594d96206cecc2d34cf1c66 @@ -0,0 +1,428 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES02_MOV51" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4c48abc5dfd47d444d3b6f4cdd1f89e0983277cee3e8d672522317afd21f03da b/Gateways/FE/projects/.resources/4c48abc5dfd47d444d3b6f4cdd1f89e0983277cee3e8d672522317afd21f03da new file mode 100644 index 0000000..1c3174d Binary files /dev/null and b/Gateways/FE/projects/.resources/4c48abc5dfd47d444d3b6f4cdd1f89e0983277cee3e8d672522317afd21f03da differ diff --git a/Gateways/FE/projects/.resources/4c60ee7289a5ce3d34dd272e91be23812c9ac64fb38cdb76204de3063fb34154 b/Gateways/FE/projects/.resources/4c60ee7289a5ce3d34dd272e91be23812c9ac64fb38cdb76204de3063fb34154 new file mode 100644 index 0000000..c092f35 Binary files /dev/null and b/Gateways/FE/projects/.resources/4c60ee7289a5ce3d34dd272e91be23812c9ac64fb38cdb76204de3063fb34154 differ diff --git a/Gateways/FE/projects/.resources/4c93957a476a9f2bb85d2911722790b7b1bb6a83a3ffaa6f2d1968e345a61cbc b/Gateways/FE/projects/.resources/4c93957a476a9f2bb85d2911722790b7b1bb6a83a3ffaa6f2d1968e345a61cbc new file mode 100644 index 0000000..e97a1ff --- /dev/null +++ b/Gateways/FE/projects/.resources/4c93957a476a9f2bb85d2911722790b7b1bb6a83a3ffaa6f2d1968e345a61cbc @@ -0,0 +1,313 @@ +{ + "custom": { + "endDate": "2025-4-17 23:59:59", + "location": null, + "startDate": "2025-4-17 00:00:00" + }, + "params": { + "endDate": "2025-4-17 23:59:59", + "location": null, + "startDate": "2025-4-17 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px", + "display": false + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.calculated.ResultData" + }, + "transforms": [ + { + "code": "\treturn \"Daily Avgs: \" + str([round(v[1],2) for v in value])", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Min Avg: \", round({parent.custom.calculated.MinAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Max Avg: \", round({parent.custom.calculated.MaxAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "TotalLoad" + }, + "position": { + "basis": "200px", + "display": false + }, + "propConfig": { + "custom.calculated": { + "binding": { + "config": { + "path": ".../Table.custom.PUEData.TotalLoad" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "CriticalLoad" + }, + "position": { + "basis": "200px", + "display": false + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "30px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 15 + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Import" + }, + "position": { + "basis": "34px", + "display": false + }, + "props": { + "enabled": false, + "text": "Import" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\tsystem.perspective.download(\"PUE Table.xls\", xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.BillingData": { + "binding": { + "config": { + "struct": { + "endDate": "toDate({view.custom.endDate})", + "intervalMin": "{../CalculatedFields/Actions/Dropdown.props.value}", + "location": "{view.custom.location}", + "startDate": "toDate({view.custom.startDate})" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\tlocation\u003d value[\"location\"]\n\tintervalMin \u003d value[\"intervalMin\"]\n\treturn reports.MBR.utility.doReport(startDate, endDate, intervalMin)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.BillingData.RawData" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4ca34c2fc44470d0b098fc309158cd3d57732268ae2e195a767dd13245df1827 b/Gateways/FE/projects/.resources/4ca34c2fc44470d0b098fc309158cd3d57732268ae2e195a767dd13245df1827 new file mode 100644 index 0000000..2f8a260 Binary files /dev/null and b/Gateways/FE/projects/.resources/4ca34c2fc44470d0b098fc309158cd3d57732268ae2e195a767dd13245df1827 differ diff --git a/Gateways/FE/projects/.resources/4ce2fc096e9e157728152b45b69615fcf7f3b573eb04466ea91a90a13f4be413 b/Gateways/FE/projects/.resources/4ce2fc096e9e157728152b45b69615fcf7f3b573eb04466ea91a90a13f4be413 new file mode 100644 index 0000000..d55f748 --- /dev/null +++ b/Gateways/FE/projects/.resources/4ce2fc096e9e157728152b45b69615fcf7f3b573eb04466ea91a90a13f4be413 @@ -0,0 +1,416 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": true + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 107, + "width": 72 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FE-DS" + }, + "position": { + "height": 107, + "width": 72 + }, + "propConfig": { + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "cx": "18.75", + "cy": "31.706", + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,30.581c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M18.718,42.764l1.717,-12.634", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M18.75,42.764l5.263,-11.613", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "id": "Text", + "name": "Text", + "transform": "matrix(4.16667,0,0,4.16667,16.6188,37.3892)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ST", + "type": "text", + "x": "11.295px", + "y": "37.389px" + } + ], + "id": "SW", + "name": "SW", + "type": "group" + }, + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "37.5", + "x": "0", + "y": "12.764" + }, + { + "d": "M0,16.782l0,-4.018l4.464,-0l0,0.75l-3.714,-0l-0,3.268l-0.75,-0Zm10.714,-4.018l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm12.5,-0l0,0.75l-8.928,-0l-0,-0.75l8.928,-0Zm6.25,-0l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm8.036,4.018l-0.75,-0l0,-3.268l-3.714,-0l-0,-0.75l4.464,-0l-0,4.018Zm-0,5.625l-0.75,-0l0,-2.411l0.75,-0l-0,2.411Zm-0,11.25l-0.75,-0l0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l0,-2.411l0.75,-0l-0,2.411Zm-0,11.25l-0.75,-0l0,-8.036l0.75,-0l-0,8.036Zm-0,5.625l-0.75,-0l0,-2.411l0.75,-0l-0,2.411Zm-0,11.25l-0.75,-0l0,-8.036l0.75,-0l-0,8.036Zm-0,5.625l-0.75,-0l0,-2.411l0.75,-0l-0,2.411Zm-4.464,7.232l-0,-0.75l3.714,-0l0,-3.268l0.75,-0l-0,4.018l-4.464,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-12.5,-0l-0,-0.75l8.928,-0l0,0.75l-8.928,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-8.036,-4.018l0.75,-0l-0,3.268l3.714,-0l0,0.75l-4.464,-0l-0,-4.018Zm-0,-5.625l0.75,-0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,-0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,-0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,-0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,-0l-0,2.411l-0.75,-0l-0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,40.8344,3.03345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "FE-1 DISC", + "type": "text", + "x": "20.693px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,53.5338,6.78345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "FUSIBLE SHUNT", + "type": "text", + "x": "20.658px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.09017,0,0,4.09017,42.1918,10.4778)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.09px" + }, + "text": "TRIP DISC.", + "type": "text", + "x": "20.904px", + "y": "10.478px" + } + ], + "id": "TagID", + "name": "TagID", + "type": "group" + }, + { + "elements": [ + { + "d": "M18.718,57.663l-0,-14.899", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "6.469", + "name": "rect", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "rect", + "width": "3.889", + "x": "16.773", + "y": "57.663" + }, + { + "fill": { + "opacity": "0" + }, + "height": "3.544", + "name": "rect", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "rect", + "width": "3.889", + "x": "16.773", + "y": "59.143" + } + ], + "id": "Fuse", + "name": "Fuse", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 54 81" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4cec227aacd533d1e9ba0b905eddebb8581682aa067fa4f69d47772ec8bc5168 b/Gateways/FE/projects/.resources/4cec227aacd533d1e9ba0b905eddebb8581682aa067fa4f69d47772ec8bc5168 new file mode 100644 index 0000000..3b9f378 Binary files /dev/null and b/Gateways/FE/projects/.resources/4cec227aacd533d1e9ba0b905eddebb8581682aa067fa4f69d47772ec8bc5168 differ diff --git a/Gateways/FE/projects/.resources/4cf0089751b3d20241e1e0798031abf3ddc4ee19485200882b485b8262ae6090 b/Gateways/FE/projects/.resources/4cf0089751b3d20241e1e0798031abf3ddc4ee19485200882b485b8262ae6090 new file mode 100644 index 0000000..486d37f Binary files /dev/null and b/Gateways/FE/projects/.resources/4cf0089751b3d20241e1e0798031abf3ddc4ee19485200882b485b8262ae6090 differ diff --git a/Gateways/FE/projects/.resources/4d3c678813b4c15ff968810af4d165dcbea79cdbab160a34851e3867d078fc44 b/Gateways/FE/projects/.resources/4d3c678813b4c15ff968810af4d165dcbea79cdbab160a34851e3867d078fc44 new file mode 100644 index 0000000..0f7b1bd Binary files /dev/null and b/Gateways/FE/projects/.resources/4d3c678813b4c15ff968810af4d165dcbea79cdbab160a34851e3867d078fc44 differ diff --git a/Gateways/FE/projects/.resources/4d6ae4d0ca91ae29d02e59d8ddabf7538e3d893e981272de8a29a267e9c335f5 b/Gateways/FE/projects/.resources/4d6ae4d0ca91ae29d02e59d8ddabf7538e3d893e981272de8a29a267e9c335f5 new file mode 100644 index 0000000..752deb7 Binary files /dev/null and b/Gateways/FE/projects/.resources/4d6ae4d0ca91ae29d02e59d8ddabf7538e3d893e981272de8a29a267e9c335f5 differ diff --git a/Gateways/FE/projects/.resources/4d92e61b869fd09fca39f9b62fad3d7bea2a7e8f153364826c6ef59535b51bd8 b/Gateways/FE/projects/.resources/4d92e61b869fd09fca39f9b62fad3d7bea2a7e8f153364826c6ef59535b51bd8 new file mode 100644 index 0000000..ab3252a --- /dev/null +++ b/Gateways/FE/projects/.resources/4d92e61b869fd09fca39f9b62fad3d7bea2a7e8f153364826c6ef59535b51bd8 @@ -0,0 +1,128 @@ +from com.inductiveautomation.ignition.common import BasicDataset +from com.inductiveautomation.ignition.common.script.builtin.DatasetUtilities import PyDataSet +from java.util import Date +def sanitize_tree(element): + if hasattr(element, '__iter__'): + if hasattr(element, 'keys'): + return dict((k, sanitize_tree(element[k])) for k in element.keys()) + else: + return list(sanitize_tree(x) for x in element) + return element +def getColumnStruct(): + return { + "field": "", + "visible": True, + "editable": False, + "render": "auto", + "justify": "auto", + "align": "center", + "resizable": True, + "sortable": True, + "sort": "none", + "filter": { + "enabled": False, + "visible": "on-hover", + "string": { + "condition": "", + "value": "" + }, + "number": { + "condition": "", + "value": "" + }, + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + } + }, + "viewPath": "", + "viewParams": {}, + "boolean": "checkbox", + "number": "value", + "progressBar": { + "max": 100, + "min": 0, + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": True, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "nullFormat": { + "includeNullStrings": False, + "strict": False, + "nullFormatValue": "" + }, + "numberFormat": "0,0.##", + "dateFormat": "MMM-DD HH:mm", + "width": "", + "strictWidth": False, + "header": { + "title": "", + "justify": "left", + "align": "center", + "style": { + "classes": "" + } + }, + "footer": { + "title": "", + "justify": "left", + "align": "center", + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + } +def xformTableColumns(dataIn): + + if isinstance(dataIn, PyDataSet): + data = dataIn + elif isinstance(dataIn, BasicDataset): + data = system.dataset.toPyDataSet(dataIn) + elif isinstance(dataIn, dict): + pass + + colHeaders = system.dataset.getColumnHeaders(data) + columns = [] + if len(data)> 0: + for col in colHeaders: + struct= utils.helper.getColumnStruct() + struct["field"] = col + if isinstance(data[0][col], Date): + struct["render"] = "date" + columns.append(struct) + else: + for col in colHeaders: + struct= utils.helper.getColumnStruct() + struct["field"] = col + columns.append(struct) + + return columns \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4dbb7140c6ce306ddccdae27b3f009e14d2357646d2ccd7de2ff4e86876bee5a b/Gateways/FE/projects/.resources/4dbb7140c6ce306ddccdae27b3f009e14d2357646d2ccd7de2ff4e86876bee5a new file mode 100644 index 0000000..5f48c54 --- /dev/null +++ b/Gateways/FE/projects/.resources/4dbb7140c6ce306ddccdae27b3f009e14d2357646d2ccd7de2ff4e86876bee5a @@ -0,0 +1,127 @@ +{ + "custom": { + "allTags": null, + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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 + }, + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\t\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4dd3c7b9f7c5a60e61334db5dac864347d95baaec1f52525687f7f50fc356ee2 b/Gateways/FE/projects/.resources/4dd3c7b9f7c5a60e61334db5dac864347d95baaec1f52525687f7f50fc356ee2 new file mode 100644 index 0000000..34e1c3b Binary files /dev/null and b/Gateways/FE/projects/.resources/4dd3c7b9f7c5a60e61334db5dac864347d95baaec1f52525687f7f50fc356ee2 differ diff --git a/Gateways/FE/projects/.resources/4dd503e05a2af593065134536a65038f0f3a4ec48cac897d9aacf3ab476ba7a3 b/Gateways/FE/projects/.resources/4dd503e05a2af593065134536a65038f0f3a4ec48cac897d9aacf3ab476ba7a3 new file mode 100644 index 0000000..4b6ed29 --- /dev/null +++ b/Gateways/FE/projects/.resources/4dd503e05a2af593065134536a65038f0f3a4ec48cac897d9aacf3ab476ba7a3 @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "LV SWBD", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4ddf93b2e844b12c12420b32e1824ab47b179bfc76380a1a6618eeb001c5a73c b/Gateways/FE/projects/.resources/4ddf93b2e844b12c12420b32e1824ab47b179bfc76380a1a6618eeb001c5a73c new file mode 100644 index 0000000..7ebf9eb --- /dev/null +++ b/Gateways/FE/projects/.resources/4ddf93b2e844b12c12420b32e1824ab47b179bfc76380a1a6618eeb001c5a73c @@ -0,0 +1,175 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Hi Limit RAH Alarm" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Lo Limit RAH Alarm" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature Low Setpoint" + } + ], + "auth": true + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_M5_6_MPR1150_CRAH_01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "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 + }, + "custom.auth": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.instances[0].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[1].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4e1b8755a455276fdb4ff5591affc15e9f991a316e2c9cd475a70e834ab72e18 b/Gateways/FE/projects/.resources/4e1b8755a455276fdb4ff5591affc15e9f991a316e2c9cd475a70e834ab72e18 new file mode 100644 index 0000000..9d04830 --- /dev/null +++ b/Gateways/FE/projects/.resources/4e1b8755a455276fdb4ff5591affc15e9f991a316e2c9cd475a70e834ab72e18 @@ -0,0 +1,133 @@ +def trace_power_flow(): + """ + Traces power flow through a series of connected transformers (UTs). + - Reads the state of all switches. + - Determines which components are energized and from which source. + - Writes the results back to memory tags. + """ + + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + # [Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1 + ut_names = ["UT-P5-1", "UT-P5-2", "UT-P5-3", "UT-P5-4", "UT-P5-5"] + providers = [ "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_"] + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/DS3A_W3', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/DS3B_W3'] + idx = 0 + for name in ut_names: + # Assuming your UDT instances are in a folder named 'UTs' + base_path = providers[idx] + name + tag_paths_to_read.append("{}/Source 1 Switch".format(base_path)) + tag_paths_to_read.append("{}/Source 2 Switch".format(base_path)) + idx+=1 + + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['DS-3A_Live'] = tag_values[0].value + values['DS-3B_Live'] = tag_values[1].value + + read_idx = 2 + for name in ut_names: + values[name] = { + 'Switch_L_Status': tag_values[read_idx].value, + 'Switch_R_Status': tag_values[read_idx + 1].value} + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['DS-3A_Live']: + q.append( ("UT-P5-1", "DS-1A3") ) + if values['DS-3B_Live']: + q.append( ("UT-P5-5", "DS-1B3") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ut_name, source = q.pop(0) + + if current_ut_name in visited: + continue + + visited.add(current_ut_name) + energized_state[current_ut_name] = source + current_ut_index = ut_names.index(current_ut_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ut_names) - 1: + neighbor_name = ut_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ut_name]['Switch_R_Status']['Value'] and values[neighbor_name]['Switch_L_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ut_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ut_name]['Switch_L_Status']['Value'] and values[neighbor_name]['Switch_R_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source)) + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + idx = 0 + for name in ut_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + tag_paths_to_write.append(providers[idx] + name + "/Data/isEnergized") + values_to_write.append(is_energized) + tag_paths_to_write.append(providers[idx] + name + "/Data/PowerSource") + values_to_write.append(power_source) + idx += 1 + + line_tags_base_path = "[Ignition_Common_IO_Gtwy]Cables/UT/" + #print energized_state + # Loop through each connection between UTs + for i in range(len(ut_names) - 1): + ut1_name = ut_names[i] + ut2_name = ut_names[i+1] + line_energized = (ut1_name in energized_state and + ut2_name in energized_state and + #energized_state[ut1_name] == energized_state[ut2_name] and + values[ut1_name]['Switch_R_Status']['Value'] and + values[ut2_name]['Switch_L_Status']['Value']) + #print ut1_name + " : " + str(ut1_name in energized_state) +" & "+str(values[ut1_name]['Switch_R_Status']['Value']) + #print energized_state[ut1_name] + " = " + energized_state[ut2_name] + #print ut2_name + " : " + str(ut2_name in energized_state) +" & "+str(values[ut1_name]['Switch_L_Status']['Value']) + line_tag_name = "Line_{}_to_{}".format(ut1_name, ut2_name) + # Construct the full tag path directly to the boolean tag + full_tag_path = line_tags_base_path + line_tag_name + # Add the path and the calculated value to our list for writing + tag_paths_to_write.append(full_tag_path) + values_to_write.append(line_energized) + #print full_tag_path + " : " + str(line_energized) + + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4e32bda14de43c4229b1818c6634202459271cd1b10a65677ea0d836241b71fd b/Gateways/FE/projects/.resources/4e32bda14de43c4229b1818c6634202459271cd1b10a65677ea0d836241b71fd new file mode 100644 index 0000000..7d05c98 --- /dev/null +++ b/Gateways/FE/projects/.resources/4e32bda14de43c4229b1818c6634202459271cd1b10a65677ea0d836241b71fd @@ -0,0 +1,374 @@ +{ + "custom": { + "AlarmSeverity": -1, + "Faulted": false, + "Mode": 1, + "Running": false + }, + "params": { + "Layout": false, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Faulted": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 2 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "type": "tag" + }, + "persistent": true + }, + "params.Layout": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 45, + "width": 61 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 50, + "width": 41.02, + "y": -5 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "bottom" + }, + { + "input": true, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "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": "CHW Pump VFD" + }, + "position": { + "height": 34.63, + "rotate": { + "angle": "270deg" + }, + "width": 24, + "x": 8.95, + "y": 2.46 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "expression": "if({view.custom.Faulted},\"var(--state-faulted)\", if({view.custom.Running},\"var(--state-running)\",\"var(--state-standby)\"))" + }, + "type": "expr" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "white", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003e0, \"solid\", \"none\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "cx": "11.625", + "cy": "11.625", + "fill": {}, + "name": "circle", + "r": "11.25", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M11.625,22.875l9.75,-16.5l-19.5,0l9.75,16.5Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Pump", + "name": "Pump", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": "2" + }, + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "ModeBadge" + }, + "position": { + "height": 16, + "width": 20, + "x": 35.96, + "y": 11.92 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "path": "view.custom.Mode" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/CommonObjects/ModeBadgeSmall", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 15.87, + "width": 16.66, + "x": 32.41, + "y": -1.68 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4e38e7878d3ac78c13d5318d910cb20df259846132465e732d82e8df60368660 b/Gateways/FE/projects/.resources/4e38e7878d3ac78c13d5318d910cb20df259846132465e732d82e8df60368660 new file mode 100644 index 0000000..49015ad --- /dev/null +++ b/Gateways/FE/projects/.resources/4e38e7878d3ac78c13d5318d910cb20df259846132465e732d82e8df60368660 @@ -0,0 +1 @@ +def doPost(request, session): diff --git a/Gateways/FE/projects/.resources/4e4d6a45c81ce43c7f43e56dd0f338132350e8b30a73e810aaff2d0516b06bdf b/Gateways/FE/projects/.resources/4e4d6a45c81ce43c7f43e56dd0f338132350e8b30a73e810aaff2d0516b06bdf new file mode 100644 index 0000000..3d4d477 --- /dev/null +++ b/Gateways/FE/projects/.resources/4e4d6a45c81ce43c7f43e56dd0f338132350e8b30a73e810aaff2d0516b06bdf @@ -0,0 +1,4494 @@ +{ + "custom": { + "ColorHandler": { + "Walls": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "GAL1261": "#BAEDFF", + "GAL1262": "#BAEDFF", + "GAL1271": "#BAEDFF", + "GAL1272": "#BAEDFF", + "GAL1281": "#BAEDFF", + "GAL1282": "#BAEDFF" + }, + "rooms": [ + "GAL1261", + "GAL1262", + "GAL1271", + "GAL1272", + "GAL1281", + "GAL1282" + ], + "selected": "room" + }, + "params": {}, + "propConfig": { + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.rooms}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\toutput[room] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Second Floor" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1271" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1272" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1261" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1262" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1281" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1282" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[128].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[129].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[130].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[131].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[132].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[133].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[134].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[135].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[136].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[137].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[138].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[139].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[140].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[141].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[142].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[143].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[144].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "51.095", + "id": "_1284-ELEC", + "name": "_1284-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.57" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "159", + "id": "_1285-FIRE---PLBG", + "name": "_1285-FIRE---PLBG", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "459" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.959", + "id": "_1286-STREAM-IDF", + "name": "_1286-STREAM-IDF", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "48.401", + "id": "_1287-ELEC", + "name": "_1287-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "715.959" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "413.89", + "id": "_1288-ANCILLARY-SPACE", + "name": "_1288-ANCILLARY-SPACE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "764.36" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "74.162", + "id": "_1290-STAIRS-C", + "name": "_1290-STAIRS-C", + "type": "rect", + "width": "203.609", + "x": "1515.79", + "y": "1178.24" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.034", + "id": "_1298-STAIRS-B", + "name": "_1298-STAIRS-B", + "type": "rect", + "width": "203.488", + "x": "3802.63", + "y": "1178.22" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "204.973", + "id": "_1283-STAIRS-D", + "name": "_1283-STAIRS-D", + "type": "rect", + "width": "85", + "x": "3.128", + "y": "359.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-2-CORRIDOR-D-2", + "name": "_1293-2-CORRIDOR-D-2", + "type": "rect", + "width": "1565.25", + "x": "88.378", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297-2-CORRIDOR-H-2", + "name": "_1297-2-CORRIDOR-H-2", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-CORRIDOR-D-1", + "name": "_1293-CORRIDOR-D-1", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.652", + "id": "_1297-1-CORRIDOR-H-1", + "name": "_1297-1-CORRIDOR-H-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "1134.59" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-1-CORRIDOR-C-1", + "name": "_1293-1-CORRIDOR-C-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "170.5" + }, + { + "d": "M2894.63,1135l165.5,0l0,-119.139l-89.5,0.035l2.66,-626.222l86.84,-0.439l0,-46.294l-84.5,0.05l0.136,-107.491l-81.136,-0l0,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1294-CORRIDOR-E", + "name": "_1294-CORRIDOR-E", + "type": "path" + }, + { + "d": "M183.628,1135l63.25,0l0,-792.225l-84.75,0l0,-107.275l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1296-CORRIDOR-G", + "name": "_1296-CORRIDOR-G", + "type": "path" + }, + { + "d": "M4372.13,641.334l0,94.166l105.352,0l-0,-27.647l107.148,-0l0,-66.519l-99.279,0.357l0.16,-34.158l-74.688,-0.533l-0,34.334l-38.693,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1290-CORRIDOR-A", + "name": "_1290-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.084", + "id": "_1291-CORRIDOR-B", + "name": "_1291-CORRIDOR-B", + "type": "rect", + "width": "64.5", + "x": "4307.63", + "y": "235.5" + }, + { + "d": "M1488.64,1135l164.992,0l0,-120.965l-89.5,0l0,-626.5l89.5,0l0,-44.535l-84.25,-0.059l-0.189,-107.441l-80.561,-0l0.008,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1295-CORRIDOR-F", + "name": "_1295-CORRIDOR-F", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297--1-CORRIDOR-H-1", + "name": "_1297--1-CORRIDOR-H-1", + "type": "rect", + "width": "1469.5", + "x": "184.128", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1223-STAIRS-A", + "name": "_1223-STAIRS-A", + "type": "rect", + "width": "58.258", + "x": "4477.13", + "y": "707.853" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "50", + "x": "4373.13", + "y": "735.5" + } + ], + "id": "Corridors-and-Stairs", + "name": "Corridors-and-Stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.24", + "id": "_1274-STREAM-IDF", + "name": "_1274-STREAM-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "948.76" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "561.225", + "id": "_1273-TENANT-IDF", + "name": "_1273-TENANT-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "387.535" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1271-GALLERY", + "name": "_1271-GALLERY", + "type": "rect", + "width": "1325.56", + "x": "1569.06", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1272-GALLERY", + "name": "_1272-GALLERY", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.245", + "id": "_1270-DATA-HALL-2", + "name": "_1270-DATA-HALL-2", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "342.941" + } + ], + "id": "DH2", + "name": "DH2", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "66.58", + "id": "_1264-STREAM-IDF", + "name": "_1264-STREAM-IDF", + "type": "rect", + "width": "88.5", + "x": "2971.13", + "y": "389.603" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "559.317", + "id": "_1263-TENANT-IDF", + "name": "_1263-TENANT-IDF", + "type": "rect", + "width": "89", + "x": "2971.13", + "y": "456.183" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1261-GALLERY", + "name": "_1261-GALLERY", + "type": "rect", + "width": "1331.87", + "x": "2975.76", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1262-GALLERY-", + "name": "_1262-GALLERY-", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1260-DATAHALL---1", + "name": "_1260-DATAHALL---1", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "342.775" + } + ], + "id": "DH1", + "name": "DH1", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1257-ER", + "name": "_1257-ER", + "type": "rect", + "width": "231.631", + "x": "329.128", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1258-ER", + "name": "_1258-ER", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1256-ER", + "name": "_1256-ER", + "type": "rect", + "width": "232.369", + "x": "560.759", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.5", + "id": "_1255-ER", + "name": "_1255-ER", + "type": "rect", + "width": "231.771", + "x": "793.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1254-ER", + "name": "_1254-ER", + "type": "rect", + "width": "233.733", + "x": "1024.9", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1253-MEP-ROOM", + "name": "_1253-MEP-ROOM", + "type": "rect", + "width": "237.71", + "x": "1258.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1252-ER", + "name": "_1252-ER", + "type": "rect", + "width": "238.786", + "x": "1496.34", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1251-ER", + "name": "_1251-ER", + "type": "rect", + "width": "232.058", + "x": "1735.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1250-ER", + "name": "_1250-ER", + "type": "rect", + "width": "232.442", + "x": "1967.19", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1249-ER", + "name": "_1249-ER", + "type": "rect", + "width": "232.5", + "x": "2199.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1248-ER", + "name": "_1248-ER", + "type": "rect", + "width": "231.642", + "x": "2432.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1247-ER", + "name": "_1247-ER", + "type": "rect", + "width": "239.226", + "x": "2663.77", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1246-ER", + "name": "_1246-ER", + "type": "rect", + "width": "238.331", + "x": "2903", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1245-ER", + "name": "_1245-ER", + "type": "rect", + "width": "232.897", + "x": "3141.33", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1244-ER", + "name": "_1244-ER", + "type": "rect", + "width": "231.5", + "x": "3374.22", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1243-ER", + "name": "_1243-ER", + "type": "rect", + "width": "231.5", + "x": "3606.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1242-ER", + "name": "_1242-ER", + "type": "rect", + "width": "231.5", + "x": "3838.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1241-MECH-POWER", + "name": "_1241-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4070.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1240-MECH-POWER", + "name": "_1240-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4301.63", + "y": "0.345" + } + ], + "id": "Elec-Mech-Rooms", + "name": "Elec-Mech-Rooms", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1218-STREAM-IDF", + "name": "_1218-STREAM-IDF", + "type": "rect", + "width": "90.036", + "x": "4372.13", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1179-Space", + "name": "_1179-Space", + "type": "rect", + "width": "61.464", + "x": "4462.16", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "116", + "id": "_1229-ELEC", + "name": "_1229-ELEC", + "type": "rect", + "width": "62", + "x": "4372.13", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1230-FREIGHT", + "name": "_1230-FREIGHT", + "type": "rect", + "width": "101", + "x": "4434.13", + "y": "815.754" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "91.008", + "id": "_132-PLBG-FP", + "name": "_132-PLBG-FP", + "type": "rect", + "width": "132", + "x": "4372.13", + "y": "1087.08" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "74.548", + "id": "_1292-VESTIBULE", + "name": "_1292-VESTIBULE", + "type": "rect", + "width": "217.056", + "x": "4419.07", + "y": "933" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1232-FREIGHT", + "name": "_1232-FREIGHT", + "type": "rect", + "width": "101", + "x": "4535.13", + "y": "816.127" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "_1225-PASS", + "name": "_1225-PASS", + "type": "rect", + "width": "54", + "x": "4423.13", + "y": "735.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1219-DAS", + "name": "_1219-DAS", + "type": "rect", + "width": "49.241", + "x": "4535.39", + "y": "707.853" + }, + { + "d": "M4372.43,468.5l-0.3,173.191l38.714,0.309l0.316,-35.019l37.175,-0l0,-138.481l-75.905,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1222-WRR", + "name": "_1222-WRR", + "type": "path" + }, + { + "d": "M4372.13,1087.5l0,-154.225l46.944,-0.275l0,74.548l85.056,0l0,79.952l-132,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1233-RECEIVING", + "name": "_1233-RECEIVING", + "type": "path" + }, + { + "d": "M4523.33,468.5l0.297,173.191l-38.252,0.309l0.132,-34.62l-37.176,-0.399l0,-138.481l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1221-MRR", + "name": "_1221-MRR", + "type": "path" + }, + { + "d": "M4372.13,170.944l161.521,-0.409l-0,-170.19l241.055,0l-0.026,417.527l33.233,0.171l-0,368.658l-33.257,-0.446l-0.026,393.745l-270.392,-1.913l0.071,-169.285l131.771,1.464l0,-192.326l-51.45,-3.725l0,-174.843l-60.43,-0.041l-1.014,-234.56l-151.056,-2.093l0,-231.734Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1200-TENANT-OFFICE-SHELL", + "name": "_1200-TENANT-OFFICE-SHELL", + "type": "path" + } + ], + "id": "Offices", + "name": "Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1281-GALLERY", + "name": "_1281-GALLERY", + "type": "rect", + "width": "1326.5", + "x": "162.128", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1282-GALLERY", + "name": "_1282-GALLERY", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1280-DATA-HALL-4", + "name": "_1280-DATA-HALL-4", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "342.775" + } + ], + "id": "DH4", + "name": "DH4", + "type": "group" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,368.223l-33.283,0l0,391.5l-787.5,0.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3967.13,1178.09l-2264.08,0.15", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1680.63,1178.24l-157,0.01", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4129.13,170.306l133,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,978.886l0,36.649l-88.5,0l0,-626.3l4.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3014.13,389.235l45.5,-0l0,100.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,527.535l0,413", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2971.13,456.183l88.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4317.63,170.306l-35.5,-0.021l20.397,0.021l-0,-169.961l-1399.13,0l0.04,170.19", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-41,0l20.835,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3586.39,170.5l40.213,-0l-20.874,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3565.92,170.5l-153.279,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3374.13,0.035l-0.25,170.465l19.081,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,90.184", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,24.301l0,-97.908", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,956.535l0,220.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.7,1130l-0,5l1247.92,0l0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1091.5l0,-32.5l0,4.798l-1247.92,-0l-0,-4.798l-0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2975.76,279.882l-0,-44.382l1331.86,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,319.166l0,23.775l-1331.67,0l-0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,1021.17l0,-559.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,423.535l0,-36l-89.5,0l0,575l0,-13.648l89.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1564.13,974.035l0,40l89.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1017.79l0,-633.291", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1020l0,-677.059", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M184.128,918.535l0,-159l0,5l-96,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4533.65,0.345l-0,170.19l-176.861,0l15.34,0l0,109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,298.432l0,109.5l0,-5.038l151.68,0l-0,238.345l-38.283,-0l0,-4.417l0,4.417l99.103,-0l0,4.785", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4584.63,667.425l0,149.11l51.45,0l0,136.168l0,-20.246l-8.65,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.08,972.948l0,34.587l-145.952,0l13.62,0l0,170.552", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1178.09l0,-22.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1117.98l0,-50.944l0,20.024l131.228,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1010.86l0,-37.914", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4433.13,1007.78l-14,0l0,-34.837", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.38,953.035l0.14,-25.363l0,5.363l71.412,0l-9.032,0l-0.439,-116.588l-11.395,-0.077l-0.116,-80.663l-19.82,0l36.569,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4381.72,735.785l-9.343,-0.25l0,172l0,-91.03l212.25,-0.24", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4476.97,817.035l0.655,-81.5l-10.409,0l10.409,0l0,-27.682l4.315,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4502.13,707.853l57.115,-0l-23.559,-0l0,225.182l-9.557,0l15.999,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.13,953.035l0,-20", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4410.88,637.035l-0,4.656l-38.448,0l0,-213.533", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,468.395l151.811,-0.471", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4461.67,468.395l-0.188,-64.361", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4448.33,467.924l-0.495,139.076l37.671,0.035l-0,9.778l-0,-9.778l-74.351,0l0,9.873", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Second-Floor-Walls", + "name": "Second-Floor-Walls", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMinYMin", + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4809 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1261", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 125, + "x": 264.19, + "y": 20 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1262", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 9, + "width": 117, + "x": 272, + "y": 94 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1271", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 12, + "width": 122, + "x": 140, + "y": 20 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1272", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 8, + "width": 115, + "x": 147, + "y": 94 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1281", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 11, + "width": 122, + "x": 14, + "y": 20 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1282", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 8, + "width": 115, + "x": 21, + "y": 94 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_02_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/4f4c22fba9538d8cc0c263230804848612b98f0fcc86eede82bb8f8fe76c4081 b/Gateways/FE/projects/.resources/4f4c22fba9538d8cc0c263230804848612b98f0fcc86eede82bb8f8fe76c4081 new file mode 100644 index 0000000..bc77e8c Binary files /dev/null and b/Gateways/FE/projects/.resources/4f4c22fba9538d8cc0c263230804848612b98f0fcc86eede82bb8f8fe76c4081 differ diff --git a/Gateways/FE/projects/.resources/4f6d72fcd6941cbe4fe5ac799b70200be3a99c53fae7afecdb8601fa42830639 b/Gateways/FE/projects/.resources/4f6d72fcd6941cbe4fe5ac799b70200be3a99c53fae7afecdb8601fa42830639 new file mode 100644 index 0000000..4bf8861 Binary files /dev/null and b/Gateways/FE/projects/.resources/4f6d72fcd6941cbe4fe5ac799b70200be3a99c53fae7afecdb8601fa42830639 differ diff --git a/Gateways/FE/projects/.resources/4f6fb022eaf77f11baf468caa2c487323548534ed7d7125ceb9db04b0a011ebb b/Gateways/FE/projects/.resources/4f6fb022eaf77f11baf468caa2c487323548534ed7d7125ceb9db04b0a011ebb new file mode 100644 index 0000000..a97b067 Binary files /dev/null and b/Gateways/FE/projects/.resources/4f6fb022eaf77f11baf468caa2c487323548534ed7d7125ceb9db04b0a011ebb differ diff --git a/Gateways/FE/projects/.resources/4f86768d1d92f379bb11fe65b69aa279ed783906f9ac9f50b0aa2a45865a56e9 b/Gateways/FE/projects/.resources/4f86768d1d92f379bb11fe65b69aa279ed783906f9ac9f50b0aa2a45865a56e9 new file mode 100644 index 0000000..4121e2f --- /dev/null +++ b/Gateways/FE/projects/.resources/4f86768d1d92f379bb11fe65b69aa279ed783906f9ac9f50b0aa2a45865a56e9 @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/PDU 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/50c001610a8643f8abe102f1049a6d748fe9d1cdcd1455091e35c2db177a1879 b/Gateways/FE/projects/.resources/50c001610a8643f8abe102f1049a6d748fe9d1cdcd1455091e35c2db177a1879 new file mode 100644 index 0000000..09f8020 --- /dev/null +++ b/Gateways/FE/projects/.resources/50c001610a8643f8abe102f1049a6d748fe9d1cdcd1455091e35c2db177a1879 @@ -0,0 +1,1330 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "GEN", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS1", + "textColor": "var(--olGray)" + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 95, + "width": 194 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 90, + "x": 133.99999999999997, + "y": 0.37036895751953247 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "ColorHandler": { + "Box": "value" + } + }, + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 193 + }, + "propConfig": { + "custom.ColorHandler.breaker_1": { + "binding": { + "config": { + "expression": "{this.custom.ColorHandler.generator}" + }, + "type": "expr" + } + }, + "custom.ColorHandler.breaker_2": { + "binding": { + "config": { + "expression": "{this.custom.ColorHandler.generator}" + }, + "type": "expr" + } + }, + "custom.ColorHandler.generator": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Run_Status" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \"purple\"\n\tif value:\n\t\treturn \u0027var(--olRed)\u0027\n\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_1" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_1" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_1" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_1" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[9].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_2" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_2" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[6].elements[2].visibility": { + "binding": { + "config": { + "expression": "\r\nif({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[6].elements[3].visibility": { + "binding": { + "config": { + "expression": "\r\nif({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[6].elements[4].visibility": { + "binding": { + "config": { + "expression": "\r\nif({parent.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[6].elements[5].visibility": { + "binding": { + "config": { + "expression": "\r\nif({parent.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[6].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[6].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "" + }, + "height": "56.25", + "id": "Box1", + "name": "Box1", + "type": "rect", + "width": "97.5", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.714l-0,-4.464l3.869,0l0,0.75c0,0 -3.119,0 -3.119,-0l-0,3.714l-0.75,0Zm9.286,-4.464l-0,0.75l-2.322,0l0,-0.75l2.322,0Zm10.833,0l0,0.75l-7.738,0l0,-0.75l7.738,0Zm5.417,0l-0,0.75l-2.322,0l0,-0.75l2.322,0Zm10.833,0l0,0.75l-7.738,0l-0,-0.75l7.738,0Zm5.417,0l-0,0.75l-2.322,0l0,-0.75l2.322,0Zm10.833,0l-0,0.75l-7.738,0l-0,-0.75l7.738,0Zm5.417,0l-0,0.75l-2.322,0l0,-0.75l2.322,0Zm10.833,0l-0,0.75l-7.738,0l-0,-0.75l7.738,0Zm5.417,0l-0,0.75l-2.322,0l0,-0.75l2.322,0Zm10.833,0l0,0.75l-7.738,0l-0,-0.75l7.738,0Zm5.417,0l-0,0.75l-2.322,0l0,-0.75l2.322,0Zm6.964,4.464l-0.75,0l0,-3.714l-3.119,0l-0,-0.75l3.869,0l-0,4.464Zm-0,6.25l-0.75,0l-0,-2.678l0.75,-0l-0,2.678Zm-0,12.5l-0.75,0l-0,-8.928l0.75,-0l-0,8.928Zm-0,6.25l-0.75,0l-0,-2.678l0.75,-0l-0,2.678Zm-0,12.5l-0.75,0l-0,-8.928l0.75,-0l-0,8.928Zm-0,6.25l-0.75,0l-0,-2.678l0.75,-0l-0,2.678Zm-3.869,8.036l-0,-0.75c-0,0 3.119,0 3.119,0l-0,-3.714l0.75,-0l-0,4.464l-3.869,0Zm-5.417,0l0,-0.75l2.322,0l-0,0.75l-2.322,0Zm-10.833,0l-0,-0.75l7.738,0l-0,0.75l-7.738,0Zm-5.417,0l0,-0.75l2.322,0l-0,0.75l-2.322,0Zm-10.833,0l-0,-0.75l7.738,0l0,0.75l-7.738,0Zm-5.417,0l0,-0.75l2.322,0l-0,0.75l-2.322,0Zm-10.833,0l0,-0.75l7.738,0l0,0.75l-7.738,0Zm-5.417,0l0,-0.75l2.322,0l-0,0.75l-2.322,0Zm-10.833,0l0,-0.75l7.738,0l0,0.75l-7.738,0Zm-5.417,0l0,-0.75l2.322,0l-0,0.75l-2.322,0Zm-10.833,0l-0,-0.75l7.738,0l0,0.75l-7.738,0Zm-5.417,0l0,-0.75l2.322,0l-0,0.75l-2.322,0Zm-6.964,-4.464l0.75,-0l-0,3.714l3.119,0l0,0.75l-3.869,0l-0,-4.464Zm-0,-6.25l0.75,-0l-0,2.678l-0.75,0l-0,-2.678Zm-0,-12.5l0.75,-0l-0,8.928l-0.75,0l-0,-8.928Zm-0,-6.25l0.75,-0l-0,2.678l-0.75,0l-0,-2.678Zm-0,-12.5l0.75,-0l-0,8.928l-0.75,0l-0,-8.928Zm-0,-6.25l0.75,-0l-0,2.678l-0.75,0l-0,-2.678Z", + "name": "path", + "type": "path" + }, + { + "d": "M68.342,37.499l0.75,0.002l-0.003,1.25l-0.75,-0.002l0.003,-1.25Zm-0.01,3.75l0.75,0.002l-0.007,2.5l-0.75,-0.002l0.007,-2.5Zm-0.013,5l0.75,0.002l-0.007,2.5l-0.75,-0.002l0.007,-2.5Zm-0.014,5l0.75,0.002l-0.006,2.5l-0.75,-0.002l0.006,-2.5Zm-0.013,5l0.75,0.002l-0.007,2.5l-0.75,-0.002l0.007,-2.5Zm-0.013,5l0.75,0.002l-0.007,2.5l-0.75,-0.002l0.007,-2.5Zm-0.014,5l0.75,0.002l-0.003,1.25l-0.75,-0.002l0.003,-1.25Z", + "name": "path", + "type": "path" + }, + { + "d": "M10.875,37.5l0.75,0l0,1.25l-0.75,-0l-0,-1.25Zm0,3.75l0.75,0l-0,2.5l-0.75,-0l0,-2.5Zm0,5l0.75,-0l0,2.5l-0.75,-0l0,-2.5Zm0,5l0.75,0l-0,2.5l-0.75,0l0,-2.5Zm-0,5l0.75,-0l0,2.5l-0.75,-0l-0,-2.5Zm0,5l0.75,-0l-0,2.5l-0.75,-0l0,-2.5Zm0,5l0.75,0l-0,1.25l-0.75,0l0,-1.25Z", + "name": "path", + "type": "path" + }, + { + "d": "M11.25,37.875l-0,-0.75l1.125,0l-0,0.75l-1.125,0Zm3.375,0l0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l0,-0.75l1.125,0l-0,0.75l-1.125,0Z", + "name": "path", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "d": "M31.125,46.875c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path", + "visibility": "visible" + }, + { + "cx": 30, + "cy": "46.875", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M30,45.75c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "30", + "cy": "55.875", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M30,54.75c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M34.785,46.875c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,49.4818,48.0334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "52GB", + "type": "text", + "x": "38.827px", + "y": "48.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,53.4185,51.7448)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3000AF", + "type": "text", + "x": "38.825px", + "y": "51.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,53.1093,55.4948)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "50.564px ", + "y": "55.495px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3000A", + "type": "text", + "x": "38.825px", + "y": "55.495px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,57.6808,59.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC,", + "type": "text", + "x": "38.695px", + "y": "59.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,63.6806,63.0334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS, 100%", + "type": "text", + "x": "38.67px", + "y": "63.033px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "cx": 30, + "cy": "42.041", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M30,40.916c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "56.25", + "cy": "42.041", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M56.25,40.916c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "75", + "cy": "42.041", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M75,40.916c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M56.25,33.948l0,8.093", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M24.497,40.541l0,3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M97.507,40.541l-0,3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M24.497,42.041l73.01,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M30,45.897l0,-3.856", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M75,45.897l0,-3.856", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M76.125,46.875c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path", + "visibility": "visible" + }, + { + "cx": "75", + "cy": "46.875", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M75,45.75c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "75", + "cy": "55.875", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M75,54.75c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M79.785,46.875c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,92.79,48.0334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "52FP", + "type": "text", + "x": "82.831px", + "y": "48.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,95.1052,51.7448)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "250AF", + "type": "text", + "x": "82.829px", + "y": "51.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,94.796,55.4948)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "92.251px ", + "y": "55.495px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "250A", + "type": "text", + "x": "82.829px", + "y": "55.495px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,97.2862,59.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI, NC", + "type": "text", + "x": "82.699px", + "y": "59.283px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,116.183,14.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "13px", + "fontWeight": "700", + "overflow": "visible" + }, + "text": "", + "type": "text", + "x": "103.449px", + "y": "14.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,140.198,17.9948)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "A", + "type": "tspan", + "x": "137.419px ", + "y": "17.995px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "2285KW / 2856KV", + "type": "text", + "x": "103.447px", + "y": "17.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,142.67,21.7448)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "123.684px 124.842px ", + "y": "21.745px 21.745px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "480Y/227V3PH, 4W", + "type": "text", + "x": "103.447px", + "y": "21.745px" + } + ], + "id": "TagId_Info", + "name": "TagId_Info", + "type": "group" + }, + { + "elements": [ + { + "cx": "56.25", + "cy": "23.646", + "fill": { + "opacity": "0" + }, + "name": "circle", + "r": "10.302", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M48.375,23.688c0.406,-2.31 1.135,-3.951 3.895,-3.99c2.255,-0.032 3.98,1.562 3.98,3.99c0.284,2.135 1.288,3.686 3.938,3.906c2.273,-0.227 3.577,-1.539 3.937,-3.906", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "GEN", + "name": "GEN", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "black" + }, + "height": "63.75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "105", + "x": "-0", + "y": "7.5" + }, + { + "d": "M105,7.5l0,63.75l-105,0l-0,-63.75l105,0Zm-0.75,0.75l-103.5,0c0,0 0,62.25 -0,62.25l103.5,-0l-0,-62.25Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M105.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "black", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M104.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M104.355,1.849c0.134,-0.227 0.379,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.514,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M104.626,9.942l-0.389,-4.988l1.522,0l-0.378,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.656,-0c-0.266,-0 -0.481,-0.216 -0.481,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.481,-0.48l8.656,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M104.626,9.042l-0.389,-5.001l1.522,-0l-0.378,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "104.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M103.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M106.097,9.232l-0.389,-5.617l1.522,-0l-0.378,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group", + "visibility": "visible" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 145 72" + }, + "type": "ia.shapes.svg" + } + ], + "custom": { + "alarmSeverity": 4 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/51e830b263e35cf02d7588a8c7b8e4d5feed284231604fa67daeb42dfbd812c9 b/Gateways/FE/projects/.resources/51e830b263e35cf02d7588a8c7b8e4d5feed284231604fa67daeb42dfbd812c9 new file mode 100644 index 0000000..401a8da --- /dev/null +++ b/Gateways/FE/projects/.resources/51e830b263e35cf02d7588a8c7b8e4d5feed284231604fa67daeb42dfbd812c9 @@ -0,0 +1,1769 @@ +{ + "custom": { + "key": 0 + }, + "params": { + "OutputPower": {}, + "boxColor": "var(--olGray)", + "inPower_SRC01": 1, + "inPower_SRC02": 0, + "textColor": "var(--olGray)" + }, + "propConfig": { + "custom.key": { + "binding": { + "config": { + "path": "/root/EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + }, + "persistent": true + }, + "params.OutputPower": { + "paramDirection": "output", + "persistent": true + }, + "params.OutputPower._1": { + "binding": { + "config": { + "path": "/root/EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._10": { + "binding": { + "config": { + "path": "/root/EmbeddedView_10.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._11": { + "binding": { + "config": { + "path": "/root/EmbeddedView_11.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._12": { + "binding": { + "config": { + "path": "/root/EmbeddedView_12.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._2": { + "binding": { + "config": { + "path": "/root/EmbeddedView_2.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._3": { + "binding": { + "config": { + "path": "/root/EmbeddedView_3.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._4": { + "binding": { + "config": { + "path": "/root/EmbeddedView_4.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._5": { + "binding": { + "config": { + "path": "/root/EmbeddedView_5.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._6": { + "binding": { + "config": { + "path": "/root/EmbeddedView_6.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._7": { + "binding": { + "config": { + "path": "/root/EmbeddedView_7.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._8": { + "binding": { + "config": { + "path": "/root/EmbeddedView_8.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._9": { + "binding": { + "config": { + "path": "/root/EmbeddedView_9.props.params.outputPower" + }, + "type": "property" + } + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inPower_SRC01": { + "paramDirection": "input", + "persistent": true + }, + "params.inPower_SRC02": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 115, + "width": 1128 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "SWBD_Frame_HS2" + }, + "position": { + "height": 112, + "width": 1127 + }, + "propConfig": { + "custom.colorHandler.inBus": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../SWBD_CB_B.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "custom.colorHandler.outBus": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M120,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M820.44,42.375l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M120,45l700.44,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l87.296,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M157.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M247.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M427.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M382.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M697.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M742.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M472.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M517.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M562.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M607.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M652.491,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M787.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,36.75l0,8.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "name": "rect", + "type": "rect", + "width": "828.75", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l3.795,-0l-0,0.75l-3.045,-0l0,3.268l-0.75,-0Zm9.107,-4.018l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.627,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l-0,0.75l-7.59,-0l-0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l-0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.627,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.313,-0l-0,0.75l-2.278,-0l0,-0.75l2.278,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.311,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.624,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.626,-0l0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l-0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l-0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l-0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.627,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.278,-0l0,-0.75l2.278,-0Zm10.624,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.314,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.278,-0l0,-0.75l2.278,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.315,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.588,-0l-0,-0.75l7.588,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.588,-0l-0,-0.75l7.588,-0Zm5.314,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.31,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm6.831,4.018l-0.75,-0c0,-0 0,-3.268 0,-3.268l-3.045,-0l0,-0.75l3.795,-0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.795,7.232l0,-0.75l3.045,0l0,-3.268l0.75,0l0,4.018l-3.795,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.627,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l0,-0.75l7.59,0l0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.627,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.313,0l0,-0.75l2.278,0l-0,0.75l-2.278,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l-0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.311,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.624,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.626,0l-0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l-0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.627,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.278,0l-0,0.75l-2.278,0Zm-10.624,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.314,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.278,0l-0,0.75l-2.278,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.315,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.588,0l0,0.75l-7.588,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.588,0l0,0.75l-7.588,0Zm-5.314,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.31,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-6.831,-4.018l0.75,0c0,0 0,3.268 -0,3.268l3.045,0l-0,0.75l-3.795,0l-0,-4.018Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "d": "M60.375,78.75l-0.75,0l0,-4.018l0.75,0l0,4.018Zm0,-7.232l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-4.018l0.75,0l0,4.018Z", + "name": "path", + "type": "path" + }, + { + "d": "M139.125,78.75l-0.75,0l0,-4.018l0.75,0l0,4.018Zm0,-7.232l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-4.018l0.75,0l0,4.018Z", + "name": "path", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "837.845", + "x": "0", + "y": "7.5" + }, + { + "d": "M837.845,7.5l0,75l-837.845,-0l0,-75l837.845,0Zm-0.75,0.75l-836.345,0l0,73.5l836.345,-0l0,-73.5Z", + "fill": { + "paint": "#f00" + }, + "name": "path", + "type": "path" + }, + { + "d": "M838.203,0.648l6.49,6.489c0.198,0.199 0.198,0.522 -0,0.721l-6.49,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M837.508,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M837.2,1.849c0.134,-0.227 0.379,-0.367 0.643,-0.367c0.264,-0 0.509,0.14 0.642,0.367c1.412,2.401 4.769,8.113 6.195,10.541c0.136,0.231 0.138,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.267,0 -0.514,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M837.472,9.942l-0.39,-4.988l1.522,0l-0.378,4.988l-0.754,-0Zm-0.353,1.907l-0,-1.164l1.448,0l0,1.164l-1.448,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M842.652,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.656,-0c-0.266,-0 -0.481,-0.216 -0.481,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.481,-0.48l8.656,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M837.472,9.042l-0.39,-5.001l1.522,-0l-0.378,5.001l-0.754,0Zm-0.353,1.912l-0,-1.167l1.448,0l0,1.167l-1.448,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "837.843", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M836.057,9.232l-0.389,-5.617l1.522,-0l-0.378,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M838.943,9.232l-0.39,-5.617l1.522,-0l-0.378,5.617l-0.754,0Zm-0.353,2.148l-0,-1.31l1.448,-0l0,1.31l-1.448,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,829.238,3.03345)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "SWBD-HS2", + "type": "text", + "x": "807.015px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,829.399,6.74479)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "818.978px 820.136px ", + "y": "6.745px 6.745px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3000A, 480V3PH", + "type": "text", + "x": "795.266px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,829.794,10.5334)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "799.221px 800.379px ", + "y": "10.533px 10.533px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3W65kAIC, UL891", + "type": "text", + "x": "793.201px", + "y": "10.533px" + } + ], + "id": "TagIdPlate", + "name": "TagIdPlate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 846 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "SWBD_CB_B" + }, + "position": { + "height": 51, + "width": 52, + "x": 15, + "y": 6 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "view.params.inPower_SRC01" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_52U", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 50, + "width": 65, + "x": 120, + "y": 40.5 + }, + "propConfig": { + "props.params.inputPower_E": { + "binding": { + "config": { + "path": "view.params.inPower_SRC02" + }, + "type": "property" + } + }, + "props.params.inputPower_N": { + "binding": { + "config": { + "path": "../SWBD_CB_B.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "ATS", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_ATS", + "textColor": "var(--olGray)", + "textHandler": { + "ATS1": "N", + "ATS2": "E", + "ATS3": "L" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_ATS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 43, + "x": 195.49, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "52F1" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A_NM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "rotate": { + "anchor": "50% 25%" + }, + "width": 43, + "x": 315, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_UPS-HS2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 51, + "width": 43, + "x": 495.5, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_TX-LP-HS2-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 51, + "width": 43, + "x": 555, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_PP-HS2-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 51, + "width": 43, + "x": 615, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_PP-HS2-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 51, + "width": 43, + "x": 674.8, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_PP-HS2-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 51, + "width": 43, + "x": 734.5, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_MPZ-HS2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_8" + }, + "position": { + "height": 51, + "width": 43, + "x": 794.5, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_BKR_TX-RP-HS2-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_9" + }, + "position": { + "height": 51, + "width": 43, + "x": 854.5, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_BKR_TX-RP-HS2-2\n", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_10" + }, + "position": { + "height": 51, + "width": 43, + "x": 915, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_BKR_TX-RP-HS2-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_11" + }, + "position": { + "height": 51, + "width": 43, + "x": 974.5, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_TX-RP-HS2-4 ", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_12" + }, + "position": { + "height": 51, + "width": 43, + "x": 1034, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_TX-RP-HS2-R", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "objectName": "SWBDPQM", + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_PQM" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.custom.tagPath\n\tobjectName \u003d self.custom.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD PQM1" + }, + "position": { + "height": 18, + "rotate": { + "anchor": "25% 50%" + }, + "width": 62, + "x": 193.67, + "y": 19 + }, + "propConfig": { + "custom.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.PQMTotal" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#27669C", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "white", + "overflow": "visible" + }, + "text": "PQM", + "textStyle": { + "fontSize": 6, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmSeverity": 0 + }, + "meta": { + "name": "root" + }, + "position": { + "x": -1, + "y": -17 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/523ea828cc500751bcc27d319bc7df4e67112c3b1ec12590d9c135c1dcea691c b/Gateways/FE/projects/.resources/523ea828cc500751bcc27d319bc7df4e67112c3b1ec12590d9c135c1dcea691c new file mode 100644 index 0000000..4007ca1 --- /dev/null +++ b/Gateways/FE/projects/.resources/523ea828cc500751bcc27d319bc7df4e67112c3b1ec12590d9c135c1dcea691c @@ -0,0 +1,172 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Run Delay Setpoint" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Stop Delay Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Minimum Speed Setpoint" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Speed Command Raw Maximum" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Speed Command Raw Minimum" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Speed Feedback Raw Maximum" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Speed Feedback Raw Minimum" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD08" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/524822a8686e5fe5729485672094f835386d8a93127a2e6fd23c48256a62fdb7 b/Gateways/FE/projects/.resources/524822a8686e5fe5729485672094f835386d8a93127a2e6fd23c48256a62fdb7 new file mode 100644 index 0000000..f347ff5 --- /dev/null +++ b/Gateways/FE/projects/.resources/524822a8686e5fe5729485672094f835386d8a93127a2e6fd23c48256a62fdb7 @@ -0,0 +1,232 @@ +{ + "custom": {}, + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM/Real Power" + }, + "propConfig": { + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 100 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.00", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "fontSize": 12, + "overflow": "visible" + }, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "format": "##0.00", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "99.9%", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "overlayOptOut": true, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "overlayOptOut": true, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "gap": "3px", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible", + "padding": "3px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/525a1c6252d46354622289fdf4346a3c2079de1ba564ac74f1ce0bbd61016055 b/Gateways/FE/projects/.resources/525a1c6252d46354622289fdf4346a3c2079de1ba564ac74f1ce0bbd61016055 new file mode 100644 index 0000000..7c2c756 --- /dev/null +++ b/Gateways/FE/projects/.resources/525a1c6252d46354622289fdf4346a3c2079de1ba564ac74f1ce0bbd61016055 @@ -0,0 +1,192 @@ +def openEQPopup(objectName, tagPath): + """ Called from equipment template view. Sends a message to the parent view using the messageId 'sendEQPopupMsg' + """ + system.perspective.sendMessage('eqPopupMsg', payload={ + 'objectName': objectName, + 'tagPath': tagPath, + 'modal': False, + 'resizable': True, + 'draggable': True, + 'position': { +# 'left':'0', +# 'top':'0', + 'width': '1000px', + 'height': '835px' + } + }) + +def eqPopup(self, payload): + """ Opens the Equipment Popup view. + """ + viewPath = 'Library/Templates/Base' + popupId = 'eqPopup' + params = { + 'objectName': payload['objectName'], + 'tagPath': payload['tagPath'] + } + system.perspective.openPopup( + popupId, viewPath, params=params, position=payload['position'], + showCloseIcon=False, draggable=payload['draggable'], resizable=payload['resizable'], + modal=payload['modal'], overlayDismiss=False, viewportBound=True + ) + +def eqPopupMsg(self, payload): + """ When called from inside an iFrame, will send a message to the outer view to call eqPopup() and open the popup outside of the iFrame. Otherwise will just call eqPopup() and open the popup. + """ + try: + pageId = self.view.params.pageId + except: + pageId = "" + if pageId == "": + eqPopup(self, payload) + else: + system.perspective.sendMessage('eqPopup', payload=payload, scope='page', pageId=pageId) + +#====================================================================================================================================================== + +def openLLSPopup(viewPath,title): + """ Called from equipment template view. Sends a message to the parent view using the messageId 'sendEQPopupMsg' + """ + system.perspective.sendMessage('LLSPopupMsg', payload={ + 'viewPath': viewPath, + 'title': title, + 'modal': False, + 'resizable': True, + 'draggable': True, + 'position': { +# 'left':'0', +# 'top':'0', + 'width': '1000px', + 'height': '835px' + } + }) + +def LLSPopup(self, payload): + """ Opens the Equipment Popup view. + """ + viewPath = payload['viewPath'] + title = payload['title'] + popupId = 'LLSPopup' + + system.perspective.openPopup( + popupId, viewPath,title=title, position=payload['position'], + showCloseIcon=False, draggable=payload['draggable'], resizable=payload['resizable'], + modal=payload['modal'], overlayDismiss=False, viewportBound=True + ) + +def LLSPopupMsg(self, payload): + """ When called from inside an iFrame, will send a message to the outer view to call eqPopup() and open the popup outside of the iFrame. Otherwise will just call eqPopup() and open the popup. + """ + try: + pageId = self.view.params.pageId + except: + pageId = "" + if pageId == "": + LLSPopup(self, payload) + else: + system.perspective.sendMessage('LLSPopup', payload=payload, scope='page', pageId=pageId) + + + +#def openEQPopup(objectName, tagPath, modal=False, resizable=True, draggable=True, pageId=None): +# """ OLD VERSION +# Opens an equipment popup based on an objectName and tagPath. +# """ +# viewPath = 'Library/Templates/Base' +# popupId = 'eqPopup' +# params = { +# 'objectName': objectName, +# 'tagPath': tagPath +# } +# position = { +# 'left':'0', +# 'top':'0', +# 'width': '1000px', +# 'height': '800px' +# } +# +# system.perspective.openPopup( +# popupId, viewPath, params=params, position=position, +# showCloseIcon=False, draggable=draggable, resizable=resizable, +# modal=modal, overlayDismiss=False, viewportBound=True +# ) + +# developing +#def openEQPopupCentered(objectName, tagPath, modal=True, resizable=False, draggable=False): +# """ +# Opens an equipment popup based on an objectName and tagPath. +# """ + +# viewPath = 'Library/Templates/Base' +# popupId = 'eqPopup' +# params = { +# 'objectName': objectName, +# 'tagPath': tagPath +# } +# position = { +# 'width': '1000px', +# 'height': '800px' +# } +# system.perspective.openPopup( +# popupId, viewPath, params=params, position=position, +# showCloseIcon=False, draggable=draggable, resizable=resizable, +# modal=modal, overlayDismiss=True, viewportBound=True +# ) + +def iFrameNavigate(self, payload): + """ + + """ + try: + pageId = self.view.params.pageId + except: + pageId = "" + system.perspective.print("%s"%(payload)) + params = payload["params"] + target = payload["target"] + breadcrumb = payload.get("breadcrumb") + if pageId == "": + system.perspective.navigate(view = target, params= params) + else: + system.perspective.sendMessage('iFrameNav', payload=payload, scope='page', pageId=pageId) + +def _nav(view, params, breadcrumb= None): + if breadcrumb is None: + breadcrumb = "" + system.perspective.sendMessage('updateBreadcrumb', {'target':breadcrumb}, scope="page") + system.perspective.sendMessage('updateNavSelection', {'breadcrumb':breadcrumb}, scope="page") + + system.perspective.navigate(view=view,params=params['zoom']) + +def openL4AlarmPopup(srcPath): + """ Use this to determine the UDT or navigation path + srcPath: string ex: prov:Ignition_SATB1_IO1_default:/tag:Datahall 1/Development/UT HS1/Alarms/Vacuum Fault Interrupter_VF-1 Tripped:/alm:Alarm + """ + def adjustObjName(objName): + """ Manually correct the varying udt to view + """ + if "AnalogIn" in objName: + objName = "AnalogIn" + elif "SEL" in objName: + objName = "SEL-751" + elif "LV Feeder" in objName: + objName = "LV Feeder" + return objName + + objName = "" + tagPath = "" + + parts = srcPath.split(':/') + prov_part = parts[0].split(':')[1] # Extract after "prov:" + tag_part = parts[1].split(':')[1] # Extract after "tag:" + + constrPath = "" + for p in tag_part.split("/"): + constrPath+= (p+"/") + # print constrPath + tConf= system.tag.getConfiguration("[%s]%s"%(prov_part, constrPath), False) + if tConf[0]["tagType"].toString() == "UdtInstance": + objName = adjustObjName(str(tConf[0]["typeId"]).split("/")[-1]) + tagpath = tConf[0]["path"].toString() + + return {"objectName":objName, "tagPath":tagpath} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/52ad5f12f4e76bad703adea44c15105fab6138897d3b33e0227b5e15f35133d9 b/Gateways/FE/projects/.resources/52ad5f12f4e76bad703adea44c15105fab6138897d3b33e0227b5e15f35133d9 new file mode 100644 index 0000000..cbf1b57 --- /dev/null +++ b/Gateways/FE/projects/.resources/52ad5f12f4e76bad703adea44c15105fab6138897d3b33e0227b5e15f35133d9 @@ -0,0 +1,152 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Comm_Percentage", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "ROC Dropping", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "ROC Rising", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "ROC Val", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Val", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHT01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/52dfb9b72d39a480d9044f753a5bcedb83f4a1bca792bddf46d445d493723f11 b/Gateways/FE/projects/.resources/52dfb9b72d39a480d9044f753a5bcedb83f4a1bca792bddf46d445d493723f11 new file mode 100644 index 0000000..ac8f1df Binary files /dev/null and b/Gateways/FE/projects/.resources/52dfb9b72d39a480d9044f753a5bcedb83f4a1bca792bddf46d445d493723f11 differ diff --git a/Gateways/FE/projects/.resources/52f907498e1bc46a63a6237ccc5649aaff69719295b942463f0cb246f09c79cd b/Gateways/FE/projects/.resources/52f907498e1bc46a63a6237ccc5649aaff69719295b942463f0cb246f09c79cd new file mode 100644 index 0000000..eeb8b04 --- /dev/null +++ b/Gateways/FE/projects/.resources/52f907498e1bc46a63a6237ccc5649aaff69719295b942463f0cb246f09c79cd @@ -0,0 +1,173 @@ +{ + "custom": {}, + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-1-1/Output Total KW" + }, + "propConfig": { + "params.desc": { + "paramDirection": "input", + "persistent": true + }, + "params.tagpath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 139, + "width": 107 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "70%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagpath": "{view.params.tagpath}" + }, + "tagPath": "{tagpath}.OpcItemPath" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagpath": "{view.params.tagpath}" + }, + "tagPath": "{tagpath}" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "#.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 18, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "30%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagpath": "{view.params.tagpath}" + }, + "tagPath": "{tagpath}.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.desc" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5318b756fafc2b38ee64c40a159b3ecf09cf7dbaf79221f0400eb334a0b5e0d6 b/Gateways/FE/projects/.resources/5318b756fafc2b38ee64c40a159b3ecf09cf7dbaf79221f0400eb334a0b5e0d6 new file mode 100644 index 0000000..3099273 Binary files /dev/null and b/Gateways/FE/projects/.resources/5318b756fafc2b38ee64c40a159b3ecf09cf7dbaf79221f0400eb334a0b5e0d6 differ diff --git a/Gateways/FE/projects/.resources/5340363b0311aee901157a74b46346bdc87f4ea013aaff4f7c154d8bf7ff7512 b/Gateways/FE/projects/.resources/5340363b0311aee901157a74b46346bdc87f4ea013aaff4f7c154d8bf7ff7512 new file mode 100644 index 0000000..707cb63 Binary files /dev/null and b/Gateways/FE/projects/.resources/5340363b0311aee901157a74b46346bdc87f4ea013aaff4f7c154d8bf7ff7512 differ diff --git a/Gateways/FE/projects/.resources/5383c59f6b5ad504935be50bcc78ef73dd88f84e53304b31cceb518bdf44470a b/Gateways/FE/projects/.resources/5383c59f6b5ad504935be50bcc78ef73dd88f84e53304b31cceb518bdf44470a new file mode 100644 index 0000000..c605996 Binary files /dev/null and b/Gateways/FE/projects/.resources/5383c59f6b5ad504935be50bcc78ef73dd88f84e53304b31cceb518bdf44470a differ diff --git a/Gateways/FE/projects/.resources/5390e2b590e155e55d55f28a0a6dc177b601cf1a1206c119230402aa759413fe b/Gateways/FE/projects/.resources/5390e2b590e155e55d55f28a0a6dc177b601cf1a1206c119230402aa759413fe new file mode 100644 index 0000000..822ddaf --- /dev/null +++ b/Gateways/FE/projects/.resources/5390e2b590e155e55d55f28a0a6dc177b601cf1a1206c119230402aa759413fe @@ -0,0 +1,9 @@ +{ + "base": { + "style": { + "color": "#8E8E8E", + "fontWeight": "400", + "marginBottom": "4px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/53fb8f76d77bd4d85c07eb7911266f4256c2224e4593b8c738d288a8cd5478ca b/Gateways/FE/projects/.resources/53fb8f76d77bd4d85c07eb7911266f4256c2224e4593b8c738d288a8cd5478ca new file mode 100644 index 0000000..4c75beb Binary files /dev/null and b/Gateways/FE/projects/.resources/53fb8f76d77bd4d85c07eb7911266f4256c2224e4593b8c738d288a8cd5478ca differ diff --git a/Gateways/FE/projects/.resources/541bfc9e4519776c52d808ed636481b85620925459cacbe37aee70a28d6e6ddd b/Gateways/FE/projects/.resources/541bfc9e4519776c52d808ed636481b85620925459cacbe37aee70a28d6e6ddd new file mode 100644 index 0000000..0baa5bf Binary files /dev/null and b/Gateways/FE/projects/.resources/541bfc9e4519776c52d808ed636481b85620925459cacbe37aee70a28d6e6ddd differ diff --git a/Gateways/FE/projects/.resources/544de516e7c98e0232c81449af56ecc22b32e1bca423c038ac92c780c441eb05 b/Gateways/FE/projects/.resources/544de516e7c98e0232c81449af56ecc22b32e1bca423c038ac92c780c441eb05 new file mode 100644 index 0000000..5a6c00c Binary files /dev/null and b/Gateways/FE/projects/.resources/544de516e7c98e0232c81449af56ecc22b32e1bca423c038ac92c780c441eb05 differ diff --git a/Gateways/FE/projects/.resources/5494758c5774cbf45fdead0be5287230ffc8271a3758936bfe9ca84211d9f0c9 b/Gateways/FE/projects/.resources/5494758c5774cbf45fdead0be5287230ffc8271a3758936bfe9ca84211d9f0c9 new file mode 100644 index 0000000..6d10349 --- /dev/null +++ b/Gateways/FE/projects/.resources/5494758c5774cbf45fdead0be5287230ffc8271a3758936bfe9ca84211d9f0c9 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]RM1102/SATB1_RM1102_Fire System Panel" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"HH:mm\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947368983 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947368983 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/54968ce1e2dc6078834b5efb6bca20594ead21ff3b40327b69728c0a2402d593 b/Gateways/FE/projects/.resources/54968ce1e2dc6078834b5efb6bca20594ead21ff3b40327b69728c0a2402d593 new file mode 100644 index 0000000..834711a --- /dev/null +++ b/Gateways/FE/projects/.resources/54968ce1e2dc6078834b5efb6bca20594ead21ff3b40327b69728c0a2402d593 @@ -0,0 +1,285 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "AB Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "BC Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "CA Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power Total", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Demand KW", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Boolean", + "display": true, + "displaySelection": 1, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Status", + "numDecimals": 1, + "options": [ + "Open", + "Closed" + ], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Boolean", + "display": true, + "displaySelection": 1, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Tripped", + "numDecimals": 1, + "options": [ + "Not Tripped", + "Tripped" + ], + "visible": true + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F3\n" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n if system.tag.read(tagPath).value \u003d\u003d None:\n \tdisplay \u003d False\n else:\n \tdisplay \u003d True\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"numDecimals\":1,\n \"options\": [],\n \"visible\": True,\n \"display\": display,\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/54e5ab15bc82c8ddd329f17667bbae2c1a48a9eeaf96d13214ed586f0f347c09 b/Gateways/FE/projects/.resources/54e5ab15bc82c8ddd329f17667bbae2c1a48a9eeaf96d13214ed586f0f347c09 new file mode 100644 index 0000000..b844c94 Binary files /dev/null and b/Gateways/FE/projects/.resources/54e5ab15bc82c8ddd329f17667bbae2c1a48a9eeaf96d13214ed586f0f347c09 differ diff --git a/Gateways/FE/projects/.resources/5514f483da296401f0b1e4dce39bfc1b4559113bcf920580a0b6e348c357b53d b/Gateways/FE/projects/.resources/5514f483da296401f0b1e4dce39bfc1b4559113bcf920580a0b6e348c357b53d new file mode 100644 index 0000000..1e4fef1 Binary files /dev/null and b/Gateways/FE/projects/.resources/5514f483da296401f0b1e4dce39bfc1b4559113bcf920580a0b6e348c357b53d differ diff --git a/Gateways/FE/projects/.resources/5599a0c155fdd5a839e830da1aaf7c48ac4b4dbb4ef41286edcff7ff9f04bb9f b/Gateways/FE/projects/.resources/5599a0c155fdd5a839e830da1aaf7c48ac4b4dbb4ef41286edcff7ff9f04bb9f new file mode 100644 index 0000000..30f0c57 Binary files /dev/null and b/Gateways/FE/projects/.resources/5599a0c155fdd5a839e830da1aaf7c48ac4b4dbb4ef41286edcff7ff9f04bb9f differ diff --git a/Gateways/FE/projects/.resources/559a261ceefeb1b3db54cf749835a7097a0d5af5b7342b33e561b2e3bdd68230 b/Gateways/FE/projects/.resources/559a261ceefeb1b3db54cf749835a7097a0d5af5b7342b33e561b2e3bdd68230 new file mode 100644 index 0000000..a8b9f82 --- /dev/null +++ b/Gateways/FE/projects/.resources/559a261ceefeb1b3db54cf749835a7097a0d5af5b7342b33e561b2e3bdd68230 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947762435 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947762435 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/55d4463f62ccdec73aadd1b658f89482913fb06a533365468728e63d5b99e6b8 b/Gateways/FE/projects/.resources/55d4463f62ccdec73aadd1b658f89482913fb06a533365468728e63d5b99e6b8 new file mode 100644 index 0000000..106880c Binary files /dev/null and b/Gateways/FE/projects/.resources/55d4463f62ccdec73aadd1b658f89482913fb06a533365468728e63d5b99e6b8 differ diff --git a/Gateways/FE/projects/.resources/55e1ddc94e828d45bd4ceed04b5a166b2b57629afa0227b466cf5af4a20d30e5 b/Gateways/FE/projects/.resources/55e1ddc94e828d45bd4ceed04b5a166b2b57629afa0227b466cf5af4a20d30e5 new file mode 100644 index 0000000..4c494e4 --- /dev/null +++ b/Gateways/FE/projects/.resources/55e1ddc94e828d45bd4ceed04b5a166b2b57629afa0227b466cf5af4a20d30e5 @@ -0,0 +1,395 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Crest Factor A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Crest Factor B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Crest Factor C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current THD A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current THD B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current THD C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "K Factor A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "K Factor B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "K Factor C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Energy", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "SPD Alarm", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Avg", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage THD A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage THD B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage THD C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Unbalance", + "numDecimals": 2, + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_PQM1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5618b8cd662e4b904c7189835a30c32f859a7d844c4dccc2f9f21c21cdc4be83 b/Gateways/FE/projects/.resources/5618b8cd662e4b904c7189835a30c32f859a7d844c4dccc2f9f21c21cdc4be83 new file mode 100644 index 0000000..3e340ca Binary files /dev/null and b/Gateways/FE/projects/.resources/5618b8cd662e4b904c7189835a30c32f859a7d844c4dccc2f9f21c21cdc4be83 differ diff --git a/Gateways/FE/projects/.resources/563836f01bfe83821bcbda47e612651a74f393ec696f5a08a05e5fef95bc6db1 b/Gateways/FE/projects/.resources/563836f01bfe83821bcbda47e612651a74f393ec696f5a08a05e5fef95bc6db1 new file mode 100644 index 0000000..75a40e4 Binary files /dev/null and b/Gateways/FE/projects/.resources/563836f01bfe83821bcbda47e612651a74f393ec696f5a08a05e5fef95bc6db1 differ diff --git a/Gateways/FE/projects/.resources/5641c8492e6f0c008dc65d50c329dbe24e2f0328c5468e49fc9d5172a5931ac5 b/Gateways/FE/projects/.resources/5641c8492e6f0c008dc65d50c329dbe24e2f0328c5468e49fc9d5172a5931ac5 new file mode 100644 index 0000000..400964f --- /dev/null +++ b/Gateways/FE/projects/.resources/5641c8492e6f0c008dc65d50c329dbe24e2f0328c5468e49fc9d5172a5931ac5 @@ -0,0 +1,120 @@ +import pprint +from com.inductiveautomation.ignition.common.tags.config.types import TagObjectType +defaultProvider= utils.admin.tags.helper.defaultProvider +defaultSrcProv = utils.admin.tags.helper.defaultSourceProvider + +def getUDTBaseParameters(): + return {'srcPath': {"dataType":"String", "value":None}, + 'tagGroup': {"dataType":"String", "value":"Default"}} + +def transformBase(): + """ Read the [default]Base UDT and convert it into the Reference Tag equivalent + New logic to create an additional expression tag bound to the srcPath parameter + Returns: Nothing, will create the UDT in the global defaultProvider + """ + newTagConfig= (transformSingleObject("%s_types_/Base"%(defaultSrcProv))) + devPathTag={'dataType': "String", + 'expression':'{srcPath}', + 'name': 'DeviceTagPath', + 'tagType': "AtomicTag", + 'valueSource': 'expr'} + newTagConfig["parameters"] = getUDTBaseParameters() + newTagConfig["tags"][0]["tags"].append(devPathTag) + + + pprint.pprint(newTagConfig) + system.tag.configure("%s/_types_"%(defaultProvider), [newTagConfig], "o") + +def transformObjects(udtFolder= "Objects"): + """ Scan for all of the Object UDTs in [default] and create the Reference tag version + Returns: Nothing + """ + metaTagNames = [t["name"] for t in system.tag.browse("[MQTT]_types_/Base/Meta")] + def normalizeTagConfig(tagConfig): +# tagConfig.pop("path") + tagConfig.pop("parameters") + # Clean up the meta tags inherited from base + for t in tagConfig["tags"]: + if t["name"] == "Meta": + t["tags"] = [item for item in t["tags"] if item['name'] not in metaTagNames] + + return tagConfig + allTagConfig = {} + for udtPath in recBrowse("%s_types_/%s"%(defaultSrcProv, udtFolder)): + newTagConfig = normalizeTagConfig(transformSingleObject(udtPath)) + if "parameters" not in newTagConfig.keys(): + newTagConfig["parameters"] = getUDTBaseParameters() + rootFolder = "/".join(udtPath.split("/")[:-1]).replace(defaultSrcProv,defaultProvider) + allTagConfig.setdefault(rootFolder, []) + + allTagConfig[rootFolder].append(newTagConfig) + + for k,v in allTagConfig.iteritems(): + system.tag.configure(k, v, "o") + + +def recBrowse(path): + """ Recursively process the folder + """ + listOfPaths = [] + for tag in system.tag.browse(path): + if tag["tagType"] == TagObjectType.Folder: + if tag["name"] != "Parent": # don't browse the parent folder when we're doing the root Objects folder + listOfPaths.extend(recBrowse(str(tag["fullPath"]))) + elif tag["tagType"] == TagObjectType.UdtType: + listOfPaths.append(str(tag["fullPath"])) + return listOfPaths + + +def transformSingleObject(udtPath): + """ Convert a single UDT Object to a reference tag equivalent. Reusable in individual scenarios + Returns: JSON configuration for the new tag object + """ + curTagConfig = system.tag.getConfiguration(udtPath, True)[0] +# curTagConfig.pop("path") # don't need this since we're creating new + + curTagConfig["tags"] = recFolderTransform(curTagConfig["tags"], curTagConfig["name"]) + return curTagConfig + + +def recFolderTransform(tagObj, rootObjName= "", folderPath=""): + """ Recursively process the folder's contents to convert the existing tags to Reference Tags + Returns: Newly constructed JSON + """ + alarmSummIdx = -1 + for idx, obj in enumerate(tagObj): +# print obj["name"], obj["tagType"] + if obj["tagType"]== TagObjectType.Folder: +# print " %s -- folder found"%(obj["name"]) + if "tags" in obj.keys(): + recFolderTransform(obj["tags"], folderPath="/".join([folderPath, obj["name"]])) + elif str(obj["tagType"]) not in ["UdtInstance"] and obj["name"] != "AlarmSummary": + obj["valueSource"] = "reference" +# obj["sourceTagPath"] = {"bindType":"parameter", "binding":"{srcPath}/%s{TagName}"%(folderPath[:]+"/" if folderPath != "" else "")} + obj["sourceTagPath"] = {"bindType":"parameter", "binding":"{srcPath}/%s%s"%(folderPath[1:]+"/" if folderPath != "" else "", obj["name"])} # hardcode tagpath, but change name to underscore + obj["tagGroup"] = {"bindType":"parameter", "binding":"{tagGroup}"} + obj["name"] = obj["name"].replace(" ", "_") + # remove keys that are no longer relative to the MQTT transmission + for k in ["value", "opcServer", "opcItemPath", "sampleMode", "alarms", "sampleMode", "scaleMode", "scaledHigh"]: + obj.pop(k, None) + # Remove historian settings since we don't need to log this + obj["historyEnabled"]= False + for setting in ["historyMaxAge", "historyProvider", "historyTagGroup"]: + obj.pop(setting, None) + elif obj["tagType"] == TagObjectType.UdtInstance: + print "1" + # Special handler for the Base Object + if str(obj["name"]) == "AlarmSummary" and rootObjName=="Base" : + replacementTag = obj["tags"][0] + replacementTag["valueSource"] = "reference" + replacementTag["sourceTagPath"] = {"bindType":"parameter", "binding":"{srcPath}/{TagName}/ActiveAlarms"} + replacementTag["tagGroup"] = {"bindType":"parameter", "binding":"{tagGroup}"} + replacementTag.pop("name") + replacementTag.pop("path") + replacementTag.pop("value") + obj.pop("tags") + obj.pop("typeId") + + obj.update(replacementTag) + + return tagObj \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5688dce28bec847791088e5896c3ed45ee4aad4f12d6824c8591f979de0f63be b/Gateways/FE/projects/.resources/5688dce28bec847791088e5896c3ed45ee4aad4f12d6824c8591f979de0f63be new file mode 100644 index 0000000..abd902b --- /dev/null +++ b/Gateways/FE/projects/.resources/5688dce28bec847791088e5896c3ed45ee4aad4f12d6824c8591f979de0f63be @@ -0,0 +1,458 @@ +{ + "custom": { + "UDTSelected": 2, + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02" + }, + "propConfig": { + "custom.UDTSelected": { + "binding": { + "config": { + "path": "/root/TabContainer/Status.props.params.tagPath" + }, + "transforms": [ + { + "code": "\ttypeID \u003d system.tag.getConfiguration(value)[0][\u0027typeId\u0027]\n\treturn typeID", + "type": "script" + }, + { + "fallback": 1, + "inputType": "scalar", + "mappings": [ + { + "input": "Objects/Air/DOAS", + "output": 1 + }, + { + "input": "Objects/Air/DOAS 2", + "output": 2 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info \u0027,{view.custom.UDTSelected})" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config \u0027, {view.custom.UDTSelected})" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/569b5b18ffd2a59627a7dc81a8576db619975156d738ea960f1d64c9701a7106 b/Gateways/FE/projects/.resources/569b5b18ffd2a59627a7dc81a8576db619975156d738ea960f1d64c9701a7106 new file mode 100644 index 0000000..869932a --- /dev/null +++ b/Gateways/FE/projects/.resources/569b5b18ffd2a59627a7dc81a8576db619975156d738ea960f1d64c9701a7106 @@ -0,0 +1,282 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 1500, + "width": 1700 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DH Overview" + }, + "position": { + "basis": "631px", + "shrink": 0 + }, + "props": { + "elementPosition": { + "basis": "100%" + }, + "instances": [ + { + "DH": 101, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1" + }, + { + "DH": 102, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2" + }, + { + "DH": 201, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH3" + }, + { + "DH": 202, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4" + }, + { + "DH": 203, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5" + } + ], + "path": "Library/Cards/Card_DH", + "style": { + "gap": "10px", + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "meta": { + "name": "CHW System" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "path": "Library/Cards/Card_Mech", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Electrical Resume" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "path": "Library/Cards/Card_Electrical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Lower Section 01", + "tooltip": { + "width": "250px" + } + }, + "position": { + "basis": "250px", + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "DOAS Equipment" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "path": "Library/Cards/Card_DOAS", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RTU Equipment" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "path": "Library/Cards/Card_RTU", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Lower Section 02" + }, + "position": { + "basis": "250px", + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Server Status" + }, + "position": { + "grow": 1 + }, + "props": { + "path": "Library/Cards/Card_Gtwys", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Lower Section 2" + }, + "position": { + "basis": "250px", + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "setHomepage", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "Set Homepage", + "type": "method" + } + ] + }, + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": "10px", + "overflow": "scroll", + "padding": "10px" + } + }, + "scripts": { + "customMethods": [ + { + "name": "setHomepage", + "params": [], + "script": "\t# implement your method here\n\tview \u003d self.page.props.path\n\tuser \u003d self.session.props.auth.user.userName\n\tif user !\u003d \"\":\n\t\tutils.admin.user.saveSettings({\"Homepage\":view}, user)\n\t\tself.session.refreshBinding(\"custom.user_settings\")" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/56b288cf85b430d30d40994311d42342c6f7832821e425197ca4a29175c67bd7 b/Gateways/FE/projects/.resources/56b288cf85b430d30d40994311d42342c6f7832821e425197ca4a29175c67bd7 new file mode 100644 index 0000000..95da02a Binary files /dev/null and b/Gateways/FE/projects/.resources/56b288cf85b430d30d40994311d42342c6f7832821e425197ca4a29175c67bd7 differ diff --git a/Gateways/FE/projects/.resources/56b93a267565a816fc13810368bdb55735339614d9d0effbff9409020ba4f3a6 b/Gateways/FE/projects/.resources/56b93a267565a816fc13810368bdb55735339614d9d0effbff9409020ba4f3a6 new file mode 100644 index 0000000..8cbc742 Binary files /dev/null and b/Gateways/FE/projects/.resources/56b93a267565a816fc13810368bdb55735339614d9d0effbff9409020ba4f3a6 differ diff --git a/Gateways/FE/projects/.resources/56f2c4612d729a2e98e16149d136d0b7c1bf2ebd8edff3436ad59d88c568f960 b/Gateways/FE/projects/.resources/56f2c4612d729a2e98e16149d136d0b7c1bf2ebd8edff3436ad59d88c568f960 new file mode 100644 index 0000000..1acb419 --- /dev/null +++ b/Gateways/FE/projects/.resources/56f2c4612d729a2e98e16149d136d0b7c1bf2ebd8edff3436ad59d88c568f960 @@ -0,0 +1,2316 @@ +{ + "custom": { + "pageName": "P1.2" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1261", + "IO1": "[Ignition_SATB1_IO1_default]", + "Room": "ER1243", + "boxColor": "var(--olGray)", + "pageId": "", + "pageName": "P1-2", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.1", + "source2": "UT-P1.3" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + }, + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + }, + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-1_to_UT-P1-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-2_to_UT-P1-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P1-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO1_default]ER1243/SWBD/SATB1_ER1243_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 1, + "Gallery": "GAL1261", + "Gateway": "[Ignition_SATB1_IO1_default]", + "Linuep": 2 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1016, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1256, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/570e80a7d30ad632d9a5d39add1a2e458f261fc2affcd7f5a9aa723ba66c9a4c b/Gateways/FE/projects/.resources/570e80a7d30ad632d9a5d39add1a2e458f261fc2affcd7f5a9aa723ba66c9a4c new file mode 100644 index 0000000..a695440 Binary files /dev/null and b/Gateways/FE/projects/.resources/570e80a7d30ad632d9a5d39add1a2e458f261fc2affcd7f5a9aa723ba66c9a4c differ diff --git a/Gateways/FE/projects/.resources/573e3c26a6148a21ffc34538e007dff94b77724f464fba41daae33d18bb2f7e7 b/Gateways/FE/projects/.resources/573e3c26a6148a21ffc34538e007dff94b77724f464fba41daae33d18bb2f7e7 new file mode 100644 index 0000000..26ddb84 --- /dev/null +++ b/Gateways/FE/projects/.resources/573e3c26a6148a21ffc34538e007dff94b77724f464fba41daae33d18bb2f7e7 @@ -0,0 +1,311 @@ +{ + "custom": {}, + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1128/SATB1_HS2_EL1128_FCU16" + }, + "propConfig": { + "params.TagPosition": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 70, + "width": 120 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 70, + "width": 120 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.TagPosition" + }, + "transforms": [ + { + "fallback": "top", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "bottom" + }, + { + "input": true, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "FCU", + "textStyle": { + "color": "var(--text-muted)", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Container" + }, + "position": { + "height": 41, + "width": 92, + "x": 10, + "y": 13.5 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Current Error Code" + }, + "transforms": [ + { + "code": "\tif value \u003e0:\n\t\treturn \"var(--state-faulted)\"\n\telse:\n\t\treturn \"var(--state-standby)\"", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var01" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Space Temperature" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 72.5, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 01" + }, + "position": { + "height": 23, + "width": 44, + "x": 60, + "y": 15 + }, + "props": { + "text": "degF", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var02" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 30 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Controls/System Mode" + }, + "enabled": false, + "transforms": [ + { + "fallback": "error", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Cool" + }, + { + "input": 2, + "output": "Heat" + }, + { + "input": 3, + "output": "Fan" + }, + { + "input": 4, + "output": "Auto" + }, + { + "input": 5, + "output": "Dry" + }, + { + "input": 0, + "output": "Off" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Cool", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 02" + }, + "position": { + "height": 23, + "width": 44, + "x": 60, + "y": 30 + }, + "props": { + "text": "Mode", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Box" + }, + "position": { + "height": 50, + "width": 102, + "x": 5, + "y": 9.5 + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/577fead06f49c467338504c4f263646e706c62617516db7cf6fd35b6e9566024 b/Gateways/FE/projects/.resources/577fead06f49c467338504c4f263646e706c62617516db7cf6fd35b6e9566024 new file mode 100644 index 0000000..bab5c91 --- /dev/null +++ b/Gateways/FE/projects/.resources/577fead06f49c467338504c4f263646e706c62617516db7cf6fd35b6e9566024 @@ -0,0 +1,6835 @@ +{ + "custom": { + "Available": [ + "RM1100", + "RM1101", + "RM1102", + "RM1103", + "RM1109", + "RM1110", + "RM1111", + "RM1113", + "RM1114", + "RM1116", + "RM1117", + "RM1118", + "RM1121", + "RM1127", + "RM1133", + "RM1133_5", + "RM1134", + "RM1135", + "RM1137", + "RM1138", + "RM1141", + "RM1153", + "RM1190", + "RM1192", + "RM1194", + "RM1139", + "RM1102_2" + ], + "ColorHandler": { + "Wall": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "RM1100": "#BAEDFF", + "RM1101": "#BAEDFF", + "RM1102": "#BAEDFF", + "RM1102_2": "#BAEDFF", + "RM1103": "#BAEDFF", + "RM1109": "#BAEDFF", + "RM1110": "#BAEDFF", + "RM1111": "#BAEDFF", + "RM1113": "#BAEDFF", + "RM1114": "#FFBABD", + "RM1116": "#BAEDFF", + "RM1117": "#BAEDFF", + "RM1118": "#BAEDFF", + "RM1121": "#BAEDFF", + "RM1127": "#BAEDFF", + "RM1133": "#BAEDFF", + "RM1133_5": "#BAEDFF", + "RM1134": "#BAEDFF", + "RM1135": "#BAEDFF", + "RM1137": "#BAEDFF", + "RM1138": "#BAEDFF", + "RM1139": "#BAEDFF", + "RM1141": "#BAEDFF", + "RM1153": "#BAEDFF", + "RM1190": "#BAEDFF", + "RM1192": "#BAEDFF", + "RM1194": "#BAEDFF" + }, + "selected": "RM1114" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\toutput[room] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 227, + "width": 399 + } + }, + "root": { + "children": [ + { + "custom": { + "data": "value" + }, + "meta": { + "name": "First Floor" + }, + "position": { + "height": 420, + "width": 843, + "x": -444.4618634796143, + "y": -196.00264907836913 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1192" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1190" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1190" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1111" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1192" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1194" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1153" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1133_5" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1133" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1133" + }, + "type": "property" + } + }, + "props.elements[5].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1135" + }, + "type": "property" + } + }, + "props.elements[5].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1133" + }, + "type": "property" + } + }, + "props.elements[5].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[19].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1109" + }, + "type": "property" + } + }, + "props.elements[5].elements[20].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[21].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[22].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1100" + }, + "type": "property" + } + }, + "props.elements[5].elements[23].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1103" + }, + "type": "property" + } + }, + "props.elements[5].elements[24].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1114" + }, + "type": "property" + } + }, + "props.elements[5].elements[25].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1117" + }, + "type": "property" + } + }, + "props.elements[5].elements[26].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1116" + }, + "type": "property" + } + }, + "props.elements[5].elements[27].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1118" + }, + "type": "property" + } + }, + "props.elements[5].elements[28].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1110" + }, + "type": "property" + } + }, + "props.elements[5].elements[29].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1102" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1113" + }, + "type": "property" + } + }, + "props.elements[5].elements[30].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1101" + }, + "type": "property" + } + }, + "props.elements[5].elements[31].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1121" + }, + "type": "property" + } + }, + "props.elements[5].elements[32].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1127" + }, + "type": "property" + } + }, + "props.elements[5].elements[33].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1100" + }, + "type": "property" + } + }, + "props.elements[5].elements[34].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1133" + }, + "type": "property" + } + }, + "props.elements[5].elements[35].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[36].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1111" + }, + "type": "property" + } + }, + "props.elements[5].elements[37].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[38].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1141" + }, + "type": "property" + } + }, + "props.elements[5].elements[39].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1134" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[40].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1102_2" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1102_2" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1134" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1139" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1137" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1138" + }, + "type": "property" + } + }, + "props.elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1199-STAIR-C", + "name": "_1199-STAIR-C", + "type": "rect", + "width": "203.609", + "x": "1515.85", + "y": "1178.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.399", + "id": "_1197-2-CORRIDOR-H-2", + "name": "_1197-2-CORRIDOR-H-2", + "type": "rect", + "width": 1305, + "x": "183.815", + "y": "1134.85" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "41.332", + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": 752, + "x": 2895, + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 41.332, + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": 1405, + "x": 1490, + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 65.25, + "id": "_1194-1-CORRIDOR-E-4", + "name": "_1194-1-CORRIDOR-E-4", + "type": "rect", + "width": 1255, + "x": 2900, + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 65.25, + "id": "_1194-1-CORRIDOR-E-2", + "name": "_1194-1-CORRIDOR-E-2", + "type": "rect", + "width": 1408, + "x": 1490, + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1198-STAIR-B", + "name": "_1198-STAIR-B", + "type": "rect", + "width": "203.609", + "x": "3802.52", + "y": "1177.63" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "206.163", + "id": "_1183-STAIRS-D", + "name": "_1183-STAIRS-D", + "type": "rect", + "width": "86.751", + "x": "1.377", + "y": "358.889" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": 169.655, + "id": "_1194-1-CORRIDOR-E-3", + "name": "_1194-1-CORRIDOR-E-3", + "type": "rect", + "width": "48.02", + "x": "3607.37", + "y": "1.095" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": 899.5, + "id": "_1193-CORRIDOR-D", + "name": "_1193-CORRIDOR-D", + "type": "rect", + "width": "84", + "x": "2894.63", + "y": "235.5" + }, + { + "d": "M1488.64,1134.85l164.275,0.149l-0.034,-139.5l-83.689,0.074l0,-608.074l83.689,0.105l0,-44.605l-83.689,0l0,-107.649l-80.561,0l0.009,899.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1195-CORRIDOR-F", + "name": "_1195-CORRIDOR-F", + "type": "path" + }, + { + "d": "M183.628,1134.85l63.25,0l0,-792.224l-84.75,-0l0,-107.276l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1196-CORRIDOR-G", + "name": "_1196-CORRIDOR-G", + "type": "path" + }, + { + "d": "M3647.19,1178.01l-0.308,-42.395l-35.25,-0l0,-428.611l65,-0l0,329.711l163.5,0.433l-0.113,141.356l-192.829,-0.494Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1192-CORRIDOR-C", + "name": "_1192-CORRIDOR-C", + "type": "path" + }, + { + "d": "M4160.13,138.5l0,96.851l68.5,0l0,406.899l73.372,0l-0,-173.99l58.628,-0l0,-38.859l-58.628,-0l-0.372,-141.301l228.25,-0.1l0,-48.75l-222.014,-0l-0,-100.75l-147.736,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1191-CORRIDOR-B", + "name": "_1191-CORRIDOR-B", + "type": "path" + }, + { + "d": "M4478.59,735.5l-118.361,-0l-0.38,-28.5l-748.22,-0l0,-65.105l690.372,0.427l-0,5.178l44.403,0l0,-43.801l74.63,0l0.308,43.801l56.816,-0.335l0.432,88.335Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1190-CORRIDOR-A", + "name": "_1190-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.101", + "id": "_1194-1-CORRIDOR-E-1", + "name": "_1194-1-CORRIDOR-E-1", + "type": "rect", + "width": 1400, + "x": "88.378", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 111.445, + "id": "_1123-STAIR-A", + "name": "_1123-STAIR-A", + "type": "rect", + "width": "58.434", + "x": "4477.3", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 71, + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "288" + } + ], + "id": "Corridors-and-stairs", + "name": "Corridors-and-stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1165-elec", + "name": "_1165-elec", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1164-ER", + "name": "_1164-ER", + "type": "rect", + "width": "232", + "x": "329.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1163-ER", + "name": "_1163-ER", + "type": "rect", + "width": "232", + "x": "561.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1162-ER", + "name": "_1162-ER", + "type": "rect", + "width": "232", + "x": "793.628", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1161-ER", + "name": "_1161-ER", + "type": "rect", + "width": "232", + "x": "1025.63", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1160-ER", + "name": "_1160-ER", + "type": "rect", + "width": "238.155", + "x": "1258.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1159-MEP-ROOM", + "name": "_1159-MEP-ROOM", + "type": "rect", + "width": "239.508", + "x": "1496.28", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1158-ER", + "name": "_1158-ER", + "type": "rect", + "width": "231.337", + "x": "1735.79", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1157ER", + "name": "_1157ER", + "type": "rect", + "width": "233.123", + "x": "1967.13", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1156-ER", + "name": "_1156-ER", + "type": "rect", + "width": "231.803", + "x": "2200.25", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1155-ER", + "name": "_1155-ER", + "type": "rect", + "width": "232.461", + "x": "2432.05", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1151-ELEC", + "name": "_1151-ELEC", + "type": "rect", + "width": "183.5", + "x": "3655.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1150-MECH-POWER", + "name": "_1150-MECH-POWER", + "type": "rect", + "width": "232.348", + "x": "3838.63", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "137.655", + "id": "_1120-MMR1", + "name": "_1120-MMR1", + "type": "rect", + "width": "260.5", + "x": "4160.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1152-TAPE-LIBRARY", + "name": "_1152-TAPE-LIBRARY", + "type": "rect", + "width": "476.566", + "x": "2664.63", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "64.565", + "id": "_1154-SDC-IDF", + "name": "_1154-SDC-IDF", + "type": "rect", + "width": "88.333", + "x": "3388.41", + "y": "105.935" + }, + { + "d": "M3141.63,170.25l0,-169.947l464.001,0.042l-0,169.905l-128.69,0l-0,-64.25l-89.212,-0l0.338,64.25l-246.437,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1153-SD-STORAGE", + "name": "_1153-SD-STORAGE", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.155", + "id": "_1149-MDF", + "name": "_1149-MDF", + "type": "rect", + "width": "89.5", + "x": "4070.63", + "y": "1.095" + } + ], + "id": "ELEC---MECH", + "name": "ELEC---MECH", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": 0.5 + }, + "height": "51.46", + "id": "_1185-ELEC", + "name": "_1185-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "458.859" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1184-POE", + "name": "_1184-POE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "109.021", + "id": "_1186-FIRE-PLBG", + "name": "_1186-FIRE-PLBG", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "508.227" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.5", + "id": "_1187-MDF-2", + "name": "_1187-MDF-2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "407.5", + "id": "_1188-MMR2", + "name": "_1188-MMR2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "715.5" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "55.25", + "id": "_1189-POE-4", + "name": "_1189-POE-4", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "1123" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1171-GALLERY", + "name": "_1171-GALLERY", + "type": "rect", + "width": "1325.44", + "x": "1569.19", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1172-GALLERY", + "name": "_1172-GALLERY", + "type": "rect", + "width": "1241.72", + "x": "1652.91", + "y": "1064" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.182", + "id": "_1174-SDC-IDF", + "name": "_1174-SDC-IDF", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "930" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "542.5", + "id": "_1173-SDC-STORAGE", + "name": "_1173-SDC-STORAGE", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "387.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1170-DATAHALL-3", + "name": "_1170-DATAHALL-3", + "type": "rect", + "width": "1241.75", + "x": "1652.88", + "y": "343" + } + ], + "id": "DH3", + "name": "DH3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1181-GALLERY-", + "name": "_1181-GALLERY-", + "type": "rect", + "width": "1326.41", + "x": "162.215", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1182-GALLERY-", + "name": "_1182-GALLERY-", + "type": "rect", + "width": "1241.72", + "x": "246.911", + "y": "1065.51" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1181-1-DATAHALL-1180-1", + "name": "_1181-1-DATAHALL-1180-1", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "344.795" + } + ], + "id": "DH5", + "name": "DH5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1119-POE1", + "name": "_1119-POE1", + "type": "rect", + "width": "51.764", + "x": "4307.86", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.401", + "id": "_1109-MOT", + "name": "_1109-MOT", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "359" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "77.088", + "id": "_1113-HUDDLE", + "name": "_1113-HUDDLE", + "type": "rect", + "width": "86.707", + "x": "4544.16", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "68.485", + "id": "_1104-RR", + "name": "_1104-RR", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "365.023" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.992", + "id": "_1105-JAN", + "name": "_1105-JAN", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "433.508" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "78.218", + "id": "_1102.3-SOC-OFFICE", + "name": "_1102.3-SOC-OFFICE", + "type": "rect", + "width": "66.118", + "x": "4459.01", + "y": "489.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1126-JAN", + "name": "_1126-JAN", + "type": "rect", + "width": "57", + "x": "4303.13", + "y": "707" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1134.2-AM-OFFICE", + "name": "_1134.2-AM-OFFICE", + "type": "rect", + "width": "65.5", + "x": "4063.63", + "y": "850" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61.387", + "id": "_1136-RR", + "name": "_1136-RR", + "type": "rect", + "width": "81.653", + "x": "4063.63", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.218", + "id": "_1142-POE", + "name": "_1142-POE", + "type": "rect", + "width": "101.369", + "x": "3840.13", + "y": "1123.79" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.5-SHRED-ROOM", + "name": "_1133.5-SHRED-ROOM", + "type": "rect", + "width": "125.5", + "x": "3938.13", + "y": "932.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.6-HIGH-VALUE-STORAGE", + "name": "_1133.6-HIGH-VALUE-STORAGE", + "type": "rect", + "width": "261.5", + "x": "3676.63", + "y": "932.697" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "59.838", + "id": "_1133.2-CABLE-STORAGE", + "name": "_1133.2-CABLE-STORAGE", + "type": "rect", + "width": "163.5", + "x": "3676.63", + "y": "708.197" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "110.035", + "id": "_1135-WAITING", + "name": "_1135-WAITING", + "type": "rect", + "width": "62.384", + "x": "4145.28", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "119.5", + "id": "_1133.4-SECURE-STORAGE", + "name": "_1133.4-SECURE-STORAGE", + "type": "rect", + "width": "223.5", + "x": "3840.13", + "y": "813" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1128-ELEC", + "name": "_1128-ELEC", + "type": "rect", + "width": "57", + "x": "4302", + "y": "761.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1125-MECH", + "name": "_1125-MECH", + "type": "rect", + "width": "63.811", + "x": "4359", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1124-PASS", + "name": "_1124-PASS", + "type": "rect", + "width": "54.491", + "x": "4422.81", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1122-SDC-IDF", + "name": "_1122-SDC-IDF", + "type": "rect", + "width": "72.661", + "x": "4535.43", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1130-FREIGHT", + "name": "_1130-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4433.86", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1131-FREIGHT", + "name": "_1131-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4535.36", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1132-MECH", + "name": "_1132-MECH", + "type": "rect", + "width": "138.911", + "x": "4636.63", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61", + "id": "_1100.1-VESTIBULE", + "name": "_1100.1-VESTIBULE", + "type": "rect", + "width": "41.5", + "x": "4767.63", + "y": "499" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "130.798", + "id": "_1103-EXECUTIVE-CONFERENCE", + "name": "_1103-EXECUTIVE-CONFERENCE", + "type": "rect", + "width": "145.497", + "x": "4630.13", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1114-RECORDS", + "name": "_1114-RECORDS", + "type": "rect", + "width": "61", + "x": "4359.63", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1117-OFFICE", + "name": "_1117-OFFICE", + "type": "rect", + "width": "64.5", + "x": "4530.13", + "y": "2.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "237.952", + "id": "_1116-CONFERENCE", + "name": "_1116-CONFERENCE", + "type": "rect", + "width": "109.5", + "x": "4420.63", + "y": "1.298" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1118-OFFICE", + "name": "_1118-OFFICE", + "type": "rect", + "width": "65.274", + "x": "4594.63", + "y": "2.5" + }, + { + "d": "M4775.02,288l0.609,-285l-115.1,-2.655l-0.626,84.155l-130.024,-0.441l0,203.941l245.141,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1110-STREAM-OFFICE", + "name": "_1110-STREAM-OFFICE", + "type": "path" + }, + { + "d": "M4525.13,489.5l-0.162,157.719l33.495,0.137l0,-40.856l41.98,0l-0.008,11.157l52.695,0.479l-1.174,-128.636l-126.826,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1102.1-SOC", + "name": "_1102.1-SOC", + "type": "path" + }, + { + "d": "M4558.46,606.223l0,41.133l-80.452,-0l0.693,57.633l329.676,-0l0,-86.979l-207.164,0l0,-11.51l-42.753,-0.277Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1101-SECURE-LOBBY", + "name": "_1101-SECURE-LOBBY", + "type": "path" + }, + { + "d": "M4607.63,705l0,110.159l167.782,-0.651l0.693,-26.905l32.275,-0.433l0,-82.181l-200.75,0.011Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1121-CONFERENCE", + "name": "_1121-CONFERENCE", + "type": "path" + }, + { + "d": "M4207.55,706.868l0.073,379.082l23.565,0.081l75.845,39.795l19.744,-35.334l77.574,39.904l25.252,-44.509l94.628,0.083l76.334,39.209l19.102,-34.955l75.254,39.426l80.59,-0.024l-0,-197.372l-341.468,-0l-0,-115.82l-131.16,-1.275l0,-108.159l-95.333,-0.132Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1127-LOADING-DOCK", + "name": "_1127-LOADING-DOCK", + "type": "path" + }, + { + "d": "M4598.13,364.5l0,125l55.275,0l-0.13,128.5l155.105,0.01l0,-58.01l-40.75,0l0,-61.698l40.283,-0.037l-0,-79.467l-177.783,-0l0,-54.298l-32,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1100.0-LOBBY", + "name": "_1100.0-LOBBY", + "type": "path" + }, + { + "d": "M3676.63,932l0,-163.965l163.5,0l0,-61.035l367.5,-0l0,143l-144,-0l0,-37l-223.5,-0l0,119.5l-163.5,-0.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1133.1-RECEIVING", + "name": "_1133.1-RECEIVING", + "type": "path" + }, + { + "d": "M4457.98,468l0.296,179.18l-37.243,0.32l-0,-43.801l-38.163,0l0.111,-135.699l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1107-MMR", + "name": "_1107-MMR", + "type": "path" + }, + { + "d": "M4542.91,288l0.721,201.141l-84.617,0.359l-0,-21.24l-98.383,-0l-0.136,-180.26l182.415,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1111-BREAK-ROOM", + "name": "_1111-BREAK-ROOM", + "type": "path" + }, + { + "d": "M4302,468.26l2.333,179.853l42.045,-0.613l0,-42.868l37.34,-0l-0.117,-135.7l-81.601,-0.672Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1108-WRR", + "name": "_1108-WRR", + "type": "path" + }, + { + "d": "M4144.93,1037.5l1.203,140.499l-204.5,0.501l0,-52.454l-101.5,-1.355l0.451,-87.191l304.346,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1141-PLBG-FP", + "name": "_1141-PLBG-FP", + "type": "path" + }, + { + "d": "M4207.55,975.505l-143.66,0.495l-0.257,-44l65.5,-0l0,-82l78.417,0.185l0,125.32Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1134.1-ASSET-MANAGEMENT", + "name": "_1134.1-ASSET-MANAGEMENT", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "79.448", + "id": "_1102.2-SOC-STORAGE", + "name": "_1102.2-SOC-STORAGE", + "type": "rect", + "width": "65.955", + "x": "4459.01", + "y": "567.718" + } + ], + "id": "Stream-Offices", + "name": "Stream-Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "133.25", + "id": "_1138.2-SER", + "name": "_1138.2-SER", + "type": "rect", + "width": "79.5", + "x": "3937.13", + "y": "509" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "88.512", + "id": "_1138.3-FCR", + "name": "_1138.3-FCR", + "type": "rect", + "width": "73", + "x": "3864.13", + "y": "553.738" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.649", + "id": "_1139-TENANT-STORAGE", + "name": "_1139-TENANT-STORAGE", + "type": "rect", + "width": "389.821", + "x": "3222.13", + "y": "235.351" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "406.899", + "id": "_1137-OPS-STORAGE", + "name": "_1137-OPS-STORAGE", + "type": "rect", + "width": "163.5", + "x": "4065.13", + "y": "235.351" + }, + { + "d": "M3611.63,235.5l0,407l252.5,-0.25l0,-88.75l73,-0l0.198,-44.292l79.459,0l0.308,133.042l48.035,0l-0.309,-407.076l-453.191,0.326Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1138.1-TENANT-OFFICE", + "name": "_1138.1-TENANT-OFFICE", + "type": "path" + } + ], + "id": "Tenant-Offices", + "name": "Tenant-Offices", + "type": "group" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1140-MECH---PUMP", + "name": "_1140-MECH---PUMP", + "type": "rect", + "width": "243.5", + "x": "2978.63", + "y": "235.5" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,101.188l-0,-21.233l-40.298,-0l-0,21.233", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1544.41,1178.25l2262.71,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3828.13,1178l315.66,0.25l-0,-92.3l8.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4173.51,1086l57.373,0l76.749,40l19.362,-35.865l77.638,41.156l24.903,-45.608l94.597,0.035l76,40.135l19.39,-36.353l75.428,40l80.682,0l-0.395,-342.218l33.145,0l0,-250.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1035.5l0,94.842l0,-5.357l101.5,0.015l0,53.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1151.75l0,26.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4207.86,1085.95l-0.243,-84.421", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4145.28,1085.95l-0,-84.421l-0,35.614l-468.653,0.357l0,-330.5l294.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4027.95,707l179.674,-0l0,19.825l0,-19.825l127.139,-0l-31.655,-0l-0,59.272l-0,-4.626l56.736,-0l-0,-54.646l-0,109.434", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302.88,786.5l0,29.934l472.628,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4359.85,735.573l33.572,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4413.87,735.573l22.597,-0l-13.636,-0l0.293,80.861", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4477.13,816.434l-0,-80.861l-12.996,-0.323l12.996,0.323l-0,-30.584l7.264,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4504.26,704.989l31.169,-0l-0,111.445", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4608.09,816.434l-0,-111.445l-42.464,0.011", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4653.05,705l110.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4434.04,816.434l-0,115.82l9.934,-0.195", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4535.43,816.434l-0,115.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.63,816.434l0,116.066", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4661.9,932.5l113.729,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,932l185.781,-0l-22.281,-0l0,-119l39.813,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3918.12,813l145.506,-0l0,224.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4020.13,932l108.575,-0l0.156,-55.929", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.63,849.89l70.501,0.36", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.57,850.25l53.056,0l0,25.821l0,-92.073", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,768.035l163.5,0l0,-12.467", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3888.63,932.25l93,0l-43.433,0l-0.067,105.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.67,975.52l144.348,0.195l-0.195,-80.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3647.19,1178.71l0,-14.854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3646.88,1143l0,-7.389l-399.644,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,1135.61l0,-441.611", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3265.63,235.5l755.122,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,235.5l0,419.979l0,-13.175l299.892,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3962.63,642.25l59.351,0l-4.987,0l-0,-133.042l-79.666,0l-0,133.042", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3937.13,553.5l-73,-0l0,88.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.63,642.25l8,0l0,-362.294", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4228.63,241.158l0,-5.685l-168.451,-0.299l4.887,0.008l0,407.068l-23.196,0l140.671,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4160.13,235.351l0,-12.621", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3216.3,1135l10.348,0l-5.018,0l-0,-899.649l5.477,0l-23.327,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3165.48,235.351l-186.856,0l0,899.649l218.001,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4775.02,288l-148.777,-0l4.19,-0l-0.067,130.798l5.052,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4675.13,418.798l56.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4586.88,288l-48.457,-0l5.207,-0l0,201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,365.023l86.5,0.065", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,433.38l54.476,-0l0.16,8.138l0,-52.018", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4598.26,461.785l-0.136,27.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4558.88,622.5l0,-30.591l0,14.936l41.643,0.079l-0.079,10.901l66.663,-0l-13.916,-0l0,-128.325l-194.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4420.88,637l0,10.165l38.133,0l-0,-178.905l-157.011,-0l-0,179.24l44.325,0l-0,-10.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4346.38,617l0.025,-13.192l37.315,-0.235l-0.377,-135.313", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4421.03,616.625l-0.064,-12.926l-74.566,0.109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,239.25l4.674,-0l-0,-105.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4529.88,94l0,-9.5l20.662,-0l-20.662,-0l0.25,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4615.63,84.5l-25.999,-0l4.999,-0l0,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4656.52,84.25l3.384,0l0,-83.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.01,647.165l99.45,0l0,-7.237", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.13,567.191l65.999,-0.128l0,54.768l0,-62.3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,489l0,53.977", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4808.38,617.85l-44.723,0.16", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4743.13,617.85l-18.093,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4705.63,618.01l-17.935,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4360.63,468.067l0,-180.067l-4.8,-0l9.498,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4336.13,288.1l-34.134,-0l-0,141.301l32.686,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302,359l58.577,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4405.13,288l94.191,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.89,234.699l-0.021,11.078l0.012,-6.277l67.252,0l-15.5,0l0,-101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.86,213.705l-0,-75.205l-7.609,0l119.686,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.94,0.345l0,238.853l-5.317,-0.025l71.004,0.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4767.63,539.283l0,20.717l40.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.63,170.632l27.175,-0l-0,13.059l-0,-183.346", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4159.8,138.5l102.161,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-24.506,0l4.341,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3589.63,170.5l16.103,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3551.63,170.5l-138.99,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3476.94,170.5l-0,-64.5l-89.311,-0l0,64.5l5.331,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,50.149", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,508l95.313,-0l0,-5.217l0,10.007", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,5.893l0,-79.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,759.5l0,371.5l0,-7.955l-95.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1039l0,-18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1001l0,-616.527l0,3.027l-83.939,-0l0,37.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,463.614l0,471.386l0,-4.5l83.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,955.5l0,40l83.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1020l0,-635.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "First-Floor", + "name": "First-Floor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMaxYMax", + "stroke": { + "linejoin": "bevel" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1190", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 98, + "width": 145, + "x": 194.53960250854493, + "y": 28.76 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1110", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 50, + "width": 43, + "x": 349.01, + "y": 5.27 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1118", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 10, + "x": 360.7, + "y": 5.38 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1113", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 14, + "width": 14, + "x": 352.5, + "y": 55.08 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1103", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 22, + "width": 25, + "x": 367.33, + "y": 54.92 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1111" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1111", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 35, + "width": 42, + "x": 309.07, + "y": 54.68 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1137", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 71, + "width": 26, + "x": 268.51, + "y": 46.24 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1100", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 36, + "width": 36, + "x": 362.4, + "y": 77.48 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1102", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 27, + "width": 21, + "x": 348.65, + "y": 89.63 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1102_2", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 27, + "width": 10, + "x": 337.29, + "y": 90.63 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1101", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 14, + "width": 57, + "x": 339.6, + "y": 112.77 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1121", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 18, + "width": 32, + "x": 364.17, + "y": 128.97 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1127", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 53, + "width": 99, + "x": 293.21, + "y": 148.63 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1141", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 25, + "width": 53, + "x": 228.43, + "y": 185.63 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1138", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 71, + "width": 79, + "x": 188.41, + "y": 45.66 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1192", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 81, + "width": 110, + "x": 118.47, + "y": 128.78 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1139", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 158, + "width": 69, + "x": 119.07, + "y": 45.31 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1153", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 28, + "rotate": { + "anchor": "37% 25%" + }, + "width": 80, + "x": 105.8, + "y": 5.66 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1194", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 10, + "width": 219, + "x": 62.52, + "y": 33.76 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1116", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 42, + "width": 19, + "x": 329.88, + "y": 4.85 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1133", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 56, + "width": 93, + "x": 199.33, + "y": 130.13 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1109", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 11, + "width": 9, + "x": 310.45, + "y": 68 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1117", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 9, + "x": 351.02, + "y": 5.99 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1133_5", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 18, + "width": 21, + "x": 245.9, + "y": 167.97 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1134", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 21, + "width": 25, + "x": 267.14, + "y": 153.58 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1114", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 18, + "width": 10, + "x": 320.03, + "y": 29.46 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1135", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 18, + "width": 9, + "x": 281.55, + "y": 176.33 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_01_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5783f1d37dbedbd940714979f26fadaa1489134c82107ff0baeb3e4cb505ed64 b/Gateways/FE/projects/.resources/5783f1d37dbedbd940714979f26fadaa1489134c82107ff0baeb3e4cb505ed64 new file mode 100644 index 0000000..72614af --- /dev/null +++ b/Gateways/FE/projects/.resources/5783f1d37dbedbd940714979f26fadaa1489134c82107ff0baeb3e4cb505ed64 @@ -0,0 +1,32 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderColor": "var(--success)", + "borderStyle": "solid", + "borderWidth": "1px", + "boxShadow": "none", + "color": "var(--success)", + "fontWeight": "normal", + "textTransform": "uppercase", + "fill": "var(--success)" + } + }, + "variants": [ + { + "pseudo": "hover", + "animation": { + "duration": "0.2s", + "direction": "normal", + "iterationCount": "1", + "timingFunction": "ease", + "keyframes": { + "0%": {}, + "100%": { + "backgroundColor": "var(--neutral-20)" + } + } + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/57eb5e61f8c0fe8050848d90fc6d3f6887fc41664c60ed51a9020840798bf094 b/Gateways/FE/projects/.resources/57eb5e61f8c0fe8050848d90fc6d3f6887fc41664c60ed51a9020840798bf094 new file mode 100644 index 0000000..3b49286 --- /dev/null +++ b/Gateways/FE/projects/.resources/57eb5e61f8c0fe8050848d90fc6d3f6887fc41664c60ed51a9020840798bf094 @@ -0,0 +1,389 @@ +{ + "custom": { + "OCmd": { + "Reset": 0 + }, + "StsAuto": true + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_CRAC1" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Enable": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Command Enable" + }, + "type": "tag" + } + }, + "custom.StsAuto": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Unit Status" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Enable \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "EnableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Enable" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Enable" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Enable \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "DisableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Enable" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": false + }, + { + "input": 0, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Disable" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "375px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ResetBtn" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row02" + }, + "position": { + "basis": "375px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Tag Config_0" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Return Air Temperature Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "\u00270,0.##\u0027", + "name": "Return Air Temperature Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Tag Config" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Return Air Humidity Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "0,0.##", + "name": "Return Air Humidity Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 2 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "grow": 12 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/57efabb9cbb89c0be338bd30100ccc5841ac3a668f0a30f76c0431b908940cff b/Gateways/FE/projects/.resources/57efabb9cbb89c0be338bd30100ccc5841ac3a668f0a30f76c0431b908940cff new file mode 100644 index 0000000..2449c34 --- /dev/null +++ b/Gateways/FE/projects/.resources/57efabb9cbb89c0be338bd30100ccc5841ac3a668f0a30f76c0431b908940cff @@ -0,0 +1,2222 @@ +{ + "custom": { + "alarmHi": null, + "data": [ + { + "T1": 40.735300336020444, + "T2": 38.5, + "T3": 38.695588211103306, + "t_stamp": 1775141946257 + }, + { + "T1": 40.70000076293945, + "T2": 38.5, + "T3": 38.70000076293945, + "t_stamp": 1775141976257 + }, + { + "T1": 40.31763989237365, + "T2": 38.5, + "T3": 38.604408722066246, + "t_stamp": 1775142006257 + }, + { + "T1": 40.29999923706055, + "T2": 38.5, + "T3": 38.599998474121094, + "t_stamp": 1775142036257 + }, + { + "T1": 40.01317738234767, + "T2": 38.5, + "T3": 38.599998474121094, + "t_stamp": 1775142066257 + }, + { + "T1": 40, + "T2": 38.5, + "T3": 38.599998474121094, + "t_stamp": 1775142096257 + }, + { + "T1": 40, + "T2": 38.691169603699436, + "T3": 39.07792066024123, + "t_stamp": 1775142126257 + }, + { + "T1": 40, + "T2": 38.70000076293945, + "T3": 39.099998474121094, + "t_stamp": 1775142156257 + }, + { + "T1": 40.28674927075704, + "T2": 39.08230005026996, + "T3": 39.86460434060406, + "t_stamp": 1775142186257 + }, + { + "T1": 40.436748889287315, + "T2": 39.099998474121094, + "T3": 39.900001525878906, + "t_stamp": 1775142216257 + }, + { + "T1": 40.58674850781759, + "T2": 39.386750286823016, + "T3": 39.900001525878906, + "t_stamp": 1775142246257 + }, + { + "T1": 40.599998474121094, + "T2": 39.400001525878906, + "T3": 39.900001525878906, + "t_stamp": 1775142276257 + }, + { + "T1": 40.31323486518361, + "T2": 39.30441122530166, + "T3": 39.70882457112154, + "t_stamp": 1775142306257 + }, + { + "T1": 40.29999923706055, + "T2": 39.29999923706055, + "T3": 39.60881918938273, + "t_stamp": 1775142336257 + }, + { + "T1": 40.20440758270671, + "T2": 39.108812281765005, + "T3": 39.50881380764391, + "t_stamp": 1775142366257 + }, + { + "T1": 40.20000076293945, + "T2": 39.099998474121094, + "T3": 39.5, + "t_stamp": 1775142396257 + }, + { + "T1": 40.00880380710574, + "T2": 39.00440181959355, + "T3": 39.40440311544422, + "t_stamp": 1775142426257 + }, + { + "T1": 40, + "T2": 39, + "T3": 39.354401257980776, + "t_stamp": 1775142456257 + }, + { + "T1": 39.90439993871276, + "T2": 39, + "T3": 39.30439940051733, + "t_stamp": 1775142486257 + }, + { + "T1": 39.900001525878906, + "T2": 39, + "T3": 39.29999923706055, + "t_stamp": 1775142516257 + }, + { + "T1": 39.613198388399866, + "T2": 38.8087991239651, + "T3": 39.01319996643066, + "t_stamp": 1775142546257 + }, + { + "T1": 39.599998474121094, + "T2": 38.79999923706055, + "T3": 39, + "t_stamp": 1775142576257 + }, + { + "T1": 39.50440630567256, + "T2": 38.704407068612014, + "T3": 39, + "t_stamp": 1775142606257 + }, + { + "T1": 39.5, + "T2": 38.70000076293945, + "T3": 39, + "t_stamp": 1775142636257 + }, + { + "T1": 40.4559970664711, + "T2": 38.70000076293945, + "T3": 39, + "t_stamp": 1775142666257 + }, + { + "T1": 40.5, + "T2": 38.70000076293945, + "T3": 39, + "t_stamp": 1775142696257 + }, + { + "T1": 42.12501114473656, + "T2": 38.70000076293945, + "T3": 38.80882172180375, + "t_stamp": 1775142726257 + }, + { + "T1": 42.20000076293945, + "T2": 38.70000076293945, + "T3": 38.79999923706055, + "t_stamp": 1775142756257 + }, + { + "T1": 42.486803273993154, + "T2": 38.89120365260585, + "T3": 38.99118778567366, + "t_stamp": 1775142786257 + }, + { + "T1": 42.5, + "T2": 38.900001525878906, + "T3": 39.091194000839266, + "t_stamp": 1775142816257 + }, + { + "T1": 42.213200509374346, + "T2": 38.900001525878906, + "T3": 39.19120021600488, + "t_stamp": 1775142846257 + }, + { + "T1": 42.20000076293945, + "T2": 38.900001525878906, + "T3": 39.20000076293945, + "t_stamp": 1775142876257 + }, + { + "T1": 41.3395849639359, + "T2": 38.99560166047425, + "T3": 39.2956008975348, + "t_stamp": 1775142906257 + }, + { + "T1": 41.29999923706055, + "T2": 39, + "T3": 39.29999923706055, + "t_stamp": 1775142936257 + }, + { + "T1": 40.91762662292689, + "T2": 39, + "T3": 39.10881110668858, + "t_stamp": 1775142966257 + }, + { + "T1": 40.900001525878906, + "T2": 39, + "T3": 39.099998474121094, + "t_stamp": 1775142996257 + }, + { + "T1": 40.61322816771383, + "T2": 39, + "T3": 39.195590809001025, + "t_stamp": 1775143026257 + }, + { + "T1": 40.599998474121094, + "T2": 39, + "T3": 39.20000076293945, + "t_stamp": 1775143056257 + }, + { + "T1": 40.21760879619607, + "T2": 38.80880333765098, + "T3": 39.00880410059043, + "t_stamp": 1775143086257 + }, + { + "T1": 40.20000076293945, + "T2": 38.79999923706055, + "T3": 39, + "t_stamp": 1775143116257 + }, + { + "T1": 39.913199888888784, + "T2": 38.704398945710324, + "T3": 38.90441905553888, + "t_stamp": 1775143146257 + }, + { + "T1": 39.76319681663299, + "T2": 38.65439792162506, + "T3": 38.900001525878906, + "t_stamp": 1775143176257 + }, + { + "T1": 39.61319374437719, + "T2": 38.60439689753979, + "T3": 38.70879922285472, + "t_stamp": 1775143206257 + }, + { + "T1": 39.599998474121094, + "T2": 38.599998474121094, + "T3": 38.70000076293945, + "t_stamp": 1775143236257 + }, + { + "T1": 39.408797751495456, + "T2": 38.408813990359405, + "T3": 38.70000076293945, + "t_stamp": 1775143266257 + }, + { + "T1": 39.308799116904545, + "T2": 38.400001525878906, + "T3": 38.70000076293945, + "t_stamp": 1775143296257 + }, + { + "T1": 39.208800482313634, + "T2": 38.304406157949145, + "T3": 38.60440467504429, + "t_stamp": 1775143326257 + }, + { + "T1": 39.10880184772273, + "T2": 38.254405093755466, + "T3": 38.554403234273416, + "t_stamp": 1775143356257 + }, + { + "T1": 39.00880321313182, + "T2": 38.20440402956178, + "T3": 38.50440179350253, + "t_stamp": 1775143386257 + }, + { + "T1": 39, + "T2": 38.1544029653681, + "T3": 38.5, + "t_stamp": 1775143416257 + }, + { + "T1": 39, + "T2": 38.10440190117442, + "T3": 38.30880579054609, + "t_stamp": 1775143446257 + }, + { + "T1": 39, + "T2": 38.099998474121094, + "T3": 38.29999923706055, + "t_stamp": 1775143476257 + }, + { + "T1": 40.43383051412383, + "T2": 38.099998474121094, + "T3": 38.39559626839956, + "t_stamp": 1775143506257 + }, + { + "T1": 40.5, + "T2": 38.099998474121094, + "T3": 38.44559645913442, + "t_stamp": 1775143536257 + }, + { + "T1": 41.838349654366745, + "T2": 38.19559696183839, + "T3": 38.495596649869285, + "t_stamp": 1775143566257 + }, + { + "T1": 41.900001525878906, + "T2": 38.20000076293945, + "T3": 38.5, + "t_stamp": 1775143596257 + }, + { + "T1": 42.18681947832947, + "T2": 38.391180256956154, + "T3": 38.5, + "t_stamp": 1775143626257 + }, + { + "T1": 42.20000076293945, + "T2": 38.49117301856746, + "T3": 38.5, + "t_stamp": 1775143656257 + }, + { + "T1": 41.530909488149256, + "T2": 38.59116578017876, + "T3": 38.69116930939123, + "t_stamp": 1775143686257 + }, + { + "T1": 41.5, + "T2": 38.599998474121094, + "T3": 38.70000076293945, + "t_stamp": 1775143716257 + }, + { + "T1": 40.9264058594625, + "T2": 38.599998474121094, + "T3": 38.70000076293945, + "t_stamp": 1775143746257 + }, + { + "T1": 40.900001525878906, + "T2": 38.599998474121094, + "T3": 38.70000076293945, + "t_stamp": 1775143776257 + }, + { + "T1": 40.5176064403901, + "T2": 38.50440048757755, + "T3": 38.70000076293945, + "t_stamp": 1775143806257 + }, + { + "T1": 40.5, + "T2": 38.45440154064055, + "T3": 38.70000076293945, + "t_stamp": 1775143836257 + }, + { + "T1": 39.92647836957168, + "T2": 38.40440259370355, + "T3": 38.604411393627004, + "t_stamp": 1775143866257 + }, + { + "T1": 39.900001525878906, + "T2": 38.35440364676655, + "T3": 38.599998474121094, + "t_stamp": 1775143896257 + }, + { + "T1": 39.70880834395899, + "T2": 38.304404699829554, + "T3": 38.695596888434366, + "t_stamp": 1775143926257 + }, + { + "T1": 39.70000076293945, + "T2": 38.25440575289255, + "T3": 38.70000076293945, + "t_stamp": 1775143956257 + }, + { + "T1": 39.31770821072147, + "T2": 38.20440680595555, + "T3": 38.50885448683046, + "t_stamp": 1775143986257 + }, + { + "T1": 39.29999923706055, + "T2": 38.154407859018555, + "T3": 38.5, + "t_stamp": 1775144016257 + }, + { + "T1": 39.108861699205896, + "T2": 38.10440891208155, + "T3": 38.404426103275746, + "t_stamp": 1775144046257 + }, + { + "T1": 39.008864731212604, + "T2": 38.05440996514455, + "T3": 38.35442493658185, + "t_stamp": 1775144076257 + }, + { + "T1": 38.90886776321931, + "T2": 38.004411018207556, + "T3": 38.30442376988796, + "t_stamp": 1775144106257 + }, + { + "T1": 38.80887079522602, + "T2": 37.95441207127055, + "T3": 38.25442260319407, + "t_stamp": 1775144136257 + }, + { + "T1": 38.70887382723272, + "T2": 37.90441312433355, + "T3": 38.20442143650018, + "t_stamp": 1775144166257 + }, + { + "T1": 38.70000076293945, + "T2": 37.854414177396556, + "T3": 38.154420269806295, + "t_stamp": 1775144196257 + }, + { + "T1": 38.604435242335, + "T2": 37.804415230459554, + "T3": 38.104419103112406, + "t_stamp": 1775144226257 + }, + { + "T1": 38.599998474121094, + "T2": 37.75441628352255, + "T3": 38.05441793641852, + "t_stamp": 1775144256257 + }, + { + "T1": 39.077910723237586, + "T2": 37.70441733658556, + "T3": 38.00441676972463, + "t_stamp": 1775144286257 + }, + { + "T1": 39.099998474121094, + "T2": 37.70000076293945, + "T3": 38, + "t_stamp": 1775144316257 + }, + { + "T1": 40.246960971280814, + "T2": 37.795596977219006, + "T3": 38, + "t_stamp": 1775144346257 + }, + { + "T1": 40.846941353404475, + "T2": 37.79999923706055, + "T3": 38, + "t_stamp": 1775144376257 + }, + { + "T1": 41.44692173552813, + "T2": 37.79999923706055, + "T3": 38.095576166449135, + "t_stamp": 1775144406257 + }, + { + "T1": 41.5, + "T2": 37.79999923706055, + "T3": 38.099998474121094, + "t_stamp": 1775144436257 + }, + { + "T1": 41.40440885986084, + "T2": 37.991172416903964, + "T3": 38.099998474121094, + "t_stamp": 1775144466257 + }, + { + "T1": 41.400001525878906, + "T2": 38.09118279941194, + "T3": 38.099998474121094, + "t_stamp": 1775144496257 + }, + { + "T1": 40.922018926458925, + "T2": 38.191193181919914, + "T3": 38.29119224323265, + "t_stamp": 1775144526257 + }, + { + "T1": 40.900001525878906, + "T2": 38.20000076293945, + "T3": 38.29999923706055, + "t_stamp": 1775144556257 + }, + { + "T1": 40.326553142467645, + "T2": 38.20000076293945, + "T3": 38.204426329428365, + "t_stamp": 1775144586257 + }, + { + "T1": 40.29999923706055, + "T2": 38.20000076293945, + "T3": 38.20000076293945, + "t_stamp": 1775144616257 + }, + { + "T1": 39.822029010178056, + "T2": 38.20000076293945, + "T3": 38.295593349666575, + "t_stamp": 1775144646257 + }, + { + "T1": 39.79999923706055, + "T2": 38.20000076293945, + "T3": 38.29999923706055, + "t_stamp": 1775144676257 + }, + { + "T1": 39.41763417055867, + "T2": 38.00881640641936, + "T3": 38.20440888206965, + "t_stamp": 1775144706257 + }, + { + "T1": 39.400001525878906, + "T2": 38, + "T3": 38.20000076293945, + "t_stamp": 1775144736257 + }, + { + "T1": 39.11321404907019, + "T2": 37.90440705876078, + "T3": 38.20000076293945, + "t_stamp": 1775144766257 + }, + { + "T1": 39.099998474121094, + "T2": 37.85440639208523, + "T3": 38.20000076293945, + "t_stamp": 1775144796257 + }, + { + "T1": 38.90881776413931, + "T2": 37.80440572540967, + "T3": 38.00881640641936, + "t_stamp": 1775144826257 + }, + { + "T1": 38.900001525878906, + "T2": 37.754405058734115, + "T3": 38, + "t_stamp": 1775144856257 + }, + { + "T1": 38.61320448885028, + "T2": 37.704404392058564, + "T3": 37.904403418841, + "t_stamp": 1775144886257 + }, + { + "T1": 38.599998474121094, + "T2": 37.654403725383006, + "T3": 37.900001525878906, + "t_stamp": 1775144916257 + }, + { + "T1": 38.504419122383716, + "T2": 37.60440305870745, + "T3": 37.900001525878906, + "t_stamp": 1775144946257 + }, + { + "T1": 38.5, + "T2": 37.554402392031896, + "T3": 37.900001525878906, + "t_stamp": 1775144976257 + }, + { + "T1": 38.30880421822248, + "T2": 37.50440172535634, + "T3": 37.70880574410138, + "t_stamp": 1775145006257 + }, + { + "T1": 38.29999923706055, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775145036257 + }, + { + "T1": 38.204408735142145, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775145066257 + }, + { + "T1": 38.20000076293945, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775145096257 + }, + { + "T1": 38.48677981328375, + "T2": 37.40440819874972, + "T3": 37.604405315095704, + "t_stamp": 1775145126257 + }, + { + "T1": 38.5, + "T2": 37.400001525878906, + "T3": 37.599998474121094, + "t_stamp": 1775145156257 + }, + { + "T1": 39.64706337615045, + "T2": 37.400001525878906, + "T3": 37.599998474121094, + "t_stamp": 1775145186257 + }, + { + "T1": 39.70000076293945, + "T2": 37.400001525878906, + "T3": 37.599998474121094, + "t_stamp": 1775145216257 + }, + { + "T1": 41.03798994374632, + "T2": 37.495574064769194, + "T3": 37.69557283594071, + "t_stamp": 1775145246257 + }, + { + "T1": 41.099998474121094, + "T2": 37.545565803068996, + "T3": 37.745565527771795, + "t_stamp": 1775145276257 + }, + { + "T1": 41.386677944747795, + "T2": 37.5955575413688, + "T3": 37.79555821960289, + "t_stamp": 1775145306257 + }, + { + "T1": 41.400001525878906, + "T2": 37.599998474121094, + "T3": 37.79999923706055, + "t_stamp": 1775145336257 + }, + { + "T1": 40.826625070411254, + "T2": 37.791147728048976, + "T3": 37.99114849098843, + "t_stamp": 1775145366257 + }, + { + "T1": 40.52661122783639, + "T2": 37.79999923706055, + "T3": 38, + "t_stamp": 1775145396257 + }, + { + "T1": 40.22659738526153, + "T2": 37.89558279683601, + "T3": 38, + "t_stamp": 1775145426257 + }, + { + "T1": 39.92658354268667, + "T2": 37.900001525878906, + "T3": 38, + "t_stamp": 1775145456257 + }, + { + "T1": 39.62656970011181, + "T2": 37.8044272289512, + "T3": 38.09556898466648, + "t_stamp": 1775145486257 + }, + { + "T1": 39.599998474121094, + "T2": 37.79999923706055, + "T3": 38.099998474121094, + "t_stamp": 1775145516257 + }, + { + "T1": 39.31324118968238, + "T2": 37.79999923706055, + "T3": 38.004414001658155, + "t_stamp": 1775145546257 + }, + { + "T1": 39.29999923706055, + "T2": 37.79999923706055, + "T3": 38, + "t_stamp": 1775145576257 + }, + { + "T1": 38.91769298882388, + "T2": 37.60884747549767, + "T3": 37.80884823843712, + "t_stamp": 1775145606257 + }, + { + "T1": 38.900001525878906, + "T2": 37.599998474121094, + "T3": 37.79999923706055, + "t_stamp": 1775145636257 + }, + { + "T1": 38.61324471270942, + "T2": 37.599998474121094, + "T3": 37.79999923706055, + "t_stamp": 1775145666257 + }, + { + "T1": 38.599998474121094, + "T2": 37.599998474121094, + "T3": 37.79999923706055, + "t_stamp": 1775145696257 + }, + { + "T1": 38.50441652566492, + "T2": 37.50441411135018, + "T3": 37.704417288604375, + "t_stamp": 1775145726257 + }, + { + "T1": 38.5, + "T2": 37.45441444468129, + "T3": 37.70000076293945, + "t_stamp": 1775145756257 + }, + { + "T1": 38.308856497028245, + "T2": 37.4044147780124, + "T3": 37.70000076293945, + "t_stamp": 1775145786257 + }, + { + "T1": 38.208868614043894, + "T2": 37.35441511134351, + "T3": 37.70000076293945, + "t_stamp": 1775145816257 + }, + { + "T1": 38.108880731059536, + "T2": 37.304415444674625, + "T3": 37.5088805550448, + "t_stamp": 1775145846257 + }, + { + "T1": 38.099998474121094, + "T2": 37.254415778005736, + "T3": 37.5, + "t_stamp": 1775145876257 + }, + { + "T1": 38.00441770369961, + "T2": 37.20441611133685, + "T3": 37.5, + "t_stamp": 1775145906257 + }, + { + "T1": 38, + "T2": 37.15441644466796, + "T3": 37.5, + "t_stamp": 1775145936257 + }, + { + "T1": 38.191164209839464, + "T2": 37.10441677799907, + "T3": 37.404419718157286, + "t_stamp": 1775145966257 + }, + { + "T1": 38.20000076293945, + "T2": 37.099998474121094, + "T3": 37.400001525878906, + "t_stamp": 1775145996257 + }, + { + "T1": 39.44254099137207, + "T2": 37.195577717674944, + "T3": 37.400001525878906, + "t_stamp": 1775146026257 + }, + { + "T1": 39.5, + "T2": 37.24557645011345, + "T3": 37.400001525878906, + "t_stamp": 1775146056257 + }, + { + "T1": 41.1249148930473, + "T2": 37.29557518255195, + "T3": 37.49558245696713, + "t_stamp": 1775146086257 + }, + { + "T1": 41.20000076293945, + "T2": 37.345573914990446, + "T3": 37.54558294403985, + "t_stamp": 1775146116257 + }, + { + "T1": 41.20000076293945, + "T2": 37.39557264742895, + "T3": 37.59558343111257, + "t_stamp": 1775146146257 + }, + { + "T1": 41.20000076293945, + "T2": 37.445571379867445, + "T3": 37.599998474121094, + "t_stamp": 1775146176257 + }, + { + "T1": 40.62657414623706, + "T2": 37.49557011230595, + "T3": 37.599998474121094, + "t_stamp": 1775146206257 + }, + { + "T1": 40.599998474121094, + "T2": 37.5, + "T3": 37.599998474121094, + "t_stamp": 1775146236257 + }, + { + "T1": 39.835400973387294, + "T2": 37.5, + "T3": 37.791148760776665, + "t_stamp": 1775146266257 + }, + { + "T1": 39.79999923706055, + "T2": 37.5, + "T3": 37.79999923706055, + "t_stamp": 1775146296257 + }, + { + "T1": 39.41765044475972, + "T2": 37.5, + "T3": 37.704412950581116, + "t_stamp": 1775146326257 + }, + { + "T1": 39.400001525878906, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775146356257 + }, + { + "T1": 39.113234446541064, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775146386257 + }, + { + "T1": 38.96323335888853, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775146416257 + }, + { + "T1": 38.813232271236004, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775146446257 + }, + { + "T1": 38.66323118358348, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775146476257 + }, + { + "T1": 38.51323009593095, + "T2": 37.404415505507735, + "T3": 37.60440886908432, + "t_stamp": 1775146506257 + }, + { + "T1": 38.5, + "T2": 37.35441489810114, + "T3": 37.599998474121094, + "t_stamp": 1775146536257 + }, + { + "T1": 38.30882882926471, + "T2": 37.30441429069455, + "T3": 37.599998474121094, + "t_stamp": 1775146566257 + }, + { + "T1": 38.29999923706055, + "T2": 37.29999923706055, + "T3": 37.599998474121094, + "t_stamp": 1775146596257 + }, + { + "T1": 38.20443162350749, + "T2": 37.29999923706055, + "T3": 37.50442539836002, + "t_stamp": 1775146626257 + }, + { + "T1": 38.20000076293945, + "T2": 37.29999923706055, + "T3": 37.45443163586535, + "t_stamp": 1775146656257 + }, + { + "T1": 38.008882478972666, + "T2": 37.20443433226688, + "T3": 37.404437873370675, + "t_stamp": 1775146686257 + }, + { + "T1": 37.90889209654118, + "T2": 37.15443612603033, + "T3": 37.354444110875995, + "t_stamp": 1775146716257 + }, + { + "T1": 37.808901714109695, + "T2": 37.10443791979378, + "T3": 37.30445034838132, + "t_stamp": 1775146746257 + }, + { + "T1": 37.79999923706055, + "T2": 37.05443971355723, + "T3": 37.29999923706055, + "t_stamp": 1775146776257 + }, + { + "T1": 37.8955593133293, + "T2": 37.00444150732068, + "T3": 37.29999923706055, + "t_stamp": 1775146806257 + }, + { + "T1": 37.900001525878906, + "T2": 37, + "T3": 37.29999923706055, + "t_stamp": 1775146836257 + }, + { + "T1": 39.333495983750396, + "T2": 37, + "T3": 37.29999923706055, + "t_stamp": 1775146866257 + }, + { + "T1": 39.400001525878906, + "T2": 37, + "T3": 37.29999923706055, + "t_stamp": 1775146896257 + }, + { + "T1": 40.6423467576759, + "T2": 37.09556361570813, + "T3": 37.29999923706055, + "t_stamp": 1775146926257 + }, + { + "T1": 40.70000076293945, + "T2": 37.099998474121094, + "T3": 37.29999923706055, + "t_stamp": 1775146956257 + }, + { + "T1": 40.98669981215385, + "T2": 37.29113238878943, + "T3": 37.29999923706055, + "t_stamp": 1775146986257 + }, + { + "T1": 41, + "T2": 37.29999923706055, + "T3": 37.29999923706055, + "t_stamp": 1775147016257 + }, + { + "T1": 40.61766815312725, + "T2": 37.39556706468368, + "T3": 37.49113489230681, + "t_stamp": 1775147046257 + }, + { + "T1": 40.599998474121094, + "T2": 37.44556767209027, + "T3": 37.59113610711999, + "t_stamp": 1775147076257 + }, + { + "T1": 39.8354472193856, + "T2": 37.495568279496865, + "T3": 37.69113732193318, + "t_stamp": 1775147106257 + }, + { + "T1": 39.79999923706055, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775147136257 + }, + { + "T1": 39.5132925769669, + "T2": 37.404417194456116, + "T3": 37.60441431114526, + "t_stamp": 1775147166257 + }, + { + "T1": 39.36329170842939, + "T2": 37.400001525878906, + "T3": 37.599998474121094, + "t_stamp": 1775147196257 + }, + { + "T1": 39.213290839891876, + "T2": 37.400001525878906, + "T3": 37.695571325960344, + "t_stamp": 1775147226257 + }, + { + "T1": 39.20000076293945, + "T2": 37.400001525878906, + "T3": 37.70000076293945, + "t_stamp": 1775147256257 + }, + { + "T1": 38.72215872697338, + "T2": 37.400001525878906, + "T3": 37.60443016835899, + "t_stamp": 1775147286257 + }, + { + "T1": 38.70000076293945, + "T2": 37.400001525878906, + "T3": 37.599998474121094, + "t_stamp": 1775147316257 + }, + { + "T1": 38.50885551773118, + "T2": 37.30441985396496, + "T3": 37.599998474121094, + "t_stamp": 1775147346257 + }, + { + "T1": 38.40885102955957, + "T2": 37.29999923706055, + "T3": 37.599998474121094, + "t_stamp": 1775147376257 + }, + { + "T1": 38.30884654138796, + "T2": 37.29999923706055, + "T3": 37.50441772883533, + "t_stamp": 1775147406257 + }, + { + "T1": 38.20884205321635, + "T2": 37.29999923706055, + "T3": 37.454416467067965, + "t_stamp": 1775147436257 + }, + { + "T1": 38.10883756504474, + "T2": 37.20442311728795, + "T3": 37.4044152053006, + "t_stamp": 1775147466257 + }, + { + "T1": 38.00883307687313, + "T2": 37.15442340339025, + "T3": 37.354413943533245, + "t_stamp": 1775147496257 + }, + { + "T1": 37.90882858870152, + "T2": 37.10442368949254, + "T3": 37.30441268176588, + "t_stamp": 1775147526257 + }, + { + "T1": 37.900001525878906, + "T2": 37.05442397559484, + "T3": 37.29999923706055, + "t_stamp": 1775147556257 + }, + { + "T1": 37.804419273690655, + "T2": 37.00442426169713, + "T3": 37.29999923706055, + "t_stamp": 1775147586257 + }, + { + "T1": 37.75442158284033, + "T2": 36.95442454779943, + "T3": 37.29999923706055, + "t_stamp": 1775147616257 + }, + { + "T1": 37.70442389199001, + "T2": 36.90442483390172, + "T3": 37.10884487965493, + "t_stamp": 1775147646257 + }, + { + "T1": 37.70000076293945, + "T2": 36.900001525878906, + "T3": 37.099998474121094, + "t_stamp": 1775147676257 + }, + { + "T1": 38.17786020330077, + "T2": 36.900001525878906, + "T3": 37.099998474121094, + "t_stamp": 1775147706257 + }, + { + "T1": 38.20000076293945, + "T2": 36.900001525878906, + "T3": 37.099998474121094, + "t_stamp": 1775147736257 + }, + { + "T1": 39.442618093051685, + "T2": 36.900001525878906, + "T3": 37.099998474121094, + "t_stamp": 1775147766257 + }, + { + "T1": 39.5, + "T2": 36.900001525878906, + "T3": 37.099998474121094, + "t_stamp": 1775147796257 + }, + { + "T1": 40.646983380099385, + "T2": 36.99558195498734, + "T3": 37.195581921042695, + "t_stamp": 1775147826257 + }, + { + "T1": 40.70000076293945, + "T2": 37, + "T3": 37.245580236840716, + "t_stamp": 1775147856257 + }, + { + "T1": 40.50887811028395, + "T2": 37.1911226526555, + "T3": 37.29557855263874, + "t_stamp": 1775147886257 + }, + { + "T1": 40.5, + "T2": 37.20000076293945, + "T3": 37.34557686843676, + "t_stamp": 1775147916257 + }, + { + "T1": 40.02217212670739, + "T2": 37.29557364074124, + "T3": 37.39557518423478, + "t_stamp": 1775147946257 + }, + { + "T1": 39.77215754252332, + "T2": 37.29999923706055, + "T3": 37.4455735000328, + "t_stamp": 1775147976257 + }, + { + "T1": 39.52214295833924, + "T2": 37.29999923706055, + "T3": 37.49557181583082, + "t_stamp": 1775148006257 + }, + { + "T1": 39.5, + "T2": 37.29999923706055, + "T3": 37.5, + "t_stamp": 1775148036257 + }, + { + "T1": 39.11767364238967, + "T2": 37.29999923706055, + "T3": 37.4044202336646, + "t_stamp": 1775148066257 + }, + { + "T1": 39.099998474121094, + "T2": 37.29999923706055, + "T3": 37.400001525878906, + "t_stamp": 1775148096257 + }, + { + "T1": 38.622074209978955, + "T2": 37.20441584274123, + "T3": 37.495584920198226, + "t_stamp": 1775148126257 + }, + { + "T1": 38.599998474121094, + "T2": 37.20000076293945, + "T3": 37.5, + "t_stamp": 1775148156257 + }, + { + "T1": 38.31330632001016, + "T2": 37.20000076293945, + "T3": 37.30887068209653, + "t_stamp": 1775148186257 + }, + { + "T1": 38.29999923706055, + "T2": 37.20000076293945, + "T3": 37.29999923706055, + "t_stamp": 1775148216257 + }, + { + "T1": 38.10883360817773, + "T2": 37.10444025041135, + "T3": 37.3955838745925, + "t_stamp": 1775148246257 + }, + { + "T1": 38.099998474121094, + "T2": 37.05444172629396, + "T3": 37.400001525878906, + "t_stamp": 1775148276257 + }, + { + "T1": 38.00444208097852, + "T2": 37.00444320217657, + "T3": 37.30442181041224, + "t_stamp": 1775148306257 + }, + { + "T1": 38, + "T2": 37, + "T3": 37.25442370293185, + "t_stamp": 1775148336257 + }, + { + "T1": 37.808850893624324, + "T2": 37, + "T3": 37.20442559545147, + "t_stamp": 1775148366257 + }, + { + "T1": 37.79999923706055, + "T2": 37, + "T3": 37.20000076293945, + "t_stamp": 1775148396257 + }, + { + "T1": 37.70441613710932, + "T2": 36.90442304246102, + "T3": 37.20000076293945, + "t_stamp": 1775148426257 + }, + { + "T1": 37.70000076293945, + "T2": 36.85442201837575, + "T3": 37.20000076293945, + "t_stamp": 1775148456257 + }, + { + "T1": 37.50884277754947, + "T2": 36.80442099429049, + "T3": 37.00884277754947, + "t_stamp": 1775148486257 + }, + { + "T1": 37.5, + "T2": 36.79999923706055, + "T3": 37, + "t_stamp": 1775148516257 + }, + { + "T1": 38.16904906253815, + "T2": 36.79999923706055, + "T3": 37, + "t_stamp": 1775148546257 + }, + { + "T1": 38.20000076293945, + "T2": 36.79999923706055, + "T3": 37, + "t_stamp": 1775148576257 + }, + { + "T1": 39.4423941277315, + "T2": 36.8955759438149, + "T3": 36.90443268180811, + "t_stamp": 1775148606257 + }, + { + "T1": 39.5, + "T2": 36.94557509290082, + "T3": 36.900001525878906, + "t_stamp": 1775148636257 + }, + { + "T1": 40.64697365894971, + "T2": 36.995574241986745, + "T3": 37.0911607639299, + "t_stamp": 1775148666257 + }, + { + "T1": 40.70000076293945, + "T2": 37.045573391072665, + "T3": 37.099998474121094, + "t_stamp": 1775148696257 + }, + { + "T1": 40.60441690858205, + "T2": 37.09557254015859, + "T3": 37.195574930109615, + "t_stamp": 1775148726257 + }, + { + "T1": 40.599998474121094, + "T2": 37.14557168924452, + "T3": 37.24557220433682, + "t_stamp": 1775148756257 + }, + { + "T1": 40.12214589025588, + "T2": 37.19557083833044, + "T3": 37.29556947856402, + "t_stamp": 1775148786257 + }, + { + "T1": 40.099998474121094, + "T2": 37.20000076293945, + "T3": 37.29999923706055, + "t_stamp": 1775148816257 + }, + { + "T1": 39.526541701952084, + "T2": 37.20000076293945, + "T3": 37.49115270976663, + "t_stamp": 1775148846257 + }, + { + "T1": 39.5, + "T2": 37.20000076293945, + "T3": 37.5, + "t_stamp": 1775148876257 + }, + { + "T1": 39.02215648695942, + "T2": 37.20000076293945, + "T3": 37.5, + "t_stamp": 1775148906257 + }, + { + "T1": 39, + "T2": 37.20000076293945, + "T3": 37.5, + "t_stamp": 1775148936257 + }, + { + "T1": 38.61768060448015, + "T2": 37.20000076293945, + "T3": 37.404421974154026, + "t_stamp": 1775148966257 + }, + { + "T1": 38.599998474121094, + "T2": 37.20000076293945, + "T3": 37.400001525878906, + "t_stamp": 1775148996257 + }, + { + "T1": 38.31324964504432, + "T2": 37.20000076293945, + "T3": 37.400001525878906, + "t_stamp": 1775149026257 + }, + { + "T1": 38.29999923706055, + "T2": 37.20000076293945, + "T3": 37.400001525878906, + "t_stamp": 1775149056257 + }, + { + "T1": 38.29999923706055, + "T2": 37.20000076293945, + "T3": 37.400001525878906, + "t_stamp": 1775149086257 + }, + { + "T1": 38.29999923706055, + "T2": 37.20000076293945, + "T3": 37.400001525878906, + "t_stamp": 1775149116257 + } + ], + "hiRange": 100, + "lib": { + "MMR1": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_ht01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_ht02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_ht03_c/val" + } + ], + "MMR2": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1188/satb1_hs1_mmr1188_ht01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1188/satb1_hs1_mmr1188_ht02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1188/satb1_hs1_mmr1188_ht03_c/val" + } + ], + "TL200": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_ht01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_ht02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_ht03_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T4", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_ht01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T5", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_ht02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T6", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_ht03_c/val" + } + ] + }, + "loRange": 20, + "tagPath": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_ht01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_ht02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_ht03_c/val" + } + ] + }, + "params": { + "DH": "DH1", + "room": "MMR1" + }, + "propConfig": { + "custom.alarmHi": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--sunsetorange)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.tagPath}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + }, + "persistent": true + }, + "custom.hiRange": { + "persistent": true + }, + "custom.lib": { + "persistent": true + }, + "custom.loRange": { + "persistent": true + }, + "custom.tagPath": { + "binding": { + "config": { + "struct": { + "lib": "{view.custom.lib}", + "room": "{view.params.room}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tlibrary \u003d value[\u0027lib\u0027]\n\treturn library[value[\u0027room\u0027]]", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.room": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 102, + "width": 125 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "time01" + }, + "position": { + "height": 25, + "width": 37, + "x": 85, + "y": 60 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "time02" + }, + "position": { + "height": 25, + "width": 38, + "x": 6, + "y": 60 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-7200000" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Sparkline", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 65, + "width": 108, + "x": 10.5, + "y": 5.5 + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "code": "\tdata \u003d []\n\tfor item in value:\n\t\tdim \u003d len(dict(item))\n\t\tif dim \u003d\u003d 4:\n\t\t\tavg \u003d (item[\u0027T1\u0027]+item[\u0027T2\u0027]+item[\u0027T3\u0027] )/3\n\t\tif dim \u003d\u003d 7:\n\t\t\tavg \u003d (item[\u0027T1\u0027]+item[\u0027T2\u0027]+item[\u0027T3\u0027]+item[\u0027T4\u0027]+item[\u0027T5\u0027]+item[\u0027T6\u0027] )/6\n\t\tdata.append(avg)\n\treturn data", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.max": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.min": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "transforms": [ + { + "expression": "min({value})", + "type": "expression" + } + ], + "type": "property" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "min": "{this.custom.min}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "\"Max: \" + {value}[\u0027max\u0027] + \" | \" + \"Min: \" + {value}[\u0027min\u0027]\r\n", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.desired.high": { + "binding": { + "config": { + "path": "view.custom.hiRange" + }, + "enabled": false, + "type": "property" + } + }, + "props.desired.low": { + "binding": { + "config": { + "path": "view.custom.hiRange" + }, + "enabled": false, + "type": "property" + } + }, + "props.points": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "type": "property" + } + }, + "props.range.high": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "range": 50 + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027max\u0027] \u003c value[\u0027range\u0027]:\n\t\treturn value[\u0027range\u0027]\n\telse:\n\t\treturn value[\u0027max\u0027]+0.7", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.range.low": { + "binding": { + "config": { + "struct": { + "min": "{this.custom.min}", + "range": 20 + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027min\u0027] \u003e value[\u0027range\u0027]:\n\t\treturn value[\u0027range\u0027]\n\telse:\n\t\treturn value[\u0027min\u0027]-0.7", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "desired": { + "fill": { + "color": "var(--container)" + }, + "high": 50, + "low": 20 + }, + "marker": { + "high": { + "fill": { + "color": "#FB9306" + }, + "style": { + "transform": "rotate(180)" + } + } + }, + "range": {} + }, + "type": "ia.display.sparkline" + }, + { + "meta": { + "name": "Border" + }, + "position": { + "height": 35, + "width": 89, + "x": 13, + "y": 91.5 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--sunsetorange)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "outlineWidth": 3 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 32, + "width": 41, + "x": 60.5045, + "y": 72.5011 + }, + "props": { + "text": "%rh" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 29, + "rotate": { + "anchor": "50% 100%" + }, + "width": 32, + "x": 87.9945, + "y": 63.501099999999994 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 3 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "ack": false + }, + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "custom": { + "CurrentHum": { + "MMR1": [ + null, + null, + null + ], + "MMR2": [ + null, + null, + null + ], + "TL200": [ + null, + null, + null, + null, + null, + null + ] + } + }, + "meta": { + "name": "Value_0" + }, + "position": { + "height": 32, + "width": 39, + "x": 18.5, + "y": 73.5 + }, + "propConfig": { + "custom.CurrentHum.MMR1[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_HT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.MMR1[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_HT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.MMR1[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_HT03_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.MMR2[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_HT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.MMR2[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_HT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.MMR2[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_HT03_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.TL200[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL198_HT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.TL200[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL198_HT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.TL200[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL198_HT03_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.TL200[3]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_HT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.TL200[4]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_HT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.TL200[5]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_HT03_C/Val" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "struct": { + "current": "{this.custom.CurrentHum}", + "room": "{view.params.room}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tlib \u003d value[\u0027current\u0027]\n\tdim \u003d len(lib[value[\u0027room\u0027]])\n\tavg \u003d 0\n\tfor item in lib[value[\u0027room\u0027]]:\n\t\tavg +\u003d item\n\treturn avg / dim", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root", + "tooltip": { + "width": "" + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/58a8322028a1419dbdfc02205fb1fd6c378a938475aee9d60931e9acc8c48f6d b/Gateways/FE/projects/.resources/58a8322028a1419dbdfc02205fb1fd6c378a938475aee9d60931e9acc8c48f6d new file mode 100644 index 0000000..052e092 --- /dev/null +++ b/Gateways/FE/projects/.resources/58a8322028a1419dbdfc02205fb1fd6c378a938475aee9d60931e9acc8c48f6d @@ -0,0 +1,247 @@ +{ + "custom": {}, + "params": { + "color": "var(--callToAction)", + "index": "", + "label": "", + "mode": "custom", + "selected": false, + "source": "" + }, + "propConfig": { + "params.color": { + "paramDirection": "input", + "persistent": true + }, + "params.index": { + "paramDirection": "input", + "persistent": true + }, + "params.label": { + "paramDirection": "input", + "persistent": true + }, + "params.mode": { + "paramDirection": "input", + "persistent": true + }, + "params.selected": { + "paramDirection": "input", + "persistent": true + }, + "params.source": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 35, + "width": 249 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Color" + }, + "position": { + "basis": "4px", + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "{view.params.color}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.params.label} !\u003d \u0027\u0027" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "padding": "2px 0" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onBlur": { + "config": { + "script": "\tself.applyCustomFilter()\n\t" + }, + "scope": "G", + "type": "script" + }, + "onKeyPress": { + "config": { + "script": "\tif event.key \u003d\u003d \u0027Enter\u0027:\n\t\tself.applyCustomFilter()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TextField" + }, + "propConfig": { + "position.basis": { + "binding": { + "config": { + "expression": "\u00270px\u0027" + }, + "type": "expr" + } + }, + "props.style.width": { + "binding": { + "config": { + "path": "this.position.basis" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.label" + }, + "type": "property" + } + } + }, + "props": { + "deferUpdates": false, + "rejectUpdatesWhileFocused": false, + "style": { + "background": "transparent", + "border": "none", + "fontSize": "inherit", + "outline": "none", + "padding": 0 + } + }, + "scripts": { + "customMethods": [ + { + "name": "applyCustomFilter", + "params": [], + "script": "\tpayload \u003d {\n\t\u0027source\u0027: self.view.params.source, \n\t\u0027label\u0027: self.props.text,\n\t\u0027index\u0027: self.view.params.index\n\t}\n\tif payload[\u0027label\u0027] !\u003d \u0027\u0027:\n\t\tsystem.perspective.sendMessage(\u0027customFilter\u0027, payload\u003dpayload)\n\tself.refreshBinding(\u0027position.basis\u0027)" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.input.text-field" + }, + { + "meta": { + "name": "Close" + }, + "position": { + "basis": "18px", + "shrink": 0 + }, + "propConfig": { + "props.color": { + "binding": { + "config": { + "expression": "if({view.params.selected},\r\n\u0027color-mix(in srgb, var(--callToAction) 40%, var(--contextBackground) 60%)\u0027,\r\n\u0027color-mix(in srgb, var(--callToAction) 60%, var(--contextBackground) 40%)\u0027)" + }, + "type": "expr" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "if({view.params.selected}, \r\n\u0027material/close\u0027,\r\nif({view.params.label}\u003d\u0027\u0027,\u0027material/search\u0027,\u0027material/add\u0027))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer", + "marginRight": "5px", + "width": "24px" + } + }, + "type": "ia.display.icon" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\n\t\u0027source\u0027: self.view.params.source, \n\t\u0027label\u0027: self.view.params.label,\n\t\u0027index\u0027: self.view.params.index\n\t}\n\tsystem.perspective.print(payload)\n\tselected \u003d self.view.params.selected\n\tif payload[\u0027label\u0027] \u003d\u003d \u0027\u0027:\n\t\tself.getChild(\"TextField\").position.basis \u003d \u0027auto\u0027\n\t\tself.getChild(\"TextField\").focus()\n\telse:\n\t\tif selected:\n\t\t\tsystem.perspective.sendMessage(\u0027removeFilter\u0027, payload\u003dpayload)\n\t\telse:\n\t\t\tsystem.perspective.sendMessage(\u0027addFilter\u0027, payload\u003dpayload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "expression": "if({view.params.selected},\r\n\u0027buttons/hover-effect-selected\u0027,\r\n\u0027buttons/hover-effect-unselected\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "border": "1px solid var(--border)", + "borderRadius": "var(--borderRadius)", + "cursor": "pointer", + "fontSize": "0.8em", + "gap": "5px", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/58a986555aa2edfe7a3bdd5c5b6d36cd907ff383e09d9dabb2d3995914d5e84a b/Gateways/FE/projects/.resources/58a986555aa2edfe7a3bdd5c5b6d36cd907ff383e09d9dabb2d3995914d5e84a new file mode 100644 index 0000000..d642bf8 --- /dev/null +++ b/Gateways/FE/projects/.resources/58a986555aa2edfe7a3bdd5c5b6d36cd907ff383e09d9dabb2d3995914d5e84a @@ -0,0 +1,871 @@ +{ + "custom": { + "closed": null, + "output": 0 + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "SEL-735", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A/SEL_FDR-1", + "textColor": "var(--olGray)", + "textHandler": { + "txt1": "MAIN", + "txt2": "1200A", + "txt3": "NC" + } + }, + "propConfig": { + "custom.closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.output": { + "binding": { + "config": { + "struct": { + "cb": "{view.custom.closed}", + "in": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027in\u0027] \u003d\u003d1 and value[\u0027cb\u0027] \u003d\u003d True:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "cb": "{view.custom.closed}", + "in": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027in\u0027] \u003d\u003d1 and value[\u0027cb\u0027] \u003d\u003d True:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 59, + "width": 94 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "SES-CB" + }, + "position": { + "height": 50, + "rotate": { + "anchor": "0% 0%" + }, + "width": 49 + }, + "propConfig": { + "custom.colorHandler.breakerIn": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.inputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "custom.colorHandler.breakerOut": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.inputPower} \u0026\u0026 tag(tostr({view.params.tagPath}+\u0027/Breaker Closed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "custom.key": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Trip\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.txt1" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.txt2" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.txt3" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "30", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "22.5", + "x": "6.734", + "y": "7.5" + }, + { + "d": "M29.234,7.5l0,30l-22.5,-0l0,-30l22.5,-0Zm-0.75,0.75l-21,0l0,28.5l21,-0l0,-28.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M29.592,0.648l6.49,6.489c0.199,0.199 0.199,0.522 -0,0.721l-6.49,6.489c-0.198,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 0,-0.721l6.489,-6.489c0.199,-0.199 0.523,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M28.897,8.96l-0.35,-4.735l1.37,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M28.589,1.849c0.134,-0.227 0.379,-0.367 0.643,-0.367c0.264,-0 0.509,0.14 0.643,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.135,0.231 0.137,0.516 0.004,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.267,0 -0.514,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M28.861,9.942l-0.39,-4.988l1.522,0l-0.378,4.988l-0.754,-0Zm-0.353,1.907l-0,-1.164l1.448,0l0,1.164l-1.448,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M34.041,1.181l0,12.633c0,0.265 -0.215,0.481 -0.481,0.481l-8.656,-0c-0.266,-0 -0.481,-0.216 -0.481,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.481,-0.48l8.656,-0c0.266,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M28.861,9.042l-0.39,-5.001l1.522,-0l-0.378,5.001l-0.754,0Zm-0.353,1.912l-0,-1.167l1.448,0l0,1.167l-1.448,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "29.232", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M27.446,9.232l-0.389,-5.617l1.522,-0l-0.378,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M30.332,9.232l-0.39,-5.617l1.522,-0l-0.378,5.617l-0.754,0Zm-0.353,2.148l-0,-1.31l1.448,-0l0,1.31l-1.448,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + }, + { + "elements": [ + { + "d": "M21.809,19.603l-0,7.397l-7.622,-0l0,-7.397l7.622,0Zm-0.675,0.675l-6.272,0l0,6.047l6.272,-0l-0,-6.047Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M17.998,13.5l0,6.103", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M17.984,27l0,4.191", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M15.742,13.5l2.256,-1.477l2.257,1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M15.728,14.977l2.256,-1.477l2.257,1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M20.227,31.523l-2.256,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M20.241,30.045l-2.257,1.478l-2.256,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,10.1074,21.7326)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "-0.309px", + "y": "21.733px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,11.5946,25.4948)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "-0.454px", + "y": "25.495px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,5.70068,29.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "-0.317px", + "y": "29.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,20.3387,24.7735)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "52", + "type": "text", + "x": "15.704px", + "y": "24.774px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMinYMin", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 37 38" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 9, + "width": 38, + "x": 30.000000381469725, + "y": 41.000000381469725 + }, + "props": { + "style": { + "fontSize": 6, + "overflow": "visible", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 9, + "width": 38, + "x": 30.000000381469725, + "y": 31.000000381469725 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Trip\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "fontSize": 6, + "overflow": "visible", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 9, + "width": 38, + "x": 30.000000381469725, + "y": 11.000000381469727 + }, + "props": { + "style": { + "fontSize": 6, + "overflow": "visible", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 9, + "width": 38, + "x": 30.000000381469725, + "y": 21.000000381469725 + }, + "props": { + "style": { + "fontSize": 6, + "overflow": "visible", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/58dcbae673f2a1909b3e592898cea6aae0879243f68abdcf30bed9731d224fb3 b/Gateways/FE/projects/.resources/58dcbae673f2a1909b3e592898cea6aae0879243f68abdcf30bed9731d224fb3 new file mode 100644 index 0000000..52043e6 --- /dev/null +++ b/Gateways/FE/projects/.resources/58dcbae673f2a1909b3e592898cea6aae0879243f68abdcf30bed9731d224fb3 @@ -0,0 +1,1952 @@ +{ + "custom": { + "data_hist": [ + { + "power": 0, + "t_stamp": 1763079337375 + }, + { + "power": 0, + "t_stamp": 1763079367375 + }, + { + "power": 0, + "t_stamp": 1763079397375 + }, + { + "power": 0, + "t_stamp": 1763079427375 + }, + { + "power": 0, + "t_stamp": 1763079457375 + }, + { + "power": 0, + "t_stamp": 1763079487375 + }, + { + "power": 0, + "t_stamp": 1763079517375 + }, + { + "power": 0, + "t_stamp": 1763079547375 + }, + { + "power": 0, + "t_stamp": 1763079577375 + }, + { + "power": 0, + "t_stamp": 1763079607375 + }, + { + "power": 0, + "t_stamp": 1763079637375 + }, + { + "power": 0, + "t_stamp": 1763079667375 + }, + { + "power": 0, + "t_stamp": 1763079697375 + }, + { + "power": 0, + "t_stamp": 1763079727375 + }, + { + "power": 0, + "t_stamp": 1763079757375 + }, + { + "power": 0, + "t_stamp": 1763079787375 + }, + { + "power": 0, + "t_stamp": 1763079817375 + }, + { + "power": 0, + "t_stamp": 1763079847375 + }, + { + "power": 0, + "t_stamp": 1763079877375 + }, + { + "power": 0, + "t_stamp": 1763079907375 + }, + { + "power": 0, + "t_stamp": 1763079937375 + }, + { + "power": 0, + "t_stamp": 1763079967375 + }, + { + "power": 0, + "t_stamp": 1763079997375 + }, + { + "power": 0, + "t_stamp": 1763080027375 + }, + { + "power": 0, + "t_stamp": 1763080057375 + }, + { + "power": 0, + "t_stamp": 1763080087375 + }, + { + "power": 0, + "t_stamp": 1763080117375 + }, + { + "power": 0, + "t_stamp": 1763080147375 + }, + { + "power": 0, + "t_stamp": 1763080177375 + }, + { + "power": 24.921358108520508, + "t_stamp": 1763080207375 + }, + { + "power": 24.94806214295919, + "t_stamp": 1763080237375 + }, + { + "power": 24.957902908325195, + "t_stamp": 1763080267375 + }, + { + "power": 24.87958608705424, + "t_stamp": 1763080297375 + }, + { + "power": 24.850732803344727, + "t_stamp": 1763080327375 + }, + { + "power": 24.65717346909841, + "t_stamp": 1763080357375 + }, + { + "power": 25.05116844177246, + "t_stamp": 1763080387375 + }, + { + "power": 25.049511504586167, + "t_stamp": 1763080417375 + }, + { + "power": 25.332538604736328, + "t_stamp": 1763080447375 + }, + { + "power": 25.02580667541729, + "t_stamp": 1763080477375 + }, + { + "power": 24.893552780151367, + "t_stamp": 1763080507375 + }, + { + "power": 25.253948800488725, + "t_stamp": 1763080537375 + }, + { + "power": 25.062808990478516, + "t_stamp": 1763080567375 + }, + { + "power": 25.101728138496394, + "t_stamp": 1763080597375 + }, + { + "power": 24.823612213134766, + "t_stamp": 1763080627375 + }, + { + "power": 24.784195064732142, + "t_stamp": 1763080657375 + }, + { + "power": 25.38239288330078, + "t_stamp": 1763080687375 + }, + { + "power": 25.124360385733443, + "t_stamp": 1763080717375 + }, + { + "power": 25.001073837280273, + "t_stamp": 1763080747375 + }, + { + "power": 25.35259198287358, + "t_stamp": 1763080777375 + }, + { + "power": 25.20871925354004, + "t_stamp": 1763080807375 + }, + { + "power": 25.18591318693716, + "t_stamp": 1763080837375 + }, + { + "power": 25.29405403137207, + "t_stamp": 1763080867375 + }, + { + "power": 25.101112675216672, + "t_stamp": 1763080897375 + }, + { + "power": 26.25695037841797, + "t_stamp": 1763080927375 + }, + { + "power": 25.650114549358904, + "t_stamp": 1763080957375 + }, + { + "power": 25.16931915283203, + "t_stamp": 1763080987375 + }, + { + "power": 25.064603268177873, + "t_stamp": 1763081017375 + }, + { + "power": 25.006471633911133, + "t_stamp": 1763081047375 + }, + { + "power": 25.042390621227497, + "t_stamp": 1763081077375 + }, + { + "power": 25.53459930419922, + "t_stamp": 1763081107375 + }, + { + "power": 25.098896568081738, + "t_stamp": 1763081137375 + }, + { + "power": 25.138858795166016, + "t_stamp": 1763081167375 + }, + { + "power": 25.073120484045916, + "t_stamp": 1763081197375 + }, + { + "power": 25.317764282226562, + "t_stamp": 1763081227375 + }, + { + "power": 25.12706844701319, + "t_stamp": 1763081257375 + }, + { + "power": 25.035036087036133, + "t_stamp": 1763081287375 + }, + { + "power": 25.0609546671295, + "t_stamp": 1763081317375 + }, + { + "power": 25.070505142211914, + "t_stamp": 1763081347375 + }, + { + "power": 25.461646222387145, + "t_stamp": 1763081377375 + }, + { + "power": 25.60576820373535, + "t_stamp": 1763081407375 + }, + { + "power": 25.135366045354424, + "t_stamp": 1763081437375 + }, + { + "power": 24.962032318115234, + "t_stamp": 1763081467375 + }, + { + "power": 24.954695548502603, + "t_stamp": 1763081497375 + }, + { + "power": 24.95199203491211, + "t_stamp": 1763081527375 + }, + { + "power": 24.99573881034563, + "t_stamp": 1763081557375 + }, + { + "power": 25.011857986450195, + "t_stamp": 1763081587375 + }, + { + "power": 24.91663847891141, + "t_stamp": 1763081617375 + }, + { + "power": 24.881549835205078, + "t_stamp": 1763081647375 + }, + { + "power": 24.914517708036428, + "t_stamp": 1763081677375 + }, + { + "power": 24.926666259765625, + "t_stamp": 1763081707375 + }, + { + "power": 25.165982374191284, + "t_stamp": 1763081737375 + }, + { + "power": 25.254167556762695, + "t_stamp": 1763081767375 + }, + { + "power": 25.085400949223835, + "t_stamp": 1763081797375 + }, + { + "power": 25.023212432861328, + "t_stamp": 1763081827375 + }, + { + "power": 24.90924859530131, + "t_stamp": 1763081857375 + }, + { + "power": 24.86725425720215, + "t_stamp": 1763081887375 + }, + { + "power": 24.856175417979635, + "t_stamp": 1763081917375 + }, + { + "power": 24.852092742919922, + "t_stamp": 1763081947375 + }, + { + "power": 25.118170011202494, + "t_stamp": 1763081977375 + }, + { + "power": 25.216224670410156, + "t_stamp": 1763082007375 + }, + { + "power": 24.951921347818438, + "t_stamp": 1763082037375 + }, + { + "power": 24.854490280151367, + "t_stamp": 1763082067375 + }, + { + "power": 25.074854373955727, + "t_stamp": 1763082097375 + }, + { + "power": 25.156082153320312, + "t_stamp": 1763082127375 + }, + { + "power": 24.940506016286793, + "t_stamp": 1763082157375 + }, + { + "power": 24.861053466796875, + "t_stamp": 1763082187375 + }, + { + "power": 24.9404443144691, + "t_stamp": 1763082217375 + }, + { + "power": 24.969707489013672, + "t_stamp": 1763082247375 + }, + { + "power": 25.34771315511068, + "t_stamp": 1763082277375 + }, + { + "power": 25.487051010131836, + "t_stamp": 1763082307375 + }, + { + "power": 25.133863984952352, + "t_stamp": 1763082337375 + }, + { + "power": 25.003690719604492, + "t_stamp": 1763082367375 + }, + { + "power": 25.195533475875855, + "t_stamp": 1763082397375 + }, + { + "power": 25.266237258911133, + "t_stamp": 1763082427375 + }, + { + "power": 25.20124455283152, + "t_stamp": 1763082457375 + }, + { + "power": 25.177289962768555, + "t_stamp": 1763082487375 + }, + { + "power": 24.96447827469508, + "t_stamp": 1763082517375 + }, + { + "power": 24.88603973388672, + "t_stamp": 1763082547375 + }, + { + "power": 24.876668555030932, + "t_stamp": 1763082577375 + }, + { + "power": 24.873214721679688, + "t_stamp": 1763082607375 + }, + { + "power": 25.114375095383643, + "t_stamp": 1763082637375 + }, + { + "power": 25.20326042175293, + "t_stamp": 1763082667375 + }, + { + "power": 25.547440635681152, + "t_stamp": 1763082697375 + }, + { + "power": 25.674299240112305, + "t_stamp": 1763082727375 + }, + { + "power": 25.26423895292282, + "t_stamp": 1763082757375 + }, + { + "power": 25.11309814453125, + "t_stamp": 1763082787375 + }, + { + "power": 25.035881976922354, + "t_stamp": 1763082817375 + }, + { + "power": 25.007421493530273, + "t_stamp": 1763082847375 + }, + { + "power": 25.399434216767418, + "t_stamp": 1763082877375 + }, + { + "power": 25.54393196105957, + "t_stamp": 1763082907375 + }, + { + "power": 25.53851332114514, + "t_stamp": 1763082937375 + }, + { + "power": 25.53480531025479, + "t_stamp": 1763082967375 + }, + { + "power": 25.531097299364436, + "t_stamp": 1763082997375 + }, + { + "power": 25.527389288474087, + "t_stamp": 1763083027375 + }, + { + "power": 25.523681277583737, + "t_stamp": 1763083057375 + }, + { + "power": 25.519973266693388, + "t_stamp": 1763083087375 + }, + { + "power": 25.516265255803038, + "t_stamp": 1763083117375 + }, + { + "power": 25.512557244912685, + "t_stamp": 1763083147375 + }, + { + "power": 25.508849234022335, + "t_stamp": 1763083177375 + }, + { + "power": 25.505141223131986, + "t_stamp": 1763083207375 + }, + { + "power": 25.501433212241636, + "t_stamp": 1763083237375 + }, + { + "power": 25.497725201351287, + "t_stamp": 1763083267375 + }, + { + "power": 25.494017190460934, + "t_stamp": 1763083297375 + }, + { + "power": 25.490309179570584, + "t_stamp": 1763083327375 + }, + { + "power": 25.486601168680235, + "t_stamp": 1763083357375 + }, + { + "power": 25.482893157789885, + "t_stamp": 1763083387375 + }, + { + "power": 25.479185146899535, + "t_stamp": 1763083417375 + }, + { + "power": 25.475477136009182, + "t_stamp": 1763083447375 + }, + { + "power": 25.471769125118833, + "t_stamp": 1763083477375 + }, + { + "power": 25.468061114228483, + "t_stamp": 1763083507375 + }, + { + "power": 25.464353103338134, + "t_stamp": 1763083537375 + }, + { + "power": 25.46064509244778, + "t_stamp": 1763083567375 + }, + { + "power": 25.45693708155743, + "t_stamp": 1763083597375 + }, + { + "power": 25.45322907066708, + "t_stamp": 1763083627375 + }, + { + "power": 25.449521059776732, + "t_stamp": 1763083657375 + }, + { + "power": 25.445813048886382, + "t_stamp": 1763083687375 + }, + { + "power": 25.44210503799603, + "t_stamp": 1763083717375 + }, + { + "power": 25.43839702710568, + "t_stamp": 1763083747375 + }, + { + "power": 25.43468901621533, + "t_stamp": 1763083777375 + }, + { + "power": 25.43098100532498, + "t_stamp": 1763083807375 + }, + { + "power": 25.42727299443463, + "t_stamp": 1763083837375 + }, + { + "power": 25.423564983544278, + "t_stamp": 1763083867375 + }, + { + "power": 25.41985697265393, + "t_stamp": 1763083897375 + }, + { + "power": 25.41614896176358, + "t_stamp": 1763083927375 + }, + { + "power": 25.41244095087323, + "t_stamp": 1763083957375 + }, + { + "power": 25.40873293998288, + "t_stamp": 1763083987375 + }, + { + "power": 25.405024929092527, + "t_stamp": 1763084017375 + }, + { + "power": 25.401316918202177, + "t_stamp": 1763084047375 + }, + { + "power": 25.397608907311827, + "t_stamp": 1763084077375 + }, + { + "power": 25.393900896421478, + "t_stamp": 1763084107375 + }, + { + "power": 25.39019288553113, + "t_stamp": 1763084137375 + }, + { + "power": 25.386484874640775, + "t_stamp": 1763084167375 + }, + { + "power": 25.382776863750426, + "t_stamp": 1763084197375 + }, + { + "power": 25.379068852860076, + "t_stamp": 1763084227375 + }, + { + "power": 25.375360841969727, + "t_stamp": 1763084257375 + }, + { + "power": 25.371652831079373, + "t_stamp": 1763084287375 + }, + { + "power": 25.367944820189024, + "t_stamp": 1763084317375 + }, + { + "power": 25.364236809298674, + "t_stamp": 1763084347375 + }, + { + "power": 25.360528798408325, + "t_stamp": 1763084377375 + }, + { + "power": 25.356820787517975, + "t_stamp": 1763084407375 + }, + { + "power": 25.353112776627622, + "t_stamp": 1763084437375 + }, + { + "power": 25.349404765737273, + "t_stamp": 1763084467375 + }, + { + "power": 25.345696754846923, + "t_stamp": 1763084497375 + }, + { + "power": 25.341988743956573, + "t_stamp": 1763084527375 + }, + { + "power": 25.338280733066224, + "t_stamp": 1763084557375 + }, + { + "power": 25.33457272217587, + "t_stamp": 1763084587375 + }, + { + "power": 25.33086471128552, + "t_stamp": 1763084617375 + }, + { + "power": 25.32715670039517, + "t_stamp": 1763084647375 + }, + { + "power": 25.323448689504822, + "t_stamp": 1763084677375 + }, + { + "power": 25.319740678614473, + "t_stamp": 1763084707375 + }, + { + "power": 25.31603266772412, + "t_stamp": 1763084737375 + }, + { + "power": 25.31232465683377, + "t_stamp": 1763084767375 + }, + { + "power": 25.30861664594342, + "t_stamp": 1763084797375 + }, + { + "power": 25.30490863505307, + "t_stamp": 1763084827375 + }, + { + "power": 25.301200624162718, + "t_stamp": 1763084857375 + }, + { + "power": 25.297492613272368, + "t_stamp": 1763084887375 + }, + { + "power": 25.29378460238202, + "t_stamp": 1763084917375 + }, + { + "power": 25.29007659149167, + "t_stamp": 1763084947375 + }, + { + "power": 25.28636858060132, + "t_stamp": 1763084977375 + }, + { + "power": 25.282660569710966, + "t_stamp": 1763085007375 + }, + { + "power": 25.278952558820617, + "t_stamp": 1763085037375 + }, + { + "power": 25.275244547930267, + "t_stamp": 1763085067375 + }, + { + "power": 25.271536537039918, + "t_stamp": 1763085097375 + }, + { + "power": 25.267828526149568, + "t_stamp": 1763085127375 + }, + { + "power": 25.264120515259215, + "t_stamp": 1763085157375 + }, + { + "power": 25.260412504368865, + "t_stamp": 1763085187375 + }, + { + "power": 25.256704493478516, + "t_stamp": 1763085217375 + }, + { + "power": 25.252996482588166, + "t_stamp": 1763085247375 + }, + { + "power": 25.249288471697817, + "t_stamp": 1763085277375 + }, + { + "power": 25.245580460807464, + "t_stamp": 1763085307375 + }, + { + "power": 25.241872449917114, + "t_stamp": 1763085337375 + }, + { + "power": 25.238164439026765, + "t_stamp": 1763085367375 + }, + { + "power": 25.234456428136415, + "t_stamp": 1763085397375 + }, + { + "power": 25.230748417246065, + "t_stamp": 1763085427375 + }, + { + "power": 25.227040406355712, + "t_stamp": 1763085457375 + }, + { + "power": 25.223332395465363, + "t_stamp": 1763085487375 + }, + { + "power": 25.219624384575013, + "t_stamp": 1763085517375 + }, + { + "power": 25.215916373684664, + "t_stamp": 1763085547375 + }, + { + "power": 25.212208362794314, + "t_stamp": 1763085577375 + }, + { + "power": 25.20850035190396, + "t_stamp": 1763085607375 + }, + { + "power": 25.20479234101361, + "t_stamp": 1763085637375 + }, + { + "power": 25.201084330123262, + "t_stamp": 1763085667375 + }, + { + "power": 25.197376319232912, + "t_stamp": 1763085697375 + }, + { + "power": 25.19366830834256, + "t_stamp": 1763085727375 + }, + { + "power": 25.18996029745221, + "t_stamp": 1763085757375 + }, + { + "power": 25.18625228656186, + "t_stamp": 1763085787375 + }, + { + "power": 25.18254427567151, + "t_stamp": 1763085817375 + }, + { + "power": 25.17883626478116, + "t_stamp": 1763085847375 + }, + { + "power": 25.175128253890808, + "t_stamp": 1763085877375 + }, + { + "power": 25.17142024300046, + "t_stamp": 1763085907375 + }, + { + "power": 25.16771223211011, + "t_stamp": 1763085937375 + }, + { + "power": 25.16400422121976, + "t_stamp": 1763085967375 + }, + { + "power": 25.16029621032941, + "t_stamp": 1763085997375 + }, + { + "power": 25.156588199439057, + "t_stamp": 1763086027375 + }, + { + "power": 25.152880188548707, + "t_stamp": 1763086057375 + }, + { + "power": 25.149172177658357, + "t_stamp": 1763086087375 + }, + { + "power": 25.145464166768008, + "t_stamp": 1763086117375 + }, + { + "power": 25.14175615587766, + "t_stamp": 1763086147375 + }, + { + "power": 25.138048144987305, + "t_stamp": 1763086177375 + }, + { + "power": 25.134340134096956, + "t_stamp": 1763086207375 + }, + { + "power": 25.130632123206606, + "t_stamp": 1763086237375 + }, + { + "power": 25.126924112316257, + "t_stamp": 1763086267375 + }, + { + "power": 25.123216101425903, + "t_stamp": 1763086297375 + }, + { + "power": 25.119508090535554, + "t_stamp": 1763086327375 + }, + { + "power": 25.115800079645204, + "t_stamp": 1763086357375 + }, + { + "power": 25.113801956176758, + "t_stamp": 1763086387375 + }, + { + "power": 25.19507473301305, + "t_stamp": 1763086417375 + }, + { + "power": 25.225051879882812, + "t_stamp": 1763086447375 + }, + { + "power": 25.225051879882812, + "t_stamp": 1763086477375 + }, + { + "power": 25.225051879882812, + "t_stamp": 1763086507375 + } + ], + "hist_tagPath": [ + { + "aggregate": "LastValue", + "alias": "power", + "path": "[Ignition_Hist/ignition-satb1-io4:default]er1254/swbd/satb1_er1254_pqm1/real power" + } + ], + "max": 26.25695037841797, + "min": 0, + "test": [ + { + "real power": null, + "t_stamp": 1763082398488 + }, + { + "real power": null, + "t_stamp": 1763082434488 + }, + { + "real power": null, + "t_stamp": 1763082470488 + }, + { + "real power": null, + "t_stamp": 1763082506488 + }, + { + "real power": null, + "t_stamp": 1763082542488 + }, + { + "real power": null, + "t_stamp": 1763082578488 + }, + { + "real power": null, + "t_stamp": 1763082614488 + }, + { + "real power": null, + "t_stamp": 1763082650488 + }, + { + "real power": null, + "t_stamp": 1763082686488 + }, + { + "real power": null, + "t_stamp": 1763082722488 + }, + { + "real power": null, + "t_stamp": 1763082758488 + }, + { + "real power": null, + "t_stamp": 1763082794488 + }, + { + "real power": null, + "t_stamp": 1763082830488 + }, + { + "real power": null, + "t_stamp": 1763082866488 + }, + { + "real power": null, + "t_stamp": 1763082902488 + }, + { + "real power": null, + "t_stamp": 1763082938488 + }, + { + "real power": null, + "t_stamp": 1763082974488 + }, + { + "real power": null, + "t_stamp": 1763083010488 + }, + { + "real power": null, + "t_stamp": 1763083046488 + }, + { + "real power": null, + "t_stamp": 1763083082488 + }, + { + "real power": null, + "t_stamp": 1763083118488 + }, + { + "real power": null, + "t_stamp": 1763083154488 + }, + { + "real power": null, + "t_stamp": 1763083190488 + }, + { + "real power": null, + "t_stamp": 1763083226488 + }, + { + "real power": null, + "t_stamp": 1763083262488 + }, + { + "real power": null, + "t_stamp": 1763083298488 + }, + { + "real power": null, + "t_stamp": 1763083334488 + }, + { + "real power": null, + "t_stamp": 1763083370488 + }, + { + "real power": null, + "t_stamp": 1763083406488 + }, + { + "real power": null, + "t_stamp": 1763083442488 + }, + { + "real power": null, + "t_stamp": 1763083478488 + }, + { + "real power": null, + "t_stamp": 1763083514488 + }, + { + "real power": null, + "t_stamp": 1763083550488 + }, + { + "real power": null, + "t_stamp": 1763083586488 + }, + { + "real power": null, + "t_stamp": 1763083622488 + }, + { + "real power": null, + "t_stamp": 1763083658488 + }, + { + "real power": null, + "t_stamp": 1763083694488 + }, + { + "real power": null, + "t_stamp": 1763083730488 + }, + { + "real power": null, + "t_stamp": 1763083766488 + }, + { + "real power": null, + "t_stamp": 1763083802488 + }, + { + "real power": null, + "t_stamp": 1763083838488 + }, + { + "real power": null, + "t_stamp": 1763083874488 + }, + { + "real power": null, + "t_stamp": 1763083910488 + }, + { + "real power": null, + "t_stamp": 1763083946488 + }, + { + "real power": null, + "t_stamp": 1763083982488 + }, + { + "real power": null, + "t_stamp": 1763084018488 + }, + { + "real power": null, + "t_stamp": 1763084054488 + }, + { + "real power": null, + "t_stamp": 1763084090488 + }, + { + "real power": null, + "t_stamp": 1763084126488 + }, + { + "real power": null, + "t_stamp": 1763084162488 + }, + { + "real power": null, + "t_stamp": 1763084198488 + }, + { + "real power": null, + "t_stamp": 1763084234488 + }, + { + "real power": null, + "t_stamp": 1763084270488 + }, + { + "real power": null, + "t_stamp": 1763084306488 + }, + { + "real power": null, + "t_stamp": 1763084342488 + }, + { + "real power": null, + "t_stamp": 1763084378488 + }, + { + "real power": null, + "t_stamp": 1763084414488 + }, + { + "real power": null, + "t_stamp": 1763084450488 + }, + { + "real power": null, + "t_stamp": 1763084486488 + }, + { + "real power": null, + "t_stamp": 1763084522488 + }, + { + "real power": null, + "t_stamp": 1763084558488 + }, + { + "real power": null, + "t_stamp": 1763084594488 + }, + { + "real power": null, + "t_stamp": 1763084630488 + }, + { + "real power": null, + "t_stamp": 1763084666488 + }, + { + "real power": null, + "t_stamp": 1763084702488 + }, + { + "real power": null, + "t_stamp": 1763084738488 + }, + { + "real power": null, + "t_stamp": 1763084774488 + }, + { + "real power": null, + "t_stamp": 1763084810488 + }, + { + "real power": null, + "t_stamp": 1763084846488 + }, + { + "real power": null, + "t_stamp": 1763084882488 + }, + { + "real power": null, + "t_stamp": 1763084918488 + }, + { + "real power": null, + "t_stamp": 1763084954488 + }, + { + "real power": null, + "t_stamp": 1763084990488 + }, + { + "real power": null, + "t_stamp": 1763085026488 + }, + { + "real power": null, + "t_stamp": 1763085062488 + }, + { + "real power": null, + "t_stamp": 1763085098488 + }, + { + "real power": null, + "t_stamp": 1763085134488 + }, + { + "real power": null, + "t_stamp": 1763085170488 + }, + { + "real power": null, + "t_stamp": 1763085206488 + }, + { + "real power": null, + "t_stamp": 1763085242488 + }, + { + "real power": null, + "t_stamp": 1763085278488 + }, + { + "real power": null, + "t_stamp": 1763085314488 + }, + { + "real power": null, + "t_stamp": 1763085350488 + }, + { + "real power": null, + "t_stamp": 1763085386488 + }, + { + "real power": null, + "t_stamp": 1763085422488 + }, + { + "real power": null, + "t_stamp": 1763085458488 + }, + { + "real power": null, + "t_stamp": 1763085494488 + }, + { + "real power": null, + "t_stamp": 1763085530488 + }, + { + "real power": null, + "t_stamp": 1763085566488 + }, + { + "real power": null, + "t_stamp": 1763085602488 + }, + { + "real power": null, + "t_stamp": 1763085638488 + }, + { + "real power": null, + "t_stamp": 1763085674488 + }, + { + "real power": null, + "t_stamp": 1763085710488 + }, + { + "real power": null, + "t_stamp": 1763085746488 + }, + { + "real power": null, + "t_stamp": 1763085782488 + }, + { + "real power": null, + "t_stamp": 1763085818488 + }, + { + "real power": null, + "t_stamp": 1763085854488 + }, + { + "real power": null, + "t_stamp": 1763085890488 + }, + { + "real power": null, + "t_stamp": 1763085926488 + }, + { + "real power": null, + "t_stamp": 1763085962488 + } + ] + }, + "params": { + "tagpath": "[Ignition_SATB1_IO4_default]ER1254/SWBD/SATB1_ER1254_PQM1", + "title": "Main" + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "path": "view.custom.data_hist" + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor item in value:\n\t\toutput.append(item[\u0027power\u0027])\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.data_hist": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.hist_tagPath}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + }, + "persistent": true + }, + "custom.hist_tagPath": { + "binding": { + "config": { + "path": "view.params.tagpath" + }, + "transforms": [ + { + "code": "\tprovider \u003d {\"Ignition_Common_IO_Gtwy\":\"[Ignition_Hist/ignition-satb1-io6:default]\",\n\t\t\t\"Ignition_SATB1_IO1_default\": \"[Ignition_Hist/ignition-satb1-io1:default]\",\n\t\t\t\"Ignition_SATB1_IO2_default\": \"[Ignition_Hist/ignition-satb1-io2:default]\",\n\t\t\t\"Ignition_SATB1_IO3_default\": \"[Ignition_Hist/ignition-satb1-io3:default]\",\n\t\t\t\"Ignition_SATB1_IO4_default\": \"[Ignition_Hist/ignition-satb1-io4:default]\",\n\t\t\t\"Ignition_SATB1_IO5_default\": \"[Ignition_Hist/ignition-satb1-io5:default]\"}\n\tpath_split \u003d value.split(\"]\")\n\tio_gtwy \u003d path_split[0][1:]\n\tpath\u003d path_split[1].lower()\n\ttagpath \u003d provider[io_gtwy]+ path + \"/real power\"\n\toutput \u003d {}\n\toutput[\u0027path\u0027] \u003d tagpath\n\toutput[\u0027alias\u0027] \u003d \u0027power\u0027\n\toutput[\u0027aggregate\u0027] \u003d \u0027LastValue\u0027\n\toutputArray \u003d []\n\toutputArray.append(output)\n\treturn outputArray\t", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.max": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.min": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "expression": "min({value})", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.test": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "1", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": [ + { + "path": "[Ignition/ignition-satb1-io2:default]er1248/swbd/satb1_er1248_pqm2/real power" + } + ], + "valueFormat": "DOCUMENT" + }, + "enabled": false, + "type": "tag-history" + }, + "persistent": true + }, + "params.tagpath": { + "paramDirection": "input", + "persistent": true + }, + "params.title": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 180, + "width": 250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "time01" + }, + "position": { + "height": 10, + "width": 40, + "x": 218, + "y": 131.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "time02" + }, + "position": { + "height": 10, + "width": 40, + "x": 8, + "y": 131.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-7200000" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Sparkline", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 103, + "width": 245, + "x": 9.5, + "y": 29.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "min": "{this.custom.min}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "\"Max: \" + {value}[\u0027max\u0027] + \" | \" + \"Min: \" + {value}[\u0027min\u0027]\r\n", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.points": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "type": "property" + } + }, + "props.range.high": { + "binding": { + "config": { + "path": "view.custom.max" + }, + "transforms": [ + { + "expression": "{value}+1", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.range.low": { + "binding": { + "config": { + "path": "view.custom.min" + }, + "transforms": [ + { + "expression": "{value}-1", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "desired": { + "fill": { + "color": "var(--container)" + } + }, + "marker": { + "high": { + "fill": { + "color": "#FB9306" + }, + "style": { + "transform": "rotate(180)" + } + } + }, + "range": {} + }, + "type": "ia.display.sparkline" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "height": 20, + "width": 122, + "x": 100.49, + "y": 7.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagpath": "{view.params.tagpath}" + }, + "tagPath": "{tagpath}/Real Power" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder", + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 20, + "width": 70, + "x": 190.721, + "y": 157 + }, + "props": { + "text": "Max kW" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value_0" + }, + "position": { + "height": 15, + "width": 105, + "x": 7.8, + "y": 143.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.min" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder", + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_2" + }, + "position": { + "height": 20, + "width": 70, + "x": 7.8, + "y": 157 + }, + "props": { + "text": "Min kW" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value_1" + }, + "position": { + "height": 15, + "width": 92, + "x": 159.5, + "y": 143.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.max" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder", + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_4" + }, + "position": { + "height": 19, + "width": 100, + "x": 8.66418, + "y": 14.9976 + }, + "props": { + "text": "Real Power" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_5" + }, + "position": { + "height": 20, + "width": 28, + "x": 227, + "y": 7.5 + }, + "props": { + "text": "kW" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_6" + }, + "position": { + "height": 19, + "width": 100, + "x": 9, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.title" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "time2" + }, + "position": { + "height": 10, + "width": 40, + "x": 113, + "y": 131.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-3600000" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root", + "tooltip": { + "width": "" + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/58ddc69e61de125aa55230302a4ec6461a36e29ee6449cc2ce975168edd9b8f8 b/Gateways/FE/projects/.resources/58ddc69e61de125aa55230302a4ec6461a36e29ee6449cc2ce975168edd9b8f8 new file mode 100644 index 0000000..0c7967e --- /dev/null +++ b/Gateways/FE/projects/.resources/58ddc69e61de125aa55230302a4ec6461a36e29ee6449cc2ce975168edd9b8f8 @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO5_default]SATB1_DH5_P5_SWBD5_XA_SPD" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/58e18d0616f25a798d3f070985f5c660894552aa426a6365ad65fe6819ee4777 b/Gateways/FE/projects/.resources/58e18d0616f25a798d3f070985f5c660894552aa426a6365ad65fe6819ee4777 new file mode 100644 index 0000000..0090aa9 --- /dev/null +++ b/Gateways/FE/projects/.resources/58e18d0616f25a798d3f070985f5c660894552aa426a6365ad65fe6819ee4777 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_CB-52U" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947448421 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947448421 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5936743826f4d9e06ec0c3d6a62eb73e44a11c939591d12223450c3d3aec8cf2 b/Gateways/FE/projects/.resources/5936743826f4d9e06ec0c3d6a62eb73e44a11c939591d12223450c3d3aec8cf2 new file mode 100644 index 0000000..d6dcd8e Binary files /dev/null and b/Gateways/FE/projects/.resources/5936743826f4d9e06ec0c3d6a62eb73e44a11c939591d12223450c3d3aec8cf2 differ diff --git a/Gateways/FE/projects/.resources/59651f404e3765e8c1a704b81a5d82ad8cb69c6c9fa452f44cdf96b827f00a20 b/Gateways/FE/projects/.resources/59651f404e3765e8c1a704b81a5d82ad8cb69c6c9fa452f44cdf96b827f00a20 new file mode 100644 index 0000000..29a285e --- /dev/null +++ b/Gateways/FE/projects/.resources/59651f404e3765e8c1a704b81a5d82ad8cb69c6c9fa452f44cdf96b827f00a20 @@ -0,0 +1,5 @@ +{ + "base": { + "style": {} + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/59813f952f17e283641187f7fbb8bd18e6950601746234d0ac5e98bb0f3a95b6 b/Gateways/FE/projects/.resources/59813f952f17e283641187f7fbb8bd18e6950601746234d0ac5e98bb0f3a95b6 new file mode 100644 index 0000000..97dab4f --- /dev/null +++ b/Gateways/FE/projects/.resources/59813f952f17e283641187f7fbb8bd18e6950601746234d0ac5e98bb0f3a95b6 @@ -0,0 +1,1202 @@ +{ + "custom": {}, + "params": { + "embedded": false, + "objectName": "Panel_340_580", + "tagPath": "[Ignition_Common_IO_Gtwy]zz_Testing/Panel2" + }, + "propConfig": { + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1429, + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Plant Manager panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FR Plant manager" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_PNL01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_PNL02" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "FR RIO" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_PNL62" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_PNL63" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_PNL64" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_PNL65" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_PNL66" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "PlantManager" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "VFD Controllers" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_PNL03" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_PNL04" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_PNL05" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_PNL06" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_PNL07" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "VFDControllers" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Controllers" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_PNL14" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_PNL15" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1244/SATB1_ER1244_PNL11" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1244/SATB1_ER1244_PNL12" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1244/SATB1_ER1244_PNL13" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1248/SATB1_HS2_ER1248_PNL08" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1248/SATB1_HS2_ER1248_PNL09" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1248/SATB1_HS2_ER1248_PNL10" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 5 + }, + "useDefaultViewHeight": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "CHControllers" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "DH Managers" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FR Second Floor" + }, + "position": { + "basis": "320px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_PNL20" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_PNL21" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_PNL22" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_PNL23" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel_340_580", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_PNL24" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel_340_580", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_PNL25" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 10 + }, + "useDefaultViewHeight": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "FR First Floor" + }, + "position": { + "basis": "320px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_PNL16" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_PNL17" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_PNL18" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_PNL19" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 10 + }, + "useDefaultViewHeight": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "DH Managers" + }, + "position": { + "basis": "400px", + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 15, + "overflow": "visible", + "padding": 15 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "DH1 Electrical Panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_PNL56" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_PNL55" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_PNL54" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_PNL53" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_PNL52" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "DH1 Electrical Rooms" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "DH2 Electrical Panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SATB1_HS2_ER1248_PNL50" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_PNL49" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_PNL48" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_PNL47" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_PNL46" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "DH2 Electrical Rooms" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "DH3 Electrical Panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1155/SATB1_ER1155_PNL35" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1156/SATB1_ER1156_PNL34" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1157/SATB1_ER1157_PNL33" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1158/SATB1_ER1158_PNL32" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_PNL31" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 10 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "DH3 Electrical Rooms" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "DH4 Electrical Panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO4_default]ER1254/SATB1_ER1254_PNL44" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO4_default]ER1255/SATB1_ER1255_PNL43" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO4_default]ER1256/SATB1_ER1256_PNL42" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO4_default]ER1257/SATB1_ER1257_PNL41" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO4_default]ER1258/SATB1_ER1258_PNL40" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "DH4 Electrical Rooms" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "DH5 Electrical Panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1161/SATB1_ER1161_PNL30" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1162/SATB1_ER1162_PNL29" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1163/SATB1_ER1163_PNL28" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1164/SATB1_ER1164_PNL27" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1165/SATB1_ER1165_PNL26" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "DH5 Electrical Rooms" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Mech Rooms - Electrical Panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_PNL58" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_PNL57" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_PNL38" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_PNL51" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "M Electrical Rooms" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "HS \u0026 Floor Mgrs Electrical Panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_ER1151_PNL37" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MR1253_PNL45" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1126/SATB1_RM1126_PNL60" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_ER1229_PNL61" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "HS Electrical Rooms" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": 15, + "overflow": "scroll", + "padding": 5 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/598dd8c43fa8149cc0521ceac45182196b5e69daa0420bb9abcf6eef9777d187 b/Gateways/FE/projects/.resources/598dd8c43fa8149cc0521ceac45182196b5e69daa0420bb9abcf6eef9777d187 new file mode 100644 index 0000000..91b7c19 Binary files /dev/null and b/Gateways/FE/projects/.resources/598dd8c43fa8149cc0521ceac45182196b5e69daa0420bb9abcf6eef9777d187 differ diff --git a/Gateways/FE/projects/.resources/59c2e849fb4df3d47b2ae3a407c6157da0f4f5993d50cbc17b44de8c684e64fd b/Gateways/FE/projects/.resources/59c2e849fb4df3d47b2ae3a407c6157da0f4f5993d50cbc17b44de8c684e64fd new file mode 100644 index 0000000..a30d4c6 Binary files /dev/null and b/Gateways/FE/projects/.resources/59c2e849fb4df3d47b2ae3a407c6157da0f4f5993d50cbc17b44de8c684e64fd differ diff --git a/Gateways/FE/projects/.resources/59d331f9e872c84475963e2fbf895176fd86f36e4983b8db37ca07894858d65b b/Gateways/FE/projects/.resources/59d331f9e872c84475963e2fbf895176fd86f36e4983b8db37ca07894858d65b new file mode 100644 index 0000000..d5bdf0b Binary files /dev/null and b/Gateways/FE/projects/.resources/59d331f9e872c84475963e2fbf895176fd86f36e4983b8db37ca07894858d65b differ diff --git a/Gateways/FE/projects/.resources/59eaf30e77715be7afb3835a00e228876bf0553ea026e71f65133b72515db4b4 b/Gateways/FE/projects/.resources/59eaf30e77715be7afb3835a00e228876bf0553ea026e71f65133b72515db4b4 new file mode 100644 index 0000000..dbabcfa --- /dev/null +++ b/Gateways/FE/projects/.resources/59eaf30e77715be7afb3835a00e228876bf0553ea026e71f65133b72515db4b4 @@ -0,0 +1,793 @@ +{ + "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" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5a05d9575ba3f9207dc2ec9556ba3bf93e06b24f53b4d751745002593974f95b b/Gateways/FE/projects/.resources/5a05d9575ba3f9207dc2ec9556ba3bf93e06b24f53b4d751745002593974f95b new file mode 100644 index 0000000..c9355d8 --- /dev/null +++ b/Gateways/FE/projects/.resources/5a05d9575ba3f9207dc2ec9556ba3bf93e06b24f53b4d751745002593974f95b @@ -0,0 +1,3380 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 2500, + "width": 1500 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Lineup" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "../UPS view.custom.lineup" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "text": "DH101", + "textStyle": { + "color": "var(--olGray)", + "fontSize": 24, + "fontWeight": "bold", + "textAlign": "center", + "wordWrap": "break-word" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Row1" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row2" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row3" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row4" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "custom": { + "Rooms": [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + "lineup": "P1", + "tagprovider": "[Ignition_SATB1_IO1_default]" + }, + "meta": { + "name": "UPS view" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "P1 Container" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "bockgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "gap": "10px", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Lineup" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "../UPS view.custom.lineup" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "text": "DH102", + "textStyle": { + "color": "var(--olGray)", + "fontSize": 24, + "fontWeight": "bold", + "textAlign": "center", + "wordWrap": "break-word" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Row1" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row2" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row3" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row4" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "custom": { + "Rooms": [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + "lineup": "P2", + "tagprovider": "[Ignition_SATB1_IO2_default]" + }, + "meta": { + "name": "UPS view" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "P2 Container" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "bockgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "gap": "10px", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Lineup" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "../UPS view.custom.lineup" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "text": "DH201", + "textStyle": { + "color": "var(--olGray)", + "fontSize": 24, + "fontWeight": "bold", + "textAlign": "center", + "wordWrap": "break-word" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Row1" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row2" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row3" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row4" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "custom": { + "Rooms": [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + "lineup": "P3", + "tagprovider": "[Ignition_SATB1_IO3_default]" + }, + "meta": { + "name": "UPS view" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "P3 Container" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "bockgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "gap": "10px", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Lineup" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "../UPS view.custom.lineup" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "text": "DH202", + "textStyle": { + "color": "var(--olGray)", + "fontSize": 24, + "fontWeight": "bold", + "textAlign": "center", + "wordWrap": "break-word" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Row1" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row2" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row3" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row4" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "custom": { + "Rooms": [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + "lineup": "P4", + "tagprovider": "[Ignition_SATB1_IO4_default]" + }, + "meta": { + "name": "UPS view" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "P4 Container" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "bockgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "gap": "10px", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Lineup" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "../UPS view.custom.lineup" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "text": "DH203", + "textStyle": { + "color": "var(--olGray)", + "fontSize": 24, + "fontWeight": "bold", + "textAlign": "center", + "wordWrap": "break-word" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Row1" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row2" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row3" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row4" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "custom": { + "Rooms": [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ], + "lineup": "P5", + "tagprovider": "[Ignition_SATB1_IO5_default]" + }, + "meta": { + "name": "UPS view" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "P5 Container" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "bockgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "gap": "10px", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": "20px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5a30d1ebc0f649f69896646294ee353c73f07daa88c4aa8efb9ab08282e967df b/Gateways/FE/projects/.resources/5a30d1ebc0f649f69896646294ee353c73f07daa88c4aa8efb9ab08282e967df new file mode 100644 index 0000000..1fd7637 --- /dev/null +++ b/Gateways/FE/projects/.resources/5a30d1ebc0f649f69896646294ee353c73f07daa88c4aa8efb9ab08282e967df @@ -0,0 +1,403 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Breaker", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Breaker A/Info" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5a5cef64c153cc83370bda5b3ab25858ecc3b48032cc08611c0b5febc3fe192b b/Gateways/FE/projects/.resources/5a5cef64c153cc83370bda5b3ab25858ecc3b48032cc08611c0b5febc3fe192b new file mode 100644 index 0000000..c1c6e9a --- /dev/null +++ b/Gateways/FE/projects/.resources/5a5cef64c153cc83370bda5b3ab25858ecc3b48032cc08611c0b5febc3fe192b @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B304 STU LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*DH4/SATB1_DH4_STU_LLS*" + }, + "deviceName": "STU", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_STU_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/DH4_STU", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_STU_Rotation" + } + }, + "path": "Library/Templates/Graphics/LLS/Device LLS V1" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5a9ca82b9f025e532705c2e528539fb7cd5ad2a2b3f56f5d7fe4e271fe7f62fd b/Gateways/FE/projects/.resources/5a9ca82b9f025e532705c2e528539fb7cd5ad2a2b3f56f5d7fe4e271fe7f62fd new file mode 100644 index 0000000..6bff95c --- /dev/null +++ b/Gateways/FE/projects/.resources/5a9ca82b9f025e532705c2e528539fb7cd5ad2a2b3f56f5d7fe4e271fe7f62fd @@ -0,0 +1,100 @@ +def trace_power_flow(): + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + ds_names = ["DS-1A2", "DS-1B2"] + + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/SESA_Out2', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/SESB_Out2' + ] + for name in ds_names: + # Assuming your UDT instances are in a folder named 'DS' + base_path = "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}".format(name) + tag_paths_to_read.append("{}/Breaker Closed Way 01".format(base_path)) + tag_paths_to_read.append("{}/Breaker Closed Way 02".format(base_path)) + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['SESA-FRD2_Live'] = tag_values[0].value + values['SESB-FRD2_Live'] = tag_values[1].value + + read_idx = 2 + for name in ds_names: + values[name] = { + 'Way01': tag_values[read_idx].value, + 'Way02': tag_values[read_idx + 1].value + } + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['SESA-FRD2_Live']: + q.append( ("DS-1A2", "SESA-FRD2") ) + if values['SESB-FRD2_Live']: + q.append( ("DS-1B2", "SESB-FRD2") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ds_name, source = q.pop(0) + + if current_ds_name in visited: + continue + + visited.add(current_ds_name) + energized_state[current_ds_name] = source + + current_ut_index = ds_names.index(current_ds_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ds_names) - 1: + neighbor_name = ds_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ds_name]['Way02'] and values[neighbor_name]['Way02']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ds_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ds_name]['Way02'] and values[neighbor_name]['Way02']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + print energized_state + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + for name in ds_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + + tag_paths_to_write.append("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}/Data/isEnergized".format(name)) + values_to_write.append(is_energized) + + tag_paths_to_write.append("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}/Data/PowerSource".format(name)) + values_to_write.append(power_source) + + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5b06e7e33a030cfb3f6c1497b1eddc8002b25a6e51ba41006b106df4d931975a b/Gateways/FE/projects/.resources/5b06e7e33a030cfb3f6c1497b1eddc8002b25a6e51ba41006b106df4d931975a new file mode 100644 index 0000000..8effca7 --- /dev/null +++ b/Gateways/FE/projects/.resources/5b06e7e33a030cfb3f6c1497b1eddc8002b25a6e51ba41006b106df4d931975a @@ -0,0 +1 @@ +INSERT INTO wiki_notes (model_no, body, last_updated, last_updated_by) VALUES (:modelNo, :body, CURRENT_TIMESTAMP, :user) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5b8b639fb2d40ab12fa05b110d1c2a9198b20e32808de1848d529b7509bbd3a9 b/Gateways/FE/projects/.resources/5b8b639fb2d40ab12fa05b110d1c2a9198b20e32808de1848d529b7509bbd3a9 new file mode 100644 index 0000000..5d66e63 Binary files /dev/null and b/Gateways/FE/projects/.resources/5b8b639fb2d40ab12fa05b110d1c2a9198b20e32808de1848d529b7509bbd3a9 differ diff --git a/Gateways/FE/projects/.resources/5b949cecf49667f61a18541eb85124e02b5738b80f89401f2cd0a693afc7acba b/Gateways/FE/projects/.resources/5b949cecf49667f61a18541eb85124e02b5738b80f89401f2cd0a693afc7acba new file mode 100644 index 0000000..09463d2 --- /dev/null +++ b/Gateways/FE/projects/.resources/5b949cecf49667f61a18541eb85124e02b5738b80f89401f2cd0a693afc7acba @@ -0,0 +1,119 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Number of Occupied Zones", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Number of Unccupied Zones", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]VAV/SATB1_VAV_Master" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5bf92b9a7cc329c102f0853291678571c49e241bcee616b1d752e4e892947f08 b/Gateways/FE/projects/.resources/5bf92b9a7cc329c102f0853291678571c49e241bcee616b1d752e4e892947f08 new file mode 100644 index 0000000..e659f9f Binary files /dev/null and b/Gateways/FE/projects/.resources/5bf92b9a7cc329c102f0853291678571c49e241bcee616b1d752e4e892947f08 differ diff --git a/Gateways/FE/projects/.resources/5c187bb12a6a8594309509df0ed9f51b49525e2393cf29c22afd13f5b9849832 b/Gateways/FE/projects/.resources/5c187bb12a6a8594309509df0ed9f51b49525e2393cf29c22afd13f5b9849832 new file mode 100644 index 0000000..2ede63d --- /dev/null +++ b/Gateways/FE/projects/.resources/5c187bb12a6a8594309509df0ed9f51b49525e2393cf29c22afd13f5b9849832 @@ -0,0 +1,487 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_CV01" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Close": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Close" + }, + "type": "tag" + } + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Open": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Open" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "185px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ManualBtn" + }, + "position": { + "basis": "185px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Close \u003d False\n\tself.view.custom.OCmd.Open \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "basis": "185px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode},true,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/CMD_Open" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Open" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Open \u003d False\n\tself.view.custom.OCmd.Close \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "185px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode},true,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/CMD_Close" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Close" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "basis": "380px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "RightColumn" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5c33c335669c8be93f4d39d0a1f8ac01e94d2aa6457bf89135d521049e723699 b/Gateways/FE/projects/.resources/5c33c335669c8be93f4d39d0a1f8ac01e94d2aa6457bf89135d521049e723699 new file mode 100644 index 0000000..46e99c1 --- /dev/null +++ b/Gateways/FE/projects/.resources/5c33c335669c8be93f4d39d0a1f8ac01e94d2aa6457bf89135d521049e723699 @@ -0,0 +1,161 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "options": [ + "Not Available", + "Available" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Closed", + "options": [ + "Not Closed", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Open", + "options": [ + "Not Open", + "Open" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Valve Position Command", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Valve Position Feedback", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES01_MOV50" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5c440ff7486336746b50274a8bac43ba219d16b802007ecba8ca2d953f845feb b/Gateways/FE/projects/.resources/5c440ff7486336746b50274a8bac43ba219d16b802007ecba8ca2d953f845feb new file mode 100644 index 0000000..0e27918 --- /dev/null +++ b/Gateways/FE/projects/.resources/5c440ff7486336746b50274a8bac43ba219d16b802007ecba8ca2d953f845feb @@ -0,0 +1,284 @@ +{ + "custom": { + "percent": 100 + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1" + }, + "propConfig": { + "custom.percent": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Charge Percent" + }, + "type": "tag" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 180, + "width": 75 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\ttext \u003d value.split(\u0027_\u0027)\n\treturn text[-1] + \" Battery\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "propConfig": { + "props.desiredHigh": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + }, + "props.processValue": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + } + }, + "props": { + "desiredLow": 25, + "highAlarm": 100, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 25, + "lowInterlock": null, + "lowLowAlarm": null, + "reverseIndicator": true + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "35%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery runtime remaining Hours" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "Hrs", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "35%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 3, + "paddingLeft": 3, + "paddingRight": 3, + "paddingTop": 3 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5c495b84dd9ad32f82a85c76472c0da3b924f496f4fa501c90ad96deecd437dc b/Gateways/FE/projects/.resources/5c495b84dd9ad32f82a85c76472c0da3b924f496f4fa501c90ad96deecd437dc new file mode 100644 index 0000000..34f98b3 --- /dev/null +++ b/Gateways/FE/projects/.resources/5c495b84dd9ad32f82a85c76472c0da3b924f496f4fa501c90ad96deecd437dc @@ -0,0 +1,67 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 40, + "width": 80 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.params.Mode}\u003e0" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--state-faulted)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "paddingLeft": 5, + "paddingRight": 5 + }, + "text": "PLC Fault", + "textStyle": { + "color": "#FFFFFF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5c762e8714e0a6398560d77a14371488266ea707f389e284efa1d004df6d36fc b/Gateways/FE/projects/.resources/5c762e8714e0a6398560d77a14371488266ea707f389e284efa1d004df6d36fc new file mode 100644 index 0000000..8ef0b5b --- /dev/null +++ b/Gateways/FE/projects/.resources/5c762e8714e0a6398560d77a14371488266ea707f389e284efa1d004df6d36fc @@ -0,0 +1,314 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": 0, + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "CHW Valve Command", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1000, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Speed 1", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1005, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Speed 2", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": 0, + "instancePosition": 1010, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Speed 3", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Speed Command", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "heart": true, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "BMS Heart Beat", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Comms", + "options": [ + "Disconnected", + "Connected" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1002, + "instanceStyle": { + "classes": "" + }, + "name": "Fan 1 Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1007, + "instanceStyle": { + "classes": "" + }, + "name": "Fan 2 Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1012, + "instanceStyle": { + "classes": "" + }, + "name": "Fan 3 Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 900, + "instanceStyle": { + "classes": "" + }, + "name": "Control Mode", + "options": [ + "BMS", + "Hand" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Dirty Filter", + "options": [ + "OK", + "Dirty" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "###.##", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Run Hours", + "options": [] + } + ], + "dictionary": { + "ER1242": 1, + "key_1": 2 + }, + "room": "ER1242" + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_P1_1_ER1242_CRAH_01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.dictionary": { + "persistent": true + }, + "custom.room": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Room" + }, + "type": "tag" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5c8fe62b95519f30a2d3f1ac443b63da91cff860daba8edd91a30f23995e881a b/Gateways/FE/projects/.resources/5c8fe62b95519f30a2d3f1ac443b63da91cff860daba8edd91a30f23995e881a new file mode 100644 index 0000000..6919c67 Binary files /dev/null and b/Gateways/FE/projects/.resources/5c8fe62b95519f30a2d3f1ac443b63da91cff860daba8edd91a30f23995e881a differ diff --git a/Gateways/FE/projects/.resources/5ca01eaa0b13595c64a975ba76f2aca84b7974b41b280e5373590492f8af9c91 b/Gateways/FE/projects/.resources/5ca01eaa0b13595c64a975ba76f2aca84b7974b41b280e5373590492f8af9c91 new file mode 100644 index 0000000..6bd5b8e --- /dev/null +++ b/Gateways/FE/projects/.resources/5ca01eaa0b13595c64a975ba76f2aca84b7974b41b280e5373590492f8af9c91 @@ -0,0 +1,354 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Mode": 1, + "TES_Color": "var(--state-running)" + }, + "params": { + "objectName": "TES", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Mode" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.TES_Color": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e0, 5, {view.custom.Mode})" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + }, + { + "input": 3, + "output": "var(--state-auto)" + }, + { + "input": 5, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 83, + "width": 65 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "TES" + }, + "position": { + "height": 0.8434, + "width": 0.7692, + "x": 0.0308, + "y": 0.1204 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "40.833", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "rect", + "width": "37.5", + "x": "0.417", + "y": "6.25" + }, + { + "d": "M37.911,5.978C37.673,2.896 29.365,0.417 19.167,0.417C8.968,0.417 0.66,2.896 0.422,5.978L37.911,5.978Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M37.906,47.083C37.668,50.165 29.36,52.644 19.161,52.644C8.963,52.644 0.655,50.165 0.417,47.083L37.906,47.083Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TES", + "name": "TES", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 39 54" + }, + "type": "ia.shapes.svg" + }, + { + "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": "AlarmBorder" + }, + "position": { + "height": 0.8675, + "width": 0.8154, + "y": 0.1084 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 0.241, + "width": 0.3077, + "x": 0.6615, + "y": -0.0482 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 20, + "y": 0 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5d3e750032eb73907b8bc751aad3f13a7044b369a340473f83a40a4ad99c9840 b/Gateways/FE/projects/.resources/5d3e750032eb73907b8bc751aad3f13a7044b369a340473f83a40a4ad99c9840 new file mode 100644 index 0000000..40176b3 Binary files /dev/null and b/Gateways/FE/projects/.resources/5d3e750032eb73907b8bc751aad3f13a7044b369a340473f83a40a4ad99c9840 differ diff --git a/Gateways/FE/projects/.resources/5d5dcb5fe2b50074d26cf807146123abb4c852c9295050e128df5c9d8d757a1b b/Gateways/FE/projects/.resources/5d5dcb5fe2b50074d26cf807146123abb4c852c9295050e128df5c9d8d757a1b new file mode 100644 index 0000000..f242daf --- /dev/null +++ b/Gateways/FE/projects/.resources/5d5dcb5fe2b50074d26cf807146123abb4c852c9295050e128df5c9d8d757a1b @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "padding": "8px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5e8bcf77a01e19a6e67ef7129538629e03fe3fc0b8aeaab8e1c0a0751e2f1ba1 b/Gateways/FE/projects/.resources/5e8bcf77a01e19a6e67ef7129538629e03fe3fc0b8aeaab8e1c0a0751e2f1ba1 new file mode 100644 index 0000000..da58e60 --- /dev/null +++ b/Gateways/FE/projects/.resources/5e8bcf77a01e19a6e67ef7129538629e03fe3fc0b8aeaab8e1c0a0751e2f1ba1 @@ -0,0 +1,239 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "custom": { + "key": "value" + }, + "meta": { + "name": "DateTimeInput" + }, + "position": { + "basis": "170px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "expression": "addDays(\r\n\tmidnight(now(0)),\r\n\t-1)" + }, + "type": "expr" + } + } + }, + "props": { + "format": "MMM DD, yyyy HH:mm", + "formattedValue": "Jul 06, 2025 19:00", + "pickerType": "date" + }, + "type": "ia.input.date-time-input" + }, + { + "meta": { + "name": "DateTimeInput_0" + }, + "position": { + "basis": "170px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "expression": "addSeconds(\r\n\tmidnight(now(0)),\r\n\t-1)" + }, + "type": "expr" + } + } + }, + "props": { + "format": "MMM DD, yyyy HH:mm", + "formattedValue": "Jul 08, 2025 18:59", + "pickerType": "date" + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "ReportConfig" + }, + "position": { + "basis": "40px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "256px" + }, + "props": { + "options": [ + { + "label": "Total Power", + "value": "TotalPower" + }, + { + "label": "Cooling", + "value": "Cooling" + }, + { + "label": "Generators", + "value": "Generators" + }, + { + "label": "Utility", + "value": "Utility" + }, + { + "label": "PUE Interval", + "value": "PUE_Interval" + }, + { + "label": "Critical Power", + "value": "CriticalPower" + }, + { + "label": "Billing", + "value": "Billing" + }, + { + "label": "Total Power Data", + "value": "TotalPowerData" + }, + { + "label": "UPS kW Data", + "value": "UPSkWData" + }, + { + "label": "Cooling Data", + "value": "CoolingData" + }, + { + "label": "Chiller Demand", + "value": "ChillerTonnage" + } + ], + "value": "TotalPower" + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Dropdown_0" + }, + "position": { + "basis": "256px" + }, + "props": { + "options": [ + { + "label": "No Filter", + "value": null + }, + { + "label": "Common", + "value": "Common" + }, + { + "label": "Datahall 1", + "value": "DH1" + }, + { + "label": "Datahall 2", + "value": "DH2" + }, + { + "label": "Datahall 3", + "value": "DH3" + }, + { + "label": "Datahall 4", + "value": "DH4" + }, + { + "label": "Datahall 5", + "value": "DH5" + } + ], + "value": null + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Selector" + }, + "position": { + "basis": "37px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "props.params.endDate": { + "binding": { + "config": { + "path": "../ReportConfig/DateTimeInput_0.props.value" + }, + "type": "property" + } + }, + "props.params.location": { + "binding": { + "config": { + "path": "../Selector/Dropdown_0.props.value" + }, + "type": "property" + } + }, + "props.params.startDate": { + "binding": { + "config": { + "path": "../ReportConfig/DateTimeInput.props.value" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "path": "../Selector/Dropdown.props.value" + }, + "transforms": [ + { + "expression": "concat(\"Pages/Reports/MBR/\",{value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5ef94381280c7fd98f14a608e01b292d1023613771565233537d80bf672bf2b1 b/Gateways/FE/projects/.resources/5ef94381280c7fd98f14a608e01b292d1023613771565233537d80bf672bf2b1 new file mode 100644 index 0000000..e7fab86 Binary files /dev/null and b/Gateways/FE/projects/.resources/5ef94381280c7fd98f14a608e01b292d1023613771565233537d80bf672bf2b1 differ diff --git a/Gateways/FE/projects/.resources/5f4114e0e7c13e009722ddaeda79df10dbc142b4942311337871c9142103e84d b/Gateways/FE/projects/.resources/5f4114e0e7c13e009722ddaeda79df10dbc142b4942311337871c9142103e84d new file mode 100644 index 0000000..6d53d22 --- /dev/null +++ b/Gateways/FE/projects/.resources/5f4114e0e7c13e009722ddaeda79df10dbc142b4942311337871c9142103e84d @@ -0,0 +1,278 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_C0_HT01" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.SubEn": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteEN" + }, + "type": "tag" + } + }, + "custom.OCmd.SubVal": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteVal" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OOSBtn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Enable" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubEn" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "SubEnable" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description" + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.custom.OCmd.SubEn} \u0026\u0026 {view.params.auth.control}" + }, + "type": "expr" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubVal" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "SubVal" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5f6fc8d8c1940d47af918f7ffce3e726be068a45a515136902ed97a2811959ac b/Gateways/FE/projects/.resources/5f6fc8d8c1940d47af918f7ffce3e726be068a45a515136902ed97a2811959ac new file mode 100644 index 0000000..220fcb0 --- /dev/null +++ b/Gateways/FE/projects/.resources/5f6fc8d8c1940d47af918f7ffce3e726be068a45a515136902ed97a2811959ac @@ -0,0 +1,1169 @@ +{ + "custom": { + "MNumber": "M1", + "room": "MPR1240" + }, + "params": { + "pageId": "value" + }, + "propConfig": { + "custom.MNumber": { + "persistent": true + }, + "custom.room": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable" + }, + "position": { + "height": 990, + "width": 1250 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1A_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M1_to_UT-M2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "DS-1A1", + "right": "UT-M2" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M1.1", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 241, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 56, + "y": 235 + }, + "propConfig": { + "custom.MNumber": { + "binding": { + "config": { + "path": "view.custom.MNumber" + }, + "type": "property" + } + }, + "custom.room": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "type": "property" + } + }, + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M1", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 0, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 419, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD05" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 479, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD06" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_1" + }, + "position": { + "height": 255, + "width": 70, + "x": 539, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD07" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH02", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH03", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH04", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH05", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH06", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 424, + "y": 532.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 244, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 55, + "y": -42 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5f9b258cb4d4be698f4c02ce17a1d2bc49bf9bc2d4c1c73d1f51b037bf2f314e b/Gateways/FE/projects/.resources/5f9b258cb4d4be698f4c02ce17a1d2bc49bf9bc2d4c1c73d1f51b037bf2f314e new file mode 100644 index 0000000..7d7cf84 Binary files /dev/null and b/Gateways/FE/projects/.resources/5f9b258cb4d4be698f4c02ce17a1d2bc49bf9bc2d4c1c73d1f51b037bf2f314e differ diff --git a/Gateways/FE/projects/.resources/5fc42d4a04b2bbc52e70e658c101dca866de088991c1b3fddb7cd845249fcaee b/Gateways/FE/projects/.resources/5fc42d4a04b2bbc52e70e658c101dca866de088991c1b3fddb7cd845249fcaee new file mode 100644 index 0000000..b992320 --- /dev/null +++ b/Gateways/FE/projects/.resources/5fc42d4a04b2bbc52e70e658c101dca866de088991c1b3fddb7cd845249fcaee @@ -0,0 +1,363 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": true + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--Green)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 155, + "width": 56 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FE-PNL" + }, + "position": { + "height": 155, + "width": 56 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "37.5", + "x": "0", + "y": "12.722" + }, + { + "d": "M0,16.74l0,-4.018l4.464,0l0,0.75l-3.714,0l-0,3.268l-0.75,0Zm10.714,-4.018l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm12.5,0l0,0.75l-8.928,0l-0,-0.75l8.928,0Zm6.25,0l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm8.036,4.018l-0.75,0l0,-3.268l-3.714,0l-0,-0.75l4.464,0l-0,4.018Zm-0,5.625l-0.75,-0l0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,0l0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,0l0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l0,-2.411l0.75,0l-0,2.411Zm-4.464,7.232l-0,-0.75l3.714,0l0,-3.268l0.75,0l-0,4.018l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-12.5,0l-0,-0.75l8.928,0l0,0.75l-8.928,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-4.018l0.75,0l-0,3.268l3.714,0l0,0.75l-4.464,0l-0,-4.018Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M18.75,80.222l0,18.644", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "102.722", + "fill": { + "opacity": "0" + }, + "name": "circle", + "r": "3.857", + "stroke": { + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M15.465,100.608l-4.115,4.229", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M25.85,100.608l-3.97,4.366", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "0.75px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,21.052,104.169)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "75", + "type": "text", + "x": "16.417px", + "y": "104.169px" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,23.4762,111.361)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "FE-1", + "type": "text", + "x": "14.447px", + "y": "111.361px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,35.4858,115.373)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "(FREIGHT ELEV", + "type": "text", + "x": "1.912px", + "y": "115.373px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "Motor", + "name": "Motor", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,30.1425,2.99479)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "FE-1", + "type": "text", + "x": "21.113px", + "y": "2.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,41.5845,6.78548)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "CONTROL", + "type": "text", + "x": "21.213px", + "y": "6.785px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,34.4536,10.4826)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "PEL", + "type": "text", + "x": "21.099px", + "y": "10.483px" + } + ], + "id": "TagIDPlate", + "name": "TagIDPlate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 42 117" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5fddb8dd03dbc197ba5a9c2de2c2eb70cfe7e63c8ab2f49fd8dcebbb0a7d3655 b/Gateways/FE/projects/.resources/5fddb8dd03dbc197ba5a9c2de2c2eb70cfe7e63c8ab2f49fd8dcebbb0a7d3655 new file mode 100644 index 0000000..d2d52e4 --- /dev/null +++ b/Gateways/FE/projects/.resources/5fddb8dd03dbc197ba5a9c2de2c2eb70cfe7e63c8ab2f49fd8dcebbb0a7d3655 @@ -0,0 +1,2754 @@ +{ + "custom": { + "DH": 4, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_SATB1_IO4_default]", + "in1": true, + "in2": true, + "lineup": 5, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5 or value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telse:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P4.5", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-5/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO4_default]ER1258/SATB1_ER1258_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/5fe1c82e33933445190ee92773fbd5746d641c7d34a7fcc67fc05c0373021488 b/Gateways/FE/projects/.resources/5fe1c82e33933445190ee92773fbd5746d641c7d34a7fcc67fc05c0373021488 new file mode 100644 index 0000000..e1cd45e Binary files /dev/null and b/Gateways/FE/projects/.resources/5fe1c82e33933445190ee92773fbd5746d641c7d34a7fcc67fc05c0373021488 differ diff --git a/Gateways/FE/projects/.resources/60440b0fbda7ffd8396d82f942c18c06c97f4b96e8fbb1463f3304c1663524ec b/Gateways/FE/projects/.resources/60440b0fbda7ffd8396d82f942c18c06c97f4b96e8fbb1463f3304c1663524ec new file mode 100644 index 0000000..08e31f4 --- /dev/null +++ b/Gateways/FE/projects/.resources/60440b0fbda7ffd8396d82f942c18c06c97f4b96e8fbb1463f3304c1663524ec @@ -0,0 +1,530 @@ +{ + "custom": { + "AlarmSeverity": 0, + "AlarmSeverity_Info": 0, + "Status": false, + "Status_Info": "value" + }, + "params": { + "TagPosition": false, + "layout": 1, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_DH1_LD1_CTRL" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.AlarmSeverity_Info": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath_Info": "{view.params.tagPath_Info}" + }, + "tagPath": "{tagPath_Info}" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "struct": { + "as1": "{view.custom.AlarmSeverity}", + "as2": "{view.custom.AlarmSeverity_Info}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027as1\u0027] \u003e 0 or value[\u0027as2\u0027] \u003e 0:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.Status_Info": { + "persistent": true + }, + "params.TagPosition": { + "paramDirection": "input", + "persistent": true + }, + "params.layout": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName_Info": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath_Info": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 83, + "width": 76 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 72 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.TagPosition" + }, + "transforms": [ + { + "fallback": "top", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "bottom" + }, + { + "input": true, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "LD", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Container" + }, + "position": { + "height": 68, + "width": 72, + "y": 14 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "var(--state-standby)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "var(--olGray)", + "borderStyle": "solid", + "borderWidth": 1.5 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var01" + }, + "position": { + "height": 32, + "width": 70, + "y": 17 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Alarm Target Disagree" + }, + "enabled": false, + "transforms": [ + { + "fallback": "error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No Leak Detected" + }, + { + "input": true, + "output": "Leak Detected" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "No Leak Detected", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Box" + }, + "position": { + "height": 32, + "width": 67, + "x": 1, + "y": 16 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineWidth": 3 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 21, + "width": 20.36, + "x": 61.9970703125, + "y": 3.4990234375 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Container_0" + }, + "position": { + "height": 22, + "width": 62, + "x": 5, + "y": 54 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity_Info" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"var(--state-faulted)\"\n\telse:\n\t\treturn \"var(--state-standby)\"", + "type": "script" + } + ], + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity_Info" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"White\"\n\telse:\n\t\treturn \"Gray\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderColor": "var(--olGray)", + "borderStyle": "solid", + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "borderWidth": 1.5 + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath_Info\n\tobjectName \u003d self.view.params.objectName_Info\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label_0" + }, + "position": { + "height": 20, + "width": 58.36, + "x": 5, + "y": 55.29 + }, + "propConfig": { + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity_Info" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"white\"\n\telse:\n\t\treturn \"darkgrey\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Info", + "textStyle": { + "classes": "containers/HoverOver", + "color": "black", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 0, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6093c75f211fc3ea3f7ccc045e2186aa2ba8177131cc22cac32505969d60f343 b/Gateways/FE/projects/.resources/6093c75f211fc3ea3f7ccc045e2186aa2ba8177131cc22cac32505969d60f343 new file mode 100644 index 0000000..17b3354 Binary files /dev/null and b/Gateways/FE/projects/.resources/6093c75f211fc3ea3f7ccc045e2186aa2ba8177131cc22cac32505969d60f343 differ diff --git a/Gateways/FE/projects/.resources/60d12d398464ecc9149184eadb653c80f581e4d79637f0a7c55fc95411c29abe b/Gateways/FE/projects/.resources/60d12d398464ecc9149184eadb653c80f581e4d79637f0a7c55fc95411c29abe new file mode 100644 index 0000000..5173ae0 --- /dev/null +++ b/Gateways/FE/projects/.resources/60d12d398464ecc9149184eadb653c80f581e4d79637f0a7c55fc95411c29abe @@ -0,0 +1,1291 @@ +{ + "custom": { + "Alarm": 0, + "RunningSts": 1, + "alarmSeverity": 0 + }, + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_MOTOR" + }, + "propConfig": { + "custom.Alarm": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Alarm Summary" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.RunningSts": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 150, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmBorder" + }, + "position": { + "height": 0.8333, + "width": 0.91, + "x": 0.005, + "y": 0.1259 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"solid\"\n\telse:\n\t\treturn \"none\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "outlineWidth": "3" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "colorHandler": { + "lines": "var(--text-muted)" + } + }, + "meta": { + "name": "Chiller" + }, + "position": { + "height": 0.98, + "width": 0.97, + "x": 0.02, + "y": -0.0001 + }, + "propConfig": { + "custom.colorHandler.status": { + "binding": { + "config": { + "expression": "if({view.custom.Alarm}, \"var(--state-faulted)\",if({view.custom.RunningSts},\"var(--state-running)\",\"var(--state-standby)\"))" + }, + "type": "expr" + } + }, + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "visible" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.status" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.status" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.status" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.status" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M100.525,0.648l6.489,6.489c0.199,0.199 0.199,0.522 -0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M99.83,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l-0,-1.105l1.305,0l-0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M99.522,1.849c0.134,-0.227 0.378,-0.367 0.642,-0.367c0.265,-0 0.509,0.14 0.643,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.135,0.231 0.137,0.516 0.004,0.748c-0.133,0.232 -0.379,0.375 -0.647,0.375l-12.39,0c-0.267,0 -0.514,-0.143 -0.647,-0.375c-0.132,-0.232 -0.131,-0.517 0.005,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M99.793,9.942l-0.39,-4.988l1.522,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l-0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M104.973,1.181l0,12.633c0,0.265 -0.215,0.481 -0.481,0.481l-8.656,-0c-0.265,-0 -0.481,-0.216 -0.481,-0.481l0,-12.633c0,-0.265 0.216,-0.48 0.481,-0.48l8.656,-0c0.266,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M99.793,9.042l-0.39,-5.001l1.522,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l-0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "100.164", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M98.379,9.232l-0.39,-5.617l1.522,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l-0,-1.31l1.448,-0l0,1.31l-1.448,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M101.264,9.232l-0.39,-5.617l1.522,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l-0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.417,15.187l78.328,-0.004l0.099,35.067l16.823,0l-0,25.323l-95.25,0l-0,-60.386Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "var(--olGray)", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M55.647,14.775l0.004,-2.433l20.681,-0l0,2.433", + "fill": {}, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "var(--olGray)", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M30.391,14.775l0.003,-2.433l20.681,-0l0,2.433", + "fill": {}, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "var(--olGray)", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M4.748,14.775l0.004,-2.433l20.681,-0l-0,2.433", + "fill": {}, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "var(--olGray)", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M3.417,15.313l-0,58.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M3.417,73.317l92.25,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M3.417,48.317l75.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M3.417,50.234l75.333,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M28.122,16.632l-11.787,31.367", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M53.385,16.286l-11.821,31.714", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M78.745,15.766l-12.206,32.251", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M3.417,18.62l11.099,29.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.77px" + }, + "type": "path" + }, + { + "d": "M28.187,16.632l12.015,31.363", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M53.385,16.286l11.86,31.731", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M4.344,15.183l11.143,29.462", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.79px" + }, + "type": "path" + }, + { + "d": "M29.88,15.183l10.966,28.45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.79px" + }, + "type": "path" + }, + { + "d": "M55.063,15.183l10.796,28.317", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.79px" + }, + "type": "path" + }, + { + "d": "M26.618,15.183l-11.103,29.462", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M51.6,15.183l-10.754,28.45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.82px" + }, + "type": "path" + }, + { + "d": "M76.657,15.183l-10.798,28.321", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.82px" + }, + "type": "path" + }, + { + "d": "M30.392,13.943l20.683,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M4.749,13.943l20.684,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M55.649,13.943l20.683,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "Internal-Lines", + "name": "Internal-Lines", + "type": "group" + } + ], + "id": "Chiller", + "name": "Chiller", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 108 76" + }, + "type": "ia.shapes.svg" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Hover", + "tooltip": { + "enabled": true, + "location": "top-right" + } + }, + "position": { + "height": 0.84, + "width": 0.92, + "y": 0.1192 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineColor": "#FF0000", + "outlineStyle": "none", + "outlineWidth": "3" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 0.1533, + "width": 0.52, + "x": 0.195, + "y": 0.7133 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if({view.custom.Alarm}, \"Faulted\",if({view.custom.RunningSts},\"Running\",\"OFF\"))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 0.1467, + "width": 0.41, + "x": 0.39, + "y": 0.0267 + }, + "propConfig": { + "custom.LLSAssignment": { + "binding": { + "config": { + "struct": { + "MotorNo": "{this.custom.motorNumber}", + "tagPath": "{[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tLLSasignment \u003d value[\u0027tagPath\u0027][value[\u0027MotorNo\u0027]-1]\n\treturn LLSasignment", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.motorNumber": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\tparts \u003d value.split(\u0027_\u0027)[5][2:]\n\treturn int(parts)", + "type": "script" + } + ], + "type": "property" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({this.custom.LLSAssignment}\u003e0,True,False)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "concat(\u0027LLS: \u0027, {this.custom.LLSAssignment})" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/60d1988c32232311ab16061a8d0425ed59bb63df9b3f5e0dde8b02abfca63abc b/Gateways/FE/projects/.resources/60d1988c32232311ab16061a8d0425ed59bb63df9b3f5e0dde8b02abfca63abc new file mode 100644 index 0000000..179efcd --- /dev/null +++ b/Gateways/FE/projects/.resources/60d1988c32232311ab16061a8d0425ed59bb63df9b3f5e0dde8b02abfca63abc @@ -0,0 +1,246 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": 1 + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tutils.admin.tags.helper.generateUDTDef()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "120px" + }, + "props": { + "text": "Generate UDT Defs" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "657px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "66px" + }, + "props": { + "style": { + "paddingBottom": "10px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": 2 + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tutils.admin.tags.helper.generateUDTInstances()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "120px" + }, + "props": { + "text": "Generate UDT Instances" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tutils.admin.tags.helper.generateUDTInstances_demo()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "120px" + }, + "props": { + "text": "DEV Generate UDT Instances" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "657px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "66px" + }, + "props": { + "style": { + "paddingBottom": "10px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": 3 + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tbytes \u003d utils.admin.tags.helper.exportAllTags()\n\t\n\tsystem.perspective.download(\"Tag Export.xlsx\", bytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "120px" + }, + "props": { + "text": "Generate MQTT Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "657px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "66px" + }, + "props": { + "style": { + "paddingBottom": "10px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "padding": "25px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6154b35568d16c4aad38990c4c42aeb6d1229877cb3d3423db838e6bdded13c8 b/Gateways/FE/projects/.resources/6154b35568d16c4aad38990c4c42aeb6d1229877cb3d3423db838e6bdded13c8 new file mode 100644 index 0000000..361ddfb --- /dev/null +++ b/Gateways/FE/projects/.resources/6154b35568d16c4aad38990c4c42aeb6d1229877cb3d3423db838e6bdded13c8 @@ -0,0 +1,172 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 365, + "width": 1700 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "props": { + "alignItems": "flex-start", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.189" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.181" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.182" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.183" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.184", + "tagProvider": "[Ignition_SATB1_IO4_default]" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.185", + "tagProvider": "[Ignition_SATB1_IO5_default]" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.180" + } + ], + "path": "Library/Widgets/Wgt_Gateway", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "FlexRepeater_0" + }, + "props": { + "alignItems": "flex-start", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.199" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.191" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.192" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.193" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.194", + "tagProvider": "[Ignition_SATB1_IO4_default]" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.195", + "tagProvider": "[Ignition_SATB1_IO5_default]" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.190" + } + ], + "justify": "space-between", + "path": "Library/Widgets/Wgt_Gateway", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "gap": "var(--space-lg)", + "overflow": "visible", + "padding": "0px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/621f705decfabcb2382b39fa24aad72ec7b4c5ad8a07e1664ea8ca3b86b9199a b/Gateways/FE/projects/.resources/621f705decfabcb2382b39fa24aad72ec7b4c5ad8a07e1664ea8ca3b86b9199a new file mode 100644 index 0000000..f6f2bde Binary files /dev/null and b/Gateways/FE/projects/.resources/621f705decfabcb2382b39fa24aad72ec7b4c5ad8a07e1664ea8ca3b86b9199a differ diff --git a/Gateways/FE/projects/.resources/62610baf9b570e33afbb9ba73b6de861100134eb9e5f18ba80853ae5015dacba b/Gateways/FE/projects/.resources/62610baf9b570e33afbb9ba73b6de861100134eb9e5f18ba80853ae5015dacba new file mode 100644 index 0000000..fbe4eac --- /dev/null +++ b/Gateways/FE/projects/.resources/62610baf9b570e33afbb9ba73b6de861100134eb9e5f18ba80853ae5015dacba @@ -0,0 +1,262 @@ +{ + "custom": { + "AlarmSeverity": 0, + "value": 29.605074 + }, + "params": { + "EU": "°F", + "embedded": true, + "objectName": "AnalogInRS485", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL22_C1_TT01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/DH/Temp6" + }, + "type": "tag" + }, + "persistent": true + }, + "params.EU": { + "paramDirection": "input", + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 100 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": "stream-light", + "output": "var(--containerNested)" + }, + { + "input": "stream-dark", + "output": "lightgray" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "None", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "None" + }, + { + "input": 0, + "output": "None" + }, + { + "input": 1, + "output": "Solid" + }, + { + "input": 2, + "output": "Solid" + }, + { + "input": 3, + "output": "Solid" + }, + { + "input": 4, + "output": "Solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "concat(numberFormat({view.custom.value}, \"0.0\"), \" \", {view.params.EU})" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": 12, + "overflow": "visible" + }, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "format": "##0.0#", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "basis": "0.1%" + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "style": { + "marginLeft": -7, + "marginTop": -10, + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/626533dc12135b4b5dc40f0561774bfa982e7632d56c39506890289dbceeb9ca b/Gateways/FE/projects/.resources/626533dc12135b4b5dc40f0561774bfa982e7632d56c39506890289dbceeb9ca new file mode 100644 index 0000000..a2d2871 --- /dev/null +++ b/Gateways/FE/projects/.resources/626533dc12135b4b5dc40f0561774bfa982e7632d56c39506890289dbceeb9ca @@ -0,0 +1,89 @@ +{ + "custom": {}, + "params": { + "Severity": 1 + }, + "propConfig": { + "params.Severity": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 150, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmBorder Horizontal" + }, + "position": { + "basis": "300px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({view.params.Severity}\u003e0,True,False)" + }, + "type": "expr" + } + }, + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{view.params.Severity},\r\n\t1, \"#7166B7\",\r\n\t2, \"#F4B834\",\r\n\t3, \"#DE7C33\",\r\n\t4, \"#E22028\",\r\n\t\"#FFFFFF\"\r\n)\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "350", + "id": "Box", + "name": "Box", + "stroke": { + "width": "30px" + }, + "type": "rect", + "width": "725", + "x": "2.083", + "y": "2.083" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "square", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 730 355" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/628f3afeaeb101e4111160d240e2810eb1b01983d1f55a34c29951d63651c2e5 b/Gateways/FE/projects/.resources/628f3afeaeb101e4111160d240e2810eb1b01983d1f55a34c29951d63651c2e5 new file mode 100644 index 0000000..a9c077c --- /dev/null +++ b/Gateways/FE/projects/.resources/628f3afeaeb101e4111160d240e2810eb1b01983d1f55a34c29951d63651c2e5 @@ -0,0 +1,2758 @@ +{ + "custom": { + "DH": 4, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_SATB1_IO4_default]", + "in1": true, + "in2": true, + "lineup": 4, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5 or value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telse:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P4.4", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-4/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO4_default]ER1257/SATB1_ER1257_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -7, + "y": -1 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/633ca4a345492b91fc50ebebd857d7738ac251a9fa895b4eda5413d5a153e7ed b/Gateways/FE/projects/.resources/633ca4a345492b91fc50ebebd857d7738ac251a9fa895b4eda5413d5a153e7ed new file mode 100644 index 0000000..7f04bbd --- /dev/null +++ b/Gateways/FE/projects/.resources/633ca4a345492b91fc50ebebd857d7738ac251a9fa895b4eda5413d5a153e7ed @@ -0,0 +1,192 @@ +{ + "custom": {}, + "params": { + "ipAddr": "172.17.19.44", + "tagProvider": "[Ignition_SATB1_IO1_default]" + }, + "propConfig": { + "params.ipAddr": { + "paramDirection": "input", + "persistent": true + }, + "params.tagProvider": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 108, + "width": 165 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "IP" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.ipAddr" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GWName" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "GWInfo": "{parent.custom.GWInfo}", + "ipAddr": "{view.params.ipAddr}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn value[\"GWInfo\"][\"PlatformName\"] if value[\"GWInfo\"] is not None else utils.GAN.GWMap[value[\"ipAddr\"]]", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "text": "Gateway Server" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Role" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.GWInfo" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn value[\"RedundancyStatus\"] if value is not None else \"--\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Master" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "State" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.GWInfo" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn value[\"RedundantNodeActiveStatus\"] if value is not None else \"Offline\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Active" + }, + "type": "ia.display.label" + } + ], + "custom": { + "GWInfo": "192.168.1.10" + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.GWInfo": { + "binding": { + "config": { + "struct": { + "ipAddr": "{view.params.ipAddr}", + "timer": "now(3000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn utils.GAN.getGatewayStatus(value[\"ipAddr\"])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.style.borderStyle": { + "binding": { + "config": { + "path": "this.custom.GWInfo" + }, + "transforms": [ + { + "code": "\treturn \"none\" if value is not None else \"solid\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderColor": "--alarmred", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "padding": "4px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/633ed44da7240a21b5100e33f88a678ee678dee6c6fd691dd4ec1e8b45adedde b/Gateways/FE/projects/.resources/633ed44da7240a21b5100e33f88a678ee678dee6c6fd691dd4ec1e8b45adedde new file mode 100644 index 0000000..b00fea6 --- /dev/null +++ b/Gateways/FE/projects/.resources/633ed44da7240a21b5100e33f88a678ee678dee6c6fd691dd4ec1e8b45adedde @@ -0,0 +1,906 @@ +{ + "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" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/639ea2db822f164b81366d524f5ebfab421334e09bf65ce55b666dd3f5128fff b/Gateways/FE/projects/.resources/639ea2db822f164b81366d524f5ebfab421334e09bf65ce55b666dd3f5128fff new file mode 100644 index 0000000..085b7a0 --- /dev/null +++ b/Gateways/FE/projects/.resources/639ea2db822f164b81366d524f5ebfab421334e09bf65ce55b666dd3f5128fff @@ -0,0 +1,1554 @@ +{ + "custom": { + "STU_tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU01", + "data": [ + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU01", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU03", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU05", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU07", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU09", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU11", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU13", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU15", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU17", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU19", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU02", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU04", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU06", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU08", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU10", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU12", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU14", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU16", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU18", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU20", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU01", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU03", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU05", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU07", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU09", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU11", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU13", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU15", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU17", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU19", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU02", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU04", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU06", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU08", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU10", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU12", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU14", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU16", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU18", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU20", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU01", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU03", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU05", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU07", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU09", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU11", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU13", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU15", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU17", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU19", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU02", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU04", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU06", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU08", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU10", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU12", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU14", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU16", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU18", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU20", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU01", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU03", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU05", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU07", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU09", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU11", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU13", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU15", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU17", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU19", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU02", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU04", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU06", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU08", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU10", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU12", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU14", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU16", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU18", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU20", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU01", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU03", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU05", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU07", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU09", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU11", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU13", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU15", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU17", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU19", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU02", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU04", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU08", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU10", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU12", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU14", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU16", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU18", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU20" + ], + "room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]" + }, + "params": {}, + "propConfig": { + "custom.STU_tagPath": { + "binding": { + "config": { + "path": "view.custom.selected" + }, + "transforms": [ + { + "code": "\toutput \u003d \"\"\n\tif(value is None):\n\t\toutput \u003d \"[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU01\"\n\telse:\n\t\toutput \u003d value\n\treturn output", + "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/STU\", \"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": "STU diagram" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.STU_tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": false, + "objectName": "STU" + }, + "path": "Library/Diagrams/HVAC/Dgrm_STU", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "70%", + "grow": 1 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "backgroundColor": "var(--containerRoot)", + "padding": 10 + } + }, + "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" + }, + "useDefaultViewWidth": true + }, + "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" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "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 \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_02_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tpayload \u003d {\t\"Tag\":self.props.selection.data[0].tagPath}\n\tmessageType \u003d \"equipmentUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "struct": { + "data": "{view.custom.data}", + "time": "now(5000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tdata \u003d value[\"data\"]\n\tfor item in data:\n\t\ttry:\n\t\t\tAlmS \u003d alarm.summary.calcMaxPriority(item)\n\t\texcept:\n\t\t\tAlmS \u003d -1\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\tinstance \u003d system.tag.readBlocking(item)[0].value\n\t\tRAT \u003d instance[\"Return Air Temperature\"]\n\t\tName \u003d instance[\"Meta\"][\"EqName\"]\n\t\tRoom \u003d instance[\"Meta\"][\"Room\"]\n\t\toutput.append({\"RAT\":RAT ,\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\": item})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.filter.text": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "type": "property" + } + } + }, + "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": "RAT", + "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": "Return Air Temperature" + }, + "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": "", + "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": false, + "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 STU01", + "RAT": 75.5999984741211, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU01" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU03", + "RAT": 75.4000015258789, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU03" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU05", + "RAT": 76.5, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU05" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU07", + "RAT": 76.69999694824219, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU07" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU09", + "RAT": 77.19999694824219, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU09" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU11", + "RAT": 76, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU11" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU13", + "RAT": 75.4000015258789, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU13" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU15", + "RAT": 75.5, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU15" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU17", + "RAT": 76.5999984741211, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU17" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU19", + "RAT": 77.30000305175781, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU19" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU02", + "RAT": 76.4000015258789, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU02" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU04", + "RAT": 76.5, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU04" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU06", + "RAT": 76.4000015258789, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU06" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU08", + "RAT": 75.5, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU08" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU10", + "RAT": 75.4000015258789, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU10" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU12", + "RAT": 75.19999694824219, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU12" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU14", + "RAT": 75.5, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU14" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU16", + "RAT": 75.4000015258789, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU16" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU18", + "RAT": 75.5, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU18" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU20", + "RAT": 75.69999694824219, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU20" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU01", + "RAT": 73.9000015258789, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU01" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU03", + "RAT": 74.80000305175781, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU03" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU05", + "RAT": 75.19999694824219, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU05" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU07", + "RAT": 75.4000015258789, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU07" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU09", + "RAT": 75.19999694824219, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU09" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU11", + "RAT": 75.30000305175781, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU11" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU13", + "RAT": 75.30000305175781, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU13" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU15", + "RAT": 75.30000305175781, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU15" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU17", + "RAT": 75.30000305175781, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU17" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU19", + "RAT": 75.19999694824219, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU19" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU02", + "RAT": 75, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU02" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU04", + "RAT": 75, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU04" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU06", + "RAT": 75, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU06" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU08", + "RAT": 75.0999984741211, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU08" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU10", + "RAT": 75.0999984741211, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU10" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU12", + "RAT": 75.19999694824219, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU12" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU14", + "RAT": 75.30000305175781, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU14" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU16", + "RAT": 75.19999694824219, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU16" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU18", + "RAT": 75.30000305175781, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU18" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU20", + "RAT": 75.19999694824219, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU20" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU01", + "RAT": 89.69999694824219, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU01" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU03", + "RAT": 85.4000015258789, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU03" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU05", + "RAT": 82.5999984741211, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU05" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU07", + "RAT": 82.69999694824219, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU07" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU09", + "RAT": 82.0999984741211, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU09" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU11", + "RAT": 82, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU11" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU13", + "RAT": 83.5, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU13" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU15", + "RAT": 81.80000305175781, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU15" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU17", + "RAT": 82.4000015258789, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU17" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU19", + "RAT": 81.0999984741211, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU19" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU02", + "RAT": 85, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU02" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU04", + "RAT": 81.30000305175781, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU04" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU06", + "RAT": 82, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU06" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU08", + "RAT": 81.80000305175781, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU08" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU10", + "RAT": 82.0999984741211, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU10" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU12", + "RAT": 81.19999694824219, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU12" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU14", + "RAT": 82.0999984741211, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU14" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU16", + "RAT": 81.0999984741211, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU16" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU18", + "RAT": 80.19999694824219, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU18" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU20", + "RAT": 82.80000305175781, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU20" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU01", + "RAT": 81.0999984741211, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU01" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU03", + "RAT": 82.9000015258789, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU03" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU05", + "RAT": 82.80000305175781, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU05" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU07", + "RAT": 82.5999984741211, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU07" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU09", + "RAT": 82.69999694824219, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU09" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU11", + "RAT": 82.4000015258789, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU11" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU13", + "RAT": 83.5, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU13" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU15", + "RAT": 82.5, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU15" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU17", + "RAT": 82.69999694824219, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU17" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU19", + "RAT": 82.5999984741211, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU19" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU02", + "RAT": 81.19999694824219, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU02" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU04", + "RAT": 81.9000015258789, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU04" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU06", + "RAT": 81.69999694824219, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU06" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU08", + "RAT": 81.5, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU08" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU10", + "RAT": 81, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU10" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU12", + "RAT": 80.5999984741211, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU12" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU14", + "RAT": 81.19999694824219, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU14" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU16", + "RAT": 80.5, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU16" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU18", + "RAT": 80.69999694824219, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU18" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU20", + "RAT": 83, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU20" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU01", + "RAT": 75.5, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU01" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU03", + "RAT": 75.9000015258789, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU03" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU05", + "RAT": 76.0999984741211, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU05" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU07", + "RAT": 76, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU07" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU09", + "RAT": 77.30000305175781, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU09" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU11", + "RAT": 76.5, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU11" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU13", + "RAT": 76.4000015258789, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU13" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU15", + "RAT": 76.5999984741211, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU15" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU17", + "RAT": 76.5999984741211, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU17" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU19", + "RAT": 76.5, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU19" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU02", + "RAT": 75.19999694824219, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU02" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU04", + "RAT": 75.0999984741211, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU04" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU06", + "RAT": 75.0999984741211, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU08", + "RAT": 75.19999694824219, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU08" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU10", + "RAT": 75.30000305175781, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU10" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU12", + "RAT": 75.19999694824219, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU12" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU14", + "RAT": 75.4000015258789, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU14" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU16", + "RAT": 75.30000305175781, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU16" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU18", + "RAT": 75.30000305175781, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU18" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU20", + "RAT": 75, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU20" + } + ], + "filter": { + "enabled": true + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "450px", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around", + "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)", + "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 + }, + { + "messageType": "equipmentUpdate", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.STU_tagPath \u003d payload[\"Tag\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/63a674172047369d3ec7fabc66c69223bca711af1e58cd127e4dc048509a2a7b b/Gateways/FE/projects/.resources/63a674172047369d3ec7fabc66c69223bca711af1e58cd127e4dc048509a2a7b new file mode 100644 index 0000000..a9a904c --- /dev/null +++ b/Gateways/FE/projects/.resources/63a674172047369d3ec7fabc66c69223bca711af1e58cd127e4dc048509a2a7b @@ -0,0 +1,91 @@ +{ + "custom": {}, + "params": { + "title": "Running", + "value": 5 + }, + "propConfig": { + "params.title": { + "paramDirection": "input", + "persistent": true + }, + "params.value": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 100, + "width": 70 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "80%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.value" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 42, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.title" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "padding": "3px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6401e206e961f891b3d1cf583c968341f060cced50c9f51cc6c347c2623a595f b/Gateways/FE/projects/.resources/6401e206e961f891b3d1cf583c968341f060cced50c9f51cc6c347c2623a595f new file mode 100644 index 0000000..0c7e234 Binary files /dev/null and b/Gateways/FE/projects/.resources/6401e206e961f891b3d1cf583c968341f060cced50c9f51cc6c347c2623a595f differ diff --git a/Gateways/FE/projects/.resources/642acbd7bf6503f3f087937c03b752c4030f7dd0720a795fdbbc06260ac2c1bf b/Gateways/FE/projects/.resources/642acbd7bf6503f3f087937c03b752c4030f7dd0720a795fdbbc06260ac2c1bf new file mode 100644 index 0000000..3471557 Binary files /dev/null and b/Gateways/FE/projects/.resources/642acbd7bf6503f3f087937c03b752c4030f7dd0720a795fdbbc06260ac2c1bf differ diff --git a/Gateways/FE/projects/.resources/6485b702821b332dca290b4af00870a60555d3ade7d979108d2e31bd12243c62 b/Gateways/FE/projects/.resources/6485b702821b332dca290b4af00870a60555d3ade7d979108d2e31bd12243c62 new file mode 100644 index 0000000..a01b645 Binary files /dev/null and b/Gateways/FE/projects/.resources/6485b702821b332dca290b4af00870a60555d3ade7d979108d2e31bd12243c62 differ diff --git a/Gateways/FE/projects/.resources/64d41a016692e390178cbddef1110f1eece6be39a3d72c36772ff435094be96f b/Gateways/FE/projects/.resources/64d41a016692e390178cbddef1110f1eece6be39a3d72c36772ff435094be96f new file mode 100644 index 0000000..e4b7d53 --- /dev/null +++ b/Gateways/FE/projects/.resources/64d41a016692e390178cbddef1110f1eece6be39a3d72c36772ff435094be96f @@ -0,0 +1,131 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Close Delay Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Open Delay Setpoint" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_CV31" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/64ee1a684543d590b33feecc90e77671ceb7eea900f5080f7df789e951c3198a b/Gateways/FE/projects/.resources/64ee1a684543d590b33feecc90e77671ceb7eea900f5080f7df789e951c3198a new file mode 100644 index 0000000..191b579 Binary files /dev/null and b/Gateways/FE/projects/.resources/64ee1a684543d590b33feecc90e77671ceb7eea900f5080f7df789e951c3198a differ diff --git a/Gateways/FE/projects/.resources/64fabc3fd3a07d5ae49c693bda90e639588fe30ad7b199663179989351fd4bee b/Gateways/FE/projects/.resources/64fabc3fd3a07d5ae49c693bda90e639588fe30ad7b199663179989351fd4bee new file mode 100644 index 0000000..e13ba32 Binary files /dev/null and b/Gateways/FE/projects/.resources/64fabc3fd3a07d5ae49c693bda90e639588fe30ad7b199663179989351fd4bee differ diff --git a/Gateways/FE/projects/.resources/652a5d14bd2b5b2e4b7466f45cc216611e3afcb48179ccb9b61c17707ff289b7 b/Gateways/FE/projects/.resources/652a5d14bd2b5b2e4b7466f45cc216611e3afcb48179ccb9b61c17707ff289b7 new file mode 100644 index 0000000..35fe82b Binary files /dev/null and b/Gateways/FE/projects/.resources/652a5d14bd2b5b2e4b7466f45cc216611e3afcb48179ccb9b61c17707ff289b7 differ diff --git a/Gateways/FE/projects/.resources/658461a2e5edc5a0f0a4a29cb0e4a75b7491cf786cc4c64c50a71dd66b5f98c0 b/Gateways/FE/projects/.resources/658461a2e5edc5a0f0a4a29cb0e4a75b7491cf786cc4c64c50a71dd66b5f98c0 new file mode 100644 index 0000000..a76c9bf --- /dev/null +++ b/Gateways/FE/projects/.resources/658461a2e5edc5a0f0a4a29cb0e4a75b7491cf786cc4c64c50a71dd66b5f98c0 @@ -0,0 +1,924 @@ +{ + "custom": { + "path": [ + { + "aggregate": "LastValue", + "alias": "BP" + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + "propConfig": { + "custom.path": { + "persistent": true + }, + "custom.path[0].path": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\"}\n\ttagname \u003d str(value) + \"/Building Pressure\"\n\tnameparts \u003d tagname.split(\"]\")\n\tprovider\u003d histProvider[nameparts[0][1:]]\n\treturn \"[{}]{}\".format(provider, nameparts[1])\n\t\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 400, + "width": 400 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "marginLeft": 5 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "XYChart" + }, + "position": { + "basis": "194px" + }, + "propConfig": { + "props.dataSources.data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.path}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + } + }, + "props": { + "background": { + "render": "color" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "data", + "x": "t_stamp", + "y": "BP" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Building Pressure", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "BP", + "zIndex": 0 + } + ], + "style": { + "marginBottom": -50 + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": false + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "Bldg Pressure" + }, + "name": "BP", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "SAT", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "223px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "basis": "34.3px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "SAT Widget" + }, + "position": { + "basis": "17.2%" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Transmitter_0" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Modulating Heat Position" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "% Heat Pos", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_1" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Modulating Hot Gas Reheat Valve Position" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "% Hot Gas Valve", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_2" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Runtime" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "hours", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "text": "Outside conditions", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Transmitter_2" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_3" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Humidity" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "% RH", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_4" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outdoor Air Dewpoint" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F Dwpt", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "174px" + }, + "props": { + "justify": "space-between" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6592a6171683ef73eec82007880ee90bc17f7bdb97942e4ac351ee853bf0fe14 b/Gateways/FE/projects/.resources/6592a6171683ef73eec82007880ee90bc17f7bdb97942e4ac351ee853bf0fe14 new file mode 100644 index 0000000..ed4ba33 --- /dev/null +++ b/Gateways/FE/projects/.resources/6592a6171683ef73eec82007880ee90bc17f7bdb97942e4ac351ee853bf0fe14 @@ -0,0 +1,112 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 991 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Table" + }, + "position": { + "height": 400, + "width": 952, + "x": 22, + "y": 111 + }, + "propConfig": { + "custom.result": { + "binding": { + "config": { + "expression": "1" + }, + "transforms": [ + { + "code": "\treturn reports.MBR.coolingdata.test1_0()", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.result.measurementDS" + }, + "type": "property" + } + } + }, + "props": { + "selection": { + "data": [ + { + "Avg Humidity": 86.00414898893956, + "Avg Temp": 68.50261806523028, + "DH1_C1 Humidity": 87.27777777777776, + "DH1_C1 Temp": 70.91833318074546, + "DH1_C10 Humidity": 59.49999999999996, + "DH1_C10 Temp": 57.83722216288253, + "DH1_C11 Humidity": 91.93888888888883, + "DH1_C11 Temp": 70.29500058492029, + "DH1_C12 Humidity": 90.47601765661938, + "DH1_C12 Temp": 70.14555333455404, + "DH1_C13 Humidity": 89.76666666666661, + "DH1_C13 Temp": 70.50888841417101, + "DH1_C14 Humidity": 90.00555555555552, + "DH1_C14 Temp": 70.3611106872559, + "DH1_C15 Humidity": 90.66111111111113, + "DH1_C15 Temp": 69.94555524190268, + "DH1_C16 Humidity": 93.97777777777779, + "DH1_C16 Temp": 69.70444632636182, + "DH1_C17 Humidity": 93.86666666666666, + "DH1_C17 Temp": 69.73666559855138, + "DH1_C18 Humidity": 89.77777777777777, + "DH1_C18 Temp": 69.64277814229325, + "DH1_C19 Humidity": 90.53888888888892, + "DH1_C19 Temp": 70.05456472576014, + "DH1_C2 Humidity": 89.37777777777782, + "DH1_C2 Temp": 70.58555679321285, + "DH1_C20 Humidity": 90.02777777777783, + "DH1_C20 Temp": 70.70111058553056, + "DH1_C21 Humidity": 59.988888888888894, + "DH1_C21 Temp": 57.89444351196293, + "DH1_C3 Humidity": 87.50555555555557, + "DH1_C3 Temp": 70.29222229851618, + "DH1_C4 Humidity": 88.40555555555562, + "DH1_C4 Temp": 70.67555741204157, + "DH1_C5 Humidity": 91.38888888888894, + "DH1_C5 Temp": 70.33944435119633, + "DH1_C6 Humidity": 90.80555555555553, + "DH1_C6 Temp": 70.24833255343961, + "DH1_C7 Humidity": 90.20000000000003, + "DH1_C7 Temp": 70.49055569966634, + "DH1_C8 Humidity": 90.78888888888886, + "DH1_C8 Temp": 70.41097262408292, + "DH1_C9 Humidity": 59.81111111111113, + "DH1_C9 Temp": 57.766665140787715, + "Max Humidity": 93.97777777777779, + "Max Temp": 70.91833318074546, + "Min Humidity": 59.49999999999996, + "Min Temp": 57.766665140787715, + "t_stamp": 1748930400000 + } + ], + "selectedColumn": "t_stamp", + "selectedRow": 6 + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/65a2e65cc6e5c6789883b0a24776113c3aab51e67068b73207e1679b0528abef b/Gateways/FE/projects/.resources/65a2e65cc6e5c6789883b0a24776113c3aab51e67068b73207e1679b0528abef new file mode 100644 index 0000000..f9fffe2 Binary files /dev/null and b/Gateways/FE/projects/.resources/65a2e65cc6e5c6789883b0a24776113c3aab51e67068b73207e1679b0528abef differ diff --git a/Gateways/FE/projects/.resources/65a98a2d93974785b5177c41b221f753225d5c2fd4d673ae6677fdd3ec3e40b8 b/Gateways/FE/projects/.resources/65a98a2d93974785b5177c41b221f753225d5c2fd4d673ae6677fdd3ec3e40b8 new file mode 100644 index 0000000..42456c0 --- /dev/null +++ b/Gateways/FE/projects/.resources/65a98a2d93974785b5177c41b221f753225d5c2fd4d673ae6677fdd3ec3e40b8 @@ -0,0 +1,876 @@ +{ + "custom": { + "VAV_tagPaths": [], + "data": [ + "[Ignition_Common_IO_Gtwy]RM1100/SATB1_HS1_RM1100_VAV13", + "[Ignition_Common_IO_Gtwy]RM1100/SATB1_HS1_RM1100_VAV14", + "[Ignition_Common_IO_Gtwy]RM1101/SATB1_HS1_RM1101_VAV17", + "[Ignition_Common_IO_Gtwy]RM1102/SATB1_HS1_RM1102_VAV15", + "[Ignition_Common_IO_Gtwy]RM1102-2/SATB1_HS1_RM1102-2_VAV16", + "[Ignition_Common_IO_Gtwy]RM1103/SATB1_HS1_RM1103_VAV09", + "[Ignition_Common_IO_Gtwy]RM1109/SATB1_HS1_RM1109_VAV06", + "[Ignition_Common_IO_Gtwy]RM1110/SATB1_HS1_RM1110_VAV04", + "[Ignition_Common_IO_Gtwy]RM1110/SATB1_HS1_RM1110_VAV05", + "[Ignition_Common_IO_Gtwy]RM1111/SATB1_HS1_RM1111_VAV11", + "[Ignition_Common_IO_Gtwy]RM1113/SATB1_HS1_RM1113_VAV08", + "[Ignition_Common_IO_Gtwy]RM1114/SATB1_HS1_RM1114_VAV07", + "[Ignition_Common_IO_Gtwy]RM1116/SATB1_HS1_RM1116_VAV01", + "[Ignition_Common_IO_Gtwy]RM1117/SATB1_HS1_RM1117_VAV02", + "[Ignition_Common_IO_Gtwy]RM1118/SATB1_HS1_RM1118_VAV03", + "[Ignition_Common_IO_Gtwy]RM1121/SATB1_HS1_RM1121_VAV19", + "[Ignition_Common_IO_Gtwy]RM1127/SATB1_HS1_RM1127_VAV22", + "[Ignition_Common_IO_Gtwy]RM1127/SATB1_HS1_RM1127_VAV23", + "[Ignition_Common_IO_Gtwy]RM1133/SATB1_HS1_RM1133_VAV25", + "[Ignition_Common_IO_Gtwy]RM1133-5/SATB1_HS1_RM1133-5_VAV18", + "[Ignition_Common_IO_Gtwy]RM1134/SATB1_HS1_RM1134_VAV20", + "[Ignition_Common_IO_Gtwy]RM1135/SATB1_HS1_RM1135_VAV21", + "[Ignition_Common_IO_Gtwy]RM1137/SATB1_HS1_RM1137_VAV12", + "[Ignition_Common_IO_Gtwy]RM1138/SATB1_HS1_RM1138_VAV29", + "[Ignition_Common_IO_Gtwy]RM1139/SATB1_HS1_RM1139_VAV26", + "[Ignition_Common_IO_Gtwy]RM1139/SATB1_HS1_RM1139_VAV27", + "[Ignition_Common_IO_Gtwy]RM1139/SATB1_HS1_RM1139_VAV28", + "[Ignition_Common_IO_Gtwy]RM1141/SATB1_HS1_RM1141_VAV24", + "[Ignition_Common_IO_Gtwy]RM1153/SATB1_HS1_RM1153_VAV34", + "[Ignition_Common_IO_Gtwy]RM1190/SATB1_HS1_RM1190_VAV33", + "[Ignition_Common_IO_Gtwy]RM1192/SATB1_HS1_RM1192_VAV31", + "[Ignition_Common_IO_Gtwy]RM1194/SATB1_HS1_RM1194_VAV32" + ], + "selectedRoom": "RM1109", + "tagPath": "[Ignition_Common_IO_Gtwy]", + "tagPath_VAVmaster": "[Ignition_Common_IO_Gtwy]VAV/SATB1_VAV_Master" + }, + "params": {}, + "propConfig": { + "custom.VAV_tagPaths": { + "binding": { + "config": { + "struct": { + "selected": "{view.custom.selectedRoom}", + "time": "now(1000)" + }, + "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/VAV v2\", \"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.data": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.custom.tagPath}", + "time": "now(3000)" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttags \u003d system.tag.browse(value[\"tagPath\"],{\"typeId\":\"Objects/Air/VAV\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\toutput.append(str(item[\"fullPath\"]))\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selectedRoom": { + "persistent": true + }, + "custom.tagPath": { + "persistent": true + }, + "custom.tagPath_VAVmaster": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.VAV_tagPaths[0]" + }, + "transforms": [ + { + "code": "\timport re\n\ttag_path \u003d value\n\tpattern \u003d r\"]([^/]+)\" # Matches any characters between \u0027]\u0027 and \u0027/\u0027\n\tmatch \u003d re.search(pattern, tag_path)\n\tif match:\n\t\textracted_value \u003d match.group(1)\n\treturn extracted_value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 5, + "paddingLeft": 15, + "paddingRight": 15, + "paddingTop": 5 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "path": "view.custom.VAV_tagPaths" + }, + "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\": \"VAV v2\",\n\t\t\t\t\t\t\"tagPath\": item})\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "VAV v2", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1109/SATB1_HS1_RM1109_VAV06" + } + ], + "justify": "center", + "path": "Library/Diagrams/HVAC/Dgrm_VAV", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": 50, + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.custom.tagPath_VAVmaster\n\tobjectName \u003d \"VAVMaster\"\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\t\u0027left\u0027:\u00270\u0027,\n\t#\t\t\t\u0027top\u0027:\u00270\u0027,\n\t\t\u0027width\u0027: \u00271000px\u0027,\n\t\t\u0027height\u0027: \u0027800px\u0027\n\t\t}\n\t}\n\tutils.nav.eqPopupMsg(self, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "34px" + }, + "props": { + "primary": false, + "text": "VAV Global parameters" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Diagram" + }, + "position": { + "basis": "70%", + "grow": 1 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": 20 + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "First Floor" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FirstFloor Percent_0" + }, + "position": { + "basis": "30%", + "grow": 1, + "shrink": 0 + }, + "props": { + "path": "Library/Widgets/Layouts/RTU_FirstFloor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true + }, + "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)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "66%", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "struct": { + "p": "{view.custom.data}", + "t": "now(3000)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tpaths \u003d value[\u0027p\u0027]\n\tsubPaths \u003d [\n\t\t\"/Space Temperature\",\n\t\t\"/Damper Position\"\n\t]\n\tsize \u003d len(subPaths)\n\ttags \u003d []\n\tfor path in paths:\n\t\tfor sub in subPaths:\n\t\t\ttags.append(path+sub)\n\tdata \u003d system.tag.readBlocking(tags)\n\toutput \u003d []\n\tfor vav in paths:\n\t\telement \u003d {}\n\t\trawTag \u003d vav.split(\u0027_\u0027)\n\t\tname \u003d rawTag[-1]\n\t\troom \u003d rawTag[-2]\n\t\t#almS \u003d alarm.summary.calcMaxPriority(vav)\n\t\talmS \u003d 0\n\t\tif almS \u003c\u003d0: alm_lbl \u003d \u0027\u0027\n\t\telif almS \u003d\u003d1: alm_lbl \u003d \u0027Info\u0027\n\t\telif almS \u003d\u003d2: alm_lbl \u003d \u0027Warning\u0027\n\t\telif almS \u003d\u003d3: alm_lbl \u003d \u0027High\u0027\n\t\telif almS \u003d\u003d4: alm_lbl \u003d \u0027Critical\u0027\n\t\telse: alm_lbl \u003d \u0027error\u0027\n\t\t\n\t\tpos \u003d paths.index(vav)\n\t\tidx1 \u003d pos * size\n\t\tidx2 \u003d (pos * size) +1\n\t\telement[\u0027name\u0027] \u003d name\n\t\telement[\u0027room\u0027] \u003d room\n\t\telement[\u0027alarm\u0027] \u003d alm_lbl\n\t\telement[\u0027SpaceTemp\u0027] \u003d data[idx1].value\n\t\telement[\u0027DamperPos\u0027] \u003d data[idx2].value\n\t\t\n\t\toutput.append(element)\n\treturn output", + "type": "script" + } + ], + "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/VAV v2\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\treturn tags", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "type": "property" + } + } + }, + "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": 70 + }, + { + "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": "Room" + }, + "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": 90 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "SpaceTemp", + "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": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "DamperPos", + "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": "Damper Pos" + }, + "justify": "left", + "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": false, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 80 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "alarm", + "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" + }, + "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": "" + } + ], + "dragOrderable": false, + "filter": { + "enabled": true + }, + "headerGroups": [ + [] + ], + "pager": { + "activeOption": 14, + "options": [ + 5, + 10, + 14, + 50, + 100 + ] + }, + "rows": { + "striped": { + "color": { + "even": "#C0C0C0" + } + } + }, + "virtualized": false + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "Location" + }, + "position": { + "basis": "450px", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around", + "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)", + "padding": 15 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "roomUpdate", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selectedRoom \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/65a99cc07e9d13275756a6843fa41cfd2840b0ae7a276210d591324fd730fa18 b/Gateways/FE/projects/.resources/65a99cc07e9d13275756a6843fa41cfd2840b0ae7a276210d591324fd730fa18 new file mode 100644 index 0000000..86e548e Binary files /dev/null and b/Gateways/FE/projects/.resources/65a99cc07e9d13275756a6843fa41cfd2840b0ae7a276210d591324fd730fa18 differ diff --git a/Gateways/FE/projects/.resources/6608039881c273c9fa7c0776a55dc0f18f69216212b613b69f668b969e1c4e0a b/Gateways/FE/projects/.resources/6608039881c273c9fa7c0776a55dc0f18f69216212b613b69f668b969e1c4e0a new file mode 100644 index 0000000..e63f4cb --- /dev/null +++ b/Gateways/FE/projects/.resources/6608039881c273c9fa7c0776a55dc0f18f69216212b613b69f668b969e1c4e0a @@ -0,0 +1,504 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 1", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 20, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 2", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 30, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 3", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 40, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 4", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 50, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 5", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 130, + "instanceStyle": { + "classes": "" + }, + "name": "Ground Current", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 70, + "instanceStyle": { + "classes": "" + }, + "name": "Input AB THD-F", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 90, + "instanceStyle": { + "classes": "" + }, + "name": "Input BC THD-F", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 110, + "instanceStyle": { + "classes": "" + }, + "name": "Input CA THD-F", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 150, + "instanceStyle": { + "classes": "" + }, + "name": "Input Frequency", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 80, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage AB", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 100, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage BC", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 120, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage CA", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 60, + "instanceStyle": { + "classes": "" + }, + "name": "Main Breaker", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 140, + "instanceStyle": { + "classes": "" + }, + "name": "Neutral Current", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 170, + "instanceStyle": { + "classes": "" + }, + "name": "Output A KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 180, + "instanceStyle": { + "classes": "" + }, + "name": "Output A PF", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 190, + "instanceStyle": { + "classes": "" + }, + "name": "Output B KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 200, + "instanceStyle": { + "classes": "" + }, + "name": "Output B PF", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 210, + "instanceStyle": { + "classes": "" + }, + "name": "Output C KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 220, + "instanceStyle": { + "classes": "" + }, + "name": "Output C PF", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 230, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 250, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 270, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 240, + "instanceStyle": { + "classes": "" + }, + "name": "Output KVA", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 260, + "instanceStyle": { + "classes": "" + }, + "name": "Output KWh", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 280, + "instanceStyle": { + "classes": "" + }, + "name": "Output Total KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 290, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage AB", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 300, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage AN", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 310, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage BC", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 320, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage BN", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 330, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage CA", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 340, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage CN", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 160, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage CN", + "options": [], + "visible": false + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "SPD Alarm", + "options": [ + "No Alarm", + "Alarmed" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/66138eee32e54edd211e7aa5b29b2fe83783fbe3cc452e094e5459c872352aa2 b/Gateways/FE/projects/.resources/66138eee32e54edd211e7aa5b29b2fe83783fbe3cc452e094e5459c872352aa2 new file mode 100644 index 0000000..379e0b4 Binary files /dev/null and b/Gateways/FE/projects/.resources/66138eee32e54edd211e7aa5b29b2fe83783fbe3cc452e094e5459c872352aa2 differ diff --git a/Gateways/FE/projects/.resources/66670a87b5527ceefe20a208d4d737a4bb791a8f17db89654619c4d7b15b929c b/Gateways/FE/projects/.resources/66670a87b5527ceefe20a208d4d737a4bb791a8f17db89654619c4d7b15b929c new file mode 100644 index 0000000..8f90d8b Binary files /dev/null and b/Gateways/FE/projects/.resources/66670a87b5527ceefe20a208d4d737a4bb791a8f17db89654619c4d7b15b929c differ diff --git a/Gateways/FE/projects/.resources/668651dd8602ef2f93bcc80089b082094d2c640540df8f29a22e85935892c7a5 b/Gateways/FE/projects/.resources/668651dd8602ef2f93bcc80089b082094d2c640540df8f29a22e85935892c7a5 new file mode 100644 index 0000000..6ddd84f --- /dev/null +++ b/Gateways/FE/projects/.resources/668651dd8602ef2f93bcc80089b082094d2c640540df8f29a22e85935892c7a5 @@ -0,0 +1,17 @@ +{ + "base": { + "style": { + "backgroundImage": "linear-gradient(180deg, #59B1E8 0%, #47A9E6 100%)", + "borderColor": "#47A9E6", + "borderStyle": "solid", + "borderWidth": "1px", + "borderRadius": "4px", + "color": "#FFFFFF", + "fontSize": "14px", + "fontWeight": "bold", + "lineHeight": "18px", + "textTransform": "uppercase", + "fill": "#FFFFFF" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/669dea013cd92e6cb92d9edb05f2ff402f37ccc484a2d8d9ec030267fd02317e b/Gateways/FE/projects/.resources/669dea013cd92e6cb92d9edb05f2ff402f37ccc484a2d8d9ec030267fd02317e new file mode 100644 index 0000000..dfabdd3 Binary files /dev/null and b/Gateways/FE/projects/.resources/669dea013cd92e6cb92d9edb05f2ff402f37ccc484a2d8d9ec030267fd02317e differ diff --git a/Gateways/FE/projects/.resources/66e5a9f876dd0e1da643ad42b607748721ee2636bc7c7684b60568a7b8089309 b/Gateways/FE/projects/.resources/66e5a9f876dd0e1da643ad42b607748721ee2636bc7c7684b60568a7b8089309 new file mode 100644 index 0000000..75c3e84 Binary files /dev/null and b/Gateways/FE/projects/.resources/66e5a9f876dd0e1da643ad42b607748721ee2636bc7c7684b60568a7b8089309 differ diff --git a/Gateways/FE/projects/.resources/66ebf8f23d99809d0f67c98cf246bd4c9b9303c6d28342ab16bb56bf1ff2d901 b/Gateways/FE/projects/.resources/66ebf8f23d99809d0f67c98cf246bd4c9b9303c6d28342ab16bb56bf1ff2d901 new file mode 100644 index 0000000..0e636ae Binary files /dev/null and b/Gateways/FE/projects/.resources/66ebf8f23d99809d0f67c98cf246bd4c9b9303c6d28342ab16bb56bf1ff2d901 differ diff --git a/Gateways/FE/projects/.resources/675611a0cea2ed138dba1ded878f0eacb6517bcff3f00b748ce919791977190b b/Gateways/FE/projects/.resources/675611a0cea2ed138dba1ded878f0eacb6517bcff3f00b748ce919791977190b new file mode 100644 index 0000000..1813497 Binary files /dev/null and b/Gateways/FE/projects/.resources/675611a0cea2ed138dba1ded878f0eacb6517bcff3f00b748ce919791977190b differ diff --git a/Gateways/FE/projects/.resources/676f5b10845549195a4c6be8103598c078f04532cc047e60711f99e75ce581f3 b/Gateways/FE/projects/.resources/676f5b10845549195a4c6be8103598c078f04532cc047e60711f99e75ce581f3 new file mode 100644 index 0000000..7377efa Binary files /dev/null and b/Gateways/FE/projects/.resources/676f5b10845549195a4c6be8103598c078f04532cc047e60711f99e75ce581f3 differ diff --git a/Gateways/FE/projects/.resources/67970ca374a34b1d2920ffa699193b58010deacc2aae6e4476d6c28242d2396d b/Gateways/FE/projects/.resources/67970ca374a34b1d2920ffa699193b58010deacc2aae6e4476d6c28242d2396d new file mode 100644 index 0000000..137195c --- /dev/null +++ b/Gateways/FE/projects/.resources/67970ca374a34b1d2920ffa699193b58010deacc2aae6e4476d6c28242d2396d @@ -0,0 +1,435 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 400, + "width": 400 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "PLCC" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M639.497,584.775l-0,260.676l-395.251,228.424l-0,-260.677l395.251,-228.423Z", + "fill": { + "paint": "#b9bbbd" + }, + "name": "path", + "type": "path" + }, + { + "d": "M244.246,813.196l-0,260.679l-196.361,-113.411l-0,-260.679l196.361,113.411Z", + "fill": { + "paint": "#a3a6a9" + }, + "name": "path", + "type": "path" + }, + { + "d": "M441.871,473.018l197.626,112.847l-395.321,227.333l-197.625,-112.847l395.32,-227.333Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M584.928,673.581l-0,155.744", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M513.519,717.184l0,155.743", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M441.871,751.453l0,155.744", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M286.289,829.274c7.641,0.217 13.599,9.046 13.295,19.703c-0.304,10.656 -6.754,19.131 -14.396,18.914c-7.641,-0.218 -13.599,-9.047 -13.295,-19.703c0.304,-10.657 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M286.289,829.274c7.641,0.217 13.599,9.046 13.295,19.703c-0.304,10.656 -6.754,19.131 -14.396,18.914c-7.641,-0.218 -13.599,-9.047 -13.295,-19.703c0.304,-10.657 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + }, + { + "d": "M343.574,804.673c7.642,0.218 13.599,9.046 13.295,19.703c-0.303,10.657 -6.754,19.132 -14.395,18.914c-7.642,-0.218 -13.599,-9.046 -13.296,-19.703c0.304,-10.657 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M343.574,804.673c7.642,0.218 13.599,9.046 13.295,19.703c-0.303,10.657 -6.754,19.132 -14.395,18.914c-7.642,-0.218 -13.599,-9.046 -13.296,-19.703c0.304,-10.657 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1232.44,228.696l0,260.677l-395.251,228.424l0,-260.677l395.251,-228.424Z", + "fill": { + "paint": "#b9bbbd" + }, + "name": "path", + "type": "path" + }, + { + "d": "M837.191,457.118l0,260.679l-196.361,-113.411l0,-260.679l196.361,113.411Z", + "fill": { + "paint": "#a3a6a9" + }, + "name": "path", + "type": "path" + }, + { + "d": "M1034.82,116.939l197.625,112.848l-395.32,227.333l-197.625,-112.848l395.32,-227.333Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M1177.87,317.503l0,155.743", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1106.46,361.105l-0,155.744", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1034.82,395.375l-0,155.743", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M879.234,473.195c7.642,0.218 13.599,9.046 13.296,19.703c-0.304,10.657 -6.755,19.132 -14.396,18.914c-7.642,-0.218 -13.599,-9.046 -13.296,-19.703c0.304,-10.657 6.755,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M879.234,473.195c7.642,0.218 13.599,9.046 13.296,19.703c-0.304,10.657 -6.755,19.132 -14.396,18.914c-7.642,-0.218 -13.599,-9.046 -13.296,-19.703c0.304,-10.657 6.755,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + }, + { + "d": "M936.52,448.594c7.641,0.218 13.599,9.047 13.295,19.703c-0.304,10.657 -6.754,19.132 -14.396,18.914c-7.642,-0.217 -13.599,-9.046 -13.295,-19.703c0.303,-10.656 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M936.52,448.594c7.641,0.218 13.599,9.047 13.295,19.703c-0.304,10.657 -6.754,19.132 -14.396,18.914c-7.642,-0.217 -13.599,-9.046 -13.295,-19.703c0.303,-10.656 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "1091.35", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "1317.53", + "x": "0", + "y": "83.333" + }, + { + "d": "M1317.53,83.333l0,1091.35l-1317.53,-0l0,-1091.35l1317.53,0Zm-9.259,9.26l-1299.01,-0l0,1072.83l1299.01,0l-0,-1072.83Z", + "fill": { + "paint": "#f00" + }, + "name": "path", + "type": "path" + }, + { + "d": "M1321.51,7.199l72.102,72.102c2.211,2.211 2.211,5.801 -0,8.011l-72.102,72.102c-2.211,2.211 -5.8,2.211 -8.011,0l-72.102,-72.102c-2.211,-2.21 -2.211,-5.8 -0,-8.011l72.102,-72.102c2.211,-2.211 5.8,-2.211 8.011,0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1313.79,99.553l-3.899,-52.607l15.231,-0l-3.777,52.607l-7.555,0Zm-3.534,20.115l0,-12.275l14.5,-0l0,12.275l-14.5,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1310.36,20.549c1.488,-2.531 4.204,-4.085 7.14,-4.085c2.937,-0 5.653,1.554 7.141,4.085c15.678,26.678 52.978,90.145 68.832,117.122c1.505,2.561 1.524,5.732 0.049,8.31c-1.476,2.578 -4.218,4.169 -7.189,4.169l-137.665,-0c-2.971,-0 -5.714,-1.591 -7.189,-4.169c-1.475,-2.578 -1.457,-5.749 0.048,-8.31c15.855,-26.977 53.155,-90.444 68.833,-117.122Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1313.38,110.465l-4.329,-55.419l16.908,-0l-4.193,55.419l-8.386,-0Zm-3.923,21.189l0,-12.931l16.097,0l-0,12.931l-16.097,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1370.93,13.127l0,140.359c0,2.949 -2.394,5.344 -5.343,5.344l-96.181,-0c-2.949,-0 -5.344,-2.395 -5.344,-5.344l0,-140.359c0,-2.949 2.395,-5.343 5.344,-5.343l96.181,-0c2.949,-0 5.343,2.394 5.343,5.343Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1313.38,100.468l-4.329,-55.571l16.908,0l-4.193,55.571l-8.386,0Zm-3.923,21.248l0,-12.967l16.097,0l-0,12.967l-16.097,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "1317.5", + "cy": "83.307", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "79.974", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1297.66,102.583l-4.328,-62.419l16.908,-0l-4.193,62.419l-8.387,0Zm-3.922,23.866l-0,-14.564l16.096,-0l0,14.564l-16.096,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1329.72,102.583l-4.328,-62.419l16.908,-0l-4.193,62.419l-8.387,0Zm-3.922,23.866l-0,-14.564l16.096,-0l0,14.564l-16.096,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1401 1175" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/679d02ec046174e61b140e463b9b3aebdce0f109525db5a373769835a24fe4f6 b/Gateways/FE/projects/.resources/679d02ec046174e61b140e463b9b3aebdce0f109525db5a373769835a24fe4f6 new file mode 100644 index 0000000..e1becab --- /dev/null +++ b/Gateways/FE/projects/.resources/679d02ec046174e61b140e463b9b3aebdce0f109525db5a373769835a24fe4f6 @@ -0,0 +1,269 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Alarm Description" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarms Enabled", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Alarms Enabled" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Area Served", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Area Served" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Type", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Breaker Type" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag ConfigV2", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/67ca8377d88de449622566a51879f1791eb86a7bc037f2753a75cbe22ef72a16 b/Gateways/FE/projects/.resources/67ca8377d88de449622566a51879f1791eb86a7bc037f2753a75cbe22ef72a16 new file mode 100644 index 0000000..a5114a1 --- /dev/null +++ b/Gateways/FE/projects/.resources/67ca8377d88de449622566a51879f1791eb86a7bc037f2753a75cbe22ef72a16 @@ -0,0 +1,637 @@ +{ + "custom": { + "model": null + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "" + }, + "propConfig": { + "custom.model": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Meta/ModelNo" + }, + "transforms": [ + { + "expression": "coalesce({value},null)", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "props": { + "text": "Tag Notes" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextArea" + }, + "position": { + "grow": 1 + }, + "type": "ia.input.text-area" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "160px", + "display": false + }, + "props": { + "direction": "column", + "style": { + "margin": "12px 12px 0px 12px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Markdown" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "!{parent.custom.editMode}" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "struct": { + "tag_notes": "{parent.custom.data.tag_notes.body}", + "wiki_notes": "{parent.custom.data.wiki_notes.body}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"\"\"{}\n\n{}\"\"\".format(value[\u0027wiki_notes\u0027], value[\u0027tag_notes\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "margin": "12px" + } + }, + "type": "ia.display.markdown" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "ApplicationHelp/Field ApplicationHelp/Small_Text" + }, + "text": "Wiki Last Updated" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if({/root.custom.data.wiki_notes.last_updated} \u003d null, \"---\", \r\ndateFormat({/root.custom.data.wiki_notes.last_updated}, \"MMM d, yy h:mm a\") + \" by \" + {/root.custom.data.wiki_notes.last_updated_by})" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "ApplicationHelp/Small_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Last Updated" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "ApplicationHelp/Field ApplicationHelp/Small_Text" + }, + "text": "Notes Last Updated" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if({/root.custom.data.tag_notes.last_updated} \u003d null, \"---\", \r\ndateFormat({/root.custom.data.tag_notes.last_updated}, \"MMM d, yy h:mm a\") + \" by \" + {/root.custom.data.tag_notes.last_updated_by})" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "ApplicationHelp/Small_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Last Updated_0" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.getChild(\"root\").custom.editMode \u003d not self.view.getChild(\"root\").custom.editMode\n\tself.view.getChild(\"root\").custom.editType \u003d \u0027wiki_notes\u0027\n\tsystem.perspective.sendMessage(\"refreshEditor\")" + }, + "permissions": { + "securityLevels": [ + { + "children": [], + "name": "Authenticated" + } + ], + "type": "AllOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Edit" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "custom.isAuthorized": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/System Administrator\u0027)" + }, + "type": "expr" + } + }, + "position.display": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.image.icon.path": { + "binding": { + "config": { + "expression": "if({/root.custom.editMode}, \u0027material/close\u0027, \u0027material/edit\u0027)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if({/root.custom.editMode}, \u0027Cancel\u0027, \u0027Edit Wiki\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": {} + }, + "style": { + "classes": "ApplicationHelp/Standard_Button", + "padding": "0 10px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.getChild(\"root\").custom.editMode \u003d not self.view.getChild(\"root\").custom.editMode\n\tself.view.getChild(\"root\").custom.editType \u003d \u0027tag_notes\u0027\n\tsystem.perspective.sendMessage(\"refreshEditor\")" + }, + "permissions": { + "securityLevels": [ + { + "children": [], + "name": "Authenticated" + } + ], + "type": "AllOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Edit_0" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.image.icon.path": { + "binding": { + "config": { + "expression": "if({/root.custom.editMode}, \u0027material/close\u0027, \u0027material/edit\u0027)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if({/root.custom.editMode}, \u0027Cancel\u0027, \u0027Edit Notes\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": {} + }, + "style": { + "classes": "ApplicationHelp/Standard_Button", + "padding": "0 10px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "!{parent.custom.editMode}" + }, + "type": "expr" + } + } + }, + "props": { + "justify": "space-between", + "style": { + "gap": "10px", + "padding": "6px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Editor" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.params.inText": { + "binding": { + "config": { + "expression": "if({/root.custom.editType}\u003d\u0027wiki_notes\u0027,\r\n{/root.custom.data.wiki_notes.body},\r\n{/root.custom.data.tag_notes.body})" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "outText": "" + }, + "path": "Library/Templates/Markdown/Editor" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Editor" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{parent.custom.editMode}" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "margin": "0px 12px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath\n\tmodelNo \u003d self.view.custom.model\n\teditType \u003d self.view.getChild(\"root\").custom.editType\n\tbody \u003d self.parent.parent.getChild(\"Editor\").getChild(\"Editor\").props.params.outText\n\tuser \u003d \"guest\" if self.session.props.auth.user.userName \u003d\u003d None else self.session.props.auth.user.userName\n\tif editType \u003d\u003d \u0027wiki_notes\u0027:\n\t\tid \u003d self.view.getChild(\"root\").custom.data.tag_notes.id\n\t\tif id \u003d\u003d None:\n\t\t\tsystem.db.runNamedQuery(\"Wiki Notes/Insert Note\", {\"modelNo\":modelNo, \"body\":body, \"user\":user})\n\t\telse:\n\t\t\tsystem.db.runNamedQuery(\"Wiki Notes/Update Note\", {\"id\":id, \"body\":body, \"user\":user})\n\t\t\t\n\telif editType \u003d\u003d \u0027tag_notes\u0027:\n\t\tid \u003d self.view.getChild(\"root\").custom.data.tag_notes.id\n\t\tif id \u003d\u003d None:\n\t\t\tsystem.db.runNamedQuery(\"Tag Notes/Insert Note\", {\"tagPath\":tagPath, \"body\":body, \"user\":user})\n\t\telse:\n\t\t\tsystem.db.runNamedQuery(\"Tag Notes/Update Note\", {\"id\":id, \"body\":body, \"user\":user})\n\t\t\n\tsystem.perspective.sendMessage(messageType\u003d\"tag-notes-refresh\", payload\u003d{})\n\tself.view.getChild(\"root\").custom.editMode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "100px", + "shrink": 0 + }, + "props": { + "image": { + "icon": { + "path": "material/save" + } + }, + "style": { + "classes": "ApplicationHelp/Standard_Button", + "padding": "0 10px" + }, + "text": "Save" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.getChild(\"root\").custom.editMode \u003d False" + }, + "permissions": { + "securityLevels": [ + { + "children": [], + "name": "Authenticated" + } + ], + "type": "AllOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.image.icon.path": { + "binding": { + "config": { + "expression": "if({/root.custom.editMode}, \u0027material/close\u0027, \u0027material/edit\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": {} + }, + "primary": false, + "style": { + "classes": "ApplicationHelp/Standard_Button", + "padding": "0 10px" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "54px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{parent.custom.editMode}" + }, + "type": "expr" + } + } + }, + "props": { + "justify": "center", + "style": { + "gap": "10px", + "padding": "10px" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "data": {}, + "editType": "tag_notes" + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.data.tag_notes": { + "binding": { + "config": { + "parameters": { + "tagPath": "{view.params.tagPath}" + }, + "queryPath": "Tag Notes/Get Notes", + "returnFormat": "json" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d None or len(value) \u003d\u003d 0:\n\t\tvalue \u003d {\"id\":None, \"body\":\"\", \"last_updated\":None, \"last_updated_by\":None}\n\telse:\n\t\tvalue \u003d value[0]\n\t\n\treturn value", + "type": "script" + } + ], + "type": "query" + } + }, + "custom.data.wiki_notes": { + "binding": { + "config": { + "parameters": { + "modelNo": "{view.custom.model}" + }, + "queryPath": "Wiki Notes/Get Notes", + "returnFormat": "json" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d None or len(value) \u003d\u003d 0:\n\t\tvalue \u003d {\"id\":None, \"body\":\"\", \"last_updated\":None, \"last_updated_by\":None}\n\telse:\n\t\tvalue \u003d value[0]\n\t\n\treturn value", + "type": "script" + } + ], + "type": "query" + } + }, + "custom.editMode": { + "binding": { + "config": { + "expression": "false" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "tag-notes-refresh", + "pageScope": true, + "script": "\tself.refreshBinding(\"custom.data.wiki_notes\")\n\tself.refreshBinding(\"custom.data.tag_notes\")", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/67fd0a9c90c90da5a4ddcfd920da6fc702584a018570bca43d6fccb25c809bc8 b/Gateways/FE/projects/.resources/67fd0a9c90c90da5a4ddcfd920da6fc702584a018570bca43d6fccb25c809bc8 new file mode 100644 index 0000000..5622557 Binary files /dev/null and b/Gateways/FE/projects/.resources/67fd0a9c90c90da5a4ddcfd920da6fc702584a018570bca43d6fccb25c809bc8 differ diff --git a/Gateways/FE/projects/.resources/6808153a842aa677ff476644f3f62b06b831e50de80b39ecf0d25b036cac2ba7 b/Gateways/FE/projects/.resources/6808153a842aa677ff476644f3f62b06b831e50de80b39ecf0d25b036cac2ba7 new file mode 100644 index 0000000..6b07b98 Binary files /dev/null and b/Gateways/FE/projects/.resources/6808153a842aa677ff476644f3f62b06b831e50de80b39ecf0d25b036cac2ba7 differ diff --git a/Gateways/FE/projects/.resources/68205ed26f8f799e957e563fdf10a7c9f9c0c8d32d03d6a0f3ce885d5f9b3375 b/Gateways/FE/projects/.resources/68205ed26f8f799e957e563fdf10a7c9f9c0c8d32d03d6a0f3ce885d5f9b3375 new file mode 100644 index 0000000..5fd1cc8 Binary files /dev/null and b/Gateways/FE/projects/.resources/68205ed26f8f799e957e563fdf10a7c9f9c0c8d32d03d6a0f3ce885d5f9b3375 differ diff --git a/Gateways/FE/projects/.resources/686e311b92c90035cb43a1800be60a3e6c68e5442867b0acbf80016e4ffc12ae b/Gateways/FE/projects/.resources/686e311b92c90035cb43a1800be60a3e6c68e5442867b0acbf80016e4ffc12ae new file mode 100644 index 0000000..c556a54 --- /dev/null +++ b/Gateways/FE/projects/.resources/686e311b92c90035cb43a1800be60a3e6c68e5442867b0acbf80016e4ffc12ae @@ -0,0 +1,229 @@ +{ + "custom": { + "endDate": { + "$": [ + "ts", + 0, + 1746221497024 + ], + "$ts": 1745798399000 + }, + "location": null, + "startDate": { + "$": [ + "ts", + 0, + 1746221497024 + ], + "$ts": 1745539200000 + } + }, + "params": { + "endDate": "2025-04-27 23:59:59", + "location": null, + "startDate": "2025-04-25 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "expression": "toDate({view.params.endDate})" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "expression": "toDate({view.params.startDate})" + }, + "type": "expr" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "30px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + }, + { + "label": "daily", + "value": 1440 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 60 + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Import" + }, + "position": { + "basis": "34px", + "display": false + }, + "props": { + "enabled": false, + "text": "Import" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\tsystem.perspective.download(\"Total Power Data.xls\", xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.UPSData": { + "binding": { + "config": { + "struct": { + "endDate": "{view.custom.endDate}", + "intervalMins": "{../CalculatedFields/Actions/Dropdown.props.value}", + "location": "{view.custom.location}", + "startDate": "{view.custom.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\tlocation\u003d value[\"location\"]\n\tintMins \u003d value[\"intervalMins\"]\n\treturn reports.MBR.data.ups.beginReport(startDate,endDate, intMins, location)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.UPSData" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6874cf6c1101577076b50ad7b6c93611a0495bead9dc8aa1429a3a736b5c0459 b/Gateways/FE/projects/.resources/6874cf6c1101577076b50ad7b6c93611a0495bead9dc8aa1429a3a736b5c0459 new file mode 100644 index 0000000..2fe3d1a --- /dev/null +++ b/Gateways/FE/projects/.resources/6874cf6c1101577076b50ad7b6c93611a0495bead9dc8aa1429a3a736b5c0459 @@ -0,0 +1,17625 @@ +{ + "custom": { + "data": "value" + }, + "params": {}, + "propConfig": { + "custom.data": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1000, + "width": 1700 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "CH Flex 1" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 2" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 3" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 4" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 5" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 6" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 7" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 8" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 9" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 10" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 11" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 12" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 13" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 14" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 15" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 16" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 17" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 18" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 19" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 20" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 21" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 22" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 23" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 24" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 25" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 26" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 27" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 28" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 29" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 30" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 31" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Upper Section" + }, + "props": { + "justify": "space-between", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": 10 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "custom": { + "paths": [ + "[Ignition_Common_IO_Gtwy]DH1", + "[Ignition_Common_IO_Gtwy]DH2", + "[Ignition_Common_IO_Gtwy]DH3", + "[Ignition_Common_IO_Gtwy]DH4", + "[Ignition_Common_IO_Gtwy]DH5" + ], + "raw": [ + { + "SATB1_CHW_DH1_DP01": 21.940000534057617, + "SATB1_CHW_DH1_DP02": 22.149999618530273, + "SATB1_CHW_DH1_DP03": 21.989999771118164, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.020000457763672, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 20.93000030517578, + "SATB1_CHW_DH2_DP04": 23.139999389648438, + "SATB1_CHW_DH3_DP01": 22.889999389648438, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 22.8799991607666, + "SATB1_CHW_DH4_DP04": 24.3700008392334, + "SATB1_CHW_DH5_DP01": 23.600000381469727, + "SATB1_CHW_DH5_DP02": 22.940000534057617, + "SATB1_CHW_DH5_DP03": 23.399999618530273, + "SATB1_CHW_DH5_DP04": 23.799999237060547, + "t_stamp": 1776695198398 + }, + { + "SATB1_CHW_DH1_DP01": 22.207178606919623, + "SATB1_CHW_DH1_DP02": 22.23016488533223, + "SATB1_CHW_DH1_DP03": 21.96326365919113, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.162485576302817, + "SATB1_CHW_DH2_DP02": 22.7498346569041, + "SATB1_CHW_DH2_DP03": 21.13496864775205, + "SATB1_CHW_DH2_DP04": 23.15781679156462, + "SATB1_CHW_DH3_DP01": 23.397993651094584, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.710673791469738, + "SATB1_CHW_DH3_DP04": 23.031094586648994, + "SATB1_CHW_DH4_DP01": 23.48673375079903, + "SATB1_CHW_DH4_DP02": 24.065460907656714, + "SATB1_CHW_DH4_DP03": 23.147212830483546, + "SATB1_CHW_DH4_DP04": 24.432345647826985, + "SATB1_CHW_DH5_DP01": 23.118890658196545, + "SATB1_CHW_DH5_DP02": 22.98452723853155, + "SATB1_CHW_DH5_DP03": 23.14173684318089, + "SATB1_CHW_DH5_DP04": 23.84453810658351, + "t_stamp": 1776695228398 + }, + { + "SATB1_CHW_DH1_DP01": 22.239999771118164, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 21.959999084472656, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.18000030517578, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 21.15999984741211, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.459999084472656, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.68000030517578, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.059999465942383, + "SATB1_CHW_DH4_DP03": 23.18000030517578, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.059999465942383, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.110000610351562, + "SATB1_CHW_DH5_DP04": 23.850000381469727, + "t_stamp": 1776695258398 + }, + { + "SATB1_CHW_DH1_DP01": 21.972812638091074, + "SATB1_CHW_DH1_DP02": 22.12419986863148, + "SATB1_CHW_DH1_DP03": 22.11150284419388, + "SATB1_CHW_DH1_DP04": 21.012177351280158, + "SATB1_CHW_DH2_DP01": 22.13547577023057, + "SATB1_CHW_DH2_DP02": 22.71327593253646, + "SATB1_CHW_DH2_DP03": 20.856992944534106, + "SATB1_CHW_DH2_DP04": 23.1243638340249, + "SATB1_CHW_DH3_DP01": 23.023295843401947, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.920377156248524, + "SATB1_CHW_DH3_DP04": 22.94093459140699, + "SATB1_CHW_DH4_DP01": 23.436530464724495, + "SATB1_CHW_DH4_DP02": 24.02436500423794, + "SATB1_CHW_DH4_DP03": 23.09983198857524, + "SATB1_CHW_DH4_DP04": 24.342023992423208, + "SATB1_CHW_DH5_DP01": 23.567856586907155, + "SATB1_CHW_DH5_DP02": 22.927663876215618, + "SATB1_CHW_DH5_DP03": 23.42169630802879, + "SATB1_CHW_DH5_DP04": 23.769823555311117, + "t_stamp": 1776695288398 + }, + { + "SATB1_CHW_DH1_DP01": 21.940000534057617, + "SATB1_CHW_DH1_DP02": 22.110000610351562, + "SATB1_CHW_DH1_DP03": 22.1299991607666, + "SATB1_CHW_DH1_DP04": 21.010000228881836, + "SATB1_CHW_DH2_DP01": 22.1299991607666, + "SATB1_CHW_DH2_DP02": 22.709999084472656, + "SATB1_CHW_DH2_DP03": 20.81999969482422, + "SATB1_CHW_DH2_DP04": 23.1200008392334, + "SATB1_CHW_DH3_DP01": 22.969999313354492, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.950000762939453, + "SATB1_CHW_DH3_DP04": 22.93000030517578, + "SATB1_CHW_DH4_DP01": 23.43000030517578, + "SATB1_CHW_DH4_DP02": 24.020000457763672, + "SATB1_CHW_DH4_DP03": 23.09000015258789, + "SATB1_CHW_DH4_DP04": 24.329999923706055, + "SATB1_CHW_DH5_DP01": 23.6299991607666, + "SATB1_CHW_DH5_DP02": 22.920000076293945, + "SATB1_CHW_DH5_DP03": 23.459999084472656, + "SATB1_CHW_DH5_DP04": 23.760000228881836, + "t_stamp": 1776695318398 + }, + { + "SATB1_CHW_DH1_DP01": 21.98453523244984, + "SATB1_CHW_DH1_DP02": 22.199080553788846, + "SATB1_CHW_DH1_DP03": 22.112177640738054, + "SATB1_CHW_DH1_DP04": 21.14366347805181, + "SATB1_CHW_DH2_DP01": 22.049844028214917, + "SATB1_CHW_DH2_DP02": 22.763449980322196, + "SATB1_CHW_DH2_DP03": 20.98040527309166, + "SATB1_CHW_DH2_DP04": 23.10218235867917, + "SATB1_CHW_DH3_DP01": 22.720463385816725, + "SATB1_CHW_DH3_DP02": 23.104360055377512, + "SATB1_CHW_DH3_DP03": 22.887661968273303, + "SATB1_CHW_DH3_DP04": 22.956720999315806, + "SATB1_CHW_DH4_DP01": 23.394355198962078, + "SATB1_CHW_DH4_DP02": 24.08236214652109, + "SATB1_CHW_DH4_DP03": 22.94747049535857, + "SATB1_CHW_DH4_DP04": 24.383445011026758, + "SATB1_CHW_DH5_DP01": 23.416170492318784, + "SATB1_CHW_DH5_DP02": 22.982345322983495, + "SATB1_CHW_DH5_DP03": 23.67376151820984, + "SATB1_CHW_DH5_DP04": 23.813451753107707, + "t_stamp": 1776695348398 + }, + { + "SATB1_CHW_DH1_DP01": 21.989999771118164, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.110000610351562, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.040000915527344, + "SATB1_CHW_DH2_DP02": 22.770000457763672, + "SATB1_CHW_DH2_DP03": 21, + "SATB1_CHW_DH2_DP04": 23.100000381469727, + "SATB1_CHW_DH3_DP01": 22.690000534057617, + "SATB1_CHW_DH3_DP02": 23.100000381469727, + "SATB1_CHW_DH3_DP03": 22.8799991607666, + "SATB1_CHW_DH3_DP04": 22.959999084472656, + "SATB1_CHW_DH4_DP01": 23.389999389648438, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 22.93000030517578, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.389999389648438, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.700000762939453, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776695378398 + }, + { + "SATB1_CHW_DH1_DP01": 22.11470995331637, + "SATB1_CHW_DH1_DP02": 22.076365788184223, + "SATB1_CHW_DH1_DP03": 22.092176347472236, + "SATB1_CHW_DH1_DP04": 21.11544487542234, + "SATB1_CHW_DH2_DP01": 22.164703842210393, + "SATB1_CHW_DH2_DP02": 22.74327306425073, + "SATB1_CHW_DH2_DP03": 20.99108786856034, + "SATB1_CHW_DH2_DP04": 23.10891017936708, + "SATB1_CHW_DH3_DP01": 23.2069136965032, + "SATB1_CHW_DH3_DP02": 23.1356406857671, + "SATB1_CHW_DH3_DP03": 22.924533708969893, + "SATB1_CHW_DH3_DP04": 23.06689674014379, + "SATB1_CHW_DH4_DP01": 23.496935702033063, + "SATB1_CHW_DH4_DP02": 24.02763547289659, + "SATB1_CHW_DH4_DP03": 23.027997215347803, + "SATB1_CHW_DH4_DP04": 24.30091814343409, + "SATB1_CHW_DH5_DP01": 23.692932623371075, + "SATB1_CHW_DH5_DP02": 22.954370424899036, + "SATB1_CHW_DH5_DP03": 23.459491804321118, + "SATB1_CHW_DH5_DP04": 23.811090378788553, + "t_stamp": 1776695408398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1299991607666, + "SATB1_CHW_DH1_DP02": 22.059999465942383, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.110000610351562, + "SATB1_CHW_DH2_DP01": 22.18000030517578, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 20.989999771118164, + "SATB1_CHW_DH2_DP04": 23.110000610351562, + "SATB1_CHW_DH3_DP01": 23.270000457763672, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.93000030517578, + "SATB1_CHW_DH3_DP04": 23.079999923706055, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.020000457763672, + "SATB1_CHW_DH4_DP03": 23.040000915527344, + "SATB1_CHW_DH4_DP04": 24.290000915527344, + "SATB1_CHW_DH5_DP01": 23.729999542236328, + "SATB1_CHW_DH5_DP02": 22.950000762939453, + "SATB1_CHW_DH5_DP03": 23.43000030517578, + "SATB1_CHW_DH5_DP04": 23.809999465942383, + "t_stamp": 1776695438398 + }, + { + "SATB1_CHW_DH1_DP01": 22.06764239333773, + "SATB1_CHW_DH1_DP02": 22.11345558034259, + "SATB1_CHW_DH1_DP03": 22.04544083251953, + "SATB1_CHW_DH1_DP04": 21.25258389382073, + "SATB1_CHW_DH2_DP01": 22.18000030517578, + "SATB1_CHW_DH2_DP02": 22.820182243433255, + "SATB1_CHW_DH2_DP03": 21.18606315917969, + "SATB1_CHW_DH2_DP04": 23.270377555202092, + "SATB1_CHW_DH3_DP01": 23.50172132841746, + "SATB1_CHW_DH3_DP02": 23.175642726858392, + "SATB1_CHW_DH3_DP03": 22.70732576060004, + "SATB1_CHW_DH3_DP04": 22.982007913461207, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.064547929617877, + "SATB1_CHW_DH4_DP03": 23.20927316782701, + "SATB1_CHW_DH4_DP04": 24.3701756885742, + "SATB1_CHW_DH5_DP01": 23.391415337172464, + "SATB1_CHW_DH5_DP02": 22.95890708292251, + "SATB1_CHW_DH5_DP03": 23.14494515943552, + "SATB1_CHW_DH5_DP04": 23.854547803793523, + "t_stamp": 1776695468398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059999465942383, + "SATB1_CHW_DH1_DP02": 22.1200008392334, + "SATB1_CHW_DH1_DP03": 22.040000915527344, + "SATB1_CHW_DH1_DP04": 21.270000457763672, + "SATB1_CHW_DH2_DP01": 22.18000030517578, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.209999084472656, + "SATB1_CHW_DH2_DP04": 23.290000915527344, + "SATB1_CHW_DH3_DP01": 23.530000686645508, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.68000030517578, + "SATB1_CHW_DH3_DP04": 22.969999313354492, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.06999969482422, + "SATB1_CHW_DH4_DP03": 23.229999542236328, + "SATB1_CHW_DH4_DP04": 24.3799991607666, + "SATB1_CHW_DH5_DP01": 23.350000381469727, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.110000610351562, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776695498398 + }, + { + "SATB1_CHW_DH1_DP01": 22.19361717219925, + "SATB1_CHW_DH1_DP02": 22.128908213613542, + "SATB1_CHW_DH1_DP03": 22.27170369625171, + "SATB1_CHW_DH1_DP04": 21.082864311773662, + "SATB1_CHW_DH2_DP01": 22.019667377766282, + "SATB1_CHW_DH2_DP02": 22.785456254877158, + "SATB1_CHW_DH2_DP03": 21.022854138555488, + "SATB1_CHW_DH2_DP04": 23.26327169471167, + "SATB1_CHW_DH3_DP01": 22.87051020698195, + "SATB1_CHW_DH3_DP02": 23.144358010789695, + "SATB1_CHW_DH3_DP03": 22.99173525378591, + "SATB1_CHW_DH3_DP04": 23.014540514792287, + "SATB1_CHW_DH4_DP01": 23.447620913488166, + "SATB1_CHW_DH4_DP02": 24.105637989252084, + "SATB1_CHW_DH4_DP03": 23.09636683651759, + "SATB1_CHW_DH4_DP04": 24.335458082782512, + "SATB1_CHW_DH5_DP01": 23.207442602687372, + "SATB1_CHW_DH5_DP02": 22.93327756257205, + "SATB1_CHW_DH5_DP03": 23.35941520912926, + "SATB1_CHW_DH5_DP04": 23.77090824022678, + "t_stamp": 1776695528398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209999084472656, + "SATB1_CHW_DH1_DP02": 22.1299991607666, + "SATB1_CHW_DH1_DP03": 22.299999237060547, + "SATB1_CHW_DH1_DP04": 21.059999465942383, + "SATB1_CHW_DH2_DP01": 22, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 22.790000915527344, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 23.030000686645508, + "SATB1_CHW_DH3_DP04": 23.020000457763672, + "SATB1_CHW_DH4_DP01": 23.440000534057617, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.329999923706055, + "SATB1_CHW_DH5_DP01": 23.190000534057617, + "SATB1_CHW_DH5_DP02": 22.93000030517578, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.760000228881836, + "t_stamp": 1776695558398 + }, + { + "SATB1_CHW_DH1_DP01": 22.103111380317113, + "SATB1_CHW_DH1_DP02": 22.245813015435083, + "SATB1_CHW_DH1_DP03": 22.05046534044726, + "SATB1_CHW_DH1_DP04": 20.970884488842447, + "SATB1_CHW_DH2_DP01": 22.32955560308634, + "SATB1_CHW_DH2_DP02": 22.735455500443777, + "SATB1_CHW_DH2_DP03": 21.098030511100152, + "SATB1_CHW_DH2_DP04": 23.170904889011382, + "SATB1_CHW_DH3_DP01": 23.538619828666455, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.851878548596638, + "SATB1_CHW_DH3_DP04": 22.984369423763614, + "SATB1_CHW_DH4_DP01": 23.502381674809996, + "SATB1_CHW_DH4_DP02": 24.083272444065628, + "SATB1_CHW_DH4_DP03": 23.06218214618832, + "SATB1_CHW_DH4_DP04": 24.356723753804086, + "SATB1_CHW_DH5_DP01": 23.49293500334422, + "SATB1_CHW_DH5_DP02": 22.95672038183064, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.795636011918386, + "t_stamp": 1776695588398 + }, + { + "SATB1_CHW_DH1_DP01": 22.09000015258789, + "SATB1_CHW_DH1_DP02": 22.260000228881836, + "SATB1_CHW_DH1_DP03": 22.020000457763672, + "SATB1_CHW_DH1_DP04": 20.959999084472656, + "SATB1_CHW_DH2_DP01": 22.3700008392334, + "SATB1_CHW_DH2_DP02": 22.729999542236328, + "SATB1_CHW_DH2_DP03": 21.110000610351562, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.6299991607666, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.829999923706055, + "SATB1_CHW_DH3_DP04": 22.979999542236328, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.079999923706055, + "SATB1_CHW_DH4_DP03": 23.059999465942383, + "SATB1_CHW_DH4_DP04": 24.360000610351562, + "SATB1_CHW_DH5_DP01": 23.530000686645508, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.799999237060547, + "t_stamp": 1776695618398 + }, + { + "SATB1_CHW_DH1_DP01": 22.125629790127526, + "SATB1_CHW_DH1_DP02": 22.1976398340861, + "SATB1_CHW_DH1_DP03": 22.15367788984065, + "SATB1_CHW_DH1_DP04": 21.164954628493092, + "SATB1_CHW_DH2_DP01": 22.174042886708385, + "SATB1_CHW_DH2_DP02": 22.774543986030665, + "SATB1_CHW_DH2_DP03": 21.243675542476563, + "SATB1_CHW_DH2_DP04": 23.293639780209443, + "SATB1_CHW_DH3_DP01": 23.13983067404429, + "SATB1_CHW_DH3_DP02": 23.148909778416638, + "SATB1_CHW_DH3_DP03": 22.874531470809533, + "SATB1_CHW_DH3_DP04": 23.149248159568728, + "SATB1_CHW_DH4_DP01": 23.456533378158717, + "SATB1_CHW_DH4_DP02": 24.15127318906784, + "SATB1_CHW_DH4_DP03": 23.033274553426107, + "SATB1_CHW_DH4_DP04": 24.43126425117949, + "SATB1_CHW_DH5_DP01": 23.619096175521353, + "SATB1_CHW_DH5_DP02": 23.022351589944865, + "SATB1_CHW_DH5_DP03": 23.496889700177963, + "SATB1_CHW_DH5_DP04": 23.83563612543764, + "t_stamp": 1776695648398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1299991607666, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.170000076293945, + "SATB1_CHW_DH1_DP04": 21.190000534057617, + "SATB1_CHW_DH2_DP01": 22.149999618530273, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.260000228881836, + "SATB1_CHW_DH2_DP04": 23.309999465942383, + "SATB1_CHW_DH3_DP01": 23.079999923706055, + "SATB1_CHW_DH3_DP02": 23.149999618530273, + "SATB1_CHW_DH3_DP03": 22.8799991607666, + "SATB1_CHW_DH3_DP04": 23.170000076293945, + "SATB1_CHW_DH4_DP01": 23.450000762939453, + "SATB1_CHW_DH4_DP02": 24.15999984741211, + "SATB1_CHW_DH4_DP03": 23.030000686645508, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.6299991607666, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.510000228881836, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776695678398 + }, + { + "SATB1_CHW_DH1_DP01": 22.201256863254706, + "SATB1_CHW_DH1_DP02": 22.11873483197712, + "SATB1_CHW_DH1_DP03": 22.098706665842677, + "SATB1_CHW_DH1_DP04": 21.07415658226013, + "SATB1_CHW_DH2_DP01": 22.19453424447664, + "SATB1_CHW_DH2_DP02": 22.80672470836106, + "SATB1_CHW_DH2_DP03": 21.117413698196412, + "SATB1_CHW_DH2_DP04": 23.265454963820645, + "SATB1_CHW_DH3_DP01": 22.83937101573944, + "SATB1_CHW_DH3_DP02": 23.26582887593017, + "SATB1_CHW_DH3_DP03": 22.951247530396916, + "SATB1_CHW_DH3_DP04": 23.02747962956492, + "SATB1_CHW_DH4_DP01": 23.539111069869996, + "SATB1_CHW_DH4_DP02": 24.151090922277056, + "SATB1_CHW_DH4_DP03": 23.074541113280183, + "SATB1_CHW_DH4_DP04": 24.377646884363195, + "SATB1_CHW_DH5_DP01": 23.18453067638275, + "SATB1_CHW_DH5_DP02": 23.03890777849693, + "SATB1_CHW_DH5_DP03": 23.260602087159437, + "SATB1_CHW_DH5_DP04": 23.884542988123947, + "t_stamp": 1776695708398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209999084472656, + "SATB1_CHW_DH1_DP02": 22.110000610351562, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.059999465942383, + "SATB1_CHW_DH2_DP01": 22.200000762939453, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 21.100000381469727, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 22.809999465942383, + "SATB1_CHW_DH3_DP02": 23.280000686645508, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.549999237060547, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.3700008392334, + "SATB1_CHW_DH5_DP01": 23.1299991607666, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.229999542236328, + "SATB1_CHW_DH5_DP04": 23.889999389648438, + "t_stamp": 1776695738398 + }, + { + "SATB1_CHW_DH1_DP01": 21.98730507153846, + "SATB1_CHW_DH1_DP02": 22.17236270200353, + "SATB1_CHW_DH1_DP03": 22.205853002238555, + "SATB1_CHW_DH1_DP04": 21.06891096694902, + "SATB1_CHW_DH2_DP01": 22.226721457079478, + "SATB1_CHW_DH2_DP02": 22.765455509330504, + "SATB1_CHW_DH2_DP03": 21.037617947058305, + "SATB1_CHW_DH2_DP04": 23.295637721101063, + "SATB1_CHW_DH3_DP01": 23.300169652525582, + "SATB1_CHW_DH3_DP02": 23.190896073121436, + "SATB1_CHW_DH3_DP03": 23.004532330345764, + "SATB1_CHW_DH3_DP04": 23.036724676733716, + "SATB1_CHW_DH4_DP01": 23.585645907791246, + "SATB1_CHW_DH4_DP02": 24.15890908306444, + "SATB1_CHW_DH4_DP03": 23.08890888819544, + "SATB1_CHW_DH4_DP04": 24.387816069006753, + "SATB1_CHW_DH5_DP01": 23.343838912152044, + "SATB1_CHW_DH5_DP02": 23.013278022417428, + "SATB1_CHW_DH5_DP03": 23.461593325790556, + "SATB1_CHW_DH5_DP04": 23.84545376628421, + "t_stamp": 1776695768398 + }, + { + "SATB1_CHW_DH1_DP01": 21.959999084472656, + "SATB1_CHW_DH1_DP02": 22.18000030517578, + "SATB1_CHW_DH1_DP03": 22.219999313354492, + "SATB1_CHW_DH1_DP04": 21.06999969482422, + "SATB1_CHW_DH2_DP01": 22.229999542236328, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.030000686645508, + "SATB1_CHW_DH2_DP04": 23.299999237060547, + "SATB1_CHW_DH3_DP01": 23.360000610351562, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 23.010000228881836, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.59000015258789, + "SATB1_CHW_DH4_DP02": 24.15999984741211, + "SATB1_CHW_DH4_DP03": 23.09000015258789, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.3700008392334, + "SATB1_CHW_DH5_DP02": 23.010000228881836, + "SATB1_CHW_DH5_DP03": 23.489999771118164, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776695798398 + }, + { + "SATB1_CHW_DH1_DP01": 22.111432319100697, + "SATB1_CHW_DH1_DP02": 22.24236095460636, + "SATB1_CHW_DH1_DP03": 22.095234190622964, + "SATB1_CHW_DH1_DP04": 21.13237875620524, + "SATB1_CHW_DH2_DP01": 22.069667270406086, + "SATB1_CHW_DH2_DP02": 22.751091321934574, + "SATB1_CHW_DH2_DP03": 21.199324296124775, + "SATB1_CHW_DH2_DP04": 23.201997326038736, + "SATB1_CHW_DH3_DP01": 23.056986807696024, + "SATB1_CHW_DH3_DP02": 23.08198426132202, + "SATB1_CHW_DH3_DP03": 22.698267193575237, + "SATB1_CHW_DH3_DP04": 23.04890742034912, + "SATB1_CHW_DH4_DP01": 23.500884812641143, + "SATB1_CHW_DH4_DP02": 24.070907659084487, + "SATB1_CHW_DH4_DP03": 23.116726818864493, + "SATB1_CHW_DH4_DP04": 24.40781616715995, + "SATB1_CHW_DH5_DP01": 23.289813376193024, + "SATB1_CHW_DH5_DP02": 22.992184821128845, + "SATB1_CHW_DH5_DP03": 23.071340905099884, + "SATB1_CHW_DH5_DP04": 23.724181728249235, + "t_stamp": 1776695828398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1299991607666, + "SATB1_CHW_DH1_DP02": 22.25, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.139999389648438, + "SATB1_CHW_DH2_DP01": 22.049999237060547, + "SATB1_CHW_DH2_DP02": 22.75, + "SATB1_CHW_DH2_DP03": 21.219999313354492, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.020000457763672, + "SATB1_CHW_DH3_DP02": 23.06999969482422, + "SATB1_CHW_DH3_DP03": 22.65999984741211, + "SATB1_CHW_DH3_DP04": 23.049999237060547, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.059999465942383, + "SATB1_CHW_DH4_DP03": 23.1200008392334, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.280000686645508, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.020000457763672, + "SATB1_CHW_DH5_DP04": 23.709999084472656, + "t_stamp": 1776695858398 + }, + { + "SATB1_CHW_DH1_DP01": 22.103279865399728, + "SATB1_CHW_DH1_DP02": 22.098565218264078, + "SATB1_CHW_DH1_DP03": 22.124556925220414, + "SATB1_CHW_DH1_DP04": 20.970693745382718, + "SATB1_CHW_DH2_DP01": 22.112343684909597, + "SATB1_CHW_DH2_DP02": 22.741091871774152, + "SATB1_CHW_DH2_DP03": 21.06850312856876, + "SATB1_CHW_DH2_DP04": 23.14545581744644, + "SATB1_CHW_DH3_DP01": 23.091295346606273, + "SATB1_CHW_DH3_DP02": 23.13236876495933, + "SATB1_CHW_DH3_DP03": 22.98059230216369, + "SATB1_CHW_DH3_DP04": 23.005465112334896, + "SATB1_CHW_DH4_DP01": 23.445445178741277, + "SATB1_CHW_DH4_DP02": 24.04218390869822, + "SATB1_CHW_DH4_DP03": 23.04873751247836, + "SATB1_CHW_DH4_DP04": 24.38327740798079, + "SATB1_CHW_DH5_DP01": 23.333455538075402, + "SATB1_CHW_DH5_DP02": 22.90093630645263, + "SATB1_CHW_DH5_DP03": 23.420790999623208, + "SATB1_CHW_DH5_DP04": 23.80799209536747, + "t_stamp": 1776695888398 + }, + { + "SATB1_CHW_DH1_DP01": 22.100000381469727, + "SATB1_CHW_DH1_DP02": 22.079999923706055, + "SATB1_CHW_DH1_DP03": 22.1299991607666, + "SATB1_CHW_DH1_DP04": 20.950000762939453, + "SATB1_CHW_DH2_DP01": 22.1200008392334, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 21.049999237060547, + "SATB1_CHW_DH2_DP04": 23.139999389648438, + "SATB1_CHW_DH3_DP01": 23.100000381469727, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 23.020000457763672, + "SATB1_CHW_DH3_DP04": 23, + "SATB1_CHW_DH4_DP01": 23.440000534057617, + "SATB1_CHW_DH4_DP02": 24.040000915527344, + "SATB1_CHW_DH4_DP03": 23.040000915527344, + "SATB1_CHW_DH4_DP04": 24.3799991607666, + "SATB1_CHW_DH5_DP01": 23.34000015258789, + "SATB1_CHW_DH5_DP02": 22.889999389648438, + "SATB1_CHW_DH5_DP03": 23.469999313354492, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776695918398 + }, + { + "SATB1_CHW_DH1_DP01": 22.09109336249532, + "SATB1_CHW_DH1_DP02": 22.16017189582834, + "SATB1_CHW_DH1_DP03": 22.18346938457489, + "SATB1_CHW_DH1_DP04": 21.163860558986663, + "SATB1_CHW_DH2_DP01": 22.226873669183803, + "SATB1_CHW_DH2_DP02": 22.80235537186601, + "SATB1_CHW_DH2_DP03": 21.058910941028596, + "SATB1_CHW_DH2_DP04": 23.175635465862502, + "SATB1_CHW_DH3_DP01": 22.85938047351837, + "SATB1_CHW_DH3_DP02": 23.122180717559942, + "SATB1_CHW_DH3_DP03": 22.83298795765528, + "SATB1_CHW_DH3_DP04": 23.02672155694299, + "SATB1_CHW_DH4_DP01": 23.520199670028685, + "SATB1_CHW_DH4_DP02": 24.111268702025264, + "SATB1_CHW_DH4_DP03": 23.057815290927888, + "SATB1_CHW_DH4_DP04": 24.388906679760783, + "SATB1_CHW_DH5_DP01": 23.206360765122504, + "SATB1_CHW_DH5_DP02": 22.979062880449913, + "SATB1_CHW_DH5_DP03": 23.265150640242858, + "SATB1_CHW_DH5_DP04": 23.855633843739827, + "t_stamp": 1776695948398 + }, + { + "SATB1_CHW_DH1_DP01": 22.09000015258789, + "SATB1_CHW_DH1_DP02": 22.170000076293945, + "SATB1_CHW_DH1_DP03": 22.190000534057617, + "SATB1_CHW_DH1_DP04": 21.190000534057617, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 21.059999465942383, + "SATB1_CHW_DH2_DP04": 23.18000030517578, + "SATB1_CHW_DH3_DP01": 22.829999923706055, + "SATB1_CHW_DH3_DP02": 23.1200008392334, + "SATB1_CHW_DH3_DP03": 22.809999465942383, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.1200008392334, + "SATB1_CHW_DH4_DP03": 23.059999465942383, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.190000534057617, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.239999771118164, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776695978398 + }, + { + "SATB1_CHW_DH1_DP01": 22.072186968857938, + "SATB1_CHW_DH1_DP02": 22.143276800793902, + "SATB1_CHW_DH1_DP03": 22.18108897861549, + "SATB1_CHW_DH1_DP04": 21.190000534057617, + "SATB1_CHW_DH2_DP01": 22.320151399434067, + "SATB1_CHW_DH2_DP02": 22.73873909692348, + "SATB1_CHW_DH2_DP03": 21.238224205011242, + "SATB1_CHW_DH2_DP04": 23.233450156900165, + "SATB1_CHW_DH3_DP01": 22.758706513254786, + "SATB1_CHW_DH3_DP02": 23.13781865676232, + "SATB1_CHW_DH3_DP03": 22.881238502714908, + "SATB1_CHW_DH3_DP04": 23.06562602196352, + "SATB1_CHW_DH4_DP01": 23.44980288730443, + "SATB1_CHW_DH4_DP02": 24.137815954033474, + "SATB1_CHW_DH4_DP03": 23.068907206235163, + "SATB1_CHW_DH4_DP04": 24.443441940756966, + "SATB1_CHW_DH5_DP01": 23.181091442260417, + "SATB1_CHW_DH5_DP02": 22.96328149548257, + "SATB1_CHW_DH5_DP03": 23.54280576672079, + "SATB1_CHW_DH5_DP04": 23.868908850639123, + "t_stamp": 1776696008398 + }, + { + "SATB1_CHW_DH1_DP01": 22.06999969482422, + "SATB1_CHW_DH1_DP02": 22.139999389648438, + "SATB1_CHW_DH1_DP03": 22.18000030517578, + "SATB1_CHW_DH1_DP04": 21.190000534057617, + "SATB1_CHW_DH2_DP01": 22.329999923706055, + "SATB1_CHW_DH2_DP02": 22.729999542236328, + "SATB1_CHW_DH2_DP03": 21.260000228881836, + "SATB1_CHW_DH2_DP04": 23.239999771118164, + "SATB1_CHW_DH3_DP01": 22.75, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.889999389648438, + "SATB1_CHW_DH3_DP04": 23.06999969482422, + "SATB1_CHW_DH4_DP01": 23.440000534057617, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.06999969482422, + "SATB1_CHW_DH4_DP04": 24.450000762939453, + "SATB1_CHW_DH5_DP01": 23.18000030517578, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.579999923706055, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776696038398 + }, + { + "SATB1_CHW_DH1_DP01": 22.078906528901815, + "SATB1_CHW_DH1_DP02": 22.22016969790971, + "SATB1_CHW_DH1_DP03": 22.055242182413735, + "SATB1_CHW_DH1_DP04": 21.02960858893165, + "SATB1_CHW_DH2_DP01": 22.071727864587064, + "SATB1_CHW_DH2_DP02": 22.756723544665896, + "SATB1_CHW_DH2_DP03": 21.09959895693461, + "SATB1_CHW_DH2_DP04": 23.07964415407017, + "SATB1_CHW_DH3_DP01": 22.954971341578634, + "SATB1_CHW_DH3_DP02": 23.104361679349775, + "SATB1_CHW_DH3_DP03": 22.952335029082473, + "SATB1_CHW_DH3_DP04": 23.034373390646376, + "SATB1_CHW_DH4_DP01": 23.395445347627003, + "SATB1_CHW_DH4_DP02": 24.04200907852986, + "SATB1_CHW_DH4_DP03": 23.016553388992513, + "SATB1_CHW_DH4_DP04": 24.42327876062233, + "SATB1_CHW_DH5_DP01": 23.38490647913132, + "SATB1_CHW_DH5_DP02": 23.066875175684494, + "SATB1_CHW_DH5_DP03": 23.428590285276744, + "SATB1_CHW_DH5_DP04": 23.86109248687292, + "t_stamp": 1776696068398 + }, + { + "SATB1_CHW_DH1_DP01": 22.079999923706055, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.040000915527344, + "SATB1_CHW_DH1_DP04": 21.010000228881836, + "SATB1_CHW_DH2_DP01": 22.040000915527344, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.079999923706055, + "SATB1_CHW_DH2_DP04": 23.059999465942383, + "SATB1_CHW_DH3_DP01": 22.979999542236328, + "SATB1_CHW_DH3_DP02": 23.100000381469727, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.389999389648438, + "SATB1_CHW_DH4_DP02": 24.030000686645508, + "SATB1_CHW_DH4_DP03": 23.010000228881836, + "SATB1_CHW_DH4_DP04": 24.420000076293945, + "SATB1_CHW_DH5_DP01": 23.40999984741211, + "SATB1_CHW_DH5_DP02": 23.079999923706055, + "SATB1_CHW_DH5_DP03": 23.40999984741211, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776696098398 + }, + { + "SATB1_CHW_DH1_DP01": 22.035468754269775, + "SATB1_CHW_DH1_DP02": 22.176554799457378, + "SATB1_CHW_DH1_DP03": 22.09346754850025, + "SATB1_CHW_DH1_DP04": 21.09019636484782, + "SATB1_CHW_DH2_DP01": 22.200304816900513, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.178023300933837, + "SATB1_CHW_DH2_DP04": 23.193624671930188, + "SATB1_CHW_DH3_DP01": 23.18497130095164, + "SATB1_CHW_DH3_DP02": 23.18018885389499, + "SATB1_CHW_DH3_DP03": 22.888759006414986, + "SATB1_CHW_DH3_DP04": 23.09234616998108, + "SATB1_CHW_DH4_DP01": 23.505841174761454, + "SATB1_CHW_DH4_DP02": 24.06563194872264, + "SATB1_CHW_DH4_DP03": 23.11688793303738, + "SATB1_CHW_DH4_DP04": 24.348745186079906, + "SATB1_CHW_DH5_DP01": 23.151635424951987, + "SATB1_CHW_DH5_DP02": 23.008751699930112, + "SATB1_CHW_DH5_DP03": 23.570311775485983, + "SATB1_CHW_DH5_DP04": 23.886723132178147, + "t_stamp": 1776696128398 + }, + { + "SATB1_CHW_DH1_DP01": 22.030000686645508, + "SATB1_CHW_DH1_DP02": 22.170000076293945, + "SATB1_CHW_DH1_DP03": 22.100000381469727, + "SATB1_CHW_DH1_DP04": 21.100000381469727, + "SATB1_CHW_DH2_DP01": 22.219999313354492, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.190000534057617, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 23.209999084472656, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.8799991607666, + "SATB1_CHW_DH3_DP04": 23.100000381469727, + "SATB1_CHW_DH4_DP01": 23.520000457763672, + "SATB1_CHW_DH4_DP02": 24.06999969482422, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.34000015258789, + "SATB1_CHW_DH5_DP01": 23.1200008392334, + "SATB1_CHW_DH5_DP02": 23, + "SATB1_CHW_DH5_DP03": 23.59000015258789, + "SATB1_CHW_DH5_DP04": 23.889999389648438, + "t_stamp": 1776696158398 + }, + { + "SATB1_CHW_DH1_DP01": 22.10124297376208, + "SATB1_CHW_DH1_DP02": 22.28579103919865, + "SATB1_CHW_DH1_DP03": 22.108912197687623, + "SATB1_CHW_DH1_DP04": 21.073266878506036, + "SATB1_CHW_DH2_DP01": 22.26451985309596, + "SATB1_CHW_DH2_DP02": 22.742185711854695, + "SATB1_CHW_DH2_DP03": 21.002855792992083, + "SATB1_CHW_DH2_DP04": 23.19218252137372, + "SATB1_CHW_DH3_DP01": 23.628863320080196, + "SATB1_CHW_DH3_DP02": 23.09199019007215, + "SATB1_CHW_DH3_DP03": 23.10255368516721, + "SATB1_CHW_DH3_DP04": 23.019848424897035, + "SATB1_CHW_DH4_DP01": 23.49326645477187, + "SATB1_CHW_DH4_DP02": 24.105633104266133, + "SATB1_CHW_DH4_DP03": 22.987489088851984, + "SATB1_CHW_DH4_DP04": 24.38452992890241, + "SATB1_CHW_DH5_DP01": 23.512009482556266, + "SATB1_CHW_DH5_DP02": 22.991095428662582, + "SATB1_CHW_DH5_DP03": 23.3139554690091, + "SATB1_CHW_DH5_DP04": 23.818735603213373, + "t_stamp": 1776696188398 + }, + { + "SATB1_CHW_DH1_DP01": 22.110000610351562, + "SATB1_CHW_DH1_DP02": 22.299999237060547, + "SATB1_CHW_DH1_DP03": 22.110000610351562, + "SATB1_CHW_DH1_DP04": 21.06999969482422, + "SATB1_CHW_DH2_DP01": 22.270000457763672, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 20.979999542236328, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.68000030517578, + "SATB1_CHW_DH3_DP02": 23.079999923706055, + "SATB1_CHW_DH3_DP03": 23.1299991607666, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 22.969999313354492, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.559999465942383, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.280000686645508, + "SATB1_CHW_DH5_DP04": 23.809999465942383, + "t_stamp": 1776696218398 + }, + { + "SATB1_CHW_DH1_DP01": 22.234689025278648, + "SATB1_CHW_DH1_DP02": 22.15748024702108, + "SATB1_CHW_DH1_DP03": 22.020886574199665, + "SATB1_CHW_DH1_DP04": 21.13237330420161, + "SATB1_CHW_DH2_DP01": 22.1542286857284, + "SATB1_CHW_DH2_DP02": 22.69546322384097, + "SATB1_CHW_DH2_DP03": 21.078023518295826, + "SATB1_CHW_DH2_DP04": 23.154365500166, + "SATB1_CHW_DH3_DP01": 23.252238971845877, + "SATB1_CHW_DH3_DP02": 23.10672964451651, + "SATB1_CHW_DH3_DP03": 22.782729811108986, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.552375586643755, + "SATB1_CHW_DH4_DP02": 24.10109238826351, + "SATB1_CHW_DH4_DP03": 23.06798155580062, + "SATB1_CHW_DH4_DP04": 24.425627173999118, + "SATB1_CHW_DH5_DP01": 23.702543911848547, + "SATB1_CHW_DH5_DP02": 22.981093767884037, + "SATB1_CHW_DH5_DP03": 23.34234230517149, + "SATB1_CHW_DH5_DP04": 23.82781557678308, + "t_stamp": 1776696248398 + }, + { + "SATB1_CHW_DH1_DP01": 22.25, + "SATB1_CHW_DH1_DP02": 22.139999389648438, + "SATB1_CHW_DH1_DP03": 22.010000228881836, + "SATB1_CHW_DH1_DP04": 21.139999389648438, + "SATB1_CHW_DH2_DP01": 22.139999389648438, + "SATB1_CHW_DH2_DP02": 22.690000534057617, + "SATB1_CHW_DH2_DP03": 21.09000015258789, + "SATB1_CHW_DH2_DP04": 23.149999618530273, + "SATB1_CHW_DH3_DP01": 23.200000762939453, + "SATB1_CHW_DH3_DP02": 23.110000610351562, + "SATB1_CHW_DH3_DP03": 22.739999771118164, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.559999465942383, + "SATB1_CHW_DH4_DP02": 24.100000381469727, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.719999313354492, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.350000381469727, + "SATB1_CHW_DH5_DP04": 23.829999923706055, + "t_stamp": 1776696278398 + }, + { + "SATB1_CHW_DH1_DP01": 22.018423076915624, + "SATB1_CHW_DH1_DP02": 22.273619929852085, + "SATB1_CHW_DH1_DP03": 22.081293203992928, + "SATB1_CHW_DH1_DP04": 21.059802080441358, + "SATB1_CHW_DH2_DP01": 22.15781172439533, + "SATB1_CHW_DH2_DP02": 22.770172178557505, + "SATB1_CHW_DH2_DP03": 21.10782348795324, + "SATB1_CHW_DH2_DP04": 23.11436531428413, + "SATB1_CHW_DH3_DP01": 23.01285175991133, + "SATB1_CHW_DH3_DP02": 23.172369044590685, + "SATB1_CHW_DH3_DP03": 22.84686186153205, + "SATB1_CHW_DH3_DP04": 22.98327872659283, + "SATB1_CHW_DH4_DP01": 23.51544523654786, + "SATB1_CHW_DH4_DP02": 24.117817977085313, + "SATB1_CHW_DH4_DP03": 23.124538971070105, + "SATB1_CHW_DH4_DP04": 24.34092717841738, + "SATB1_CHW_DH5_DP01": 23.203260156686213, + "SATB1_CHW_DH5_DP02": 23.060156350024698, + "SATB1_CHW_DH5_DP03": 23.412345354507526, + "SATB1_CHW_DH5_DP04": 23.794367098348904, + "t_stamp": 1776696308398 + }, + { + "SATB1_CHW_DH1_DP01": 21.989999771118164, + "SATB1_CHW_DH1_DP02": 22.290000915527344, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.049999237060547, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.110000610351562, + "SATB1_CHW_DH2_DP04": 23.110000610351562, + "SATB1_CHW_DH3_DP01": 22.989999771118164, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.860000610351562, + "SATB1_CHW_DH3_DP04": 22.979999542236328, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.1200008392334, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.329999923706055, + "SATB1_CHW_DH5_DP01": 23.139999389648438, + "SATB1_CHW_DH5_DP02": 23.06999969482422, + "SATB1_CHW_DH5_DP03": 23.420000076293945, + "SATB1_CHW_DH5_DP04": 23.790000915527344, + "t_stamp": 1776696338398 + }, + { + "SATB1_CHW_DH1_DP01": 22.177044154516857, + "SATB1_CHW_DH1_DP02": 22.200919091017035, + "SATB1_CHW_DH1_DP03": 22.018708075446465, + "SATB1_CHW_DH1_DP04": 21.103466351895865, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.8334491017139, + "SATB1_CHW_DH2_DP03": 21.029796974372864, + "SATB1_CHW_DH2_DP04": 23.17236321118556, + "SATB1_CHW_DH3_DP01": 23.524710111077628, + "SATB1_CHW_DH3_DP02": 23.188910639450157, + "SATB1_CHW_DH3_DP03": 22.87780965280533, + "SATB1_CHW_DH3_DP04": 23.00672115383148, + "SATB1_CHW_DH4_DP01": 23.46544346648611, + "SATB1_CHW_DH4_DP02": 24.146725751749674, + "SATB1_CHW_DH4_DP03": 23.04982872390747, + "SATB1_CHW_DH4_DP04": 24.383443448003135, + "SATB1_CHW_DH5_DP01": 23.55874612299243, + "SATB1_CHW_DH5_DP02": 22.980936021741233, + "SATB1_CHW_DH5_DP03": 23.43781348400116, + "SATB1_CHW_DH5_DP04": 23.834542735862733, + "t_stamp": 1776696368398 + }, + { + "SATB1_CHW_DH1_DP01": 22.200000762939453, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.010000228881836, + "SATB1_CHW_DH1_DP04": 21.110000610351562, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.84000015258789, + "SATB1_CHW_DH2_DP03": 21.020000457763672, + "SATB1_CHW_DH2_DP04": 23.18000030517578, + "SATB1_CHW_DH3_DP01": 23.59000015258789, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.8799991607666, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.040000915527344, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.610000610351562, + "SATB1_CHW_DH5_DP02": 22.969999313354492, + "SATB1_CHW_DH5_DP03": 23.440000534057617, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776696398398 + }, + { + "SATB1_CHW_DH1_DP01": 22.066394677096444, + "SATB1_CHW_DH1_DP02": 22.234539945428246, + "SATB1_CHW_DH1_DP03": 22.17040482742926, + "SATB1_CHW_DH1_DP04": 21.02089175557147, + "SATB1_CHW_DH2_DP01": 22.124375470338396, + "SATB1_CHW_DH2_DP02": 22.786551628335317, + "SATB1_CHW_DH2_DP03": 21.028912013205797, + "SATB1_CHW_DH2_DP04": 23.188909360602352, + "SATB1_CHW_DH3_DP01": 23.581088263810358, + "SATB1_CHW_DH3_DP02": 23.154360239650643, + "SATB1_CHW_DH3_DP03": 23.08482611254456, + "SATB1_CHW_DH3_DP04": 23.036722285844604, + "SATB1_CHW_DH4_DP01": 23.486732750792807, + "SATB1_CHW_DH4_DP02": 24.069821482594808, + "SATB1_CHW_DH4_DP03": 23.120171352386475, + "SATB1_CHW_DH4_DP04": 24.425629538472492, + "SATB1_CHW_DH5_DP01": 23.164533034811154, + "SATB1_CHW_DH5_DP02": 23.00562605586604, + "SATB1_CHW_DH5_DP03": 23.3242131529511, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776696428398 + }, + { + "SATB1_CHW_DH1_DP01": 22.049999237060547, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.190000534057617, + "SATB1_CHW_DH1_DP04": 21.010000228881836, + "SATB1_CHW_DH2_DP01": 22.1200008392334, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.030000686645508, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.579999923706055, + "SATB1_CHW_DH3_DP02": 23.149999618530273, + "SATB1_CHW_DH3_DP03": 23.110000610351562, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.059999465942383, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.110000610351562, + "SATB1_CHW_DH5_DP02": 23.010000228881836, + "SATB1_CHW_DH5_DP03": 23.309999465942383, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776696458398 + }, + { + "SATB1_CHW_DH1_DP01": 22.032188012474588, + "SATB1_CHW_DH1_DP02": 22.213275604857117, + "SATB1_CHW_DH1_DP03": 22.1008838902291, + "SATB1_CHW_DH1_DP04": 21.18821884609484, + "SATB1_CHW_DH2_DP01": 22.28030005401695, + "SATB1_CHW_DH2_DP02": 22.806723208472093, + "SATB1_CHW_DH2_DP03": 20.95870889977047, + "SATB1_CHW_DH2_DP04": 23.243453058274586, + "SATB1_CHW_DH3_DP01": 23.25026201351072, + "SATB1_CHW_DH3_DP02": 23.194549804846446, + "SATB1_CHW_DH3_DP03": 23.056570839848124, + "SATB1_CHW_DH3_DP04": 23.0489058450782, + "SATB1_CHW_DH4_DP01": 23.507822476076456, + "SATB1_CHW_DH4_DP02": 24.122358821415528, + "SATB1_CHW_DH4_DP03": 23.0854605827027, + "SATB1_CHW_DH4_DP04": 24.385466330310283, + "SATB1_CHW_DH5_DP01": 23.13672707734534, + "SATB1_CHW_DH5_DP02": 22.99218830550157, + "SATB1_CHW_DH5_DP03": 23.764201819603667, + "SATB1_CHW_DH5_DP04": 23.82218304174097, + "t_stamp": 1776696488398 + }, + { + "SATB1_CHW_DH1_DP01": 22.030000686645508, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.209999084472656, + "SATB1_CHW_DH2_DP01": 22.299999237060547, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 20.950000762939453, + "SATB1_CHW_DH2_DP04": 23.25, + "SATB1_CHW_DH3_DP01": 23.209999084472656, + "SATB1_CHW_DH3_DP02": 23.200000762939453, + "SATB1_CHW_DH3_DP03": 23.049999237060547, + "SATB1_CHW_DH3_DP04": 23.049999237060547, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.3799991607666, + "SATB1_CHW_DH5_DP01": 23.139999389648438, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.81999969482422, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776696518398 + }, + { + "SATB1_CHW_DH1_DP01": 22.261584382194375, + "SATB1_CHW_DH1_DP02": 22.361434843030008, + "SATB1_CHW_DH1_DP03": 22.018709263608145, + "SATB1_CHW_DH1_DP04": 21.21890984289134, + "SATB1_CHW_DH2_DP01": 22.148590528246093, + "SATB1_CHW_DH2_DP02": 22.792184793630636, + "SATB1_CHW_DH2_DP03": 21.27080291371549, + "SATB1_CHW_DH2_DP04": 23.196548366643587, + "SATB1_CHW_DH3_DP01": 23.397145349262846, + "SATB1_CHW_DH3_DP02": 23.182180985409275, + "SATB1_CHW_DH3_DP03": 22.86298023342337, + "SATB1_CHW_DH3_DP04": 23.08562894876422, + "SATB1_CHW_DH4_DP01": 23.483267453639343, + "SATB1_CHW_DH4_DP02": 24.183451384162904, + "SATB1_CHW_DH4_DP03": 23.133447338766683, + "SATB1_CHW_DH4_DP04": 24.43344472844501, + "SATB1_CHW_DH5_DP01": 23.58545029879995, + "SATB1_CHW_DH5_DP02": 23.034533577004755, + "SATB1_CHW_DH5_DP03": 23.74874597073126, + "SATB1_CHW_DH5_DP04": 23.87344921906789, + "t_stamp": 1776696548398 + }, + { + "SATB1_CHW_DH1_DP01": 22.290000915527344, + "SATB1_CHW_DH1_DP02": 22.3799991607666, + "SATB1_CHW_DH1_DP03": 22.010000228881836, + "SATB1_CHW_DH1_DP04": 21.219999313354492, + "SATB1_CHW_DH2_DP01": 22.1299991607666, + "SATB1_CHW_DH2_DP02": 22.790000915527344, + "SATB1_CHW_DH2_DP03": 21.309999465942383, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.420000076293945, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.84000015258789, + "SATB1_CHW_DH3_DP04": 23.09000015258789, + "SATB1_CHW_DH4_DP01": 23.479999542236328, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.639999389648438, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.739999771118164, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776696578398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209841623567563, + "SATB1_CHW_DH1_DP02": 22.184027038632454, + "SATB1_CHW_DH1_DP03": 22.30407906220765, + "SATB1_CHW_DH1_DP04": 21.184357009040042, + "SATB1_CHW_DH2_DP01": 22.22796630601896, + "SATB1_CHW_DH2_DP02": 22.825631438170895, + "SATB1_CHW_DH2_DP03": 21.220884488842447, + "SATB1_CHW_DH2_DP04": 23.279087540562948, + "SATB1_CHW_DH3_DP01": 23.43782411463831, + "SATB1_CHW_DH3_DP02": 23.153270693397523, + "SATB1_CHW_DH3_DP03": 22.84890559606334, + "SATB1_CHW_DH3_DP04": 23.036560190954923, + "SATB1_CHW_DH4_DP01": 23.50673349078068, + "SATB1_CHW_DH4_DP02": 24.172183423210697, + "SATB1_CHW_DH4_DP03": 23.220168853258276, + "SATB1_CHW_DH4_DP04": 24.41327875851691, + "SATB1_CHW_DH5_DP01": 23.550910749053955, + "SATB1_CHW_DH5_DP02": 23.075624917611744, + "SATB1_CHW_DH5_DP03": 23.45499562647371, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776696608398 + }, + { + "SATB1_CHW_DH1_DP01": 22.200000762939453, + "SATB1_CHW_DH1_DP02": 22.15999984741211, + "SATB1_CHW_DH1_DP03": 22.34000015258789, + "SATB1_CHW_DH1_DP04": 21.18000030517578, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.209999084472656, + "SATB1_CHW_DH2_DP04": 23.290000915527344, + "SATB1_CHW_DH3_DP01": 23.440000534057617, + "SATB1_CHW_DH3_DP02": 23.149999618530273, + "SATB1_CHW_DH3_DP03": 22.850000381469727, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.170000076293945, + "SATB1_CHW_DH4_DP03": 23.229999542236328, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.540000915527344, + "SATB1_CHW_DH5_DP02": 23.079999923706055, + "SATB1_CHW_DH5_DP03": 23.420000076293945, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776696638398 + }, + { + "SATB1_CHW_DH1_DP01": 22.093118452732554, + "SATB1_CHW_DH1_DP02": 22.24017449206709, + "SATB1_CHW_DH1_DP03": 22.15285776872635, + "SATB1_CHW_DH1_DP04": 21.153267193317415, + "SATB1_CHW_DH2_DP01": 22.32015524293747, + "SATB1_CHW_DH2_DP02": 22.865633854272417, + "SATB1_CHW_DH2_DP03": 21.209999084472656, + "SATB1_CHW_DH2_DP04": 23.31672716435606, + "SATB1_CHW_DH3_DP01": 23.14591010204951, + "SATB1_CHW_DH3_DP02": 23.22127925987629, + "SATB1_CHW_DH3_DP03": 23.045913436667124, + "SATB1_CHW_DH3_DP04": 23.119068963205248, + "SATB1_CHW_DH4_DP01": 23.554554639773592, + "SATB1_CHW_DH4_DP02": 24.143273128259835, + "SATB1_CHW_DH4_DP03": 23.185458919129154, + "SATB1_CHW_DH4_DP04": 24.463444043936818, + "SATB1_CHW_DH5_DP01": 23.807283599958808, + "SATB1_CHW_DH5_DP02": 22.999842951859204, + "SATB1_CHW_DH5_DP03": 23.607035378149806, + "SATB1_CHW_DH5_DP04": 23.933452056761926, + "t_stamp": 1776696668398 + }, + { + "SATB1_CHW_DH1_DP01": 22.079999923706055, + "SATB1_CHW_DH1_DP02": 22.25, + "SATB1_CHW_DH1_DP03": 22.1299991607666, + "SATB1_CHW_DH1_DP04": 21.149999618530273, + "SATB1_CHW_DH2_DP01": 22.329999923706055, + "SATB1_CHW_DH2_DP02": 22.8700008392334, + "SATB1_CHW_DH2_DP03": 21.209999084472656, + "SATB1_CHW_DH2_DP04": 23.31999969482422, + "SATB1_CHW_DH3_DP01": 23.110000610351562, + "SATB1_CHW_DH3_DP02": 23.229999542236328, + "SATB1_CHW_DH3_DP03": 23.06999969482422, + "SATB1_CHW_DH3_DP04": 23.1299991607666, + "SATB1_CHW_DH4_DP01": 23.559999465942383, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.18000030517578, + "SATB1_CHW_DH4_DP04": 24.469999313354492, + "SATB1_CHW_DH5_DP01": 23.84000015258789, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.6299991607666, + "SATB1_CHW_DH5_DP04": 23.940000534057617, + "t_stamp": 1776696698398 + }, + { + "SATB1_CHW_DH1_DP01": 21.946391083032747, + "SATB1_CHW_DH1_DP02": 22.19655047575633, + "SATB1_CHW_DH1_DP03": 22.040885520553587, + "SATB1_CHW_DH1_DP04": 20.96286981551138, + "SATB1_CHW_DH2_DP01": 22.178587451800468, + "SATB1_CHW_DH2_DP02": 22.87890767733256, + "SATB1_CHW_DH2_DP03": 21.10306225402524, + "SATB1_CHW_DH2_DP04": 23.186362534681955, + "SATB1_CHW_DH3_DP01": 23.011969899749754, + "SATB1_CHW_DH3_DP02": 23.16762773508771, + "SATB1_CHW_DH3_DP03": 22.963131521453747, + "SATB1_CHW_DH3_DP04": 23.040926066212215, + "SATB1_CHW_DH4_DP01": 23.533267108171643, + "SATB1_CHW_DH4_DP02": 24.10436493991216, + "SATB1_CHW_DH4_DP03": 23.046375645001728, + "SATB1_CHW_DH4_DP04": 24.4165538983094, + "SATB1_CHW_DH5_DP01": 23.474710788536072, + "SATB1_CHW_DH5_DP02": 22.963278823521406, + "SATB1_CHW_DH5_DP03": 23.229187639458573, + "SATB1_CHW_DH5_DP04": 23.833094004637065, + "t_stamp": 1776696728398 + }, + { + "SATB1_CHW_DH1_DP01": 21.93000030517578, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.030000686645508, + "SATB1_CHW_DH1_DP04": 20.940000534057617, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.8799991607666, + "SATB1_CHW_DH2_DP03": 21.09000015258789, + "SATB1_CHW_DH2_DP04": 23.170000076293945, + "SATB1_CHW_DH3_DP01": 23, + "SATB1_CHW_DH3_DP02": 23.15999984741211, + "SATB1_CHW_DH3_DP03": 22.950000762939453, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.100000381469727, + "SATB1_CHW_DH4_DP03": 23.030000686645508, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.43000030517578, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.18000030517578, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776696758398 + }, + { + "SATB1_CHW_DH1_DP01": 22.22394223721822, + "SATB1_CHW_DH1_DP02": 22.234542263434545, + "SATB1_CHW_DH1_DP03": 22.038912390613557, + "SATB1_CHW_DH1_DP04": 21.109308310317992, + "SATB1_CHW_DH2_DP01": 22.026400187174477, + "SATB1_CHW_DH2_DP02": 22.790915702012747, + "SATB1_CHW_DH2_DP03": 21.098911708030016, + "SATB1_CHW_DH2_DP04": 23.25018404863658, + "SATB1_CHW_DH3_DP01": 23.231704008908864, + "SATB1_CHW_DH3_DP02": 23.177820921961466, + "SATB1_CHW_DH3_DP03": 22.932188391723237, + "SATB1_CHW_DH3_DP04": 23.00327757501602, + "SATB1_CHW_DH4_DP01": 23.449801387326882, + "SATB1_CHW_DH4_DP02": 24.09109119574295, + "SATB1_CHW_DH4_DP03": 23.101268473143428, + "SATB1_CHW_DH4_DP04": 24.454538243451008, + "SATB1_CHW_DH5_DP01": 23.305265770059588, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.367046489715577, + "SATB1_CHW_DH5_DP04": 23.873452219041187, + "t_stamp": 1776696788398 + }, + { + "SATB1_CHW_DH1_DP01": 22.260000228881836, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.040000915527344, + "SATB1_CHW_DH1_DP04": 21.1299991607666, + "SATB1_CHW_DH2_DP01": 22.010000228881836, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.100000381469727, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 23.260000228881836, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.93000030517578, + "SATB1_CHW_DH3_DP04": 23, + "SATB1_CHW_DH4_DP01": 23.440000534057617, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 23.110000610351562, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.290000915527344, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776696818398 + }, + { + "SATB1_CHW_DH1_DP01": 22.081843974826864, + "SATB1_CHW_DH1_DP02": 22.30236003859011, + "SATB1_CHW_DH1_DP03": 22.093469439601897, + "SATB1_CHW_DH1_DP04": 21.049801724433898, + "SATB1_CHW_DH2_DP01": 22.010000228881836, + "SATB1_CHW_DH2_DP02": 22.744364683181193, + "SATB1_CHW_DH2_DP03": 20.957416807719653, + "SATB1_CHW_DH2_DP04": 23.170905070765105, + "SATB1_CHW_DH3_DP01": 23.063940906475384, + "SATB1_CHW_DH3_DP02": 23.12653967204947, + "SATB1_CHW_DH3_DP03": 22.95671899926385, + "SATB1_CHW_DH3_DP04": 22.87528930813606, + "SATB1_CHW_DH4_DP01": 23.50237830174494, + "SATB1_CHW_DH4_DP02": 24.098909504987926, + "SATB1_CHW_DH4_DP03": 23.074365200830535, + "SATB1_CHW_DH4_DP04": 24.379827475197303, + "SATB1_CHW_DH5_DP01": 23.628573144002168, + "SATB1_CHW_DH5_DP02": 23.01344487069249, + "SATB1_CHW_DH5_DP03": 23.31873870689127, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776696848398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059999465942383, + "SATB1_CHW_DH1_DP02": 22.309999465942383, + "SATB1_CHW_DH1_DP03": 22.100000381469727, + "SATB1_CHW_DH1_DP04": 21.040000915527344, + "SATB1_CHW_DH2_DP01": 22.010000228881836, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 20.940000534057617, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.040000915527344, + "SATB1_CHW_DH3_DP02": 23.1200008392334, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 22.860000610351562, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.100000381469727, + "SATB1_CHW_DH4_DP03": 23.06999969482422, + "SATB1_CHW_DH4_DP04": 24.3700008392334, + "SATB1_CHW_DH5_DP01": 23.670000076293945, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.309999465942383, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776696878398 + }, + { + "SATB1_CHW_DH1_DP01": 22.247033677071734, + "SATB1_CHW_DH1_DP02": 22.087312490872392, + "SATB1_CHW_DH1_DP03": 22.073266606254343, + "SATB1_CHW_DH1_DP04": 21.209297405355066, + "SATB1_CHW_DH2_DP01": 22.1703031118502, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 21.10930652318339, + "SATB1_CHW_DH2_DP04": 23.142182815171864, + "SATB1_CHW_DH3_DP01": 23.503391787471124, + "SATB1_CHW_DH3_DP02": 23.111091211098213, + "SATB1_CHW_DH3_DP03": 22.737380651799736, + "SATB1_CHW_DH3_DP04": 22.9579711265672, + "SATB1_CHW_DH4_DP01": 23.536732558607778, + "SATB1_CHW_DH4_DP02": 24.108908564293326, + "SATB1_CHW_DH4_DP03": 23.105630426339477, + "SATB1_CHW_DH4_DP04": 24.352186770226908, + "SATB1_CHW_DH5_DP01": 23.171108089528836, + "SATB1_CHW_DH5_DP02": 22.99328224447329, + "SATB1_CHW_DH5_DP03": 23.532650313287036, + "SATB1_CHW_DH5_DP04": 23.799830249448892, + "t_stamp": 1776696908398 + }, + { + "SATB1_CHW_DH1_DP01": 22.270000457763672, + "SATB1_CHW_DH1_DP02": 22.059999465942383, + "SATB1_CHW_DH1_DP03": 22.06999969482422, + "SATB1_CHW_DH1_DP04": 21.229999542236328, + "SATB1_CHW_DH2_DP01": 22.190000534057617, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 21.1299991607666, + "SATB1_CHW_DH2_DP04": 23.139999389648438, + "SATB1_CHW_DH3_DP01": 23.559999465942383, + "SATB1_CHW_DH3_DP02": 23.110000610351562, + "SATB1_CHW_DH3_DP03": 22.709999084472656, + "SATB1_CHW_DH3_DP04": 22.969999313354492, + "SATB1_CHW_DH4_DP01": 23.540000915527344, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.110000610351562, + "SATB1_CHW_DH4_DP04": 24.350000381469727, + "SATB1_CHW_DH5_DP01": 23.110000610351562, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.559999465942383, + "SATB1_CHW_DH5_DP04": 23.790000915527344, + "t_stamp": 1776696938398 + }, + { + "SATB1_CHW_DH1_DP01": 22.270000457763672, + "SATB1_CHW_DH1_DP02": 22.149070170040048, + "SATB1_CHW_DH1_DP03": 22.176930660482338, + "SATB1_CHW_DH1_DP04": 21.114169817678746, + "SATB1_CHW_DH2_DP01": 22.10094964688411, + "SATB1_CHW_DH2_DP02": 22.846884955811838, + "SATB1_CHW_DH2_DP03": 21.210195460130137, + "SATB1_CHW_DH2_DP04": 23.202354205965555, + "SATB1_CHW_DH3_DP01": 23.123337058866497, + "SATB1_CHW_DH3_DP02": 23.1545451124733, + "SATB1_CHW_DH3_DP03": 22.772328894636964, + "SATB1_CHW_DH3_DP04": 23.050153777438883, + "SATB1_CHW_DH4_DP01": 23.53109050859575, + "SATB1_CHW_DH4_DP02": 24.136722132252167, + "SATB1_CHW_DH4_DP03": 23.038745574394255, + "SATB1_CHW_DH4_DP04": 24.385624383554127, + "SATB1_CHW_DH5_DP01": 23.39506816956199, + "SATB1_CHW_DH5_DP02": 23.03452689726786, + "SATB1_CHW_DH5_DP03": 23.470945245589487, + "SATB1_CHW_DH5_DP04": 23.807814363837103, + "t_stamp": 1776696968398 + }, + { + "SATB1_CHW_DH1_DP01": 22.270000457763672, + "SATB1_CHW_DH1_DP02": 22.15999984741211, + "SATB1_CHW_DH1_DP03": 22.190000534057617, + "SATB1_CHW_DH1_DP04": 21.100000381469727, + "SATB1_CHW_DH2_DP01": 22.09000015258789, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.219999313354492, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 23.06999969482422, + "SATB1_CHW_DH3_DP02": 23.15999984741211, + "SATB1_CHW_DH3_DP03": 22.780000686645508, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.030000686645508, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.43000030517578, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.459999084472656, + "SATB1_CHW_DH5_DP04": 23.809999465942383, + "t_stamp": 1776696998398 + }, + { + "SATB1_CHW_DH1_DP01": 22.261094438828824, + "SATB1_CHW_DH1_DP02": 22.266884594917297, + "SATB1_CHW_DH1_DP03": 22.154356384913125, + "SATB1_CHW_DH1_DP04": 21.1623711490709, + "SATB1_CHW_DH2_DP01": 22.223577039170543, + "SATB1_CHW_DH2_DP02": 22.82437179489136, + "SATB1_CHW_DH2_DP03": 21.193267955559726, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 22.856131027747836, + "SATB1_CHW_DH3_DP02": 23.133271344729536, + "SATB1_CHW_DH3_DP03": 22.886851297282725, + "SATB1_CHW_DH3_DP04": 23.086718077468873, + "SATB1_CHW_DH4_DP01": 23.494358610194112, + "SATB1_CHW_DH4_DP02": 24.095462569236755, + "SATB1_CHW_DH4_DP03": 23.08344121096929, + "SATB1_CHW_DH4_DP04": 24.37218834733963, + "SATB1_CHW_DH5_DP01": 23.66162489655773, + "SATB1_CHW_DH5_DP02": 22.995473320951987, + "SATB1_CHW_DH5_DP03": 23.175023939989455, + "SATB1_CHW_DH5_DP04": 23.86344468917847, + "t_stamp": 1776697028398 + }, + { + "SATB1_CHW_DH1_DP01": 22.260000228881836, + "SATB1_CHW_DH1_DP02": 22.280000686645508, + "SATB1_CHW_DH1_DP03": 22.149999618530273, + "SATB1_CHW_DH1_DP04": 21.170000076293945, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.81999969482422, + "SATB1_CHW_DH2_DP03": 21.190000534057617, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 22.829999923706055, + "SATB1_CHW_DH3_DP02": 23.1299991607666, + "SATB1_CHW_DH3_DP03": 22.899999618530273, + "SATB1_CHW_DH3_DP04": 23.09000015258789, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 23.09000015258789, + "SATB1_CHW_DH4_DP04": 24.3700008392334, + "SATB1_CHW_DH5_DP01": 23.690000534057617, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.139999389648438, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776697058398 + }, + { + "SATB1_CHW_DH1_DP01": 22.019506247107874, + "SATB1_CHW_DH1_DP02": 22.28890907829611, + "SATB1_CHW_DH1_DP03": 22.239112747441368, + "SATB1_CHW_DH1_DP04": 21.312572111804627, + "SATB1_CHW_DH2_DP01": 22.168746630202374, + "SATB1_CHW_DH2_DP02": 22.79327621897438, + "SATB1_CHW_DH2_DP03": 21.06524147370546, + "SATB1_CHW_DH2_DP04": 23.218908161082386, + "SATB1_CHW_DH3_DP01": 23.614221053574347, + "SATB1_CHW_DH3_DP02": 23.18345905727217, + "SATB1_CHW_DH3_DP03": 23.042494940136557, + "SATB1_CHW_DH3_DP04": 23.09000015258789, + "SATB1_CHW_DH4_DP01": 23.570198253644563, + "SATB1_CHW_DH4_DP02": 24.14345180376289, + "SATB1_CHW_DH4_DP03": 23.134540320742325, + "SATB1_CHW_DH4_DP04": 24.42344538027394, + "SATB1_CHW_DH5_DP01": 23.21780910958639, + "SATB1_CHW_DH5_DP02": 23.034534879437405, + "SATB1_CHW_DH5_DP03": 23.31813975914575, + "SATB1_CHW_DH5_DP04": 23.834365939089324, + "t_stamp": 1776697088398 + }, + { + "SATB1_CHW_DH1_DP01": 21.989999771118164, + "SATB1_CHW_DH1_DP02": 22.290000915527344, + "SATB1_CHW_DH1_DP03": 22.25, + "SATB1_CHW_DH1_DP04": 21.329999923706055, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.790000915527344, + "SATB1_CHW_DH2_DP03": 21.049999237060547, + "SATB1_CHW_DH2_DP04": 23.219999313354492, + "SATB1_CHW_DH3_DP01": 23.709999084472656, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 23.059999465942383, + "SATB1_CHW_DH3_DP04": 23.09000015258789, + "SATB1_CHW_DH4_DP01": 23.579999923706055, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.15999984741211, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.34000015258789, + "SATB1_CHW_DH5_DP04": 23.829999923706055, + "t_stamp": 1776697118398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1770297172403, + "SATB1_CHW_DH1_DP02": 22.200924665388907, + "SATB1_CHW_DH1_DP03": 22.134153414535522, + "SATB1_CHW_DH1_DP04": 21.24980362434252, + "SATB1_CHW_DH2_DP01": 22.20452442962488, + "SATB1_CHW_DH2_DP02": 22.852353780927803, + "SATB1_CHW_DH2_DP03": 21.139111425131134, + "SATB1_CHW_DH2_DP04": 23.237817721176146, + "SATB1_CHW_DH3_DP01": 22.961420648256937, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.855219474298497, + "SATB1_CHW_DH3_DP04": 23.045468527532464, + "SATB1_CHW_DH4_DP01": 23.624553501291082, + "SATB1_CHW_DH4_DP02": 24.15890835881261, + "SATB1_CHW_DH4_DP03": 23.10437050275126, + "SATB1_CHW_DH4_DP04": 24.447814561748352, + "SATB1_CHW_DH5_DP01": 23.667831575520832, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.571548098465776, + "SATB1_CHW_DH5_DP04": 23.838908497323466, + "t_stamp": 1776697148398 + }, + { + "SATB1_CHW_DH1_DP01": 22.200000762939453, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.1200008392334, + "SATB1_CHW_DH1_DP04": 21.239999771118164, + "SATB1_CHW_DH2_DP01": 22.209999084472656, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.149999618530273, + "SATB1_CHW_DH2_DP04": 23.239999771118164, + "SATB1_CHW_DH3_DP01": 22.8700008392334, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.829999923706055, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.6299991607666, + "SATB1_CHW_DH4_DP02": 24.15999984741211, + "SATB1_CHW_DH4_DP03": 23.100000381469727, + "SATB1_CHW_DH4_DP04": 24.450000762939453, + "SATB1_CHW_DH5_DP01": 23.729999542236328, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.600000381469727, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776697178398 + }, + { + "SATB1_CHW_DH1_DP01": 22.306857564102536, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.03089013631644, + "SATB1_CHW_DH1_DP04": 21.106346793681993, + "SATB1_CHW_DH2_DP01": 22.165478565225474, + "SATB1_CHW_DH2_DP02": 22.699692056608527, + "SATB1_CHW_DH2_DP03": 21.194555729063858, + "SATB1_CHW_DH2_DP04": 23.177651590907985, + "SATB1_CHW_DH3_DP01": 22.81653139771694, + "SATB1_CHW_DH3_DP02": 23.2256330449429, + "SATB1_CHW_DH3_DP03": 22.821096404870094, + "SATB1_CHW_DH3_DP04": 23.102335626854256, + "SATB1_CHW_DH4_DP01": 23.558716126235925, + "SATB1_CHW_DH4_DP02": 24.115467675713923, + "SATB1_CHW_DH4_DP03": 23.037659710078533, + "SATB1_CHW_DH4_DP04": 24.39656744532497, + "SATB1_CHW_DH5_DP01": 23.721091786535677, + "SATB1_CHW_DH5_DP02": 23.057808474017904, + "SATB1_CHW_DH5_DP03": 23.404097884622242, + "SATB1_CHW_DH5_DP04": 23.82218693765999, + "t_stamp": 1776697208398 + }, + { + "SATB1_CHW_DH1_DP01": 22.31999969482422, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.020000457763672, + "SATB1_CHW_DH1_DP04": 21.09000015258789, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.68000030517578, + "SATB1_CHW_DH2_DP03": 21.200000762939453, + "SATB1_CHW_DH2_DP04": 23.170000076293945, + "SATB1_CHW_DH3_DP01": 22.809999465942383, + "SATB1_CHW_DH3_DP02": 23.229999542236328, + "SATB1_CHW_DH3_DP03": 22.81999969482422, + "SATB1_CHW_DH3_DP04": 23.110000610351562, + "SATB1_CHW_DH4_DP01": 23.549999237060547, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.030000686645508, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.719999313354492, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.3799991607666, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776697238398 + }, + { + "SATB1_CHW_DH1_DP01": 22.017160135067186, + "SATB1_CHW_DH1_DP02": 22.216723627693167, + "SATB1_CHW_DH1_DP03": 22.287334233471253, + "SATB1_CHW_DH1_DP04": 21.196926547199144, + "SATB1_CHW_DH2_DP01": 22.035308806601762, + "SATB1_CHW_DH2_DP02": 22.733448191524555, + "SATB1_CHW_DH2_DP03": 21.003954407731644, + "SATB1_CHW_DH2_DP04": 23.250178920595896, + "SATB1_CHW_DH3_DP01": 23.540740706344078, + "SATB1_CHW_DH3_DP02": 23.194361819480136, + "SATB1_CHW_DH3_DP03": 22.971399325980087, + "SATB1_CHW_DH3_DP04": 23.003113359761386, + "SATB1_CHW_DH4_DP01": 23.43415985954327, + "SATB1_CHW_DH4_DP02": 24.136724758787306, + "SATB1_CHW_DH4_DP03": 23.119079748831865, + "SATB1_CHW_DH4_DP04": 24.42562977920485, + "SATB1_CHW_DH5_DP01": 23.417089262095786, + "SATB1_CHW_DH5_DP02": 23.04218734013427, + "SATB1_CHW_DH5_DP03": 23.20186267674335, + "SATB1_CHW_DH5_DP04": 23.83781689014834, + "t_stamp": 1776697268398 + }, + { + "SATB1_CHW_DH1_DP01": 21.979999542236328, + "SATB1_CHW_DH1_DP02": 22.219999313354492, + "SATB1_CHW_DH1_DP03": 22.31999969482422, + "SATB1_CHW_DH1_DP04": 21.209999084472656, + "SATB1_CHW_DH2_DP01": 22.020000457763672, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 20.979999542236328, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 23.6299991607666, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.989999771118164, + "SATB1_CHW_DH3_DP04": 22.989999771118164, + "SATB1_CHW_DH4_DP01": 23.420000076293945, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.3799991607666, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.18000030517578, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776697298398 + }, + { + "SATB1_CHW_DH1_DP01": 22.024536485984, + "SATB1_CHW_DH1_DP02": 22.344715056833657, + "SATB1_CHW_DH1_DP03": 22.097224241081783, + "SATB1_CHW_DH1_DP04": 21.058521907350737, + "SATB1_CHW_DH2_DP01": 22.171414168822235, + "SATB1_CHW_DH2_DP02": 22.79344840455128, + "SATB1_CHW_DH2_DP03": 21.051287619448235, + "SATB1_CHW_DH2_DP04": 23.242182118028694, + "SATB1_CHW_DH3_DP01": 23.674556937977222, + "SATB1_CHW_DH3_DP02": 23.100903345794254, + "SATB1_CHW_DH3_DP03": 22.963281104891333, + "SATB1_CHW_DH3_DP04": 23.07907362634807, + "SATB1_CHW_DH4_DP01": 23.518018153200103, + "SATB1_CHW_DH4_DP02": 24.104366200448784, + "SATB1_CHW_DH4_DP03": 23.15672432703387, + "SATB1_CHW_DH4_DP04": 24.474537216626224, + "SATB1_CHW_DH5_DP01": 23.397817938290558, + "SATB1_CHW_DH5_DP02": 22.986558583042576, + "SATB1_CHW_DH5_DP03": 23.304698016563616, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776697328398 + }, + { + "SATB1_CHW_DH1_DP01": 22.030000686645508, + "SATB1_CHW_DH1_DP02": 22.360000610351562, + "SATB1_CHW_DH1_DP03": 22.06999969482422, + "SATB1_CHW_DH1_DP04": 21.040000915527344, + "SATB1_CHW_DH2_DP01": 22.190000534057617, + "SATB1_CHW_DH2_DP02": 22.799999237060547, + "SATB1_CHW_DH2_DP03": 21.059999465942383, + "SATB1_CHW_DH2_DP04": 23.239999771118164, + "SATB1_CHW_DH3_DP01": 23.68000030517578, + "SATB1_CHW_DH3_DP02": 23.09000015258789, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 23.09000015258789, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.100000381469727, + "SATB1_CHW_DH4_DP03": 23.15999984741211, + "SATB1_CHW_DH4_DP04": 24.479999542236328, + "SATB1_CHW_DH5_DP01": 23.399999618530273, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.31999969482422, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776697358398 + }, + { + "SATB1_CHW_DH1_DP01": 22.17250809202933, + "SATB1_CHW_DH1_DP02": 22.22638120505338, + "SATB1_CHW_DH1_DP03": 22.150200167469833, + "SATB1_CHW_DH1_DP04": 21.146927745897102, + "SATB1_CHW_DH2_DP01": 22.234530961344845, + "SATB1_CHW_DH2_DP02": 22.853447678796346, + "SATB1_CHW_DH2_DP03": 21.113467580817254, + "SATB1_CHW_DH2_DP04": 23.284543472529847, + "SATB1_CHW_DH3_DP01": 23.25224958392556, + "SATB1_CHW_DH3_DP02": 23.20582314114243, + "SATB1_CHW_DH3_DP03": 22.9956221186896, + "SATB1_CHW_DH3_DP04": 23.054371785182205, + "SATB1_CHW_DH4_DP01": 23.583465101838154, + "SATB1_CHW_DH4_DP02": 24.171267125724196, + "SATB1_CHW_DH4_DP03": 23.142183700166843, + "SATB1_CHW_DH4_DP04": 24.49781405926347, + "SATB1_CHW_DH5_DP01": 23.302003207260288, + "SATB1_CHW_DH5_DP02": 22.988906134101306, + "SATB1_CHW_DH5_DP03": 23.382345305723604, + "SATB1_CHW_DH5_DP04": 23.902357302150392, + "t_stamp": 1776697388398 + }, + { + "SATB1_CHW_DH1_DP01": 22.190000534057617, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.15999984741211, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.1200008392334, + "SATB1_CHW_DH2_DP04": 23.290000915527344, + "SATB1_CHW_DH3_DP01": 23.200000762939453, + "SATB1_CHW_DH3_DP02": 23.219999313354492, + "SATB1_CHW_DH3_DP03": 23, + "SATB1_CHW_DH3_DP04": 23.049999237060547, + "SATB1_CHW_DH4_DP01": 23.59000015258789, + "SATB1_CHW_DH4_DP02": 24.18000030517578, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.5, + "SATB1_CHW_DH5_DP01": 23.290000915527344, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.90999984741211, + "t_stamp": 1776697418398 + }, + { + "SATB1_CHW_DH1_DP01": 22.100932043153733, + "SATB1_CHW_DH1_DP02": 22.218907418634586, + "SATB1_CHW_DH1_DP03": 22.222377742131552, + "SATB1_CHW_DH1_DP04": 21.168910569515717, + "SATB1_CHW_DH2_DP01": 22.195468875089823, + "SATB1_CHW_DH2_DP02": 22.7798273019852, + "SATB1_CHW_DH2_DP03": 21.039800203259787, + "SATB1_CHW_DH2_DP04": 23.200911121205323, + "SATB1_CHW_DH3_DP01": 23.583193835163115, + "SATB1_CHW_DH3_DP02": 23.13981234095677, + "SATB1_CHW_DH3_DP03": 23.01781170452318, + "SATB1_CHW_DH3_DP04": 23.023279378989507, + "SATB1_CHW_DH4_DP01": 23.54544740830959, + "SATB1_CHW_DH4_DP02": 24.09091366246174, + "SATB1_CHW_DH4_DP03": 23.23798936633866, + "SATB1_CHW_DH4_DP04": 24.482185295358153, + "SATB1_CHW_DH5_DP01": 23.4325468644543, + "SATB1_CHW_DH5_DP02": 23.007813142373937, + "SATB1_CHW_DH5_DP03": 23.69282557265389, + "SATB1_CHW_DH5_DP04": 23.84764087396867, + "t_stamp": 1776697448398 + }, + { + "SATB1_CHW_DH1_DP01": 22.09000015258789, + "SATB1_CHW_DH1_DP02": 22.219999313354492, + "SATB1_CHW_DH1_DP03": 22.229999542236328, + "SATB1_CHW_DH1_DP04": 21.170000076293945, + "SATB1_CHW_DH2_DP01": 22.190000534057617, + "SATB1_CHW_DH2_DP02": 22.770000457763672, + "SATB1_CHW_DH2_DP03": 21.030000686645508, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.6299991607666, + "SATB1_CHW_DH3_DP02": 23.1299991607666, + "SATB1_CHW_DH3_DP03": 23.020000457763672, + "SATB1_CHW_DH3_DP04": 23.020000457763672, + "SATB1_CHW_DH4_DP01": 23.540000915527344, + "SATB1_CHW_DH4_DP02": 24.079999923706055, + "SATB1_CHW_DH4_DP03": 23.25, + "SATB1_CHW_DH4_DP04": 24.479999542236328, + "SATB1_CHW_DH5_DP01": 23.450000762939453, + "SATB1_CHW_DH5_DP02": 23.010000228881836, + "SATB1_CHW_DH5_DP03": 23.729999542236328, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776697478398 + }, + { + "SATB1_CHW_DH1_DP01": 22.214695275624592, + "SATB1_CHW_DH1_DP02": 22.193277236881006, + "SATB1_CHW_DH1_DP03": 22.114157054132665, + "SATB1_CHW_DH1_DP04": 21.24128282026649, + "SATB1_CHW_DH2_DP01": 22.314688657124837, + "SATB1_CHW_DH2_DP02": 22.80563045939932, + "SATB1_CHW_DH2_DP03": 21.199308807747645, + "SATB1_CHW_DH2_DP04": 23.181091924054122, + "SATB1_CHW_DH3_DP01": 23.25572233072442, + "SATB1_CHW_DH3_DP02": 23.183455711495583, + "SATB1_CHW_DH3_DP03": 22.859698185984293, + "SATB1_CHW_DH3_DP04": 23.073441982078553, + "SATB1_CHW_DH4_DP01": 23.57564269841512, + "SATB1_CHW_DH4_DP02": 24.106725199151878, + "SATB1_CHW_DH4_DP03": 23.071844894782746, + "SATB1_CHW_DH4_DP04": 24.39983490632375, + "SATB1_CHW_DH5_DP01": 23.17382918136401, + "SATB1_CHW_DH5_DP02": 22.983280117321016, + "SATB1_CHW_DH5_DP03": 23.64093253580729, + "SATB1_CHW_DH5_DP04": 23.85781666956081, + "t_stamp": 1776697508398 + }, + { + "SATB1_CHW_DH1_DP01": 22.229999542236328, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.100000381469727, + "SATB1_CHW_DH1_DP04": 21.25, + "SATB1_CHW_DH2_DP01": 22.329999923706055, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 21.219999313354492, + "SATB1_CHW_DH2_DP04": 23.18000030517578, + "SATB1_CHW_DH3_DP01": 23.209999084472656, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.84000015258789, + "SATB1_CHW_DH3_DP04": 23.079999923706055, + "SATB1_CHW_DH4_DP01": 23.579999923706055, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.049999237060547, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.139999389648438, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.6299991607666, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776697538398 + }, + { + "SATB1_CHW_DH1_DP01": 22.051860925898904, + "SATB1_CHW_DH1_DP02": 22.207815466895628, + "SATB1_CHW_DH1_DP03": 22.064354971553144, + "SATB1_CHW_DH1_DP04": 21.18762689903678, + "SATB1_CHW_DH2_DP01": 22.107337879338647, + "SATB1_CHW_DH2_DP02": 22.765459585216046, + "SATB1_CHW_DH2_DP03": 21.14871138134003, + "SATB1_CHW_DH2_DP04": 23.215634536673225, + "SATB1_CHW_DH3_DP01": 22.880275207574464, + "SATB1_CHW_DH3_DP02": 23.207818466828186, + "SATB1_CHW_DH3_DP03": 22.831094133653043, + "SATB1_CHW_DH3_DP04": 23.062185219064208, + "SATB1_CHW_DH4_DP01": 23.41960765177409, + "SATB1_CHW_DH4_DP02": 24.07436534635468, + "SATB1_CHW_DH4_DP03": 23.14798901356353, + "SATB1_CHW_DH4_DP04": 24.398907057106218, + "SATB1_CHW_DH5_DP01": 23.487455917926308, + "SATB1_CHW_DH5_DP02": 23.024533803742056, + "SATB1_CHW_DH5_DP03": 23.4607708967734, + "SATB1_CHW_DH5_DP04": 23.833274662390345, + "t_stamp": 1776697568398 + }, + { + "SATB1_CHW_DH1_DP01": 22.030000686645508, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.059999465942383, + "SATB1_CHW_DH1_DP04": 21.18000030517578, + "SATB1_CHW_DH2_DP01": 22.079999923706055, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.139999389648438, + "SATB1_CHW_DH2_DP04": 23.219999313354492, + "SATB1_CHW_DH3_DP01": 22.84000015258789, + "SATB1_CHW_DH3_DP02": 23.209999084472656, + "SATB1_CHW_DH3_DP03": 22.829999923706055, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.399999618530273, + "SATB1_CHW_DH4_DP02": 24.06999969482422, + "SATB1_CHW_DH4_DP03": 23.15999984741211, + "SATB1_CHW_DH4_DP04": 24.399999618530273, + "SATB1_CHW_DH5_DP01": 23.530000686645508, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.440000534057617, + "SATB1_CHW_DH5_DP04": 23.829999923706055, + "t_stamp": 1776697598398 + }, + { + "SATB1_CHW_DH1_DP01": 21.905301531410217, + "SATB1_CHW_DH1_DP02": 22.325804272547707, + "SATB1_CHW_DH1_DP03": 22.131288731288908, + "SATB1_CHW_DH1_DP04": 21.215641421413423, + "SATB1_CHW_DH2_DP01": 22.12453174419403, + "SATB1_CHW_DH2_DP02": 22.82235608442857, + "SATB1_CHW_DH2_DP03": 21.024155206752937, + "SATB1_CHW_DH2_DP04": 23.15763879123921, + "SATB1_CHW_DH3_DP01": 23.36577878856659, + "SATB1_CHW_DH3_DP02": 23.201090913263958, + "SATB1_CHW_DH3_DP03": 23.052642046337343, + "SATB1_CHW_DH3_DP04": 23.122349360783893, + "SATB1_CHW_DH4_DP01": 23.596035372924806, + "SATB1_CHW_DH4_DP02": 24.17690266075318, + "SATB1_CHW_DH4_DP03": 23.20453851648396, + "SATB1_CHW_DH4_DP04": 24.453443252091226, + "SATB1_CHW_DH5_DP01": 23.752726141221263, + "SATB1_CHW_DH5_DP02": 23.065626469930013, + "SATB1_CHW_DH5_DP03": 23.252956150658925, + "SATB1_CHW_DH5_DP04": 23.910175223383984, + "t_stamp": 1776697628398 + }, + { + "SATB1_CHW_DH1_DP01": 21.889999389648438, + "SATB1_CHW_DH1_DP02": 22.34000015258789, + "SATB1_CHW_DH1_DP03": 22.139999389648438, + "SATB1_CHW_DH1_DP04": 21.219999313354492, + "SATB1_CHW_DH2_DP01": 22.1299991607666, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.010000228881836, + "SATB1_CHW_DH2_DP04": 23.149999618530273, + "SATB1_CHW_DH3_DP01": 23.43000030517578, + "SATB1_CHW_DH3_DP02": 23.200000762939453, + "SATB1_CHW_DH3_DP03": 23.079999923706055, + "SATB1_CHW_DH3_DP04": 23.1299991607666, + "SATB1_CHW_DH4_DP01": 23.6200008392334, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.209999084472656, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.780000686645508, + "SATB1_CHW_DH5_DP02": 23.06999969482422, + "SATB1_CHW_DH5_DP03": 23.229999542236328, + "SATB1_CHW_DH5_DP04": 23.920000076293945, + "t_stamp": 1776697658398 + }, + { + "SATB1_CHW_DH1_DP01": 22.219570122844733, + "SATB1_CHW_DH1_DP02": 22.17074203491211, + "SATB1_CHW_DH1_DP03": 22.18455550018202, + "SATB1_CHW_DH1_DP04": 21.193269346561458, + "SATB1_CHW_DH2_DP01": 22.192349205244074, + "SATB1_CHW_DH2_DP02": 22.77655061780105, + "SATB1_CHW_DH2_DP03": 21.18821660186731, + "SATB1_CHW_DH2_DP04": 23.247998762243594, + "SATB1_CHW_DH3_DP01": 23.189397417335947, + "SATB1_CHW_DH3_DP02": 23.128723497581483, + "SATB1_CHW_DH3_DP03": 22.812817244020515, + "SATB1_CHW_DH3_DP04": 23.049833551574267, + "SATB1_CHW_DH4_DP01": 23.432879074150595, + "SATB1_CHW_DH4_DP02": 24.181091681677362, + "SATB1_CHW_DH4_DP03": 23.147641405100853, + "SATB1_CHW_DH4_DP04": 24.415461612799202, + "SATB1_CHW_DH5_DP01": 23.236542085239943, + "SATB1_CHW_DH5_DP02": 23.06109252739455, + "SATB1_CHW_DH5_DP03": 23.319071184393128, + "SATB1_CHW_DH5_DP04": 23.911091242103904, + "t_stamp": 1776697688398 + }, + { + "SATB1_CHW_DH1_DP01": 22.260000228881836, + "SATB1_CHW_DH1_DP02": 22.149999618530273, + "SATB1_CHW_DH1_DP03": 22.190000534057617, + "SATB1_CHW_DH1_DP04": 21.190000534057617, + "SATB1_CHW_DH2_DP01": 22.200000762939453, + "SATB1_CHW_DH2_DP02": 22.770000457763672, + "SATB1_CHW_DH2_DP03": 21.209999084472656, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 23.15999984741211, + "SATB1_CHW_DH3_DP02": 23.1200008392334, + "SATB1_CHW_DH3_DP03": 22.780000686645508, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.40999984741211, + "SATB1_CHW_DH4_DP02": 24.18000030517578, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.170000076293945, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.329999923706055, + "SATB1_CHW_DH5_DP04": 23.90999984741211, + "t_stamp": 1776697718398 + }, + { + "SATB1_CHW_DH1_DP01": 22.08185585171252, + "SATB1_CHW_DH1_DP02": 22.1856331735533, + "SATB1_CHW_DH1_DP03": 22.11871141389115, + "SATB1_CHW_DH1_DP04": 21.181089848271508, + "SATB1_CHW_DH2_DP01": 22.1910938559713, + "SATB1_CHW_DH2_DP02": 22.82344909119679, + "SATB1_CHW_DH2_DP03": 21.058514024677308, + "SATB1_CHW_DH2_DP04": 23.20654759555099, + "SATB1_CHW_DH3_DP01": 23.51645211501587, + "SATB1_CHW_DH3_DP02": 23.218006016985576, + "SATB1_CHW_DH3_DP03": 23.091709965851003, + "SATB1_CHW_DH3_DP04": 23.05781432741934, + "SATB1_CHW_DH4_DP01": 23.454552410137623, + "SATB1_CHW_DH4_DP02": 24.188909175745646, + "SATB1_CHW_DH4_DP03": 23.148907778404194, + "SATB1_CHW_DH4_DP04": 24.490168983332318, + "SATB1_CHW_DH5_DP01": 23.7223691573143, + "SATB1_CHW_DH5_DP02": 23.024372943132985, + "SATB1_CHW_DH5_DP03": 23.249836623848473, + "SATB1_CHW_DH5_DP04": 23.892182403229782, + "t_stamp": 1776697748398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059999465942383, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.110000610351562, + "SATB1_CHW_DH1_DP04": 21.18000030517578, + "SATB1_CHW_DH2_DP01": 22.190000534057617, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.040000915527344, + "SATB1_CHW_DH2_DP04": 23.200000762939453, + "SATB1_CHW_DH3_DP01": 23.559999465942383, + "SATB1_CHW_DH3_DP02": 23.229999542236328, + "SATB1_CHW_DH3_DP03": 23.1299991607666, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.149999618530273, + "SATB1_CHW_DH4_DP04": 24.5, + "SATB1_CHW_DH5_DP01": 23.790000915527344, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.239999771118164, + "SATB1_CHW_DH5_DP04": 23.889999389648438, + "t_stamp": 1776697778398 + }, + { + "SATB1_CHW_DH1_DP01": 22.095627760474695, + "SATB1_CHW_DH1_DP02": 22.207814982261567, + "SATB1_CHW_DH1_DP03": 22.199107947037547, + "SATB1_CHW_DH1_DP04": 21.04634760017455, + "SATB1_CHW_DH2_DP01": 22.34140888839828, + "SATB1_CHW_DH2_DP02": 22.803275702838153, + "SATB1_CHW_DH2_DP03": 21.06673193672475, + "SATB1_CHW_DH2_DP04": 23.191092022657116, + "SATB1_CHW_DH3_DP01": 22.90949422404558, + "SATB1_CHW_DH3_DP02": 23.212180395022397, + "SATB1_CHW_DH3_DP03": 22.960794844035416, + "SATB1_CHW_DH3_DP04": 23.024372203632744, + "SATB1_CHW_DH4_DP01": 23.513462526051786, + "SATB1_CHW_DH4_DP02": 24.136549983165974, + "SATB1_CHW_DH4_DP03": 23.149999618530273, + "SATB1_CHW_DH4_DP04": 24.44655714786333, + "SATB1_CHW_DH5_DP01": 23.246559319808156, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.391413791939154, + "SATB1_CHW_DH5_DP04": 23.87218427484836, + "t_stamp": 1776697808398 + }, + { + "SATB1_CHW_DH1_DP01": 22.100000381469727, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.209999084472656, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.360000610351562, + "SATB1_CHW_DH2_DP02": 22.799999237060547, + "SATB1_CHW_DH2_DP03": 21.06999969482422, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 22.829999923706055, + "SATB1_CHW_DH3_DP02": 23.209999084472656, + "SATB1_CHW_DH3_DP03": 22.940000534057617, + "SATB1_CHW_DH3_DP04": 23.020000457763672, + "SATB1_CHW_DH4_DP01": 23.520000457763672, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.149999618530273, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.18000030517578, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.40999984741211, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776697838398 + }, + { + "SATB1_CHW_DH1_DP01": 22.144530157784246, + "SATB1_CHW_DH1_DP02": 22.20109334000587, + "SATB1_CHW_DH1_DP03": 22.290195383836192, + "SATB1_CHW_DH1_DP04": 20.940900165091648, + "SATB1_CHW_DH2_DP01": 22.09283630753288, + "SATB1_CHW_DH2_DP02": 22.782186049205862, + "SATB1_CHW_DH2_DP03": 21.150195830790203, + "SATB1_CHW_DH2_DP04": 23.14545924162532, + "SATB1_CHW_DH3_DP01": 23.560713830329025, + "SATB1_CHW_DH3_DP02": 23.218908473234634, + "SATB1_CHW_DH3_DP03": 22.913286094009464, + "SATB1_CHW_DH3_DP04": 23.100156913969023, + "SATB1_CHW_DH4_DP01": 23.430898269564565, + "SATB1_CHW_DH4_DP02": 24.138907085928764, + "SATB1_CHW_DH4_DP03": 23.060928550134317, + "SATB1_CHW_DH4_DP04": 24.41328020380637, + "SATB1_CHW_DH5_DP01": 23.73231940432143, + "SATB1_CHW_DH5_DP02": 23.046716198970312, + "SATB1_CHW_DH5_DP03": 23.294225505656833, + "SATB1_CHW_DH5_DP04": 23.843277509113477, + "t_stamp": 1776697868398 + }, + { + "SATB1_CHW_DH1_DP01": 22.149999618530273, + "SATB1_CHW_DH1_DP02": 22.200000762939453, + "SATB1_CHW_DH1_DP03": 22.299999237060547, + "SATB1_CHW_DH1_DP04": 20.93000030517578, + "SATB1_CHW_DH2_DP01": 22.059999465942383, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.15999984741211, + "SATB1_CHW_DH2_DP04": 23.139999389648438, + "SATB1_CHW_DH3_DP01": 23.649999618530273, + "SATB1_CHW_DH3_DP02": 23.219999313354492, + "SATB1_CHW_DH3_DP03": 22.90999984741211, + "SATB1_CHW_DH3_DP04": 23.110000610351562, + "SATB1_CHW_DH4_DP01": 23.420000076293945, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.049999237060547, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.799999237060547, + "SATB1_CHW_DH5_DP02": 23.049999237060547, + "SATB1_CHW_DH5_DP03": 23.280000686645508, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776697898398 + }, + { + "SATB1_CHW_DH1_DP01": 21.980762577959815, + "SATB1_CHW_DH1_DP02": 22.3158047624869, + "SATB1_CHW_DH1_DP03": 22.157423953850422, + "SATB1_CHW_DH1_DP04": 21.277507136694116, + "SATB1_CHW_DH2_DP01": 22.255947278524427, + "SATB1_CHW_DH2_DP02": 22.833448555738396, + "SATB1_CHW_DH2_DP03": 20.972873544436293, + "SATB1_CHW_DH2_DP04": 23.237996099742116, + "SATB1_CHW_DH3_DP01": 22.91928422381083, + "SATB1_CHW_DH3_DP02": 23.184361748439695, + "SATB1_CHW_DH3_DP03": 23.14155178401043, + "SATB1_CHW_DH3_DP04": 23.065463561799344, + "SATB1_CHW_DH4_DP01": 23.455641641309565, + "SATB1_CHW_DH4_DP02": 24.113274804551583, + "SATB1_CHW_DH4_DP03": 23.183621185388194, + "SATB1_CHW_DH4_DP04": 24.481260093156244, + "SATB1_CHW_DH5_DP01": 23.247637491761093, + "SATB1_CHW_DH5_DP02": 23.0321871530439, + "SATB1_CHW_DH5_DP03": 23.743155816377424, + "SATB1_CHW_DH5_DP04": 23.87563283239106, + "t_stamp": 1776697928398 + }, + { + "SATB1_CHW_DH1_DP01": 21.959999084472656, + "SATB1_CHW_DH1_DP02": 22.329999923706055, + "SATB1_CHW_DH1_DP03": 22.139999389648438, + "SATB1_CHW_DH1_DP04": 21.31999969482422, + "SATB1_CHW_DH2_DP01": 22.280000686645508, + "SATB1_CHW_DH2_DP02": 22.84000015258789, + "SATB1_CHW_DH2_DP03": 20.950000762939453, + "SATB1_CHW_DH2_DP04": 23.25, + "SATB1_CHW_DH3_DP01": 22.829999923706055, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 23.170000076293945, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.200000762939453, + "SATB1_CHW_DH4_DP04": 24.489999771118164, + "SATB1_CHW_DH5_DP01": 23.18000030517578, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.799999237060547, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776697958398 + }, + { + "SATB1_CHW_DH1_DP01": 22.191562939228948, + "SATB1_CHW_DH1_DP02": 22.18748601958937, + "SATB1_CHW_DH1_DP03": 22.041979545402526, + "SATB1_CHW_DH1_DP04": 21.07051094067764, + "SATB1_CHW_DH2_DP01": 21.995018590562996, + "SATB1_CHW_DH2_DP02": 22.813278158478607, + "SATB1_CHW_DH2_DP03": 21.25297428179996, + "SATB1_CHW_DH2_DP04": 23.14310394194676, + "SATB1_CHW_DH3_DP01": 23.507260082002446, + "SATB1_CHW_DH3_DP02": 23.215637494209588, + "SATB1_CHW_DH3_DP03": 22.813807908319948, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.522375178782145, + "SATB1_CHW_DH4_DP02": 24.19907552559013, + "SATB1_CHW_DH4_DP03": 23.12874381088111, + "SATB1_CHW_DH4_DP04": 24.436560481422685, + "SATB1_CHW_DH5_DP01": 23.62544379039294, + "SATB1_CHW_DH5_DP02": 23.047810984322947, + "SATB1_CHW_DH5_DP03": 23.630787201654986, + "SATB1_CHW_DH5_DP04": 23.906722154782116, + "t_stamp": 1776697988398 + }, + { + "SATB1_CHW_DH1_DP01": 22.219999313354492, + "SATB1_CHW_DH1_DP02": 22.170000076293945, + "SATB1_CHW_DH1_DP03": 22.030000686645508, + "SATB1_CHW_DH1_DP04": 21.040000915527344, + "SATB1_CHW_DH2_DP01": 21.959999084472656, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 21.290000915527344, + "SATB1_CHW_DH2_DP04": 23.1299991607666, + "SATB1_CHW_DH3_DP01": 23.59000015258789, + "SATB1_CHW_DH3_DP02": 23.219999313354492, + "SATB1_CHW_DH3_DP03": 22.770000457763672, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.209999084472656, + "SATB1_CHW_DH4_DP03": 23.1200008392334, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.68000030517578, + "SATB1_CHW_DH5_DP02": 23.049999237060547, + "SATB1_CHW_DH5_DP03": 23.610000610351562, + "SATB1_CHW_DH5_DP04": 23.90999984741211, + "t_stamp": 1776698018398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059713783105874, + "SATB1_CHW_DH1_DP02": 22.276875917479035, + "SATB1_CHW_DH1_DP03": 22.092373256532042, + "SATB1_CHW_DH1_DP04": 21.14691683607303, + "SATB1_CHW_DH2_DP01": 22.15587546708055, + "SATB1_CHW_DH2_DP02": 22.827812686124474, + "SATB1_CHW_DH2_DP03": 21.067244478563758, + "SATB1_CHW_DH2_DP04": 23.272528432699424, + "SATB1_CHW_DH3_DP01": 23.010802439042514, + "SATB1_CHW_DH3_DP02": 23.300179603949967, + "SATB1_CHW_DH3_DP03": 22.97473913724722, + "SATB1_CHW_DH3_DP04": 23.086715015407055, + "SATB1_CHW_DH4_DP01": 23.583459755842135, + "SATB1_CHW_DH4_DP02": 24.12092692818523, + "SATB1_CHW_DH4_DP03": 23.200154260925835, + "SATB1_CHW_DH4_DP04": 24.44781133807861, + "SATB1_CHW_DH5_DP01": 23.145496690511493, + "SATB1_CHW_DH5_DP02": 23.005480486925688, + "SATB1_CHW_DH5_DP03": 23.54767147581069, + "SATB1_CHW_DH5_DP04": 23.865465344804466, + "t_stamp": 1776698048398 + }, + { + "SATB1_CHW_DH1_DP01": 22.040000915527344, + "SATB1_CHW_DH1_DP02": 22.290000915527344, + "SATB1_CHW_DH1_DP03": 22.100000381469727, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.18000030517578, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.040000915527344, + "SATB1_CHW_DH2_DP04": 23.290000915527344, + "SATB1_CHW_DH3_DP01": 22.940000534057617, + "SATB1_CHW_DH3_DP02": 23.309999465942383, + "SATB1_CHW_DH3_DP03": 23, + "SATB1_CHW_DH3_DP04": 23.09000015258789, + "SATB1_CHW_DH4_DP01": 23.59000015258789, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.209999084472656, + "SATB1_CHW_DH4_DP04": 24.450000762939453, + "SATB1_CHW_DH5_DP01": 23.079999923706055, + "SATB1_CHW_DH5_DP02": 23, + "SATB1_CHW_DH5_DP03": 23.540000915527344, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776698078398 + }, + { + "SATB1_CHW_DH1_DP01": 22.164674016903046, + "SATB1_CHW_DH1_DP02": 22.20093594028487, + "SATB1_CHW_DH1_DP03": 22.153463687716798, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.162190892875977, + "SATB1_CHW_DH2_DP02": 22.856719980589713, + "SATB1_CHW_DH2_DP03": 21.20038783419525, + "SATB1_CHW_DH2_DP04": 23.2632776400273, + "SATB1_CHW_DH3_DP01": 23.581589308503176, + "SATB1_CHW_DH3_DP02": 23.18527842171182, + "SATB1_CHW_DH3_DP03": 22.75961150835611, + "SATB1_CHW_DH3_DP04": 23.179054762587658, + "SATB1_CHW_DH4_DP01": 23.545451665687562, + "SATB1_CHW_DH4_DP02": 24.172350632687618, + "SATB1_CHW_DH4_DP03": 23.18328083571842, + "SATB1_CHW_DH4_DP04": 24.432188834498046, + "SATB1_CHW_DH5_DP01": 23.694654910962807, + "SATB1_CHW_DH5_DP02": 23.02671472808455, + "SATB1_CHW_DH5_DP03": 23.44204657663642, + "SATB1_CHW_DH5_DP04": 23.868907814216612, + "t_stamp": 1776698108398 + }, + { + "SATB1_CHW_DH1_DP01": 22.18000030517578, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.15999984741211, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.219999313354492, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 23.65999984741211, + "SATB1_CHW_DH3_DP02": 23.170000076293945, + "SATB1_CHW_DH3_DP03": 22.729999542236328, + "SATB1_CHW_DH3_DP04": 23.190000534057617, + "SATB1_CHW_DH4_DP01": 23.540000915527344, + "SATB1_CHW_DH4_DP02": 24.18000030517578, + "SATB1_CHW_DH4_DP03": 23.18000030517578, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.770000457763672, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.43000030517578, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776698138398 + }, + { + "SATB1_CHW_DH1_DP01": 22.206718780562344, + "SATB1_CHW_DH1_DP02": 22.065293829771676, + "SATB1_CHW_DH1_DP03": 22.36494818865318, + "SATB1_CHW_DH1_DP04": 20.97288830753946, + "SATB1_CHW_DH2_DP01": 22.124376720460198, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.148713005125938, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 22.982752355997317, + "SATB1_CHW_DH3_DP02": 23.26800248686318, + "SATB1_CHW_DH3_DP03": 23.059473719338065, + "SATB1_CHW_DH3_DP04": 23.10984021012728, + "SATB1_CHW_DH4_DP01": 23.54890984730352, + "SATB1_CHW_DH4_DP02": 24.171092043814113, + "SATB1_CHW_DH4_DP03": 23.055295299868114, + "SATB1_CHW_DH4_DP04": 24.456720280701326, + "SATB1_CHW_DH5_DP01": 23.253293466810405, + "SATB1_CHW_DH5_DP02": 23.05671810724281, + "SATB1_CHW_DH5_DP03": 23.581408084282405, + "SATB1_CHW_DH5_DP04": 23.905631518886143, + "t_stamp": 1776698168398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209999084472656, + "SATB1_CHW_DH1_DP02": 22.049999237060547, + "SATB1_CHW_DH1_DP03": 22.389999389648438, + "SATB1_CHW_DH1_DP04": 20.950000762939453, + "SATB1_CHW_DH2_DP01": 22.1200008392334, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.139999389648438, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 22.899999618530273, + "SATB1_CHW_DH3_DP02": 23.280000686645508, + "SATB1_CHW_DH3_DP03": 23.100000381469727, + "SATB1_CHW_DH3_DP04": 23.100000381469727, + "SATB1_CHW_DH4_DP01": 23.549999237060547, + "SATB1_CHW_DH4_DP02": 24.170000076293945, + "SATB1_CHW_DH4_DP03": 23.040000915527344, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.190000534057617, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.600000381469727, + "SATB1_CHW_DH5_DP04": 23.90999984741211, + "t_stamp": 1776698198398 + }, + { + "SATB1_CHW_DH1_DP01": 22.120938229898197, + "SATB1_CHW_DH1_DP02": 22.32612432075489, + "SATB1_CHW_DH1_DP03": 22.167239694299873, + "SATB1_CHW_DH1_DP04": 21.27075491548836, + "SATB1_CHW_DH2_DP01": 22.04875513613388, + "SATB1_CHW_DH2_DP02": 22.904536037312514, + "SATB1_CHW_DH2_DP03": 21.15782057316151, + "SATB1_CHW_DH2_DP04": 23.24218400883107, + "SATB1_CHW_DH3_DP01": 23.66632217963, + "SATB1_CHW_DH3_DP02": 23.26218220609128, + "SATB1_CHW_DH3_DP03": 22.770515309395172, + "SATB1_CHW_DH3_DP04": 23.171251417630838, + "SATB1_CHW_DH4_DP01": 23.50544964435738, + "SATB1_CHW_DH4_DP02": 24.134368375645295, + "SATB1_CHW_DH4_DP03": 23.137979194624965, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.81358666854916, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.617812898551087, + "SATB1_CHW_DH5_DP04": 23.874370512393266, + "t_stamp": 1776698228398 + }, + { + "SATB1_CHW_DH1_DP01": 22.110000610351562, + "SATB1_CHW_DH1_DP02": 22.360000610351562, + "SATB1_CHW_DH1_DP03": 22.139999389648438, + "SATB1_CHW_DH1_DP04": 21.309999465942383, + "SATB1_CHW_DH2_DP01": 22.040000915527344, + "SATB1_CHW_DH2_DP02": 22.90999984741211, + "SATB1_CHW_DH2_DP03": 21.15999984741211, + "SATB1_CHW_DH2_DP04": 23.239999771118164, + "SATB1_CHW_DH3_DP01": 23.760000228881836, + "SATB1_CHW_DH3_DP02": 23.260000228881836, + "SATB1_CHW_DH3_DP03": 22.729999542236328, + "SATB1_CHW_DH3_DP04": 23.18000030517578, + "SATB1_CHW_DH4_DP01": 23.5, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.149999618530273, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.889999389648438, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.6200008392334, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776698258398 + }, + { + "SATB1_CHW_DH1_DP01": 22.28812589320972, + "SATB1_CHW_DH1_DP02": 22.15513107135643, + "SATB1_CHW_DH1_DP03": 22.00633804648352, + "SATB1_CHW_DH1_DP04": 21.060516904149797, + "SATB1_CHW_DH2_DP01": 22.146869745446686, + "SATB1_CHW_DH2_DP02": 22.79420356838865, + "SATB1_CHW_DH2_DP03": 21.11544737546753, + "SATB1_CHW_DH2_DP04": 23.142009794427942, + "SATB1_CHW_DH3_DP01": 22.90454682998965, + "SATB1_CHW_DH3_DP02": 23.19763750076294, + "SATB1_CHW_DH3_DP03": 22.925913894511666, + "SATB1_CHW_DH3_DP04": 23.108748518929275, + "SATB1_CHW_DH4_DP01": 23.508910500950414, + "SATB1_CHW_DH4_DP02": 24.09436878374166, + "SATB1_CHW_DH4_DP03": 23.08764868450653, + "SATB1_CHW_DH4_DP04": 24.388745819091795, + "SATB1_CHW_DH5_DP01": 23.088236366757336, + "SATB1_CHW_DH5_DP02": 23.04218879340738, + "SATB1_CHW_DH5_DP03": 23.504219958288623, + "SATB1_CHW_DH5_DP04": 23.78092253016227, + "t_stamp": 1776698288398 + }, + { + "SATB1_CHW_DH1_DP01": 22.309999465942383, + "SATB1_CHW_DH1_DP02": 22.1299991607666, + "SATB1_CHW_DH1_DP03": 21.989999771118164, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.110000610351562, + "SATB1_CHW_DH2_DP04": 23.1299991607666, + "SATB1_CHW_DH3_DP01": 22.799999237060547, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.950000762939453, + "SATB1_CHW_DH3_DP04": 23.100000381469727, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.3799991607666, + "SATB1_CHW_DH5_DP01": 22.989999771118164, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.489999771118164, + "SATB1_CHW_DH5_DP04": 23.770000457763672, + "t_stamp": 1776698318398 + }, + { + "SATB1_CHW_DH1_DP01": 21.998261872646395, + "SATB1_CHW_DH1_DP02": 22.0943683354932, + "SATB1_CHW_DH1_DP03": 21.989999771118164, + "SATB1_CHW_DH1_DP04": 21.07455009769689, + "SATB1_CHW_DH2_DP01": 22.23125000864072, + "SATB1_CHW_DH2_DP02": 22.69092089286166, + "SATB1_CHW_DH2_DP03": 21.09217916614435, + "SATB1_CHW_DH2_DP04": 23.156725608764265, + "SATB1_CHW_DH3_DP01": 23.55743457698822, + "SATB1_CHW_DH3_DP02": 23.13654352869247, + "SATB1_CHW_DH3_DP03": 22.852038487964133, + "SATB1_CHW_DH3_DP04": 22.92186079497838, + "SATB1_CHW_DH4_DP01": 23.403077263146333, + "SATB1_CHW_DH4_DP02": 24.054366222021528, + "SATB1_CHW_DH4_DP03": 23.133447011142295, + "SATB1_CHW_DH4_DP04": 24.36218622788363, + "SATB1_CHW_DH5_DP01": 23.60470723713226, + "SATB1_CHW_DH5_DP02": 23.0221876171781, + "SATB1_CHW_DH5_DP03": 23.56125259914424, + "SATB1_CHW_DH5_DP04": 23.814541171852294, + "t_stamp": 1776698348398 + }, + { + "SATB1_CHW_DH1_DP01": 21.959999084472656, + "SATB1_CHW_DH1_DP02": 22.09000015258789, + "SATB1_CHW_DH1_DP03": 21.989999771118164, + "SATB1_CHW_DH1_DP04": 21.079999923706055, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.68000030517578, + "SATB1_CHW_DH2_DP03": 21.09000015258789, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.649999618530273, + "SATB1_CHW_DH3_DP02": 23.1299991607666, + "SATB1_CHW_DH3_DP03": 22.84000015258789, + "SATB1_CHW_DH3_DP04": 22.899999618530273, + "SATB1_CHW_DH4_DP01": 23.389999389648438, + "SATB1_CHW_DH4_DP02": 24.049999237060547, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.360000610351562, + "SATB1_CHW_DH5_DP01": 23.68000030517578, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.56999969482422, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776698378398 + }, + { + "SATB1_CHW_DH1_DP01": 21.959999084472656, + "SATB1_CHW_DH1_DP02": 22.22361313212568, + "SATB1_CHW_DH1_DP03": 22.096928518931072, + "SATB1_CHW_DH1_DP04": 20.990899583816528, + "SATB1_CHW_DH2_DP01": 22.15093758240499, + "SATB1_CHW_DH2_DP02": 22.733445157194655, + "SATB1_CHW_DH2_DP03": 20.991982475106173, + "SATB1_CHW_DH2_DP04": 23.177816697709325, + "SATB1_CHW_DH3_DP01": 23.64108841457367, + "SATB1_CHW_DH3_DP02": 23.16563612187506, + "SATB1_CHW_DH3_DP03": 22.91124423057508, + "SATB1_CHW_DH3_DP04": 23.060323218290346, + "SATB1_CHW_DH4_DP01": 23.514744957720577, + "SATB1_CHW_DH4_DP02": 24.103448678785902, + "SATB1_CHW_DH4_DP03": 23.22907527566737, + "SATB1_CHW_DH4_DP04": 24.44906943341207, + "SATB1_CHW_DH5_DP01": 23.83144549163857, + "SATB1_CHW_DH5_DP02": 22.984374236119603, + "SATB1_CHW_DH5_DP03": 23.365150183364253, + "SATB1_CHW_DH5_DP04": 23.837815878472842, + "t_stamp": 1776698408398 + }, + { + "SATB1_CHW_DH1_DP01": 21.959999084472656, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.110000610351562, + "SATB1_CHW_DH1_DP04": 20.979999542236328, + "SATB1_CHW_DH2_DP01": 22.139999389648438, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 20.979999542236328, + "SATB1_CHW_DH2_DP04": 23.18000030517578, + "SATB1_CHW_DH3_DP01": 23.639999389648438, + "SATB1_CHW_DH3_DP02": 23.170000076293945, + "SATB1_CHW_DH3_DP03": 22.920000076293945, + "SATB1_CHW_DH3_DP04": 23.079999923706055, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.239999771118164, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.850000381469727, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.34000015258789, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776698438398 + }, + { + "SATB1_CHW_DH1_DP01": 22.057976227330542, + "SATB1_CHW_DH1_DP02": 22.213275323266284, + "SATB1_CHW_DH1_DP03": 22.16346502554421, + "SATB1_CHW_DH1_DP04": 21.07801171959586, + "SATB1_CHW_DH2_DP01": 22.30922267273182, + "SATB1_CHW_DH2_DP02": 22.766724218970044, + "SATB1_CHW_DH2_DP03": 20.997821283467612, + "SATB1_CHW_DH2_DP04": 23.20672505399053, + "SATB1_CHW_DH3_DP01": 23.060775075837547, + "SATB1_CHW_DH3_DP02": 23.116543879276026, + "SATB1_CHW_DH3_DP03": 22.88437607350431, + "SATB1_CHW_DH3_DP04": 23.017650283866377, + "SATB1_CHW_DH4_DP01": 23.538911223920188, + "SATB1_CHW_DH4_DP02": 24.07436601306994, + "SATB1_CHW_DH4_DP03": 23.097472780686306, + "SATB1_CHW_DH4_DP04": 24.370927474519334, + "SATB1_CHW_DH5_DP01": 23.618367595931065, + "SATB1_CHW_DH5_DP02": 23.05125251605219, + "SATB1_CHW_DH5_DP03": 23.420161460533894, + "SATB1_CHW_DH5_DP04": 23.786550955857678, + "t_stamp": 1776698468398 + }, + { + "SATB1_CHW_DH1_DP01": 22.06999969482422, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.170000076293945, + "SATB1_CHW_DH1_DP04": 21.09000015258789, + "SATB1_CHW_DH2_DP01": 22.329999923706055, + "SATB1_CHW_DH2_DP02": 22.770000457763672, + "SATB1_CHW_DH2_DP03": 21, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 22.989999771118164, + "SATB1_CHW_DH3_DP02": 23.110000610351562, + "SATB1_CHW_DH3_DP03": 22.8799991607666, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.540000915527344, + "SATB1_CHW_DH4_DP02": 24.06999969482422, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.360000610351562, + "SATB1_CHW_DH5_DP01": 23.59000015258789, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.43000030517578, + "SATB1_CHW_DH5_DP04": 23.780000686645508, + "t_stamp": 1776698498398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15907151912971, + "SATB1_CHW_DH1_DP02": 22.227815492248535, + "SATB1_CHW_DH1_DP03": 22.18782215086619, + "SATB1_CHW_DH1_DP04": 21.152372086870088, + "SATB1_CHW_DH2_DP01": 22.15186627529989, + "SATB1_CHW_DH2_DP02": 22.832356185913085, + "SATB1_CHW_DH2_DP03": 21.1871231842041, + "SATB1_CHW_DH2_DP04": 23.16545643081665, + "SATB1_CHW_DH3_DP01": 23.079110292543504, + "SATB1_CHW_DH3_DP02": 23.181277730329473, + "SATB1_CHW_DH3_DP03": 22.737501213393923, + "SATB1_CHW_DH3_DP04": 23.036722785864384, + "SATB1_CHW_DH4_DP01": 23.468716617329914, + "SATB1_CHW_DH4_DP02": 24.132357883655228, + "SATB1_CHW_DH4_DP03": 23.03546060333252, + "SATB1_CHW_DH4_DP04": 24.40453733972145, + "SATB1_CHW_DH5_DP01": 23.153466632057395, + "SATB1_CHW_DH5_DP02": 23.086720522865598, + "SATB1_CHW_DH5_DP03": 23.421093119528116, + "SATB1_CHW_DH5_DP04": 23.842358748118084, + "t_stamp": 1776698528398 + }, + { + "SATB1_CHW_DH1_DP01": 22.170000076293945, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.190000534057617, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.1299991607666, + "SATB1_CHW_DH2_DP02": 22.84000015258789, + "SATB1_CHW_DH2_DP03": 21.209999084472656, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.09000015258789, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.719999313354492, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.030000686645508, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.100000381469727, + "SATB1_CHW_DH5_DP02": 23.09000015258789, + "SATB1_CHW_DH5_DP03": 23.420000076293945, + "SATB1_CHW_DH5_DP04": 23.850000381469727, + "t_stamp": 1776698558398 + }, + { + "SATB1_CHW_DH1_DP01": 22.2145344878242, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.10089334592277, + "SATB1_CHW_DH1_DP04": 21.15108960714544, + "SATB1_CHW_DH2_DP01": 22.15671932700276, + "SATB1_CHW_DH2_DP02": 22.822183744812012, + "SATB1_CHW_DH2_DP03": 21.129805984633126, + "SATB1_CHW_DH2_DP04": 23.14218210627238, + "SATB1_CHW_DH3_DP01": 22.911782443027704, + "SATB1_CHW_DH3_DP02": 23.127635218136263, + "SATB1_CHW_DH3_DP03": 22.74671753428506, + "SATB1_CHW_DH3_DP04": 22.968741805531064, + "SATB1_CHW_DH4_DP01": 23.495640639545453, + "SATB1_CHW_DH4_DP02": 24.05982425371806, + "SATB1_CHW_DH4_DP03": 23.145802009034355, + "SATB1_CHW_DH4_DP04": 24.392184736577633, + "SATB1_CHW_DH5_DP01": 23.393991813500723, + "SATB1_CHW_DH5_DP02": 22.983119186446125, + "SATB1_CHW_DH5_DP03": 23.16170056582558, + "SATB1_CHW_DH5_DP04": 23.86781715898124, + "t_stamp": 1776698588398 + }, + { + "SATB1_CHW_DH1_DP01": 22.219999313354492, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.149999618530273, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.81999969482422, + "SATB1_CHW_DH2_DP03": 21.1200008392334, + "SATB1_CHW_DH2_DP04": 23.139999389648438, + "SATB1_CHW_DH3_DP01": 22.889999389648438, + "SATB1_CHW_DH3_DP02": 23.1200008392334, + "SATB1_CHW_DH3_DP03": 22.75, + "SATB1_CHW_DH3_DP04": 22.959999084472656, + "SATB1_CHW_DH4_DP01": 23.5, + "SATB1_CHW_DH4_DP02": 24.049999237060547, + "SATB1_CHW_DH4_DP03": 23.15999984741211, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.43000030517578, + "SATB1_CHW_DH5_DP02": 22.969999313354492, + "SATB1_CHW_DH5_DP03": 23.1299991607666, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776698618398 + }, + { + "SATB1_CHW_DH1_DP01": 22.148742193690847, + "SATB1_CHW_DH1_DP02": 22.078563474273682, + "SATB1_CHW_DH1_DP03": 22.081089133455265, + "SATB1_CHW_DH1_DP04": 20.953976963287168, + "SATB1_CHW_DH2_DP01": 22.151092995110965, + "SATB1_CHW_DH2_DP02": 22.739827558898927, + "SATB1_CHW_DH2_DP03": 21.12890999212144, + "SATB1_CHW_DH2_DP04": 23.148908260218303, + "SATB1_CHW_DH3_DP01": 22.863267531865684, + "SATB1_CHW_DH3_DP02": 23.066542724754083, + "SATB1_CHW_DH3_DP03": 22.732187628783784, + "SATB1_CHW_DH3_DP04": 23.022351717431935, + "SATB1_CHW_DH4_DP01": 23.5445508960565, + "SATB1_CHW_DH4_DP02": 24.049999237060547, + "SATB1_CHW_DH4_DP03": 23.017472274541976, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.536907135390223, + "SATB1_CHW_DH5_DP02": 22.94327995527144, + "SATB1_CHW_DH5_DP03": 23.299232290328312, + "SATB1_CHW_DH5_DP04": 23.754191790921073, + "t_stamp": 1776698648398 + }, + { + "SATB1_CHW_DH1_DP01": 22.139999389648438, + "SATB1_CHW_DH1_DP02": 22.059999465942383, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 20.93000030517578, + "SATB1_CHW_DH2_DP01": 22.149999618530273, + "SATB1_CHW_DH2_DP02": 22.729999542236328, + "SATB1_CHW_DH2_DP03": 21.1299991607666, + "SATB1_CHW_DH2_DP04": 23.149999618530273, + "SATB1_CHW_DH3_DP01": 22.860000610351562, + "SATB1_CHW_DH3_DP02": 23.059999465942383, + "SATB1_CHW_DH3_DP03": 22.729999542236328, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.549999237060547, + "SATB1_CHW_DH4_DP02": 24.049999237060547, + "SATB1_CHW_DH4_DP03": 23, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.549999237060547, + "SATB1_CHW_DH5_DP02": 22.940000534057617, + "SATB1_CHW_DH5_DP03": 23.31999969482422, + "SATB1_CHW_DH5_DP04": 23.739999771118164, + "t_stamp": 1776698678398 + }, + { + "SATB1_CHW_DH1_DP01": 22.086560427939904, + "SATB1_CHW_DH1_DP02": 22.175798627461358, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.019099341770445, + "SATB1_CHW_DH2_DP01": 22.114375616445873, + "SATB1_CHW_DH2_DP02": 22.721091783736313, + "SATB1_CHW_DH2_DP03": 20.996343955855057, + "SATB1_CHW_DH2_DP04": 23.203448470313553, + "SATB1_CHW_DH3_DP01": 23.546123447865153, + "SATB1_CHW_DH3_DP02": 23.05109005900034, + "SATB1_CHW_DH3_DP03": 22.9971672030641, + "SATB1_CHW_DH3_DP04": 23.003279856416146, + "SATB1_CHW_DH4_DP01": 23.443079752769634, + "SATB1_CHW_DH4_DP02": 23.96982660975899, + "SATB1_CHW_DH4_DP03": 23.04453709351886, + "SATB1_CHW_DH4_DP04": 24.345465538160187, + "SATB1_CHW_DH5_DP01": 23.496548385395062, + "SATB1_CHW_DH5_DP02": 22.957811722190577, + "SATB1_CHW_DH5_DP03": 23.266561733040124, + "SATB1_CHW_DH5_DP04": 23.802354714843553, + "t_stamp": 1776698708398 + }, + { + "SATB1_CHW_DH1_DP01": 22.079999923706055, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.110000610351562, + "SATB1_CHW_DH2_DP02": 22.719999313354492, + "SATB1_CHW_DH2_DP03": 20.979999542236328, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 23.6299991607666, + "SATB1_CHW_DH3_DP02": 23.049999237060547, + "SATB1_CHW_DH3_DP03": 23.030000686645508, + "SATB1_CHW_DH3_DP04": 23, + "SATB1_CHW_DH4_DP01": 23.43000030517578, + "SATB1_CHW_DH4_DP02": 23.959999084472656, + "SATB1_CHW_DH4_DP03": 23.049999237060547, + "SATB1_CHW_DH4_DP04": 24.34000015258789, + "SATB1_CHW_DH5_DP01": 23.489999771118164, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.260000228881836, + "SATB1_CHW_DH5_DP04": 23.809999465942383, + "t_stamp": 1776698738398 + }, + { + "SATB1_CHW_DH1_DP01": 21.973112268938266, + "SATB1_CHW_DH1_DP02": 22.127645188125648, + "SATB1_CHW_DH1_DP03": 21.981982445946542, + "SATB1_CHW_DH1_DP04": 20.896349599594718, + "SATB1_CHW_DH2_DP01": 22.127812840142354, + "SATB1_CHW_DH2_DP02": 22.75563191049033, + "SATB1_CHW_DH2_DP03": 20.917626441273107, + "SATB1_CHW_DH2_DP04": 23.103096690847828, + "SATB1_CHW_DH3_DP01": 23.540890883483858, + "SATB1_CHW_DH3_DP02": 23.067818572201002, + "SATB1_CHW_DH3_DP03": 22.949845707093058, + "SATB1_CHW_DH3_DP04": 22.910927055374657, + "SATB1_CHW_DH4_DP01": 23.43000030517578, + "SATB1_CHW_DH4_DP02": 24.004542331074685, + "SATB1_CHW_DH4_DP03": 23.058907386344508, + "SATB1_CHW_DH4_DP04": 24.26874080325168, + "SATB1_CHW_DH5_DP01": 23.169277191257482, + "SATB1_CHW_DH5_DP02": 22.915465219470498, + "SATB1_CHW_DH5_DP03": 23.170930617824776, + "SATB1_CHW_DH5_DP04": 23.68528410719878, + "t_stamp": 1776698768398 + }, + { + "SATB1_CHW_DH1_DP01": 21.959999084472656, + "SATB1_CHW_DH1_DP02": 22.1200008392334, + "SATB1_CHW_DH1_DP03": 21.969999313354492, + "SATB1_CHW_DH1_DP04": 20.8799991607666, + "SATB1_CHW_DH2_DP01": 22.1299991607666, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 20.90999984741211, + "SATB1_CHW_DH2_DP04": 23.09000015258789, + "SATB1_CHW_DH3_DP01": 23.530000686645508, + "SATB1_CHW_DH3_DP02": 23.06999969482422, + "SATB1_CHW_DH3_DP03": 22.940000534057617, + "SATB1_CHW_DH3_DP04": 22.899999618530273, + "SATB1_CHW_DH4_DP01": 23.43000030517578, + "SATB1_CHW_DH4_DP02": 24.010000228881836, + "SATB1_CHW_DH4_DP03": 23.059999465942383, + "SATB1_CHW_DH4_DP04": 24.260000228881836, + "SATB1_CHW_DH5_DP01": 23.1299991607666, + "SATB1_CHW_DH5_DP02": 22.90999984741211, + "SATB1_CHW_DH5_DP03": 23.15999984741211, + "SATB1_CHW_DH5_DP04": 23.670000076293945, + "t_stamp": 1776698798398 + }, + { + "SATB1_CHW_DH1_DP01": 21.977813861971725, + "SATB1_CHW_DH1_DP02": 22.048736907196044, + "SATB1_CHW_DH1_DP03": 22.121480714670817, + "SATB1_CHW_DH1_DP04": 21.102752873328477, + "SATB1_CHW_DH2_DP01": 22.183440493245147, + "SATB1_CHW_DH2_DP02": 22.715459209442137, + "SATB1_CHW_DH2_DP03": 21.132766060182323, + "SATB1_CHW_DH2_DP04": 23.12563393567403, + "SATB1_CHW_DH3_DP01": 22.834942074775697, + "SATB1_CHW_DH3_DP02": 23.06999969482422, + "SATB1_CHW_DH3_DP03": 22.69063141200505, + "SATB1_CHW_DH3_DP04": 22.953443142827354, + "SATB1_CHW_DH4_DP01": 23.394358228724386, + "SATB1_CHW_DH4_DP02": 24.072359457015992, + "SATB1_CHW_DH4_DP03": 23.042184757232665, + "SATB1_CHW_DH4_DP04": 24.32235245704651, + "SATB1_CHW_DH5_DP01": 23.48636052017212, + "SATB1_CHW_DH5_DP02": 22.963440481049762, + "SATB1_CHW_DH5_DP03": 23.320326119232178, + "SATB1_CHW_DH5_DP04": 23.714541063308715, + "t_stamp": 1776698828398 + }, + { + "SATB1_CHW_DH1_DP01": 21.979999542236328, + "SATB1_CHW_DH1_DP02": 22.040000915527344, + "SATB1_CHW_DH1_DP03": 22.139999389648438, + "SATB1_CHW_DH1_DP04": 21.1299991607666, + "SATB1_CHW_DH2_DP01": 22.190000534057617, + "SATB1_CHW_DH2_DP02": 22.709999084472656, + "SATB1_CHW_DH2_DP03": 21.15999984741211, + "SATB1_CHW_DH2_DP04": 23.1299991607666, + "SATB1_CHW_DH3_DP01": 22.75, + "SATB1_CHW_DH3_DP02": 23.06999969482422, + "SATB1_CHW_DH3_DP03": 22.65999984741211, + "SATB1_CHW_DH3_DP04": 22.959999084472656, + "SATB1_CHW_DH4_DP01": 23.389999389648438, + "SATB1_CHW_DH4_DP02": 24.079999923706055, + "SATB1_CHW_DH4_DP03": 23.040000915527344, + "SATB1_CHW_DH4_DP04": 24.329999923706055, + "SATB1_CHW_DH5_DP01": 23.530000686645508, + "SATB1_CHW_DH5_DP02": 22.969999313354492, + "SATB1_CHW_DH5_DP03": 23.34000015258789, + "SATB1_CHW_DH5_DP04": 23.719999313354492, + "t_stamp": 1776698858398 + }, + { + "SATB1_CHW_DH1_DP01": 22.14031812615589, + "SATB1_CHW_DH1_DP02": 22.12907510256506, + "SATB1_CHW_DH1_DP03": 21.935051048407367, + "SATB1_CHW_DH1_DP04": 21.201280426120757, + "SATB1_CHW_DH2_DP01": 22.100939465033182, + "SATB1_CHW_DH2_DP02": 22.674369749453813, + "SATB1_CHW_DH2_DP03": 20.999607575480145, + "SATB1_CHW_DH2_DP04": 23.058733458686106, + "SATB1_CHW_DH3_DP01": 23.56090086402893, + "SATB1_CHW_DH3_DP02": 23.087818805683582, + "SATB1_CHW_DH3_DP03": 22.847014263100437, + "SATB1_CHW_DH3_DP04": 22.986719914702018, + "SATB1_CHW_DH4_DP01": 23.336537865511577, + "SATB1_CHW_DH4_DP02": 23.982012412475115, + "SATB1_CHW_DH4_DP03": 23.066722046716254, + "SATB1_CHW_DH4_DP04": 24.23202341180286, + "SATB1_CHW_DH5_DP01": 23.173651205556027, + "SATB1_CHW_DH5_DP02": 22.934375238358182, + "SATB1_CHW_DH5_DP03": 23.17968456847343, + "SATB1_CHW_DH5_DP04": 23.764539030184547, + "t_stamp": 1776698888398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15999984741211, + "SATB1_CHW_DH1_DP02": 22.139999389648438, + "SATB1_CHW_DH1_DP03": 21.90999984741211, + "SATB1_CHW_DH1_DP04": 21.209999084472656, + "SATB1_CHW_DH2_DP01": 22.09000015258789, + "SATB1_CHW_DH2_DP02": 22.670000076293945, + "SATB1_CHW_DH2_DP03": 20.979999542236328, + "SATB1_CHW_DH2_DP04": 23.049999237060547, + "SATB1_CHW_DH3_DP01": 23.65999984741211, + "SATB1_CHW_DH3_DP02": 23.09000015258789, + "SATB1_CHW_DH3_DP03": 22.8700008392334, + "SATB1_CHW_DH3_DP04": 22.989999771118164, + "SATB1_CHW_DH4_DP01": 23.329999923706055, + "SATB1_CHW_DH4_DP02": 23.969999313354492, + "SATB1_CHW_DH4_DP03": 23.06999969482422, + "SATB1_CHW_DH4_DP04": 24.219999313354492, + "SATB1_CHW_DH5_DP01": 23.1299991607666, + "SATB1_CHW_DH5_DP02": 22.93000030517578, + "SATB1_CHW_DH5_DP03": 23.15999984741211, + "SATB1_CHW_DH5_DP04": 23.770000457763672, + "t_stamp": 1776698918398 + }, + { + "SATB1_CHW_DH1_DP01": 21.96405092734226, + "SATB1_CHW_DH1_DP02": 21.979658773125895, + "SATB1_CHW_DH1_DP03": 22.088214223681803, + "SATB1_CHW_DH1_DP04": 21.022886400222777, + "SATB1_CHW_DH2_DP01": 22.196874763811504, + "SATB1_CHW_DH2_DP02": 22.74126238374536, + "SATB1_CHW_DH2_DP03": 20.971088671620688, + "SATB1_CHW_DH2_DP04": 23.147994513869065, + "SATB1_CHW_DH3_DP01": 22.947120527267455, + "SATB1_CHW_DH3_DP02": 23.125637196225306, + "SATB1_CHW_DH3_DP03": 22.843283337169282, + "SATB1_CHW_DH3_DP04": 23.007814105977502, + "SATB1_CHW_DH4_DP01": 23.445833509254456, + "SATB1_CHW_DH4_DP02": 24.032358691845623, + "SATB1_CHW_DH4_DP03": 23.167985804456848, + "SATB1_CHW_DH4_DP04": 24.335794887818984, + "SATB1_CHW_DH5_DP01": 23.308179113109006, + "SATB1_CHW_DH5_DP02": 22.93000030517578, + "SATB1_CHW_DH5_DP03": 23.07984003951865, + "SATB1_CHW_DH5_DP04": 23.796723706564457, + "t_stamp": 1776698948398 + }, + { + "SATB1_CHW_DH1_DP01": 21.940000534057617, + "SATB1_CHW_DH1_DP02": 21.959999084472656, + "SATB1_CHW_DH1_DP03": 22.110000610351562, + "SATB1_CHW_DH1_DP04": 21, + "SATB1_CHW_DH2_DP01": 22.209999084472656, + "SATB1_CHW_DH2_DP02": 22.75, + "SATB1_CHW_DH2_DP03": 20.969999313354492, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 22.860000610351562, + "SATB1_CHW_DH3_DP02": 23.1299991607666, + "SATB1_CHW_DH3_DP03": 22.84000015258789, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.040000915527344, + "SATB1_CHW_DH4_DP03": 23.18000030517578, + "SATB1_CHW_DH4_DP04": 24.350000381469727, + "SATB1_CHW_DH5_DP01": 23.329999923706055, + "SATB1_CHW_DH5_DP02": 22.93000030517578, + "SATB1_CHW_DH5_DP03": 23.06999969482422, + "SATB1_CHW_DH5_DP04": 23.799999237060547, + "t_stamp": 1776698978398 + }, + { + "SATB1_CHW_DH1_DP01": 22.00233874484435, + "SATB1_CHW_DH1_DP02": 22.138135648153977, + "SATB1_CHW_DH1_DP03": 22.09217886912028, + "SATB1_CHW_DH1_DP04": 21.142557778782354, + "SATB1_CHW_DH2_DP01": 22.16547848544507, + "SATB1_CHW_DH2_DP02": 22.6520230873336, + "SATB1_CHW_DH2_DP03": 21.0680155569477, + "SATB1_CHW_DH2_DP04": 23.142182403229782, + "SATB1_CHW_DH3_DP01": 22.886732077058564, + "SATB1_CHW_DH3_DP02": 23.138908567708643, + "SATB1_CHW_DH3_DP03": 22.72426411337314, + "SATB1_CHW_DH3_DP04": 22.912035747172595, + "SATB1_CHW_DH4_DP01": 23.45109054366055, + "SATB1_CHW_DH4_DP02": 24.048907456741798, + "SATB1_CHW_DH4_DP03": 23.055307807866424, + "SATB1_CHW_DH4_DP04": 24.350000381469727, + "SATB1_CHW_DH5_DP01": 23.668535533772854, + "SATB1_CHW_DH5_DP02": 22.93000030517578, + "SATB1_CHW_DH5_DP03": 23.221385342074697, + "SATB1_CHW_DH5_DP04": 23.764369235424898, + "t_stamp": 1776699008398 + }, + { + "SATB1_CHW_DH1_DP01": 22.010000228881836, + "SATB1_CHW_DH1_DP02": 22.15999984741211, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.639999389648438, + "SATB1_CHW_DH2_DP03": 21.079999923706055, + "SATB1_CHW_DH2_DP04": 23.139999389648438, + "SATB1_CHW_DH3_DP01": 22.889999389648438, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.709999084472656, + "SATB1_CHW_DH3_DP04": 22.899999618530273, + "SATB1_CHW_DH4_DP01": 23.450000762939453, + "SATB1_CHW_DH4_DP02": 24.049999237060547, + "SATB1_CHW_DH4_DP03": 23.040000915527344, + "SATB1_CHW_DH4_DP04": 24.350000381469727, + "SATB1_CHW_DH5_DP01": 23.709999084472656, + "SATB1_CHW_DH5_DP02": 22.93000030517578, + "SATB1_CHW_DH5_DP03": 23.239999771118164, + "SATB1_CHW_DH5_DP04": 23.760000228881836, + "t_stamp": 1776699038398 + }, + { + "SATB1_CHW_DH1_DP01": 22.143582115535107, + "SATB1_CHW_DH1_DP02": 22.142186106363933, + "SATB1_CHW_DH1_DP03": 22.01871726333386, + "SATB1_CHW_DH1_DP04": 20.9372614386924, + "SATB1_CHW_DH2_DP01": 22.017524110298275, + "SATB1_CHW_DH2_DP02": 22.72015968955093, + "SATB1_CHW_DH2_DP03": 21.08891047914196, + "SATB1_CHW_DH2_DP04": 23.131091576530366, + "SATB1_CHW_DH3_DP01": 23.59394430637765, + "SATB1_CHW_DH3_DP02": 22.997462361393417, + "SATB1_CHW_DH3_DP03": 22.799036112957328, + "SATB1_CHW_DH3_DP04": 22.97124488391876, + "SATB1_CHW_DH4_DP01": 23.432180949065817, + "SATB1_CHW_DH4_DP02": 24.032186012786187, + "SATB1_CHW_DH4_DP03": 23.013280803966524, + "SATB1_CHW_DH4_DP04": 24.403435015260783, + "SATB1_CHW_DH5_DP01": 23.086444126170218, + "SATB1_CHW_DH5_DP02": 22.938905454241066, + "SATB1_CHW_DH5_DP03": 23.097517824263576, + "SATB1_CHW_DH5_DP04": 23.768907505610365, + "t_stamp": 1776699068398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15999984741211, + "SATB1_CHW_DH1_DP02": 22.139999389648438, + "SATB1_CHW_DH1_DP03": 22.010000228881836, + "SATB1_CHW_DH1_DP04": 20.90999984741211, + "SATB1_CHW_DH2_DP01": 22, + "SATB1_CHW_DH2_DP02": 22.729999542236328, + "SATB1_CHW_DH2_DP03": 21.09000015258789, + "SATB1_CHW_DH2_DP04": 23.1299991607666, + "SATB1_CHW_DH3_DP01": 23.68000030517578, + "SATB1_CHW_DH3_DP02": 22.979999542236328, + "SATB1_CHW_DH3_DP03": 22.809999465942383, + "SATB1_CHW_DH3_DP04": 22.979999542236328, + "SATB1_CHW_DH4_DP01": 23.43000030517578, + "SATB1_CHW_DH4_DP02": 24.030000686645508, + "SATB1_CHW_DH4_DP03": 23.010000228881836, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.010000228881836, + "SATB1_CHW_DH5_DP02": 22.940000534057617, + "SATB1_CHW_DH5_DP03": 23.079999923706055, + "SATB1_CHW_DH5_DP04": 23.770000457763672, + "t_stamp": 1776699098398 + }, + { + "SATB1_CHW_DH1_DP01": 21.96408272418965, + "SATB1_CHW_DH1_DP02": 22.148906111727158, + "SATB1_CHW_DH1_DP03": 22.010000228881836, + "SATB1_CHW_DH1_DP04": 20.98127577943802, + "SATB1_CHW_DH2_DP01": 22.08904718890595, + "SATB1_CHW_DH2_DP02": 22.64093402023266, + "SATB1_CHW_DH2_DP03": 21.018719929909096, + "SATB1_CHW_DH2_DP04": 23.040927004479176, + "SATB1_CHW_DH3_DP01": 22.851321844551492, + "SATB1_CHW_DH3_DP02": 23.03345176563263, + "SATB1_CHW_DH3_DP03": 22.907942176055908, + "SATB1_CHW_DH3_DP04": 22.89984974217664, + "SATB1_CHW_DH4_DP01": 23.385450952212015, + "SATB1_CHW_DH4_DP02": 23.94983605073293, + "SATB1_CHW_DH4_DP03": 23.099065568637847, + "SATB1_CHW_DH4_DP04": 24.374377397378286, + "SATB1_CHW_DH5_DP01": 23.571192981306712, + "SATB1_CHW_DH5_DP02": 22.9489055894593, + "SATB1_CHW_DH5_DP03": 23.507440392052068, + "SATB1_CHW_DH5_DP04": 23.761093253898622, + "t_stamp": 1776699128398 + }, + { + "SATB1_CHW_DH1_DP01": 21.940000534057617, + "SATB1_CHW_DH1_DP02": 22.149999618530273, + "SATB1_CHW_DH1_DP03": 22.010000228881836, + "SATB1_CHW_DH1_DP04": 20.989999771118164, + "SATB1_CHW_DH2_DP01": 22.100000381469727, + "SATB1_CHW_DH2_DP02": 22.6299991607666, + "SATB1_CHW_DH2_DP03": 21.010000228881836, + "SATB1_CHW_DH2_DP04": 23.030000686645508, + "SATB1_CHW_DH3_DP01": 22.75, + "SATB1_CHW_DH3_DP02": 23.040000915527344, + "SATB1_CHW_DH3_DP03": 22.920000076293945, + "SATB1_CHW_DH3_DP04": 22.889999389648438, + "SATB1_CHW_DH4_DP01": 23.3799991607666, + "SATB1_CHW_DH4_DP02": 23.940000534057617, + "SATB1_CHW_DH4_DP03": 23.110000610351562, + "SATB1_CHW_DH4_DP04": 24.3700008392334, + "SATB1_CHW_DH5_DP01": 23.639999389648438, + "SATB1_CHW_DH5_DP02": 22.950000762939453, + "SATB1_CHW_DH5_DP03": 23.559999465942383, + "SATB1_CHW_DH5_DP04": 23.760000228881836, + "t_stamp": 1776699158398 + }, + { + "SATB1_CHW_DH1_DP01": 22.135897666197025, + "SATB1_CHW_DH1_DP02": 22.114377470408247, + "SATB1_CHW_DH1_DP03": 22.081279118273013, + "SATB1_CHW_DH1_DP04": 20.95436443654807, + "SATB1_CHW_DH2_DP01": 22.20684474591227, + "SATB1_CHW_DH2_DP02": 22.745774964099823, + "SATB1_CHW_DH2_DP03": 21.161467772400684, + "SATB1_CHW_DH2_DP04": 23.119065238781626, + "SATB1_CHW_DH3_DP01": 23.427186917496535, + "SATB1_CHW_DH3_DP02": 23.12016783560673, + "SATB1_CHW_DH3_DP03": 22.688523353506984, + "SATB1_CHW_DH3_DP04": 23.032473006399616, + "SATB1_CHW_DH4_DP01": 23.478002771115822, + "SATB1_CHW_DH4_DP02": 24.10031377455872, + "SATB1_CHW_DH4_DP03": 23.127810538285924, + "SATB1_CHW_DH4_DP04": 24.48576241964174, + "SATB1_CHW_DH5_DP01": 23.337163204010917, + "SATB1_CHW_DH5_DP02": 22.967807358115355, + "SATB1_CHW_DH5_DP03": 23.319589797764607, + "SATB1_CHW_DH5_DP04": 23.79562378311119, + "t_stamp": 1776699188398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15999984741211, + "SATB1_CHW_DH1_DP02": 22.110000610351562, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 20.950000762939453, + "SATB1_CHW_DH2_DP01": 22.219999313354492, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.18000030517578, + "SATB1_CHW_DH2_DP04": 23.1299991607666, + "SATB1_CHW_DH3_DP01": 23.510000228881836, + "SATB1_CHW_DH3_DP02": 23.1299991607666, + "SATB1_CHW_DH3_DP03": 22.65999984741211, + "SATB1_CHW_DH3_DP04": 23.049999237060547, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.1200008392334, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.5, + "SATB1_CHW_DH5_DP01": 23.299999237060547, + "SATB1_CHW_DH5_DP02": 22.969999313354492, + "SATB1_CHW_DH5_DP03": 23.290000915527344, + "SATB1_CHW_DH5_DP04": 23.799999237060547, + "t_stamp": 1776699218398 + }, + { + "SATB1_CHW_DH1_DP01": 22.293571186305694, + "SATB1_CHW_DH1_DP02": 22.279218335192684, + "SATB1_CHW_DH1_DP03": 22.081089818313515, + "SATB1_CHW_DH1_DP04": 21.226183890199643, + "SATB1_CHW_DH2_DP01": 22.19328806466543, + "SATB1_CHW_DH2_DP02": 22.902500259660865, + "SATB1_CHW_DH2_DP03": 21.126540890021964, + "SATB1_CHW_DH2_DP04": 23.219070438607805, + "SATB1_CHW_DH3_DP01": 23.27832749706163, + "SATB1_CHW_DH3_DP02": 23.192358284495715, + "SATB1_CHW_DH3_DP03": 22.811355649792123, + "SATB1_CHW_DH3_DP04": 23.041095786478778, + "SATB1_CHW_DH4_DP01": 23.570183907063804, + "SATB1_CHW_DH4_DP02": 24.1200008392334, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.446568913488072, + "SATB1_CHW_DH5_DP01": 23.406890892189676, + "SATB1_CHW_DH5_DP02": 23.067946920848392, + "SATB1_CHW_DH5_DP03": 23.655083033769, + "SATB1_CHW_DH5_DP04": 23.88016005302332, + "t_stamp": 1776699248398 + }, + { + "SATB1_CHW_DH1_DP01": 22.309999465942383, + "SATB1_CHW_DH1_DP02": 22.299999237060547, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.260000228881836, + "SATB1_CHW_DH2_DP01": 22.190000534057617, + "SATB1_CHW_DH2_DP02": 22.920000076293945, + "SATB1_CHW_DH2_DP03": 21.1200008392334, + "SATB1_CHW_DH2_DP04": 23.229999542236328, + "SATB1_CHW_DH3_DP01": 23.25, + "SATB1_CHW_DH3_DP02": 23.200000762939453, + "SATB1_CHW_DH3_DP03": 22.829999923706055, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.579999923706055, + "SATB1_CHW_DH4_DP02": 24.1200008392334, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.420000076293945, + "SATB1_CHW_DH5_DP02": 23.079999923706055, + "SATB1_CHW_DH5_DP03": 23.700000762939453, + "SATB1_CHW_DH5_DP04": 23.889999389648438, + "t_stamp": 1776699278398 + }, + { + "SATB1_CHW_DH1_DP01": 22.051786003822254, + "SATB1_CHW_DH1_DP02": 22.23766244815231, + "SATB1_CHW_DH1_DP03": 22.24038052261278, + "SATB1_CHW_DH1_DP04": 21.144182040916636, + "SATB1_CHW_DH2_DP01": 22.207805499410384, + "SATB1_CHW_DH2_DP02": 22.839852290969038, + "SATB1_CHW_DH2_DP03": 21.066539615631104, + "SATB1_CHW_DH2_DP04": 23.301249682599337, + "SATB1_CHW_DH3_DP01": 22.92922145614624, + "SATB1_CHW_DH3_DP02": 23.226722003372377, + "SATB1_CHW_DH3_DP03": 22.999141180361132, + "SATB1_CHW_DH3_DP04": 23.146849279534326, + "SATB1_CHW_DH4_DP01": 23.579999923706055, + "SATB1_CHW_DH4_DP02": 24.13781147018113, + "SATB1_CHW_DH4_DP03": 23.22795794250818, + "SATB1_CHW_DH4_DP04": 24.466712775756623, + "SATB1_CHW_DH5_DP01": 23.722830595828864, + "SATB1_CHW_DH5_DP02": 23.05328898338804, + "SATB1_CHW_DH5_DP03": 23.753421945269615, + "SATB1_CHW_DH5_DP04": 23.881093391486985, + "t_stamp": 1776699308398 + }, + { + "SATB1_CHW_DH1_DP01": 22.020000457763672, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.260000228881836, + "SATB1_CHW_DH1_DP04": 21.1299991607666, + "SATB1_CHW_DH2_DP01": 22.209999084472656, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.059999465942383, + "SATB1_CHW_DH2_DP04": 23.309999465942383, + "SATB1_CHW_DH3_DP01": 22.889999389648438, + "SATB1_CHW_DH3_DP02": 23.229999542236328, + "SATB1_CHW_DH3_DP03": 23.020000457763672, + "SATB1_CHW_DH3_DP04": 23.15999984741211, + "SATB1_CHW_DH4_DP01": 23.579999923706055, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.239999771118164, + "SATB1_CHW_DH4_DP04": 24.469999313354492, + "SATB1_CHW_DH5_DP01": 23.760000228881836, + "SATB1_CHW_DH5_DP02": 23.049999237060547, + "SATB1_CHW_DH5_DP03": 23.760000228881836, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776699338398 + }, + { + "SATB1_CHW_DH1_DP01": 22.14467435996718, + "SATB1_CHW_DH1_DP02": 22.176561002042508, + "SATB1_CHW_DH1_DP03": 22.144167346643126, + "SATB1_CHW_DH1_DP04": 21.34382734752201, + "SATB1_CHW_DH2_DP01": 22.37028274150778, + "SATB1_CHW_DH2_DP02": 22.856720488602807, + "SATB1_CHW_DH2_DP03": 21.175832348181093, + "SATB1_CHW_DH2_DP04": 23.32781487927967, + "SATB1_CHW_DH3_DP01": 23.638481525611876, + "SATB1_CHW_DH3_DP02": 23.21218209216429, + "SATB1_CHW_DH3_DP03": 22.824116194241046, + "SATB1_CHW_DH3_DP04": 23.13328278317891, + "SATB1_CHW_DH4_DP01": 23.473081612047338, + "SATB1_CHW_DH4_DP02": 24.184536256036804, + "SATB1_CHW_DH4_DP03": 23.15093440494142, + "SATB1_CHW_DH4_DP04": 24.443282947581615, + "SATB1_CHW_DH5_DP01": 23.154265859155977, + "SATB1_CHW_DH5_DP02": 23.049999237060547, + "SATB1_CHW_DH5_DP03": 23.29694064471459, + "SATB1_CHW_DH5_DP04": 23.844372033313796, + "t_stamp": 1776699368398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15999984741211, + "SATB1_CHW_DH1_DP02": 22.170000076293945, + "SATB1_CHW_DH1_DP03": 22.1299991607666, + "SATB1_CHW_DH1_DP04": 21.3700008392334, + "SATB1_CHW_DH2_DP01": 22.389999389648438, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.190000534057617, + "SATB1_CHW_DH2_DP04": 23.329999923706055, + "SATB1_CHW_DH3_DP01": 23.729999542236328, + "SATB1_CHW_DH3_DP02": 23.209999084472656, + "SATB1_CHW_DH3_DP03": 22.799999237060547, + "SATB1_CHW_DH3_DP04": 23.1299991607666, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.079999923706055, + "SATB1_CHW_DH5_DP02": 23.049999237060547, + "SATB1_CHW_DH5_DP03": 23.239999771118164, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776699398398 + }, + { + "SATB1_CHW_DH1_DP01": 22.151093401377555, + "SATB1_CHW_DH1_DP02": 22.250165556564244, + "SATB1_CHW_DH1_DP03": 22.147820496019506, + "SATB1_CHW_DH1_DP04": 21.271992528496984, + "SATB1_CHW_DH2_DP01": 22.318753666347927, + "SATB1_CHW_DH2_DP02": 22.91344380683517, + "SATB1_CHW_DH2_DP03": 21.234551430114116, + "SATB1_CHW_DH2_DP04": 23.285460785335808, + "SATB1_CHW_DH3_DP01": 23.81910636725868, + "SATB1_CHW_DH3_DP02": 23.209999084472656, + "SATB1_CHW_DH3_DP03": 22.817809722543295, + "SATB1_CHW_DH3_DP04": 23.1032810213725, + "SATB1_CHW_DH4_DP01": 23.549099242691796, + "SATB1_CHW_DH4_DP02": 24.207814503329615, + "SATB1_CHW_DH4_DP03": 23.166721337318087, + "SATB1_CHW_DH4_DP04": 24.502346418660373, + "SATB1_CHW_DH5_DP01": 23.16908323296293, + "SATB1_CHW_DH5_DP02": 23.058905331489264, + "SATB1_CHW_DH5_DP03": 23.31124816134949, + "SATB1_CHW_DH5_DP04": 23.88453753322737, + "t_stamp": 1776699428398 + }, + { + "SATB1_CHW_DH1_DP01": 22.149999618530273, + "SATB1_CHW_DH1_DP02": 22.260000228881836, + "SATB1_CHW_DH1_DP03": 22.149999618530273, + "SATB1_CHW_DH1_DP04": 21.260000228881836, + "SATB1_CHW_DH2_DP01": 22.309999465942383, + "SATB1_CHW_DH2_DP02": 22.920000076293945, + "SATB1_CHW_DH2_DP03": 21.239999771118164, + "SATB1_CHW_DH2_DP04": 23.280000686645508, + "SATB1_CHW_DH3_DP01": 23.829999923706055, + "SATB1_CHW_DH3_DP02": 23.209999084472656, + "SATB1_CHW_DH3_DP03": 22.81999969482422, + "SATB1_CHW_DH3_DP04": 23.100000381469727, + "SATB1_CHW_DH4_DP01": 23.559999465942383, + "SATB1_CHW_DH4_DP02": 24.209999084472656, + "SATB1_CHW_DH4_DP03": 23.170000076293945, + "SATB1_CHW_DH4_DP04": 24.510000228881836, + "SATB1_CHW_DH5_DP01": 23.18000030517578, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.31999969482422, + "SATB1_CHW_DH5_DP04": 23.889999389648438, + "t_stamp": 1776699458398 + }, + { + "SATB1_CHW_DH1_DP01": 22.265786762734113, + "SATB1_CHW_DH1_DP02": 22.206555813844506, + "SATB1_CHW_DH1_DP03": 22.158910173966177, + "SATB1_CHW_DH1_DP04": 21.277820303408305, + "SATB1_CHW_DH2_DP01": 22.131877881081294, + "SATB1_CHW_DH2_DP02": 22.928907761961387, + "SATB1_CHW_DH2_DP03": 21.106345111020406, + "SATB1_CHW_DH2_DP04": 23.280000686645508, + "SATB1_CHW_DH3_DP01": 22.947844127655028, + "SATB1_CHW_DH3_DP02": 23.272363639132575, + "SATB1_CHW_DH3_DP03": 23.104969505890285, + "SATB1_CHW_DH3_DP04": 23.064372378455197, + "SATB1_CHW_DH4_DP01": 23.595640281677245, + "SATB1_CHW_DH4_DP02": 24.183276281074196, + "SATB1_CHW_DH4_DP03": 23.187815411209506, + "SATB1_CHW_DH4_DP04": 24.42093025345362, + "SATB1_CHW_DH5_DP01": 23.7234182391962, + "SATB1_CHW_DH5_DP02": 23.104531969569987, + "SATB1_CHW_DH5_DP03": 23.667345440330703, + "SATB1_CHW_DH5_DP04": 23.881091370634476, + "t_stamp": 1776699488398 + }, + { + "SATB1_CHW_DH1_DP01": 22.280000686645508, + "SATB1_CHW_DH1_DP02": 22.200000762939453, + "SATB1_CHW_DH1_DP03": 22.15999984741211, + "SATB1_CHW_DH1_DP04": 21.280000686645508, + "SATB1_CHW_DH2_DP01": 22.110000610351562, + "SATB1_CHW_DH2_DP02": 22.93000030517578, + "SATB1_CHW_DH2_DP03": 21.09000015258789, + "SATB1_CHW_DH2_DP04": 23.280000686645508, + "SATB1_CHW_DH3_DP01": 22.84000015258789, + "SATB1_CHW_DH3_DP02": 23.280000686645508, + "SATB1_CHW_DH3_DP03": 23.139999389648438, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.600000381469727, + "SATB1_CHW_DH4_DP02": 24.18000030517578, + "SATB1_CHW_DH4_DP03": 23.190000534057617, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.790000915527344, + "SATB1_CHW_DH5_DP02": 23.110000610351562, + "SATB1_CHW_DH5_DP03": 23.709999084472656, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776699518398 + }, + { + "SATB1_CHW_DH1_DP01": 22.146401554248236, + "SATB1_CHW_DH1_DP02": 22.32470314089583, + "SATB1_CHW_DH1_DP03": 22.22237294837533, + "SATB1_CHW_DH1_DP04": 21.066161326586073, + "SATB1_CHW_DH2_DP01": 22.08328194412473, + "SATB1_CHW_DH2_DP02": 22.88546252808959, + "SATB1_CHW_DH2_DP03": 21.08108961531321, + "SATB1_CHW_DH2_DP04": 23.199827050717673, + "SATB1_CHW_DH3_DP01": 23.107319472757975, + "SATB1_CHW_DH3_DP02": 23.16418080473028, + "SATB1_CHW_DH3_DP03": 23.122190013885497, + "SATB1_CHW_DH3_DP04": 23.033280943819715, + "SATB1_CHW_DH4_DP01": 23.55544861927178, + "SATB1_CHW_DH4_DP02": 24.162184194335083, + "SATB1_CHW_DH4_DP03": 23.225629056784094, + "SATB1_CHW_DH4_DP04": 24.37437332460271, + "SATB1_CHW_DH5_DP01": 23.4069351436615, + "SATB1_CHW_DH5_DP02": 23.038751199125013, + "SATB1_CHW_DH5_DP03": 23.37156480582654, + "SATB1_CHW_DH5_DP04": 23.95126057178171, + "t_stamp": 1776699548398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1299991607666, + "SATB1_CHW_DH1_DP02": 22.34000015258789, + "SATB1_CHW_DH1_DP03": 22.229999542236328, + "SATB1_CHW_DH1_DP04": 21.040000915527344, + "SATB1_CHW_DH2_DP01": 22.079999923706055, + "SATB1_CHW_DH2_DP02": 22.8799991607666, + "SATB1_CHW_DH2_DP03": 21.079999923706055, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.139999389648438, + "SATB1_CHW_DH3_DP02": 23.149999618530273, + "SATB1_CHW_DH3_DP03": 23.1200008392334, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.549999237060547, + "SATB1_CHW_DH4_DP02": 24.15999984741211, + "SATB1_CHW_DH4_DP03": 23.229999542236328, + "SATB1_CHW_DH4_DP04": 24.3700008392334, + "SATB1_CHW_DH5_DP01": 23.360000610351562, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.329999923706055, + "SATB1_CHW_DH5_DP04": 23.959999084472656, + "t_stamp": 1776699578398 + }, + { + "SATB1_CHW_DH1_DP01": 22.20124040662852, + "SATB1_CHW_DH1_DP02": 22.286562862641308, + "SATB1_CHW_DH1_DP03": 22.20327046639764, + "SATB1_CHW_DH1_DP04": 21.227094508659718, + "SATB1_CHW_DH2_DP01": 22.177951774507537, + "SATB1_CHW_DH2_DP02": 22.897812453849323, + "SATB1_CHW_DH2_DP03": 21.240378176715197, + "SATB1_CHW_DH2_DP04": 23.323609333358096, + "SATB1_CHW_DH3_DP01": 23.20237170530595, + "SATB1_CHW_DH3_DP02": 23.17672505773028, + "SATB1_CHW_DH3_DP03": 22.8885044097519, + "SATB1_CHW_DH3_DP04": 23.01218965374268, + "SATB1_CHW_DH4_DP01": 23.532181680127984, + "SATB1_CHW_DH4_DP02": 24.151092700909302, + "SATB1_CHW_DH4_DP03": 23.176562252289745, + "SATB1_CHW_DH4_DP04": 24.47686763897433, + "SATB1_CHW_DH5_DP01": 23.627228207927192, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.205330756517622, + "SATB1_CHW_DH5_DP04": 23.81749080455419, + "t_stamp": 1776699608398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209999084472656, + "SATB1_CHW_DH1_DP02": 22.280000686645508, + "SATB1_CHW_DH1_DP03": 22.200000762939453, + "SATB1_CHW_DH1_DP04": 21.25, + "SATB1_CHW_DH2_DP01": 22.190000534057617, + "SATB1_CHW_DH2_DP02": 22.899999618530273, + "SATB1_CHW_DH2_DP03": 21.260000228881836, + "SATB1_CHW_DH2_DP04": 23.34000015258789, + "SATB1_CHW_DH3_DP01": 23.209999084472656, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.860000610351562, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.170000076293945, + "SATB1_CHW_DH4_DP04": 24.489999771118164, + "SATB1_CHW_DH5_DP01": 23.65999984741211, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.190000534057617, + "SATB1_CHW_DH5_DP04": 23.799999237060547, + "t_stamp": 1776699638398 + }, + { + "SATB1_CHW_DH1_DP01": 22.129846295928434, + "SATB1_CHW_DH1_DP02": 22.28890779941755, + "SATB1_CHW_DH1_DP03": 22.280192235419804, + "SATB1_CHW_DH1_DP04": 21.053995678338566, + "SATB1_CHW_DH2_DP01": 22.234527549516653, + "SATB1_CHW_DH2_DP02": 22.926721011505848, + "SATB1_CHW_DH2_DP03": 21.19763062796169, + "SATB1_CHW_DH2_DP04": 23.19747849575096, + "SATB1_CHW_DH3_DP01": 22.82684340687282, + "SATB1_CHW_DH3_DP02": 23.206724608563206, + "SATB1_CHW_DH3_DP03": 22.984665688935525, + "SATB1_CHW_DH3_DP04": 23.116871964881017, + "SATB1_CHW_DH4_DP01": 23.476541681167916, + "SATB1_CHW_DH4_DP02": 24.203443705793205, + "SATB1_CHW_DH4_DP03": 23.17890718906599, + "SATB1_CHW_DH4_DP04": 24.489999771118164, + "SATB1_CHW_DH5_DP01": 23.677816145980028, + "SATB1_CHW_DH5_DP02": 23.101246264025654, + "SATB1_CHW_DH5_DP03": 23.50170121048436, + "SATB1_CHW_DH5_DP04": 23.880164717330846, + "t_stamp": 1776699668398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1200008392334, + "SATB1_CHW_DH1_DP02": 22.290000915527344, + "SATB1_CHW_DH1_DP03": 22.290000915527344, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.93000030517578, + "SATB1_CHW_DH2_DP03": 21.190000534057617, + "SATB1_CHW_DH2_DP04": 23.18000030517578, + "SATB1_CHW_DH3_DP01": 22.780000686645508, + "SATB1_CHW_DH3_DP02": 23.209999084472656, + "SATB1_CHW_DH3_DP03": 23, + "SATB1_CHW_DH3_DP04": 23.1299991607666, + "SATB1_CHW_DH4_DP01": 23.469999313354492, + "SATB1_CHW_DH4_DP02": 24.209999084472656, + "SATB1_CHW_DH4_DP03": 23.18000030517578, + "SATB1_CHW_DH4_DP04": 24.489999771118164, + "SATB1_CHW_DH5_DP01": 23.68000030517578, + "SATB1_CHW_DH5_DP02": 23.110000610351562, + "SATB1_CHW_DH5_DP03": 23.540000915527344, + "SATB1_CHW_DH5_DP04": 23.889999389648438, + "t_stamp": 1776699698398 + }, + { + "SATB1_CHW_DH1_DP01": 22.004215861786253, + "SATB1_CHW_DH1_DP02": 22.28109326627983, + "SATB1_CHW_DH1_DP03": 22.2454483199631, + "SATB1_CHW_DH1_DP04": 21.20819524344773, + "SATB1_CHW_DH2_DP01": 22.364682716990938, + "SATB1_CHW_DH2_DP02": 22.921092655928266, + "SATB1_CHW_DH2_DP03": 21.24346184025582, + "SATB1_CHW_DH2_DP04": 23.269081765715992, + "SATB1_CHW_DH3_DP01": 23.528484347883804, + "SATB1_CHW_DH3_DP02": 23.192182485005446, + "SATB1_CHW_DH3_DP03": 22.768462552645506, + "SATB1_CHW_DH3_DP04": 23.023120768128198, + "SATB1_CHW_DH4_DP01": 23.50563998374785, + "SATB1_CHW_DH4_DP02": 24.218907233756617, + "SATB1_CHW_DH4_DP03": 23.13546280126706, + "SATB1_CHW_DH4_DP04": 24.481092770364533, + "SATB1_CHW_DH5_DP01": 23.590915511122848, + "SATB1_CHW_DH5_DP02": 23.083281608203112, + "SATB1_CHW_DH5_DP03": 23.361874663086894, + "SATB1_CHW_DH5_DP04": 23.881091407043293, + "t_stamp": 1776699728398 + }, + { + "SATB1_CHW_DH1_DP01": 21.989999771118164, + "SATB1_CHW_DH1_DP02": 22.280000686645508, + "SATB1_CHW_DH1_DP03": 22.239999771118164, + "SATB1_CHW_DH1_DP04": 21.229999542236328, + "SATB1_CHW_DH2_DP01": 22.3799991607666, + "SATB1_CHW_DH2_DP02": 22.920000076293945, + "SATB1_CHW_DH2_DP03": 21.25, + "SATB1_CHW_DH2_DP04": 23.280000686645508, + "SATB1_CHW_DH3_DP01": 23.6200008392334, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.739999771118164, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.219999313354492, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.479999542236328, + "SATB1_CHW_DH5_DP01": 23.579999923706055, + "SATB1_CHW_DH5_DP02": 23.079999923706055, + "SATB1_CHW_DH5_DP03": 23.34000015258789, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776699758398 + }, + { + "SATB1_CHW_DH1_DP01": 22.05234292120835, + "SATB1_CHW_DH1_DP02": 22.24437105879379, + "SATB1_CHW_DH1_DP03": 22.097434573745726, + "SATB1_CHW_DH1_DP04": 21.069622270329795, + "SATB1_CHW_DH2_DP01": 22.121730348562846, + "SATB1_CHW_DH2_DP02": 22.795299776641254, + "SATB1_CHW_DH2_DP03": 21.160896326764426, + "SATB1_CHW_DH2_DP04": 23.199829723083123, + "SATB1_CHW_DH3_DP01": 23.33485865924761, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.76671593732944, + "SATB1_CHW_DH3_DP04": 23.09015769287132, + "SATB1_CHW_DH4_DP01": 23.616919277191162, + "SATB1_CHW_DH4_DP02": 24.14873894433559, + "SATB1_CHW_DH4_DP03": 23.08546465815896, + "SATB1_CHW_DH4_DP04": 24.399840578294302, + "SATB1_CHW_DH5_DP01": 23.73144196763845, + "SATB1_CHW_DH5_DP02": 23.04437732779182, + "SATB1_CHW_DH5_DP03": 23.518121561373572, + "SATB1_CHW_DH5_DP04": 23.897814344442335, + "t_stamp": 1776699788398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059999465942383, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.049999237060547, + "SATB1_CHW_DH2_DP01": 22.09000015258789, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.149999618530273, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.299999237060547, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.770000457763672, + "SATB1_CHW_DH3_DP04": 23.100000381469727, + "SATB1_CHW_DH4_DP01": 23.6299991607666, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.75, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.540000915527344, + "SATB1_CHW_DH5_DP04": 23.899999618530273, + "t_stamp": 1776699818398 + }, + { + "SATB1_CHW_DH1_DP01": 22.042188126777923, + "SATB1_CHW_DH1_DP02": 22.293442295424143, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.25491986459567, + "SATB1_CHW_DH2_DP01": 21.992035442352297, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.060898915318138, + "SATB1_CHW_DH2_DP04": 23.16327597699596, + "SATB1_CHW_DH3_DP01": 23.48711788355122, + "SATB1_CHW_DH3_DP02": 23.207816945682183, + "SATB1_CHW_DH3_DP03": 22.894672247568767, + "SATB1_CHW_DH3_DP04": 23.10890706709761, + "SATB1_CHW_DH4_DP01": 23.487444048559485, + "SATB1_CHW_DH4_DP02": 24.14890724198914, + "SATB1_CHW_DH4_DP03": 23.044372213326103, + "SATB1_CHW_DH4_DP04": 24.318746270047647, + "SATB1_CHW_DH5_DP01": 23.7410914627711, + "SATB1_CHW_DH5_DP02": 23.04890540245424, + "SATB1_CHW_DH5_DP03": 23.56671827365844, + "SATB1_CHW_DH5_DP04": 23.837647517825502, + "t_stamp": 1776699848398 + }, + { + "SATB1_CHW_DH1_DP01": 22.040000915527344, + "SATB1_CHW_DH1_DP02": 22.299999237060547, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.280000686645508, + "SATB1_CHW_DH2_DP01": 21.979999542236328, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.049999237060547, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.510000228881836, + "SATB1_CHW_DH3_DP02": 23.209999084472656, + "SATB1_CHW_DH3_DP03": 22.90999984741211, + "SATB1_CHW_DH3_DP04": 23.110000610351562, + "SATB1_CHW_DH4_DP01": 23.469999313354492, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.040000915527344, + "SATB1_CHW_DH4_DP04": 24.309999465942383, + "SATB1_CHW_DH5_DP01": 23.739999771118164, + "SATB1_CHW_DH5_DP02": 23.049999237060547, + "SATB1_CHW_DH5_DP03": 23.56999969482422, + "SATB1_CHW_DH5_DP04": 23.829999923706055, + "t_stamp": 1776699878398 + }, + { + "SATB1_CHW_DH1_DP01": 22.02219051272151, + "SATB1_CHW_DH1_DP02": 22.166400983392236, + "SATB1_CHW_DH1_DP03": 22.142371857988252, + "SATB1_CHW_DH1_DP04": 21.02162006461272, + "SATB1_CHW_DH2_DP01": 22.06903743979081, + "SATB1_CHW_DH2_DP02": 22.762187133144675, + "SATB1_CHW_DH2_DP03": 21.23711323934002, + "SATB1_CHW_DH2_DP04": 23.14218343963623, + "SATB1_CHW_DH3_DP01": 23.00209457061502, + "SATB1_CHW_DH3_DP02": 23.16545559749603, + "SATB1_CHW_DH3_DP03": 22.79427393216711, + "SATB1_CHW_DH3_DP04": 23.065472286054696, + "SATB1_CHW_DH4_DP01": 23.46108929426142, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.075626323735044, + "SATB1_CHW_DH4_DP04": 24.372340665699173, + "SATB1_CHW_DH5_DP01": 23.775633920033773, + "SATB1_CHW_DH5_DP02": 22.8986299657886, + "SATB1_CHW_DH5_DP03": 23.053545386967784, + "SATB1_CHW_DH5_DP04": 23.79437140097958, + "t_stamp": 1776699908398 + }, + { + "SATB1_CHW_DH1_DP01": 22.020000457763672, + "SATB1_CHW_DH1_DP02": 22.149999618530273, + "SATB1_CHW_DH1_DP03": 22.149999618530273, + "SATB1_CHW_DH1_DP04": 20.989999771118164, + "SATB1_CHW_DH2_DP01": 22.079999923706055, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.260000228881836, + "SATB1_CHW_DH2_DP04": 23.139999389648438, + "SATB1_CHW_DH3_DP01": 22.940000534057617, + "SATB1_CHW_DH3_DP02": 23.15999984741211, + "SATB1_CHW_DH3_DP03": 22.780000686645508, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.3799991607666, + "SATB1_CHW_DH5_DP01": 23.780000686645508, + "SATB1_CHW_DH5_DP02": 22.8799991607666, + "SATB1_CHW_DH5_DP03": 22.989999771118164, + "SATB1_CHW_DH5_DP04": 23.790000915527344, + "t_stamp": 1776699938398 + }, + { + "SATB1_CHW_DH1_DP01": 22.189222092170553, + "SATB1_CHW_DH1_DP02": 22.23016760736471, + "SATB1_CHW_DH1_DP03": 22.203461142667134, + "SATB1_CHW_DH1_DP04": 21.04345729529063, + "SATB1_CHW_DH2_DP01": 22.19577554999494, + "SATB1_CHW_DH2_DP02": 22.78672345815274, + "SATB1_CHW_DH2_DP03": 21.19762829459964, + "SATB1_CHW_DH2_DP04": 23.184541893838276, + "SATB1_CHW_DH3_DP01": 23.038015078104362, + "SATB1_CHW_DH3_DP02": 23.12436480375844, + "SATB1_CHW_DH3_DP03": 22.87795541474772, + "SATB1_CHW_DH3_DP04": 22.962027258463717, + "SATB1_CHW_DH4_DP01": 23.48672919626236, + "SATB1_CHW_DH4_DP02": 24.069827974030385, + "SATB1_CHW_DH4_DP03": 23.151258981660646, + "SATB1_CHW_DH4_DP04": 24.41562746608895, + "SATB1_CHW_DH5_DP01": 23.200948009797102, + "SATB1_CHW_DH5_DP02": 22.93343674291757, + "SATB1_CHW_DH5_DP03": 23.631248784487347, + "SATB1_CHW_DH5_DP04": 23.852356134045003, + "t_stamp": 1776699968398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209999084472656, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.209999084472656, + "SATB1_CHW_DH1_DP04": 21.049999237060547, + "SATB1_CHW_DH2_DP01": 22.209999084472656, + "SATB1_CHW_DH2_DP02": 22.790000915527344, + "SATB1_CHW_DH2_DP03": 21.190000534057617, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.049999237060547, + "SATB1_CHW_DH3_DP02": 23.1200008392334, + "SATB1_CHW_DH3_DP03": 22.889999389648438, + "SATB1_CHW_DH3_DP04": 22.950000762939453, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.059999465942383, + "SATB1_CHW_DH4_DP03": 23.15999984741211, + "SATB1_CHW_DH4_DP04": 24.420000076293945, + "SATB1_CHW_DH5_DP01": 23.1299991607666, + "SATB1_CHW_DH5_DP02": 22.940000534057617, + "SATB1_CHW_DH5_DP03": 23.709999084472656, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776699998398 + }, + { + "SATB1_CHW_DH1_DP01": 21.98735839255338, + "SATB1_CHW_DH1_DP02": 22.23109293970152, + "SATB1_CHW_DH1_DP03": 22.07635110677378, + "SATB1_CHW_DH1_DP04": 21.13018102755857, + "SATB1_CHW_DH2_DP01": 22.094235100439114, + "SATB1_CHW_DH2_DP02": 22.74546675844412, + "SATB1_CHW_DH2_DP03": 21.02071501056271, + "SATB1_CHW_DH2_DP04": 23.198908032078418, + "SATB1_CHW_DH3_DP01": 23.522232737221017, + "SATB1_CHW_DH3_DP02": 23.17344990935229, + "SATB1_CHW_DH3_DP03": 22.92561686235041, + "SATB1_CHW_DH3_DP04": 23.003435053262695, + "SATB1_CHW_DH4_DP01": 23.481090327817817, + "SATB1_CHW_DH4_DP02": 24.122348959142478, + "SATB1_CHW_DH4_DP03": 23.142186221021756, + "SATB1_CHW_DH4_DP04": 24.393281581856474, + "SATB1_CHW_DH5_DP01": 23.72681899374698, + "SATB1_CHW_DH5_DP02": 22.97562082834085, + "SATB1_CHW_DH5_DP03": 23.683284233672, + "SATB1_CHW_DH5_DP04": 23.80655762203923, + "t_stamp": 1776700028398 + }, + { + "SATB1_CHW_DH1_DP01": 21.959999084472656, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.059999465942383, + "SATB1_CHW_DH1_DP04": 21.139999389648438, + "SATB1_CHW_DH2_DP01": 22.079999923706055, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 21, + "SATB1_CHW_DH2_DP04": 23.200000762939453, + "SATB1_CHW_DH3_DP01": 23.579999923706055, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.93000030517578, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.479999542236328, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.799999237060547, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.68000030517578, + "SATB1_CHW_DH5_DP04": 23.799999237060547, + "t_stamp": 1776700058398 + }, + { + "SATB1_CHW_DH1_DP01": 22.182666273431185, + "SATB1_CHW_DH1_DP02": 22.247815325381296, + "SATB1_CHW_DH1_DP03": 22.07782043151713, + "SATB1_CHW_DH1_DP04": 20.952895613310385, + "SATB1_CHW_DH2_DP01": 22.258123988367288, + "SATB1_CHW_DH2_DP02": 22.78453922898058, + "SATB1_CHW_DH2_DP03": 21.25839837559605, + "SATB1_CHW_DH2_DP04": 23.137640854536272, + "SATB1_CHW_DH3_DP01": 22.947348562683516, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.716268887069152, + "SATB1_CHW_DH3_DP04": 23.03672140320868, + "SATB1_CHW_DH4_DP01": 23.497819768417795, + "SATB1_CHW_DH4_DP02": 24.067643157719647, + "SATB1_CHW_DH4_DP03": 23.068737956075164, + "SATB1_CHW_DH4_DP04": 24.407814136203783, + "SATB1_CHW_DH5_DP01": 23.247660415639494, + "SATB1_CHW_DH5_DP02": 22.953281566896095, + "SATB1_CHW_DH5_DP03": 23.724532138873872, + "SATB1_CHW_DH5_DP04": 23.835632136892137, + "t_stamp": 1776700088398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209999084472656, + "SATB1_CHW_DH1_DP02": 22.25, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 20.93000030517578, + "SATB1_CHW_DH2_DP01": 22.280000686645508, + "SATB1_CHW_DH2_DP02": 22.790000915527344, + "SATB1_CHW_DH2_DP03": 21.290000915527344, + "SATB1_CHW_DH2_DP04": 23.1299991607666, + "SATB1_CHW_DH3_DP01": 22.8700008392334, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.690000534057617, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.5, + "SATB1_CHW_DH4_DP02": 24.059999465942383, + "SATB1_CHW_DH4_DP03": 23.059999465942383, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.18000030517578, + "SATB1_CHW_DH5_DP02": 22.950000762939453, + "SATB1_CHW_DH5_DP03": 23.729999542236328, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776700118398 + }, + { + "SATB1_CHW_DH1_DP01": 22.0318782805125, + "SATB1_CHW_DH1_DP02": 22.160927265042123, + "SATB1_CHW_DH1_DP03": 22.19583157872687, + "SATB1_CHW_DH1_DP04": 21.01018760467406, + "SATB1_CHW_DH2_DP01": 22.048451252757975, + "SATB1_CHW_DH2_DP02": 22.727648811812053, + "SATB1_CHW_DH2_DP03": 21.147436394719044, + "SATB1_CHW_DH2_DP04": 23.245802892048307, + "SATB1_CHW_DH3_DP01": 22.82544722871537, + "SATB1_CHW_DH3_DP02": 23.162182454905675, + "SATB1_CHW_DH3_DP03": 22.77014632689445, + "SATB1_CHW_DH3_DP04": 23.013281530547605, + "SATB1_CHW_DH4_DP01": 23.491089944567207, + "SATB1_CHW_DH4_DP02": 24.08672324142887, + "SATB1_CHW_DH4_DP03": 23.077814055828142, + "SATB1_CHW_DH4_DP04": 24.34765502039172, + "SATB1_CHW_DH5_DP01": 23.260174596161058, + "SATB1_CHW_DH5_DP02": 22.976716949371344, + "SATB1_CHW_DH5_DP03": 23.462822486515712, + "SATB1_CHW_DH5_DP04": 23.82218459917461, + "t_stamp": 1776700148398 + }, + { + "SATB1_CHW_DH1_DP01": 22.010000228881836, + "SATB1_CHW_DH1_DP02": 22.149999618530273, + "SATB1_CHW_DH1_DP03": 22.209999084472656, + "SATB1_CHW_DH1_DP04": 21.020000457763672, + "SATB1_CHW_DH2_DP01": 22.020000457763672, + "SATB1_CHW_DH2_DP02": 22.719999313354492, + "SATB1_CHW_DH2_DP03": 21.1299991607666, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 22.81999969482422, + "SATB1_CHW_DH3_DP02": 23.15999984741211, + "SATB1_CHW_DH3_DP03": 22.780000686645508, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.34000015258789, + "SATB1_CHW_DH5_DP01": 23.270000457763672, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.43000030517578, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776700178398 + }, + { + "SATB1_CHW_DH1_DP01": 21.876412795076003, + "SATB1_CHW_DH1_DP02": 22.20344125214236, + "SATB1_CHW_DH1_DP03": 22.120897292359658, + "SATB1_CHW_DH1_DP04": 21.224915552741667, + "SATB1_CHW_DH2_DP01": 22.34059261629603, + "SATB1_CHW_DH2_DP02": 22.782350907103222, + "SATB1_CHW_DH2_DP03": 21.085449007225037, + "SATB1_CHW_DH2_DP04": 23.21546078511861, + "SATB1_CHW_DH3_DP01": 22.83782110271454, + "SATB1_CHW_DH3_DP02": 23.142182700177287, + "SATB1_CHW_DH3_DP03": 22.824523523153374, + "SATB1_CHW_DH3_DP04": 23.018906450957445, + "SATB1_CHW_DH4_DP01": 23.4632701048229, + "SATB1_CHW_DH4_DP02": 24.125629341953392, + "SATB1_CHW_DH4_DP03": 23.115628739166258, + "SATB1_CHW_DH4_DP04": 24.420155952557753, + "SATB1_CHW_DH5_DP01": 23.35017275748651, + "SATB1_CHW_DH5_DP02": 22.97109382016383, + "SATB1_CHW_DH5_DP03": 23.23407741546758, + "SATB1_CHW_DH5_DP04": 23.828907250241457, + "t_stamp": 1776700208398 + }, + { + "SATB1_CHW_DH1_DP01": 21.860000610351562, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.110000610351562, + "SATB1_CHW_DH1_DP04": 21.25, + "SATB1_CHW_DH2_DP01": 22.3799991607666, + "SATB1_CHW_DH2_DP02": 22.790000915527344, + "SATB1_CHW_DH2_DP03": 21.079999923706055, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 22.84000015258789, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.829999923706055, + "SATB1_CHW_DH3_DP04": 23.020000457763672, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.1200008392334, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.360000610351562, + "SATB1_CHW_DH5_DP02": 22.969999313354492, + "SATB1_CHW_DH5_DP03": 23.209999084472656, + "SATB1_CHW_DH5_DP04": 23.829999923706055, + "t_stamp": 1776700238398 + }, + { + "SATB1_CHW_DH1_DP01": 22.127188290274397, + "SATB1_CHW_DH1_DP02": 22.227813789114503, + "SATB1_CHW_DH1_DP03": 22.101090221583362, + "SATB1_CHW_DH1_DP04": 21.21436125701379, + "SATB1_CHW_DH2_DP01": 22.219696572425516, + "SATB1_CHW_DH2_DP02": 22.74546406284968, + "SATB1_CHW_DH2_DP03": 21.12455007724762, + "SATB1_CHW_DH2_DP04": 23.165460688433757, + "SATB1_CHW_DH3_DP01": 23.53501976442337, + "SATB1_CHW_DH3_DP02": 23.13109070394144, + "SATB1_CHW_DH3_DP03": 22.910146066887645, + "SATB1_CHW_DH3_DP04": 22.975467211890564, + "SATB1_CHW_DH4_DP01": 23.504549179938014, + "SATB1_CHW_DH4_DP02": 24.094370044231415, + "SATB1_CHW_DH4_DP03": 23.084371429949705, + "SATB1_CHW_DH4_DP04": 24.394373041762034, + "SATB1_CHW_DH5_DP01": 23.538159590911864, + "SATB1_CHW_DH5_DP02": 23.050152956923817, + "SATB1_CHW_DH5_DP03": 23.36140022247313, + "SATB1_CHW_DH5_DP04": 23.85672298070838, + "t_stamp": 1776700268398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15999984741211, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.100000381469727, + "SATB1_CHW_DH1_DP04": 21.209999084472656, + "SATB1_CHW_DH2_DP01": 22.200000762939453, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 21.1299991607666, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.6200008392334, + "SATB1_CHW_DH3_DP02": 23.1299991607666, + "SATB1_CHW_DH3_DP03": 22.920000076293945, + "SATB1_CHW_DH3_DP04": 22.969999313354492, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.559999465942383, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.3799991607666, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776700298398 + }, + { + "SATB1_CHW_DH1_DP01": 22.124375991158814, + "SATB1_CHW_DH1_DP02": 22.123112712177203, + "SATB1_CHW_DH1_DP03": 22.171281646823882, + "SATB1_CHW_DH1_DP04": 21.254548346571717, + "SATB1_CHW_DH2_DP01": 22.173283096718844, + "SATB1_CHW_DH2_DP02": 22.784537366089076, + "SATB1_CHW_DH2_DP03": 21.156730272579193, + "SATB1_CHW_DH2_DP04": 23.097645285924276, + "SATB1_CHW_DH3_DP01": 23.201213231319343, + "SATB1_CHW_DH3_DP02": 23.147817459480304, + "SATB1_CHW_DH3_DP03": 22.70627984212094, + "SATB1_CHW_DH3_DP04": 23.04125005789088, + "SATB1_CHW_DH4_DP01": 23.44763166745504, + "SATB1_CHW_DH4_DP02": 24.098908004928592, + "SATB1_CHW_DH4_DP03": 22.999835287793477, + "SATB1_CHW_DH4_DP04": 24.407813130696614, + "SATB1_CHW_DH5_DP01": 23.203673866995633, + "SATB1_CHW_DH5_DP02": 22.979846665927607, + "SATB1_CHW_DH5_DP03": 23.3799991607666, + "SATB1_CHW_DH5_DP04": 23.84218520259857, + "t_stamp": 1776700328398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1200008392334, + "SATB1_CHW_DH1_DP02": 22.110000610351562, + "SATB1_CHW_DH1_DP03": 22.18000030517578, + "SATB1_CHW_DH1_DP04": 21.260000228881836, + "SATB1_CHW_DH2_DP01": 22.170000076293945, + "SATB1_CHW_DH2_DP02": 22.790000915527344, + "SATB1_CHW_DH2_DP03": 21.15999984741211, + "SATB1_CHW_DH2_DP04": 23.09000015258789, + "SATB1_CHW_DH3_DP01": 23.149999618530273, + "SATB1_CHW_DH3_DP02": 23.149999618530273, + "SATB1_CHW_DH3_DP03": 22.68000030517578, + "SATB1_CHW_DH3_DP04": 23.049999237060547, + "SATB1_CHW_DH4_DP01": 23.440000534057617, + "SATB1_CHW_DH4_DP02": 24.100000381469727, + "SATB1_CHW_DH4_DP03": 22.989999771118164, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.15999984741211, + "SATB1_CHW_DH5_DP02": 22.969999313354492, + "SATB1_CHW_DH5_DP03": 23.3799991607666, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776700358398 + }, + { + "SATB1_CHW_DH1_DP01": 22.102187207526523, + "SATB1_CHW_DH1_DP02": 22.279241541130993, + "SATB1_CHW_DH1_DP03": 22.09089829861323, + "SATB1_CHW_DH1_DP04": 21.04616843280792, + "SATB1_CHW_DH2_DP01": 22.027502420634185, + "SATB1_CHW_DH2_DP02": 22.65638732948304, + "SATB1_CHW_DH2_DP03": 20.883785156599682, + "SATB1_CHW_DH2_DP04": 23.07218348426403, + "SATB1_CHW_DH3_DP01": 23.20346203370739, + "SATB1_CHW_DH3_DP02": 23.158908822441102, + "SATB1_CHW_DH3_DP03": 23.06293472365574, + "SATB1_CHW_DH3_DP04": 23.04109410178785, + "SATB1_CHW_DH4_DP01": 23.520189170010884, + "SATB1_CHW_DH4_DP02": 24.126723184868187, + "SATB1_CHW_DH4_DP03": 23.123611385057185, + "SATB1_CHW_DH4_DP04": 24.40109267998244, + "SATB1_CHW_DH5_DP01": 23.453979078755903, + "SATB1_CHW_DH5_DP02": 23.014531725833525, + "SATB1_CHW_DH5_DP03": 23.344374929521216, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776700388398 + }, + { + "SATB1_CHW_DH1_DP01": 22.100000381469727, + "SATB1_CHW_DH1_DP02": 22.299999237060547, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.020000457763672, + "SATB1_CHW_DH2_DP01": 22.010000228881836, + "SATB1_CHW_DH2_DP02": 22.639999389648438, + "SATB1_CHW_DH2_DP03": 20.850000381469727, + "SATB1_CHW_DH2_DP04": 23.06999969482422, + "SATB1_CHW_DH3_DP01": 23.209999084472656, + "SATB1_CHW_DH3_DP02": 23.15999984741211, + "SATB1_CHW_DH3_DP03": 23.110000610351562, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.399999618530273, + "SATB1_CHW_DH5_DP01": 23.489999771118164, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.34000015258789, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776700418398 + }, + { + "SATB1_CHW_DH1_DP01": 22.06437289937337, + "SATB1_CHW_DH1_DP02": 22.184202484607695, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 20.984360975392658, + "SATB1_CHW_DH2_DP01": 22.205935284010568, + "SATB1_CHW_DH2_DP02": 22.85377918577194, + "SATB1_CHW_DH2_DP03": 20.948011059157054, + "SATB1_CHW_DH2_DP04": 23.105633177057904, + "SATB1_CHW_DH3_DP01": 22.880311536216738, + "SATB1_CHW_DH3_DP02": 23.195636069118393, + "SATB1_CHW_DH3_DP03": 23.065472091197968, + "SATB1_CHW_DH3_DP04": 23.102348349508013, + "SATB1_CHW_DH4_DP01": 23.51218061211904, + "SATB1_CHW_DH4_DP02": 24.112184452056884, + "SATB1_CHW_DH4_DP03": 23.30924236536026, + "SATB1_CHW_DH4_DP04": 24.515791569900514, + "SATB1_CHW_DH5_DP01": 23.25837856721878, + "SATB1_CHW_DH5_DP02": 23.055624907747905, + "SATB1_CHW_DH5_DP03": 23.393437676938376, + "SATB1_CHW_DH5_DP04": 23.911262751293183, + "t_stamp": 1776700448398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059999465942383, + "SATB1_CHW_DH1_DP02": 22.170000076293945, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 20.979999542236328, + "SATB1_CHW_DH2_DP01": 22.229999542236328, + "SATB1_CHW_DH2_DP02": 22.8799991607666, + "SATB1_CHW_DH2_DP03": 20.959999084472656, + "SATB1_CHW_DH2_DP04": 23.110000610351562, + "SATB1_CHW_DH3_DP01": 22.84000015258789, + "SATB1_CHW_DH3_DP02": 23.200000762939453, + "SATB1_CHW_DH3_DP03": 23.059999465942383, + "SATB1_CHW_DH3_DP04": 23.110000610351562, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.329999923706055, + "SATB1_CHW_DH4_DP04": 24.530000686645508, + "SATB1_CHW_DH5_DP01": 23.229999542236328, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.399999618530273, + "SATB1_CHW_DH5_DP04": 23.920000076293945, + "t_stamp": 1776700478398 + }, + { + "SATB1_CHW_DH1_DP01": 22.21141034371356, + "SATB1_CHW_DH1_DP02": 22.17890778017044, + "SATB1_CHW_DH1_DP03": 21.919619324799328, + "SATB1_CHW_DH1_DP04": 21.04236589756229, + "SATB1_CHW_DH2_DP01": 22.1676566473643, + "SATB1_CHW_DH2_DP02": 22.844370044231415, + "SATB1_CHW_DH2_DP03": 21.05800982812701, + "SATB1_CHW_DH2_DP04": 23.172356465898297, + "SATB1_CHW_DH3_DP01": 23.062758939941435, + "SATB1_CHW_DH3_DP02": 23.191091725699106, + "SATB1_CHW_DH3_DP03": 23.095621687561565, + "SATB1_CHW_DH3_DP04": 23.118907499097986, + "SATB1_CHW_DH4_DP01": 23.581277639615024, + "SATB1_CHW_DH4_DP02": 24.11890866577191, + "SATB1_CHW_DH4_DP03": 23.151852213246244, + "SATB1_CHW_DH4_DP04": 24.423117720523088, + "SATB1_CHW_DH5_DP01": 23.28345087477709, + "SATB1_CHW_DH5_DP02": 23.024375609689088, + "SATB1_CHW_DH5_DP03": 23.604844877497356, + "SATB1_CHW_DH5_DP04": 23.848738665278837, + "t_stamp": 1776700508398 + }, + { + "SATB1_CHW_DH1_DP01": 22.229999542236328, + "SATB1_CHW_DH1_DP02": 22.18000030517578, + "SATB1_CHW_DH1_DP03": 21.899999618530273, + "SATB1_CHW_DH1_DP04": 21.049999237060547, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.84000015258789, + "SATB1_CHW_DH2_DP03": 21.06999969482422, + "SATB1_CHW_DH2_DP04": 23.18000030517578, + "SATB1_CHW_DH3_DP01": 23.09000015258789, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 23.100000381469727, + "SATB1_CHW_DH3_DP04": 23.1200008392334, + "SATB1_CHW_DH4_DP01": 23.59000015258789, + "SATB1_CHW_DH4_DP02": 24.1200008392334, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.290000915527344, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.6299991607666, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776700538398 + }, + { + "SATB1_CHW_DH1_DP01": 22.078621772801835, + "SATB1_CHW_DH1_DP02": 22.224528962000377, + "SATB1_CHW_DH1_DP03": 22.176199936007688, + "SATB1_CHW_DH1_DP04": 21.245999524631618, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.875622738315695, + "SATB1_CHW_DH2_DP03": 21.203642672785794, + "SATB1_CHW_DH2_DP04": 23.233441594620153, + "SATB1_CHW_DH3_DP01": 23.508778227795936, + "SATB1_CHW_DH3_DP02": 23.1632756494103, + "SATB1_CHW_DH3_DP03": 22.752789602837883, + "SATB1_CHW_DH3_DP04": 22.995333361994742, + "SATB1_CHW_DH4_DP01": 23.652364429139283, + "SATB1_CHW_DH4_DP02": 24.164532646515223, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.41890510355545, + "SATB1_CHW_DH5_DP01": 23.68192063485334, + "SATB1_CHW_DH5_DP02": 23.05561593082072, + "SATB1_CHW_DH5_DP03": 23.514244584283688, + "SATB1_CHW_DH5_DP04": 23.875624592107286, + "t_stamp": 1776700568398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059999465942383, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.209999084472656, + "SATB1_CHW_DH1_DP04": 21.270000457763672, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.8799991607666, + "SATB1_CHW_DH2_DP03": 21.219999313354492, + "SATB1_CHW_DH2_DP04": 23.239999771118164, + "SATB1_CHW_DH3_DP01": 23.559999465942383, + "SATB1_CHW_DH3_DP02": 23.15999984741211, + "SATB1_CHW_DH3_DP03": 22.709999084472656, + "SATB1_CHW_DH3_DP04": 22.979999542236328, + "SATB1_CHW_DH4_DP01": 23.65999984741211, + "SATB1_CHW_DH4_DP02": 24.170000076293945, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.420000076293945, + "SATB1_CHW_DH5_DP01": 23.729999542236328, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.5, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776700598398 + }, + { + "SATB1_CHW_DH1_DP01": 22.104459907011634, + "SATB1_CHW_DH1_DP02": 22.23889310996883, + "SATB1_CHW_DH1_DP03": 22.103229953939454, + "SATB1_CHW_DH1_DP04": 21.092065920836994, + "SATB1_CHW_DH2_DP01": 22.106654007086764, + "SATB1_CHW_DH2_DP02": 22.782173308258262, + "SATB1_CHW_DH2_DP03": 21.05984594785382, + "SATB1_CHW_DH2_DP04": 23.222210601566395, + "SATB1_CHW_DH3_DP01": 22.87485428928817, + "SATB1_CHW_DH3_DP02": 23.17779164320381, + "SATB1_CHW_DH3_DP03": 23.118942446734394, + "SATB1_CHW_DH3_DP04": 23.095597156679318, + "SATB1_CHW_DH4_DP01": 23.579926644845855, + "SATB1_CHW_DH4_DP02": 24.187788543280867, + "SATB1_CHW_DH4_DP03": 23.227825081369847, + "SATB1_CHW_DH4_DP04": 24.4822464928901, + "SATB1_CHW_DH5_DP01": 23.16072891026087, + "SATB1_CHW_DH5_DP02": 23.042217984036675, + "SATB1_CHW_DH5_DP03": 23.348843551096337, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776700628398 + }, + { + "SATB1_CHW_DH1_DP01": 22.110000610351562, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.06999969482422, + "SATB1_CHW_DH2_DP01": 22.100000381469727, + "SATB1_CHW_DH2_DP02": 22.770000457763672, + "SATB1_CHW_DH2_DP03": 21.040000915527344, + "SATB1_CHW_DH2_DP04": 23.219999313354492, + "SATB1_CHW_DH3_DP01": 22.790000915527344, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 23.170000076293945, + "SATB1_CHW_DH3_DP04": 23.110000610351562, + "SATB1_CHW_DH4_DP01": 23.56999969482422, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.239999771118164, + "SATB1_CHW_DH4_DP04": 24.489999771118164, + "SATB1_CHW_DH5_DP01": 23.09000015258789, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.329999923706055, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776700658398 + }, + { + "SATB1_CHW_DH1_DP01": 22.26130025279207, + "SATB1_CHW_DH1_DP02": 22.302305677432365, + "SATB1_CHW_DH1_DP03": 22.33931730415, + "SATB1_CHW_DH1_DP04": 21.087807352620874, + "SATB1_CHW_DH2_DP01": 22.18899509801071, + "SATB1_CHW_DH2_DP02": 22.894612270392074, + "SATB1_CHW_DH2_DP03": 21.36945396395976, + "SATB1_CHW_DH2_DP04": 23.27341005516208, + "SATB1_CHW_DH3_DP01": 23.742783648487375, + "SATB1_CHW_DH3_DP02": 23.26902837159218, + "SATB1_CHW_DH3_DP03": 22.8763468371034, + "SATB1_CHW_DH3_DP04": 23.154500640426157, + "SATB1_CHW_DH4_DP01": 23.56999969482422, + "SATB1_CHW_DH4_DP02": 24.181098928919305, + "SATB1_CHW_DH4_DP03": 23.142089721362485, + "SATB1_CHW_DH4_DP04": 24.51670136330157, + "SATB1_CHW_DH5_DP01": 23.615232186990458, + "SATB1_CHW_DH5_DP02": 23.10229800436221, + "SATB1_CHW_DH5_DP03": 23.64148770793222, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776700688398 + }, + { + "SATB1_CHW_DH1_DP01": 22.280000686645508, + "SATB1_CHW_DH1_DP02": 22.309999465942383, + "SATB1_CHW_DH1_DP03": 22.3700008392334, + "SATB1_CHW_DH1_DP04": 21.09000015258789, + "SATB1_CHW_DH2_DP01": 22.200000762939453, + "SATB1_CHW_DH2_DP02": 22.90999984741211, + "SATB1_CHW_DH2_DP03": 21.40999984741211, + "SATB1_CHW_DH2_DP04": 23.280000686645508, + "SATB1_CHW_DH3_DP01": 23.860000610351562, + "SATB1_CHW_DH3_DP02": 23.280000686645508, + "SATB1_CHW_DH3_DP03": 22.84000015258789, + "SATB1_CHW_DH3_DP04": 23.15999984741211, + "SATB1_CHW_DH4_DP01": 23.56999969482422, + "SATB1_CHW_DH4_DP02": 24.18000030517578, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.520000457763672, + "SATB1_CHW_DH5_DP01": 23.68000030517578, + "SATB1_CHW_DH5_DP02": 23.110000610351562, + "SATB1_CHW_DH5_DP03": 23.68000030517578, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776700718398 + }, + { + "SATB1_CHW_DH1_DP01": 22.208789047501384, + "SATB1_CHW_DH1_DP02": 22.31890196644301, + "SATB1_CHW_DH1_DP03": 22.26313809188207, + "SATB1_CHW_DH1_DP04": 21.098904874654167, + "SATB1_CHW_DH2_DP01": 22.164396094570137, + "SATB1_CHW_DH2_DP02": 22.883292345910228, + "SATB1_CHW_DH2_DP03": 21.062704679193153, + "SATB1_CHW_DH2_DP04": 23.199873879908036, + "SATB1_CHW_DH3_DP01": 22.996180420257563, + "SATB1_CHW_DH3_DP02": 23.23548050101598, + "SATB1_CHW_DH3_DP03": 23.16930950078388, + "SATB1_CHW_DH3_DP04": 23.15109801361563, + "SATB1_CHW_DH4_DP01": 23.525476207542418, + "SATB1_CHW_DH4_DP02": 24.153291748747012, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.520000457763672, + "SATB1_CHW_DH5_DP01": 23.439605891039957, + "SATB1_CHW_DH5_DP02": 23.029890304192087, + "SATB1_CHW_DH5_DP03": 23.75121046444244, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776700748398 + }, + { + "SATB1_CHW_DH1_DP01": 22.200000762939453, + "SATB1_CHW_DH1_DP02": 22.31999969482422, + "SATB1_CHW_DH1_DP03": 22.25, + "SATB1_CHW_DH1_DP04": 21.100000381469727, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.8799991607666, + "SATB1_CHW_DH2_DP03": 21.020000457763672, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 22.889999389648438, + "SATB1_CHW_DH3_DP02": 23.229999542236328, + "SATB1_CHW_DH3_DP03": 23.209999084472656, + "SATB1_CHW_DH3_DP04": 23.149999618530273, + "SATB1_CHW_DH4_DP01": 23.520000457763672, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.520000457763672, + "SATB1_CHW_DH5_DP01": 23.40999984741211, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.760000228881836, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776700778398 + }, + { + "SATB1_CHW_DH1_DP01": 22.14660122041296, + "SATB1_CHW_DH1_DP02": 22.328900748406863, + "SATB1_CHW_DH1_DP03": 22.20547929814715, + "SATB1_CHW_DH1_DP04": 21.019866423427676, + "SATB1_CHW_DH2_DP01": 22.38246552323189, + "SATB1_CHW_DH2_DP02": 22.942307574145605, + "SATB1_CHW_DH2_DP03": 21.22479798366463, + "SATB1_CHW_DH2_DP04": 23.216706221791647, + "SATB1_CHW_DH3_DP01": 23.727073296114334, + "SATB1_CHW_DH3_DP02": 23.238902689047553, + "SATB1_CHW_DH3_DP03": 22.854110651611595, + "SATB1_CHW_DH3_DP04": 23.203399353178632, + "SATB1_CHW_DH4_DP01": 23.52890445611266, + "SATB1_CHW_DH4_DP02": 24.18560753946832, + "SATB1_CHW_DH4_DP03": 23.183405482262458, + "SATB1_CHW_DH4_DP04": 24.51110005242452, + "SATB1_CHW_DH5_DP01": 23.596955534911444, + "SATB1_CHW_DH5_DP02": 23.126786810428335, + "SATB1_CHW_DH5_DP03": 23.341735768461987, + "SATB1_CHW_DH5_DP04": 23.924508320194015, + "t_stamp": 1776700808398 + }, + { + "SATB1_CHW_DH1_DP01": 22.139999389648438, + "SATB1_CHW_DH1_DP02": 22.329999923706055, + "SATB1_CHW_DH1_DP03": 22.200000762939453, + "SATB1_CHW_DH1_DP04": 21.010000228881836, + "SATB1_CHW_DH2_DP01": 22.40999984741211, + "SATB1_CHW_DH2_DP02": 22.950000762939453, + "SATB1_CHW_DH2_DP03": 21.25, + "SATB1_CHW_DH2_DP04": 23.219999313354492, + "SATB1_CHW_DH3_DP01": 23.829999923706055, + "SATB1_CHW_DH3_DP02": 23.239999771118164, + "SATB1_CHW_DH3_DP03": 22.809999465942383, + "SATB1_CHW_DH3_DP04": 23.209999084472656, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.190000534057617, + "SATB1_CHW_DH4_DP04": 24.510000228881836, + "SATB1_CHW_DH5_DP01": 23.6200008392334, + "SATB1_CHW_DH5_DP02": 23.139999389648438, + "SATB1_CHW_DH5_DP03": 23.290000915527344, + "SATB1_CHW_DH5_DP04": 23.93000030517578, + "t_stamp": 1776700838398 + }, + { + "SATB1_CHW_DH1_DP01": 22.184506809599377, + "SATB1_CHW_DH1_DP02": 22.196465781980226, + "SATB1_CHW_DH1_DP03": 22.164379718967584, + "SATB1_CHW_DH1_DP04": 21.072330818045923, + "SATB1_CHW_DH2_DP01": 22.32099095544824, + "SATB1_CHW_DH2_DP02": 22.843172211193167, + "SATB1_CHW_DH2_DP03": 21.1787607979999, + "SATB1_CHW_DH2_DP04": 23.273417987437217, + "SATB1_CHW_DH3_DP01": 22.859322431910144, + "SATB1_CHW_DH3_DP02": 23.2578076261097, + "SATB1_CHW_DH3_DP03": 22.9435005769625, + "SATB1_CHW_DH3_DP04": 23.1654924372574, + "SATB1_CHW_DH4_DP01": 23.556713271030574, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.207803544332076, + "SATB1_CHW_DH4_DP04": 24.447689076777063, + "SATB1_CHW_DH5_DP01": 23.36180600794924, + "SATB1_CHW_DH5_DP02": 23.095495609284402, + "SATB1_CHW_DH5_DP03": 23.192088526151302, + "SATB1_CHW_DH5_DP04": 23.894389335606, + "t_stamp": 1776700868398 + }, + { + "SATB1_CHW_DH1_DP01": 22.190000534057617, + "SATB1_CHW_DH1_DP02": 22.18000030517578, + "SATB1_CHW_DH1_DP03": 22.15999984741211, + "SATB1_CHW_DH1_DP04": 21.079999923706055, + "SATB1_CHW_DH2_DP01": 22.309999465942383, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.170000076293945, + "SATB1_CHW_DH2_DP04": 23.280000686645508, + "SATB1_CHW_DH3_DP01": 22.739999771118164, + "SATB1_CHW_DH3_DP02": 23.260000228881836, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 23.15999984741211, + "SATB1_CHW_DH4_DP01": 23.559999465942383, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.209999084472656, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.329999923706055, + "SATB1_CHW_DH5_DP02": 23.09000015258789, + "SATB1_CHW_DH5_DP03": 23.18000030517578, + "SATB1_CHW_DH5_DP04": 23.889999389648438, + "t_stamp": 1776700898398 + }, + { + "SATB1_CHW_DH1_DP01": 22.109905587052474, + "SATB1_CHW_DH1_DP02": 22.313510763480696, + "SATB1_CHW_DH1_DP03": 22.177809401088044, + "SATB1_CHW_DH1_DP04": 21.258072795778283, + "SATB1_CHW_DH2_DP01": 22.292203168588077, + "SATB1_CHW_DH2_DP02": 22.838900847283394, + "SATB1_CHW_DH2_DP03": 21.15219085593675, + "SATB1_CHW_DH2_DP04": 23.199886903093766, + "SATB1_CHW_DH3_DP01": 23.61267839619977, + "SATB1_CHW_DH3_DP02": 23.224388828564923, + "SATB1_CHW_DH3_DP03": 23.04897921296338, + "SATB1_CHW_DH3_DP04": 23.151099905323246, + "SATB1_CHW_DH4_DP01": 23.604520108280415, + "SATB1_CHW_DH4_DP02": 24.163296318521414, + "SATB1_CHW_DH4_DP03": 23.112094153422223, + "SATB1_CHW_DH4_DP04": 24.457799053981926, + "SATB1_CHW_DH5_DP01": 23.64157019446732, + "SATB1_CHW_DH5_DP02": 23.045505380473173, + "SATB1_CHW_DH5_DP03": 23.696157134003936, + "SATB1_CHW_DH5_DP04": 23.94340682088126, + "t_stamp": 1776700928398 + }, + { + "SATB1_CHW_DH1_DP01": 22.100000381469727, + "SATB1_CHW_DH1_DP02": 22.329999923706055, + "SATB1_CHW_DH1_DP03": 22.18000030517578, + "SATB1_CHW_DH1_DP04": 21.280000686645508, + "SATB1_CHW_DH2_DP01": 22.290000915527344, + "SATB1_CHW_DH2_DP02": 22.84000015258789, + "SATB1_CHW_DH2_DP03": 21.149999618530273, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.719999313354492, + "SATB1_CHW_DH3_DP02": 23.219999313354492, + "SATB1_CHW_DH3_DP03": 23.059999465942383, + "SATB1_CHW_DH3_DP04": 23.149999618530273, + "SATB1_CHW_DH4_DP01": 23.610000610351562, + "SATB1_CHW_DH4_DP02": 24.15999984741211, + "SATB1_CHW_DH4_DP03": 23.100000381469727, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.68000030517578, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.760000228881836, + "SATB1_CHW_DH5_DP04": 23.950000762939453, + "t_stamp": 1776700958398 + }, + { + "SATB1_CHW_DH1_DP01": 22.2601936627148, + "SATB1_CHW_DH1_DP02": 22.419008230176733, + "SATB1_CHW_DH1_DP03": 22.16219089756012, + "SATB1_CHW_DH1_DP04": 21.36903581199798, + "SATB1_CHW_DH2_DP01": 22.192111977959126, + "SATB1_CHW_DH2_DP02": 22.902305457809693, + "SATB1_CHW_DH2_DP03": 21.239043291536966, + "SATB1_CHW_DH2_DP04": 23.30572097770945, + "SATB1_CHW_DH3_DP01": 22.9987082889239, + "SATB1_CHW_DH3_DP02": 23.219999313354492, + "SATB1_CHW_DH3_DP03": 23.051101150708526, + "SATB1_CHW_DH3_DP04": 23.194499620330618, + "SATB1_CHW_DH4_DP01": 23.743557770697276, + "SATB1_CHW_DH4_DP02": 24.186704793842598, + "SATB1_CHW_DH4_DP03": 23.19790778913615, + "SATB1_CHW_DH4_DP04": 24.50450066137086, + "SATB1_CHW_DH5_DP01": 23.51976169222629, + "SATB1_CHW_DH5_DP02": 23.12899234057772, + "SATB1_CHW_DH5_DP03": 23.261640092135153, + "SATB1_CHW_DH5_DP04": 24.00340795794342, + "t_stamp": 1776700988398 + }, + { + "SATB1_CHW_DH1_DP01": 22.280000686645508, + "SATB1_CHW_DH1_DP02": 22.43000030517578, + "SATB1_CHW_DH1_DP03": 22.15999984741211, + "SATB1_CHW_DH1_DP04": 21.3799991607666, + "SATB1_CHW_DH2_DP01": 22.18000030517578, + "SATB1_CHW_DH2_DP02": 22.90999984741211, + "SATB1_CHW_DH2_DP03": 21.25, + "SATB1_CHW_DH2_DP04": 23.31999969482422, + "SATB1_CHW_DH3_DP01": 22.90999984741211, + "SATB1_CHW_DH3_DP02": 23.219999313354492, + "SATB1_CHW_DH3_DP03": 23.049999237060547, + "SATB1_CHW_DH3_DP04": 23.200000762939453, + "SATB1_CHW_DH4_DP01": 23.760000228881836, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.209999084472656, + "SATB1_CHW_DH4_DP04": 24.510000228881836, + "SATB1_CHW_DH5_DP01": 23.5, + "SATB1_CHW_DH5_DP02": 23.139999389648438, + "SATB1_CHW_DH5_DP03": 23.200000762939453, + "SATB1_CHW_DH5_DP04": 24.010000228881836, + "t_stamp": 1776701018398 + }, + { + "SATB1_CHW_DH1_DP01": 22.057523851767833, + "SATB1_CHW_DH1_DP02": 22.367696820257155, + "SATB1_CHW_DH1_DP03": 22.142190439796448, + "SATB1_CHW_DH1_DP04": 21.34438537718455, + "SATB1_CHW_DH2_DP01": 22.23339027058688, + "SATB1_CHW_DH2_DP02": 22.9278013281439, + "SATB1_CHW_DH2_DP03": 21.054102013112267, + "SATB1_CHW_DH2_DP04": 23.257690376792127, + "SATB1_CHW_DH3_DP01": 23.853927437302534, + "SATB1_CHW_DH3_DP02": 23.282318367731335, + "SATB1_CHW_DH3_DP03": 23.041103156993614, + "SATB1_CHW_DH3_DP04": 23.14660410051083, + "SATB1_CHW_DH4_DP01": 23.537400685556115, + "SATB1_CHW_DH4_DP02": 24.207801353668582, + "SATB1_CHW_DH4_DP03": 23.201100190059364, + "SATB1_CHW_DH4_DP04": 24.465501343597612, + "SATB1_CHW_DH5_DP01": 23.526705775974477, + "SATB1_CHW_DH5_DP02": 23.148898185105057, + "SATB1_CHW_DH5_DP03": 23.369075602479366, + "SATB1_CHW_DH5_DP04": 23.9743958608255, + "t_stamp": 1776701048398 + }, + { + "SATB1_CHW_DH1_DP01": 22.030000686645508, + "SATB1_CHW_DH1_DP02": 22.360000610351562, + "SATB1_CHW_DH1_DP03": 22.139999389648438, + "SATB1_CHW_DH1_DP04": 21.34000015258789, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.93000030517578, + "SATB1_CHW_DH2_DP03": 21.030000686645508, + "SATB1_CHW_DH2_DP04": 23.25, + "SATB1_CHW_DH3_DP01": 23.969999313354492, + "SATB1_CHW_DH3_DP02": 23.290000915527344, + "SATB1_CHW_DH3_DP03": 23.040000915527344, + "SATB1_CHW_DH3_DP04": 23.139999389648438, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.209999084472656, + "SATB1_CHW_DH4_DP03": 23.200000762939453, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.530000686645508, + "SATB1_CHW_DH5_DP02": 23.149999618530273, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.969999313354492, + "t_stamp": 1776701078398 + }, + { + "SATB1_CHW_DH1_DP01": 22.145692724413596, + "SATB1_CHW_DH1_DP02": 22.226487301799423, + "SATB1_CHW_DH1_DP03": 22.09547682696516, + "SATB1_CHW_DH1_DP04": 21.29548175657715, + "SATB1_CHW_DH2_DP01": 22.213302825270812, + "SATB1_CHW_DH2_DP02": 22.823189997872518, + "SATB1_CHW_DH2_DP03": 21.038905390453337, + "SATB1_CHW_DH2_DP04": 23.365722372422333, + "SATB1_CHW_DH3_DP01": 23.6939447889328, + "SATB1_CHW_DH3_DP02": 23.245485170929843, + "SATB1_CHW_DH3_DP03": 23.173469749556357, + "SATB1_CHW_DH3_DP04": 23.086602195055484, + "SATB1_CHW_DH4_DP01": 23.661368296813965, + "SATB1_CHW_DH4_DP02": 24.22780238209298, + "SATB1_CHW_DH4_DP03": 23.226702011535412, + "SATB1_CHW_DH4_DP04": 24.54899739057184, + "SATB1_CHW_DH5_DP01": 23.71694733478346, + "SATB1_CHW_DH5_DP02": 23.114404721357587, + "SATB1_CHW_DH5_DP03": 23.75486283037093, + "SATB1_CHW_DH5_DP04": 23.943296564744568, + "t_stamp": 1776701108398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15999984741211, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.290000915527344, + "SATB1_CHW_DH2_DP01": 22.209999084472656, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 21.040000915527344, + "SATB1_CHW_DH2_DP04": 23.3799991607666, + "SATB1_CHW_DH3_DP01": 23.65999984741211, + "SATB1_CHW_DH3_DP02": 23.239999771118164, + "SATB1_CHW_DH3_DP03": 23.190000534057617, + "SATB1_CHW_DH3_DP04": 23.079999923706055, + "SATB1_CHW_DH4_DP01": 23.68000030517578, + "SATB1_CHW_DH4_DP02": 24.229999542236328, + "SATB1_CHW_DH4_DP03": 23.229999542236328, + "SATB1_CHW_DH4_DP04": 24.559999465942383, + "SATB1_CHW_DH5_DP01": 23.739999771118164, + "SATB1_CHW_DH5_DP02": 23.110000610351562, + "SATB1_CHW_DH5_DP03": 23.799999237060547, + "SATB1_CHW_DH5_DP04": 23.940000534057617, + "t_stamp": 1776701138398 + }, + { + "SATB1_CHW_DH1_DP01": 22.26679281440509, + "SATB1_CHW_DH1_DP02": 22.26340352666803, + "SATB1_CHW_DH1_DP03": 22.32152554848947, + "SATB1_CHW_DH1_DP04": 21.334519402885437, + "SATB1_CHW_DH2_DP01": 22.432466210020564, + "SATB1_CHW_DH2_DP02": 22.85450316777186, + "SATB1_CHW_DH2_DP03": 21.1824751542261, + "SATB1_CHW_DH2_DP04": 23.273181672167933, + "SATB1_CHW_DH3_DP01": 23.170217363768298, + "SATB1_CHW_DH3_DP02": 23.18658491733235, + "SATB1_CHW_DH3_DP03": 23.136612201908807, + "SATB1_CHW_DH3_DP04": 23.18679489067969, + "SATB1_CHW_DH4_DP01": 23.599862833687, + "SATB1_CHW_DH4_DP02": 24.18549420487813, + "SATB1_CHW_DH4_DP03": 23.256701763334014, + "SATB1_CHW_DH4_DP04": 24.515500978279114, + "SATB1_CHW_DH5_DP01": 23.766706047079087, + "SATB1_CHW_DH5_DP02": 23.056606278165425, + "SATB1_CHW_DH5_DP03": 23.56862625363918, + "SATB1_CHW_DH5_DP04": 23.957801317040957, + "t_stamp": 1776701168398 + }, + { + "SATB1_CHW_DH1_DP01": 22.280000686645508, + "SATB1_CHW_DH1_DP02": 22.270000457763672, + "SATB1_CHW_DH1_DP03": 22.350000381469727, + "SATB1_CHW_DH1_DP04": 21.34000015258789, + "SATB1_CHW_DH2_DP01": 22.459999084472656, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.200000762939453, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 23.110000610351562, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 23.1299991607666, + "SATB1_CHW_DH3_DP04": 23.200000762939453, + "SATB1_CHW_DH4_DP01": 23.59000015258789, + "SATB1_CHW_DH4_DP02": 24.18000030517578, + "SATB1_CHW_DH4_DP03": 23.260000228881836, + "SATB1_CHW_DH4_DP04": 24.510000228881836, + "SATB1_CHW_DH5_DP01": 23.770000457763672, + "SATB1_CHW_DH5_DP02": 23.049999237060547, + "SATB1_CHW_DH5_DP03": 23.540000915527344, + "SATB1_CHW_DH5_DP04": 23.959999084472656, + "t_stamp": 1776701198398 + }, + { + "SATB1_CHW_DH1_DP01": 22.110910059859386, + "SATB1_CHW_DH1_DP02": 22.234396456098505, + "SATB1_CHW_DH1_DP03": 22.082854362392425, + "SATB1_CHW_DH1_DP04": 21.010552081213937, + "SATB1_CHW_DH2_DP01": 22.157440936673286, + "SATB1_CHW_DH2_DP02": 22.842198609518977, + "SATB1_CHW_DH2_DP03": 21.182191021982828, + "SATB1_CHW_DH2_DP04": 23.28670578519194, + "SATB1_CHW_DH3_DP01": 22.976423977808174, + "SATB1_CHW_DH3_DP02": 23.16219400733678, + "SATB1_CHW_DH3_DP03": 22.774074302696736, + "SATB1_CHW_DH3_DP04": 23.057606525497757, + "SATB1_CHW_DH4_DP01": 23.616713263988494, + "SATB1_CHW_DH4_DP02": 24.144394230148382, + "SATB1_CHW_DH4_DP03": 23.108686617189353, + "SATB1_CHW_DH4_DP04": 24.447700628823196, + "SATB1_CHW_DH5_DP01": 23.467327899513865, + "SATB1_CHW_DH5_DP02": 22.996604932499366, + "SATB1_CHW_DH5_DP03": 23.370916622197914, + "SATB1_CHW_DH5_DP04": 23.862087607071793, + "t_stamp": 1776701228398 + }, + { + "SATB1_CHW_DH1_DP01": 22.09000015258789, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.049999237060547, + "SATB1_CHW_DH1_DP04": 20.969999313354492, + "SATB1_CHW_DH2_DP01": 22.1200008392334, + "SATB1_CHW_DH2_DP02": 22.84000015258789, + "SATB1_CHW_DH2_DP03": 21.18000030517578, + "SATB1_CHW_DH2_DP04": 23.290000915527344, + "SATB1_CHW_DH3_DP01": 22.959999084472656, + "SATB1_CHW_DH3_DP02": 23.15999984741211, + "SATB1_CHW_DH3_DP03": 22.729999542236328, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.6200008392334, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.09000015258789, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.43000030517578, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.350000381469727, + "SATB1_CHW_DH5_DP04": 23.850000381469727, + "t_stamp": 1776701258398 + }, + { + "SATB1_CHW_DH1_DP01": 22.17900290897324, + "SATB1_CHW_DH1_DP02": 22.185493087552373, + "SATB1_CHW_DH1_DP03": 22.21028383740449, + "SATB1_CHW_DH1_DP04": 21.076849841450045, + "SATB1_CHW_DH2_DP01": 21.95090843961779, + "SATB1_CHW_DH2_DP02": 22.81329526109007, + "SATB1_CHW_DH2_DP03": 20.957383638509114, + "SATB1_CHW_DH2_DP04": 23.26329352380562, + "SATB1_CHW_DH3_DP01": 23.699115715026856, + "SATB1_CHW_DH3_DP02": 23.09767704168325, + "SATB1_CHW_DH3_DP03": 23.023663446340713, + "SATB1_CHW_DH3_DP04": 23.084502278316894, + "SATB1_CHW_DH4_DP01": 23.52205282996604, + "SATB1_CHW_DH4_DP02": 24.0865883042919, + "SATB1_CHW_DH4_DP03": 23.152308829723204, + "SATB1_CHW_DH4_DP04": 24.413297697706753, + "SATB1_CHW_DH5_DP01": 23.269753021139014, + "SATB1_CHW_DH5_DP02": 23.03450033126031, + "SATB1_CHW_DH5_DP03": 23.688201788095935, + "SATB1_CHW_DH5_DP04": 23.823294489882343, + "t_stamp": 1776701288398 + }, + { + "SATB1_CHW_DH1_DP01": 22.190000534057617, + "SATB1_CHW_DH1_DP02": 22.18000030517578, + "SATB1_CHW_DH1_DP03": 22.229999542236328, + "SATB1_CHW_DH1_DP04": 21.09000015258789, + "SATB1_CHW_DH2_DP01": 21.93000030517578, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 20.93000030517578, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 23.790000915527344, + "SATB1_CHW_DH3_DP02": 23.09000015258789, + "SATB1_CHW_DH3_DP03": 23.059999465942383, + "SATB1_CHW_DH3_DP04": 23.09000015258789, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.079999923706055, + "SATB1_CHW_DH4_DP03": 23.15999984741211, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.25, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.729999542236328, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776701318398 + }, + { + "SATB1_CHW_DH1_DP01": 22.243402058728535, + "SATB1_CHW_DH1_DP02": 22.233407939657152, + "SATB1_CHW_DH1_DP03": 22.11423962287903, + "SATB1_CHW_DH1_DP04": 21.170137788454692, + "SATB1_CHW_DH2_DP01": 22.20588949654897, + "SATB1_CHW_DH2_DP02": 22.899013321943393, + "SATB1_CHW_DH2_DP03": 21.108092619450886, + "SATB1_CHW_DH2_DP04": 23.224390674008124, + "SATB1_CHW_DH3_DP01": 23.335845711708068, + "SATB1_CHW_DH3_DP02": 23.179032341686618, + "SATB1_CHW_DH3_DP03": 22.86422533989032, + "SATB1_CHW_DH3_DP04": 23.00099481306076, + "SATB1_CHW_DH4_DP01": 23.483286617469787, + "SATB1_CHW_DH4_DP02": 24.026589289301384, + "SATB1_CHW_DH4_DP03": 23.14219677327474, + "SATB1_CHW_DH4_DP04": 24.427801624830302, + "SATB1_CHW_DH5_DP01": 23.615003114104187, + "SATB1_CHW_DH5_DP02": 22.995500638674454, + "SATB1_CHW_DH5_DP03": 23.55200019410204, + "SATB1_CHW_DH5_DP04": 23.784393837824616, + "t_stamp": 1776701348398 + }, + { + "SATB1_CHW_DH1_DP01": 22.25, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.100000381469727, + "SATB1_CHW_DH1_DP04": 21.18000030517578, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.90999984741211, + "SATB1_CHW_DH2_DP03": 21.1299991607666, + "SATB1_CHW_DH2_DP04": 23.219999313354492, + "SATB1_CHW_DH3_DP01": 23.280000686645508, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.84000015258789, + "SATB1_CHW_DH3_DP04": 22.989999771118164, + "SATB1_CHW_DH4_DP01": 23.479999542236328, + "SATB1_CHW_DH4_DP02": 24.020000457763672, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.65999984741211, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.530000686645508, + "SATB1_CHW_DH5_DP04": 23.780000686645508, + "t_stamp": 1776701378398 + }, + { + "SATB1_CHW_DH1_DP01": 22.241099611294015, + "SATB1_CHW_DH1_DP02": 22.195494525323433, + "SATB1_CHW_DH1_DP03": 22.126712849266486, + "SATB1_CHW_DH1_DP04": 21.162192157846956, + "SATB1_CHW_DH2_DP01": 22.257799215188506, + "SATB1_CHW_DH2_DP02": 22.847691824192964, + "SATB1_CHW_DH2_DP03": 20.96081735636329, + "SATB1_CHW_DH2_DP04": 23.16658767897539, + "SATB1_CHW_DH3_DP01": 23.71633821053417, + "SATB1_CHW_DH3_DP02": 23.09206842172186, + "SATB1_CHW_DH3_DP03": 22.97348008845874, + "SATB1_CHW_DH3_DP04": 23.02560199261292, + "SATB1_CHW_DH4_DP01": 23.479999542236328, + "SATB1_CHW_DH4_DP02": 24.126819726624145, + "SATB1_CHW_DH4_DP03": 23.273518522565233, + "SATB1_CHW_DH4_DP04": 24.332094060359616, + "SATB1_CHW_DH5_DP01": 23.268295900366432, + "SATB1_CHW_DH5_DP02": 22.98109988241529, + "SATB1_CHW_DH5_DP03": 23.40540160896941, + "SATB1_CHW_DH5_DP04": 23.886817955557113, + "t_stamp": 1776701408398 + }, + { + "SATB1_CHW_DH1_DP01": 22.239999771118164, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.1299991607666, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.260000228881836, + "SATB1_CHW_DH2_DP02": 22.84000015258789, + "SATB1_CHW_DH2_DP03": 20.940000534057617, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.770000457763672, + "SATB1_CHW_DH3_DP02": 23.079999923706055, + "SATB1_CHW_DH3_DP03": 22.989999771118164, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.479999542236328, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.290000915527344, + "SATB1_CHW_DH4_DP04": 24.31999969482422, + "SATB1_CHW_DH5_DP01": 23.219999313354492, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.899999618530273, + "t_stamp": 1776701438398 + }, + { + "SATB1_CHW_DH1_DP01": 22.14209902624085, + "SATB1_CHW_DH1_DP02": 22.16329686792411, + "SATB1_CHW_DH1_DP03": 22.263568019485472, + "SATB1_CHW_DH1_DP04": 21.24903852039973, + "SATB1_CHW_DH2_DP01": 22.32229541903748, + "SATB1_CHW_DH2_DP02": 22.884505306816102, + "SATB1_CHW_DH2_DP03": 21.13589852094535, + "SATB1_CHW_DH2_DP04": 23.24902018699646, + "SATB1_CHW_DH3_DP01": 23.262416769789485, + "SATB1_CHW_DH3_DP02": 23.18683645147036, + "SATB1_CHW_DH3_DP03": 22.9455078582311, + "SATB1_CHW_DH3_DP04": 23.06560054389388, + "SATB1_CHW_DH4_DP01": 23.631367610168457, + "SATB1_CHW_DH4_DP02": 24.122197346687315, + "SATB1_CHW_DH4_DP03": 23.103078648061807, + "SATB1_CHW_DH4_DP04": 24.435705217074812, + "SATB1_CHW_DH5_DP01": 23.611702455457053, + "SATB1_CHW_DH5_DP02": 22.99779898630667, + "SATB1_CHW_DH5_DP03": 23.318801977505647, + "SATB1_CHW_DH5_DP04": 23.90890132226944, + "t_stamp": 1776701468398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1299991607666, + "SATB1_CHW_DH1_DP02": 22.15999984741211, + "SATB1_CHW_DH1_DP03": 22.280000686645508, + "SATB1_CHW_DH1_DP04": 21.260000228881836, + "SATB1_CHW_DH2_DP01": 22.329999923706055, + "SATB1_CHW_DH2_DP02": 22.889999389648438, + "SATB1_CHW_DH2_DP03": 21.15999984741211, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 23.200000762939453, + "SATB1_CHW_DH3_DP02": 23.200000762939453, + "SATB1_CHW_DH3_DP03": 22.940000534057617, + "SATB1_CHW_DH3_DP04": 23.06999969482422, + "SATB1_CHW_DH4_DP01": 23.649999618530273, + "SATB1_CHW_DH4_DP02": 24.1200008392334, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.450000762939453, + "SATB1_CHW_DH5_DP01": 23.65999984741211, + "SATB1_CHW_DH5_DP02": 23, + "SATB1_CHW_DH5_DP03": 23.309999465942383, + "SATB1_CHW_DH5_DP04": 23.90999984741211, + "t_stamp": 1776701498398 + }, + { + "SATB1_CHW_DH1_DP01": 21.89860065460205, + "SATB1_CHW_DH1_DP02": 22.124396136837063, + "SATB1_CHW_DH1_DP03": 22.13752644794675, + "SATB1_CHW_DH1_DP04": 21.197672628478593, + "SATB1_CHW_DH2_DP01": 22.10751659037272, + "SATB1_CHW_DH2_DP02": 22.756482229200998, + "SATB1_CHW_DH2_DP03": 20.990813871860503, + "SATB1_CHW_DH2_DP04": 23.108666160964965, + "SATB1_CHW_DH3_DP01": 22.808180287361147, + "SATB1_CHW_DH3_DP02": 23.191097559165954, + "SATB1_CHW_DH3_DP03": 22.95779624414444, + "SATB1_CHW_DH3_DP04": 22.989898059018454, + "SATB1_CHW_DH4_DP01": 23.552055140968505, + "SATB1_CHW_DH4_DP02": 24.08439335759481, + "SATB1_CHW_DH4_DP03": 23.186814450949825, + "SATB1_CHW_DH4_DP04": 24.423298706767792, + "SATB1_CHW_DH5_DP01": 23.651097310320537, + "SATB1_CHW_DH5_DP02": 22.96440118522644, + "SATB1_CHW_DH5_DP03": 23.39899647210439, + "SATB1_CHW_DH5_DP04": 23.856591322803496, + "t_stamp": 1776701528398 + }, + { + "SATB1_CHW_DH1_DP01": 21.8700008392334, + "SATB1_CHW_DH1_DP02": 22.1200008392334, + "SATB1_CHW_DH1_DP03": 22.1200008392334, + "SATB1_CHW_DH1_DP04": 21.190000534057617, + "SATB1_CHW_DH2_DP01": 22.079999923706055, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 20.969999313354492, + "SATB1_CHW_DH2_DP04": 23.09000015258789, + "SATB1_CHW_DH3_DP01": 22.760000228881836, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 22.979999542236328, + "SATB1_CHW_DH4_DP01": 23.540000915527344, + "SATB1_CHW_DH4_DP02": 24.079999923706055, + "SATB1_CHW_DH4_DP03": 23.200000762939453, + "SATB1_CHW_DH4_DP04": 24.420000076293945, + "SATB1_CHW_DH5_DP01": 23.649999618530273, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.40999984741211, + "SATB1_CHW_DH5_DP04": 23.850000381469727, + "t_stamp": 1776701558398 + }, + { + "SATB1_CHW_DH1_DP01": 22.110279525878894, + "SATB1_CHW_DH1_DP02": 22.226804988140483, + "SATB1_CHW_DH1_DP03": 22.0843831382052, + "SATB1_CHW_DH1_DP04": 21.029736275542028, + "SATB1_CHW_DH2_DP01": 22.24907646054594, + "SATB1_CHW_DH2_DP02": 22.757801028476457, + "SATB1_CHW_DH2_DP03": 21.12137083557303, + "SATB1_CHW_DH2_DP04": 23.22351646137266, + "SATB1_CHW_DH3_DP01": 23.579232989062923, + "SATB1_CHW_DH3_DP02": 23.145486740879782, + "SATB1_CHW_DH3_DP03": 22.87102137412336, + "SATB1_CHW_DH3_DP04": 23.051194874722405, + "SATB1_CHW_DH4_DP01": 23.442059435800793, + "SATB1_CHW_DH4_DP02": 24.08890105235498, + "SATB1_CHW_DH4_DP03": 23.137697400488275, + "SATB1_CHW_DH4_DP04": 24.393300190135623, + "SATB1_CHW_DH5_DP01": 23.160404604058705, + "SATB1_CHW_DH5_DP02": 22.98669641573074, + "SATB1_CHW_DH5_DP03": 23.267614808879483, + "SATB1_CHW_DH5_DP04": 23.796596307200637, + "t_stamp": 1776701588398 + }, + { + "SATB1_CHW_DH1_DP01": 22.139999389648438, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.010000228881836, + "SATB1_CHW_DH2_DP01": 22.270000457763672, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.139999389648438, + "SATB1_CHW_DH2_DP04": 23.239999771118164, + "SATB1_CHW_DH3_DP01": 23.68000030517578, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.860000610351562, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.43000030517578, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.100000381469727, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.25, + "SATB1_CHW_DH5_DP04": 23.790000915527344, + "t_stamp": 1776701618398 + }, + { + "SATB1_CHW_DH1_DP01": 22.00650110426759, + "SATB1_CHW_DH1_DP02": 22.106486209734843, + "SATB1_CHW_DH1_DP03": 22.05328592183872, + "SATB1_CHW_DH1_DP04": 21.286017453957804, + "SATB1_CHW_DH2_DP01": 22.243302066847995, + "SATB1_CHW_DH2_DP02": 22.813405313891757, + "SATB1_CHW_DH2_DP03": 21.015337444384134, + "SATB1_CHW_DH2_DP04": 23.15988262358493, + "SATB1_CHW_DH3_DP01": 22.967614079680462, + "SATB1_CHW_DH3_DP02": 23.12219478991146, + "SATB1_CHW_DH3_DP03": 22.94898351817713, + "SATB1_CHW_DH3_DP04": 23.015499769932966, + "SATB1_CHW_DH4_DP01": 23.563561643594774, + "SATB1_CHW_DH4_DP02": 24.12560497677257, + "SATB1_CHW_DH4_DP03": 23.147801385035923, + "SATB1_CHW_DH4_DP04": 24.487902793067878, + "SATB1_CHW_DH5_DP01": 23.625242620818327, + "SATB1_CHW_DH5_DP02": 22.998899401438315, + "SATB1_CHW_DH5_DP03": 23.321196678551257, + "SATB1_CHW_DH5_DP04": 23.84340889084507, + "t_stamp": 1776701648398 + }, + { + "SATB1_CHW_DH1_DP01": 21.989999771118164, + "SATB1_CHW_DH1_DP02": 22.09000015258789, + "SATB1_CHW_DH1_DP03": 22.049999237060547, + "SATB1_CHW_DH1_DP04": 21.31999969482422, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.81999969482422, + "SATB1_CHW_DH2_DP03": 21, + "SATB1_CHW_DH2_DP04": 23.149999618530273, + "SATB1_CHW_DH3_DP01": 22.8799991607666, + "SATB1_CHW_DH3_DP02": 23.1200008392334, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.579999923706055, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.149999618530273, + "SATB1_CHW_DH4_DP04": 24.5, + "SATB1_CHW_DH5_DP01": 23.690000534057617, + "SATB1_CHW_DH5_DP02": 23, + "SATB1_CHW_DH5_DP03": 23.329999923706055, + "SATB1_CHW_DH5_DP04": 23.850000381469727, + "t_stamp": 1776701678398 + }, + { + "SATB1_CHW_DH1_DP01": 21.972202033369157, + "SATB1_CHW_DH1_DP02": 22.214603225724538, + "SATB1_CHW_DH1_DP03": 22.156853984355926, + "SATB1_CHW_DH1_DP04": 21.061789411258697, + "SATB1_CHW_DH2_DP01": 22.05315506889528, + "SATB1_CHW_DH2_DP02": 22.81999969482422, + "SATB1_CHW_DH2_DP03": 21.008904555398573, + "SATB1_CHW_DH2_DP04": 23.149999618530273, + "SATB1_CHW_DH3_DP01": 22.826571526796574, + "SATB1_CHW_DH3_DP02": 23.1912247713089, + "SATB1_CHW_DH3_DP03": 22.915521347990882, + "SATB1_CHW_DH3_DP04": 23.12568815169246, + "SATB1_CHW_DH4_DP01": 23.535480511696925, + "SATB1_CHW_DH4_DP02": 24.138900716146512, + "SATB1_CHW_DH4_DP03": 23.043197469438734, + "SATB1_CHW_DH4_DP04": 24.357606668585927, + "SATB1_CHW_DH5_DP01": 23.681097830295563, + "SATB1_CHW_DH5_DP02": 22.98220385523976, + "SATB1_CHW_DH5_DP03": 23.383388550308144, + "SATB1_CHW_DH5_DP04": 23.858901788495324, + "t_stamp": 1776701708398 + }, + { + "SATB1_CHW_DH1_DP01": 21.969999313354492, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.170000076293945, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.030000686645508, + "SATB1_CHW_DH2_DP02": 22.81999969482422, + "SATB1_CHW_DH2_DP03": 21.010000228881836, + "SATB1_CHW_DH2_DP04": 23.149999618530273, + "SATB1_CHW_DH3_DP01": 22.81999969482422, + "SATB1_CHW_DH3_DP02": 23.200000762939453, + "SATB1_CHW_DH3_DP03": 22.90999984741211, + "SATB1_CHW_DH3_DP04": 23.139999389648438, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.030000686645508, + "SATB1_CHW_DH4_DP04": 24.34000015258789, + "SATB1_CHW_DH5_DP01": 23.68000030517578, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776701738398 + }, + { + "SATB1_CHW_DH1_DP01": 22.023397765196883, + "SATB1_CHW_DH1_DP02": 22.15879352973838, + "SATB1_CHW_DH1_DP03": 21.99190939693451, + "SATB1_CHW_DH1_DP04": 21.225884408601125, + "SATB1_CHW_DH2_DP01": 21.9232143624728, + "SATB1_CHW_DH2_DP02": 22.766595499943556, + "SATB1_CHW_DH2_DP03": 21.116853058676924, + "SATB1_CHW_DH2_DP04": 23.176705784679335, + "SATB1_CHW_DH3_DP01": 23.104958255027366, + "SATB1_CHW_DH3_DP02": 23.19109770755021, + "SATB1_CHW_DH3_DP03": 22.749840866886608, + "SATB1_CHW_DH3_DP04": 23.07770146973104, + "SATB1_CHW_DH4_DP01": 23.565615803527834, + "SATB1_CHW_DH4_DP02": 24.166704445938763, + "SATB1_CHW_DH4_DP03": 23.15461078409561, + "SATB1_CHW_DH4_DP04": 24.464600916123086, + "SATB1_CHW_DH5_DP01": 23.421831292944432, + "SATB1_CHW_DH5_DP02": 23.015596363031825, + "SATB1_CHW_DH5_DP03": 23.3633029163003, + "SATB1_CHW_DH5_DP04": 23.815493016567316, + "t_stamp": 1776701768398 + }, + { + "SATB1_CHW_DH1_DP01": 22.030000686645508, + "SATB1_CHW_DH1_DP02": 22.149999618530273, + "SATB1_CHW_DH1_DP03": 21.969999313354492, + "SATB1_CHW_DH1_DP04": 21.25, + "SATB1_CHW_DH2_DP01": 21.90999984741211, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.1299991607666, + "SATB1_CHW_DH2_DP04": 23.18000030517578, + "SATB1_CHW_DH3_DP01": 23.139999389648438, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.729999542236328, + "SATB1_CHW_DH3_DP04": 23.06999969482422, + "SATB1_CHW_DH4_DP01": 23.56999969482422, + "SATB1_CHW_DH4_DP02": 24.170000076293945, + "SATB1_CHW_DH4_DP03": 23.170000076293945, + "SATB1_CHW_DH4_DP04": 24.479999542236328, + "SATB1_CHW_DH5_DP01": 23.389999389648438, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.360000610351562, + "SATB1_CHW_DH5_DP04": 23.809999465942383, + "t_stamp": 1776701798398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1011896467011, + "SATB1_CHW_DH1_DP02": 22.221197910821537, + "SATB1_CHW_DH1_DP03": 22.05903278190507, + "SATB1_CHW_DH1_DP04": 21.214388599683087, + "SATB1_CHW_DH2_DP01": 22.372701984562287, + "SATB1_CHW_DH2_DP02": 22.742200231433724, + "SATB1_CHW_DH2_DP03": 21.210129112644903, + "SATB1_CHW_DH2_DP04": 23.19780200577596, + "SATB1_CHW_DH3_DP01": 23.549568837448124, + "SATB1_CHW_DH3_DP02": 23.181098832209877, + "SATB1_CHW_DH3_DP03": 22.71220461782858, + "SATB1_CHW_DH3_DP04": 23.061100696006395, + "SATB1_CHW_DH4_DP01": 23.57890271155171, + "SATB1_CHW_DH4_DP02": 24.08989712086189, + "SATB1_CHW_DH4_DP03": 23.116602671303728, + "SATB1_CHW_DH4_DP04": 24.417705914771062, + "SATB1_CHW_DH5_DP01": 22.980554288113293, + "SATB1_CHW_DH5_DP02": 22.99330501625054, + "SATB1_CHW_DH5_DP03": 23.45788233460488, + "SATB1_CHW_DH5_DP04": 23.82780016665299, + "t_stamp": 1776701828398 + }, + { + "SATB1_CHW_DH1_DP01": 22.110000610351562, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.06999969482422, + "SATB1_CHW_DH1_DP04": 21.209999084472656, + "SATB1_CHW_DH2_DP01": 22.43000030517578, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 21.219999313354492, + "SATB1_CHW_DH2_DP04": 23.200000762939453, + "SATB1_CHW_DH3_DP01": 23.600000381469727, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.709999084472656, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.579999923706055, + "SATB1_CHW_DH4_DP02": 24.079999923706055, + "SATB1_CHW_DH4_DP03": 23.110000610351562, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 22.93000030517578, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.469999313354492, + "SATB1_CHW_DH5_DP04": 23.829999923706055, + "t_stamp": 1776701858398 + }, + { + "SATB1_CHW_DH1_DP01": 22.207899272662438, + "SATB1_CHW_DH1_DP02": 22.158790408613125, + "SATB1_CHW_DH1_DP03": 22.17685447022401, + "SATB1_CHW_DH1_DP04": 21.201096743376556, + "SATB1_CHW_DH2_DP01": 22.32320575933493, + "SATB1_CHW_DH2_DP02": 22.83791296650994, + "SATB1_CHW_DH2_DP03": 21.362468840106516, + "SATB1_CHW_DH2_DP04": 23.208901252435, + "SATB1_CHW_DH3_DP01": 23.733570351157447, + "SATB1_CHW_DH3_DP02": 23.188903474492175, + "SATB1_CHW_DH3_DP03": 22.781188725371997, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.562191511579165, + "SATB1_CHW_DH4_DP02": 24.088901777723706, + "SATB1_CHW_DH4_DP03": 23.127801583805226, + "SATB1_CHW_DH4_DP04": 24.481203646818027, + "SATB1_CHW_DH5_DP01": 23.223776700000283, + "SATB1_CHW_DH5_DP02": 23.034499039310557, + "SATB1_CHW_DH5_DP03": 23.265303938125328, + "SATB1_CHW_DH5_DP04": 23.865606672983603, + "t_stamp": 1776701888398 + }, + { + "SATB1_CHW_DH1_DP01": 22.219999313354492, + "SATB1_CHW_DH1_DP02": 22.149999618530273, + "SATB1_CHW_DH1_DP03": 22.190000534057617, + "SATB1_CHW_DH1_DP04": 21.200000762939453, + "SATB1_CHW_DH2_DP01": 22.309999465942383, + "SATB1_CHW_DH2_DP02": 22.850000381469727, + "SATB1_CHW_DH2_DP03": 21.3799991607666, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 23.75, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.790000915527344, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.559999465942383, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.489999771118164, + "SATB1_CHW_DH5_DP01": 23.260000228881836, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.239999771118164, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776701918398 + }, + { + "SATB1_CHW_DH1_DP01": 22.07759678249359, + "SATB1_CHW_DH1_DP02": 22.29242081604004, + "SATB1_CHW_DH1_DP03": 22.18109581199134, + "SATB1_CHW_DH1_DP04": 21.19109670754399, + "SATB1_CHW_DH2_DP01": 22.221002459780376, + "SATB1_CHW_DH2_DP02": 22.81439423319499, + "SATB1_CHW_DH2_DP03": 21.11286929229051, + "SATB1_CHW_DH2_DP04": 23.22780382531484, + "SATB1_CHW_DH3_DP01": 23.19790878753019, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 23.08366174198301, + "SATB1_CHW_DH3_DP04": 23.113402688217164, + "SATB1_CHW_DH4_DP01": 23.542192720122756, + "SATB1_CHW_DH4_DP02": 24.179018825499217, + "SATB1_CHW_DH4_DP03": 23.210109961410158, + "SATB1_CHW_DH4_DP04": 24.472198030344646, + "SATB1_CHW_DH5_DP01": 23.36682927799225, + "SATB1_CHW_DH5_DP02": 23.084499403190613, + "SATB1_CHW_DH5_DP03": 23.284500789642333, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776701948398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059999465942383, + "SATB1_CHW_DH1_DP02": 22.309999465942383, + "SATB1_CHW_DH1_DP03": 22.18000030517578, + "SATB1_CHW_DH1_DP04": 21.190000534057617, + "SATB1_CHW_DH2_DP01": 22.209999084472656, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 21.079999923706055, + "SATB1_CHW_DH2_DP04": 23.229999542236328, + "SATB1_CHW_DH3_DP01": 23.1299991607666, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 23.1200008392334, + "SATB1_CHW_DH3_DP04": 23.1200008392334, + "SATB1_CHW_DH4_DP01": 23.540000915527344, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.219999313354492, + "SATB1_CHW_DH4_DP04": 24.469999313354492, + "SATB1_CHW_DH5_DP01": 23.3799991607666, + "SATB1_CHW_DH5_DP02": 23.09000015258789, + "SATB1_CHW_DH5_DP03": 23.290000915527344, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776701978398 + }, + { + "SATB1_CHW_DH1_DP01": 22.19347493133489, + "SATB1_CHW_DH1_DP02": 22.220999143098556, + "SATB1_CHW_DH1_DP03": 22.27795034866333, + "SATB1_CHW_DH1_DP04": 21.323553242646376, + "SATB1_CHW_DH2_DP01": 22.14771518424731, + "SATB1_CHW_DH2_DP02": 22.827799870019142, + "SATB1_CHW_DH2_DP03": 21.044383473523457, + "SATB1_CHW_DH2_DP04": 23.336812047668495, + "SATB1_CHW_DH3_DP01": 22.9340938404462, + "SATB1_CHW_DH3_DP02": 23.24341271736779, + "SATB1_CHW_DH3_DP03": 23.048825661747898, + "SATB1_CHW_DH3_DP04": 23.200086260353622, + "SATB1_CHW_DH4_DP01": 23.629038072932143, + "SATB1_CHW_DH4_DP02": 24.181099683757527, + "SATB1_CHW_DH4_DP03": 23.166600798505307, + "SATB1_CHW_DH4_DP04": 24.505595082484884, + "SATB1_CHW_DH5_DP01": 23.415605228339142, + "SATB1_CHW_DH5_DP02": 23.036613195064398, + "SATB1_CHW_DH5_DP03": 23.21881470956663, + "SATB1_CHW_DH5_DP04": 23.994607015095333, + "t_stamp": 1776702008398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209999084472656, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.290000915527344, + "SATB1_CHW_DH1_DP04": 21.34000015258789, + "SATB1_CHW_DH2_DP01": 22.139999389648438, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.040000915527344, + "SATB1_CHW_DH2_DP04": 23.350000381469727, + "SATB1_CHW_DH3_DP01": 22.90999984741211, + "SATB1_CHW_DH3_DP02": 23.25, + "SATB1_CHW_DH3_DP03": 23.040000915527344, + "SATB1_CHW_DH3_DP04": 23.209999084472656, + "SATB1_CHW_DH4_DP01": 23.639999389648438, + "SATB1_CHW_DH4_DP02": 24.18000030517578, + "SATB1_CHW_DH4_DP03": 23.15999984741211, + "SATB1_CHW_DH4_DP04": 24.510000228881836, + "SATB1_CHW_DH5_DP01": 23.420000076293945, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.209999084472656, + "SATB1_CHW_DH5_DP04": 24.010000228881836, + "t_stamp": 1776702038398 + }, + { + "SATB1_CHW_DH1_DP01": 22.165498546556716, + "SATB1_CHW_DH1_DP02": 22.236703646336025, + "SATB1_CHW_DH1_DP03": 22.03176960029602, + "SATB1_CHW_DH1_DP04": 21.135213233927153, + "SATB1_CHW_DH2_DP01": 22.255694835608026, + "SATB1_CHW_DH2_DP02": 22.856704485569423, + "SATB1_CHW_DH2_DP03": 21.280420631763846, + "SATB1_CHW_DH2_DP04": 23.243173610466414, + "SATB1_CHW_DH3_DP01": 23.47990863723755, + "SATB1_CHW_DH3_DP02": 23.19658224334648, + "SATB1_CHW_DH3_DP03": 22.853126429090167, + "SATB1_CHW_DH3_DP04": 23.138795871611883, + "SATB1_CHW_DH4_DP01": 23.56876641648019, + "SATB1_CHW_DH4_DP02": 24.162196227131517, + "SATB1_CHW_DH4_DP03": 23.07098652214047, + "SATB1_CHW_DH4_DP04": 24.46549632628539, + "SATB1_CHW_DH5_DP01": 23.544634561515963, + "SATB1_CHW_DH5_DP02": 23.038900633617896, + "SATB1_CHW_DH5_DP03": 23.361297622016497, + "SATB1_CHW_DH5_DP04": 23.849769922719293, + "t_stamp": 1776702068398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15999984741211, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22, + "SATB1_CHW_DH1_DP04": 21.110000610351562, + "SATB1_CHW_DH2_DP01": 22.270000457763672, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.309999465942383, + "SATB1_CHW_DH2_DP04": 23.229999542236328, + "SATB1_CHW_DH3_DP01": 23.549999237060547, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.829999923706055, + "SATB1_CHW_DH3_DP04": 23.1299991607666, + "SATB1_CHW_DH4_DP01": 23.559999465942383, + "SATB1_CHW_DH4_DP02": 24.15999984741211, + "SATB1_CHW_DH4_DP03": 23.059999465942383, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.559999465942383, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.3799991607666, + "SATB1_CHW_DH5_DP04": 23.829999923706055, + "t_stamp": 1776702098398 + }, + { + "SATB1_CHW_DH1_DP01": 21.999811934178837, + "SATB1_CHW_DH1_DP02": 22.257800805125296, + "SATB1_CHW_DH1_DP03": 22.035618221594298, + "SATB1_CHW_DH1_DP04": 21.101096870017003, + "SATB1_CHW_DH2_DP01": 22.189912500357313, + "SATB1_CHW_DH2_DP02": 22.868901275679775, + "SATB1_CHW_DH2_DP03": 21.21205438568943, + "SATB1_CHW_DH2_DP04": 23.274506293460696, + "SATB1_CHW_DH3_DP01": 23.71918872613847, + "SATB1_CHW_DH3_DP02": 23.234511978846175, + "SATB1_CHW_DH3_DP03": 22.785510793044452, + "SATB1_CHW_DH3_DP04": 23.1122014906832, + "SATB1_CHW_DH4_DP01": 23.54219301689196, + "SATB1_CHW_DH4_DP02": 24.195603915205513, + "SATB1_CHW_DH4_DP03": 23.1757044893887, + "SATB1_CHW_DH4_DP04": 24.477798785293697, + "SATB1_CHW_DH5_DP01": 23.33746247087506, + "SATB1_CHW_DH5_DP02": 23.057797252551794, + "SATB1_CHW_DH5_DP03": 23.11303043562545, + "SATB1_CHW_DH5_DP04": 23.8745032191656, + "t_stamp": 1776702128398 + }, + { + "SATB1_CHW_DH1_DP01": 21.979999542236328, + "SATB1_CHW_DH1_DP02": 22.260000228881836, + "SATB1_CHW_DH1_DP03": 22.040000915527344, + "SATB1_CHW_DH1_DP04": 21.100000381469727, + "SATB1_CHW_DH2_DP01": 22.18000030517578, + "SATB1_CHW_DH2_DP02": 22.8700008392334, + "SATB1_CHW_DH2_DP03": 21.200000762939453, + "SATB1_CHW_DH2_DP04": 23.280000686645508, + "SATB1_CHW_DH3_DP01": 23.739999771118164, + "SATB1_CHW_DH3_DP02": 23.239999771118164, + "SATB1_CHW_DH3_DP03": 22.780000686645508, + "SATB1_CHW_DH3_DP04": 23.110000610351562, + "SATB1_CHW_DH4_DP01": 23.540000915527344, + "SATB1_CHW_DH4_DP02": 24.200000762939453, + "SATB1_CHW_DH4_DP03": 23.190000534057617, + "SATB1_CHW_DH4_DP04": 24.479999542236328, + "SATB1_CHW_DH5_DP01": 23.309999465942383, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.079999923706055, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776702158398 + }, + { + "SATB1_CHW_DH1_DP01": 22.033400214406907, + "SATB1_CHW_DH1_DP02": 22.233296892477856, + "SATB1_CHW_DH1_DP03": 22.146851964441936, + "SATB1_CHW_DH1_DP04": 21.082192677104768, + "SATB1_CHW_DH2_DP01": 22.20669738864145, + "SATB1_CHW_DH2_DP02": 22.816594056506435, + "SATB1_CHW_DH2_DP03": 21.200000762939453, + "SATB1_CHW_DH2_DP04": 23.199884874509348, + "SATB1_CHW_DH3_DP01": 23.68657224667867, + "SATB1_CHW_DH3_DP02": 23.239999771118164, + "SATB1_CHW_DH3_DP03": 22.877883856196593, + "SATB1_CHW_DH3_DP04": 23.047700356916543, + "SATB1_CHW_DH4_DP01": 23.513288804149628, + "SATB1_CHW_DH4_DP02": 24.137689477625027, + "SATB1_CHW_DH4_DP03": 23.145494973384316, + "SATB1_CHW_DH4_DP04": 24.435499012836843, + "SATB1_CHW_DH5_DP01": 23.44353025394913, + "SATB1_CHW_DH5_DP02": 23.033301882447056, + "SATB1_CHW_DH5_DP03": 23.38259065189763, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776702188398 + }, + { + "SATB1_CHW_DH1_DP01": 22.040000915527344, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.15999984741211, + "SATB1_CHW_DH1_DP04": 21.079999923706055, + "SATB1_CHW_DH2_DP01": 22.209999084472656, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 21.200000762939453, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.68000030517578, + "SATB1_CHW_DH3_DP02": 23.239999771118164, + "SATB1_CHW_DH3_DP03": 22.889999389648438, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.459999084472656, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.420000076293945, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776702218398 + }, + { + "SATB1_CHW_DH1_DP01": 22.298100032806396, + "SATB1_CHW_DH1_DP02": 22.23890074596405, + "SATB1_CHW_DH1_DP03": 22.329174197570637, + "SATB1_CHW_DH1_DP04": 21.266968458363937, + "SATB1_CHW_DH2_DP01": 22.17440196714401, + "SATB1_CHW_DH2_DP02": 22.783297552490236, + "SATB1_CHW_DH2_DP03": 21.217807211989875, + "SATB1_CHW_DH2_DP04": 23.234508279772538, + "SATB1_CHW_DH3_DP01": 22.976565994978042, + "SATB1_CHW_DH3_DP02": 23.204390580923434, + "SATB1_CHW_DH3_DP03": 22.93449448293824, + "SATB1_CHW_DH3_DP04": 23.03110054515203, + "SATB1_CHW_DH4_DP01": 23.429869599551587, + "SATB1_CHW_DH4_DP02": 24.04988855794359, + "SATB1_CHW_DH4_DP03": 23.202305079583308, + "SATB1_CHW_DH4_DP04": 24.421099768129984, + "SATB1_CHW_DH5_DP01": 23.602432939359, + "SATB1_CHW_DH5_DP02": 23.056698600260418, + "SATB1_CHW_DH5_DP03": 23.384399928156533, + "SATB1_CHW_DH5_DP04": 23.862198081108488, + "t_stamp": 1776702248398 + }, + { + "SATB1_CHW_DH1_DP01": 22.329999923706055, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.350000381469727, + "SATB1_CHW_DH1_DP04": 21.290000915527344, + "SATB1_CHW_DH2_DP01": 22.170000076293945, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.219999313354492, + "SATB1_CHW_DH2_DP04": 23.239999771118164, + "SATB1_CHW_DH3_DP01": 22.889999389648438, + "SATB1_CHW_DH3_DP02": 23.200000762939453, + "SATB1_CHW_DH3_DP03": 22.940000534057617, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.420000076293945, + "SATB1_CHW_DH4_DP02": 24.040000915527344, + "SATB1_CHW_DH4_DP03": 23.209999084472656, + "SATB1_CHW_DH4_DP04": 24.420000076293945, + "SATB1_CHW_DH5_DP01": 23.6200008392334, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.3799991607666, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776702278398 + }, + { + "SATB1_CHW_DH1_DP01": 22.16979698205058, + "SATB1_CHW_DH1_DP02": 22.222197066950983, + "SATB1_CHW_DH1_DP03": 22.25205440649037, + "SATB1_CHW_DH1_DP04": 21.13864196897002, + "SATB1_CHW_DH2_DP01": 22.25899689906331, + "SATB1_CHW_DH2_DP02": 22.762197982478327, + "SATB1_CHW_DH2_DP03": 21.095344112548005, + "SATB1_CHW_DH2_DP04": 23.204393393898126, + "SATB1_CHW_DH3_DP01": 23.637974458017517, + "SATB1_CHW_DH3_DP02": 23.19109791079653, + "SATB1_CHW_DH3_DP03": 22.984494763367668, + "SATB1_CHW_DH3_DP04": 23.119002478617716, + "SATB1_CHW_DH4_DP01": 23.606975493683347, + "SATB1_CHW_DH4_DP02": 24.21803249790333, + "SATB1_CHW_DH4_DP03": 23.15659277961828, + "SATB1_CHW_DH4_DP04": 24.446702132465607, + "SATB1_CHW_DH5_DP01": 23.62890149340649, + "SATB1_CHW_DH5_DP02": 23.042201126052348, + "SATB1_CHW_DH5_DP03": 23.45119894619602, + "SATB1_CHW_DH5_DP04": 23.931212249495687, + "t_stamp": 1776702308398 + }, + { + "SATB1_CHW_DH1_DP01": 22.149999618530273, + "SATB1_CHW_DH1_DP02": 22.219999313354492, + "SATB1_CHW_DH1_DP03": 22.239999771118164, + "SATB1_CHW_DH1_DP04": 21.1200008392334, + "SATB1_CHW_DH2_DP01": 22.270000457763672, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.079999923706055, + "SATB1_CHW_DH2_DP04": 23.200000762939453, + "SATB1_CHW_DH3_DP01": 23.729999542236328, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.989999771118164, + "SATB1_CHW_DH3_DP04": 23.1299991607666, + "SATB1_CHW_DH4_DP01": 23.6299991607666, + "SATB1_CHW_DH4_DP02": 24.239999771118164, + "SATB1_CHW_DH4_DP03": 23.149999618530273, + "SATB1_CHW_DH4_DP04": 24.450000762939453, + "SATB1_CHW_DH5_DP01": 23.6299991607666, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.459999084472656, + "SATB1_CHW_DH5_DP04": 23.940000534057617, + "t_stamp": 1776702338398 + }, + { + "SATB1_CHW_DH1_DP01": 22.149999618530273, + "SATB1_CHW_DH1_DP02": 22.219999313354492, + "SATB1_CHW_DH1_DP03": 22.239999771118164, + "SATB1_CHW_DH1_DP04": 21.1200008392334, + "SATB1_CHW_DH2_DP01": 22.270000457763672, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.079999923706055, + "SATB1_CHW_DH2_DP04": 23.200000762939453, + "SATB1_CHW_DH3_DP01": 23.729999542236328, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.989999771118164, + "SATB1_CHW_DH3_DP04": 23.1299991607666, + "SATB1_CHW_DH4_DP01": 23.6299991607666, + "SATB1_CHW_DH4_DP02": 24.239999771118164, + "SATB1_CHW_DH4_DP03": 23.149999618530273, + "SATB1_CHW_DH4_DP04": 24.450000762939453, + "SATB1_CHW_DH5_DP01": 23.6299991607666, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.459999084472656, + "SATB1_CHW_DH5_DP04": 23.940000534057617, + "t_stamp": 1776702368398 + } + ], + "tags": [] + }, + "meta": { + "name": "CHW DP Chart" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "enabled": false, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": {}, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\"}\n\tfor i in range(0,5):\n\t\ttags \u003d system.tag.browse(self.custom.paths[i], {\"name\":\"*CHW*DP*\",\"typeId\":\"Objects/Basic/AnalogIn\",\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags:\n\t\t\ttagname \u003d str(item[\"fullPath\"]) + \"/Val\"\n\t\t\tnameparts \u003d tagname.split(\"]\")\n\t\t\tprovider\u003d histProvider[nameparts[0][1:]]\n\t\t\trun_path \u003d \"[{}]{}\".format(provider, nameparts[1])\n\t\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.DPs": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tmaximum \u003d 0\n\tfor item in rawHist:\n\t\tmaximum \u003d 0\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif(item[key] \u003e maximum):\n\t\t\t\tmaximum \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"maxDP\": maximum})\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "color": "#F4F4F4", + "render": "color" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "DPs", + "x": "t_stamp", + "y": "maxDP" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "process temp", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "DP", + "zIndex": 0 + } + ], + "style": { + "marginBottom": -30, + "marginLeft": 0, + "marginTop": 10, + "paddingRight": 10 + }, + "title": { + "text": "CHW DP (Max)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 20, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Process Temp" + }, + "name": "DP", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "custom": { + "path": "value", + "raw": [ + { + "SATB1_CHW_DH1_Tonnage": 505.7060852050781, + "SATB1_CHW_DH2_Tonnage": 490.76177978515625, + "SATB1_CHW_DH3_Tonnage": 41.716636657714844, + "SATB1_CHW_DH4_Tonnage": 30.137920379638672, + "SATB1_CHW_DH5_Tonnage": 21.499755859375, + "t_stamp": 1776695198187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.3125915527344, + "SATB1_CHW_DH2_Tonnage": 474.4725036621094, + "SATB1_CHW_DH3_Tonnage": 39.4509162902832, + "SATB1_CHW_DH4_Tonnage": 30.97508430480957, + "SATB1_CHW_DH5_Tonnage": 19.87540054321289, + "t_stamp": 1776695228187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.2221984863281, + "SATB1_CHW_DH2_Tonnage": 459.17034912109375, + "SATB1_CHW_DH3_Tonnage": 40.69623947143555, + "SATB1_CHW_DH4_Tonnage": 31.54568862915039, + "SATB1_CHW_DH5_Tonnage": 18.517616271972656, + "t_stamp": 1776695258187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.4445495605469, + "SATB1_CHW_DH2_Tonnage": 482.0361328125, + "SATB1_CHW_DH3_Tonnage": 40.179779052734375, + "SATB1_CHW_DH4_Tonnage": 30.56692123413086, + "SATB1_CHW_DH5_Tonnage": 19.767112731933594, + "t_stamp": 1776695288187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.4445495605469, + "SATB1_CHW_DH2_Tonnage": 482.0361328125, + "SATB1_CHW_DH3_Tonnage": 40.179779052734375, + "SATB1_CHW_DH4_Tonnage": 30.56692123413086, + "SATB1_CHW_DH5_Tonnage": 19.767112731933594, + "t_stamp": 1776695318187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.1706237792969, + "SATB1_CHW_DH2_Tonnage": 475.45965576171875, + "SATB1_CHW_DH3_Tonnage": 41.48341369628906, + "SATB1_CHW_DH4_Tonnage": 31.287458419799805, + "SATB1_CHW_DH5_Tonnage": 20.537649154663086, + "t_stamp": 1776695348187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.31341552734375, + "SATB1_CHW_DH2_Tonnage": 494.3853759765625, + "SATB1_CHW_DH3_Tonnage": 40.417198181152344, + "SATB1_CHW_DH4_Tonnage": 29.6214656829834, + "SATB1_CHW_DH5_Tonnage": 21.31645965576172, + "t_stamp": 1776695378187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.30389404296875, + "SATB1_CHW_DH2_Tonnage": 489.32904052734375, + "SATB1_CHW_DH3_Tonnage": 41.291831970214844, + "SATB1_CHW_DH4_Tonnage": 30.9459285736084, + "SATB1_CHW_DH5_Tonnage": 21.166566848754883, + "t_stamp": 1776695408187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.912353515625, + "SATB1_CHW_DH2_Tonnage": 484.7228088378906, + "SATB1_CHW_DH3_Tonnage": 40.79203414916992, + "SATB1_CHW_DH4_Tonnage": 30.5079817506916, + "SATB1_CHW_DH5_Tonnage": 21.932926177978516, + "t_stamp": 1776695438187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.8699340820312, + "SATB1_CHW_DH2_Tonnage": 483.2357177734375, + "SATB1_CHW_DH3_Tonnage": 43.032779693603516, + "SATB1_CHW_DH4_Tonnage": 30.43363380432129, + "SATB1_CHW_DH5_Tonnage": 21.845462799072266, + "t_stamp": 1776695468187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.029052734375, + "SATB1_CHW_DH2_Tonnage": 475.5220947265625, + "SATB1_CHW_DH3_Tonnage": 40.350555419921875, + "SATB1_CHW_DH4_Tonnage": 29.76307487487793, + "SATB1_CHW_DH5_Tonnage": 21.533077239990234, + "t_stamp": 1776695498187 + }, + { + "SATB1_CHW_DH1_Tonnage": 501.416259765625, + "SATB1_CHW_DH2_Tonnage": 476.6633605957031, + "SATB1_CHW_DH3_Tonnage": 42.47051239013672, + "SATB1_CHW_DH4_Tonnage": 30.37949562072754, + "SATB1_CHW_DH5_Tonnage": 20.966644287109375, + "t_stamp": 1776695528187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.4934692382812, + "SATB1_CHW_DH2_Tonnage": 480.32452392578125, + "SATB1_CHW_DH3_Tonnage": 42.970314025878906, + "SATB1_CHW_DH4_Tonnage": 30.05462074279785, + "SATB1_CHW_DH5_Tonnage": 21.6705322265625, + "t_stamp": 1776695558187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.85528564453125, + "SATB1_CHW_DH2_Tonnage": 460.6239013671875, + "SATB1_CHW_DH3_Tonnage": 44.0198974609375, + "SATB1_CHW_DH4_Tonnage": 29.7255859375, + "SATB1_CHW_DH5_Tonnage": 22.10785675048828, + "t_stamp": 1776695588187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.43121337890625, + "SATB1_CHW_DH2_Tonnage": 488.47528076171875, + "SATB1_CHW_DH3_Tonnage": 41.70832061767578, + "SATB1_CHW_DH4_Tonnage": 29.51317024230957, + "SATB1_CHW_DH5_Tonnage": 23.174087524414062, + "t_stamp": 1776695618187 + }, + { + "SATB1_CHW_DH1_Tonnage": 496.0350036621094, + "SATB1_CHW_DH2_Tonnage": 475.48065185546875, + "SATB1_CHW_DH3_Tonnage": 41.54589080810547, + "SATB1_CHW_DH4_Tonnage": 29.32574462890625, + "SATB1_CHW_DH5_Tonnage": 23.349018096923828, + "t_stamp": 1776695648187 + }, + { + "SATB1_CHW_DH1_Tonnage": 498.2840576171875, + "SATB1_CHW_DH2_Tonnage": 472.206787109375, + "SATB1_CHW_DH3_Tonnage": 40.88365173339844, + "SATB1_CHW_DH4_Tonnage": 29.384056091308594, + "SATB1_CHW_DH5_Tonnage": 22.195323944091797, + "t_stamp": 1776695678187 + }, + { + "SATB1_CHW_DH1_Tonnage": 504.1900329589844, + "SATB1_CHW_DH2_Tonnage": 473.7061767578125, + "SATB1_CHW_DH3_Tonnage": 41.75830078125, + "SATB1_CHW_DH4_Tonnage": 30.35033416748047, + "SATB1_CHW_DH5_Tonnage": 20.60428810119629, + "t_stamp": 1776695708187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.28125, + "SATB1_CHW_DH2_Tonnage": 476.9631652832031, + "SATB1_CHW_DH3_Tonnage": 42.632957458496094, + "SATB1_CHW_DH4_Tonnage": 29.904685974121094, + "SATB1_CHW_DH5_Tonnage": 20.68758773803711, + "t_stamp": 1776695738187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.8802185058594, + "SATB1_CHW_DH2_Tonnage": 492.9942626953125, + "SATB1_CHW_DH3_Tonnage": 42.395545959472656, + "SATB1_CHW_DH4_Tonnage": 30.137920379638672, + "SATB1_CHW_DH5_Tonnage": 19.91706085205078, + "t_stamp": 1776695768187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.320068359375, + "SATB1_CHW_DH2_Tonnage": 471.80279541015625, + "SATB1_CHW_DH3_Tonnage": 42.15814208984375, + "SATB1_CHW_DH4_Tonnage": 30.421138763427734, + "SATB1_CHW_DH5_Tonnage": 19.746295928955078, + "t_stamp": 1776695798187 + }, + { + "SATB1_CHW_DH1_Tonnage": 513.7362060546875, + "SATB1_CHW_DH2_Tonnage": 444.53033447265625, + "SATB1_CHW_DH3_Tonnage": 41.74580383300781, + "SATB1_CHW_DH4_Tonnage": 31.853897094726562, + "SATB1_CHW_DH5_Tonnage": 20.312734603881836, + "t_stamp": 1776695828187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.1090698242188, + "SATB1_CHW_DH2_Tonnage": 435.9796142578125, + "SATB1_CHW_DH3_Tonnage": 41.687675979614255, + "SATB1_CHW_DH4_Tonnage": 31.370758056640625, + "SATB1_CHW_DH5_Tonnage": 20.691753387451172, + "t_stamp": 1776695858187 + }, + { + "SATB1_CHW_DH1_Tonnage": 523.9821166992188, + "SATB1_CHW_DH2_Tonnage": 437.79974365234375, + "SATB1_CHW_DH3_Tonnage": 41.783294677734375, + "SATB1_CHW_DH4_Tonnage": 31.287450790405273, + "SATB1_CHW_DH5_Tonnage": 21.75383186340332, + "t_stamp": 1776695888187 + }, + { + "SATB1_CHW_DH1_Tonnage": 513.61962890625, + "SATB1_CHW_DH2_Tonnage": 423.12225341796875, + "SATB1_CHW_DH3_Tonnage": 41.65834045410156, + "SATB1_CHW_DH4_Tonnage": 30.391983032226562, + "SATB1_CHW_DH5_Tonnage": 22.099517822265625, + "t_stamp": 1776695918187 + }, + { + "SATB1_CHW_DH1_Tonnage": 522.7742919921875, + "SATB1_CHW_DH2_Tonnage": 412.9723205566406, + "SATB1_CHW_DH3_Tonnage": 41.433433532714844, + "SATB1_CHW_DH4_Tonnage": 28.80512237548828, + "SATB1_CHW_DH5_Tonnage": 22.632648468017578, + "t_stamp": 1776695948187 + }, + { + "SATB1_CHW_DH1_Tonnage": 520.5418090820312, + "SATB1_CHW_DH2_Tonnage": 402.8388671875, + "SATB1_CHW_DH3_Tonnage": 40.99610900878906, + "SATB1_CHW_DH4_Tonnage": 29.62979507446289, + "SATB1_CHW_DH5_Tonnage": 21.499767303466797, + "t_stamp": 1776695978187 + }, + { + "SATB1_CHW_DH1_Tonnage": 526.1395874023438, + "SATB1_CHW_DH2_Tonnage": 497.59259033203125, + "SATB1_CHW_DH3_Tonnage": 40.950279235839844, + "SATB1_CHW_DH4_Tonnage": 29.42987632751465, + "SATB1_CHW_DH5_Tonnage": 20.083660125732422, + "t_stamp": 1776696008187 + }, + { + "SATB1_CHW_DH1_Tonnage": 531.095947265625, + "SATB1_CHW_DH2_Tonnage": 474.5934753417969, + "SATB1_CHW_DH3_Tonnage": 41.40843200683594, + "SATB1_CHW_DH4_Tonnage": 29.667274475097656, + "SATB1_CHW_DH5_Tonnage": 20.795879364013672, + "t_stamp": 1776696038187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.7271118164062, + "SATB1_CHW_DH2_Tonnage": 461.49017333984375, + "SATB1_CHW_DH3_Tonnage": 41.05857849121094, + "SATB1_CHW_DH4_Tonnage": 30.179569244384766, + "SATB1_CHW_DH5_Tonnage": 21.6705322265625, + "t_stamp": 1776696068187 + }, + { + "SATB1_CHW_DH1_Tonnage": 523.52392578125, + "SATB1_CHW_DH2_Tonnage": 437.83306884765625, + "SATB1_CHW_DH3_Tonnage": 41.62085723876953, + "SATB1_CHW_DH4_Tonnage": 30.933425903320312, + "SATB1_CHW_DH5_Tonnage": 21.40813636779785, + "t_stamp": 1776696098187 + }, + { + "SATB1_CHW_DH1_Tonnage": 501.2620849609375, + "SATB1_CHW_DH2_Tonnage": 490.345458984375, + "SATB1_CHW_DH3_Tonnage": 43.01195526123047, + "SATB1_CHW_DH4_Tonnage": 30.362829208374023, + "SATB1_CHW_DH5_Tonnage": 21.23737144470215, + "t_stamp": 1776696128187 + }, + { + "SATB1_CHW_DH1_Tonnage": 521.9412841796875, + "SATB1_CHW_DH2_Tonnage": 490.91180419921875, + "SATB1_CHW_DH3_Tonnage": 42.545475006103516, + "SATB1_CHW_DH4_Tonnage": 30.412799835205078, + "SATB1_CHW_DH5_Tonnage": 20.887510299682617, + "t_stamp": 1776696158187 + }, + { + "SATB1_CHW_DH1_Tonnage": 532.353759765625, + "SATB1_CHW_DH2_Tonnage": 481.0450744628906, + "SATB1_CHW_DH3_Tonnage": 41.908241271972656, + "SATB1_CHW_DH4_Tonnage": 30.483604431152344, + "SATB1_CHW_DH5_Tonnage": 21.40397071838379, + "t_stamp": 1776696188187 + }, + { + "SATB1_CHW_DH1_Tonnage": 528.0888061523438, + "SATB1_CHW_DH2_Tonnage": 476.80096435546875, + "SATB1_CHW_DH3_Tonnage": 41.783294677734375, + "SATB1_CHW_DH4_Tonnage": 29.904678344726562, + "SATB1_CHW_DH5_Tonnage": 21.928760528564453, + "t_stamp": 1776696218187 + }, + { + "SATB1_CHW_DH1_Tonnage": 522.2661743164062, + "SATB1_CHW_DH2_Tonnage": 476.7799072265625, + "SATB1_CHW_DH3_Tonnage": 43.778316497802734, + "SATB1_CHW_DH4_Tonnage": 30.587730407714844, + "SATB1_CHW_DH5_Tonnage": 22.195323944091797, + "t_stamp": 1776696248187 + }, + { + "SATB1_CHW_DH1_Tonnage": 522.7242431640625, + "SATB1_CHW_DH2_Tonnage": 482.406982421875, + "SATB1_CHW_DH3_Tonnage": 42.78289031982422, + "SATB1_CHW_DH4_Tonnage": 30.516925811767578, + "SATB1_CHW_DH5_Tonnage": 21.154071807861328, + "t_stamp": 1776696278187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.60595703125, + "SATB1_CHW_DH2_Tonnage": 504.5647888183594, + "SATB1_CHW_DH3_Tonnage": 41.68333435058594, + "SATB1_CHW_DH4_Tonnage": 31.216646194458008, + "SATB1_CHW_DH5_Tonnage": 20.966644287109375, + "t_stamp": 1776696308187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.7283935546875, + "SATB1_CHW_DH2_Tonnage": 462.8731384277344, + "SATB1_CHW_DH3_Tonnage": 41.121055603027344, + "SATB1_CHW_DH4_Tonnage": 30.82097625732422, + "SATB1_CHW_DH5_Tonnage": 20.083660125732422, + "t_stamp": 1776696338187 + }, + { + "SATB1_CHW_DH1_Tonnage": 521.3040771484375, + "SATB1_CHW_DH2_Tonnage": 423.763671875, + "SATB1_CHW_DH3_Tonnage": 41.824928283691406, + "SATB1_CHW_DH4_Tonnage": 30.483604431152344, + "SATB1_CHW_DH5_Tonnage": 19.29648208618164, + "t_stamp": 1776696368187 + }, + { + "SATB1_CHW_DH1_Tonnage": 522.4411010742188, + "SATB1_CHW_DH2_Tonnage": 422.9808349609375, + "SATB1_CHW_DH3_Tonnage": 41.88324737548828, + "SATB1_CHW_DH4_Tonnage": 29.096670150756836, + "SATB1_CHW_DH5_Tonnage": 19.850421905517578, + "t_stamp": 1776696398187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.6505126953125, + "SATB1_CHW_DH2_Tonnage": 434.5094909667969, + "SATB1_CHW_DH3_Tonnage": 41.37095260620117, + "SATB1_CHW_DH4_Tonnage": 28.21786117553711, + "SATB1_CHW_DH5_Tonnage": 18.996597290039062, + "t_stamp": 1776696428187 + }, + { + "SATB1_CHW_DH1_Tonnage": 513.765380859375, + "SATB1_CHW_DH2_Tonnage": 401.310302734375, + "SATB1_CHW_DH3_Tonnage": 41.295982360839844, + "SATB1_CHW_DH4_Tonnage": 27.755537033081055, + "SATB1_CHW_DH5_Tonnage": 19.392261505126953, + "t_stamp": 1776696458187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.337158203125, + "SATB1_CHW_DH2_Tonnage": 466.15081787109375, + "SATB1_CHW_DH3_Tonnage": 42.008201599121094, + "SATB1_CHW_DH4_Tonnage": 29.096670150756836, + "SATB1_CHW_DH5_Tonnage": 18.371845245361328, + "t_stamp": 1776696488187 + }, + { + "SATB1_CHW_DH1_Tonnage": 513.6862182617188, + "SATB1_CHW_DH2_Tonnage": 471.0532531738281, + "SATB1_CHW_DH3_Tonnage": 42.483009338378906, + "SATB1_CHW_DH4_Tonnage": 29.821378707885742, + "SATB1_CHW_DH5_Tonnage": 19.23400115966797, + "t_stamp": 1776696518187 + }, + { + "SATB1_CHW_DH1_Tonnage": 513.33642578125, + "SATB1_CHW_DH2_Tonnage": 484.6517639160156, + "SATB1_CHW_DH3_Tonnage": 42.19562530517578, + "SATB1_CHW_DH4_Tonnage": 31.99967384338379, + "SATB1_CHW_DH5_Tonnage": 19.667160034179688, + "t_stamp": 1776696548187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.9520263671875, + "SATB1_CHW_DH2_Tonnage": 467.075439453125, + "SATB1_CHW_DH3_Tonnage": 41.32097244262695, + "SATB1_CHW_DH4_Tonnage": 31.366600036621094, + "SATB1_CHW_DH5_Tonnage": 19.818290052795412, + "t_stamp": 1776696578187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.8837890625, + "SATB1_CHW_DH2_Tonnage": 413.7886657714844, + "SATB1_CHW_DH3_Tonnage": 40.546287536621094, + "SATB1_CHW_DH4_Tonnage": 31.870553970336914, + "SATB1_CHW_DH5_Tonnage": 19.754627227783203, + "t_stamp": 1776696608187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.0340576171875, + "SATB1_CHW_DH2_Tonnage": 413.79681396484375, + "SATB1_CHW_DH3_Tonnage": 40.246402740478516, + "SATB1_CHW_DH4_Tonnage": 30.562747955322266, + "SATB1_CHW_DH5_Tonnage": 20.283584594726562, + "t_stamp": 1776696638187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.8170166015625, + "SATB1_CHW_DH2_Tonnage": 404.9671630859375, + "SATB1_CHW_DH3_Tonnage": 40.34636306762695, + "SATB1_CHW_DH4_Tonnage": 29.821395874023438, + "SATB1_CHW_DH5_Tonnage": 19.258991241455078, + "t_stamp": 1776696668187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.7941284179688, + "SATB1_CHW_DH2_Tonnage": 408.0699462890625, + "SATB1_CHW_DH3_Tonnage": 40.671234130859375, + "SATB1_CHW_DH4_Tonnage": 29.767234802246094, + "SATB1_CHW_DH5_Tonnage": 20.296079635620117, + "t_stamp": 1776696698187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.88824462890625, + "SATB1_CHW_DH2_Tonnage": 419.56134033203125, + "SATB1_CHW_DH3_Tonnage": 40.85865783691406, + "SATB1_CHW_DH4_Tonnage": 29.354915618896484, + "SATB1_CHW_DH5_Tonnage": 19.496395111083984, + "t_stamp": 1776696728187 + }, + { + "SATB1_CHW_DH1_Tonnage": 498.21746826171875, + "SATB1_CHW_DH2_Tonnage": 415.75872802734375, + "SATB1_CHW_DH3_Tonnage": 40.95165842628479, + "SATB1_CHW_DH4_Tonnage": 29.60064125061035, + "SATB1_CHW_DH5_Tonnage": 20.358552932739258, + "t_stamp": 1776696758187 + }, + { + "SATB1_CHW_DH1_Tonnage": 525.9647216796875, + "SATB1_CHW_DH2_Tonnage": 473.81463623046875, + "SATB1_CHW_DH3_Tonnage": 39.121856689453125, + "SATB1_CHW_DH4_Tonnage": 30.450294494628906, + "SATB1_CHW_DH5_Tonnage": 20.516822814941406, + "t_stamp": 1776696788187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.4645080566406, + "SATB1_CHW_DH2_Tonnage": 462.6649169921875, + "SATB1_CHW_DH3_Tonnage": 41.45841979980469, + "SATB1_CHW_DH4_Tonnage": 29.942171096801758, + "SATB1_CHW_DH5_Tonnage": 21.73300552368164, + "t_stamp": 1776696818187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.9302062988281, + "SATB1_CHW_DH2_Tonnage": 462.8148193359375, + "SATB1_CHW_DH3_Tonnage": 41.158546447753906, + "SATB1_CHW_DH4_Tonnage": 30.50860595703125, + "SATB1_CHW_DH5_Tonnage": 20.433521270751953, + "t_stamp": 1776696848187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.3308410644531, + "SATB1_CHW_DH2_Tonnage": 498.475341796875, + "SATB1_CHW_DH3_Tonnage": 41.345970153808594, + "SATB1_CHW_DH4_Tonnage": 30.50860595703125, + "SATB1_CHW_DH5_Tonnage": 20.091991424560547, + "t_stamp": 1776696878187 + }, + { + "SATB1_CHW_DH1_Tonnage": 499.87933349609375, + "SATB1_CHW_DH2_Tonnage": 450.6280517578125, + "SATB1_CHW_DH3_Tonnage": 40.833675384521484, + "SATB1_CHW_DH4_Tonnage": 31.69563865661621, + "SATB1_CHW_DH5_Tonnage": 17.692941665649414, + "t_stamp": 1776696908187 + }, + { + "SATB1_CHW_DH1_Tonnage": 502.828125, + "SATB1_CHW_DH2_Tonnage": 434.03887939453125, + "SATB1_CHW_DH3_Tonnage": 42.10816192626953, + "SATB1_CHW_DH4_Tonnage": 31.887218475341797, + "SATB1_CHW_DH5_Tonnage": 19.937889099121094, + "t_stamp": 1776696938187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.06890869140625, + "SATB1_CHW_DH2_Tonnage": 406.25396728515625, + "SATB1_CHW_DH3_Tonnage": 40.621253967285156, + "SATB1_CHW_DH4_Tonnage": 30.962589263916016, + "SATB1_CHW_DH5_Tonnage": 19.554683685302734, + "t_stamp": 1776696968187 + }, + { + "SATB1_CHW_DH1_Tonnage": 500.9871826171875, + "SATB1_CHW_DH2_Tonnage": 398.77801513671875, + "SATB1_CHW_DH3_Tonnage": 40.28388977050781, + "SATB1_CHW_DH4_Tonnage": 30.479450225830078, + "SATB1_CHW_DH5_Tonnage": 20.4876708984375, + "t_stamp": 1776696998187 + }, + { + "SATB1_CHW_DH1_Tonnage": 501.3494873046875, + "SATB1_CHW_DH2_Tonnage": 396.80780029296875, + "SATB1_CHW_DH3_Tonnage": 41.00860595703125, + "SATB1_CHW_DH4_Tonnage": 29.9338436126709, + "SATB1_CHW_DH5_Tonnage": 19.679656982421875, + "t_stamp": 1776697028187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.36456298828125, + "SATB1_CHW_DH2_Tonnage": 402.7680358886719, + "SATB1_CHW_DH3_Tonnage": 41.14604949951172, + "SATB1_CHW_DH4_Tonnage": 30.391983032226562, + "SATB1_CHW_DH5_Tonnage": 19.962841033935547, + "t_stamp": 1776697058187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.3193359375, + "SATB1_CHW_DH2_Tonnage": 434.62615966796875, + "SATB1_CHW_DH3_Tonnage": 40.69622039794922, + "SATB1_CHW_DH4_Tonnage": 28.85927391052246, + "SATB1_CHW_DH5_Tonnage": 23.765518188476562, + "t_stamp": 1776697088187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.4549865722656, + "SATB1_CHW_DH2_Tonnage": 484.4145202636719, + "SATB1_CHW_DH3_Tonnage": 40.42133331298828, + "SATB1_CHW_DH4_Tonnage": 29.509004592895508, + "SATB1_CHW_DH5_Tonnage": 24.336135864257812, + "t_stamp": 1776697118187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.821533203125, + "SATB1_CHW_DH2_Tonnage": 512.6031494140625, + "SATB1_CHW_DH3_Tonnage": 40.05897903442383, + "SATB1_CHW_DH4_Tonnage": 29.7255859375, + "SATB1_CHW_DH5_Tonnage": 23.224071502685547, + "t_stamp": 1776697148187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.3221130371094, + "SATB1_CHW_DH2_Tonnage": 479.2664489746094, + "SATB1_CHW_DH3_Tonnage": 40.496307373046875, + "SATB1_CHW_DH4_Tonnage": 29.566723329544068, + "SATB1_CHW_DH5_Tonnage": 21.741300582885742, + "t_stamp": 1776697178187 + }, + { + "SATB1_CHW_DH1_Tonnage": 524.3736572265625, + "SATB1_CHW_DH2_Tonnage": 470.911376953125, + "SATB1_CHW_DH3_Tonnage": 40.65874481201172, + "SATB1_CHW_DH4_Tonnage": 29.875530242919922, + "SATB1_CHW_DH5_Tonnage": 21.19987678527832, + "t_stamp": 1776697208187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.876708984375, + "SATB1_CHW_DH2_Tonnage": 474.9681396484375, + "SATB1_CHW_DH3_Tonnage": 40.37135696411133, + "SATB1_CHW_DH4_Tonnage": 30.416980743408203, + "SATB1_CHW_DH5_Tonnage": 20.966636657714844, + "t_stamp": 1776697238187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.6937866210938, + "SATB1_CHW_DH2_Tonnage": 464.23077392578125, + "SATB1_CHW_DH3_Tonnage": 41.08357238769531, + "SATB1_CHW_DH4_Tonnage": 31.09170913696289, + "SATB1_CHW_DH5_Tonnage": 21.166555404663086, + "t_stamp": 1776697268187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.9789733886719, + "SATB1_CHW_DH2_Tonnage": 486.50518798828125, + "SATB1_CHW_DH3_Tonnage": 41.79578399658203, + "SATB1_CHW_DH4_Tonnage": 30.237884521484375, + "SATB1_CHW_DH5_Tonnage": 21.166555404663086, + "t_stamp": 1776697298187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.1475830078125, + "SATB1_CHW_DH2_Tonnage": 490.1705627441406, + "SATB1_CHW_DH3_Tonnage": 41.72081756591797, + "SATB1_CHW_DH4_Tonnage": 30.662708282470703, + "SATB1_CHW_DH5_Tonnage": 19.06739044189453, + "t_stamp": 1776697328187 + }, + { + "SATB1_CHW_DH1_Tonnage": 498.93377685546875, + "SATB1_CHW_DH2_Tonnage": 423.3721923828125, + "SATB1_CHW_DH3_Tonnage": 40.84616470336914, + "SATB1_CHW_DH4_Tonnage": 29.96715545654297, + "SATB1_CHW_DH5_Tonnage": 18.038604736328125, + "t_stamp": 1776697358187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.63189697265625, + "SATB1_CHW_DH2_Tonnage": 457.1419677734375, + "SATB1_CHW_DH3_Tonnage": 39.567535400390625, + "SATB1_CHW_DH4_Tonnage": 30.1087646484375, + "SATB1_CHW_DH5_Tonnage": 18.588422775268555, + "t_stamp": 1776697388187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.7469482421875, + "SATB1_CHW_DH2_Tonnage": 476.2425842285156, + "SATB1_CHW_DH3_Tonnage": 40.150634765625, + "SATB1_CHW_DH4_Tonnage": 29.554821014404297, + "SATB1_CHW_DH5_Tonnage": 20.86667251586914, + "t_stamp": 1776697418187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.1852416992188, + "SATB1_CHW_DH2_Tonnage": 473.9352111816406, + "SATB1_CHW_DH3_Tonnage": 40.96697235107422, + "SATB1_CHW_DH4_Tonnage": 30.795978546142578, + "SATB1_CHW_DH5_Tonnage": 21.674697875976562, + "t_stamp": 1776697448187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.8477783203125, + "SATB1_CHW_DH2_Tonnage": 491.90301513671875, + "SATB1_CHW_DH3_Tonnage": 41.083595275878906, + "SATB1_CHW_DH4_Tonnage": 30.30452537536621, + "SATB1_CHW_DH5_Tonnage": 20.812541961669922, + "t_stamp": 1776697478187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.9827880859375, + "SATB1_CHW_DH2_Tonnage": 498.9293518066406, + "SATB1_CHW_DH3_Tonnage": 39.88407897949219, + "SATB1_CHW_DH4_Tonnage": 31.670635223388672, + "SATB1_CHW_DH5_Tonnage": 21.216537475585938, + "t_stamp": 1776697508187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.1722106933594, + "SATB1_CHW_DH2_Tonnage": 478.550048828125, + "SATB1_CHW_DH3_Tonnage": 39.934059143066406, + "SATB1_CHW_DH4_Tonnage": 30.11292266845703, + "SATB1_CHW_DH5_Tonnage": 21.291507720947266, + "t_stamp": 1776697538187 + }, + { + "SATB1_CHW_DH1_Tonnage": 504.5108337402344, + "SATB1_CHW_DH2_Tonnage": 488.4627380371094, + "SATB1_CHW_DH3_Tonnage": 39.26765441894531, + "SATB1_CHW_DH4_Tonnage": 31.295785903930664, + "SATB1_CHW_DH5_Tonnage": 19.533870697021484, + "t_stamp": 1776697568187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.7682189941406, + "SATB1_CHW_DH2_Tonnage": 484.58929443359375, + "SATB1_CHW_DH3_Tonnage": 39.550872802734375, + "SATB1_CHW_DH4_Tonnage": 31.458213806152344, + "SATB1_CHW_DH5_Tonnage": 18.692546844482422, + "t_stamp": 1776697598187 + }, + { + "SATB1_CHW_DH1_Tonnage": 522.457763671875, + "SATB1_CHW_DH2_Tonnage": 492.336181640625, + "SATB1_CHW_DH3_Tonnage": 40.333892822265625, + "SATB1_CHW_DH4_Tonnage": 31.324934005737305, + "SATB1_CHW_DH5_Tonnage": 19.488065719604492, + "t_stamp": 1776697628187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.1123046875, + "SATB1_CHW_DH2_Tonnage": 496.5802917480469, + "SATB1_CHW_DH3_Tonnage": 39.96737289428711, + "SATB1_CHW_DH4_Tonnage": 31.131214606904983, + "SATB1_CHW_DH5_Tonnage": 20.67508316040039, + "t_stamp": 1776697658187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.1297607421875, + "SATB1_CHW_DH2_Tonnage": 462.10662841796875, + "SATB1_CHW_DH3_Tonnage": 40.08399200439453, + "SATB1_CHW_DH4_Tonnage": 31.045879364013672, + "SATB1_CHW_DH5_Tonnage": 19.43805694580078, + "t_stamp": 1776697688187 + }, + { + "SATB1_CHW_DH1_Tonnage": 517.293212890625, + "SATB1_CHW_DH2_Tonnage": 488.4002685546875, + "SATB1_CHW_DH3_Tonnage": 39.28431701660156, + "SATB1_CHW_DH4_Tonnage": 30.296186447143555, + "SATB1_CHW_DH5_Tonnage": 20.350223541259766, + "t_stamp": 1776697718187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.89276123046875, + "SATB1_CHW_DH2_Tonnage": 441.0275573730469, + "SATB1_CHW_DH3_Tonnage": 38.73453140258789, + "SATB1_CHW_DH4_Tonnage": 30.754337310791016, + "SATB1_CHW_DH5_Tonnage": 20.108654022216797, + "t_stamp": 1776697748187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.71044921875, + "SATB1_CHW_DH2_Tonnage": 460.315673828125, + "SATB1_CHW_DH3_Tonnage": 38.28471374511719, + "SATB1_CHW_DH4_Tonnage": 35.92726135253906, + "SATB1_CHW_DH5_Tonnage": 20.358543395996094, + "t_stamp": 1776697778187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.5958557128906, + "SATB1_CHW_DH2_Tonnage": 471.1280517578125, + "SATB1_CHW_DH3_Tonnage": 39.767452239990234, + "SATB1_CHW_DH4_Tonnage": 30.533594131469727, + "SATB1_CHW_DH5_Tonnage": 20.516822814941406, + "t_stamp": 1776697808187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.45263671875, + "SATB1_CHW_DH2_Tonnage": 481.8988037109375, + "SATB1_CHW_DH3_Tonnage": 39.85075378417969, + "SATB1_CHW_DH4_Tonnage": 28.996707916259766, + "SATB1_CHW_DH5_Tonnage": 22.132835388183594, + "t_stamp": 1776697838187 + }, + { + "SATB1_CHW_DH1_Tonnage": 501.7577209472656, + "SATB1_CHW_DH2_Tonnage": 439.37408447265625, + "SATB1_CHW_DH3_Tonnage": 39.66749572753906, + "SATB1_CHW_DH4_Tonnage": 29.600627899169922, + "SATB1_CHW_DH5_Tonnage": 21.27482795715332, + "t_stamp": 1776697868187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.5633544921875, + "SATB1_CHW_DH2_Tonnage": 495.409912109375, + "SATB1_CHW_DH3_Tonnage": 39.134376525878906, + "SATB1_CHW_DH4_Tonnage": 29.950485229492188, + "SATB1_CHW_DH5_Tonnage": 20.52098846435547, + "t_stamp": 1776697898187 + }, + { + "SATB1_CHW_DH1_Tonnage": 524.6318359375, + "SATB1_CHW_DH2_Tonnage": 454.9095764160156, + "SATB1_CHW_DH3_Tonnage": 40.350555419921875, + "SATB1_CHW_DH4_Tonnage": 30.55441665649414, + "SATB1_CHW_DH5_Tonnage": 20.775043487548828, + "t_stamp": 1776697928187 + }, + { + "SATB1_CHW_DH1_Tonnage": 521.84130859375, + "SATB1_CHW_DH2_Tonnage": 502.75701904296875, + "SATB1_CHW_DH3_Tonnage": 40.83369827270508, + "SATB1_CHW_DH4_Tonnage": 29.904685974121094, + "SATB1_CHW_DH5_Tonnage": 20.758384704589844, + "t_stamp": 1776697958187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.8441162109375, + "SATB1_CHW_DH2_Tonnage": 489.2333068847656, + "SATB1_CHW_DH3_Tonnage": 38.71787643432617, + "SATB1_CHW_DH4_Tonnage": 30.20455551147461, + "SATB1_CHW_DH5_Tonnage": 22.32442855834961, + "t_stamp": 1776697988187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.93023681640625, + "SATB1_CHW_DH2_Tonnage": 482.6734619140625, + "SATB1_CHW_DH3_Tonnage": 39.750797271728516, + "SATB1_CHW_DH4_Tonnage": 29.896350860595703, + "SATB1_CHW_DH5_Tonnage": 21.49142837524414, + "t_stamp": 1776698018187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.1756286621094, + "SATB1_CHW_DH2_Tonnage": 457.9042053222656, + "SATB1_CHW_DH3_Tonnage": 39.83409881591797, + "SATB1_CHW_DH4_Tonnage": 29.384056091308594, + "SATB1_CHW_DH5_Tonnage": 22.574329376220703, + "t_stamp": 1776698048187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.6736145019531, + "SATB1_CHW_DH2_Tonnage": 469.1080322265625, + "SATB1_CHW_DH3_Tonnage": 39.28431701660156, + "SATB1_CHW_DH4_Tonnage": 29.896350860595703, + "SATB1_CHW_DH5_Tonnage": 21.441444396972656, + "t_stamp": 1776698078187 + }, + { + "SATB1_CHW_DH1_Tonnage": 502.4116516113281, + "SATB1_CHW_DH2_Tonnage": 502.10308837890625, + "SATB1_CHW_DH3_Tonnage": 39.90073776245117, + "SATB1_CHW_DH4_Tonnage": 29.59646987915039, + "SATB1_CHW_DH5_Tonnage": 20.779218673706055, + "t_stamp": 1776698108187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.6351318359375, + "SATB1_CHW_DH2_Tonnage": 497.80487060546875, + "SATB1_CHW_DH3_Tonnage": 40.08399963378906, + "SATB1_CHW_DH4_Tonnage": 30.008804321289062, + "SATB1_CHW_DH5_Tonnage": 20.258583068847656, + "t_stamp": 1776698138187 + }, + { + "SATB1_CHW_DH1_Tonnage": 500.69989013671875, + "SATB1_CHW_DH2_Tonnage": 431.95623779296875, + "SATB1_CHW_DH3_Tonnage": 40.700416564941406, + "SATB1_CHW_DH4_Tonnage": 29.59646987915039, + "SATB1_CHW_DH5_Tonnage": 19.64633560180664, + "t_stamp": 1776698168187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.4121398925781, + "SATB1_CHW_DH2_Tonnage": 426.18359375, + "SATB1_CHW_DH3_Tonnage": 40.150634765625, + "SATB1_CHW_DH4_Tonnage": 29.11750030517578, + "SATB1_CHW_DH5_Tonnage": 20.516822814941406, + "t_stamp": 1776698198187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.170654296875, + "SATB1_CHW_DH2_Tonnage": 495.864013671875, + "SATB1_CHW_DH3_Tonnage": 40.000694274902344, + "SATB1_CHW_DH4_Tonnage": 29.783903121948242, + "SATB1_CHW_DH5_Tonnage": 20.879179000854492, + "t_stamp": 1776698228187 + }, + { + "SATB1_CHW_DH1_Tonnage": 526.772705078125, + "SATB1_CHW_DH2_Tonnage": 481.8988037109375, + "SATB1_CHW_DH3_Tonnage": 39.75079345703125, + "SATB1_CHW_DH4_Tonnage": 29.850534439086914, + "SATB1_CHW_DH5_Tonnage": 21.21654510498047, + "t_stamp": 1776698258187 + }, + { + "SATB1_CHW_DH1_Tonnage": 520.1295166015625, + "SATB1_CHW_DH2_Tonnage": 497.0301818847656, + "SATB1_CHW_DH3_Tonnage": 40.16729736328125, + "SATB1_CHW_DH4_Tonnage": 29.696439743041992, + "SATB1_CHW_DH5_Tonnage": 19.21733856201172, + "t_stamp": 1776698288187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.32135009765625, + "SATB1_CHW_DH2_Tonnage": 431.55224609375, + "SATB1_CHW_DH3_Tonnage": 39.634178161621094, + "SATB1_CHW_DH4_Tonnage": 29.96715545654297, + "SATB1_CHW_DH5_Tonnage": 20.34188461303711, + "t_stamp": 1776698318187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.13525390625, + "SATB1_CHW_DH2_Tonnage": 457.8833923339844, + "SATB1_CHW_DH3_Tonnage": 39.234336853027344, + "SATB1_CHW_DH4_Tonnage": 29.221630096435547, + "SATB1_CHW_DH5_Tonnage": 19.921226501464844, + "t_stamp": 1776698348187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.30426025390625, + "SATB1_CHW_DH2_Tonnage": 458.0416259765625, + "SATB1_CHW_DH3_Tonnage": 39.61750411987305, + "SATB1_CHW_DH4_Tonnage": 29.376571585941313, + "SATB1_CHW_DH5_Tonnage": 19.746295928955078, + "t_stamp": 1776698378187 + }, + { + "SATB1_CHW_DH1_Tonnage": 517.3431396484375, + "SATB1_CHW_DH2_Tonnage": 455.7008972167969, + "SATB1_CHW_DH3_Tonnage": 37.96817398071289, + "SATB1_CHW_DH4_Tonnage": 30.791824340820312, + "SATB1_CHW_DH5_Tonnage": 18.942440032958984, + "t_stamp": 1776698408187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.5518188476562, + "SATB1_CHW_DH2_Tonnage": 485.07244873046875, + "SATB1_CHW_DH3_Tonnage": 41.066932678222656, + "SATB1_CHW_DH4_Tonnage": 30.279529571533203, + "SATB1_CHW_DH5_Tonnage": 18.76332664489746, + "t_stamp": 1776698438187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.542236328125, + "SATB1_CHW_DH2_Tonnage": 504.79376220703125, + "SATB1_CHW_DH3_Tonnage": 37.051876068115234, + "SATB1_CHW_DH4_Tonnage": 29.15499496459961, + "SATB1_CHW_DH5_Tonnage": 19.45890235900879, + "t_stamp": 1776698468187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.2939453125, + "SATB1_CHW_DH2_Tonnage": 500.92852783203125, + "SATB1_CHW_DH3_Tonnage": 38.542930603027344, + "SATB1_CHW_DH4_Tonnage": 29.15499496459961, + "SATB1_CHW_DH5_Tonnage": 19.767122268676758, + "t_stamp": 1776698498187 + }, + { + "SATB1_CHW_DH1_Tonnage": 520.650146484375, + "SATB1_CHW_DH2_Tonnage": 478.824951171875, + "SATB1_CHW_DH3_Tonnage": 39.750797271728516, + "SATB1_CHW_DH4_Tonnage": 29.52983856201172, + "SATB1_CHW_DH5_Tonnage": 20.11281967163086, + "t_stamp": 1776698528187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.1119384765625, + "SATB1_CHW_DH2_Tonnage": 472.7398681640625, + "SATB1_CHW_DH3_Tonnage": 39.7008171081543, + "SATB1_CHW_DH4_Tonnage": 29.434043884277344, + "SATB1_CHW_DH5_Tonnage": 21.749656677246094, + "t_stamp": 1776698558187 + }, + { + "SATB1_CHW_DH1_Tonnage": 518.842529296875, + "SATB1_CHW_DH2_Tonnage": 476.67578125, + "SATB1_CHW_DH3_Tonnage": 39.43425750732422, + "SATB1_CHW_DH4_Tonnage": 28.863439559936523, + "SATB1_CHW_DH5_Tonnage": 20.595935821533203, + "t_stamp": 1776698588187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.2506713867188, + "SATB1_CHW_DH2_Tonnage": 484.5476379394531, + "SATB1_CHW_DH3_Tonnage": 39.567535400390625, + "SATB1_CHW_DH4_Tonnage": 28.1220760345459, + "SATB1_CHW_DH5_Tonnage": 22.18282699584961, + "t_stamp": 1776698618187 + }, + { + "SATB1_CHW_DH1_Tonnage": 517.7512817382812, + "SATB1_CHW_DH2_Tonnage": 482.6942138671875, + "SATB1_CHW_DH3_Tonnage": 39.60500717163086, + "SATB1_CHW_DH4_Tonnage": 27.48065948486328, + "SATB1_CHW_DH5_Tonnage": 20.296079635620117, + "t_stamp": 1776698648187 + }, + { + "SATB1_CHW_DH1_Tonnage": 513.0364990234375, + "SATB1_CHW_DH2_Tonnage": 483.5897216796875, + "SATB1_CHW_DH3_Tonnage": 39.87989807128906, + "SATB1_CHW_DH4_Tonnage": 26.651824951171875, + "SATB1_CHW_DH5_Tonnage": 21.30816650390625, + "t_stamp": 1776698678187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.7295837402344, + "SATB1_CHW_DH2_Tonnage": 478.90826416015625, + "SATB1_CHW_DH3_Tonnage": 39.90072250366211, + "SATB1_CHW_DH4_Tonnage": 26.576862335205078, + "SATB1_CHW_DH5_Tonnage": 20.48349380493164, + "t_stamp": 1776698708187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.9478759765625, + "SATB1_CHW_DH2_Tonnage": 480.2618408203125, + "SATB1_CHW_DH3_Tonnage": 40.508811950683594, + "SATB1_CHW_DH4_Tonnage": 29.438209533691406, + "SATB1_CHW_DH5_Tonnage": 20.283573150634766, + "t_stamp": 1776698738187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.5684814453125, + "SATB1_CHW_DH2_Tonnage": 449.1701354980469, + "SATB1_CHW_DH3_Tonnage": 40.75871276855469, + "SATB1_CHW_DH4_Tonnage": 28.90093994140625, + "SATB1_CHW_DH5_Tonnage": 20.46684455871582, + "t_stamp": 1776698768187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.714599609375, + "SATB1_CHW_DH2_Tonnage": 434.6176452636719, + "SATB1_CHW_DH3_Tonnage": 42.795372009277344, + "SATB1_CHW_DH4_Tonnage": 29.60065269470215, + "SATB1_CHW_DH5_Tonnage": 20.537649154663086, + "t_stamp": 1776698798187 + }, + { + "SATB1_CHW_DH1_Tonnage": 504.2026672363281, + "SATB1_CHW_DH2_Tonnage": 478.90826416015625, + "SATB1_CHW_DH3_Tonnage": 40.68788528442383, + "SATB1_CHW_DH4_Tonnage": 27.834693908691406, + "SATB1_CHW_DH5_Tonnage": 22.116178512573242, + "t_stamp": 1776698828187 + }, + { + "SATB1_CHW_DH1_Tonnage": 499.121337890625, + "SATB1_CHW_DH2_Tonnage": 464.697265625, + "SATB1_CHW_DH3_Tonnage": 42.795372009277344, + "SATB1_CHW_DH4_Tonnage": 28.651023864746094, + "SATB1_CHW_DH5_Tonnage": 22.640968322753906, + "t_stamp": 1776698858187 + }, + { + "SATB1_CHW_DH1_Tonnage": 498.350830078125, + "SATB1_CHW_DH2_Tonnage": 460.1658020019531, + "SATB1_CHW_DH3_Tonnage": 43.58256149291992, + "SATB1_CHW_DH4_Tonnage": 26.36860466003418, + "SATB1_CHW_DH5_Tonnage": 23.31570053100586, + "t_stamp": 1776698888187 + }, + { + "SATB1_CHW_DH1_Tonnage": 492.9862976074219, + "SATB1_CHW_DH2_Tonnage": 492.3653564453125, + "SATB1_CHW_DH3_Tonnage": 41.016944885253906, + "SATB1_CHW_DH4_Tonnage": 26.697647094726562, + "SATB1_CHW_DH5_Tonnage": 21.59139633178711, + "t_stamp": 1776698918187 + }, + { + "SATB1_CHW_DH1_Tonnage": 500.7706298828125, + "SATB1_CHW_DH2_Tonnage": 475.4554748535156, + "SATB1_CHW_DH3_Tonnage": 41.354286193847656, + "SATB1_CHW_DH4_Tonnage": 26.789274215698242, + "SATB1_CHW_DH5_Tonnage": 20.191944122314453, + "t_stamp": 1776698948187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.15771484375, + "SATB1_CHW_DH2_Tonnage": 489.0292053222656, + "SATB1_CHW_DH3_Tonnage": 40.99609375, + "SATB1_CHW_DH4_Tonnage": 29.550674438476562, + "SATB1_CHW_DH5_Tonnage": 19.488065719604492, + "t_stamp": 1776698978187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.97357177734375, + "SATB1_CHW_DH2_Tonnage": 490.865966796875, + "SATB1_CHW_DH3_Tonnage": 39.779937744140625, + "SATB1_CHW_DH4_Tonnage": 31.10004425048828, + "SATB1_CHW_DH5_Tonnage": 20.60845184326172, + "t_stamp": 1776699008187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.3363037109375, + "SATB1_CHW_DH2_Tonnage": 484.16448974609375, + "SATB1_CHW_DH3_Tonnage": 42.65376281738281, + "SATB1_CHW_DH4_Tonnage": 29.987995147705078, + "SATB1_CHW_DH5_Tonnage": 20.36688232421875, + "t_stamp": 1776699038187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.54345703125, + "SATB1_CHW_DH2_Tonnage": 513.9110717773438, + "SATB1_CHW_DH3_Tonnage": 42.47050094604492, + "SATB1_CHW_DH4_Tonnage": 29.030038833618164, + "SATB1_CHW_DH5_Tonnage": 21.49142837524414, + "t_stamp": 1776699068187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.03033447265625, + "SATB1_CHW_DH2_Tonnage": 480.68255615234375, + "SATB1_CHW_DH3_Tonnage": 39.94237518310547, + "SATB1_CHW_DH4_Tonnage": 28.159563064575195, + "SATB1_CHW_DH5_Tonnage": 20.21694564819336, + "t_stamp": 1776699098187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.3543395996094, + "SATB1_CHW_DH2_Tonnage": 468.46661376953125, + "SATB1_CHW_DH3_Tonnage": 41.091888427734375, + "SATB1_CHW_DH4_Tonnage": 27.997129440307617, + "SATB1_CHW_DH5_Tonnage": 21.703813552856445, + "t_stamp": 1776699128187 + }, + { + "SATB1_CHW_DH1_Tonnage": 500.3541564941406, + "SATB1_CHW_DH2_Tonnage": 447.90399169921875, + "SATB1_CHW_DH3_Tonnage": 38.959434509277344, + "SATB1_CHW_DH4_Tonnage": 27.95548439025879, + "SATB1_CHW_DH5_Tonnage": 22.30776596069336, + "t_stamp": 1776699158187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.2422790527344, + "SATB1_CHW_DH2_Tonnage": 482.527587890625, + "SATB1_CHW_DH3_Tonnage": 39.971527099609375, + "SATB1_CHW_DH4_Tonnage": 29.454875946044922, + "SATB1_CHW_DH5_Tonnage": 19.558868408203125, + "t_stamp": 1776699188187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.7562255859375, + "SATB1_CHW_DH2_Tonnage": 448.0872802734375, + "SATB1_CHW_DH3_Tonnage": 40.44217300415039, + "SATB1_CHW_DH4_Tonnage": 30.146259307861328, + "SATB1_CHW_DH5_Tonnage": 19.56719970703125, + "t_stamp": 1776699218187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.9658203125, + "SATB1_CHW_DH2_Tonnage": 491.3532409667969, + "SATB1_CHW_DH3_Tonnage": 41.03360366821289, + "SATB1_CHW_DH4_Tonnage": 29.221635818481445, + "SATB1_CHW_DH5_Tonnage": 22.54100799560547, + "t_stamp": 1776699248187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.1565551757812, + "SATB1_CHW_DH2_Tonnage": 458.724609375, + "SATB1_CHW_DH3_Tonnage": 41.35430908203125, + "SATB1_CHW_DH4_Tonnage": 27.297414779663086, + "SATB1_CHW_DH5_Tonnage": 22.565998077392578, + "t_stamp": 1776699278187 + }, + { + "SATB1_CHW_DH1_Tonnage": 521.0125732421875, + "SATB1_CHW_DH2_Tonnage": 430.2027587890625, + "SATB1_CHW_DH3_Tonnage": 40.89199447631836, + "SATB1_CHW_DH4_Tonnage": 27.40986442565918, + "SATB1_CHW_DH5_Tonnage": 21.424787521362305, + "t_stamp": 1776699308187 + }, + { + "SATB1_CHW_DH1_Tonnage": 523.4823608398438, + "SATB1_CHW_DH2_Tonnage": 415.1337890625, + "SATB1_CHW_DH3_Tonnage": 41.795772552490234, + "SATB1_CHW_DH4_Tonnage": 27.888835906982422, + "SATB1_CHW_DH5_Tonnage": 20.408523559570312, + "t_stamp": 1776699338187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.3558349609375, + "SATB1_CHW_DH2_Tonnage": 452.9852294921875, + "SATB1_CHW_DH3_Tonnage": 40.94614028930664, + "SATB1_CHW_DH4_Tonnage": 28.272008895874023, + "SATB1_CHW_DH5_Tonnage": 21.004131317138672, + "t_stamp": 1776699368187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.3558349609375, + "SATB1_CHW_DH2_Tonnage": 452.9852294921875, + "SATB1_CHW_DH3_Tonnage": 40.94614028930664, + "SATB1_CHW_DH4_Tonnage": 28.272008895874023, + "SATB1_CHW_DH5_Tonnage": 21.004131317138672, + "t_stamp": 1776699398187 + }, + { + "SATB1_CHW_DH1_Tonnage": 502.274169921875, + "SATB1_CHW_DH2_Tonnage": 434.3136291503906, + "SATB1_CHW_DH3_Tonnage": 42.15813064575195, + "SATB1_CHW_DH4_Tonnage": 28.222036361694336, + "SATB1_CHW_DH5_Tonnage": 21.07489776611328, + "t_stamp": 1776699428187 + }, + { + "SATB1_CHW_DH1_Tonnage": 501.4786682128906, + "SATB1_CHW_DH2_Tonnage": 491.986328125, + "SATB1_CHW_DH3_Tonnage": 40.142295837402344, + "SATB1_CHW_DH4_Tonnage": 28.84172079372406, + "SATB1_CHW_DH5_Tonnage": 20.966644287109375, + "t_stamp": 1776699458187 + }, + { + "SATB1_CHW_DH1_Tonnage": 518.7508544921875, + "SATB1_CHW_DH2_Tonnage": 493.96466064453125, + "SATB1_CHW_DH3_Tonnage": 40.23391342163086, + "SATB1_CHW_DH4_Tonnage": 29.055028915405273, + "SATB1_CHW_DH5_Tonnage": 20.700084686279297, + "t_stamp": 1776699488187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.8087768554688, + "SATB1_CHW_DH2_Tonnage": 464.3140563964844, + "SATB1_CHW_DH3_Tonnage": 41.18353271484375, + "SATB1_CHW_DH4_Tonnage": 28.85511589050293, + "SATB1_CHW_DH5_Tonnage": 21.05827522277832, + "t_stamp": 1776699518187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.227783203125, + "SATB1_CHW_DH2_Tonnage": 420.53997802734375, + "SATB1_CHW_DH3_Tonnage": 41.908241271972656, + "SATB1_CHW_DH4_Tonnage": 28.655195236206055, + "SATB1_CHW_DH5_Tonnage": 21.249855041503906, + "t_stamp": 1776699548187 + }, + { + "SATB1_CHW_DH1_Tonnage": 521.974609375, + "SATB1_CHW_DH2_Tonnage": 413.3387451171875, + "SATB1_CHW_DH3_Tonnage": 42.270599365234375, + "SATB1_CHW_DH4_Tonnage": 27.75555419921875, + "SATB1_CHW_DH5_Tonnage": 22.007896423339844, + "t_stamp": 1776699578187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.92901611328125, + "SATB1_CHW_DH2_Tonnage": 416.308349609375, + "SATB1_CHW_DH3_Tonnage": 40.70872497558594, + "SATB1_CHW_DH4_Tonnage": 28.009614944458008, + "SATB1_CHW_DH5_Tonnage": 21.22071075439453, + "t_stamp": 1776699608187 + }, + { + "SATB1_CHW_DH1_Tonnage": 518.9425048828125, + "SATB1_CHW_DH2_Tonnage": 418.8489990234375, + "SATB1_CHW_DH3_Tonnage": 39.959022521972656, + "SATB1_CHW_DH4_Tonnage": 27.843013763427734, + "SATB1_CHW_DH5_Tonnage": 21.666357040405273, + "t_stamp": 1776699638187 + }, + { + "SATB1_CHW_DH1_Tonnage": 518.1011962890625, + "SATB1_CHW_DH2_Tonnage": 467.0838623046875, + "SATB1_CHW_DH3_Tonnage": 43.024452209472656, + "SATB1_CHW_DH4_Tonnage": 28.01795196533203, + "SATB1_CHW_DH5_Tonnage": 20.904170989990234, + "t_stamp": 1776699668187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.3006591796875, + "SATB1_CHW_DH2_Tonnage": 462.8521423339844, + "SATB1_CHW_DH3_Tonnage": 42.27060317993164, + "SATB1_CHW_DH4_Tonnage": 27.92632293701172, + "SATB1_CHW_DH5_Tonnage": 20.725074768066406, + "t_stamp": 1776699698187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.6282958984375, + "SATB1_CHW_DH2_Tonnage": 480.3034973144531, + "SATB1_CHW_DH3_Tonnage": 40.583797454833984, + "SATB1_CHW_DH4_Tonnage": 28.413619995117188, + "SATB1_CHW_DH5_Tonnage": 21.83713150024414, + "t_stamp": 1776699728187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.7786865234375, + "SATB1_CHW_DH2_Tonnage": 490.511962890625, + "SATB1_CHW_DH3_Tonnage": 39.784114837646484, + "SATB1_CHW_DH4_Tonnage": 27.401538848876953, + "SATB1_CHW_DH5_Tonnage": 23.769728400945663, + "t_stamp": 1776699758187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.468505859375, + "SATB1_CHW_DH2_Tonnage": 491.986328125, + "SATB1_CHW_DH3_Tonnage": 39.296783447265625, + "SATB1_CHW_DH4_Tonnage": 29.10084342956543, + "SATB1_CHW_DH5_Tonnage": 22.79092025756836, + "t_stamp": 1776699788187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.2522583007812, + "SATB1_CHW_DH2_Tonnage": 490.874267578125, + "SATB1_CHW_DH3_Tonnage": 37.784912109375, + "SATB1_CHW_DH4_Tonnage": 29.171648025512695, + "SATB1_CHW_DH5_Tonnage": 22.02039337158203, + "t_stamp": 1776699818187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.54345703125, + "SATB1_CHW_DH2_Tonnage": 467.7544250488281, + "SATB1_CHW_DH3_Tonnage": 41.116878509521484, + "SATB1_CHW_DH4_Tonnage": 29.509023666381836, + "SATB1_CHW_DH5_Tonnage": 19.800434112548828, + "t_stamp": 1776699848187 + }, + { + "SATB1_CHW_DH1_Tonnage": 494.04827880859375, + "SATB1_CHW_DH2_Tonnage": 473.2189025878906, + "SATB1_CHW_DH3_Tonnage": 42.787044525146484, + "SATB1_CHW_DH4_Tonnage": 29.221630096435547, + "SATB1_CHW_DH5_Tonnage": 20.36271858215332, + "t_stamp": 1776699878187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.9888916015625, + "SATB1_CHW_DH2_Tonnage": 429.819580078125, + "SATB1_CHW_DH3_Tonnage": 41.18354415893555, + "SATB1_CHW_DH4_Tonnage": 28.788475036621094, + "SATB1_CHW_DH5_Tonnage": 21.29984474182129, + "t_stamp": 1776699908187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.14385986328125, + "SATB1_CHW_DH2_Tonnage": 468.85400390625, + "SATB1_CHW_DH3_Tonnage": 41.74163055419922, + "SATB1_CHW_DH4_Tonnage": 28.321998596191406, + "SATB1_CHW_DH5_Tonnage": 21.24570083618164, + "t_stamp": 1776699938187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.0776977539062, + "SATB1_CHW_DH2_Tonnage": 468.52911376953125, + "SATB1_CHW_DH3_Tonnage": 39.32177734375, + "SATB1_CHW_DH4_Tonnage": 30.621068954467773, + "SATB1_CHW_DH5_Tonnage": 19.842082977294922, + "t_stamp": 1776699968187 + }, + { + "SATB1_CHW_DH1_Tonnage": 499.81268310546875, + "SATB1_CHW_DH2_Tonnage": 475.3013610839844, + "SATB1_CHW_DH3_Tonnage": 40.34636688232422, + "SATB1_CHW_DH4_Tonnage": 29.654794692993164, + "SATB1_CHW_DH5_Tonnage": 20.550134658813477, + "t_stamp": 1776699998187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.46759033203125, + "SATB1_CHW_DH2_Tonnage": 487.5506591796875, + "SATB1_CHW_DH3_Tonnage": 38.86781692504883, + "SATB1_CHW_DH4_Tonnage": 28.809303283691406, + "SATB1_CHW_DH5_Tonnage": 21.024944305419922, + "t_stamp": 1776700028187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.9525146484375, + "SATB1_CHW_DH2_Tonnage": 478.2001953125, + "SATB1_CHW_DH3_Tonnage": 39.26765823364258, + "SATB1_CHW_DH4_Tonnage": 28.721830368041992, + "SATB1_CHW_DH5_Tonnage": 21.59556007385254, + "t_stamp": 1776700058187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.61474609375, + "SATB1_CHW_DH2_Tonnage": 472.36090087890625, + "SATB1_CHW_DH3_Tonnage": 39.01775360107422, + "SATB1_CHW_DH4_Tonnage": 29.600643157958984, + "SATB1_CHW_DH5_Tonnage": 21.54973602294922, + "t_stamp": 1776700088187 + }, + { + "SATB1_CHW_DH1_Tonnage": 518.338623046875, + "SATB1_CHW_DH2_Tonnage": 479.9703369140625, + "SATB1_CHW_DH3_Tonnage": 41.37095260620117, + "SATB1_CHW_DH4_Tonnage": 27.85968780517578, + "SATB1_CHW_DH5_Tonnage": 22.182817459106445, + "t_stamp": 1776700118187 + }, + { + "SATB1_CHW_DH1_Tonnage": 522.2620849609375, + "SATB1_CHW_DH2_Tonnage": 481.1490173339844, + "SATB1_CHW_DH3_Tonnage": 41.84576416015625, + "SATB1_CHW_DH4_Tonnage": 28.413619995117188, + "SATB1_CHW_DH5_Tonnage": 21.158199310302734, + "t_stamp": 1776700148187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.1732177734375, + "SATB1_CHW_DH2_Tonnage": 485.0224914550781, + "SATB1_CHW_DH3_Tonnage": 42.762054443359375, + "SATB1_CHW_DH4_Tonnage": 28.180389404296875, + "SATB1_CHW_DH5_Tonnage": 22.007896423339844, + "t_stamp": 1776700178187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.70379638671875, + "SATB1_CHW_DH2_Tonnage": 465.7718505859375, + "SATB1_CHW_DH3_Tonnage": 42.03318786621094, + "SATB1_CHW_DH4_Tonnage": 28.371976852416992, + "SATB1_CHW_DH5_Tonnage": 21.09988784790039, + "t_stamp": 1776700208187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.91204833984375, + "SATB1_CHW_DH2_Tonnage": 444.8885498046875, + "SATB1_CHW_DH3_Tonnage": 42.19562530517578, + "SATB1_CHW_DH4_Tonnage": 29.234130859375, + "SATB1_CHW_DH5_Tonnage": 20.695919036865234, + "t_stamp": 1776700238187 + }, + { + "SATB1_CHW_DH1_Tonnage": 498.750732421875, + "SATB1_CHW_DH2_Tonnage": 465.16375732421875, + "SATB1_CHW_DH3_Tonnage": 41.14604187011719, + "SATB1_CHW_DH4_Tonnage": 27.63062286376953, + "SATB1_CHW_DH5_Tonnage": 22.63263702392578, + "t_stamp": 1776700268187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.286865234375, + "SATB1_CHW_DH2_Tonnage": 439.5823974609375, + "SATB1_CHW_DH3_Tonnage": 41.14604187011719, + "SATB1_CHW_DH4_Tonnage": 28.463607788085938, + "SATB1_CHW_DH5_Tonnage": 22.195323944091797, + "t_stamp": 1776700298187 + }, + { + "SATB1_CHW_DH1_Tonnage": 517.805419921875, + "SATB1_CHW_DH2_Tonnage": 448.3746643066406, + "SATB1_CHW_DH3_Tonnage": 41.44593048095703, + "SATB1_CHW_DH4_Tonnage": 27.368221282958984, + "SATB1_CHW_DH5_Tonnage": 21.233205795288086, + "t_stamp": 1776700328187 + }, + { + "SATB1_CHW_DH1_Tonnage": 528.0389404296875, + "SATB1_CHW_DH2_Tonnage": 451.86077880859375, + "SATB1_CHW_DH3_Tonnage": 39.571678161621094, + "SATB1_CHW_DH4_Tonnage": 27.78888702392578, + "SATB1_CHW_DH5_Tonnage": 20.52931785583496, + "t_stamp": 1776700358187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.2630920410156, + "SATB1_CHW_DH2_Tonnage": 477.2589111328125, + "SATB1_CHW_DH3_Tonnage": 40.983612060546875, + "SATB1_CHW_DH4_Tonnage": 27.834693908691406, + "SATB1_CHW_DH5_Tonnage": 18.963274002075195, + "t_stamp": 1776700388187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.0453491210938, + "SATB1_CHW_DH2_Tonnage": 458.3290100097656, + "SATB1_CHW_DH3_Tonnage": 41.97071838378906, + "SATB1_CHW_DH4_Tonnage": 27.139148712158203, + "SATB1_CHW_DH5_Tonnage": 17.942848205566406, + "t_stamp": 1776700418187 + }, + { + "SATB1_CHW_DH1_Tonnage": 517.8804931640625, + "SATB1_CHW_DH2_Tonnage": 433.21826171875, + "SATB1_CHW_DH3_Tonnage": 42.183128356933594, + "SATB1_CHW_DH4_Tonnage": 26.331125259399414, + "SATB1_CHW_DH5_Tonnage": 20.516822814941406, + "t_stamp": 1776700448187 + }, + { + "SATB1_CHW_DH1_Tonnage": 531.0752563476562, + "SATB1_CHW_DH2_Tonnage": 430.0694885253906, + "SATB1_CHW_DH3_Tonnage": 42.445526123046875, + "SATB1_CHW_DH4_Tonnage": 27.18495750427246, + "SATB1_CHW_DH5_Tonnage": 22.22446632385254, + "t_stamp": 1776700478187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.09576416015625, + "SATB1_CHW_DH2_Tonnage": 464.5931396484375, + "SATB1_CHW_DH3_Tonnage": 41.470916748046875, + "SATB1_CHW_DH4_Tonnage": 27.680587768554688, + "SATB1_CHW_DH5_Tonnage": 22.51601791381836, + "t_stamp": 1776700508187 + }, + { + "SATB1_CHW_DH1_Tonnage": 493.65277099609375, + "SATB1_CHW_DH2_Tonnage": 430.5401306152344, + "SATB1_CHW_DH3_Tonnage": 41.91239547729492, + "SATB1_CHW_DH4_Tonnage": 27.92217254638672, + "SATB1_CHW_DH5_Tonnage": 21.724666595458984, + "t_stamp": 1776700538187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.85491943359375, + "SATB1_CHW_DH2_Tonnage": 434.480224609375, + "SATB1_CHW_DH3_Tonnage": 41.345970153808594, + "SATB1_CHW_DH4_Tonnage": 29.184152603149414, + "SATB1_CHW_DH5_Tonnage": 21.166555404663086, + "t_stamp": 1776700568187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.31884765625, + "SATB1_CHW_DH2_Tonnage": 485.55975341796875, + "SATB1_CHW_DH3_Tonnage": 41.695831298828125, + "SATB1_CHW_DH4_Tonnage": 29.042543411254883, + "SATB1_CHW_DH5_Tonnage": 21.349815368652344, + "t_stamp": 1776700598187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.850341796875, + "SATB1_CHW_DH2_Tonnage": 493.2733459472656, + "SATB1_CHW_DH3_Tonnage": 43.18272018432617, + "SATB1_CHW_DH4_Tonnage": 27.68476104736328, + "SATB1_CHW_DH5_Tonnage": 21.991199493408203, + "t_stamp": 1776700628187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.66845703125, + "SATB1_CHW_DH2_Tonnage": 470.05767822265625, + "SATB1_CHW_DH3_Tonnage": 43.07859420776367, + "SATB1_CHW_DH4_Tonnage": 28.25119972229004, + "SATB1_CHW_DH5_Tonnage": 21.799636840820312, + "t_stamp": 1776700658187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.9337158203125, + "SATB1_CHW_DH2_Tonnage": 492.0446472167969, + "SATB1_CHW_DH3_Tonnage": 41.94572448730469, + "SATB1_CHW_DH4_Tonnage": 28.555253982543945, + "SATB1_CHW_DH5_Tonnage": 19.700481414794922, + "t_stamp": 1776700688187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.4934692382812, + "SATB1_CHW_DH2_Tonnage": 486.5304260253906, + "SATB1_CHW_DH3_Tonnage": 42.38720703125, + "SATB1_CHW_DH4_Tonnage": 29.700613021850586, + "SATB1_CHW_DH5_Tonnage": 19.050739288330078, + "t_stamp": 1776700718187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.0611572265625, + "SATB1_CHW_DH2_Tonnage": 493.6856994628906, + "SATB1_CHW_DH3_Tonnage": 41.3751106262207, + "SATB1_CHW_DH4_Tonnage": 28.105432510375977, + "SATB1_CHW_DH5_Tonnage": 20.495996475219727, + "t_stamp": 1776700748187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.1019287109375, + "SATB1_CHW_DH2_Tonnage": 474.8642272949219, + "SATB1_CHW_DH3_Tonnage": 40.808685302734375, + "SATB1_CHW_DH4_Tonnage": 27.78889274597168, + "SATB1_CHW_DH5_Tonnage": 20.150291442871094, + "t_stamp": 1776700778187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.470947265625, + "SATB1_CHW_DH2_Tonnage": 470.99078369140625, + "SATB1_CHW_DH3_Tonnage": 43.90326690673828, + "SATB1_CHW_DH4_Tonnage": 27.988811492919922, + "SATB1_CHW_DH5_Tonnage": 18.46347427368164, + "t_stamp": 1776700808187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.252197265625, + "SATB1_CHW_DH2_Tonnage": 466.12176513671875, + "SATB1_CHW_DH3_Tonnage": 42.19562530517578, + "SATB1_CHW_DH4_Tonnage": 27.74306869506836, + "SATB1_CHW_DH5_Tonnage": 20.48349380493164, + "t_stamp": 1776700838187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.476318359375, + "SATB1_CHW_DH2_Tonnage": 474.027099609375, + "SATB1_CHW_DH3_Tonnage": 43.24519348144531, + "SATB1_CHW_DH4_Tonnage": 26.714323043823242, + "SATB1_CHW_DH5_Tonnage": 23.282379150390625, + "t_stamp": 1776700868187 + }, + { + "SATB1_CHW_DH1_Tonnage": 504.71490478515625, + "SATB1_CHW_DH2_Tonnage": 477.94219970703125, + "SATB1_CHW_DH3_Tonnage": 41.508399963378906, + "SATB1_CHW_DH4_Tonnage": 28.60523223876953, + "SATB1_CHW_DH5_Tonnage": 22.640979766845703, + "t_stamp": 1776700898187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.0189514160156, + "SATB1_CHW_DH2_Tonnage": 494.66461181640625, + "SATB1_CHW_DH3_Tonnage": 43.57006072998047, + "SATB1_CHW_DH4_Tonnage": 27.314083099365234, + "SATB1_CHW_DH5_Tonnage": 22.478546142578125, + "t_stamp": 1776700928187 + }, + { + "SATB1_CHW_DH1_Tonnage": 501.49951171875, + "SATB1_CHW_DH2_Tonnage": 493.14007568359375, + "SATB1_CHW_DH3_Tonnage": 43.62004470825195, + "SATB1_CHW_DH4_Tonnage": 28.122093200683594, + "SATB1_CHW_DH5_Tonnage": 20.83336639404297, + "t_stamp": 1776700958187 + }, + { + "SATB1_CHW_DH1_Tonnage": 502.9072265625, + "SATB1_CHW_DH2_Tonnage": 481.95703125, + "SATB1_CHW_DH3_Tonnage": 42.03319549560547, + "SATB1_CHW_DH4_Tonnage": 28.463623046875, + "SATB1_CHW_DH5_Tonnage": 21.799636840820312, + "t_stamp": 1776700988187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.09466552734375, + "SATB1_CHW_DH2_Tonnage": 487.330078125, + "SATB1_CHW_DH3_Tonnage": 41.85826110839844, + "SATB1_CHW_DH4_Tonnage": 28.780162811279297, + "SATB1_CHW_DH5_Tonnage": 21.378978729248047, + "t_stamp": 1776701018187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.6432800292969, + "SATB1_CHW_DH2_Tonnage": 480.6119384765625, + "SATB1_CHW_DH3_Tonnage": 44.961177825927734, + "SATB1_CHW_DH4_Tonnage": 26.039594650268555, + "SATB1_CHW_DH5_Tonnage": 21.95790672302246, + "t_stamp": 1776701048187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.40130615234375, + "SATB1_CHW_DH2_Tonnage": 486.7511291503906, + "SATB1_CHW_DH3_Tonnage": 41.10856628417969, + "SATB1_CHW_DH4_Tonnage": 27.189132690429688, + "SATB1_CHW_DH5_Tonnage": 21.76631736755371, + "t_stamp": 1776701078187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.0643005371094, + "SATB1_CHW_DH2_Tonnage": 461.76531982421875, + "SATB1_CHW_DH3_Tonnage": 41.63750457763672, + "SATB1_CHW_DH4_Tonnage": 28.463623046875, + "SATB1_CHW_DH5_Tonnage": 20.80837631225586, + "t_stamp": 1776701108187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.4462890625, + "SATB1_CHW_DH2_Tonnage": 509.18804931640625, + "SATB1_CHW_DH3_Tonnage": 41.45008087158203, + "SATB1_CHW_DH4_Tonnage": 29.313282012939453, + "SATB1_CHW_DH5_Tonnage": 19.842082977294922, + "t_stamp": 1776701138187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.6771240234375, + "SATB1_CHW_DH2_Tonnage": 498.5797119140625, + "SATB1_CHW_DH3_Tonnage": 41.916561126708984, + "SATB1_CHW_DH4_Tonnage": 27.73058319091797, + "SATB1_CHW_DH5_Tonnage": 20.358543395996094, + "t_stamp": 1776701168187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.1409912109375, + "SATB1_CHW_DH2_Tonnage": 482.5903015136719, + "SATB1_CHW_DH3_Tonnage": 41.18768310546875, + "SATB1_CHW_DH4_Tonnage": 28.980083465576172, + "SATB1_CHW_DH5_Tonnage": 20.01285743713379, + "t_stamp": 1776701198187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.7066040039062, + "SATB1_CHW_DH2_Tonnage": 481.80731201171875, + "SATB1_CHW_DH3_Tonnage": 42.12897491455078, + "SATB1_CHW_DH4_Tonnage": 26.66434097290039, + "SATB1_CHW_DH5_Tonnage": 22.54100799560547, + "t_stamp": 1776701228187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.2951049804688, + "SATB1_CHW_DH2_Tonnage": 448.06243896484375, + "SATB1_CHW_DH3_Tonnage": 41.021095275878906, + "SATB1_CHW_DH4_Tonnage": 27.072513580322266, + "SATB1_CHW_DH5_Tonnage": 22.366077423095703, + "t_stamp": 1776701258187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.3812255859375, + "SATB1_CHW_DH2_Tonnage": 498.5797119140625, + "SATB1_CHW_DH3_Tonnage": 41.23766326904297, + "SATB1_CHW_DH4_Tonnage": 27.389053344726562, + "SATB1_CHW_DH5_Tonnage": 21.624706268310547, + "t_stamp": 1776701288187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.76519775390625, + "SATB1_CHW_DH2_Tonnage": 475.4389953613281, + "SATB1_CHW_DH3_Tonnage": 41.246009826660156, + "SATB1_CHW_DH4_Tonnage": 28.180404663085938, + "SATB1_CHW_DH5_Tonnage": 20.283573150634766, + "t_stamp": 1776701318187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.2701416015625, + "SATB1_CHW_DH2_Tonnage": 431.5898742675781, + "SATB1_CHW_DH3_Tonnage": 41.97486877441406, + "SATB1_CHW_DH4_Tonnage": 28.788494110107422, + "SATB1_CHW_DH5_Tonnage": 20.283573150634766, + "t_stamp": 1776701348187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.9052429199219, + "SATB1_CHW_DH2_Tonnage": 464.6265869140625, + "SATB1_CHW_DH3_Tonnage": 41.83325958251953, + "SATB1_CHW_DH4_Tonnage": 28.94676399230957, + "SATB1_CHW_DH5_Tonnage": 19.15903091430664, + "t_stamp": 1776701378187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.1884765625, + "SATB1_CHW_DH2_Tonnage": 493.6358642578125, + "SATB1_CHW_DH3_Tonnage": 42.05400466918945, + "SATB1_CHW_DH4_Tonnage": 28.496944427490234, + "SATB1_CHW_DH5_Tonnage": 18.817501068115234, + "t_stamp": 1776701408187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.4637756347656, + "SATB1_CHW_DH2_Tonnage": 481.36993408203125, + "SATB1_CHW_DH3_Tonnage": 41.84575653076172, + "SATB1_CHW_DH4_Tonnage": 28.81348419189453, + "SATB1_CHW_DH5_Tonnage": 18.213573455810547, + "t_stamp": 1776701438187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.66827392578125, + "SATB1_CHW_DH2_Tonnage": 504.39404296875, + "SATB1_CHW_DH3_Tonnage": 40.900299072265625, + "SATB1_CHW_DH4_Tonnage": 28.27203369140625, + "SATB1_CHW_DH5_Tonnage": 18.979942321777344, + "t_stamp": 1776701468187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.982421875, + "SATB1_CHW_DH2_Tonnage": 455.72601318359375, + "SATB1_CHW_DH3_Tonnage": 41.57502746582031, + "SATB1_CHW_DH4_Tonnage": 27.9055118560791, + "SATB1_CHW_DH5_Tonnage": 22.00788688659668, + "t_stamp": 1776701498187 + }, + { + "SATB1_CHW_DH1_Tonnage": 504.83575439453125, + "SATB1_CHW_DH2_Tonnage": 493.944091796875, + "SATB1_CHW_DH3_Tonnage": 41.40843963623047, + "SATB1_CHW_DH4_Tonnage": 27.255773544311523, + "SATB1_CHW_DH5_Tonnage": 22.424386978149414, + "t_stamp": 1776701528187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.122802734375, + "SATB1_CHW_DH2_Tonnage": 496.31396484375, + "SATB1_CHW_DH3_Tonnage": 41.80827713012695, + "SATB1_CHW_DH4_Tonnage": 26.805953979492188, + "SATB1_CHW_DH5_Tonnage": 22.241127014160156, + "t_stamp": 1776701558187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.65283203125, + "SATB1_CHW_DH2_Tonnage": 416.3043212890625, + "SATB1_CHW_DH3_Tonnage": 42.978633880615234, + "SATB1_CHW_DH4_Tonnage": 27.122493743896484, + "SATB1_CHW_DH5_Tonnage": 21.249855041503906, + "t_stamp": 1776701588187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.5308532714844, + "SATB1_CHW_DH2_Tonnage": 417.33721923828125, + "SATB1_CHW_DH3_Tonnage": 42.682918548583984, + "SATB1_CHW_DH4_Tonnage": 26.53106117248535, + "SATB1_CHW_DH5_Tonnage": 20.52931785583496, + "t_stamp": 1776701618187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.7261962890625, + "SATB1_CHW_DH2_Tonnage": 431.0609130859375, + "SATB1_CHW_DH3_Tonnage": 41.995704650878906, + "SATB1_CHW_DH4_Tonnage": 27.70559310913086, + "SATB1_CHW_DH5_Tonnage": 20.708404541015625, + "t_stamp": 1776701648187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.0070190429688, + "SATB1_CHW_DH2_Tonnage": 471.0740661621094, + "SATB1_CHW_DH3_Tonnage": 42.458011627197266, + "SATB1_CHW_DH4_Tonnage": 28.22205352783203, + "SATB1_CHW_DH5_Tonnage": 19.654664993286133, + "t_stamp": 1776701678187 + }, + { + "SATB1_CHW_DH1_Tonnage": 521.758056640625, + "SATB1_CHW_DH2_Tonnage": 472.04034423828125, + "SATB1_CHW_DH3_Tonnage": 40.721214294433594, + "SATB1_CHW_DH4_Tonnage": 27.88885498046875, + "SATB1_CHW_DH5_Tonnage": 19.96703338623047, + "t_stamp": 1776701708187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.5912780761719, + "SATB1_CHW_DH2_Tonnage": 473.9354248046875, + "SATB1_CHW_DH3_Tonnage": 40.37135696411133, + "SATB1_CHW_DH4_Tonnage": 27.73058319091797, + "SATB1_CHW_DH5_Tonnage": 19.042407989501953, + "t_stamp": 1776701738187 + }, + { + "SATB1_CHW_DH1_Tonnage": 520.8875732421875, + "SATB1_CHW_DH2_Tonnage": 422.4226989746094, + "SATB1_CHW_DH3_Tonnage": 41.995697021484375, + "SATB1_CHW_DH4_Tonnage": 27.30575180053711, + "SATB1_CHW_DH5_Tonnage": 21.982894897460938, + "t_stamp": 1776701768187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.34881591796875, + "SATB1_CHW_DH2_Tonnage": 453.7435302734375, + "SATB1_CHW_DH3_Tonnage": 42.99946212768555, + "SATB1_CHW_DH4_Tonnage": 25.989612579345703, + "SATB1_CHW_DH5_Tonnage": 21.204023361206055, + "t_stamp": 1776701798187 + }, + { + "SATB1_CHW_DH1_Tonnage": 520.029541015625, + "SATB1_CHW_DH2_Tonnage": 448.63720703125, + "SATB1_CHW_DH3_Tonnage": 42.91615676879883, + "SATB1_CHW_DH4_Tonnage": 25.406513214111328, + "SATB1_CHW_DH5_Tonnage": 21.499767303466797, + "t_stamp": 1776701828187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.9808959960938, + "SATB1_CHW_DH2_Tonnage": 445.5009765625, + "SATB1_CHW_DH3_Tonnage": 42.38303756713867, + "SATB1_CHW_DH4_Tonnage": 25.539793014526367, + "SATB1_CHW_DH5_Tonnage": 21.07492446899414, + "t_stamp": 1776701858187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.9691162109375, + "SATB1_CHW_DH2_Tonnage": 442.65631103515625, + "SATB1_CHW_DH3_Tonnage": 41.595863342285156, + "SATB1_CHW_DH4_Tonnage": 29.654815673828125, + "SATB1_CHW_DH5_Tonnage": 20.883344650268555, + "t_stamp": 1776701888187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.6117553710938, + "SATB1_CHW_DH2_Tonnage": 432.39373779296875, + "SATB1_CHW_DH3_Tonnage": 43.032779693603516, + "SATB1_CHW_DH4_Tonnage": 28.7051944732666, + "SATB1_CHW_DH5_Tonnage": 22.353591918945312, + "t_stamp": 1776701918187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.1569213867188, + "SATB1_CHW_DH2_Tonnage": 490.4205017089844, + "SATB1_CHW_DH3_Tonnage": 41.29597091674805, + "SATB1_CHW_DH4_Tonnage": 27.097503662109375, + "SATB1_CHW_DH5_Tonnage": 20.57509994506836, + "t_stamp": 1776701948187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.1544189453125, + "SATB1_CHW_DH2_Tonnage": 449.386962890625, + "SATB1_CHW_DH3_Tonnage": 39.23432159423828, + "SATB1_CHW_DH4_Tonnage": 27.164142608642578, + "SATB1_CHW_DH5_Tonnage": 22.170331954956055, + "t_stamp": 1776701978187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.23095703125, + "SATB1_CHW_DH2_Tonnage": 478.483642578125, + "SATB1_CHW_DH3_Tonnage": 41.80827331542969, + "SATB1_CHW_DH4_Tonnage": 29.22580909729004, + "SATB1_CHW_DH5_Tonnage": 19.40060043334961, + "t_stamp": 1776702008187 + }, + { + "SATB1_CHW_DH1_Tonnage": 500.7998046875, + "SATB1_CHW_DH2_Tonnage": 456.4007873535156, + "SATB1_CHW_DH3_Tonnage": 41.370948791503906, + "SATB1_CHW_DH4_Tonnage": 28.471954345703125, + "SATB1_CHW_DH5_Tonnage": 19.83376121520996, + "t_stamp": 1776702038187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.45623779296875, + "SATB1_CHW_DH2_Tonnage": 413.9801025390625, + "SATB1_CHW_DH3_Tonnage": 41.116878509521484, + "SATB1_CHW_DH4_Tonnage": 27.54732322692871, + "SATB1_CHW_DH5_Tonnage": 21.39980697631836, + "t_stamp": 1776702068187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.6195068359375, + "SATB1_CHW_DH2_Tonnage": 423.59722900390625, + "SATB1_CHW_DH3_Tonnage": 41.737464904785156, + "SATB1_CHW_DH4_Tonnage": 26.597702026367188, + "SATB1_CHW_DH5_Tonnage": 22.965850830078125, + "t_stamp": 1776702098187 + }, + { + "SATB1_CHW_DH1_Tonnage": 497.73016357421875, + "SATB1_CHW_DH2_Tonnage": 434.2513122558594, + "SATB1_CHW_DH3_Tonnage": 40.05897903442383, + "SATB1_CHW_DH4_Tonnage": 26.39777183532715, + "SATB1_CHW_DH5_Tonnage": 22.961685180664062, + "t_stamp": 1776702128187 + }, + { + "SATB1_CHW_DH1_Tonnage": 500.9080810546875, + "SATB1_CHW_DH2_Tonnage": 426.7501220703125, + "SATB1_CHW_DH3_Tonnage": 39.5341911315918, + "SATB1_CHW_DH4_Tonnage": 26.301979064941406, + "SATB1_CHW_DH5_Tonnage": 22.007896423339844, + "t_stamp": 1776702158187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.7969970703125, + "SATB1_CHW_DH2_Tonnage": 423.55126953125, + "SATB1_CHW_DH3_Tonnage": 38.772010803222656, + "SATB1_CHW_DH4_Tonnage": 27.793048858642578, + "SATB1_CHW_DH5_Tonnage": 20.654277801513672, + "t_stamp": 1776702188187 + }, + { + "SATB1_CHW_DH1_Tonnage": 525.877197265625, + "SATB1_CHW_DH2_Tonnage": 461.8317565917969, + "SATB1_CHW_DH3_Tonnage": 38.66789627075195, + "SATB1_CHW_DH4_Tonnage": 27.830533981323242, + "SATB1_CHW_DH5_Tonnage": 19.283977508544922, + "t_stamp": 1776702218187 + }, + { + "SATB1_CHW_DH1_Tonnage": 518.8924560546875, + "SATB1_CHW_DH2_Tonnage": 485.26837158203125, + "SATB1_CHW_DH3_Tonnage": 40.83784866333008, + "SATB1_CHW_DH4_Tonnage": 27.65976905822754, + "SATB1_CHW_DH5_Tonnage": 20.566795349121094, + "t_stamp": 1776702248187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.431396484375, + "SATB1_CHW_DH2_Tonnage": 449.386962890625, + "SATB1_CHW_DH3_Tonnage": 42.20394515991211, + "SATB1_CHW_DH4_Tonnage": 28.088764190673828, + "SATB1_CHW_DH5_Tonnage": 20.820871353149414, + "t_stamp": 1776702278187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.08734130859375, + "SATB1_CHW_DH2_Tonnage": 491.01611328125, + "SATB1_CHW_DH3_Tonnage": 41.11273956298828, + "SATB1_CHW_DH4_Tonnage": 29.005064010620117, + "SATB1_CHW_DH5_Tonnage": 20.46684455871582, + "t_stamp": 1776702308187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.1160278320312, + "SATB1_CHW_DH2_Tonnage": 498.78387451171875, + "SATB1_CHW_DH3_Tonnage": 39.534202575683594, + "SATB1_CHW_DH4_Tonnage": 27.913367711639403, + "SATB1_CHW_DH5_Tonnage": 21.841304779052734, + "t_stamp": 1776702338187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.53338623046875, + "SATB1_CHW_DH2_Tonnage": 487.8465576171875, + "SATB1_CHW_DH3_Tonnage": 40.59211349487305, + "SATB1_CHW_DH4_Tonnage": 27.830533981323242, + "SATB1_CHW_DH5_Tonnage": 22.55351448059082, + "t_stamp": 1776702368187 + } + ], + "tags": [ + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH1_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh1/opc tags/satb1_dh1 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH2_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh2/opc tags/satb1_dh2 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH3_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh3/opc tags/satb1_dh3 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH4_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh4/opc tags/satb1_dh4 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH5_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh5/opc tags/satb1_dh5 tonnage demand" + } + ] + }, + "meta": { + "name": "Flow Chart" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "enabled": false, + "type": "tag-history" + } + }, + "props.dataSources.tonnage": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tsummary \u003d 0\n\tfor item in rawHist:\n\t\tsummary \u003d 0\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tsummary +\u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"summary\": summary})\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "color": "#F4F4F4", + "gradient": { + "colors": [ + "" + ] + }, + "render": "color" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "tonnage", + "x": "t_stamp", + "y": "summary" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "tonnage" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "tonnage", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "tonnage", + "zIndex": 0 + } + ], + "style": { + "marginBottom": -30, + "marginLeft": 0, + "marginRight": -25, + "marginTop": 10, + "paddingRight": 0 + }, + "title": { + "text": "Tons (total)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 30, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "tonnage" + }, + "name": "tonnage", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "raw": [ + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 121.80273662105631, + "SATB1_CHW_FT03": 634.3123229697758, + "SATB1_CHW_FT04": 639.947717538041, + "SATB1_CHW_FT05": 94.62940617656372, + "SATB1_CHW_FT06": 141.62677464507098, + "SATB1_CHW_FT07": 547.3122448639552, + "SATB1_CHW_FT08": 695.0621813455963, + "SATB1_CHW_FT09": 179.93748542104035, + "SATB1_CHW_FT10": 365.1234666666667, + "t_stamp": 1776695231219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 121, + "SATB1_CHW_FT03": 634, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 142, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 694, + "SATB1_CHW_FT09": 180, + "SATB1_CHW_FT10": 365, + "t_stamp": 1776695261219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 108.80275, + "SATB1_CHW_FT03": 625.5624906251562, + "SATB1_CHW_FT04": 648.5050501683389, + "SATB1_CHW_FT05": 79.98801646694112, + "SATB1_CHW_FT06": 146.68962010968312, + "SATB1_CHW_FT07": 541.3748937517709, + "SATB1_CHW_FT08": 717.4363281835908, + "SATB1_CHW_FT09": 179.06262707062626, + "SATB1_CHW_FT10": 368.75306666666665, + "t_stamp": 1776695291219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 108, + "SATB1_CHW_FT03": 625, + "SATB1_CHW_FT04": 649, + "SATB1_CHW_FT05": 79, + "SATB1_CHW_FT06": 147, + "SATB1_CHW_FT07": 541, + "SATB1_CHW_FT08": 719, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776695321219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 132.39409343177613, + "SATB1_CHW_FT03": 638.1271878646442, + "SATB1_CHW_FT04": 643.3715752283181, + "SATB1_CHW_FT05": 94.94971834272191, + "SATB1_CHW_FT06": 136.68307723075898, + "SATB1_CHW_FT07": 549.4390565094183, + "SATB1_CHW_FT08": 751.8173134626925, + "SATB1_CHW_FT09": 183.68808348893037, + "SATB1_CHW_FT10": 374.6295061748971, + "t_stamp": 1776695351219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 134, + "SATB1_CHW_FT03": 639, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 550, + "SATB1_CHW_FT08": 754, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 375, + "t_stamp": 1776695381219 + }, + { + "SATB1_CHW_FT01": 109.1234, + "SATB1_CHW_FT02": 143.3824897081618, + "SATB1_CHW_FT03": 644.6265626562656, + "SATB1_CHW_FT04": 634.5569778488924, + "SATB1_CHW_FT05": 98.81469691161519, + "SATB1_CHW_FT06": 137.87592506167078, + "SATB1_CHW_FT07": 547.1866686668667, + "SATB1_CHW_FT08": 723.0544554455446, + "SATB1_CHW_FT09": 178.37363736373638, + "SATB1_CHW_FT10": 374.06173436223935, + "t_stamp": 1776695411219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 645, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 99, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 721, + "SATB1_CHW_FT09": 178, + "SATB1_CHW_FT10": 374, + "t_stamp": 1776695441219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 645, + "SATB1_CHW_FT04": 647.1338522308705, + "SATB1_CHW_FT05": 97.12353333333333, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 545.124402073368, + "SATB1_CHW_FT08": 730.3776562942716, + "SATB1_CHW_FT09": 186.43974066234438, + "SATB1_CHW_FT10": 373.06173333333334, + "t_stamp": 1776695471219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 645, + "SATB1_CHW_FT04": 648, + "SATB1_CHW_FT05": 97, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 731, + "SATB1_CHW_FT09": 187, + "SATB1_CHW_FT10": 373, + "t_stamp": 1776695501219 + }, + { + "SATB1_CHW_FT01": 110.8766, + "SATB1_CHW_FT02": 139.30890636978768, + "SATB1_CHW_FT03": 641.2489917002766, + "SATB1_CHW_FT04": 639.557081430619, + "SATB1_CHW_FT05": 92.30898970034332, + "SATB1_CHW_FT06": 141.75180827305758, + "SATB1_CHW_FT07": 546.8755374820839, + "SATB1_CHW_FT08": 715.058498050065, + "SATB1_CHW_FT09": 177.62281257291423, + "SATB1_CHW_FT10": 384.25882470584315, + "t_stamp": 1776695531219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 139, + "SATB1_CHW_FT03": 641, + "SATB1_CHW_FT04": 639, + "SATB1_CHW_FT05": 92, + "SATB1_CHW_FT06": 142, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 714, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 385, + "t_stamp": 1776695561219 + }, + { + "SATB1_CHW_FT01": 110.0617, + "SATB1_CHW_FT02": 148.38247941598053, + "SATB1_CHW_FT03": 637.249187540623, + "SATB1_CHW_FT04": 632.4330811027035, + "SATB1_CHW_FT05": 87.30884362812094, + "SATB1_CHW_FT06": 138.2482, + "SATB1_CHW_FT07": 553.5639290713953, + "SATB1_CHW_FT08": 661.4895588553906, + "SATB1_CHW_FT09": 191.06481234584362, + "SATB1_CHW_FT10": 381.24694156471884, + "t_stamp": 1776695591219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 149, + "SATB1_CHW_FT03": 637, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 658, + "SATB1_CHW_FT09": 192, + "SATB1_CHW_FT10": 381, + "t_stamp": 1776695621219 + }, + { + "SATB1_CHW_FT01": 112.8149, + "SATB1_CHW_FT02": 151.81470308828187, + "SATB1_CHW_FT03": 620.1208373612453, + "SATB1_CHW_FT04": 633.8761728580238, + "SATB1_CHW_FT05": 91.69108848185863, + "SATB1_CHW_FT06": 134.24826252895784, + "SATB1_CHW_FT07": 555.8754937746887, + "SATB1_CHW_FT08": 688.0068668955632, + "SATB1_CHW_FT09": 191.06230311515577, + "SATB1_CHW_FT10": 362.2349794170097, + "t_stamp": 1776695651219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 152, + "SATB1_CHW_FT03": 619, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 92, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 556, + "SATB1_CHW_FT08": 690, + "SATB1_CHW_FT09": 191, + "SATB1_CHW_FT10": 361, + "t_stamp": 1776695681219 + }, + { + "SATB1_CHW_FT01": 114.8766, + "SATB1_CHW_FT02": 126.66727778796313, + "SATB1_CHW_FT03": 634.940669633185, + "SATB1_CHW_FT04": 626.4955834805506, + "SATB1_CHW_FT05": 91.06178333333334, + "SATB1_CHW_FT06": 139.62741241958602, + "SATB1_CHW_FT07": 558.8131093445328, + "SATB1_CHW_FT08": 689.0623302168225, + "SATB1_CHW_FT09": 200.37653117344132, + "SATB1_CHW_FT10": 365.69125, + "t_stamp": 1776695711219 + }, + { + "SATB1_CHW_FT01": 115, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 636, + "SATB1_CHW_FT04": 626, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 559, + "SATB1_CHW_FT08": 689, + "SATB1_CHW_FT09": 201, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776695741219 + }, + { + "SATB1_CHW_FT01": 110.30857819036349, + "SATB1_CHW_FT02": 123.12353127447876, + "SATB1_CHW_FT03": 634.1245083005533, + "SATB1_CHW_FT04": 643.824138275885, + "SATB1_CHW_FT05": 88.18535, + "SATB1_CHW_FT06": 140.9379625308354, + "SATB1_CHW_FT07": 559.9377468873444, + "SATB1_CHW_FT08": 721.8199743320499, + "SATB1_CHW_FT09": 188.80994049702485, + "SATB1_CHW_FT10": 373.506, + "t_stamp": 1776695771219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 123, + "SATB1_CHW_FT03": 634, + "SATB1_CHW_FT04": 645, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 560, + "SATB1_CHW_FT08": 724, + "SATB1_CHW_FT09": 188, + "SATB1_CHW_FT10": 374, + "t_stamp": 1776695801219 + }, + { + "SATB1_CHW_FT01": 115.6297, + "SATB1_CHW_FT02": 125.8147, + "SATB1_CHW_FT03": 642.43975, + "SATB1_CHW_FT04": 651.5668166666667, + "SATB1_CHW_FT05": 103.94994916581943, + "SATB1_CHW_FT06": 142.87587080430652, + "SATB1_CHW_FT07": 556.2489374822914, + "SATB1_CHW_FT08": 618.0362506041768, + "SATB1_CHW_FT09": 186.1245687428124, + "SATB1_CHW_FT10": 369.30875, + "t_stamp": 1776695831219 + }, + { + "SATB1_CHW_FT01": 116, + "SATB1_CHW_FT02": 126, + "SATB1_CHW_FT03": 643, + "SATB1_CHW_FT04": 652, + "SATB1_CHW_FT05": 105, + "SATB1_CHW_FT06": 143, + "SATB1_CHW_FT07": 556, + "SATB1_CHW_FT08": 611, + "SATB1_CHW_FT09": 186, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776695861219 + }, + { + "SATB1_CHW_FT01": 108.49373333333334, + "SATB1_CHW_FT02": 137.25861235646073, + "SATB1_CHW_FT03": 662.6901246500466, + "SATB1_CHW_FT04": 656.6903488158925, + "SATB1_CHW_FT05": 96.55618146061798, + "SATB1_CHW_FT06": 141.12425838277449, + "SATB1_CHW_FT07": 552.2494334088789, + "SATB1_CHW_FT08": 615.688041594454, + "SATB1_CHW_FT09": 186.93757603026214, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776695891219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 138, + "SATB1_CHW_FT03": 664, + "SATB1_CHW_FT04": 657, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 616, + "SATB1_CHW_FT09": 187, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776695921219 + }, + { + "SATB1_CHW_FT01": 108.93828333333333, + "SATB1_CHW_FT02": 148.32038333333333, + "SATB1_CHW_FT03": 662.1247354122569, + "SATB1_CHW_FT04": 641.990683178053, + "SATB1_CHW_FT05": 88.4944, + "SATB1_CHW_FT06": 138.1863531058851, + "SATB1_CHW_FT07": 514.4940415673594, + "SATB1_CHW_FT08": 572.8696811613527, + "SATB1_CHW_FT09": 186.06240208006935, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776695951219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 149, + "SATB1_CHW_FT03": 662, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 512, + "SATB1_CHW_FT08": 570, + "SATB1_CHW_FT09": 186, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776695981219 + }, + { + "SATB1_CHW_FT01": 109.93828333333333, + "SATB1_CHW_FT02": 130.23597940034333, + "SATB1_CHW_FT03": 687.3148342582871, + "SATB1_CHW_FT04": 650.3803643151176, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 544.8161091945403, + "SATB1_CHW_FT08": 727.5117244137793, + "SATB1_CHW_FT09": 173.81201253249785, + "SATB1_CHW_FT10": 358.679605339911, + "t_stamp": 1776696011219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 129, + "SATB1_CHW_FT03": 689, + "SATB1_CHW_FT04": 651, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 738, + "SATB1_CHW_FT09": 173, + "SATB1_CHW_FT10": 358, + "t_stamp": 1776696041219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 139.3203720062001, + "SATB1_CHW_FT03": 680.5613280664033, + "SATB1_CHW_FT04": 640.6814613576893, + "SATB1_CHW_FT05": 90.81455, + "SATB1_CHW_FT06": 138.9378645954865, + "SATB1_CHW_FT07": 549.8128937631254, + "SATB1_CHW_FT08": 690.1825060835362, + "SATB1_CHW_FT09": 179.5629520984033, + "SATB1_CHW_FT10": 367.3823230387173, + "t_stamp": 1776696071219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 140, + "SATB1_CHW_FT03": 680, + "SATB1_CHW_FT04": 640, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 550, + "SATB1_CHW_FT08": 687, + "SATB1_CHW_FT09": 180, + "SATB1_CHW_FT10": 368, + "t_stamp": 1776696101219 + }, + { + "SATB1_CHW_FT01": 108.12343333333334, + "SATB1_CHW_FT02": 139.06178333333332, + "SATB1_CHW_FT03": 668.748775040832, + "SATB1_CHW_FT04": 615.6107, + "SATB1_CHW_FT05": 94.75273333333334, + "SATB1_CHW_FT06": 138.0621802243221, + "SATB1_CHW_FT07": 550, + "SATB1_CHW_FT08": 714.1899468342194, + "SATB1_CHW_FT09": 191.25061248979185, + "SATB1_CHW_FT10": 375.50574157097384, + "t_stamp": 1776696131219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 139, + "SATB1_CHW_FT03": 668, + "SATB1_CHW_FT04": 614, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 550, + "SATB1_CHW_FT08": 716, + "SATB1_CHW_FT09": 192, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776696161219 + }, + { + "SATB1_CHW_FT01": 110.81485, + "SATB1_CHW_FT02": 146.50573333333332, + "SATB1_CHW_FT03": 682.0609534600836, + "SATB1_CHW_FT04": 631.8235441181373, + "SATB1_CHW_FT05": 95.93819896998284, + "SATB1_CHW_FT06": 135.18640932046603, + "SATB1_CHW_FT07": 550.9374281381747, + "SATB1_CHW_FT08": 707.5638590352412, + "SATB1_CHW_FT09": 177.94049920021328, + "SATB1_CHW_FT10": 374.12353539225654, + "t_stamp": 1776696191219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 147, + "SATB1_CHW_FT03": 683, + "SATB1_CHW_FT04": 633, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 551, + "SATB1_CHW_FT08": 707, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 374, + "t_stamp": 1776696221219 + }, + { + "SATB1_CHW_FT01": 110.06171666666667, + "SATB1_CHW_FT02": 152.629206179897, + "SATB1_CHW_FT03": 673.6241352292997, + "SATB1_CHW_FT04": 640.5044165194494, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 135.93783540548648, + "SATB1_CHW_FT07": 548.1872343262932, + "SATB1_CHW_FT08": 699.4995832360884, + "SATB1_CHW_FT09": 183.56262398933066, + "SATB1_CHW_FT10": 385.25861235646073, + "t_stamp": 1776696251219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 153, + "SATB1_CHW_FT03": 673, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 699, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 386, + "t_stamp": 1776696281219 + }, + { + "SATB1_CHW_FT01": 112.81480308661523, + "SATB1_CHW_FT02": 136.11211853530892, + "SATB1_CHW_FT03": 652.3724562076035, + "SATB1_CHW_FT04": 642.8761625387513, + "SATB1_CHW_FT05": 95.06180103001716, + "SATB1_CHW_FT06": 139.7515209093788, + "SATB1_CHW_FT07": 550.8128937631254, + "SATB1_CHW_FT08": 754.3182772759092, + "SATB1_CHW_FT09": 186.81269375645854, + "SATB1_CHW_FT10": 374.74121235353925, + "t_stamp": 1776696311219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 135, + "SATB1_CHW_FT03": 651, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 551, + "SATB1_CHW_FT08": 758, + "SATB1_CHW_FT09": 187, + "SATB1_CHW_FT10": 374, + "t_stamp": 1776696341219 + }, + { + "SATB1_CHW_FT01": 110.1852, + "SATB1_CHW_FT02": 120.92675, + "SATB1_CHW_FT03": 672.565542759046, + "SATB1_CHW_FT04": 639.2476666666666, + "SATB1_CHW_FT05": 96.8764, + "SATB1_CHW_FT06": 135.31050517508626, + "SATB1_CHW_FT07": 538.8105635093918, + "SATB1_CHW_FT08": 583.6064, + "SATB1_CHW_FT09": 178.5619, + "SATB1_CHW_FT10": 367.4324761253979, + "t_stamp": 1776696371219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 120, + "SATB1_CHW_FT03": 674, + "SATB1_CHW_FT04": 639, + "SATB1_CHW_FT05": 97, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 538, + "SATB1_CHW_FT08": 572, + "SATB1_CHW_FT09": 178, + "SATB1_CHW_FT10": 367, + "t_stamp": 1776696401219 + }, + { + "SATB1_CHW_FT01": 106.24693333333333, + "SATB1_CHW_FT02": 124.69100514991416, + "SATB1_CHW_FT03": 662.7482124702078, + "SATB1_CHW_FT04": 635.2476666666666, + "SATB1_CHW_FT05": 96.06181563640607, + "SATB1_CHW_FT06": 127.49692505124915, + "SATB1_CHW_FT07": 536.1246687444791, + "SATB1_CHW_FT08": 595.4407813593787, + "SATB1_CHW_FT09": 172.37441248041603, + "SATB1_CHW_FT10": 371.6910051499142, + "t_stamp": 1776696431219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 662, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 127, + "SATB1_CHW_FT07": 536, + "SATB1_CHW_FT08": 597, + "SATB1_CHW_FT09": 172, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776696461219 + }, + { + "SATB1_CHW_FT01": 102.24693333333333, + "SATB1_CHW_FT02": 114.6796279937999, + "SATB1_CHW_FT03": 645.1237063578035, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 94.12360206003433, + "SATB1_CHW_FT06": 129.8136031066149, + "SATB1_CHW_FT07": 542.5631197400216, + "SATB1_CHW_FT08": 669.1917506874427, + "SATB1_CHW_FT09": 184.18778435130406, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776696491219 + }, + { + "SATB1_CHW_FT01": 102, + "SATB1_CHW_FT02": 114, + "SATB1_CHW_FT03": 644, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 94, + "SATB1_CHW_FT06": 130, + "SATB1_CHW_FT07": 543, + "SATB1_CHW_FT08": 674, + "SATB1_CHW_FT09": 185, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776696521219 + }, + { + "SATB1_CHW_FT01": 111.38266666666667, + "SATB1_CHW_FT02": 121.50560823986267, + "SATB1_CHW_FT03": 652.4390845598654, + "SATB1_CHW_FT04": 634.061962535831, + "SATB1_CHW_FT05": 94.93818436359393, + "SATB1_CHW_FT06": 147.81946666666667, + "SATB1_CHW_FT07": 546.7507084041738, + "SATB1_CHW_FT08": 710.5687163502408, + "SATB1_CHW_FT09": 185, + "SATB1_CHW_FT10": 381.3820102998283, + "t_stamp": 1776696551219 + }, + { + "SATB1_CHW_FT01": 112, + "SATB1_CHW_FT02": 122, + "SATB1_CHW_FT03": 653, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 149, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 713, + "SATB1_CHW_FT09": 185, + "SATB1_CHW_FT10": 382, + "t_stamp": 1776696581219 + }, + { + "SATB1_CHW_FT01": 109.1852, + "SATB1_CHW_FT02": 122, + "SATB1_CHW_FT03": 663.3138290780614, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 146.1864468925518, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 550.7944803679754, + "SATB1_CHW_FT09": 177.49943337110858, + "SATB1_CHW_FT10": 364.17390289838164, + "t_stamp": 1776696611219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 122, + "SATB1_CHW_FT03": 664, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 146, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 540, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 363, + "t_stamp": 1776696641219 + }, + { + "SATB1_CHW_FT01": 97.74098765020582, + "SATB1_CHW_FT02": 125.75280411993134, + "SATB1_CHW_FT03": 662.1247354122569, + "SATB1_CHW_FT04": 632.1238707956932, + "SATB1_CHW_FT05": 93.12363127281212, + "SATB1_CHW_FT06": 143.1862624174945, + "SATB1_CHW_FT07": 501.99289976332545, + "SATB1_CHW_FT08": 555.0016, + "SATB1_CHW_FT09": 166.68659477657962, + "SATB1_CHW_FT10": 365.81465000000003, + "t_stamp": 1776696671219 + }, + { + "SATB1_CHW_FT01": 97, + "SATB1_CHW_FT02": 126, + "SATB1_CHW_FT03": 662, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 93, + "SATB1_CHW_FT06": 143, + "SATB1_CHW_FT07": 499, + "SATB1_CHW_FT08": 556, + "SATB1_CHW_FT09": 166, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776696701219 + }, + { + "SATB1_CHW_FT01": 105.44425, + "SATB1_CHW_FT02": 123.1854, + "SATB1_CHW_FT03": 671.376802173442, + "SATB1_CHW_FT04": 644.1952731757725, + "SATB1_CHW_FT05": 88.30900515008584, + "SATB1_CHW_FT06": 141.12416666666667, + "SATB1_CHW_FT07": 529.94399719986, + "SATB1_CHW_FT08": 566.3142876191746, + "SATB1_CHW_FT09": 166.93763021484406, + "SATB1_CHW_FT10": 371.6293, + "t_stamp": 1776696731219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 123, + "SATB1_CHW_FT03": 672, + "SATB1_CHW_FT04": 645, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 532, + "SATB1_CHW_FT08": 567, + "SATB1_CHW_FT09": 167, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776696761219 + }, + { + "SATB1_CHW_FT01": 113.506, + "SATB1_CHW_FT02": 124.8764, + "SATB1_CHW_FT03": 654.1840166666667, + "SATB1_CHW_FT04": 641.2476625389577, + "SATB1_CHW_FT05": 89.87636872718788, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 540.4393, + "SATB1_CHW_FT08": 688.8966666666666, + "SATB1_CHW_FT09": 179.1894364906082, + "SATB1_CHW_FT10": 359.8033866102232, + "t_stamp": 1776696791219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 653, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 541, + "SATB1_CHW_FT08": 697, + "SATB1_CHW_FT09": 180, + "SATB1_CHW_FT10": 359, + "t_stamp": 1776696821219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 126.8764, + "SATB1_CHW_FT03": 622.0543869591306, + "SATB1_CHW_FT04": 639.1238020633677, + "SATB1_CHW_FT05": 86.24726666666666, + "SATB1_CHW_FT06": 142.87589793163218, + "SATB1_CHW_FT07": 556.0042002800187, + "SATB1_CHW_FT08": 648.2380825388359, + "SATB1_CHW_FT09": 193.12797519834655, + "SATB1_CHW_FT10": 359, + "t_stamp": 1776696851219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 127, + "SATB1_CHW_FT03": 620, + "SATB1_CHW_FT04": 639, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 143, + "SATB1_CHW_FT07": 557, + "SATB1_CHW_FT08": 645, + "SATB1_CHW_FT09": 194, + "SATB1_CHW_FT10": 359, + "t_stamp": 1776696881219 + }, + { + "SATB1_CHW_FT01": 106.494, + "SATB1_CHW_FT02": 113.86563781207293, + "SATB1_CHW_FT03": 625.6254686640782, + "SATB1_CHW_FT04": 640.8760436630281, + "SATB1_CHW_FT05": 89.75260824639179, + "SATB1_CHW_FT06": 151.440424610052, + "SATB1_CHW_FT07": 556.0624208491635, + "SATB1_CHW_FT08": 619.6862627474505, + "SATB1_CHW_FT09": 199.625174965007, + "SATB1_CHW_FT10": 356.1854438185394, + "t_stamp": 1776696911219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 113, + "SATB1_CHW_FT03": 626, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 152, + "SATB1_CHW_FT07": 556, + "SATB1_CHW_FT08": 618, + "SATB1_CHW_FT09": 200, + "SATB1_CHW_FT10": 356, + "t_stamp": 1776696941219 + }, + { + "SATB1_CHW_FT01": 98.494, + "SATB1_CHW_FT02": 132.70182836380607, + "SATB1_CHW_FT03": 638.1877572788027, + "SATB1_CHW_FT04": 632.5581313956202, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 144.49771674277525, + "SATB1_CHW_FT07": 518.498583380554, + "SATB1_CHW_FT08": 555.1873604213193, + "SATB1_CHW_FT09": 178.43819475692882, + "SATB1_CHW_FT10": 362.5672833333333, + "t_stamp": 1776696971219 + }, + { + "SATB1_CHW_FT01": 98, + "SATB1_CHW_FT02": 134, + "SATB1_CHW_FT03": 639, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 144, + "SATB1_CHW_FT07": 516, + "SATB1_CHW_FT08": 551, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 363, + "t_stamp": 1776697001219 + }, + { + "SATB1_CHW_FT01": 106.44425, + "SATB1_CHW_FT02": 123.68032732242258, + "SATB1_CHW_FT03": 639, + "SATB1_CHW_FT04": 622.6198539951332, + "SATB1_CHW_FT05": 90.93813436442726, + "SATB1_CHW_FT06": 141.1866968883852, + "SATB1_CHW_FT07": 494.43637393956567, + "SATB1_CHW_FT08": 551, + "SATB1_CHW_FT09": 183.56237603960065, + "SATB1_CHW_FT10": 362.0618323027949, + "t_stamp": 1776697031219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 123, + "SATB1_CHW_FT03": 639, + "SATB1_CHW_FT04": 622, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 493, + "SATB1_CHW_FT08": 551, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 362, + "t_stamp": 1776697061219 + }, + { + "SATB1_CHW_FT01": 80.729, + "SATB1_CHW_FT02": 142.70213510675535, + "SATB1_CHW_FT03": 658.6914819136523, + "SATB1_CHW_FT04": 626.6903178492258, + "SATB1_CHW_FT05": 96.6290814540727, + "SATB1_CHW_FT06": 132.55897452993733, + "SATB1_CHW_FT07": 522.0688948158027, + "SATB1_CHW_FT08": 605.3850308384731, + "SATB1_CHW_FT09": 168.059860974512, + "SATB1_CHW_FT10": 369.5055835194506, + "t_stamp": 1776697091219 + }, + { + "SATB1_CHW_FT01": 79, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 660, + "SATB1_CHW_FT04": 627, + "SATB1_CHW_FT05": 97, + "SATB1_CHW_FT06": 132, + "SATB1_CHW_FT07": 524, + "SATB1_CHW_FT08": 609, + "SATB1_CHW_FT09": 167, + "SATB1_CHW_FT10": 370, + "t_stamp": 1776697121219 + }, + { + "SATB1_CHW_FT01": 105.27056215729738, + "SATB1_CHW_FT02": 159.94913418109698, + "SATB1_CHW_FT03": 658.124975004999, + "SATB1_CHW_FT04": 639.1946634222763, + "SATB1_CHW_FT05": 87.61832302794953, + "SATB1_CHW_FT06": 137.62730621156314, + "SATB1_CHW_FT07": 549.3137091533218, + "SATB1_CHW_FT08": 789.9336810357756, + "SATB1_CHW_FT09": 172.62459385153713, + "SATB1_CHW_FT10": 357.8034, + "t_stamp": 1776697151219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 161, + "SATB1_CHW_FT03": 658, + "SATB1_CHW_FT04": 640, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 551, + "SATB1_CHW_FT08": 802, + "SATB1_CHW_FT09": 173, + "SATB1_CHW_FT10": 357, + "t_stamp": 1776697181219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 137.54580756987383, + "SATB1_CHW_FT03": 658, + "SATB1_CHW_FT04": 640.9380187327089, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 140.81304050788995, + "SATB1_CHW_FT07": 545.375268727606, + "SATB1_CHW_FT08": 695.1341432928353, + "SATB1_CHW_FT09": 187.06078130728974, + "SATB1_CHW_FT10": 357.93816872770907, + "t_stamp": 1776697211219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 136, + "SATB1_CHW_FT03": 658, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 688, + "SATB1_CHW_FT09": 188, + "SATB1_CHW_FT10": 358, + "t_stamp": 1776697241219 + }, + { + "SATB1_CHW_FT01": 109.8147, + "SATB1_CHW_FT02": 134.12363539392322, + "SATB1_CHW_FT03": 663.6261002934116, + "SATB1_CHW_FT04": 638.1858561952065, + "SATB1_CHW_FT05": 94.50532508875148, + "SATB1_CHW_FT06": 144.75154202647283, + "SATB1_CHW_FT07": 549.6885002667378, + "SATB1_CHW_FT08": 656.1193318218192, + "SATB1_CHW_FT09": 174.8729139922978, + "SATB1_CHW_FT10": 366.44364072734544, + "t_stamp": 1776697271219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 134, + "SATB1_CHW_FT03": 664, + "SATB1_CHW_FT04": 638, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 145, + "SATB1_CHW_FT07": 550, + "SATB1_CHW_FT08": 654, + "SATB1_CHW_FT09": 174, + "SATB1_CHW_FT10": 367, + "t_stamp": 1776697301219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 118.98956701443285, + "SATB1_CHW_FT03": 623.6795720071332, + "SATB1_CHW_FT04": 643.6282061965634, + "SATB1_CHW_FT05": 93.1236979383677, + "SATB1_CHW_FT06": 140.3105781570307, + "SATB1_CHW_FT07": 556.5639072682122, + "SATB1_CHW_FT08": 712.135397743371, + "SATB1_CHW_FT09": 183.37651039149347, + "SATB1_CHW_FT10": 375.44350927484544, + "t_stamp": 1776697331219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 118, + "SATB1_CHW_FT03": 621, + "SATB1_CHW_FT04": 644, + "SATB1_CHW_FT05": 93, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 557, + "SATB1_CHW_FT08": 716, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776697361219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 114.24733745562426, + "SATB1_CHW_FT03": 634.1269103211506, + "SATB1_CHW_FT04": 628.0531675527925, + "SATB1_CHW_FT05": 87.37100618343639, + "SATB1_CHW_FT06": 138.12429585680476, + "SATB1_CHW_FT07": 554.1870406479676, + "SATB1_CHW_FT08": 690.6842657867106, + "SATB1_CHW_FT09": 176.49917504124795, + "SATB1_CHW_FT10": 369.43272387873134, + "t_stamp": 1776697391219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 114, + "SATB1_CHW_FT03": 635, + "SATB1_CHW_FT04": 627, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 689, + "SATB1_CHW_FT09": 176, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776697421219 + }, + { + "SATB1_CHW_FT01": 108.12353333333333, + "SATB1_CHW_FT02": 131.82516666666666, + "SATB1_CHW_FT03": 647.1894364906082, + "SATB1_CHW_FT04": 643.8846185896901, + "SATB1_CHW_FT05": 95.4435, + "SATB1_CHW_FT06": 139.87579378968948, + "SATB1_CHW_FT07": 555.8753312555209, + "SATB1_CHW_FT08": 729.3181886364773, + "SATB1_CHW_FT09": 176.9376156269271, + "SATB1_CHW_FT10": 384.94911666666667, + "t_stamp": 1776697451219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 133, + "SATB1_CHW_FT03": 648, + "SATB1_CHW_FT04": 645, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 556, + "SATB1_CHW_FT08": 732, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 386, + "t_stamp": 1776697481219 + }, + { + "SATB1_CHW_FT01": 105.18534691088482, + "SATB1_CHW_FT02": 131.12366666666668, + "SATB1_CHW_FT03": 635.81055, + "SATB1_CHW_FT04": 649.6899321700581, + "SATB1_CHW_FT05": 88.49479175347078, + "SATB1_CHW_FT06": 145.627024865009, + "SATB1_CHW_FT07": 556.9376666666667, + "SATB1_CHW_FT08": 742.3139666666667, + "SATB1_CHW_FT09": 193.87709999999998, + "SATB1_CHW_FT10": 367.2366460558991, + "t_stamp": 1776697511219 + }, + { + "SATB1_CHW_FT01": 105, + "SATB1_CHW_FT02": 131, + "SATB1_CHW_FT03": 635, + "SATB1_CHW_FT04": 650, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 146, + "SATB1_CHW_FT07": 557, + "SATB1_CHW_FT08": 743, + "SATB1_CHW_FT09": 195, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776697541219 + }, + { + "SATB1_CHW_FT01": 109.69108333333334, + "SATB1_CHW_FT02": 108.484, + "SATB1_CHW_FT03": 634.0623343722395, + "SATB1_CHW_FT04": 641.5577278863943, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 145.0621197726553, + "SATB1_CHW_FT07": 553.2492708211804, + "SATB1_CHW_FT08": 728.9352655877598, + "SATB1_CHW_FT09": 178.12261871031183, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776697571219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 107, + "SATB1_CHW_FT03": 634, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 145, + "SATB1_CHW_FT07": 553, + "SATB1_CHW_FT08": 728, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776697601219 + }, + { + "SATB1_CHW_FT01": 111.87643333333334, + "SATB1_CHW_FT02": 121.0725, + "SATB1_CHW_FT03": 640.5636666666667, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 98.31965, + "SATB1_CHW_FT06": 139.37279378677022, + "SATB1_CHW_FT07": 553.9376833333333, + "SATB1_CHW_FT08": 724.2494, + "SATB1_CHW_FT09": 176.06236666666666, + "SATB1_CHW_FT10": 375.38183333333336, + "t_stamp": 1776697631219 + }, + { + "SATB1_CHW_FT01": 112, + "SATB1_CHW_FT02": 122, + "SATB1_CHW_FT03": 641, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 99, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 724, + "SATB1_CHW_FT09": 176, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776697661219 + }, + { + "SATB1_CHW_FT01": 111.06178333333334, + "SATB1_CHW_FT02": 121.06184896918384, + "SATB1_CHW_FT03": 642.8754271046886, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 99.93813436442726, + "SATB1_CHW_FT06": 137.124204140138, + "SATB1_CHW_FT07": 557.7508583619453, + "SATB1_CHW_FT08": 664.9260808693623, + "SATB1_CHW_FT09": 175.06233541118038, + "SATB1_CHW_FT10": 367.5566314456185, + "t_stamp": 1776697691219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 121, + "SATB1_CHW_FT03": 643, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 100, + "SATB1_CHW_FT06": 137, + "SATB1_CHW_FT07": 558, + "SATB1_CHW_FT08": 661, + "SATB1_CHW_FT09": 175, + "SATB1_CHW_FT10": 367, + "t_stamp": 1776697721219 + }, + { + "SATB1_CHW_FT01": 110.06178333333334, + "SATB1_CHW_FT02": 128.50532508875148, + "SATB1_CHW_FT03": 650.5014832838906, + "SATB1_CHW_FT04": 634.4337666666667, + "SATB1_CHW_FT05": 94.37110618510309, + "SATB1_CHW_FT06": 139.81365310578158, + "SATB1_CHW_FT07": 555.186896885052, + "SATB1_CHW_FT08": 615.0542824286262, + "SATB1_CHW_FT09": 164.68583856935717, + "SATB1_CHW_FT10": 361.3710061834364, + "t_stamp": 1776697751219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 129, + "SATB1_CHW_FT03": 651, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 94, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 612, + "SATB1_CHW_FT09": 164, + "SATB1_CHW_FT10": 361, + "t_stamp": 1776697781219 + }, + { + "SATB1_CHW_FT01": 113.75286666666666, + "SATB1_CHW_FT02": 138.38135395486816, + "SATB1_CHW_FT03": 650.062347921736, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 95.87623745875138, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 551.2493250224993, + "SATB1_CHW_FT08": 692.6366454451518, + "SATB1_CHW_FT09": 179.00164991750412, + "SATB1_CHW_FT10": 371.3196613389777, + "t_stamp": 1776697811219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 139, + "SATB1_CHW_FT03": 650, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 551, + "SATB1_CHW_FT08": 698, + "SATB1_CHW_FT09": 180, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776697841219 + }, + { + "SATB1_CHW_FT01": 113.06178333333334, + "SATB1_CHW_FT02": 129.61851030850514, + "SATB1_CHW_FT03": 654.6877812218778, + "SATB1_CHW_FT04": 621.8062032299462, + "SATB1_CHW_FT05": 87.55680928015467, + "SATB1_CHW_FT06": 134.37318134093294, + "SATB1_CHW_FT07": 559.4381561843816, + "SATB1_CHW_FT08": 600.4958837449589, + "SATB1_CHW_FT09": 178.12498750124988, + "SATB1_CHW_FT10": 366.3710061834364, + "t_stamp": 1776697871219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 129, + "SATB1_CHW_FT03": 655, + "SATB1_CHW_FT04": 621, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 560, + "SATB1_CHW_FT08": 594, + "SATB1_CHW_FT09": 178, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776697901219 + }, + { + "SATB1_CHW_FT01": 116.75280411993134, + "SATB1_CHW_FT02": 125.2474, + "SATB1_CHW_FT03": 677.504575686353, + "SATB1_CHW_FT04": 632.2563628181409, + "SATB1_CHW_FT05": 90.75253333333333, + "SATB1_CHW_FT06": 139.62726893907825, + "SATB1_CHW_FT07": 552.498466462195, + "SATB1_CHW_FT08": 651.1971596212828, + "SATB1_CHW_FT09": 186.43876581487223, + "SATB1_CHW_FT10": 368.8145, + "t_stamp": 1776697931219 + }, + { + "SATB1_CHW_FT01": 117, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 679, + "SATB1_CHW_FT04": 633, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 655, + "SATB1_CHW_FT09": 187, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776697961219 + }, + { + "SATB1_CHW_FT01": 104.8034, + "SATB1_CHW_FT02": 146.57780963016052, + "SATB1_CHW_FT03": 657.4357752299693, + "SATB1_CHW_FT04": 633.938017699705, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 138.12445214724949, + "SATB1_CHW_FT07": 556.6879530721416, + "SATB1_CHW_FT08": 725.3167963737563, + "SATB1_CHW_FT09": 184.18742500999866, + "SATB1_CHW_FT10": 350.2366666666667, + "t_stamp": 1776697991219 + }, + { + "SATB1_CHW_FT01": 104, + "SATB1_CHW_FT02": 148, + "SATB1_CHW_FT03": 656, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 557, + "SATB1_CHW_FT08": 730, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 349, + "t_stamp": 1776698021219 + }, + { + "SATB1_CHW_FT01": 113.382, + "SATB1_CHW_FT02": 139.55706286247585, + "SATB1_CHW_FT03": 645.6891725264105, + "SATB1_CHW_FT04": 640.5656789547363, + "SATB1_CHW_FT05": 87.24765015665622, + "SATB1_CHW_FT06": 135.18665311088517, + "SATB1_CHW_FT07": 555.1252395314349, + "SATB1_CHW_FT08": 656.8905958411091, + "SATB1_CHW_FT09": 200.87052001932787, + "SATB1_CHW_FT10": 354.6287185640718, + "t_stamp": 1776698051219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 139, + "SATB1_CHW_FT03": 645, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 652, + "SATB1_CHW_FT09": 202, + "SATB1_CHW_FT10": 355, + "t_stamp": 1776698081219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 125.86638110635177, + "SATB1_CHW_FT03": 675.9366404960745, + "SATB1_CHW_FT04": 621.3033782770287, + "SATB1_CHW_FT05": 89.81429690494842, + "SATB1_CHW_FT06": 135.93775207493084, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 749.4937156192699, + "SATB1_CHW_FT09": 189.81373251762824, + "SATB1_CHW_FT10": 362.50505841764027, + "t_stamp": 1776698111219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 678, + "SATB1_CHW_FT04": 620, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 756, + "SATB1_CHW_FT09": 189, + "SATB1_CHW_FT10": 363, + "t_stamp": 1776698141219 + }, + { + "SATB1_CHW_FT01": 112.12363333333333, + "SATB1_CHW_FT02": 124.06186769779497, + "SATB1_CHW_FT03": 666.7485122768416, + "SATB1_CHW_FT04": 620, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 554.062359353903, + "SATB1_CHW_FT08": 595.6693282213703, + "SATB1_CHW_FT09": 194.6255313474137, + "SATB1_CHW_FT10": 375.1959365989433, + "t_stamp": 1776698171219 + }, + { + "SATB1_CHW_FT01": 112, + "SATB1_CHW_FT02": 124, + "SATB1_CHW_FT03": 666, + "SATB1_CHW_FT04": 620, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 585, + "SATB1_CHW_FT09": 195, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776698201219 + }, + { + "SATB1_CHW_FT01": 111.06181666666667, + "SATB1_CHW_FT02": 133.38102063264557, + "SATB1_CHW_FT03": 661.3120677299469, + "SATB1_CHW_FT04": 644.3871870937635, + "SATB1_CHW_FT05": 101.25703714814259, + "SATB1_CHW_FT06": 135.06221355598888, + "SATB1_CHW_FT07": 554.937603119844, + "SATB1_CHW_FT08": 743.4492942019566, + "SATB1_CHW_FT09": 182.81180940952953, + "SATB1_CHW_FT10": 372.24758762061896, + "t_stamp": 1776698231219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 134, + "SATB1_CHW_FT03": 661, + "SATB1_CHW_FT04": 646, + "SATB1_CHW_FT05": 102, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 754, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776698261219 + }, + { + "SATB1_CHW_FT01": 111.93818333333333, + "SATB1_CHW_FT02": 116.17550585019501, + "SATB1_CHW_FT03": 660.0624010400173, + "SATB1_CHW_FT04": 644.1240041334711, + "SATB1_CHW_FT05": 90.74262475415847, + "SATB1_CHW_FT06": 139.68907296909896, + "SATB1_CHW_FT07": 554.0624, + "SATB1_CHW_FT08": 752.1248354139236, + "SATB1_CHW_FT09": 179.18730312171868, + "SATB1_CHW_FT10": 375.75252508416946, + "t_stamp": 1776698291219 + }, + { + "SATB1_CHW_FT01": 112, + "SATB1_CHW_FT02": 115, + "SATB1_CHW_FT03": 660, + "SATB1_CHW_FT04": 644, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 752, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776698321219 + }, + { + "SATB1_CHW_FT01": 109.18545, + "SATB1_CHW_FT02": 121.56682388626857, + "SATB1_CHW_FT03": 655.3117655882794, + "SATB1_CHW_FT04": 635.558, + "SATB1_CHW_FT05": 88.12379793670105, + "SATB1_CHW_FT06": 139.06213644015534, + "SATB1_CHW_FT07": 555.8753250216681, + "SATB1_CHW_FT08": 662.9251295898129, + "SATB1_CHW_FT09": 189.31374902078437, + "SATB1_CHW_FT10": 357.2373333333333, + "t_stamp": 1776698351219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 122, + "SATB1_CHW_FT03": 655, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 556, + "SATB1_CHW_FT08": 657, + "SATB1_CHW_FT09": 190, + "SATB1_CHW_FT10": 356, + "t_stamp": 1776698381219 + }, + { + "SATB1_CHW_FT01": 110.87636666666667, + "SATB1_CHW_FT02": 111.6805446757446, + "SATB1_CHW_FT03": 649.3741937634372, + "SATB1_CHW_FT04": 643.4417186093797, + "SATB1_CHW_FT05": 89.87623127052117, + "SATB1_CHW_FT06": 142.75127910271152, + "SATB1_CHW_FT07": 547.5611406476559, + "SATB1_CHW_FT08": 653.2495291745138, + "SATB1_CHW_FT09": 173.123181280312, + "SATB1_CHW_FT10": 352.2474041234021, + "t_stamp": 1776698411219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 111, + "SATB1_CHW_FT03": 649, + "SATB1_CHW_FT04": 644, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 143, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 653, + "SATB1_CHW_FT09": 172, + "SATB1_CHW_FT10": 352, + "t_stamp": 1776698441219 + }, + { + "SATB1_CHW_FT01": 107.24726666666666, + "SATB1_CHW_FT02": 123.19573333333334, + "SATB1_CHW_FT03": 661.1896396546551, + "SATB1_CHW_FT04": 634.6200206673556, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 138.3106822007767, + "SATB1_CHW_FT07": 552.6260875362512, + "SATB1_CHW_FT08": 767.3930464348812, + "SATB1_CHW_FT09": 180.43868128937632, + "SATB1_CHW_FT10": 358.56705, + "t_stamp": 1776698471219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 124, + "SATB1_CHW_FT03": 662, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 553, + "SATB1_CHW_FT08": 775, + "SATB1_CHW_FT09": 181, + "SATB1_CHW_FT10": 359, + "t_stamp": 1776698501219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 130.56693333333334, + "SATB1_CHW_FT03": 673.2521875364589, + "SATB1_CHW_FT04": 628.3719061984366, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 138.93786666666668, + "SATB1_CHW_FT07": 553.9376989616494, + "SATB1_CHW_FT08": 709.3623120770692, + "SATB1_CHW_FT09": 186.6258937648961, + "SATB1_CHW_FT10": 364.62880618656357, + "t_stamp": 1776698531219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 131, + "SATB1_CHW_FT03": 674, + "SATB1_CHW_FT04": 628, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 705, + "SATB1_CHW_FT09": 187, + "SATB1_CHW_FT10": 365, + "t_stamp": 1776698561219 + }, + { + "SATB1_CHW_FT01": 106.06181666666667, + "SATB1_CHW_FT02": 143.19553007449875, + "SATB1_CHW_FT03": 663.6856552390793, + "SATB1_CHW_FT04": 636.442009299845, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 134.31066666666666, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 692.8105229825672, + "SATB1_CHW_FT09": 180.43655939067682, + "SATB1_CHW_FT10": 365.9381333333333, + "t_stamp": 1776698591219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 663, + "SATB1_CHW_FT04": 637, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 692, + "SATB1_CHW_FT09": 180, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776698621219 + }, + { + "SATB1_CHW_FT01": 104.12363333333333, + "SATB1_CHW_FT02": 136.4949415823597, + "SATB1_CHW_FT03": 655.4985416423607, + "SATB1_CHW_FT04": 644.5041250687511, + "SATB1_CHW_FT05": 93.75246254104235, + "SATB1_CHW_FT06": 125.5592, + "SATB1_CHW_FT07": 547.4361072684545, + "SATB1_CHW_FT08": 712.6286438107302, + "SATB1_CHW_FT09": 174.3741062351039, + "SATB1_CHW_FT10": 362.24746666666664, + "t_stamp": 1776698651219 + }, + { + "SATB1_CHW_FT01": 104, + "SATB1_CHW_FT02": 136, + "SATB1_CHW_FT03": 655, + "SATB1_CHW_FT04": 645, + "SATB1_CHW_FT05": 94, + "SATB1_CHW_FT06": 125, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 714, + "SATB1_CHW_FT09": 174, + "SATB1_CHW_FT10": 362, + "t_stamp": 1776698681219 + }, + { + "SATB1_CHW_FT01": 104, + "SATB1_CHW_FT02": 125.68087730408986, + "SATB1_CHW_FT03": 635.309634518274, + "SATB1_CHW_FT04": 645.9379854004867, + "SATB1_CHW_FT05": 84.61914602846572, + "SATB1_CHW_FT06": 125.93781977567788, + "SATB1_CHW_FT07": 547.9376374908339, + "SATB1_CHW_FT08": 711.1871406429678, + "SATB1_CHW_FT09": 180.56322183890805, + "SATB1_CHW_FT10": 360.1237646039233, + "t_stamp": 1776698711219 + }, + { + "SATB1_CHW_FT01": 104, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 634, + "SATB1_CHW_FT04": 646, + "SATB1_CHW_FT05": 84, + "SATB1_CHW_FT06": 126, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 711, + "SATB1_CHW_FT09": 181, + "SATB1_CHW_FT10": 360, + "t_stamp": 1776698741219 + }, + { + "SATB1_CHW_FT01": 104, + "SATB1_CHW_FT02": 131.56691889729657, + "SATB1_CHW_FT03": 661.193179545303, + "SATB1_CHW_FT04": 641.3100051667528, + "SATB1_CHW_FT05": 89.62868762292076, + "SATB1_CHW_FT06": 140.0679533976699, + "SATB1_CHW_FT07": 540.4984332288819, + "SATB1_CHW_FT08": 642.5494199613307, + "SATB1_CHW_FT09": 181.93766251083406, + "SATB1_CHW_FT10": 369.38132302205037, + "t_stamp": 1776698771219 + }, + { + "SATB1_CHW_FT01": 104, + "SATB1_CHW_FT02": 132, + "SATB1_CHW_FT03": 663, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 540, + "SATB1_CHW_FT08": 638, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 370, + "t_stamp": 1776698801219 + }, + { + "SATB1_CHW_FT01": 104.93816666666666, + "SATB1_CHW_FT02": 143.2574123764604, + "SATB1_CHW_FT03": 640.4955750737488, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 88.12376666666667, + "SATB1_CHW_FT06": 134.43493333333333, + "SATB1_CHW_FT07": 545.6262, + "SATB1_CHW_FT08": 695.1977300378327, + "SATB1_CHW_FT09": 179.18704688255195, + "SATB1_CHW_FT10": 364.3712, + "t_stamp": 1776698831219 + }, + { + "SATB1_CHW_FT01": 105, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 639, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 546, + "SATB1_CHW_FT08": 699, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 364, + "t_stamp": 1776698861219 + }, + { + "SATB1_CHW_FT01": 105, + "SATB1_CHW_FT02": 154.31945532425542, + "SATB1_CHW_FT03": 629.6237917472168, + "SATB1_CHW_FT04": 636.3099948334194, + "SATB1_CHW_FT05": 83.30941666666666, + "SATB1_CHW_FT06": 123.68398246754329, + "SATB1_CHW_FT07": 558.1892873808413, + "SATB1_CHW_FT08": 663.371041930538, + "SATB1_CHW_FT09": 203.37727484834343, + "SATB1_CHW_FT10": 365.87626666666665, + "t_stamp": 1776698891219 + }, + { + "SATB1_CHW_FT01": 105, + "SATB1_CHW_FT02": 155, + "SATB1_CHW_FT03": 629, + "SATB1_CHW_FT04": 636, + "SATB1_CHW_FT05": 83, + "SATB1_CHW_FT06": 123, + "SATB1_CHW_FT07": 559, + "SATB1_CHW_FT08": 661, + "SATB1_CHW_FT09": 205, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776698921219 + }, + { + "SATB1_CHW_FT01": 105.93816666666666, + "SATB1_CHW_FT02": 126.85646905884903, + "SATB1_CHW_FT03": 618.6857009517142, + "SATB1_CHW_FT04": 631.31, + "SATB1_CHW_FT05": 87.69058333333334, + "SATB1_CHW_FT06": 133.31632721090702, + "SATB1_CHW_FT07": 547.7480249341645, + "SATB1_CHW_FT08": 704.1317565878294, + "SATB1_CHW_FT09": 183.43486449548317, + "SATB1_CHW_FT10": 361.3093333333333, + "t_stamp": 1776698951219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 618, + "SATB1_CHW_FT04": 631, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 707, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 361, + "t_stamp": 1776698981219 + }, + { + "SATB1_CHW_FT01": 112.56716666666667, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 636.7489585763321, + "SATB1_CHW_FT04": 632.8759687338544, + "SATB1_CHW_FT05": 90.81430309494841, + "SATB1_CHW_FT06": 146.1918468025533, + "SATB1_CHW_FT07": 551.6873177478213, + "SATB1_CHW_FT08": 736.0594008264463, + "SATB1_CHW_FT09": 165.1276804905277, + "SATB1_CHW_FT10": 367.56693333333334, + "t_stamp": 1776699011219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 638, + "SATB1_CHW_FT04": 633, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 147, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 738, + "SATB1_CHW_FT09": 164, + "SATB1_CHW_FT10": 368, + "t_stamp": 1776699041219 + }, + { + "SATB1_CHW_FT01": 106.43283333333333, + "SATB1_CHW_FT02": 135.3191113481442, + "SATB1_CHW_FT03": 656.7499166611108, + "SATB1_CHW_FT04": 642.3793643651151, + "SATB1_CHW_FT05": 90.06191563473942, + "SATB1_CHW_FT06": 136.6846929422548, + "SATB1_CHW_FT07": 556.687562504167, + "SATB1_CHW_FT08": 775.4984582048504, + "SATB1_CHW_FT09": 178.0616405247279, + "SATB1_CHW_FT10": 368, + "t_stamp": 1776699071219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 136, + "SATB1_CHW_FT03": 658, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 557, + "SATB1_CHW_FT08": 778, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 368, + "t_stamp": 1776699101219 + }, + { + "SATB1_CHW_FT01": 113.50533333333334, + "SATB1_CHW_FT02": 139.7522749241692, + "SATB1_CHW_FT03": 649.5626406226563, + "SATB1_CHW_FT04": 616.7378666666667, + "SATB1_CHW_FT05": 88.12389587013766, + "SATB1_CHW_FT06": 134.12453125781238, + "SATB1_CHW_FT07": 548.5624906251562, + "SATB1_CHW_FT08": 699.2528, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 358.6191460284657, + "t_stamp": 1776699131219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 140, + "SATB1_CHW_FT03": 649, + "SATB1_CHW_FT04": 615, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 694, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 358, + "t_stamp": 1776699161219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 123.1148, + "SATB1_CHW_FT03": 641.5008832450088, + "SATB1_CHW_FT04": 641.2608202923187, + "SATB1_CHW_FT05": 91.7521374643756, + "SATB1_CHW_FT06": 139.6259311724023, + "SATB1_CHW_FT07": 554.5618438156184, + "SATB1_CHW_FT08": 699.6242375762424, + "SATB1_CHW_FT09": 188.37339599373396, + "SATB1_CHW_FT10": 358, + "t_stamp": 1776699191219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 122, + "SATB1_CHW_FT03": 641, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 92, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 700, + "SATB1_CHW_FT09": 189, + "SATB1_CHW_FT10": 358, + "t_stamp": 1776699221219 + }, + { + "SATB1_CHW_FT01": 110.24739587673538, + "SATB1_CHW_FT02": 141.6997283288055, + "SATB1_CHW_FT03": 651.3117322532794, + "SATB1_CHW_FT04": 636.4347072451208, + "SATB1_CHW_FT05": 99.50451681722724, + "SATB1_CHW_FT06": 135.31143742916194, + "SATB1_CHW_FT07": 548.4378718935947, + "SATB1_CHW_FT08": 737.4965414937413, + "SATB1_CHW_FT09": 185.2504166944463, + "SATB1_CHW_FT10": 370.1952865881098, + "t_stamp": 1776699251219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 143, + "SATB1_CHW_FT03": 652, + "SATB1_CHW_FT04": 636, + "SATB1_CHW_FT05": 100, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 740, + "SATB1_CHW_FT09": 185, + "SATB1_CHW_FT10": 371, + "t_stamp": 1776699281219 + }, + { + "SATB1_CHW_FT01": 103.43295, + "SATB1_CHW_FT02": 144.87616666666668, + "SATB1_CHW_FT03": 670.7467919874679, + "SATB1_CHW_FT04": 628.4974252145655, + "SATB1_CHW_FT05": 83.1148, + "SATB1_CHW_FT06": 133.12475419124755, + "SATB1_CHW_FT07": 550.8120219307748, + "SATB1_CHW_FT08": 593.7800589931174, + "SATB1_CHW_FT09": 185.937275029996, + "SATB1_CHW_FT10": 369.1238, + "t_stamp": 1776699311219 + }, + { + "SATB1_CHW_FT01": 103, + "SATB1_CHW_FT02": 145, + "SATB1_CHW_FT03": 672, + "SATB1_CHW_FT04": 628, + "SATB1_CHW_FT05": 82, + "SATB1_CHW_FT06": 133, + "SATB1_CHW_FT07": 551, + "SATB1_CHW_FT08": 584, + "SATB1_CHW_FT09": 186, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776699341219 + }, + { + "SATB1_CHW_FT01": 102.06185, + "SATB1_CHW_FT02": 139.3715, + "SATB1_CHW_FT03": 652.3127187864644, + "SATB1_CHW_FT04": 643.0068174620372, + "SATB1_CHW_FT05": 83.87613333333333, + "SATB1_CHW_FT06": 133.93774169889318, + "SATB1_CHW_FT07": 541.6249479071163, + "SATB1_CHW_FT08": 627.123706012769, + "SATB1_CHW_FT09": 185.06256146960277, + "SATB1_CHW_FT10": 371.8143, + "t_stamp": 1776699371219 + }, + { + "SATB1_CHW_FT01": 102, + "SATB1_CHW_FT02": 139, + "SATB1_CHW_FT03": 651, + "SATB1_CHW_FT04": 644, + "SATB1_CHW_FT05": 84, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 541, + "SATB1_CHW_FT08": 630, + "SATB1_CHW_FT09": 185, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776699401219 + }, + { + "SATB1_CHW_FT01": 110.44335, + "SATB1_CHW_FT02": 135.24760412673544, + "SATB1_CHW_FT03": 638.8112811281128, + "SATB1_CHW_FT04": 623.3647788259609, + "SATB1_CHW_FT05": 85.87616460274337, + "SATB1_CHW_FT06": 136.81339066953348, + "SATB1_CHW_FT07": 551.3137147048038, + "SATB1_CHW_FT08": 730.3207487415408, + "SATB1_CHW_FT09": 187.81267814578368, + "SATB1_CHW_FT10": 362.619, + "t_stamp": 1776699431219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 135, + "SATB1_CHW_FT03": 638, + "SATB1_CHW_FT04": 622, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 137, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 737, + "SATB1_CHW_FT09": 188, + "SATB1_CHW_FT10": 362, + "t_stamp": 1776699461219 + }, + { + "SATB1_CHW_FT01": 110.06185, + "SATB1_CHW_FT02": 131.24766253895768, + "SATB1_CHW_FT03": 648.3139437981266, + "SATB1_CHW_FT04": 650.139, + "SATB1_CHW_FT05": 87.87613539774337, + "SATB1_CHW_FT06": 137, + "SATB1_CHW_FT07": 551.0623677061284, + "SATB1_CHW_FT08": 740.7504583486116, + "SATB1_CHW_FT09": 179.56175936265603, + "SATB1_CHW_FT10": 365.7524, + "t_stamp": 1776699491219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 131, + "SATB1_CHW_FT03": 649, + "SATB1_CHW_FT04": 652, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 137, + "SATB1_CHW_FT07": 551, + "SATB1_CHW_FT08": 741, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776699521219 + }, + { + "SATB1_CHW_FT01": 110.93815, + "SATB1_CHW_FT02": 136.62859380989684, + "SATB1_CHW_FT03": 659.3137947700872, + "SATB1_CHW_FT04": 643.5581593026551, + "SATB1_CHW_FT05": 90.81424690411507, + "SATB1_CHW_FT06": 136.06219896335062, + "SATB1_CHW_FT07": 546.3119114681422, + "SATB1_CHW_FT08": 569.4190096831719, + "SATB1_CHW_FT09": 196.8137864368927, + "SATB1_CHW_FT10": 370.6905, + "t_stamp": 1776699551219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 137, + "SATB1_CHW_FT03": 660, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 546, + "SATB1_CHW_FT08": 558, + "SATB1_CHW_FT09": 198, + "SATB1_CHW_FT10": 371, + "t_stamp": 1776699581219 + }, + { + "SATB1_CHW_FT01": 102.55665, + "SATB1_CHW_FT02": 137, + "SATB1_CHW_FT03": 648.7502874568814, + "SATB1_CHW_FT04": 644.8758103491376, + "SATB1_CHW_FT05": 86.3098178424412, + "SATB1_CHW_FT06": 132.24911257395217, + "SATB1_CHW_FT07": 544.1250479094803, + "SATB1_CHW_FT08": 556.1251124812532, + "SATB1_CHW_FT09": 183.00118315585996, + "SATB1_CHW_FT10": 355.99065015583074, + "t_stamp": 1776699611219 + }, + { + "SATB1_CHW_FT01": 102, + "SATB1_CHW_FT02": 137, + "SATB1_CHW_FT03": 648, + "SATB1_CHW_FT04": 645, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 132, + "SATB1_CHW_FT07": 544, + "SATB1_CHW_FT08": 556, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 355, + "t_stamp": 1776699641219 + }, + { + "SATB1_CHW_FT01": 104.81445, + "SATB1_CHW_FT02": 136.0619020634021, + "SATB1_CHW_FT03": 661.1260647075492, + "SATB1_CHW_FT04": 643.1241687361456, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 134.8132906645332, + "SATB1_CHW_FT07": 542.1248478989215, + "SATB1_CHW_FT08": 686.3184371510009, + "SATB1_CHW_FT09": 211.0633073858617, + "SATB1_CHW_FT10": 360.6285938098968, + "t_stamp": 1776699671219 + }, + { + "SATB1_CHW_FT01": 105, + "SATB1_CHW_FT02": 136, + "SATB1_CHW_FT03": 662, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 542, + "SATB1_CHW_FT08": 695, + "SATB1_CHW_FT09": 213, + "SATB1_CHW_FT10": 361, + "t_stamp": 1776699701219 + }, + { + "SATB1_CHW_FT01": 113.44335, + "SATB1_CHW_FT02": 147.25701238312695, + "SATB1_CHW_FT03": 645.1229374312477, + "SATB1_CHW_FT04": 643.937963564845, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 134.06218644265547, + "SATB1_CHW_FT07": 547.6257812890644, + "SATB1_CHW_FT08": 707.188759437972, + "SATB1_CHW_FT09": 183.93501341733753, + "SATB1_CHW_FT10": 368.5048, + "t_stamp": 1776699731219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 148, + "SATB1_CHW_FT03": 644, + "SATB1_CHW_FT04": 644, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 708, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776699761219 + }, + { + "SATB1_CHW_FT01": 112.12373127114549, + "SATB1_CHW_FT02": 147.06191666666666, + "SATB1_CHW_FT03": 650.5632072798787, + "SATB1_CHW_FT04": 634.6203333333333, + "SATB1_CHW_FT05": 89.75226666666667, + "SATB1_CHW_FT06": 135.8755708143062, + "SATB1_CHW_FT07": 551.7504083197226, + "SATB1_CHW_FT08": 732.3771937134381, + "SATB1_CHW_FT09": 166.06161461284623, + "SATB1_CHW_FT10": 353.9904, + "t_stamp": 1776699791219 + }, + { + "SATB1_CHW_FT01": 112, + "SATB1_CHW_FT02": 147, + "SATB1_CHW_FT03": 651, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 734, + "SATB1_CHW_FT09": 165, + "SATB1_CHW_FT10": 353, + "t_stamp": 1776699821219 + }, + { + "SATB1_CHW_FT01": 109.1856, + "SATB1_CHW_FT02": 124.48637522707955, + "SATB1_CHW_FT03": 636.936, + "SATB1_CHW_FT04": 630.2481958634023, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 141.6267, + "SATB1_CHW_FT07": 547.3119218653644, + "SATB1_CHW_FT08": 686.18325, + "SATB1_CHW_FT09": 175.31322188703146, + "SATB1_CHW_FT10": 371.7616873052116, + "t_stamp": 1776699851219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 123, + "SATB1_CHW_FT03": 636, + "SATB1_CHW_FT04": 630, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 142, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 683, + "SATB1_CHW_FT09": 176, + "SATB1_CHW_FT10": 373, + "t_stamp": 1776699881219 + }, + { + "SATB1_CHW_FT01": 112.75253333333333, + "SATB1_CHW_FT02": 136.13315221920365, + "SATB1_CHW_FT03": 653.8102442763355, + "SATB1_CHW_FT04": 611.241, + "SATB1_CHW_FT05": 87.18575619187307, + "SATB1_CHW_FT06": 138.24886666666666, + "SATB1_CHW_FT07": 547.9374135603953, + "SATB1_CHW_FT08": 586.4546620901093, + "SATB1_CHW_FT09": 176.93728548102237, + "SATB1_CHW_FT10": 378.6285938098968, + "t_stamp": 1776699911219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 137, + "SATB1_CHW_FT03": 655, + "SATB1_CHW_FT04": 610, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 580, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 379, + "t_stamp": 1776699941219 + }, + { + "SATB1_CHW_FT01": 106.43306666666666, + "SATB1_CHW_FT02": 125.743, + "SATB1_CHW_FT03": 635.3100493464924, + "SATB1_CHW_FT04": 637.2010033500559, + "SATB1_CHW_FT05": 95.44260928984517, + "SATB1_CHW_FT06": 142.6891511242229, + "SATB1_CHW_FT07": 547.0623655913978, + "SATB1_CHW_FT08": 685.010969957654, + "SATB1_CHW_FT09": 177.93757919306435, + "SATB1_CHW_FT10": 350.85699999999997, + "t_stamp": 1776699971219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 634, + "SATB1_CHW_FT04": 639, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 143, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 692, + "SATB1_CHW_FT09": 178, + "SATB1_CHW_FT10": 349, + "t_stamp": 1776700001219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 139.07054647267637, + "SATB1_CHW_FT03": 651.812658312225, + "SATB1_CHW_FT04": 642.7516165588961, + "SATB1_CHW_FT05": 88.49584187457293, + "SATB1_CHW_FT06": 139.24910427116836, + "SATB1_CHW_FT07": 545.1249500066658, + "SATB1_CHW_FT08": 738.8745833888814, + "SATB1_CHW_FT09": 188.3120531920212, + "SATB1_CHW_FT10": 355.5662622491834, + "t_stamp": 1776700031219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 140, + "SATB1_CHW_FT03": 653, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 742, + "SATB1_CHW_FT09": 189, + "SATB1_CHW_FT10": 356, + "t_stamp": 1776700061219 + }, + { + "SATB1_CHW_FT01": 108.8144, + "SATB1_CHW_FT02": 140.9380802373452, + "SATB1_CHW_FT03": 677.3786567985197, + "SATB1_CHW_FT04": 637.3721310109175, + "SATB1_CHW_FT05": 90.81419070953548, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 552.5012585221117, + "SATB1_CHW_FT08": 701.6821689920155, + "SATB1_CHW_FT09": 179.62393732288714, + "SATB1_CHW_FT10": 364.44286285752383, + "t_stamp": 1776700091219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 141, + "SATB1_CHW_FT03": 679, + "SATB1_CHW_FT04": 637, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 553, + "SATB1_CHW_FT08": 699, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 365, + "t_stamp": 1776700121219 + }, + { + "SATB1_CHW_FT01": 106.1856, + "SATB1_CHW_FT02": 142.87613539774338, + "SATB1_CHW_FT03": 680.8751749883342, + "SATB1_CHW_FT04": 635.1240645989234, + "SATB1_CHW_FT05": 86.30966666666667, + "SATB1_CHW_FT06": 134.31106259582694, + "SATB1_CHW_FT07": 553.9375885342888, + "SATB1_CHW_FT08": 711.1884207719486, + "SATB1_CHW_FT09": 186.50030830764103, + "SATB1_CHW_FT10": 370.6285061915635, + "t_stamp": 1776700151219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 143, + "SATB1_CHW_FT03": 681, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 712, + "SATB1_CHW_FT09": 187, + "SATB1_CHW_FT10": 371, + "t_stamp": 1776700181219 + }, + { + "SATB1_CHW_FT01": 107.87626666666667, + "SATB1_CHW_FT02": 137.37150619176987, + "SATB1_CHW_FT03": 662.2489583680544, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 89.75226666666667, + "SATB1_CHW_FT06": 134.9377677038716, + "SATB1_CHW_FT07": 547.437135428819, + "SATB1_CHW_FT08": 687.6240791973601, + "SATB1_CHW_FT09": 183.2499291678472, + "SATB1_CHW_FT10": 375.6904166666667, + "t_stamp": 1776700211219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 137, + "SATB1_CHW_FT03": 661, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 686, + "SATB1_CHW_FT09": 183, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776700241219 + }, + { + "SATB1_CHW_FT01": 109.87626666666667, + "SATB1_CHW_FT02": 143.56658333333334, + "SATB1_CHW_FT03": 653.499224961248, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 93.75226666666667, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 538.5614874324955, + "SATB1_CHW_FT08": 690.6879010617198, + "SATB1_CHW_FT09": 174.5619280964048, + "SATB1_CHW_FT10": 370.3715, + "t_stamp": 1776700271219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 653, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 94, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 538, + "SATB1_CHW_FT08": 691, + "SATB1_CHW_FT09": 174, + "SATB1_CHW_FT10": 370, + "t_stamp": 1776700301219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 139.30966150564157, + "SATB1_CHW_FT03": 692.3785436909385, + "SATB1_CHW_FT04": 646.2553751791727, + "SATB1_CHW_FT05": 87.43364277262046, + "SATB1_CHW_FT06": 134.06221666666667, + "SATB1_CHW_FT07": 544.5630978967367, + "SATB1_CHW_FT08": 640.3713438109365, + "SATB1_CHW_FT09": 182.43795936734386, + "SATB1_CHW_FT10": 367.1857969033849, + "t_stamp": 1776700331219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 139, + "SATB1_CHW_FT03": 695, + "SATB1_CHW_FT04": 647, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 637, + "SATB1_CHW_FT09": 183, + "SATB1_CHW_FT10": 367, + "t_stamp": 1776700361219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 111.79606666666666, + "SATB1_CHW_FT03": 643.4303381835758, + "SATB1_CHW_FT04": 647, + "SATB1_CHW_FT05": 87.93805, + "SATB1_CHW_FT06": 133.06218540618022, + "SATB1_CHW_FT07": 554.3763021484408, + "SATB1_CHW_FT08": 684.8182909145457, + "SATB1_CHW_FT09": 191.43823127437582, + "SATB1_CHW_FT10": 355.74301238353974, + "t_stamp": 1776700391219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 110, + "SATB1_CHW_FT03": 640, + "SATB1_CHW_FT04": 647, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 133, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 688, + "SATB1_CHW_FT09": 192, + "SATB1_CHW_FT10": 355, + "t_stamp": 1776700421219 + }, + { + "SATB1_CHW_FT01": 112.81435, + "SATB1_CHW_FT02": 119.38066666666667, + "SATB1_CHW_FT03": 668.129, + "SATB1_CHW_FT04": 650.7518041365977, + "SATB1_CHW_FT05": 91.7522, + "SATB1_CHW_FT06": 123.62183333333333, + "SATB1_CHW_FT07": 550.3118333333333, + "SATB1_CHW_FT08": 602.6768833333333, + "SATB1_CHW_FT09": 186.374406240104, + "SATB1_CHW_FT10": 373.76166666666666, + "t_stamp": 1776700451219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 120, + "SATB1_CHW_FT03": 670, + "SATB1_CHW_FT04": 651, + "SATB1_CHW_FT05": 92, + "SATB1_CHW_FT06": 123, + "SATB1_CHW_FT07": 550, + "SATB1_CHW_FT08": 597, + "SATB1_CHW_FT09": 186, + "SATB1_CHW_FT10": 375, + "t_stamp": 1776700481219 + }, + { + "SATB1_CHW_FT01": 111.12376666666667, + "SATB1_CHW_FT02": 141.5751737471042, + "SATB1_CHW_FT03": 667.1871, + "SATB1_CHW_FT04": 663.19335, + "SATB1_CHW_FT05": 94.81410309828169, + "SATB1_CHW_FT06": 127.68908333333333, + "SATB1_CHW_FT07": 548.1247333333333, + "SATB1_CHW_FT08": 672.94695, + "SATB1_CHW_FT09": 186.93758437359378, + "SATB1_CHW_FT10": 367.4954584090265, + "t_stamp": 1776700511219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 143, + "SATB1_CHW_FT03": 667, + "SATB1_CHW_FT04": 664, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 128, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 678, + "SATB1_CHW_FT09": 187, + "SATB1_CHW_FT10": 367, + "t_stamp": 1776700541219 + }, + { + "SATB1_CHW_FT01": 110.06188333333333, + "SATB1_CHW_FT02": 131.7434, + "SATB1_CHW_FT03": 645.4401826179685, + "SATB1_CHW_FT04": 643.3664755682954, + "SATB1_CHW_FT05": 91.24792920117999, + "SATB1_CHW_FT06": 139.25211218317253, + "SATB1_CHW_FT07": 542.3756060984754, + "SATB1_CHW_FT08": 601.1359304185551, + "SATB1_CHW_FT09": 182.31333311117035, + "SATB1_CHW_FT10": 364.1858, + "t_stamp": 1776700571219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 131, + "SATB1_CHW_FT03": 644, + "SATB1_CHW_FT04": 642, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 542, + "SATB1_CHW_FT08": 596, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 364, + "t_stamp": 1776700601219 + }, + { + "SATB1_CHW_FT01": 112.81064931173954, + "SATB1_CHW_FT02": 145.05154622016576, + "SATB1_CHW_FT03": 638.3835693956693, + "SATB1_CHW_FT04": 639.1902368390394, + "SATB1_CHW_FT05": 87.25299179441087, + "SATB1_CHW_FT06": 136.25457692563745, + "SATB1_CHW_FT07": 546.6803641568471, + "SATB1_CHW_FT08": 736.4059316956261, + "SATB1_CHW_FT09": 195.1040876106784, + "SATB1_CHW_FT10": 370.5575047435172, + "t_stamp": 1776700631219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 146, + "SATB1_CHW_FT03": 638, + "SATB1_CHW_FT04": 639, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 746, + "SATB1_CHW_FT09": 196, + "SATB1_CHW_FT10": 371, + "t_stamp": 1776700661219 + }, + { + "SATB1_CHW_FT01": 110.18730296408734, + "SATB1_CHW_FT02": 128.18728209918763, + "SATB1_CHW_FT03": 656.74028097574, + "SATB1_CHW_FT04": 638.062609479005, + "SATB1_CHW_FT05": 95.43759383445101, + "SATB1_CHW_FT06": 139.7488154821488, + "SATB1_CHW_FT07": 551.6851484157309, + "SATB1_CHW_FT08": 743.189011062353, + "SATB1_CHW_FT09": 181.00834278849362, + "SATB1_CHW_FT10": 373.8125844495971, + "t_stamp": 1776700691219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 127, + "SATB1_CHW_FT03": 658, + "SATB1_CHW_FT04": 638, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 743, + "SATB1_CHW_FT09": 180, + "SATB1_CHW_FT10": 374, + "t_stamp": 1776700721219 + }, + { + "SATB1_CHW_FT01": 110.93761666666667, + "SATB1_CHW_FT02": 128.87513333333334, + "SATB1_CHW_FT03": 658.9371145704857, + "SATB1_CHW_FT04": 631.43785, + "SATB1_CHW_FT05": 94.12489791836802, + "SATB1_CHW_FT06": 138.12540418013933, + "SATB1_CHW_FT07": 548.2514750491683, + "SATB1_CHW_FT08": 755.1822727424247, + "SATB1_CHW_FT09": 183.7483249441648, + "SATB1_CHW_FT10": 359.9364843919268, + "t_stamp": 1776700751219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 129, + "SATB1_CHW_FT03": 659, + "SATB1_CHW_FT04": 631, + "SATB1_CHW_FT05": 94, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 756, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 359, + "t_stamp": 1776700781219 + }, + { + "SATB1_CHW_FT01": 112.87523333333333, + "SATB1_CHW_FT02": 114.93696876770774, + "SATB1_CHW_FT03": 650.5681984804053, + "SATB1_CHW_FT04": 639.436206379362, + "SATB1_CHW_FT05": 96.81250937453127, + "SATB1_CHW_FT06": 136.12558744125587, + "SATB1_CHW_FT07": 545.1893495067982, + "SATB1_CHW_FT08": 691.3584151157172, + "SATB1_CHW_FT09": 194.3046535263833, + "SATB1_CHW_FT10": 378.6882437252092, + "t_stamp": 1776700811219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 114, + "SATB1_CHW_FT03": 650, + "SATB1_CHW_FT04": 640, + "SATB1_CHW_FT05": 97, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 687, + "SATB1_CHW_FT09": 195, + "SATB1_CHW_FT10": 380, + "t_stamp": 1776700841219 + }, + { + "SATB1_CHW_FT01": 112.06238333333333, + "SATB1_CHW_FT02": 144.00206673555786, + "SATB1_CHW_FT03": 654.6855775803144, + "SATB1_CHW_FT04": 632.5004500450045, + "SATB1_CHW_FT05": 82.93679683984199, + "SATB1_CHW_FT06": 134.12541254125412, + "SATB1_CHW_FT07": 551.5598159509202, + "SATB1_CHW_FT08": 693.5596845720382, + "SATB1_CHW_FT09": 181.88111235224488, + "SATB1_CHW_FT10": 384.6878229274309, + "t_stamp": 1776700871219 + }, + { + "SATB1_CHW_FT01": 112, + "SATB1_CHW_FT02": 146, + "SATB1_CHW_FT03": 655, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 82, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 694, + "SATB1_CHW_FT09": 181, + "SATB1_CHW_FT10": 385, + "t_stamp": 1776700901219 + }, + { + "SATB1_CHW_FT01": 106.374393760104, + "SATB1_CHW_FT02": 152.56263853473993, + "SATB1_CHW_FT03": 661.5581844841375, + "SATB1_CHW_FT04": 624.5012748512673, + "SATB1_CHW_FT05": 92.31253437328134, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 554.8106973256686, + "SATB1_CHW_FT08": 729.6009397494001, + "SATB1_CHW_FT09": 184.74733404425487, + "SATB1_CHW_FT10": 383.1249291690277, + "t_stamp": 1776700931219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 153, + "SATB1_CHW_FT03": 662, + "SATB1_CHW_FT04": 624, + "SATB1_CHW_FT05": 93, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 732, + "SATB1_CHW_FT09": 185, + "SATB1_CHW_FT10": 383, + "t_stamp": 1776700961219 + }, + { + "SATB1_CHW_FT01": 113.5008, + "SATB1_CHW_FT02": 135.18718333333334, + "SATB1_CHW_FT03": 638.5771621914429, + "SATB1_CHW_FT04": 619.3132552209204, + "SATB1_CHW_FT05": 96.75, + "SATB1_CHW_FT06": 139.62298743291444, + "SATB1_CHW_FT07": 552.1892094604731, + "SATB1_CHW_FT08": 716.0727536376819, + "SATB1_CHW_FT09": 196.24236211810592, + "SATB1_CHW_FT10": 370.8120666666667, + "t_stamp": 1776700991219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 134, + "SATB1_CHW_FT03": 637, + "SATB1_CHW_FT04": 619, + "SATB1_CHW_FT05": 97, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 715, + "SATB1_CHW_FT09": 197, + "SATB1_CHW_FT10": 370, + "t_stamp": 1776701021219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 132.12493541559027, + "SATB1_CHW_FT03": 642.6211252583162, + "SATB1_CHW_FT04": 628.3735, + "SATB1_CHW_FT05": 51.999249987499795, + "SATB1_CHW_FT06": 138.12572914236193, + "SATB1_CHW_FT07": 552.936870875275, + "SATB1_CHW_FT08": 703.7579494700353, + "SATB1_CHW_FT09": 203.55762949136724, + "SATB1_CHW_FT10": 390.62607710128503, + "t_stamp": 1776701051219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 132, + "SATB1_CHW_FT03": 643, + "SATB1_CHW_FT04": 629, + "SATB1_CHW_FT05": 49, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 553, + "SATB1_CHW_FT08": 703, + "SATB1_CHW_FT09": 204, + "SATB1_CHW_FT10": 392, + "t_stamp": 1776701081219 + }, + { + "SATB1_CHW_FT01": 108.3744, + "SATB1_CHW_FT02": 135.75013333333334, + "SATB1_CHW_FT03": 650.4951747587379, + "SATB1_CHW_FT04": 608.3779562992717, + "SATB1_CHW_FT05": 94.93755104081598, + "SATB1_CHW_FT06": 138.93718019234296, + "SATB1_CHW_FT07": 556.7476540493691, + "SATB1_CHW_FT08": 661.7772721969432, + "SATB1_CHW_FT09": 185.26275085005668, + "SATB1_CHW_FT10": 366.6865718904685, + "t_stamp": 1776701111219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 136, + "SATB1_CHW_FT03": 651, + "SATB1_CHW_FT04": 607, + "SATB1_CHW_FT05": 98, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 557, + "SATB1_CHW_FT08": 659, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 365, + "t_stamp": 1776701141219 + }, + { + "SATB1_CHW_FT01": 107.0624, + "SATB1_CHW_FT02": 121.93676561276021, + "SATB1_CHW_FT03": 645.3786936884385, + "SATB1_CHW_FT04": 635.1200626645779, + "SATB1_CHW_FT05": 86.74962498749959, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 555.1261978967017, + "SATB1_CHW_FT08": 742.3812269795503, + "SATB1_CHW_FT09": 189.62110631489475, + "SATB1_CHW_FT10": 361.2498041634027, + "t_stamp": 1776701171219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 121, + "SATB1_CHW_FT03": 645, + "SATB1_CHW_FT04": 637, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 748, + "SATB1_CHW_FT09": 190, + "SATB1_CHW_FT10": 361, + "t_stamp": 1776701201219 + }, + { + "SATB1_CHW_FT01": 109.8128, + "SATB1_CHW_FT02": 142.56329061182313, + "SATB1_CHW_FT03": 651.5584019467316, + "SATB1_CHW_FT04": 631.3757187859393, + "SATB1_CHW_FT05": 88.8125531241146, + "SATB1_CHW_FT06": 131.50267504458407, + "SATB1_CHW_FT07": 554.0630843847398, + "SATB1_CHW_FT08": 709.5878264637744, + "SATB1_CHW_FT09": 182.50507508458475, + "SATB1_CHW_FT10": 366.6253, + "t_stamp": 1776701231219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 652, + "SATB1_CHW_FT04": 631, + "SATB1_CHW_FT05": 89, + "SATB1_CHW_FT06": 131, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 707, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 367, + "t_stamp": 1776701261219 + }, + { + "SATB1_CHW_FT01": 108.1248, + "SATB1_CHW_FT02": 140.24986666666666, + "SATB1_CHW_FT03": 640.7560630052504, + "SATB1_CHW_FT04": 629.1252020867014, + "SATB1_CHW_FT05": 88.06248333333333, + "SATB1_CHW_FT06": 135.68606763671517, + "SATB1_CHW_FT07": 554.9369947495625, + "SATB1_CHW_FT08": 746.3523793649471, + "SATB1_CHW_FT09": 171.69360780065006, + "SATB1_CHW_FT10": 366.0624656255729, + "t_stamp": 1776701291219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 140, + "SATB1_CHW_FT03": 640, + "SATB1_CHW_FT04": 629, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 749, + "SATB1_CHW_FT09": 171, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776701321219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 124.99946666666666, + "SATB1_CHW_FT03": 636.2520624656256, + "SATB1_CHW_FT04": 643.061, + "SATB1_CHW_FT05": 89.87503333333333, + "SATB1_CHW_FT06": 143.49773333333334, + "SATB1_CHW_FT07": 545.63, + "SATB1_CHW_FT08": 597.2114, + "SATB1_CHW_FT09": 182.24321261312312, + "SATB1_CHW_FT10": 365.0624510408507, + "t_stamp": 1776701351219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 124, + "SATB1_CHW_FT03": 636, + "SATB1_CHW_FT04": 644, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 144, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 587, + "SATB1_CHW_FT09": 183, + "SATB1_CHW_FT10": 365, + "t_stamp": 1776701381219 + }, + { + "SATB1_CHW_FT01": 101.43690938484359, + "SATB1_CHW_FT02": 112.74978750354161, + "SATB1_CHW_FT03": 643.4957417376377, + "SATB1_CHW_FT04": 632.7515749475017, + "SATB1_CHW_FT05": 88.12502916569447, + "SATB1_CHW_FT06": 144.93720104664922, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 699.4341260978983, + "SATB1_CHW_FT09": 181.12613333333334, + "SATB1_CHW_FT10": 371.56274062098964, + "t_stamp": 1776701411219 + }, + { + "SATB1_CHW_FT01": 101, + "SATB1_CHW_FT02": 112, + "SATB1_CHW_FT03": 644, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 145, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 707, + "SATB1_CHW_FT09": 181, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776701441219 + }, + { + "SATB1_CHW_FT01": 105.68791666666667, + "SATB1_CHW_FT02": 133.56324272071203, + "SATB1_CHW_FT03": 648.684755254079, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 90.81254375145838, + "SATB1_CHW_FT06": 138.4397093381777, + "SATB1_CHW_FT07": 542.1890968483858, + "SATB1_CHW_FT08": 647.0361993966767, + "SATB1_CHW_FT09": 176.31548948368388, + "SATB1_CHW_FT10": 367.31233333333336, + "t_stamp": 1776701471219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 135, + "SATB1_CHW_FT03": 649, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 542, + "SATB1_CHW_FT08": 643, + "SATB1_CHW_FT09": 176, + "SATB1_CHW_FT10": 367, + "t_stamp": 1776701501219 + }, + { + "SATB1_CHW_FT01": 112.56308333333334, + "SATB1_CHW_FT02": 142.50026666666668, + "SATB1_CHW_FT03": 652.7478, + "SATB1_CHW_FT04": 632.9373822897048, + "SATB1_CHW_FT05": 86.31241666666666, + "SATB1_CHW_FT06": 136.12560209336823, + "SATB1_CHW_FT07": 551.3696666666667, + "SATB1_CHW_FT08": 732.0086666666666, + "SATB1_CHW_FT09": 172.25233753895898, + "SATB1_CHW_FT10": 375.4378, + "t_stamp": 1776701531219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 143, + "SATB1_CHW_FT03": 653, + "SATB1_CHW_FT04": 633, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 738, + "SATB1_CHW_FT09": 172, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776701561219 + }, + { + "SATB1_CHW_FT01": 111.12483333333333, + "SATB1_CHW_FT02": 127.06246458451385, + "SATB1_CHW_FT03": 636.136024265049, + "SATB1_CHW_FT04": 640.49869173208, + "SATB1_CHW_FT05": 84.12506041364598, + "SATB1_CHW_FT06": 135.06289371062894, + "SATB1_CHW_FT07": 539.8202453169789, + "SATB1_CHW_FT08": 568.4263715752284, + "SATB1_CHW_FT09": 186.98941754853763, + "SATB1_CHW_FT10": 372.2499291678472, + "t_stamp": 1776701591219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 126, + "SATB1_CHW_FT03": 635, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 84, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 539, + "SATB1_CHW_FT08": 557, + "SATB1_CHW_FT09": 188, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776701621219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 116.62484374739579, + "SATB1_CHW_FT03": 637.8108373891592, + "SATB1_CHW_FT04": 648.4990416187476, + "SATB1_CHW_FT05": 87.74999166638888, + "SATB1_CHW_FT06": 137.81153429452453, + "SATB1_CHW_FT07": 525.8825255017001, + "SATB1_CHW_FT08": 601.035669044603, + "SATB1_CHW_FT09": 184.25241682778852, + "SATB1_CHW_FT10": 374.81259687661463, + "t_stamp": 1776701651219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 116, + "SATB1_CHW_FT03": 638, + "SATB1_CHW_FT04": 649, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 525, + "SATB1_CHW_FT08": 604, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 375, + "t_stamp": 1776701681219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 115.06249895835069, + "SATB1_CHW_FT03": 642.6837351907087, + "SATB1_CHW_FT04": 649, + "SATB1_CHW_FT05": 86.12503124947918, + "SATB1_CHW_FT06": 139.87436666666667, + "SATB1_CHW_FT07": 549.3562620809172, + "SATB1_CHW_FT08": 677.9992335249522, + "SATB1_CHW_FT09": 176.50679818715008, + "SATB1_CHW_FT10": 362.8122697955034, + "t_stamp": 1776701711219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 115, + "SATB1_CHW_FT03": 643, + "SATB1_CHW_FT04": 649, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 551, + "SATB1_CHW_FT08": 683, + "SATB1_CHW_FT09": 176, + "SATB1_CHW_FT10": 362, + "t_stamp": 1776701741219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 139.37540625677093, + "SATB1_CHW_FT03": 667.3595325809732, + "SATB1_CHW_FT04": 639.6263333333334, + "SATB1_CHW_FT05": 83.18750312505209, + "SATB1_CHW_FT06": 133.43971666666667, + "SATB1_CHW_FT07": 546.3153858976497, + "SATB1_CHW_FT08": 561.2068080282723, + "SATB1_CHW_FT09": 189.1159270496449, + "SATB1_CHW_FT10": 373.2503875064584, + "t_stamp": 1776701771219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 141, + "SATB1_CHW_FT03": 669, + "SATB1_CHW_FT04": 639, + "SATB1_CHW_FT05": 83, + "SATB1_CHW_FT06": 133, + "SATB1_CHW_FT07": 546, + "SATB1_CHW_FT08": 553, + "SATB1_CHW_FT09": 190, + "SATB1_CHW_FT10": 374, + "t_stamp": 1776701801219 + }, + { + "SATB1_CHW_FT01": 110.06254270335127, + "SATB1_CHW_FT02": 136.31311969871186, + "SATB1_CHW_FT03": 671.8104689531046, + "SATB1_CHW_FT04": 637.1255165977869, + "SATB1_CHW_FT05": 82.06262498333555, + "SATB1_CHW_FT06": 126.44070056158243, + "SATB1_CHW_FT07": 529.1371673304781, + "SATB1_CHW_FT08": 641.0582275105822, + "SATB1_CHW_FT09": 177.8219511382195, + "SATB1_CHW_FT10": 373.0626072755753, + "t_stamp": 1776701831219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 136, + "SATB1_CHW_FT03": 672, + "SATB1_CHW_FT04": 637, + "SATB1_CHW_FT05": 82, + "SATB1_CHW_FT06": 126, + "SATB1_CHW_FT07": 528, + "SATB1_CHW_FT08": 647, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 373, + "t_stamp": 1776701861219 + }, + { + "SATB1_CHW_FT01": 112.81267814578368, + "SATB1_CHW_FT02": 144.4375656348452, + "SATB1_CHW_FT03": 665.4411901983664, + "SATB1_CHW_FT04": 638.8747478788484, + "SATB1_CHW_FT05": 83.87498333111081, + "SATB1_CHW_FT06": 149.4301288569571, + "SATB1_CHW_FT07": 552.3612935489248, + "SATB1_CHW_FT08": 630.1350891815302, + "SATB1_CHW_FT09": 188.24307384564094, + "SATB1_CHW_FT10": 375.8125250033338, + "t_stamp": 1776701891219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 145, + "SATB1_CHW_FT03": 665, + "SATB1_CHW_FT04": 639, + "SATB1_CHW_FT05": 84, + "SATB1_CHW_FT06": 151, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 629, + "SATB1_CHW_FT09": 189, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776701921219 + }, + { + "SATB1_CHW_FT01": 110.1873, + "SATB1_CHW_FT02": 139.37499375010415, + "SATB1_CHW_FT03": 661.2520666666667, + "SATB1_CHW_FT04": 632.4383166666667, + "SATB1_CHW_FT05": 85.87496875052082, + "SATB1_CHW_FT06": 136.00453333333334, + "SATB1_CHW_FT07": 553.0630166666666, + "SATB1_CHW_FT08": 727.3797500000001, + "SATB1_CHW_FT09": 169.3244, + "SATB1_CHW_FT10": 371.31241666666665, + "t_stamp": 1776701951219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 139, + "SATB1_CHW_FT03": 661, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 553, + "SATB1_CHW_FT08": 734, + "SATB1_CHW_FT09": 168, + "SATB1_CHW_FT10": 371, + "t_stamp": 1776701981219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 121.187203120052, + "SATB1_CHW_FT03": 636.6437105293853, + "SATB1_CHW_FT04": 644.1853740646301, + "SATB1_CHW_FT05": 89.74993333333333, + "SATB1_CHW_FT06": 142.49660884200702, + "SATB1_CHW_FT07": 546.4424281810304, + "SATB1_CHW_FT08": 711.5176964607078, + "SATB1_CHW_FT09": 183.9246817303206, + "SATB1_CHW_FT10": 361.62483333333336, + "t_stamp": 1776702011219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 120, + "SATB1_CHW_FT03": 635, + "SATB1_CHW_FT04": 645, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 143, + "SATB1_CHW_FT07": 546, + "SATB1_CHW_FT08": 710, + "SATB1_CHW_FT09": 185, + "SATB1_CHW_FT10": 361, + "t_stamp": 1776702041219 + }, + { + "SATB1_CHW_FT01": 112.8127, + "SATB1_CHW_FT02": 147.18798333333334, + "SATB1_CHW_FT03": 639.684926482846, + "SATB1_CHW_FT04": 634.688817774222, + "SATB1_CHW_FT05": 88.12500208336806, + "SATB1_CHW_FT06": 137.37666277712952, + "SATB1_CHW_FT07": 518.8269429533558, + "SATB1_CHW_FT08": 582.5722668622678, + "SATB1_CHW_FT09": 175.6306366379382, + "SATB1_CHW_FT10": 362.8750333333333, + "t_stamp": 1776702071219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 149, + "SATB1_CHW_FT03": 640, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 137, + "SATB1_CHW_FT07": 517, + "SATB1_CHW_FT08": 574, + "SATB1_CHW_FT09": 175, + "SATB1_CHW_FT10": 363, + "t_stamp": 1776702101219 + }, + { + "SATB1_CHW_FT01": 113.93755104081599, + "SATB1_CHW_FT02": 145.25005833138894, + "SATB1_CHW_FT03": 619.3887481669111, + "SATB1_CHW_FT04": 634.937320845277, + "SATB1_CHW_FT05": 88.93748437526041, + "SATB1_CHW_FT06": 126.69180775896547, + "SATB1_CHW_FT07": 541.3591854419411, + "SATB1_CHW_FT08": 603.9794694040795, + "SATB1_CHW_FT09": 176.87368140383623, + "SATB1_CHW_FT10": 359.24999583340275, + "t_stamp": 1776702131219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 145, + "SATB1_CHW_FT03": 618, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 89, + "SATB1_CHW_FT06": 126, + "SATB1_CHW_FT07": 543, + "SATB1_CHW_FT08": 606, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 359, + "t_stamp": 1776702161219 + }, + { + "SATB1_CHW_FT01": 92.43635, + "SATB1_CHW_FT02": 133.7502, + "SATB1_CHW_FT03": 645.1718505183852, + "SATB1_CHW_FT04": 635.937347911597, + "SATB1_CHW_FT05": 88.06253229112848, + "SATB1_CHW_FT06": 134.4344622974865, + "SATB1_CHW_FT07": 546.7479081241457, + "SATB1_CHW_FT08": 569.4591959195919, + "SATB1_CHW_FT09": 171.37843784378438, + "SATB1_CHW_FT10": 353.375, + "t_stamp": 1776702191219 + }, + { + "SATB1_CHW_FT01": 91, + "SATB1_CHW_FT02": 133, + "SATB1_CHW_FT03": 647, + "SATB1_CHW_FT04": 636, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 567, + "SATB1_CHW_FT09": 171, + "SATB1_CHW_FT10": 353, + "t_stamp": 1776702221219 + }, + { + "SATB1_CHW_FT01": 103.18815000000001, + "SATB1_CHW_FT02": 140.49961667944402, + "SATB1_CHW_FT03": 655.4327, + "SATB1_CHW_FT04": 642.5612312922902, + "SATB1_CHW_FT05": 87.06256458118062, + "SATB1_CHW_FT06": 135.93716666666666, + "SATB1_CHW_FT07": 555.43285, + "SATB1_CHW_FT08": 704.73165, + "SATB1_CHW_FT09": 181.30626666666666, + "SATB1_CHW_FT10": 367.99925003749814, + "t_stamp": 1776702251219 + }, + { + "SATB1_CHW_FT01": 104, + "SATB1_CHW_FT02": 141, + "SATB1_CHW_FT03": 656, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 556, + "SATB1_CHW_FT08": 714, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776702281219 + }, + { + "SATB1_CHW_FT01": 104.93755, + "SATB1_CHW_FT02": 135.37511250375013, + "SATB1_CHW_FT03": 642.8822480374673, + "SATB1_CHW_FT04": 638.3133385556426, + "SATB1_CHW_FT05": 93.56214270237837, + "SATB1_CHW_FT06": 139.74872914548575, + "SATB1_CHW_FT07": 560.6849947499124, + "SATB1_CHW_FT08": 722.4326905448424, + "SATB1_CHW_FT09": 185.74779579659662, + "SATB1_CHW_FT10": 372.749987499375, + "t_stamp": 1776702311219 + }, + { + "SATB1_CHW_FT01": 105, + "SATB1_CHW_FT02": 135, + "SATB1_CHW_FT03": 642, + "SATB1_CHW_FT04": 638, + "SATB1_CHW_FT05": 94, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 561, + "SATB1_CHW_FT08": 723, + "SATB1_CHW_FT09": 186, + "SATB1_CHW_FT10": 373, + "t_stamp": 1776702341219 + }, + { + "SATB1_CHW_FT01": 108.7502, + "SATB1_CHW_FT02": 154.68747812463542, + "SATB1_CHW_FT03": 649.4957417376377, + "SATB1_CHW_FT04": 619.2533333333333, + "SATB1_CHW_FT05": 34.002200036667276, + "SATB1_CHW_FT06": 135.31416143064283, + "SATB1_CHW_FT07": 562.8739687671872, + "SATB1_CHW_FT08": 589.0159997333378, + "SATB1_CHW_FT09": 171.9459842335961, + "SATB1_CHW_FT10": 369.25, + "t_stamp": 1776702371219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 156, + "SATB1_CHW_FT03": 650, + "SATB1_CHW_FT04": 618, + "SATB1_CHW_FT05": 30, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 563, + "SATB1_CHW_FT08": 580, + "SATB1_CHW_FT09": 171, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776702401219 + } + ], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140", + "tags": [] + }, + "meta": { + "name": "CHWS Trend", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "enabled": false, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": { + "now": "now(3000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\"}\n\ttags \u003d system.tag.browse(self.custom.tagPath, {\"name\":\"*_FT*\",\"typeId\":\"Objects/Basic/AnalogIn\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\ttagname \u003d str(item[\"fullPath\"]) + \"/Val\"\n\t\tnameparts \u003d tagname.split(\"]\")\n\t\tprovider\u003d histProvider[nameparts[0][1:]]\n\t\trun_path \u003d \"[{}]{}\".format(provider, nameparts[1])\n\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Flows": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\ttotal \u003d 0\n\tfor item in rawHist:\n\t\ttotal \u003d 0\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\ttotal +\u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"totalFlow\": total})\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "color": "#F4F4F4", + "render": "color" + }, + "cursor": { + "enabled": false, + "series": "process temp" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Flows", + "x": "t_stamp", + "y": "totalFlow" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "CHWS", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "CHWS", + "zIndex": 0 + } + ], + "style": { + "marginBottom": -38, + "marginLeft": -18 + }, + "title": { + "text": "CHWS (gpm)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 50, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 35, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "max", + "min": "min", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "CHWS" + }, + "name": "CHWS", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "custom": { + "paths": [ + "[Ignition_Common_IO_Gtwy]DH1", + "[Ignition_Common_IO_Gtwy]DH2", + "[Ignition_Common_IO_Gtwy]DH3", + "[Ignition_Common_IO_Gtwy]DH4", + "[Ignition_Common_IO_Gtwy]DH5" + ], + "raw": [ + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 368, + "SATB1_CHW_DH2_FT01": 772, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 230, + "SATB1_CHW_DH4_FT01": 43, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 124, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776695318504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 364.43025019585616, + "SATB1_CHW_DH2_FT01": 772, + "SATB1_CHW_DH2_FT02": 575.1075643419123, + "SATB1_CHW_DH3_FT01": 340.4642857142857, + "SATB1_CHW_DH3_FT02": 231.7847938788778, + "SATB1_CHW_DH4_FT01": 108.1915634739421, + "SATB1_CHW_DH4_FT02": 109.43010967763443, + "SATB1_CHW_DH5_FT01": 139.18077730742309, + "SATB1_CHW_DH5_FT02": 163.57135476559506, + "t_stamp": 1776695348504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 772, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 341, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 116, + "SATB1_CHW_DH4_FT02": 109, + "SATB1_CHW_DH5_FT01": 141, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776695378504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 359.537303730373, + "SATB1_CHW_DH2_FT01": 765.7513834255617, + "SATB1_CHW_DH2_FT02": 578.5700975081256, + "SATB1_CHW_DH3_FT01": 336.5355267763388, + "SATB1_CHW_DH3_FT02": 236.46252958629196, + "SATB1_CHW_DH4_FT01": 48.12946666666667, + "SATB1_CHW_DH4_FT02": 115.24790399199934, + "SATB1_CHW_DH5_FT01": 113.31659388646288, + "SATB1_CHW_DH5_FT02": 166.67858928630955, + "t_stamp": 1776695408504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 359, + "SATB1_CHW_DH2_FT01": 765, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 40, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 110, + "SATB1_CHW_DH5_FT02": 167, + "t_stamp": 1776695438504 + }, + { + "SATB1_CHW_DH1_FT01": 334.21393333333333, + "SATB1_CHW_DH1_FT02": 359.8925648760813, + "SATB1_CHW_DH2_FT01": 770.3560892681545, + "SATB1_CHW_DH2_FT02": 573.6446214873829, + "SATB1_CHW_DH3_FT01": 334.2141702361706, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 48.93033333333334, + "SATB1_CHW_DH4_FT02": 113.32225537092285, + "SATB1_CHW_DH5_FT01": 82.31648333333334, + "SATB1_CHW_DH5_FT02": 160.74982916381938, + "t_stamp": 1776695468504 + }, + { + "SATB1_CHW_DH1_FT01": 334, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 771, + "SATB1_CHW_DH2_FT02": 573, + "SATB1_CHW_DH3_FT01": 334, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 50, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 79, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776695498504 + }, + { + "SATB1_CHW_DH1_FT01": 335.786036899385, + "SATB1_CHW_DH1_FT02": 363.5701476617446, + "SATB1_CHW_DH2_FT01": 781.7118429385687, + "SATB1_CHW_DH2_FT02": 568.5373154228192, + "SATB1_CHW_DH3_FT01": 338.4644345188494, + "SATB1_CHW_DH3_FT02": 238.7850071664278, + "SATB1_CHW_DH4_FT01": 63.39527674538758, + "SATB1_CHW_DH4_FT02": 117.4627679077364, + "SATB1_CHW_DH5_FT01": 101.3246725109163, + "SATB1_CHW_DH5_FT02": 161.78573690438492, + "t_stamp": 1776695528504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 783, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 339, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 65, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 104, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776695558504 + }, + { + "SATB1_CHW_DH1_FT01": 335.10696844947415, + "SATB1_CHW_DH1_FT02": 363.1075112911021, + "SATB1_CHW_DH2_FT01": 784.7853, + "SATB1_CHW_DH2_FT02": 567.1075261649223, + "SATB1_CHW_DH3_FT01": 336.3212607086903, + "SATB1_CHW_DH3_FT02": 236.32263386830658, + "SATB1_CHW_DH4_FT01": 58.74877914631911, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 90.60502675044584, + "SATB1_CHW_DH5_FT02": 159.3213553559226, + "t_stamp": 1776695588504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 89, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776695618504 + }, + { + "SATB1_CHW_DH1_FT01": 332.32094465092246, + "SATB1_CHW_DH1_FT02": 360.32246074869164, + "SATB1_CHW_DH2_FT01": 763.5767570540492, + "SATB1_CHW_DH2_FT02": 573.2474749158305, + "SATB1_CHW_DH3_FT01": 337.785744046131, + "SATB1_CHW_DH3_FT02": 242.24735824527485, + "SATB1_CHW_DH4_FT01": 57.106966666666665, + "SATB1_CHW_DH4_FT02": 117.1074702490083, + "SATB1_CHW_DH5_FT01": 120.255, + "SATB1_CHW_DH5_FT02": 159.89285357154762, + "t_stamp": 1776695648504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 761, + "SATB1_CHW_DH2_FT02": 574, + "SATB1_CHW_DH3_FT01": 338, + "SATB1_CHW_DH3_FT02": 243, + "SATB1_CHW_DH4_FT01": 57, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 124, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776695678504 + }, + { + "SATB1_CHW_DH1_FT01": 338.2511166666667, + "SATB1_CHW_DH1_FT02": 361.78494408612903, + "SATB1_CHW_DH2_FT01": 769.9260357988067, + "SATB1_CHW_DH2_FT02": 571.3225892470251, + "SATB1_CHW_DH3_FT01": 333.535592259871, + "SATB1_CHW_DH3_FT02": 236.75292902021565, + "SATB1_CHW_DH4_FT01": 61.46516666666667, + "SATB1_CHW_DH4_FT02": 114.32253387330634, + "SATB1_CHW_DH5_FT01": 112.391, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776695708504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 771, + "SATB1_CHW_DH2_FT02": 571, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 62, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 111, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776695738504 + }, + { + "SATB1_CHW_DH1_FT01": 337.2139666666667, + "SATB1_CHW_DH1_FT02": 363.7850225844626, + "SATB1_CHW_DH2_FT01": 786.1752116807787, + "SATB1_CHW_DH2_FT02": 573.6775338766938, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 65.57207379877002, + "SATB1_CHW_DH4_FT02": 115.78508567237816, + "SATB1_CHW_DH5_FT01": 117.25089581840302, + "SATB1_CHW_DH5_FT02": 161.7857226194643, + "t_stamp": 1776695768504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 574, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 66, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 118, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776695798504 + }, + { + "SATB1_CHW_DH1_FT01": 335.2139666666667, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 791.5705476484118, + "SATB1_CHW_DH2_FT02": 580.2476166666667, + "SATB1_CHW_DH3_FT01": 328.5355, + "SATB1_CHW_DH3_FT02": 244.0325, + "SATB1_CHW_DH4_FT01": 62.427933333333335, + "SATB1_CHW_DH4_FT02": 119.5702, + "SATB1_CHW_DH5_FT01": 113.53500891681529, + "SATB1_CHW_DH5_FT02": 163.78573333333333, + "t_stamp": 1776695828504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 792, + "SATB1_CHW_DH2_FT02": 581, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 245, + "SATB1_CHW_DH4_FT01": 62, + "SATB1_CHW_DH4_FT02": 120, + "SATB1_CHW_DH5_FT01": 113, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776695858504 + }, + { + "SATB1_CHW_DH1_FT01": 340.35801069982165, + "SATB1_CHW_DH1_FT02": 360.4303497925242, + "SATB1_CHW_DH2_FT01": 796.4627947671028, + "SATB1_CHW_DH2_FT02": 575.6455246887863, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 237.8609518730836, + "SATB1_CHW_DH4_FT01": 52.17681666666667, + "SATB1_CHW_DH4_FT02": 118.21513798160245, + "SATB1_CHW_DH5_FT01": 90.67537207713205, + "SATB1_CHW_DH5_FT02": 166.67851071630946, + "t_stamp": 1776695888504 + }, + { + "SATB1_CHW_DH1_FT01": 341, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 797, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 51, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 88, + "SATB1_CHW_DH5_FT02": 167, + "t_stamp": 1776695918504 + }, + { + "SATB1_CHW_DH1_FT01": 333.856, + "SATB1_CHW_DH1_FT02": 362.6772446207437, + "SATB1_CHW_DH2_FT01": 792.5371756195937, + "SATB1_CHW_DH2_FT02": 564.2910215170252, + "SATB1_CHW_DH3_FT01": 332.46433333333334, + "SATB1_CHW_DH3_FT02": 235.21523692061535, + "SATB1_CHW_DH4_FT01": 49.213966666666664, + "SATB1_CHW_DH4_FT02": 111.75287509583653, + "SATB1_CHW_DH5_FT01": 89.78593690105166, + "SATB1_CHW_DH5_FT02": 158.9645, + "t_stamp": 1776695948504 + }, + { + "SATB1_CHW_DH1_FT01": 333, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 792, + "SATB1_CHW_DH2_FT02": 563, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 49, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 90, + "SATB1_CHW_DH5_FT02": 158, + "t_stamp": 1776695978504 + }, + { + "SATB1_CHW_DH1_FT01": 335.679, + "SATB1_CHW_DH1_FT02": 363.89237204806426, + "SATB1_CHW_DH2_FT01": 779.5046914320951, + "SATB1_CHW_DH2_FT02": 568.3541430571295, + "SATB1_CHW_DH3_FT01": 330.32148928369054, + "SATB1_CHW_DH3_FT02": 241.2463710147826, + "SATB1_CHW_DH4_FT01": 45.427933333333335, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 81.96343394276762, + "SATB1_CHW_DH5_FT02": 155.3216339183041, + "t_stamp": 1776696008504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 778, + "SATB1_CHW_DH2_FT02": 569, + "SATB1_CHW_DH3_FT01": 330, + "SATB1_CHW_DH3_FT02": 242, + "SATB1_CHW_DH4_FT01": 45, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 81, + "SATB1_CHW_DH5_FT02": 155, + "t_stamp": 1776696038504 + }, + { + "SATB1_CHW_DH1_FT01": 340.465, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 774.4298143271442, + "SATB1_CHW_DH2_FT02": 579.7087354367718, + "SATB1_CHW_DH3_FT01": 313.03616666666665, + "SATB1_CHW_DH3_FT02": 248.24654155138504, + "SATB1_CHW_DH4_FT01": 48.572066666666665, + "SATB1_CHW_DH4_FT02": 111.89242795473108, + "SATB1_CHW_DH5_FT01": 87.25075417923632, + "SATB1_CHW_DH5_FT02": 163.92798213303556, + "t_stamp": 1776696068504 + }, + { + "SATB1_CHW_DH1_FT01": 341, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 774, + "SATB1_CHW_DH2_FT02": 581, + "SATB1_CHW_DH3_FT01": 311, + "SATB1_CHW_DH3_FT02": 249, + "SATB1_CHW_DH4_FT01": 49, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 88, + "SATB1_CHW_DH5_FT02": 165, + "t_stamp": 1776696098504 + }, + { + "SATB1_CHW_DH1_FT01": 344.572, + "SATB1_CHW_DH1_FT02": 374.70864304523184, + "SATB1_CHW_DH2_FT01": 779.3551214959501, + "SATB1_CHW_DH2_FT02": 569.3991866937769, + "SATB1_CHW_DH3_FT01": 319.0355, + "SATB1_CHW_DH3_FT02": 240.07648205863237, + "SATB1_CHW_DH4_FT01": 49.89300178330361, + "SATB1_CHW_DH4_FT02": 116.46201793273558, + "SATB1_CHW_DH5_FT01": 103.18043333333333, + "SATB1_CHW_DH5_FT02": 165, + "t_stamp": 1776696128504 + }, + { + "SATB1_CHW_DH1_FT01": 345, + "SATB1_CHW_DH1_FT02": 376, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 320, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 50, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 105, + "SATB1_CHW_DH5_FT02": 165, + "t_stamp": 1776696158504 + }, + { + "SATB1_CHW_DH1_FT01": 336.07, + "SATB1_CHW_DH1_FT02": 370.6465922346276, + "SATB1_CHW_DH2_FT01": 783.569947668411, + "SATB1_CHW_DH2_FT02": 570.6766538910182, + "SATB1_CHW_DH3_FT01": 329.82165774955416, + "SATB1_CHW_DH3_FT02": 236.32352990185458, + "SATB1_CHW_DH4_FT01": 54.46507441790696, + "SATB1_CHW_DH4_FT02": 117.89228102919611, + "SATB1_CHW_DH5_FT01": 106.78596309938499, + "SATB1_CHW_DH5_FT02": 161.42862143107155, + "t_stamp": 1776696188504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 370, + "SATB1_CHW_DH2_FT01": 784, + "SATB1_CHW_DH2_FT02": 571, + "SATB1_CHW_DH3_FT01": 331, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 55, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776696218504 + }, + { + "SATB1_CHW_DH1_FT01": 328.749, + "SATB1_CHW_DH1_FT02": 363.7534422403734, + "SATB1_CHW_DH2_FT01": 781.3224607486916, + "SATB1_CHW_DH2_FT02": 579.0311385230872, + "SATB1_CHW_DH3_FT01": 321.1787743946136, + "SATB1_CHW_DH3_FT02": 212.79989331199573, + "SATB1_CHW_DH4_FT01": 62.14401426642889, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 102.53515774737087, + "SATB1_CHW_DH5_FT02": 163.67841607919604, + "t_stamp": 1776696248504 + }, + { + "SATB1_CHW_DH1_FT01": 328, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 580, + "SATB1_CHW_DH3_FT01": 320, + "SATB1_CHW_DH3_FT02": 210, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776696278504 + }, + { + "SATB1_CHW_DH1_FT01": 326.214, + "SATB1_CHW_DH1_FT02": 363.89241308043603, + "SATB1_CHW_DH2_FT01": 775.6446322316116, + "SATB1_CHW_DH2_FT02": 581.7847928264275, + "SATB1_CHW_DH3_FT01": 321.78572619087305, + "SATB1_CHW_DH3_FT02": 230.52435081169372, + "SATB1_CHW_DH4_FT01": 42.461, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 99.3211, + "SATB1_CHW_DH5_FT02": 167.57131904396815, + "t_stamp": 1776696308504 + }, + { + "SATB1_CHW_DH1_FT01": 326, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 775, + "SATB1_CHW_DH2_FT02": 582, + "SATB1_CHW_DH3_FT01": 322, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 40, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 168, + "t_stamp": 1776696338504 + }, + { + "SATB1_CHW_DH1_FT01": 324.214, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 785.7109785163086, + "SATB1_CHW_DH2_FT02": 573.0758512641877, + "SATB1_CHW_DH3_FT01": 328.25006666666667, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 43.572, + "SATB1_CHW_DH4_FT02": 121.5697928298805, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 168, + "t_stamp": 1776696368504 + }, + { + "SATB1_CHW_DH1_FT01": 324, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 787, + "SATB1_CHW_DH2_FT02": 572, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 44, + "SATB1_CHW_DH4_FT02": 122, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 168, + "t_stamp": 1776696398504 + }, + { + "SATB1_CHW_DH1_FT01": 334.71582140297664, + "SATB1_CHW_DH1_FT02": 363.10756845947435, + "SATB1_CHW_DH2_FT01": 781.6445, + "SATB1_CHW_DH2_FT02": 574.6772946215771, + "SATB1_CHW_DH3_FT01": 325.42853333333335, + "SATB1_CHW_DH3_FT02": 230.32280538008968, + "SATB1_CHW_DH4_FT01": 63.646, + "SATB1_CHW_DH4_FT02": 118.4301405023417, + "SATB1_CHW_DH5_FT01": 98.10704821586307, + "SATB1_CHW_DH5_FT02": 161.75016666666667, + "t_stamp": 1776696428504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 230, + "SATB1_CHW_DH4_FT01": 66, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 98, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776696458504 + }, + { + "SATB1_CHW_DH1_FT01": 332.42806666666667, + "SATB1_CHW_DH1_FT02": 360.3229230897425, + "SATB1_CHW_DH2_FT01": 767.6116962767908, + "SATB1_CHW_DH2_FT02": 576.7847179401716, + "SATB1_CHW_DH3_FT01": 321.4284738078968, + "SATB1_CHW_DH3_FT02": 234.46162819765019, + "SATB1_CHW_DH4_FT01": 61.535, + "SATB1_CHW_DH4_FT02": 113.53811285538113, + "SATB1_CHW_DH5_FT01": 113.18040300671677, + "SATB1_CHW_DH5_FT02": 165.46424107068452, + "t_stamp": 1776696488504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 766, + "SATB1_CHW_DH2_FT02": 577, + "SATB1_CHW_DH3_FT01": 321, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 61, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 115, + "SATB1_CHW_DH5_FT02": 166, + "t_stamp": 1776696518504 + }, + { + "SATB1_CHW_DH1_FT01": 335.57193333333333, + "SATB1_CHW_DH1_FT02": 366.24707470747074, + "SATB1_CHW_DH2_FT01": 765.1074351239188, + "SATB1_CHW_DH2_FT02": 565.3982898289829, + "SATB1_CHW_DH3_FT01": 329.03541430571295, + "SATB1_CHW_DH3_FT02": 242.13924725805913, + "SATB1_CHW_DH4_FT01": 61.892985116914716, + "SATB1_CHW_DH4_FT02": 115.67736773677368, + "SATB1_CHW_DH5_FT01": 111.42819286345228, + "SATB1_CHW_DH5_FT02": 160.64316784160792, + "t_stamp": 1776696548504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 765, + "SATB1_CHW_DH2_FT02": 564, + "SATB1_CHW_DH3_FT01": 330, + "SATB1_CHW_DH3_FT02": 243, + "SATB1_CHW_DH4_FT01": 62, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 111, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776696578504 + }, + { + "SATB1_CHW_DH1_FT01": 332.42806666666667, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 759.6446892551791, + "SATB1_CHW_DH2_FT02": 556.8608759416039, + "SATB1_CHW_DH3_FT01": 338.92861309732154, + "SATB1_CHW_DH3_FT02": 236.75339566355015, + "SATB1_CHW_DH4_FT01": 54.85601426690445, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 101.17738628977149, + "SATB1_CHW_DH5_FT02": 159.107214879752, + "t_stamp": 1776696608504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 759, + "SATB1_CHW_DH2_FT02": 556, + "SATB1_CHW_DH3_FT01": 340, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 54, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 100, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776696638504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 770.6037301865093, + "SATB1_CHW_DH2_FT02": 570.2786092869762, + "SATB1_CHW_DH3_FT01": 328.39273333333335, + "SATB1_CHW_DH3_FT02": 231.53809230153837, + "SATB1_CHW_DH4_FT01": 60.25089581840302, + "SATB1_CHW_DH4_FT02": 123.13957131904397, + "SATB1_CHW_DH5_FT01": 103.57186666666666, + "SATB1_CHW_DH5_FT02": 161.6784839241962, + "t_stamp": 1776696668504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 772, + "SATB1_CHW_DH2_FT02": 572, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 61, + "SATB1_CHW_DH4_FT02": 124, + "SATB1_CHW_DH5_FT01": 104, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776696698504 + }, + { + "SATB1_CHW_DH1_FT01": 335.57193333333333, + "SATB1_CHW_DH1_FT02": 364.3226161308065, + "SATB1_CHW_DH2_FT01": 772, + "SATB1_CHW_DH2_FT02": 563.0753871026884, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 58.32105, + "SATB1_CHW_DH4_FT02": 120.43008100270009, + "SATB1_CHW_DH5_FT01": 107.57186666666666, + "SATB1_CHW_DH5_FT02": 162.8928482141369, + "t_stamp": 1776696728504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 772, + "SATB1_CHW_DH2_FT02": 562, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 120, + "SATB1_CHW_DH5_FT01": 108, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776696758504 + }, + { + "SATB1_CHW_DH1_FT01": 346.7156214063099, + "SATB1_CHW_DH1_FT02": 366.6774, + "SATB1_CHW_DH2_FT01": 801.4562909381823, + "SATB1_CHW_DH2_FT02": 566.4623333333334, + "SATB1_CHW_DH3_FT01": 333.25007916534724, + "SATB1_CHW_DH3_FT02": 236.3546, + "SATB1_CHW_DH4_FT01": 61.571933333333334, + "SATB1_CHW_DH4_FT02": 126.2474874581243, + "SATB1_CHW_DH5_FT01": 89.24801253312444, + "SATB1_CHW_DH5_FT02": 166.5714, + "t_stamp": 1776696788504 + }, + { + "SATB1_CHW_DH1_FT01": 348, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 805, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 334, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 62, + "SATB1_CHW_DH4_FT02": 127, + "SATB1_CHW_DH5_FT01": 87, + "SATB1_CHW_DH5_FT02": 167, + "t_stamp": 1776696818504 + }, + { + "SATB1_CHW_DH1_FT01": 333.7122952049201, + "SATB1_CHW_DH1_FT02": 362.5373691579439, + "SATB1_CHW_DH2_FT01": 797.8588286276209, + "SATB1_CHW_DH2_FT02": 570.5700451689252, + "SATB1_CHW_DH3_FT01": 333.1071333333333, + "SATB1_CHW_DH3_FT02": 238.78498566571105, + "SATB1_CHW_DH4_FT01": 62.89298333333333, + "SATB1_CHW_DH4_FT02": 121.64473223661183, + "SATB1_CHW_DH5_FT01": 100.39425, + "SATB1_CHW_DH5_FT02": 162.53575, + "t_stamp": 1776696848504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 797, + "SATB1_CHW_DH2_FT02": 571, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 121, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776696878504 + }, + { + "SATB1_CHW_DH1_FT01": 334.6789053515775, + "SATB1_CHW_DH1_FT02": 365.569478928863, + "SATB1_CHW_DH2_FT01": 789.8598710193471, + "SATB1_CHW_DH2_FT02": 578.1388245488328, + "SATB1_CHW_DH3_FT01": 335.67842143857075, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 53.17734704421593, + "SATB1_CHW_DH4_FT02": 119.21522720834514, + "SATB1_CHW_DH5_FT01": 110.92920235992133, + "SATB1_CHW_DH5_FT02": 166.4638780101658, + "t_stamp": 1776696908504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 789, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 52, + "SATB1_CHW_DH4_FT02": 119, + "SATB1_CHW_DH5_FT01": 112, + "SATB1_CHW_DH5_FT02": 167, + "t_stamp": 1776696938504 + }, + { + "SATB1_CHW_DH1_FT01": 333.21406666666667, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 785.4301189960335, + "SATB1_CHW_DH2_FT02": 588.8153394886837, + "SATB1_CHW_DH3_FT01": 329.75050415826405, + "SATB1_CHW_DH3_FT02": 235.4309189693677, + "SATB1_CHW_DH4_FT01": 73.4312, + "SATB1_CHW_DH4_FT02": 124.35402153261558, + "SATB1_CHW_DH5_FT01": 103.96361606026767, + "SATB1_CHW_DH5_FT02": 163.42905236492118, + "t_stamp": 1776696968504 + }, + { + "SATB1_CHW_DH1_FT01": 333, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 590, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 76, + "SATB1_CHW_DH4_FT02": 125, + "SATB1_CHW_DH5_FT01": 103, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776696998504 + }, + { + "SATB1_CHW_DH1_FT01": 331.21409643172615, + "SATB1_CHW_DH1_FT02": 363.3230553842564, + "SATB1_CHW_DH2_FT01": 794.8171333333333, + "SATB1_CHW_DH2_FT02": 577.5075917931965, + "SATB1_CHW_DH3_FT01": 328.10720178669646, + "SATB1_CHW_DH3_FT02": 228.75402923382057, + "SATB1_CHW_DH4_FT01": 42.960233333333335, + "SATB1_CHW_DH4_FT02": 114.292, + "SATB1_CHW_DH5_FT01": 98.53540774320427, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697028504 + }, + { + "SATB1_CHW_DH1_FT01": 331, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 796, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 228, + "SATB1_CHW_DH4_FT01": 39, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 98, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697058504 + }, + { + "SATB1_CHW_DH1_FT01": 339.03668394473243, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 789.7519002533671, + "SATB1_CHW_DH2_FT02": 579.5698021369872, + "SATB1_CHW_DH3_FT01": 325.32146607330367, + "SATB1_CHW_DH3_FT02": 229.784864144024, + "SATB1_CHW_DH4_FT01": 38.10701845030751, + "SATB1_CHW_DH4_FT02": 108.53758959826638, + "SATB1_CHW_DH5_FT01": 115.85892863095437, + "SATB1_CHW_DH5_FT02": 161.21437738553595, + "t_stamp": 1776697088504 + }, + { + "SATB1_CHW_DH1_FT01": 340, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 789, + "SATB1_CHW_DH2_FT02": 580, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 230, + "SATB1_CHW_DH4_FT01": 38, + "SATB1_CHW_DH4_FT02": 108, + "SATB1_CHW_DH5_FT01": 118, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776697118504 + }, + { + "SATB1_CHW_DH1_FT01": 343.57186666666666, + "SATB1_CHW_DH1_FT02": 360.32299616730546, + "SATB1_CHW_DH2_FT01": 780.9672693942172, + "SATB1_CHW_DH2_FT02": 575.5384102649558, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 230.89227154569087, + "SATB1_CHW_DH4_FT01": 55.85936901051649, + "SATB1_CHW_DH4_FT02": 111.5695240634582, + "SATB1_CHW_DH5_FT01": 118.89293511774804, + "SATB1_CHW_DH5_FT02": 163.67840535991067, + "t_stamp": 1776697148504 + }, + { + "SATB1_CHW_DH1_FT01": 344, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 119, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776697178504 + }, + { + "SATB1_CHW_DH1_FT01": 330.60572323794605, + "SATB1_CHW_DH1_FT02": 362.6766823317668, + "SATB1_CHW_DH2_FT01": 797.8473587735377, + "SATB1_CHW_DH2_FT02": 570.5389461053894, + "SATB1_CHW_DH3_FT01": 327.67841071964267, + "SATB1_CHW_DH3_FT02": 234.56876208252783, + "SATB1_CHW_DH4_FT01": 51.749233333333336, + "SATB1_CHW_DH4_FT02": 116.46123850153313, + "SATB1_CHW_DH5_FT01": 100.24871252145797, + "SATB1_CHW_DH5_FT02": 159.53614879504016, + "t_stamp": 1776697208504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 800, + "SATB1_CHW_DH2_FT02": 570, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 51, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 98, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776697238504 + }, + { + "SATB1_CHW_DH1_FT01": 331.67885, + "SATB1_CHW_DH1_FT02": 366.5698186182982, + "SATB1_CHW_DH2_FT01": 793.7519879969992, + "SATB1_CHW_DH2_FT02": 570, + "SATB1_CHW_DH3_FT01": 329.7856595219841, + "SATB1_CHW_DH3_FT02": 232.32273606295013, + "SATB1_CHW_DH4_FT01": 67.07339999999999, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 101.5717261954366, + "SATB1_CHW_DH5_FT02": 163.46398213273775, + "t_stamp": 1776697268504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 793, + "SATB1_CHW_DH2_FT02": 570, + "SATB1_CHW_DH3_FT01": 330, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 69, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776697298504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 364.32259462342296, + "SATB1_CHW_DH2_FT01": 781.3963933934434, + "SATB1_CHW_DH2_FT02": 577.139614339761, + "SATB1_CHW_DH3_FT01": 329.10718154697423, + "SATB1_CHW_DH3_FT02": 231.10756487391876, + "SATB1_CHW_DH4_FT01": 65.42819286345228, + "SATB1_CHW_DH4_FT02": 115.21502974950417, + "SATB1_CHW_DH5_FT01": 99.32124464592256, + "SATB1_CHW_DH5_FT02": 163.107214879752, + "t_stamp": 1776697328504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 578, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 65, + "SATB1_CHW_DH4_FT02": 115, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697358504 + }, + { + "SATB1_CHW_DH1_FT01": 332.89295, + "SATB1_CHW_DH1_FT02": 362.2151559088712, + "SATB1_CHW_DH2_FT01": 774.6446785107163, + "SATB1_CHW_DH2_FT02": 575.3227838608069, + "SATB1_CHW_DH3_FT01": 332.57132618876983, + "SATB1_CHW_DH3_FT02": 227.43044514440945, + "SATB1_CHW_DH4_FT01": 58.74935, + "SATB1_CHW_DH4_FT02": 113.21512257720447, + "SATB1_CHW_DH5_FT01": 99.89293154885915, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697388504 + }, + { + "SATB1_CHW_DH1_FT01": 333, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 774, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 227, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 100, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697418504 + }, + { + "SATB1_CHW_DH1_FT01": 342.82245, + "SATB1_CHW_DH1_FT02": 363.78486308105136, + "SATB1_CHW_DH2_FT01": 765.9667822260742, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 332.10718154697423, + "SATB1_CHW_DH3_FT02": 229.67719461991032, + "SATB1_CHW_DH4_FT01": 60.67889464824414, + "SATB1_CHW_DH4_FT02": 115.67734462241037, + "SATB1_CHW_DH5_FT01": 108.0364, + "SATB1_CHW_DH5_FT02": 166.57114048099197, + "t_stamp": 1776697448504 + }, + { + "SATB1_CHW_DH1_FT01": 344, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 765, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 332, + "SATB1_CHW_DH3_FT02": 230, + "SATB1_CHW_DH4_FT01": 61, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 109, + "SATB1_CHW_DH5_FT02": 167, + "t_stamp": 1776697478504 + }, + { + "SATB1_CHW_DH1_FT01": 341.32115, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 780.1731580087662, + "SATB1_CHW_DH2_FT02": 564.2909784836919, + "SATB1_CHW_DH3_FT01": 338.24971666666664, + "SATB1_CHW_DH3_FT02": 227.3228, + "SATB1_CHW_DH4_FT01": 62.78590356827386, + "SATB1_CHW_DH4_FT02": 107.96795, + "SATB1_CHW_DH5_FT01": 101.85665238912685, + "SATB1_CHW_DH5_FT02": 163.42898570047666, + "t_stamp": 1776697508504 + }, + { + "SATB1_CHW_DH1_FT01": 341, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 782, + "SATB1_CHW_DH2_FT02": 563, + "SATB1_CHW_DH3_FT01": 339, + "SATB1_CHW_DH3_FT02": 227, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 107, + "SATB1_CHW_DH5_FT01": 101, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697538504 + }, + { + "SATB1_CHW_DH1_FT01": 336.53525, + "SATB1_CHW_DH1_FT02": 363.1075517925299, + "SATB1_CHW_DH2_FT01": 787.3554677733887, + "SATB1_CHW_DH2_FT02": 562.1075535851195, + "SATB1_CHW_DH3_FT01": 342.57132618876983, + "SATB1_CHW_DH3_FT02": 231.46207436790613, + "SATB1_CHW_DH4_FT01": 73.7154, + "SATB1_CHW_DH4_FT02": 115.92464874414574, + "SATB1_CHW_DH5_FT01": 99.21416666666667, + "SATB1_CHW_DH5_FT02": 159.42888096269877, + "t_stamp": 1776697568504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 562, + "SATB1_CHW_DH3_FT01": 343, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 75, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776697598504 + }, + { + "SATB1_CHW_DH1_FT01": 332.4282, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 785.3222946284228, + "SATB1_CHW_DH2_FT02": 573.601656639056, + "SATB1_CHW_DH3_FT01": 333.17883333333333, + "SATB1_CHW_DH3_FT02": 239.13933333333333, + "SATB1_CHW_DH4_FT01": 64.2846, + "SATB1_CHW_DH4_FT02": 114.3226, + "SATB1_CHW_DH5_FT01": 103.46458333333334, + "SATB1_CHW_DH5_FT02": 162.57119285321423, + "t_stamp": 1776697628504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 332, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 104, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697658504 + }, + { + "SATB1_CHW_DH1_FT01": 335.57168094396854, + "SATB1_CHW_DH1_FT02": 367.4623987466249, + "SATB1_CHW_DH2_FT01": 780.5370179005967, + "SATB1_CHW_DH2_FT02": 566.9676983849192, + "SATB1_CHW_DH3_FT01": 330.2143630939484, + "SATB1_CHW_DH3_FT02": 239.1075535851195, + "SATB1_CHW_DH4_FT01": 57.642389293511776, + "SATB1_CHW_DH4_FT02": 118.46248208273609, + "SATB1_CHW_DH5_FT01": 99.53549107514874, + "SATB1_CHW_DH5_FT02": 164.78557024049599, + "t_stamp": 1776697688504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 368, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 566, + "SATB1_CHW_DH3_FT01": 330, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 57, + "SATB1_CHW_DH4_FT02": 119, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 165, + "t_stamp": 1776697718504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 365.32259462342296, + "SATB1_CHW_DH2_FT01": 782.6777553707439, + "SATB1_CHW_DH2_FT02": 567.784936917718, + "SATB1_CHW_DH3_FT01": 325.53584226403774, + "SATB1_CHW_DH3_FT02": 235.43025949567507, + "SATB1_CHW_DH4_FT01": 37.35513925232087, + "SATB1_CHW_DH4_FT02": 113.64508924851252, + "SATB1_CHW_DH5_FT01": 103.46457440957349, + "SATB1_CHW_DH5_FT02": 161.42880714678577, + "t_stamp": 1776697748504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 365, + "SATB1_CHW_DH2_FT01": 783, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 35, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 104, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776697778504 + }, + { + "SATB1_CHW_DH1_FT01": 336.8929202359921, + "SATB1_CHW_DH1_FT02": 366.7848738375387, + "SATB1_CHW_DH2_FT01": 778.5372320922636, + "SATB1_CHW_DH2_FT02": 573.3545322733863, + "SATB1_CHW_DH3_FT01": 316.96490175491226, + "SATB1_CHW_DH3_FT02": 235.89240358654712, + "SATB1_CHW_DH4_FT01": 54.644572590456825, + "SATB1_CHW_DH4_FT02": 116.56981433952201, + "SATB1_CHW_DH5_FT01": 126.32217259424687, + "SATB1_CHW_DH5_FT02": 164.57108096396786, + "t_stamp": 1776697808504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 778, + "SATB1_CHW_DH2_FT02": 574, + "SATB1_CHW_DH3_FT01": 316, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 57, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 129, + "SATB1_CHW_DH5_FT02": 165, + "t_stamp": 1776697838504 + }, + { + "SATB1_CHW_DH1_FT01": 344.14345239087316, + "SATB1_CHW_DH1_FT02": 366.10765590107655, + "SATB1_CHW_DH2_FT01": 779.7849810012666, + "SATB1_CHW_DH2_FT02": 580.2463961336555, + "SATB1_CHW_DH3_FT01": 323.14214763087284, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 43.60577676294605, + "SATB1_CHW_DH4_FT02": 118.78475127072744, + "SATB1_CHW_DH5_FT01": 154.00115001916697, + "SATB1_CHW_DH5_FT02": 161.42899285011916, + "t_stamp": 1776697868504 + }, + { + "SATB1_CHW_DH1_FT01": 345, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 581, + "SATB1_CHW_DH3_FT01": 324, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 42, + "SATB1_CHW_DH4_FT02": 119, + "SATB1_CHW_DH5_FT01": 157, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776697898504 + }, + { + "SATB1_CHW_DH1_FT01": 341.4282666666667, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 789.8182984965163, + "SATB1_CHW_DH2_FT02": 572.0754767302307, + "SATB1_CHW_DH3_FT01": 326.67843392169607, + "SATB1_CHW_DH3_FT02": 238.67725696759567, + "SATB1_CHW_DH4_FT01": 41.10706488225196, + "SATB1_CHW_DH4_FT02": 116.32258763522411, + "SATB1_CHW_DH5_FT01": 138.2491, + "SATB1_CHW_DH5_FT02": 162.78555951865062, + "t_stamp": 1776697928504 + }, + { + "SATB1_CHW_DH1_FT01": 341, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 791, + "SATB1_CHW_DH2_FT02": 571, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 41, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 136, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697958504 + }, + { + "SATB1_CHW_DH1_FT01": 337.4282666666667, + "SATB1_CHW_DH1_FT02": 364.2152748845968, + "SATB1_CHW_DH2_FT01": 765.1181028879964, + "SATB1_CHW_DH2_FT02": 573.6770876731048, + "SATB1_CHW_DH3_FT01": 312.7149333333333, + "SATB1_CHW_DH3_FT02": 236.3230123152299, + "SATB1_CHW_DH4_FT01": 41, + "SATB1_CHW_DH4_FT02": 113.32286233272785, + "SATB1_CHW_DH5_FT01": 105.64089401490025, + "SATB1_CHW_DH5_FT02": 160.32165, + "t_stamp": 1776697988504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 762, + "SATB1_CHW_DH2_FT02": 574, + "SATB1_CHW_DH3_FT01": 311, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 41, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776698018504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 363.1078135675126, + "SATB1_CHW_DH2_FT01": 775.3861075928271, + "SATB1_CHW_DH2_FT02": 581.1373725254949, + "SATB1_CHW_DH3_FT01": 319.0346804432964, + "SATB1_CHW_DH3_FT02": 233.3236744759556, + "SATB1_CHW_DH4_FT01": 50.82210296495059, + "SATB1_CHW_DH4_FT02": 116.56893132696761, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 162.6781714552363, + "t_stamp": 1776698048504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 777, + "SATB1_CHW_DH2_FT02": 582, + "SATB1_CHW_DH3_FT01": 320, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 52, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776698078504 + }, + { + "SATB1_CHW_DH1_FT01": 332.5354255904265, + "SATB1_CHW_DH1_FT02": 365.67676767676767, + "SATB1_CHW_DH2_FT01": 785.031733862231, + "SATB1_CHW_DH2_FT02": 568.6161885553314, + "SATB1_CHW_DH3_FT01": 320, + "SATB1_CHW_DH3_FT02": 236.56886866363288, + "SATB1_CHW_DH4_FT01": 45.749583333333334, + "SATB1_CHW_DH4_FT02": 114.32312692724393, + "SATB1_CHW_DH5_FT01": 108.2501708361806, + "SATB1_CHW_DH5_FT02": 163.89270178830353, + "t_stamp": 1776698108504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 786, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 320, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 45, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 109, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776698138504 + }, + { + "SATB1_CHW_DH1_FT01": 329.32125, + "SATB1_CHW_DH1_FT02": 363.322798419763, + "SATB1_CHW_DH2_FT01": 776.182271264981, + "SATB1_CHW_DH2_FT02": 568.7848010534914, + "SATB1_CHW_DH3_FT01": 323.57117141142743, + "SATB1_CHW_DH3_FT02": 231.64579686953044, + "SATB1_CHW_DH4_FT01": 51.250416666666666, + "SATB1_CHW_DH4_FT02": 115.78483797839712, + "SATB1_CHW_DH5_FT01": 130.429557159286, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776698168504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 775, + "SATB1_CHW_DH2_FT02": 569, + "SATB1_CHW_DH3_FT01": 324, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 52, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 133, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776698198504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 363.89237204806426, + "SATB1_CHW_DH2_FT01": 786.6023532156726, + "SATB1_CHW_DH2_FT02": 572.569428704753, + "SATB1_CHW_DH3_FT01": 326.67826608669566, + "SATB1_CHW_DH3_FT02": 227.43064513440996, + "SATB1_CHW_DH4_FT01": 70.75093748437526, + "SATB1_CHW_DH4_FT02": 111.5380564305118, + "SATB1_CHW_DH5_FT01": 108.89290535473226, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776698228504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 573, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 227, + "SATB1_CHW_DH4_FT01": 73, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 106, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776698258504 + }, + { + "SATB1_CHW_DH1_FT01": 334.3574785826194, + "SATB1_CHW_DH1_FT02": 363.10763333333335, + "SATB1_CHW_DH2_FT01": 781.7524084136138, + "SATB1_CHW_DH2_FT02": 571.2152702545043, + "SATB1_CHW_DH3_FT01": 323.42888096269877, + "SATB1_CHW_DH3_FT02": 226.10765179419656, + "SATB1_CHW_DH4_FT01": 66.74959582659712, + "SATB1_CHW_DH4_FT02": 117.24678744645745, + "SATB1_CHW_DH5_FT01": 104.21424047468248, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776698288504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 571, + "SATB1_CHW_DH3_FT01": 323, + "SATB1_CHW_DH3_FT02": 226, + "SATB1_CHW_DH4_FT01": 66, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 104, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776698318504 + }, + { + "SATB1_CHW_DH1_FT01": 330.53549107514874, + "SATB1_CHW_DH1_FT02": 366.56970464697645, + "SATB1_CHW_DH2_FT01": 787.2479290631198, + "SATB1_CHW_DH2_FT02": 572.784822574462, + "SATB1_CHW_DH3_FT01": 329.24937917701374, + "SATB1_CHW_DH3_FT02": 230.46197309865494, + "SATB1_CHW_DH4_FT01": 63.32125, + "SATB1_CHW_DH4_FT02": 114.43022151107556, + "SATB1_CHW_DH5_FT01": 116.50036666666666, + "SATB1_CHW_DH5_FT02": 166.67825, + "t_stamp": 1776698348504 + }, + { + "SATB1_CHW_DH1_FT01": 330, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 573, + "SATB1_CHW_DH3_FT01": 330, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 118, + "SATB1_CHW_DH5_FT02": 167, + "t_stamp": 1776698378504 + }, + { + "SATB1_CHW_DH1_FT01": 331.7858297638294, + "SATB1_CHW_DH1_FT02": 364.322744620923, + "SATB1_CHW_DH2_FT01": 780.8598236754829, + "SATB1_CHW_DH2_FT02": 570.3227946200897, + "SATB1_CHW_DH3_FT01": 333.5711261854364, + "SATB1_CHW_DH3_FT02": 235.46192563457276, + "SATB1_CHW_DH4_FT01": 57.6425, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 127.82171666666667, + "SATB1_CHW_DH5_FT02": 159.8582380587314, + "t_stamp": 1776698408504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 570, + "SATB1_CHW_DH3_FT01": 334, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 57, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 129, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776698438504 + }, + { + "SATB1_CHW_DH1_FT01": 331.1070833333333, + "SATB1_CHW_DH1_FT02": 360.430214340478, + "SATB1_CHW_DH2_FT01": 798.7437871893594, + "SATB1_CHW_DH2_FT02": 576.2471123556178, + "SATB1_CHW_DH3_FT01": 331.32160536008934, + "SATB1_CHW_DH3_FT02": 232.43034767825594, + "SATB1_CHW_DH4_FT01": 62.3575, + "SATB1_CHW_DH4_FT02": 111.32261075369179, + "SATB1_CHW_DH5_FT01": 109.35623927065451, + "SATB1_CHW_DH5_FT02": 159.8927613047319, + "t_stamp": 1776698468504 + }, + { + "SATB1_CHW_DH1_FT01": 331, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 801, + "SATB1_CHW_DH2_FT02": 577, + "SATB1_CHW_DH3_FT01": 331, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776698498504 + }, + { + "SATB1_CHW_DH1_FT01": 336.3574107098215, + "SATB1_CHW_DH1_FT02": 362.67739462324374, + "SATB1_CHW_DH2_FT01": 823.3141666666667, + "SATB1_CHW_DH2_FT02": 575.2150702511708, + "SATB1_CHW_DH3_FT01": 326.536, + "SATB1_CHW_DH3_FT02": 232.89243154052568, + "SATB1_CHW_DH4_FT01": 58.53549107514875, + "SATB1_CHW_DH4_FT02": 115.46240770679512, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 155.53616666666667, + "t_stamp": 1776698528504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 826, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 326, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 155, + "t_stamp": 1776698558504 + }, + { + "SATB1_CHW_DH1_FT01": 344.1432, + "SATB1_CHW_DH1_FT02": 362.1075482075299, + "SATB1_CHW_DH2_FT01": 792.0824666666666, + "SATB1_CHW_DH2_FT02": 565.1830302828287, + "SATB1_CHW_DH3_FT01": 334.03506608223194, + "SATB1_CHW_DH3_FT02": 235.67725537907702, + "SATB1_CHW_DH4_FT01": 60.678744645744096, + "SATB1_CHW_DH4_FT02": 110.64518924684589, + "SATB1_CHW_DH5_FT01": 138.25039582673622, + "SATB1_CHW_DH5_FT02": 159.46375893735103, + "t_stamp": 1776698588504 + }, + { + "SATB1_CHW_DH1_FT01": 345, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 564, + "SATB1_CHW_DH3_FT01": 335, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 61, + "SATB1_CHW_DH4_FT02": 110, + "SATB1_CHW_DH5_FT01": 142, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776698618504 + }, + { + "SATB1_CHW_DH1_FT01": 342.3213, + "SATB1_CHW_DH1_FT02": 365.5698594976583, + "SATB1_CHW_DH2_FT01": 769.2561, + "SATB1_CHW_DH2_FT02": 564, + "SATB1_CHW_DH3_FT01": 337.67839463991066, + "SATB1_CHW_DH3_FT02": 235.10756845947432, + "SATB1_CHW_DH4_FT01": 44.927499999999995, + "SATB1_CHW_DH4_FT02": 115.35488924815414, + "SATB1_CHW_DH5_FT01": 116.10643510725178, + "SATB1_CHW_DH5_FT02": 157.32170536175602, + "t_stamp": 1776698648504 + }, + { + "SATB1_CHW_DH1_FT01": 342, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 767, + "SATB1_CHW_DH2_FT02": 564, + "SATB1_CHW_DH3_FT01": 338, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 43, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 113, + "SATB1_CHW_DH5_FT02": 157, + "t_stamp": 1776698678504 + }, + { + "SATB1_CHW_DH1_FT01": 344.6787, + "SATB1_CHW_DH1_FT02": 360.64555696286914, + "SATB1_CHW_DH2_FT01": 777.7102644867757, + "SATB1_CHW_DH2_FT02": 566.6772161391931, + "SATB1_CHW_DH3_FT01": 333.53622318884055, + "SATB1_CHW_DH3_FT02": 233.2152225722047, + "SATB1_CHW_DH4_FT01": 22.463258945684238, + "SATB1_CHW_DH4_FT02": 117.78484767682154, + "SATB1_CHW_DH5_FT01": 101.39271012149797, + "SATB1_CHW_DH5_FT02": 164.14189527015765, + "t_stamp": 1776698708504 + }, + { + "SATB1_CHW_DH1_FT01": 345, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 779, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 20, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 100, + "SATB1_CHW_DH5_FT02": 165, + "t_stamp": 1776698738504 + }, + { + "SATB1_CHW_DH1_FT01": 340.5355, + "SATB1_CHW_DH1_FT02": 361.78491899459965, + "SATB1_CHW_DH2_FT01": 785.2479290631198, + "SATB1_CHW_DH2_FT02": 569.6773784918995, + "SATB1_CHW_DH3_FT01": 338.3566785559519, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 37.858000000000004, + "SATB1_CHW_DH4_FT02": 111.7526668444563, + "SATB1_CHW_DH5_FT01": 100.8928815480258, + "SATB1_CHW_DH5_FT02": 162.32175536258939, + "t_stamp": 1776698768504 + }, + { + "SATB1_CHW_DH1_FT01": 340, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 786, + "SATB1_CHW_DH2_FT02": 570, + "SATB1_CHW_DH3_FT01": 339, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 40, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 101, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776698798504 + }, + { + "SATB1_CHW_DH1_FT01": 339.1071, + "SATB1_CHW_DH1_FT02": 363.78493333333336, + "SATB1_CHW_DH2_FT01": 797.6033666666667, + "SATB1_CHW_DH2_FT02": 574.4622589623506, + "SATB1_CHW_DH3_FT01": 326.5008250137502, + "SATB1_CHW_DH3_FT02": 236.56974050432493, + "SATB1_CHW_DH4_FT01": 63.2154, + "SATB1_CHW_DH4_FT02": 116.3549, + "SATB1_CHW_DH5_FT01": 106.3573, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776698828504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 799, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 66, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776698858504 + }, + { + "SATB1_CHW_DH1_FT01": 339.8929, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 791.8598236754829, + "SATB1_CHW_DH2_FT02": 586.6012699365032, + "SATB1_CHW_DH3_FT01": 327.6784, + "SATB1_CHW_DH3_FT02": 236.10762615825612, + "SATB1_CHW_DH4_FT01": 62.428399999999996, + "SATB1_CHW_DH4_FT02": 112.53788080794614, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 160.21446666666668, + "t_stamp": 1776698888504 + }, + { + "SATB1_CHW_DH1_FT01": 340, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 791, + "SATB1_CHW_DH2_FT02": 588, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 62, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776698918504 + }, + { + "SATB1_CHW_DH1_FT01": 338.2142, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 777.6115805790289, + "SATB1_CHW_DH2_FT02": 573.7211240374679, + "SATB1_CHW_DH3_FT01": 324.42885951900803, + "SATB1_CHW_DH3_FT02": 235.10760358678624, + "SATB1_CHW_DH4_FT01": 54.8568, + "SATB1_CHW_DH4_FT02": 112.8924464148805, + "SATB1_CHW_DH5_FT01": 95.39251666666667, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776698948504 + }, + { + "SATB1_CHW_DH1_FT01": 338, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 776, + "SATB1_CHW_DH2_FT02": 572, + "SATB1_CHW_DH3_FT01": 324, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 54, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 94, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776698978504 + }, + { + "SATB1_CHW_DH1_FT01": 335.3213, + "SATB1_CHW_DH1_FT02": 361.32323535292943, + "SATB1_CHW_DH2_FT01": 776.8924625460363, + "SATB1_CHW_DH2_FT02": 574.6767646470706, + "SATB1_CHW_DH3_FT01": 325.7855369077182, + "SATB1_CHW_DH3_FT02": 246.59849368480687, + "SATB1_CHW_DH4_FT01": 43.2852, + "SATB1_CHW_DH4_FT02": 118.35380769871688, + "SATB1_CHW_DH5_FT01": 76.14263095615073, + "SATB1_CHW_DH5_FT02": 163.57094763507882, + "t_stamp": 1776699008504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 361, + "SATB1_CHW_DH2_FT01": 777, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 326, + "SATB1_CHW_DH3_FT02": 248, + "SATB1_CHW_DH4_FT01": 42, + "SATB1_CHW_DH4_FT02": 119, + "SATB1_CHW_DH5_FT01": 74, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776699038504 + }, + { + "SATB1_CHW_DH1_FT01": 337.67865535574407, + "SATB1_CHW_DH1_FT02": 362.7845558944614, + "SATB1_CHW_DH2_FT01": 786.8167863868936, + "SATB1_CHW_DH2_FT02": 575.8922779472307, + "SATB1_CHW_DH3_FT01": 334.92722030565136, + "SATB1_CHW_DH3_FT02": 238.18534877906492, + "SATB1_CHW_DH4_FT01": 63.4296, + "SATB1_CHW_DH4_FT02": 118.10770179502991, + "SATB1_CHW_DH5_FT01": 85.6070732154464, + "SATB1_CHW_DH5_FT02": 165.7854071530949, + "t_stamp": 1776699068504 + }, + { + "SATB1_CHW_DH1_FT01": 338, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 66, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 87, + "SATB1_CHW_DH5_FT02": 166, + "t_stamp": 1776699098504 + }, + { + "SATB1_CHW_DH1_FT01": 341.57147380876984, + "SATB1_CHW_DH1_FT02": 364.7845369243846, + "SATB1_CHW_DH2_FT01": 780.8606523224613, + "SATB1_CHW_DH2_FT02": 574.2154630756154, + "SATB1_CHW_DH3_FT01": 327.96555, + "SATB1_CHW_DH3_FT02": 238.78447025882903, + "SATB1_CHW_DH4_FT01": 49.928067865535574, + "SATB1_CHW_DH4_FT02": 118.8923, + "SATB1_CHW_DH5_FT01": 87, + "SATB1_CHW_DH5_FT02": 157.07314878085364, + "t_stamp": 1776699128504 + }, + { + "SATB1_CHW_DH1_FT01": 342, + "SATB1_CHW_DH1_FT02": 365, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 574, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 48, + "SATB1_CHW_DH4_FT02": 119, + "SATB1_CHW_DH5_FT01": 87, + "SATB1_CHW_DH5_FT02": 156, + "t_stamp": 1776699158504 + }, + { + "SATB1_CHW_DH1_FT01": 339.3214, + "SATB1_CHW_DH1_FT02": 364.10782255107824, + "SATB1_CHW_DH2_FT01": 775.5382884759604, + "SATB1_CHW_DH2_FT02": 569.5391127553911, + "SATB1_CHW_DH3_FT01": 319.85850471650946, + "SATB1_CHW_DH3_FT02": 230.97070292970702, + "SATB1_CHW_DH4_FT01": 61.39325, + "SATB1_CHW_DH4_FT02": 114.53902044761445, + "SATB1_CHW_DH5_FT01": 116.46300894985083, + "SATB1_CHW_DH5_FT02": 163.14122862571247, + "t_stamp": 1776699188504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 775, + "SATB1_CHW_DH2_FT02": 569, + "SATB1_CHW_DH3_FT01": 319, + "SATB1_CHW_DH3_FT02": 230, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 120, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776699218504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 363.1077887227695, + "SATB1_CHW_DH2_FT01": 783.0315354356957, + "SATB1_CHW_DH2_FT02": 580.5987466039969, + "SATB1_CHW_DH3_FT01": 317.2146333333333, + "SATB1_CHW_DH3_FT02": 228.2156441155391, + "SATB1_CHW_DH4_FT01": 129.0733666666667, + "SATB1_CHW_DH4_FT02": 109.53878591906127, + "SATB1_CHW_DH5_FT01": 111.07153571785726, + "SATB1_CHW_DH5_FT02": 159.53675, + "t_stamp": 1776699248504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 784, + "SATB1_CHW_DH2_FT02": 582, + "SATB1_CHW_DH3_FT01": 317, + "SATB1_CHW_DH3_FT02": 228, + "SATB1_CHW_DH4_FT01": 137, + "SATB1_CHW_DH4_FT02": 109, + "SATB1_CHW_DH5_FT01": 110, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776699278504 + }, + { + "SATB1_CHW_DH1_FT01": 337.2142333333333, + "SATB1_CHW_DH1_FT02": 360.32361763823616, + "SATB1_CHW_DH2_FT01": 784, + "SATB1_CHW_DH2_FT02": 582, + "SATB1_CHW_DH3_FT01": 327.7122, + "SATB1_CHW_DH3_FT02": 233.3524755445198, + "SATB1_CHW_DH4_FT01": 50.39031666666666, + "SATB1_CHW_DH4_FT02": 111.67648235176482, + "SATB1_CHW_DH5_FT01": 108.2143, + "SATB1_CHW_DH5_FT02": 161.6777714819012, + "t_stamp": 1776699308504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 784, + "SATB1_CHW_DH2_FT02": 582, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 234, + "SATB1_CHW_DH4_FT01": 40, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 108, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776699338504 + }, + { + "SATB1_CHW_DH1_FT01": 340.57147380876984, + "SATB1_CHW_DH1_FT02": 361.78453075512584, + "SATB1_CHW_DH2_FT01": 775.9681113518919, + "SATB1_CHW_DH2_FT02": 579.3232092550301, + "SATB1_CHW_DH3_FT01": 328.1072720302682, + "SATB1_CHW_DH3_FT02": 235.78446048442214, + "SATB1_CHW_DH4_FT01": 32.85693333333333, + "SATB1_CHW_DH4_FT02": 116.46141921288194, + "SATB1_CHW_DH5_FT01": 95.50030832819454, + "SATB1_CHW_DH5_FT02": 161.10731251979396, + "t_stamp": 1776699368504 + }, + { + "SATB1_CHW_DH1_FT01": 341, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 775, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 32, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 94, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776699398504 + }, + { + "SATB1_CHW_DH1_FT01": 336.53566666666666, + "SATB1_CHW_DH1_FT02": 365.5694902823616, + "SATB1_CHW_DH2_FT01": 775.8924946247313, + "SATB1_CHW_DH2_FT02": 575.4305692141012, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 232.43064306430642, + "SATB1_CHW_DH4_FT01": 42.714600000000004, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 89.53575892931549, + "SATB1_CHW_DH5_FT02": 160.1072702423414, + "t_stamp": 1776699428504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 776, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 44, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 89, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776699458504 + }, + { + "SATB1_CHW_DH1_FT01": 331.53566666666666, + "SATB1_CHW_DH1_FT02": 364.21520358672643, + "SATB1_CHW_DH2_FT01": 782.2476041267355, + "SATB1_CHW_DH2_FT02": 572.3228107603587, + "SATB1_CHW_DH3_FT01": 336.0347660872319, + "SATB1_CHW_DH3_FT02": 235.56951898396613, + "SATB1_CHW_DH4_FT01": 62.750550000000004, + "SATB1_CHW_DH4_FT02": 107.18327277575919, + "SATB1_CHW_DH5_FT01": 111.32124999999999, + "SATB1_CHW_DH5_FT02": 162.67815536407727, + "t_stamp": 1776699488504 + }, + { + "SATB1_CHW_DH1_FT01": 331, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 783, + "SATB1_CHW_DH2_FT02": 572, + "SATB1_CHW_DH3_FT01": 337, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 65, + "SATB1_CHW_DH4_FT02": 106, + "SATB1_CHW_DH5_FT01": 114, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776699518504 + }, + { + "SATB1_CHW_DH1_FT01": 329.2142666666667, + "SATB1_CHW_DH1_FT02": 362.2152297461709, + "SATB1_CHW_DH2_FT01": 797.2800286661889, + "SATB1_CHW_DH2_FT02": 577.3543107614873, + "SATB1_CHW_DH3_FT01": 337, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 52.499633333333335, + "SATB1_CHW_DH4_FT02": 113.13922869237692, + "SATB1_CHW_DH5_FT01": 113.10715, + "SATB1_CHW_DH5_FT02": 157.64361072684545, + "t_stamp": 1776699548504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 799, + "SATB1_CHW_DH2_FT02": 578, + "SATB1_CHW_DH3_FT01": 337, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 51, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 113, + "SATB1_CHW_DH5_FT02": 157, + "t_stamp": 1776699578504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 365.5690574590055, + "SATB1_CHW_DH2_FT01": 801.6772322767723, + "SATB1_CHW_DH2_FT02": 576.2155010081821, + "SATB1_CHW_DH3_FT01": 327.1802213185788, + "SATB1_CHW_DH3_FT02": 231.5389101816364, + "SATB1_CHW_DH4_FT01": 48.32139464342261, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 105.85743808539715, + "SATB1_CHW_DH5_FT02": 165.03406439570696, + "t_stamp": 1776699608504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 802, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 326, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 48, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 105, + "SATB1_CHW_DH5_FT02": 166, + "t_stamp": 1776699638504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 363.3229822982298, + "SATB1_CHW_DH2_FT01": 789.5055670378025, + "SATB1_CHW_DH2_FT02": 583.1386995149434, + "SATB1_CHW_DH3_FT01": 327.7854297571626, + "SATB1_CHW_DH3_FT02": 234.569216408581, + "SATB1_CHW_DH4_FT01": 48.8928815480258, + "SATB1_CHW_DH4_FT02": 113.1076440977431, + "SATB1_CHW_DH5_FT01": 44.28644288142938, + "SATB1_CHW_DH5_FT02": 163.322, + "t_stamp": 1776699668504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 584, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 49, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 37, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776699698504 + }, + { + "SATB1_CHW_DH1_FT01": 331.6786, + "SATB1_CHW_DH1_FT02": 358.53802690134506, + "SATB1_CHW_DH2_FT01": 789.7850225844626, + "SATB1_CHW_DH2_FT02": 584, + "SATB1_CHW_DH3_FT01": 328.89274642488084, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 49.89286845219247, + "SATB1_CHW_DH4_FT02": 112.10758871276897, + "SATB1_CHW_DH5_FT01": 120.03505, + "SATB1_CHW_DH5_FT02": 160.32186609330466, + "t_stamp": 1776699728504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 358, + "SATB1_CHW_DH2_FT01": 790, + "SATB1_CHW_DH2_FT02": 584, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 50, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 130, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776699758504 + }, + { + "SATB1_CHW_DH1_FT01": 336.46433333333334, + "SATB1_CHW_DH1_FT02": 365.1389620345988, + "SATB1_CHW_DH2_FT01": 777.5051831605613, + "SATB1_CHW_DH2_FT02": 584, + "SATB1_CHW_DH3_FT01": 332.571, + "SATB1_CHW_DH3_FT02": 231.43059282345294, + "SATB1_CHW_DH4_FT01": 49.10713333333333, + "SATB1_CHW_DH4_FT02": 111.10761307956402, + "SATB1_CHW_DH5_FT01": 99.643605939901, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776699788504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 776, + "SATB1_CHW_DH2_FT02": 584, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 49, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 96, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776699818504 + }, + { + "SATB1_CHW_DH1_FT01": 337.89285178580354, + "SATB1_CHW_DH1_FT02": 368.677144619077, + "SATB1_CHW_DH2_FT01": 784.03235, + "SATB1_CHW_DH2_FT02": 566.1526666666666, + "SATB1_CHW_DH3_FT01": 339.2491458475692, + "SATB1_CHW_DH3_FT02": 235.46175, + "SATB1_CHW_DH4_FT01": 48.10713333333333, + "SATB1_CHW_DH4_FT02": 120.81638027300455, + "SATB1_CHW_DH5_FT01": 112.071, + "SATB1_CHW_DH5_FT02": 163.5708143061898, + "t_stamp": 1776699848504 + }, + { + "SATB1_CHW_DH1_FT01": 338, + "SATB1_CHW_DH1_FT02": 369, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 564, + "SATB1_CHW_DH3_FT01": 340, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 48, + "SATB1_CHW_DH4_FT02": 122, + "SATB1_CHW_DH5_FT01": 114, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776699878504 + }, + { + "SATB1_CHW_DH1_FT01": 328.1784863081051, + "SATB1_CHW_DH1_FT02": 362.754565753516, + "SATB1_CHW_DH2_FT01": 788.5697548455911, + "SATB1_CHW_DH2_FT02": 565.7843764580417, + "SATB1_CHW_DH3_FT01": 338.21453333333335, + "SATB1_CHW_DH3_FT02": 233.3235744992835, + "SATB1_CHW_DH4_FT01": 50.6786, + "SATB1_CHW_DH4_FT02": 122.89225129145143, + "SATB1_CHW_DH5_FT01": 103.28582143035717, + "SATB1_CHW_DH5_FT02": 162.21457024283737, + "t_stamp": 1776699908504 + }, + { + "SATB1_CHW_DH1_FT01": 327, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 789, + "SATB1_CHW_DH2_FT02": 566, + "SATB1_CHW_DH3_FT01": 338, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 51, + "SATB1_CHW_DH4_FT02": 123, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776699938504 + }, + { + "SATB1_CHW_DH1_FT01": 342.17873333333335, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 791.6775677567757, + "SATB1_CHW_DH2_FT02": 566.8923897641077, + "SATB1_CHW_DH3_FT01": 343.35648927482123, + "SATB1_CHW_DH3_FT02": 238.35412776740463, + "SATB1_CHW_DH4_FT01": 42.9642, + "SATB1_CHW_DH4_FT02": 114.96829365873174, + "SATB1_CHW_DH5_FT01": 67.17943034282763, + "SATB1_CHW_DH5_FT02": 164.67815, + "t_stamp": 1776699968504 + }, + { + "SATB1_CHW_DH1_FT01": 344, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 792, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 344, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 42, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 63, + "SATB1_CHW_DH5_FT02": 165, + "t_stamp": 1776699998504 + }, + { + "SATB1_CHW_DH1_FT01": 343.1071779744346, + "SATB1_CHW_DH1_FT02": 362.89229769364084, + "SATB1_CHW_DH2_FT01": 788.4302831336344, + "SATB1_CHW_DH2_FT02": 577.7075723236902, + "SATB1_CHW_DH3_FT01": 336.8584761015932, + "SATB1_CHW_DH3_FT02": 237.21547127049726, + "SATB1_CHW_DH4_FT01": 47.357021432618915, + "SATB1_CHW_DH4_FT02": 115.78465845651341, + "SATB1_CHW_DH5_FT01": 94.24760428645234, + "SATB1_CHW_DH5_FT02": 156.9660855942937, + "t_stamp": 1776700028504 + }, + { + "SATB1_CHW_DH1_FT01": 343, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 48, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 98, + "SATB1_CHW_DH5_FT02": 156, + "t_stamp": 1776700058504 + }, + { + "SATB1_CHW_DH1_FT01": 331.392802973482, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 785.3223929857314, + "SATB1_CHW_DH2_FT02": 577.2151953593813, + "SATB1_CHW_DH3_FT01": 327.96518043170266, + "SATB1_CHW_DH3_FT02": 238.78476771515727, + "SATB1_CHW_DH4_FT01": 56.03576785892863, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 101.57131189892829, + "SATB1_CHW_DH5_FT02": 162.24907075589633, + "t_stamp": 1776700088504 + }, + { + "SATB1_CHW_DH1_FT01": 330, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 577, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 57, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776700118504 + }, + { + "SATB1_CHW_DH1_FT01": 332.6785553574107, + "SATB1_CHW_DH1_FT02": 365.6770769102575, + "SATB1_CHW_DH2_FT01": 798.3873575094993, + "SATB1_CHW_DH2_FT02": 577.8923571761883, + "SATB1_CHW_DH3_FT01": 325.2145261824606, + "SATB1_CHW_DH3_FT02": 243.46162819765019, + "SATB1_CHW_DH4_FT01": 61.46425892901785, + "SATB1_CHW_DH4_FT02": 115.10762436463628, + "SATB1_CHW_DH5_FT01": 100.21433333333333, + "SATB1_CHW_DH5_FT02": 161.21456309061514, + "t_stamp": 1776700148504 + }, + { + "SATB1_CHW_DH1_FT01": 333, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 800, + "SATB1_CHW_DH2_FT02": 578, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 244, + "SATB1_CHW_DH4_FT01": 62, + "SATB1_CHW_DH4_FT02": 115, + "SATB1_CHW_DH5_FT01": 100, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776700178504 + }, + { + "SATB1_CHW_DH1_FT01": 337.46425, + "SATB1_CHW_DH1_FT02": 364.21535948801704, + "SATB1_CHW_DH2_FT01": 778.5804, + "SATB1_CHW_DH2_FT02": 564.615196160128, + "SATB1_CHW_DH3_FT01": 329.4635922734621, + "SATB1_CHW_DH3_FT02": 240.43079282011968, + "SATB1_CHW_DH4_FT01": 60.2142702378373, + "SATB1_CHW_DH4_FT02": 110.53831538948701, + "SATB1_CHW_DH5_FT01": 114.28533333333334, + "SATB1_CHW_DH5_FT02": 158.32198390080495, + "t_stamp": 1776700208504 + }, + { + "SATB1_CHW_DH1_FT01": 338, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 776, + "SATB1_CHW_DH2_FT02": 563, + "SATB1_CHW_DH3_FT01": 330, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 60, + "SATB1_CHW_DH4_FT02": 110, + "SATB1_CHW_DH5_FT01": 116, + "SATB1_CHW_DH5_FT02": 158, + "t_stamp": 1776700238504 + }, + { + "SATB1_CHW_DH1_FT01": 340.67855, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 773.32255, + "SATB1_CHW_DH2_FT02": 562.1076387152691, + "SATB1_CHW_DH3_FT01": 329.10726845447425, + "SATB1_CHW_DH3_FT02": 225.72248612430622, + "SATB1_CHW_DH4_FT01": 60, + "SATB1_CHW_DH4_FT02": 114.46188976115472, + "SATB1_CHW_DH5_FT01": 119.57133333333333, + "SATB1_CHW_DH5_FT02": 160.678, + "t_stamp": 1776700268504 + }, + { + "SATB1_CHW_DH1_FT01": 341, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 773, + "SATB1_CHW_DH2_FT02": 562, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 224, + "SATB1_CHW_DH4_FT01": 60, + "SATB1_CHW_DH4_FT02": 115, + "SATB1_CHW_DH5_FT01": 120, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776700298504 + }, + { + "SATB1_CHW_DH1_FT01": 340.10716488058534, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 771.215003583393, + "SATB1_CHW_DH2_FT02": 577.169980500325, + "SATB1_CHW_DH3_FT01": 328.10726666666665, + "SATB1_CHW_DH3_FT02": 233.8156864052266, + "SATB1_CHW_DH4_FT01": 58.21429642839286, + "SATB1_CHW_DH4_FT02": 111.43052615789736, + "SATB1_CHW_DH5_FT01": 112.85745237579374, + "SATB1_CHW_DH5_FT02": 154.75102088437754, + "t_stamp": 1776700328504 + }, + { + "SATB1_CHW_DH1_FT01": 340, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 771, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 112, + "SATB1_CHW_DH5_FT02": 154, + "t_stamp": 1776700358504 + }, + { + "SATB1_CHW_DH1_FT01": 336.4286071434524, + "SATB1_CHW_DH1_FT02": 363.10760538026904, + "SATB1_CHW_DH2_FT01": 784.3877231287188, + "SATB1_CHW_DH2_FT02": 568.2912645632282, + "SATB1_CHW_DH3_FT01": 331.57093333333336, + "SATB1_CHW_DH3_FT02": 239.46181539384645, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 113.67723386169308, + "SATB1_CHW_DH5_FT01": 121.82098333333333, + "SATB1_CHW_DH5_FT02": 146.85826666666668, + "t_stamp": 1776700388504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 786, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 332, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 123, + "SATB1_CHW_DH5_FT02": 146, + "t_stamp": 1776700418504 + }, + { + "SATB1_CHW_DH1_FT01": 337.7857, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 790.4625833333333, + "SATB1_CHW_DH2_FT02": 567.8924, + "SATB1_CHW_DH3_FT01": 327.53633333333335, + "SATB1_CHW_DH3_FT02": 236.43047384123068, + "SATB1_CHW_DH4_FT01": 56.2143, + "SATB1_CHW_DH4_FT02": 111.32270537842297, + "SATB1_CHW_DH5_FT01": 98.89354822580377, + "SATB1_CHW_DH5_FT02": 151.3563, + "t_stamp": 1776700448504 + }, + { + "SATB1_CHW_DH1_FT01": 338, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 791, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 56, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 96, + "SATB1_CHW_DH5_FT02": 152, + "t_stamp": 1776700478504 + }, + { + "SATB1_CHW_DH1_FT01": 335.321494641756, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 782.96735, + "SATB1_CHW_DH2_FT02": 564.4304, + "SATB1_CHW_DH3_FT01": 335.0346, + "SATB1_CHW_DH3_FT02": 235.10763153947434, + "SATB1_CHW_DH4_FT01": 61.3571, + "SATB1_CHW_DH4_FT02": 116.35451075815403, + "SATB1_CHW_DH5_FT01": 89.75027082881952, + "SATB1_CHW_DH5_FT02": 165.39052682455292, + "t_stamp": 1776700508504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 782, + "SATB1_CHW_DH2_FT02": 564, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 62, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 89, + "SATB1_CHW_DH5_FT02": 167, + "t_stamp": 1776700538504 + }, + { + "SATB1_CHW_DH1_FT01": 332.3215, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 779.3229407941877, + "SATB1_CHW_DH2_FT02": 563.1078230442389, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 236.78428726151796, + "SATB1_CHW_DH4_FT01": 58.4286, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 117.56965717238046, + "SATB1_CHW_DH5_FT02": 163.42943803746417, + "t_stamp": 1776700568504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 779, + "SATB1_CHW_DH2_FT02": 563, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 121, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776700598504 + }, + { + "SATB1_CHW_DH1_FT01": 332.8916444740346, + "SATB1_CHW_DH1_FT02": 365.67275813860596, + "SATB1_CHW_DH2_FT01": 779.891100644109, + "SATB1_CHW_DH2_FT02": 574.5817355702018, + "SATB1_CHW_DH3_FT01": 333.32565493825103, + "SATB1_CHW_DH3_FT02": 239.67260834831237, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 116.10904733373278, + "SATB1_CHW_DH5_FT01": 104.05995139975367, + "SATB1_CHW_DH5_FT02": 160.3257993109532, + "t_stamp": 1776700628504 + }, + { + "SATB1_CHW_DH1_FT01": 333, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776700658504 + }, + { + "SATB1_CHW_DH1_FT01": 332.1077415803433, + "SATB1_CHW_DH1_FT02": 370.4586635521815, + "SATB1_CHW_DH2_FT01": 775.5407163950016, + "SATB1_CHW_DH2_FT02": 568.8661527680448, + "SATB1_CHW_DH3_FT01": 326.7549672188579, + "SATB1_CHW_DH3_FT02": 235.5414379390319, + "SATB1_CHW_DH4_FT01": 68.70712260216847, + "SATB1_CHW_DH4_FT02": 116.89176607991992, + "SATB1_CHW_DH5_FT01": 96.64658192373136, + "SATB1_CHW_DH5_FT02": 163.5684495011845, + "t_stamp": 1776700688504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 371, + "SATB1_CHW_DH2_FT01": 775, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 326, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 70, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 96, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776700718504 + }, + { + "SATB1_CHW_DH1_FT01": 334.6770053832436, + "SATB1_CHW_DH1_FT02": 363.86496216540553, + "SATB1_CHW_DH2_FT01": 783.02796759892, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 334.9223512941451, + "SATB1_CHW_DH3_FT02": 235.89186306210206, + "SATB1_CHW_DH4_FT01": 60.18415, + "SATB1_CHW_DH4_FT02": 110.75660855361845, + "SATB1_CHW_DH5_FT01": 99.56927384543592, + "SATB1_CHW_DH5_FT02": 162.21559640672655, + "t_stamp": 1776700748504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 784, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 59, + "SATB1_CHW_DH4_FT02": 110, + "SATB1_CHW_DH5_FT01": 100, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776700778504 + }, + { + "SATB1_CHW_DH1_FT01": 336.78463692271794, + "SATB1_CHW_DH1_FT02": 365.67502582730697, + "SATB1_CHW_DH2_FT01": 792.9186622006699, + "SATB1_CHW_DH2_FT02": 570.675025827307, + "SATB1_CHW_DH3_FT01": 344.02929707029296, + "SATB1_CHW_DH3_FT02": 232.4334844041589, + "SATB1_CHW_DH4_FT01": 69.70802153297444, + "SATB1_CHW_DH4_FT02": 114.45861729958509, + "SATB1_CHW_DH5_FT01": 109.81515616146129, + "SATB1_CHW_DH5_FT02": 158.43149737521873, + "t_stamp": 1776700808504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 794, + "SATB1_CHW_DH2_FT02": 571, + "SATB1_CHW_DH3_FT01": 345, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 71, + "SATB1_CHW_DH4_FT02": 115, + "SATB1_CHW_DH5_FT01": 111, + "SATB1_CHW_DH5_FT02": 158, + "t_stamp": 1776700838504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 800.2439906651108, + "SATB1_CHW_DH2_FT02": 579.9187296824206, + "SATB1_CHW_DH3_FT01": 327.15584632052673, + "SATB1_CHW_DH3_FT02": 238.24286476393706, + "SATB1_CHW_DH4_FT01": 53.153035883931395, + "SATB1_CHW_DH4_FT02": 117.6756797306083, + "SATB1_CHW_DH5_FT01": 114.56925230841028, + "SATB1_CHW_DH5_FT02": 159.78438203183597, + "t_stamp": 1776700868504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 801, + "SATB1_CHW_DH2_FT02": 581, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 51, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 115, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776700898504 + }, + { + "SATB1_CHW_DH1_FT01": 330.75377077048717, + "SATB1_CHW_DH1_FT02": 363.324924184357, + "SATB1_CHW_DH2_FT01": 783.1632340198627, + "SATB1_CHW_DH2_FT02": 577.4332916770808, + "SATB1_CHW_DH3_FT01": 316.9707191067411, + "SATB1_CHW_DH3_FT02": 239.89164375572773, + "SATB1_CHW_DH4_FT01": 44.7536541057649, + "SATB1_CHW_DH4_FT02": 116.21658279734729, + "SATB1_CHW_DH5_FT01": 115.89227205306402, + "SATB1_CHW_DH5_FT02": 161.7842215778422, + "t_stamp": 1776700928504 + }, + { + "SATB1_CHW_DH1_FT01": 330, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 577, + "SATB1_CHW_DH3_FT01": 316, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 44, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 116, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776700958504 + }, + { + "SATB1_CHW_DH1_FT01": 335.3539, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 576.1083054152708, + "SATB1_CHW_DH3_FT01": 330.27413333333334, + "SATB1_CHW_DH3_FT02": 237.32501625081255, + "SATB1_CHW_DH4_FT01": 56.492666666666665, + "SATB1_CHW_DH4_FT02": 111.5413604013534, + "SATB1_CHW_DH5_FT01": 114.21543692394873, + "SATB1_CHW_DH5_FT02": 162.8921, + "t_stamp": 1776700988504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 332, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 114, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776701018504 + }, + { + "SATB1_CHW_DH1_FT01": 338.67695, + "SATB1_CHW_DH1_FT02": 362.10835944270383, + "SATB1_CHW_DH2_FT01": 794.3773040898636, + "SATB1_CHW_DH2_FT02": 572.4334377708153, + "SATB1_CHW_DH3_FT01": 339.1371856197603, + "SATB1_CHW_DH3_FT02": 232.5419638690754, + "SATB1_CHW_DH4_FT01": 51.75366666666667, + "SATB1_CHW_DH4_FT02": 116.35004333044463, + "SATB1_CHW_DH5_FT01": 102.40031666666667, + "SATB1_CHW_DH5_FT02": 159.43154052567542, + "t_stamp": 1776701048504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 796, + "SATB1_CHW_DH2_FT02": 572, + "SATB1_CHW_DH3_FT01": 340, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 51, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 101, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776701078504 + }, + { + "SATB1_CHW_DH1_FT01": 336.32305, + "SATB1_CHW_DH1_FT02": 365.56671166891675, + "SATB1_CHW_DH2_FT01": 780.8383585845959, + "SATB1_CHW_DH2_FT02": 566.6499324966248, + "SATB1_CHW_DH3_FT01": 339.10785, + "SATB1_CHW_DH3_FT02": 235.56657832891645, + "SATB1_CHW_DH4_FT01": 44.75377077048716, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 77.80063333333334, + "SATB1_CHW_DH5_FT02": 161.67639460657676, + "t_stamp": 1776701108504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 779, + "SATB1_CHW_DH2_FT02": 566, + "SATB1_CHW_DH3_FT01": 339, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 44, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 75, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776701138504 + }, + { + "SATB1_CHW_DH1_FT01": 344.03085, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 782.5672883022515, + "SATB1_CHW_DH2_FT02": 574.0250162497292, + "SATB1_CHW_DH3_FT01": 330.0783513058551, + "SATB1_CHW_DH3_FT02": 236.89163513941435, + "SATB1_CHW_DH4_FT01": 56.49264154402573, + "SATB1_CHW_DH4_FT02": 110.75808736521059, + "SATB1_CHW_DH5_FT01": 85.707578459641, + "SATB1_CHW_DH5_FT02": 165.56835491558755, + "t_stamp": 1776701168504 + }, + { + "SATB1_CHW_DH1_FT01": 345, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 783, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 110, + "SATB1_CHW_DH5_FT01": 87, + "SATB1_CHW_DH5_FT02": 166, + "t_stamp": 1776701198504 + }, + { + "SATB1_CHW_DH1_FT01": 332.50756666666666, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 777.648921630721, + "SATB1_CHW_DH2_FT02": 585.7001783363056, + "SATB1_CHW_DH3_FT01": 323.6469107818464, + "SATB1_CHW_DH3_FT02": 240.5665927765463, + "SATB1_CHW_DH4_FT01": 62.461666666666666, + "SATB1_CHW_DH4_FT02": 121.59229320488674, + "SATB1_CHW_DH5_FT01": 88.78457025716239, + "SATB1_CHW_DH5_FT02": 167.78425587946063, + "t_stamp": 1776701228504 + }, + { + "SATB1_CHW_DH1_FT01": 331, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 777, + "SATB1_CHW_DH2_FT02": 587, + "SATB1_CHW_DH3_FT01": 323, + "SATB1_CHW_DH3_FT02": 241, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 123, + "SATB1_CHW_DH5_FT01": 89, + "SATB1_CHW_DH5_FT02": 168, + "t_stamp": 1776701258504 + }, + { + "SATB1_CHW_DH1_FT01": 330.10768333333334, + "SATB1_CHW_DH1_FT02": 366.8917576464705, + "SATB1_CHW_DH2_FT01": 783.243366224415, + "SATB1_CHW_DH2_FT02": 579.8659388282357, + "SATB1_CHW_DH3_FT01": 324.78436666666664, + "SATB1_CHW_DH3_FT02": 239.2165513792816, + "SATB1_CHW_DH4_FT01": 48.722904618256365, + "SATB1_CHW_DH4_FT02": 119.43283606967248, + "SATB1_CHW_DH5_FT01": 97.03055, + "SATB1_CHW_DH5_FT02": 157.2942215703595, + "t_stamp": 1776701288504 + }, + { + "SATB1_CHW_DH1_FT01": 330, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 784, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 47, + "SATB1_CHW_DH4_FT02": 119, + "SATB1_CHW_DH5_FT01": 98, + "SATB1_CHW_DH5_FT02": 156, + "t_stamp": 1776701318504 + }, + { + "SATB1_CHW_DH1_FT01": 338.03085, + "SATB1_CHW_DH1_FT02": 364.3247, + "SATB1_CHW_DH2_FT01": 781.3242945950901, + "SATB1_CHW_DH2_FT02": 568.2988, + "SATB1_CHW_DH3_FT01": 328.56873333333334, + "SATB1_CHW_DH3_FT02": 233.6496, + "SATB1_CHW_DH4_FT01": 39.861466666666665, + "SATB1_CHW_DH4_FT02": 114.54107431542808, + "SATB1_CHW_DH5_FT01": 110.49196666666667, + "SATB1_CHW_DH5_FT02": 158.67645, + "t_stamp": 1776701348504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 39, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 112, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776701378504 + }, + { + "SATB1_CHW_DH1_FT01": 342.5692071798803, + "SATB1_CHW_DH1_FT02": 366.6752554124098, + "SATB1_CHW_DH2_FT01": 774.7568040532658, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 234.78343694271763, + "SATB1_CHW_DH4_FT01": 49.7078, + "SATB1_CHW_DH4_FT02": 117.56707388210197, + "SATB1_CHW_DH5_FT01": 108.4309261512308, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776701408504 + }, + { + "SATB1_CHW_DH1_FT01": 343, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 774, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 51, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 108, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776701438504 + }, + { + "SATB1_CHW_DH1_FT01": 343.89231487191455, + "SATB1_CHW_DH1_FT02": 367.89173513774773, + "SATB1_CHW_DH2_FT01": 777.5675333333334, + "SATB1_CHW_DH2_FT02": 567.8917351377477, + "SATB1_CHW_DH3_FT01": 325.43134052234205, + "SATB1_CHW_DH3_FT02": 242.13361443975933, + "SATB1_CHW_DH4_FT01": 67.0617, + "SATB1_CHW_DH4_FT02": 112.6494, + "SATB1_CHW_DH5_FT01": 134.76844614076902, + "SATB1_CHW_DH5_FT02": 161.67639460657676, + "t_stamp": 1776701468504 + }, + { + "SATB1_CHW_DH1_FT01": 344, + "SATB1_CHW_DH1_FT02": 368, + "SATB1_CHW_DH2_FT01": 778, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 243, + "SATB1_CHW_DH4_FT01": 69, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 138, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776701498504 + }, + { + "SATB1_CHW_DH1_FT01": 338.6461892301795, + "SATB1_CHW_DH1_FT02": 366.21653333333336, + "SATB1_CHW_DH2_FT01": 786.0269499999999, + "SATB1_CHW_DH2_FT02": 577.8090666666667, + "SATB1_CHW_DH3_FT01": 319.647, + "SATB1_CHW_DH3_FT02": 245.6751, + "SATB1_CHW_DH4_FT01": 71.67695, + "SATB1_CHW_DH4_FT02": 113.78353333333334, + "SATB1_CHW_DH5_FT01": 131.75401666666667, + "SATB1_CHW_DH5_FT02": 148.618, + "t_stamp": 1776701528504 + }, + { + "SATB1_CHW_DH1_FT01": 338, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 787, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 319, + "SATB1_CHW_DH3_FT02": 246, + "SATB1_CHW_DH4_FT01": 72, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 131, + "SATB1_CHW_DH5_FT02": 147, + "t_stamp": 1776701558504 + }, + { + "SATB1_CHW_DH1_FT01": 337.1077, + "SATB1_CHW_DH1_FT02": 364.2166522231851, + "SATB1_CHW_DH2_FT01": 764.7047746021165, + "SATB1_CHW_DH2_FT02": 570.9750687442713, + "SATB1_CHW_DH3_FT01": 324.35282157261423, + "SATB1_CHW_DH3_FT02": 240.65015665622292, + "SATB1_CHW_DH4_FT01": 51.477058715688074, + "SATB1_CHW_DH4_FT02": 115.78338471794017, + "SATB1_CHW_DH5_FT01": 115.83168894370188, + "SATB1_CHW_DH5_FT02": 155.92088728896888, + "t_stamp": 1776701588504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 762, + "SATB1_CHW_DH2_FT02": 570, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 49, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 114, + "SATB1_CHW_DH5_FT02": 157, + "t_stamp": 1776701618504 + }, + { + "SATB1_CHW_DH1_FT01": 333.4308, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 789.6476431762118, + "SATB1_CHW_DH2_FT02": 567.3248716581105, + "SATB1_CHW_DH3_FT01": 324.1078369278976, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 57.923, + "SATB1_CHW_DH4_FT02": 120.45871391426095, + "SATB1_CHW_DH5_FT01": 109.53867564459408, + "SATB1_CHW_DH5_FT02": 157.89212793973033, + "t_stamp": 1776701648504 + }, + { + "SATB1_CHW_DH1_FT01": 333, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 793, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 324, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 59, + "SATB1_CHW_DH4_FT02": 121, + "SATB1_CHW_DH5_FT01": 109, + "SATB1_CHW_DH5_FT02": 158, + "t_stamp": 1776701678504 + }, + { + "SATB1_CHW_DH1_FT01": 331.2154297428376, + "SATB1_CHW_DH1_FT02": 365.78313975771107, + "SATB1_CHW_DH2_FT01": 794.783614425705, + "SATB1_CHW_DH2_FT02": 575.024112647892, + "SATB1_CHW_DH3_FT01": 321.3235, + "SATB1_CHW_DH3_FT02": 237.32547947944613, + "SATB1_CHW_DH4_FT01": 59, + "SATB1_CHW_DH4_FT02": 118.32510665244634, + "SATB1_CHW_DH5_FT01": 140.2288128531191, + "SATB1_CHW_DH5_FT02": 150.86293333333333, + "t_stamp": 1776701708504 + }, + { + "SATB1_CHW_DH1_FT01": 331, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 795, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 321, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 59, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 144, + "SATB1_CHW_DH5_FT02": 150, + "t_stamp": 1776701738504 + }, + { + "SATB1_CHW_DH1_FT01": 334.56919281988036, + "SATB1_CHW_DH1_FT02": 363.32494874231134, + "SATB1_CHW_DH2_FT01": 792.3244662233112, + "SATB1_CHW_DH2_FT02": 584.025020002667, + "SATB1_CHW_DH3_FT01": 322.78430359494007, + "SATB1_CHW_DH3_FT02": 234.32505959425896, + "SATB1_CHW_DH4_FT01": 56.323105385089754, + "SATB1_CHW_DH4_FT02": 110.86635330199687, + "SATB1_CHW_DH5_FT01": 93.14090234837246, + "SATB1_CHW_DH5_FT02": 157.13694771753805, + "t_stamp": 1776701768504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 792, + "SATB1_CHW_DH2_FT02": 585, + "SATB1_CHW_DH3_FT01": 323, + "SATB1_CHW_DH3_FT02": 234, + "SATB1_CHW_DH4_FT01": 56, + "SATB1_CHW_DH4_FT02": 110, + "SATB1_CHW_DH5_FT01": 87, + "SATB1_CHW_DH5_FT02": 158, + "t_stamp": 1776701798504 + }, + { + "SATB1_CHW_DH1_FT01": 338.56872417011067, + "SATB1_CHW_DH1_FT02": 366.56644335566443, + "SATB1_CHW_DH2_FT01": 796.4587298148549, + "SATB1_CHW_DH2_FT02": 579.6504349565043, + "SATB1_CHW_DH3_FT01": 323.892031062525, + "SATB1_CHW_DH3_FT02": 231.32531204692785, + "SATB1_CHW_DH4_FT01": 63.137567283816885, + "SATB1_CHW_DH4_FT02": 106.4334899843349, + "SATB1_CHW_DH5_FT01": 88.78429542727636, + "SATB1_CHW_DH5_FT02": 161.5680503941207, + "t_stamp": 1776701828504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 797, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 324, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 64, + "SATB1_CHW_DH4_FT02": 106, + "SATB1_CHW_DH5_FT01": 89, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776701858504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 787.1892982163694, + "SATB1_CHW_DH2_FT02": 562.0570928488081, + "SATB1_CHW_DH3_FT01": 327.5686019569602, + "SATB1_CHW_DH3_FT02": 228.3249041506918, + "SATB1_CHW_DH4_FT01": 60.43085026586435, + "SATB1_CHW_DH4_FT02": 109.56706117686281, + "SATB1_CHW_DH5_FT01": 97.92252300306707, + "SATB1_CHW_DH5_FT02": 149.51012651897784, + "t_stamp": 1776701888504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 786, + "SATB1_CHW_DH2_FT02": 560, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 228, + "SATB1_CHW_DH4_FT01": 60, + "SATB1_CHW_DH4_FT02": 110, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 148, + "t_stamp": 1776701918504 + }, + { + "SATB1_CHW_DH1_FT01": 331.86171897135046, + "SATB1_CHW_DH1_FT02": 364.32475, + "SATB1_CHW_DH2_FT01": 794.919, + "SATB1_CHW_DH2_FT02": 575.15975, + "SATB1_CHW_DH3_FT01": 315.5098748354194, + "SATB1_CHW_DH3_FT02": 237.80888333333334, + "SATB1_CHW_DH4_FT01": 64.46142564290595, + "SATB1_CHW_DH4_FT02": 114.45891666666667, + "SATB1_CHW_DH5_FT01": 106.13801436642723, + "SATB1_CHW_DH5_FT02": 161.38202696621724, + "t_stamp": 1776701948504 + }, + { + "SATB1_CHW_DH1_FT01": 331, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 796, + "SATB1_CHW_DH2_FT02": 577, + "SATB1_CHW_DH3_FT01": 314, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 65, + "SATB1_CHW_DH4_FT02": 115, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776701978504 + }, + { + "SATB1_CHW_DH1_FT01": 327.43086666666665, + "SATB1_CHW_DH1_FT02": 362.2168566286743, + "SATB1_CHW_DH2_FT01": 784.4070389441583, + "SATB1_CHW_DH2_FT02": 577, + "SATB1_CHW_DH3_FT01": 325.5977567040549, + "SATB1_CHW_DH3_FT02": 239.89153835899486, + "SATB1_CHW_DH4_FT01": 42.69254487574793, + "SATB1_CHW_DH4_FT02": 109.6504590672021, + "SATB1_CHW_DH5_FT01": 114.13811896864948, + "SATB1_CHW_DH5_FT02": 156.75537889772178, + "t_stamp": 1776702008504 + }, + { + "SATB1_CHW_DH1_FT01": 327, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 783, + "SATB1_CHW_DH2_FT02": 577, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 40, + "SATB1_CHW_DH4_FT02": 109, + "SATB1_CHW_DH5_FT01": 115, + "SATB1_CHW_DH5_FT02": 156, + "t_stamp": 1776702038504 + }, + { + "SATB1_CHW_DH1_FT01": 328.78456666666665, + "SATB1_CHW_DH1_FT02": 366.458790384423, + "SATB1_CHW_DH2_FT01": 775.8648108018003, + "SATB1_CHW_DH2_FT02": 567.1908246786804, + "SATB1_CHW_DH3_FT01": 332.3529784326144, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 79.2612, + "SATB1_CHW_DH4_FT02": 117.9177474744107, + "SATB1_CHW_DH5_FT01": 120.3536, + "SATB1_CHW_DH5_FT02": 155.10787206026967, + "t_stamp": 1776702068504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 775, + "SATB1_CHW_DH2_FT02": 566, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 84, + "SATB1_CHW_DH4_FT02": 119, + "SATB1_CHW_DH5_FT01": 121, + "SATB1_CHW_DH5_FT02": 155, + "t_stamp": 1776702098504 + }, + { + "SATB1_CHW_DH1_FT01": 333.46134231096147, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 780.3508757311647, + "SATB1_CHW_DH2_FT02": 574.9166263935874, + "SATB1_CHW_DH3_FT01": 336.5685477150762, + "SATB1_CHW_DH3_FT02": 237.32510665244635, + "SATB1_CHW_DH4_FT01": 60.80058665688905, + "SATB1_CHW_DH4_FT02": 119.89168110918544, + "SATB1_CHW_DH5_FT01": 114.75423742937618, + "SATB1_CHW_DH5_FT02": 150.53963069128724, + "t_stamp": 1776702128504 + }, + { + "SATB1_CHW_DH1_FT01": 334, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 337, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 120, + "SATB1_CHW_DH5_FT01": 114, + "SATB1_CHW_DH5_FT02": 150, + "t_stamp": 1776702158504 + }, + { + "SATB1_CHW_DH1_FT01": 336.6768, + "SATB1_CHW_DH1_FT02": 362.54130413041304, + "SATB1_CHW_DH2_FT01": 782.7837189145943, + "SATB1_CHW_DH2_FT02": 567.9744812067672, + "SATB1_CHW_DH3_FT01": 342.3528, + "SATB1_CHW_DH3_FT02": 235.21658832549923, + "SATB1_CHW_DH4_FT01": 49.96945, + "SATB1_CHW_DH4_FT02": 112.86595326199287, + "SATB1_CHW_DH5_FT01": 110.431, + "SATB1_CHW_DH5_FT02": 172.30241008033602, + "t_stamp": 1776702188504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 783, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 343, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 49, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 110, + "SATB1_CHW_DH5_FT02": 175, + "t_stamp": 1776702218504 + }, + { + "SATB1_CHW_DH1_FT01": 339.6768, + "SATB1_CHW_DH1_FT02": 360.2165, + "SATB1_CHW_DH2_FT01": 784.7837333333333, + "SATB1_CHW_DH2_FT02": 569.6752445874098, + "SATB1_CHW_DH3_FT01": 347.4605179827339, + "SATB1_CHW_DH3_FT02": 232.32485, + "SATB1_CHW_DH4_FT01": 48.10771666666667, + "SATB1_CHW_DH4_FT02": 115.56706666666666, + "SATB1_CHW_DH5_FT01": 100.18574071296435, + "SATB1_CHW_DH5_FT02": 159.83480550648312, + "t_stamp": 1776702248504 + }, + { + "SATB1_CHW_DH1_FT01": 340, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 570, + "SATB1_CHW_DH3_FT01": 348, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 48, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 158, + "t_stamp": 1776702278504 + }, + { + "SATB1_CHW_DH1_FT01": 333.75413333333336, + "SATB1_CHW_DH1_FT02": 363.5670594509908, + "SATB1_CHW_DH2_FT01": 773.4055400923348, + "SATB1_CHW_DH2_FT02": 569.1082351372523, + "SATB1_CHW_DH3_FT01": 338.18657288576287, + "SATB1_CHW_DH3_FT02": 238.2421207020117, + "SATB1_CHW_DH4_FT01": 48.89228333333333, + "SATB1_CHW_DH4_FT02": 123.1342522375373, + "SATB1_CHW_DH5_FT01": 98.10777025900863, + "SATB1_CHW_DH5_FT02": 159.7841928064269, + "t_stamp": 1776702308504 + }, + { + "SATB1_CHW_DH1_FT01": 333, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 772, + "SATB1_CHW_DH2_FT02": 569, + "SATB1_CHW_DH3_FT01": 337, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 49, + "SATB1_CHW_DH4_FT02": 124, + "SATB1_CHW_DH5_FT01": 98, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776702338504 + }, + { + "SATB1_CHW_DH1_FT01": 328.53866666666664, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 782.7024216263062, + "SATB1_CHW_DH2_FT02": 572.5669477684078, + "SATB1_CHW_DH3_FT01": 333.43146666666667, + "SATB1_CHW_DH3_FT02": 237.21656305728237, + "SATB1_CHW_DH4_FT01": 52.56913333333333, + "SATB1_CHW_DH4_FT02": 113.2987783536941, + "SATB1_CHW_DH5_FT01": 109.59922665377756, + "SATB1_CHW_DH5_FT02": 152.8632, + "t_stamp": 1776702368504 + }, + { + "SATB1_CHW_DH1_FT01": 328, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 784, + "SATB1_CHW_DH2_FT02": 573, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 53, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 111, + "SATB1_CHW_DH5_FT02": 152, + "t_stamp": 1776702398504 + }, + { + "SATB1_CHW_DH1_FT01": 328.8922517958034, + "SATB1_CHW_DH1_FT02": 362.2166783321668, + "SATB1_CHW_DH2_FT01": 784.8918072128524, + "SATB1_CHW_DH2_FT02": 581.0249312557287, + "SATB1_CHW_DH3_FT01": 332.1079112711031, + "SATB1_CHW_DH3_FT02": 236.10837249608372, + "SATB1_CHW_DH4_FT01": 57.461342310961484, + "SATB1_CHW_DH4_FT02": 112.89169235897009, + "SATB1_CHW_DH5_FT01": 137.7661616919154, + "SATB1_CHW_DH5_FT02": 159.1364431778411, + "t_stamp": 1776702428504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 582, + "SATB1_CHW_DH3_FT01": 332, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 141, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776702458504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 582, + "SATB1_CHW_DH3_FT01": 332, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 141, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776702488504 + } + ], + "tags": [] + }, + "meta": { + "name": "CHWR Trend" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "enabled": false, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": {}, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\"}\n\tfor i in range(0,5):\n\t\ttags \u003d system.tag.browse(self.custom.paths[i], {\"name\":\"*_FT*\",\"typeId\":\"Objects/Basic/AnalogIn\",\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags:\n\t\t\ttagname \u003d str(item[\"fullPath\"]) + \"/Val\"\n\t\t\tnameparts \u003d tagname.split(\"]\")\n\t\t\tprovider\u003d histProvider[nameparts[0][1:]]\n\t\t\trun_path \u003d \"[{}]{}\".format(provider, nameparts[1])\n\t\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Flows": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\ttotal \u003d 0\n\tfor item in rawHist:\n\t\ttotal \u003d 0\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\ttotal +\u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"totalFlow\": total})\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "color": "#F4F4F4", + "render": "color" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Flows", + "x": "t_stamp", + "y": "totalFlow" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "CHWS", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "CHWS", + "zIndex": 0 + } + ], + "style": { + "marginBottom": -30, + "marginLeft": -20, + "marginTop": 30 + }, + "title": { + "text": "CHWR (gpm)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 50, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 35, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": 10000, + "min": 0, + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "CHWS" + }, + "name": "CHWS", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Trends" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "marginLeft": -20, + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "DH Flex" + }, + "position": { + "basis": "50%" + }, + "props": { + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "DH": 101, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[default]simulator/CHW_System/Ton1" + }, + { + "DH": 102, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[default]simulator/CHW_System/Ton2" + }, + { + "DH": 201, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[default]simulator/CHW_System/Ton3" + }, + { + "DH": 202, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[default]simulator/CHW_System/Ton4" + }, + { + "DH": 203, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[default]simulator/CHW_System/Ton5" + } + ], + "justify": "space-around", + "path": "Library/Widgets/Wgt_MovingIndicator", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "var(--text-muted)" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "104px" + }, + "props": { + "text": "Outside air conditions", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Temperature" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/CHW_System/Temp" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F", + "EU_Pos": 1, + "Size": 14 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Humidity" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/CHW_System/RH" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%RH", + "EU_Pos": 1, + "Size": 14 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dewpoint" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/CHW_System/dwpt" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F Dwpt", + "EU_Pos": 1, + "Size": 14 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "DH Tonnage" + }, + "props": { + "style": { + "gap": "var(--space-lg)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VSD Status Count" + }, + "position": { + "basis": "30%", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "custom.values": { + "binding": { + "config": { + "path": "this.custom.CH_tagPath" + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\trunning \u003d 0\n\tstandby \u003d 0\n\tfaulted \u003d 0\n\ttags \u003d system.tag.browse(self.custom.tagPath,{\"typeId\":\"Objects/Mechanical/VSD\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\trun_path \u003d str(item[\"fullPath\"]) + \"/Status Running\"\n\t\trun_values \u003d system.tag.readBlocking(run_path)\n\t\tfault_path \u003d str(item[\"fullPath\"]) + \"/Alarms/Alarm Summary\"\n\t\tfault_values \u003d system.tag.readBlocking(fault_path)\n\t\tif(fault_values[0].value):\n\t\t\tfaulted+\u003d1\n\t\t\tcontinue\n\t\tif(run_values[0].value):\n\t\t\trunning+\u003d1\n\t\telse:\n\t\t\tstandby+\u003d1\n\t\t\n\toutput[\"Running\"] \u003d running\n\toutput[\"Standby\"] \u003d standby\n\toutput[\"Faulted\"] \u003d faulted\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "Chillers", + "faulted": 5, + "running": 40, + "standby": 9 + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "marginBottom": -20, + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD PierChart_0" + }, + "position": { + "basis": "30%", + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_PID" + }, + "path": "Library/Widgets/Wgt_PID_Gauge", + "style": { + "marginBottom": 0, + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Tonnage Gauge" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/CHW_System/Total" + }, + "type": "tag" + } + } + }, + "props": { + "backgroundColor": "", + "innerAxis": { + "data": "secondaryValue", + "maxValue": 80, + "percentRadius": 85, + "show": false, + "width": 1 + }, + "outerAxis": { + "data": "value", + "maxValue": 16000, + "percentRadius": 73, + "ranges": [ + { + "color": "#77B6D8", + "end": 16000, + "start": 0, + "width": 8 + } + ], + "show": true, + "width": 1 + }, + "style": { + "marginTop": 10, + "overflow": "visible" + } + }, + "type": "ia.chart.gauge" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/CHW_System/Total" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.00", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "numberFormat": "###0.##", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "props": { + "text": "Tons", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Tonnage Value" + }, + "position": { + "basis": "10%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "marginTop": -20 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Charts" + }, + "position": { + "basis": "15%", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "gap": "20px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Lower Section" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "justify": "space-between", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "gap": "10px", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/687bfc9d915638d67505a65c3c13aae8ece9c3776bf9c5126c24b8c530c33e12 b/Gateways/FE/projects/.resources/687bfc9d915638d67505a65c3c13aae8ece9c3776bf9c5126c24b8c530c33e12 new file mode 100644 index 0000000..218b12d --- /dev/null +++ b/Gateways/FE/projects/.resources/687bfc9d915638d67505a65c3c13aae8ece9c3776bf9c5126c24b8c530c33e12 @@ -0,0 +1,194 @@ +{ + "custom": { + "DOAS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/DOAS1", + "data": [ + "[Ignition_Common_IO_Gtwy]Roof/DOAS1", + "[Ignition_Common_IO_Gtwy]Roof/DOAS2", + "[Ignition_Common_IO_Gtwy]Roof/DOAS3" + ], + "key": null, + "tagPath": "[Ignition_Common_IO_Gtwy]" + }, + "params": {}, + "propConfig": { + "custom.DOAS_tagPath": { + "binding": { + "config": { + "path": "view.custom.key" + }, + "transforms": [ + { + "code": "\toutput \u003d \"\"\n\tif(value is None):\n\t\toutput \u003d \"[Ignition_Common_IO_Gtwy]Roof/DOAS1\"\n\telse:\n\t\toutput \u003d self.custom.data[value]\n\treturn output", + "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/DOAS\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\toutput.append(str(item[\"fullPath\"]))\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.key": { + "binding": { + "config": { + "path": "/root/Location/Table.props.selection.selectedRow" + }, + "transforms": [ + { + "code": "\tif(value \u003d\u003d \"null\"):\n\t\tvalue \u003d 0\n\treturn value", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.tagPath": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "fontSize": 40, + "fontWeight": "bold" + }, + "text": "Fire System" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Main Pump" + }, + "props": { + "params": { + "embedded": false, + "objectName": "Motor MainFP", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1141/SATB1_RM1141_PMP_01" + }, + "path": "Library/Symbols/Mechanical/Sym_SP", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Jockey Pump" + }, + "props": { + "params": { + "embedded": false, + "objectName": "Motor JockeyFP", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1141/SATB1_RM1141_PMP_02" + }, + "path": "Library/Symbols/Mechanical/Sym_SP", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "First Floor" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": 200, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "props": { + "params": { + "embedded": false, + "objectName": "Fire Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1102/SATB1_RM1102_Fire System Panel" + }, + "path": "Library/Symbols/Sym_Panel", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "style": { + "gap": 50, + "overflow": "visible", + "padding": 15 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/689f5c8f98b3eec9521caacc4ce2c5545dc1442a0abd93280c8dec878d6970c2 b/Gateways/FE/projects/.resources/689f5c8f98b3eec9521caacc4ce2c5545dc1442a0abd93280c8dec878d6970c2 new file mode 100644 index 0000000..42e7a28 --- /dev/null +++ b/Gateways/FE/projects/.resources/689f5c8f98b3eec9521caacc4ce2c5545dc1442a0abd93280c8dec878d6970c2 @@ -0,0 +1,105 @@ +{ + "custom": {}, + "params": { + "ch": 1, + "current_op": 2, + "new_op": 2 + }, + "propConfig": { + "params.ch": { + "paramDirection": "input", + "persistent": true + }, + "params.current_op": { + "paramDirection": "input", + "persistent": true + }, + "params.new_op": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 75, + "width": 75 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "ch": "{view.params.ch}", + "val": "{view.params.current_op}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\ttitle \u003d \"CH{:02d}\".format(value[\u0027ch\u0027]) + \" - \" + \"{:02d}\".format(value[\u0027val\u0027])\n\treturn title", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "type": "ia.display.label" + }, + { + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.new_op \u003d self.view.params.current_op" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.new_op" + }, + "type": "property" + } + } + }, + "props": { + "inputBounds": { + "maximum": 48, + "minimum": 0 + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/68c730ec06903b76a3b4f12085b54839aaf0e42538e00839790591e906d6229e b/Gateways/FE/projects/.resources/68c730ec06903b76a3b4f12085b54839aaf0e42538e00839790591e906d6229e new file mode 100644 index 0000000..6b4121f Binary files /dev/null and b/Gateways/FE/projects/.resources/68c730ec06903b76a3b4f12085b54839aaf0e42538e00839790591e906d6229e differ diff --git a/Gateways/FE/projects/.resources/68ddd4eec261391eb12198d419e67406d585aa6670361020b602bde8eb707471 b/Gateways/FE/projects/.resources/68ddd4eec261391eb12198d419e67406d585aa6670361020b602bde8eb707471 new file mode 100644 index 0000000..96ea046 --- /dev/null +++ b/Gateways/FE/projects/.resources/68ddd4eec261391eb12198d419e67406d585aa6670361020b602bde8eb707471 @@ -0,0 +1,8 @@ +{ + "base": { + "style": { + "color": "var(--neutral-100)", + "fontSize": "14px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/68fa3db619b9f4b5eec2893dbb199fed1076308f895dd57ef5fdf0547cdf20fc b/Gateways/FE/projects/.resources/68fa3db619b9f4b5eec2893dbb199fed1076308f895dd57ef5fdf0547cdf20fc new file mode 100644 index 0000000..30d8cbe --- /dev/null +++ b/Gateways/FE/projects/.resources/68fa3db619b9f4b5eec2893dbb199fed1076308f895dd57ef5fdf0547cdf20fc @@ -0,0 +1,705 @@ +{ + "custom": { + "trendConfig": { + "allPens": [ + { + "group": "A", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Amps A" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Amps B" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Amps C" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps N", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Amps N" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Average Phase Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Average Phase Current" + } + ] + }, + { + "group": "Hz", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "Hz", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Frequency" + } + ] + }, + { + "group": "KWH", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "KWH", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Total KWH", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Total KWH" + } + ] + }, + { + "group": "PF", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "PF", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Power Factor" + } + ] + }, + { + "group": "V", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Average Phase Voltage", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Average Phase Voltage" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Voltage A" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Voltage B" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Voltage C" + } + ] + }, + { + "group": "kVA", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kVA", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KVA", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/KVA" + } + ] + }, + { + "group": "kVAR", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kVAR", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KVAR", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/KVAR" + } + ] + }, + { + "group": "kW", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kW", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KW", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/KW" + } + ] + }, + { + "group": "kWH", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kWH", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KW Demand", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/KW Demand" + } + ] + } + ] + } + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948086061 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948086061 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6902839a588310fdf4b77bde814259b1bd3220de21fda9b4c3b1a92062915da5 b/Gateways/FE/projects/.resources/6902839a588310fdf4b77bde814259b1bd3220de21fda9b4c3b1a92062915da5 new file mode 100644 index 0000000..efba6e9 Binary files /dev/null and b/Gateways/FE/projects/.resources/6902839a588310fdf4b77bde814259b1bd3220de21fda9b4c3b1a92062915da5 differ diff --git a/Gateways/FE/projects/.resources/69144a81a0425cadc00d3f07c62b8269f794afb8ace5e22a951814181325db61 b/Gateways/FE/projects/.resources/69144a81a0425cadc00d3f07c62b8269f794afb8ace5e22a951814181325db61 new file mode 100644 index 0000000..8867fa0 Binary files /dev/null and b/Gateways/FE/projects/.resources/69144a81a0425cadc00d3f07c62b8269f794afb8ace5e22a951814181325db61 differ diff --git a/Gateways/FE/projects/.resources/6944f56c150f1dd45151f51d89e5d528b6544c16283b2ed66490a18b0877e528 b/Gateways/FE/projects/.resources/6944f56c150f1dd45151f51d89e5d528b6544c16283b2ed66490a18b0877e528 new file mode 100644 index 0000000..60fbb93 --- /dev/null +++ b/Gateways/FE/projects/.resources/6944f56c150f1dd45151f51d89e5d528b6544c16283b2ed66490a18b0877e528 @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M2466.67,191.897c-0,2.3 1.867,4.167 4.166,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,0 -4.166,1.867 -4.166,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal8", + "name": "Terminal8", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2470.83,187.73l0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2464.58,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.45,0 6.25,2.801 6.25,6.25c0,3.45 -2.8,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In4", + "name": "In4", + "type": "path" + }, + { + "d": "M2470.83,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,-0 -4.166,1.867 -4.166,4.167c-0,2.299 1.867,4.166 4.166,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal9", + "name": "Terminal9", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2470.83,251.229l0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2478.58,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed4", + "name": "Closed4", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2497.58,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open4", + "name": "Open4", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB05", + "name": "CB05", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 909, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(860,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(860,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(860,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(860,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6964297a1d25e83ba6088f98a6d6fb34124b26db82dd42a4f4ffe774e2c9d507 b/Gateways/FE/projects/.resources/6964297a1d25e83ba6088f98a6d6fb34124b26db82dd42a4f4ffe774e2c9d507 new file mode 100644 index 0000000..90dcae1 --- /dev/null +++ b/Gateways/FE/projects/.resources/6964297a1d25e83ba6088f98a6d6fb34124b26db82dd42a4f4ffe774e2c9d507 @@ -0,0 +1,629 @@ +{ + "custom": { + "AlarmSeverity": 0, + "colorHandler": { + "text": "var(--text-muted)" + } + }, + "params": { + "embedded": false, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]MR1125/SATB1_HS2_ME1125_FCU17" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 500 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FCU_Detail" + }, + "position": { + "height": 100, + "width": 500 + }, + "propConfig": { + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M50.736,75.9l1548.63,-0l79.148,120.243l-79.148,120.244l-1548.63,-0l81.177,-120.244l-81.177,-120.243Z", + "fill": { + "paint": "#f0f0f0" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1678.52,196.143l246.998,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1925.51,196.143l-37.666,-58.476", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1925.51,196.143l-37.666,58.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "VAV-Box", + "name": "VAV-Box", + "type": "group" + }, + { + "d": "M1442.92,196.143c-0,63.24 -51.344,114.583 -114.584,114.583c-63.24,0 -114.583,-51.343 -114.583,-114.583c-0,-63.24 51.343,-114.583 114.583,-114.583l174.266,-0l-0,114.583l-59.682,0Z", + "fill": { + "paint": "#f0f0f0" + }, + "id": "Fan", + "name": "Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "fill": { + "paint": "#f0f0f0" + }, + "height": "240.487", + "id": "DX-Cooling-Coil", + "name": "DX-Cooling-Coil", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "283.118", + "x": "837.304", + "y": "75.9" + }, + { + "fill": { + "paint": "#f0f0f0" + }, + "height": "240.487", + "id": "Filer", + "name": "Filer", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "283.118", + "x": "296.652", + "y": "75.9" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,151.484,54.2636)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,1373.98,203.382)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "1287.83px", + "y": "203.382px" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2083.77,188.929)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Supply", + "type": "text", + "x": "1930.89px", + "y": "188.929px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,1994.32,239.759)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "1933.21px", + "y": "239.759px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,962.604,163.225)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "DX", + "type": "text", + "x": "893.146px", + "y": "163.225px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,1064.07,208.472)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Cooling", + "type": "text", + "x": "894.513px", + "y": "208.472px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,980.646,264.242)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Coil", + "type": "text", + "x": "894.513px", + "y": "264.242px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,491.373,213.746)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Filter", + "type": "text", + "x": "380.265px", + "y": "213.746px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2084 338" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "height": 35, + "width": 75, + "x": 331.9965515136719, + "y": 137.46986163330078 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Space Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Value": 71.9 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 50, + "x": 407, + "y": 139.996 + }, + "props": { + "text": "Space Temperature", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 75, + "width": 396, + "x": 9, + "y": 21 + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 50, + "x": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "FCU" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "height": 70, + "width": 403, + "x": 9, + "y": 22.47 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 45, + "width": 38, + "x": 394, + "y": -1.5 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "params": { + "AlarmSeverity": 0 + }, + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/69b8a55c3d683d0944dabd7b69862e9eb06de2124797db2933e161b13c95db7e b/Gateways/FE/projects/.resources/69b8a55c3d683d0944dabd7b69862e9eb06de2124797db2933e161b13c95db7e new file mode 100644 index 0000000..f0b05b3 --- /dev/null +++ b/Gateways/FE/projects/.resources/69b8a55c3d683d0944dabd7b69862e9eb06de2124797db2933e161b13c95db7e @@ -0,0 +1,24 @@ +def exportAlarms(): + state = ['ActiveUnacked'] + + alarms_list = system.alarm.queryStatus(state = state) + # Define column headers for your dataset + headers = ["Source", "Display Path", "Current State", "Priority"] + + # Create a list of lists to hold the alarm data + data = [] + for alarm in alarms_list: + row = [ + alarm.getSource(), + alarm.getDisplayPath(), + alarm.getState(), + alarm.getPriority(), + ] + data.append(row) + + alarms_dataset = system.dataset.toDataSet(headers, data) + + filepath = system.dataset.exportCSV("data.csv", 1, alarms_dataset) + + if fielPath != None: + system.net.openURL("file:///"+filePath.replace('\\','/')) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/69ba0cece9067b6c830a7ece06d366b6307359b04e3eb4670bf79fcd6981fdd4 b/Gateways/FE/projects/.resources/69ba0cece9067b6c830a7ece06d366b6307359b04e3eb4670bf79fcd6981fdd4 new file mode 100644 index 0000000..86d3c31 Binary files /dev/null and b/Gateways/FE/projects/.resources/69ba0cece9067b6c830a7ece06d366b6307359b04e3eb4670bf79fcd6981fdd4 differ diff --git a/Gateways/FE/projects/.resources/69c8785a1aede2f8ae7d00877b98706e634ff9daf6d0ab4ae875889b587e40cb b/Gateways/FE/projects/.resources/69c8785a1aede2f8ae7d00877b98706e634ff9daf6d0ab4ae875889b587e40cb new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/.resources/69c8785a1aede2f8ae7d00877b98706e634ff9daf6d0ab4ae875889b587e40cb differ diff --git a/Gateways/FE/projects/.resources/6a063094a2a71db195e630ace17a7191e5059ec0ad8d26fc06a0aafc6415ce9d b/Gateways/FE/projects/.resources/6a063094a2a71db195e630ace17a7191e5059ec0ad8d26fc06a0aafc6415ce9d new file mode 100644 index 0000000..319832f Binary files /dev/null and b/Gateways/FE/projects/.resources/6a063094a2a71db195e630ace17a7191e5059ec0ad8d26fc06a0aafc6415ce9d differ diff --git a/Gateways/FE/projects/.resources/6a0c7994399983d2adca947a80f840e8905816f435986affbce717880157137a b/Gateways/FE/projects/.resources/6a0c7994399983d2adca947a80f840e8905816f435986affbce717880157137a new file mode 100644 index 0000000..4c02fe8 --- /dev/null +++ b/Gateways/FE/projects/.resources/6a0c7994399983d2adca947a80f840e8905816f435986affbce717880157137a @@ -0,0 +1,660 @@ +{ + "custom": { + "Monday": 0, + "allTags": [ + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 240, + "min": 0, + "name": "Occupancy Minimum Time" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Occuppacy Mode Start Time" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Standby Mode Timer SP" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Unoccupied Mode Start Time" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Standby Mode Offset" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Air Flow Out of Range SP" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 10, + "min": 0, + "name": "Occupied Deadband Setpoint" + } + ], + "weekDay": 254 + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1116/SATB1_HS1_RM1116_VAV01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.weekDay": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Day of Week Enable" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "gap": "10px 0", + "overflow": "visible", + "padding": "5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Day of the Week Enable" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 1\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Monday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},1)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Monday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 2\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Tuesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},2)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Tuesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 3\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Wednesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},3)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Wednesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 4\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Thursday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},4)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Thursday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 5\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Friday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},5)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Friday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 6\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Saturday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},6)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Saturday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 7\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Sunday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},7)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Sunday" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "space-evenly", + "style": { + "gap": "5px", + "padding": "5px" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "99.5%", + "grow": 1 + }, + "props": { + "alignContent": "center", + "alignItems": "flex-start", + "direction": "column", + "justify": "center", + "style": { + "border": "1px solid var(--border)", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container", + "paddingBottom": 10, + "paddingLeft": 10, + "paddingRight": 10, + "paddingTop": 10 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6a3c8d1b0b55fa15ca112949ebece7e455a141695007c0bd970a47e16fc261f6 b/Gateways/FE/projects/.resources/6a3c8d1b0b55fa15ca112949ebece7e455a141695007c0bd970a47e16fc261f6 new file mode 100644 index 0000000..b7b9f77 --- /dev/null +++ b/Gateways/FE/projects/.resources/6a3c8d1b0b55fa15ca112949ebece7e455a141695007c0bd970a47e16fc261f6 @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6a47587de82a7f7cda1baac847364484279a015f29b2e9facea6f993e6c8f63c b/Gateways/FE/projects/.resources/6a47587de82a7f7cda1baac847364484279a015f29b2e9facea6f993e6c8f63c new file mode 100644 index 0000000..0c36f61 --- /dev/null +++ b/Gateways/FE/projects/.resources/6a47587de82a7f7cda1baac847364484279a015f29b2e9facea6f993e6c8f63c @@ -0,0 +1,7108 @@ +{ + "custom": { + "Color": "#007FD2", + "ColorHandler": { + "Auxiliary": {}, + "Corridors": { + "StairB_1198": "lightgray", + "StairC_1199": "lightgray", + "StairD_1183": "lightgray" + }, + "DH3": { + "SDC_Storage_1173": "lightgray" + }, + "DH5": {}, + "Elec-Mech": {}, + "MEP_1140": "lightgray", + "Stream_Offices": { + "JAN_1105": "lightgray", + "JAN_1126": "lightgray", + "MMR_1107": "lightgray", + "Pass_1124": "lightgray", + "RR_1104": "lightgray", + "RR_1136": "lightgray", + "WWR_1108": "lightgray" + }, + "Tenant_Offices": { + "FCR_1138_3": "lightgray", + "SER_1138_2": "lightgray" + }, + "Wall": "var(--olGray)" + }, + "inMax": 10, + "inMin": -10, + "outMax": 250, + "outMin": 50 + }, + "params": { + "CRAC": [ + -9, + 10, + -7, + -6, + -5 + ], + "CRAH": [ + -4, + -3, + -2, + -1, + 0 + ], + "DH": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "DOAS": [ + 7, + 8, + 9, + 0 + ], + "FCU": [ + -9, + -8, + -7, + -6, + -5, + -4, + -3, + -2, + -1, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + -9, + -8, + -7, + -6 + ], + "VAV": [ + -9, + -8, + -7, + -6, + -5, + -4, + 3, + -2, + -1, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1, + 0, + -1, + -2, + -3, + -4, + -5, + -6, + -7 + ] + }, + "propConfig": { + "custom.Color": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.ColorHandler.Auxiliary.ER_1185": { + "binding": { + "config": { + "path": "view.params.FCU[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.FirePlbg_1186": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.MDF2_1187": { + "binding": { + "config": { + "path": "view.params.FCU[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.MMR2_1188": { + "binding": { + "config": { + "path": "view.params.CRAC[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.POE4_1189": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.POE_1184": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorA_1190": { + "binding": { + "config": { + "path": "view.params.VAV[33]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorB_1191": { + "binding": { + "config": { + "path": "view.params.VAV[33]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorC_1192": { + "binding": { + "config": { + "path": "view.params.VAV[31]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorD_1193": { + "binding": { + "config": { + "path": "view.params.VAV[31]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorE1_1194_1": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorE2_1194_1": { + "binding": { + "config": { + "path": "view.params.VAV[32]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorE3_1194_1": { + "binding": { + "config": { + "path": "view.params.VAV[32]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorF_1195": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorG_1196": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorH1_1197_1": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorH2_1197_2": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.StairA_1123": { + "binding": { + "config": { + "path": "view.params.VAV[17]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.UNKNOWN": { + "binding": { + "config": { + "path": "view.params.VAV[11]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH3.DH3_1170": { + "binding": { + "config": { + "path": "view.params.DH[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH3.Gallery_1171": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH3.Gallery_1172": { + "binding": { + "config": { + "path": "view.params.DH[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH3.SDC_IDF_1174": { + "binding": { + "config": { + "path": "view.params.FCU[5]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH5.DH5_1180": { + "binding": { + "config": { + "path": "view.params.DH[5]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH5.Gallery_1181": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH5.Gallery_1182": { + "binding": { + "config": { + "path": "view.params.DH[5]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1151": { + "binding": { + "config": { + "path": "view.params.CRAH[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1155": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1156": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1157": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1158": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1160": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1161": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1162": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1163": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1164": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1165": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.MDF_1149": { + "binding": { + "config": { + "path": "view.params.FCU[7]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.MEPRoom_1159": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.MMR1_1120": { + "binding": { + "config": { + "path": "view.params.CRAC[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.MechPower_1150": { + "binding": { + "config": { + "path": "view.params.CRAH[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.SDC_IDF_1154": { + "binding": { + "config": { + "path": "view.params.FCU[6]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.SDStorage_1153": { + "binding": { + "config": { + "path": "view.params.VAV[34]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.TapeLibrary_1152": { + "binding": { + "config": { + "path": "view.params.CRAC[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.AMOffice_1134_2": { + "binding": { + "config": { + "path": "view.params.VAV[20]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.AssetManagement_1134_1": { + "binding": { + "config": { + "path": "view.params.VAV[20]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.BreakRoom_1111": { + "binding": { + "config": { + "path": "view.params.VAV[11]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.CableStorage_1133_2": { + "binding": { + "config": { + "path": "view.params.VAV[25]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Conference_1116": { + "binding": { + "config": { + "path": "view.params.VAV[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Conference_1121": { + "binding": { + "config": { + "path": "view.params.VAV[19]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Elec_1128": { + "binding": { + "config": { + "path": "view.params.VAV[16]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.ExecutiveConference_1103": { + "binding": { + "config": { + "path": "view.params.VAV[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Freight_1130": { + "binding": { + "config": { + "path": "view.params.VAV[22]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Freight_1131": { + "binding": { + "config": { + "path": "view.params.VAV[22]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.HighValueStorage_1133_6": { + "binding": { + "config": { + "path": "view.params.VAV[25]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Huddle_1113": { + "binding": { + "config": { + "path": "view.params.VAV[8]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.LoadingDock_1127": { + "binding": { + "config": { + "path": "view.params.VAV[22]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Lobby_1100_0": { + "binding": { + "config": { + "path": "view.params.VAV[13]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.MOPT_1109": { + "binding": { + "config": { + "path": "view.params.VAV[6]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Mech_1125": { + "binding": { + "config": { + "path": "view.params.FCU[17]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Mech_1132": { + "binding": { + "config": { + "path": "view.params.FCU[22]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Office_1117": { + "binding": { + "config": { + "path": "view.params.VAV[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Office_1118": { + "binding": { + "config": { + "path": "view.params.VAV[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.PBLG_FP_1141": { + "binding": { + "config": { + "path": "view.params.VAV[24]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.POE1_1119": { + "binding": { + "config": { + "path": "view.params.VAV[33]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.POE_1142": { + "binding": { + "config": { + "path": "view.params.VAV[31]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Receiving_1133_1": { + "binding": { + "config": { + "path": "view.params.VAV[25]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Records_1114": { + "binding": { + "config": { + "path": "view.params.VAV[7]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.SDC_IDF_1122": { + "binding": { + "config": { + "path": "view.params.FCU[20]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.SOCStorage_1102_2": { + "binding": { + "config": { + "path": "view.params.VAV[16]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.SOC_1102_1": { + "binding": { + "config": { + "path": "view.params.VAV[15]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.SOC_OFFICE_1102_3": { + "binding": { + "config": { + "path": "view.params.VAV[16]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.SecureLobby_1101": { + "binding": { + "config": { + "path": "view.params.VAV[17]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.SecureStorge_1133_4": { + "binding": { + "config": { + "path": "view.params.VAV[25]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.ShredRoom_1133_5": { + "binding": { + "config": { + "path": "view.params.VAV[18]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.StreamOffice_1110": { + "binding": { + "config": { + "path": "view.params.VAV[5]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Vestibule_1100_1": { + "binding": { + "config": { + "path": "view.params.VAV[13]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Waiting_1135": { + "binding": { + "config": { + "path": "view.params.VAV[21]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Tenant_Offices.OPS_Storage_1137": { + "binding": { + "config": { + "path": "view.params.VAV[12]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Tenant_Offices.TenantOffice_1138_1": { + "binding": { + "config": { + "path": "view.params.VAV[29]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Tenant_Offices.TenantStorage_1139": { + "binding": { + "config": { + "path": "view.params.VAV[26]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.inMax": { + "persistent": true + }, + "custom.inMin": { + "persistent": true + }, + "custom.outMax": { + "persistent": true + }, + "custom.outMin": { + "persistent": true + }, + "params.CRAC": { + "paramDirection": "input", + "persistent": true + }, + "params.CRAH": { + "paramDirection": "input", + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.DOAS": { + "paramDirection": "input", + "persistent": true + }, + "params.FCU": { + "paramDirection": "input", + "persistent": true + }, + "params.VAV": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 1155 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "First Floor" + }, + "position": { + "height": 300, + "width": 1155 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairC_1199" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorC_1192" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorB_1191" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorA_1190" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorE1_1194_1" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairA_1123" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.UNKNOWN" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorH2_1197_2" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorH1_1197_1" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorE2_1194_1" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairB_1198" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairD_1183" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorE3_1194_1" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorD_1193" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorF_1195" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorG_1196" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1165" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1155" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1151" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.MechPower_1150" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.MMR1_1120" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.TapeLibrary_1152" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.SDC_IDF_1154" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.SDStorage_1153" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.MDF_1149" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1164" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1163" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1162" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1161" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1160" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.MEPRoom_1159" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1158" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1157" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1156" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.ER_1185" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.POE_1184" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.FirePlbg_1186" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.MDF2_1187" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.MMR2_1188" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.POE4_1189" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH3.Gallery_1171" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH3.Gallery_1172" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH3.SDC_IDF_1174" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH3.SDC_Storage_1173" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH3.DH3_1170" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH5.Gallery_1181" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH5.Gallery_1182" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH5.DH5_1180" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.POE1_1119" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.ShredRoom_1133_5" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.HighValueStorage_1133_6" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.CableStorage_1133_2" + }, + "type": "property" + } + }, + "props.elements[5].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Waiting_1135" + }, + "type": "property" + } + }, + "props.elements[5].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.SecureStorge_1133_4" + }, + "type": "property" + } + }, + "props.elements[5].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Elec_1128" + }, + "type": "property" + } + }, + "props.elements[5].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Mech_1125" + }, + "type": "property" + } + }, + "props.elements[5].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Pass_1124" + }, + "type": "property" + } + }, + "props.elements[5].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.SDC_IDF_1122" + }, + "type": "property" + } + }, + "props.elements[5].elements[19].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Freight_1130" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.MOPT_1109" + }, + "type": "property" + } + }, + "props.elements[5].elements[20].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Freight_1131" + }, + "type": "property" + } + }, + "props.elements[5].elements[21].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Mech_1132" + }, + "type": "property" + } + }, + "props.elements[5].elements[22].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Vestibule_1100_1" + }, + "type": "property" + } + }, + "props.elements[5].elements[23].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.ExecutiveConference_1103" + }, + "type": "property" + } + }, + "props.elements[5].elements[24].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Records_1114" + }, + "type": "property" + } + }, + "props.elements[5].elements[25].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Office_1117" + }, + "type": "property" + } + }, + "props.elements[5].elements[26].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Conference_1116" + }, + "type": "property" + } + }, + "props.elements[5].elements[27].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Office_1118" + }, + "type": "property" + } + }, + "props.elements[5].elements[28].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.StreamOffice_1110" + }, + "type": "property" + } + }, + "props.elements[5].elements[29].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.SOC_1102_1" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Huddle_1113" + }, + "type": "property" + } + }, + "props.elements[5].elements[30].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.SecureLobby_1101" + }, + "type": "property" + } + }, + "props.elements[5].elements[31].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Conference_1121" + }, + "type": "property" + } + }, + "props.elements[5].elements[32].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.LoadingDock_1127" + }, + "type": "property" + } + }, + "props.elements[5].elements[33].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Lobby_1100_0" + }, + "type": "property" + } + }, + "props.elements[5].elements[34].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Receiving_1133_1" + }, + "type": "property" + } + }, + "props.elements[5].elements[35].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.MMR_1107" + }, + "type": "property" + } + }, + "props.elements[5].elements[36].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.BreakRoom_1111" + }, + "type": "property" + } + }, + "props.elements[5].elements[37].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.WWR_1108" + }, + "type": "property" + } + }, + "props.elements[5].elements[38].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.PBLG_FP_1141" + }, + "type": "property" + } + }, + "props.elements[5].elements[39].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.AssetManagement_1134_1" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.RR_1104" + }, + "type": "property" + } + }, + "props.elements[5].elements[40].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.SOCStorage_1102_2" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.JAN_1105" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.SOC_OFFICE_1102_3" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.JAN_1126" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.AMOffice_1134_2" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.RR_1136" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.POE_1142" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Tenant_Offices.SER_1138_2" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Tenant_Offices.FCR_1138_3" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Tenant_Offices.TenantStorage_1139" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Tenant_Offices.OPS_Storage_1137" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Tenant_Offices.TenantOffice_1138_1" + }, + "type": "property" + } + }, + "props.elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.MEP_1140" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1199-STAIR-C", + "name": "_1199-STAIR-C", + "type": "rect", + "width": "203.609", + "x": "1515.85", + "y": "1178.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.399", + "id": "_1197-2-CORRIDOR-H-2", + "name": "_1197-2-CORRIDOR-H-2", + "type": "rect", + "width": "1467.31", + "x": "183.815", + "y": "1134.85" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "41.332", + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": "1996.06", + "x": "1651.13", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.25", + "id": "_1194-1-CORRIDOR-E-2", + "name": "_1194-1-CORRIDOR-E-2", + "type": "rect", + "width": "2592.5", + "x": "1567.63", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1198-STAIR-B", + "name": "_1198-STAIR-B", + "type": "rect", + "width": "203.609", + "x": "3802.52", + "y": "1177.63" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "206.163", + "id": "_1183-STAIRS-D", + "name": "_1183-STAIRS-D", + "type": "rect", + "width": "86.751", + "x": "1.377", + "y": "358.889" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1194-1-CORRIDOR-E-3", + "name": "_1194-1-CORRIDOR-E-3", + "type": "rect", + "width": "48.02", + "x": "3607.37", + "y": "1.095" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1193-CORRIDOR-D", + "name": "_1193-CORRIDOR-D", + "type": "rect", + "width": "84", + "x": "2894.63", + "y": "235.5" + }, + { + "d": "M1488.64,1134.85l164.275,0.149l-0.034,-139.5l-83.689,0.074l0,-608.074l83.689,0.105l0,-44.605l-83.689,0l0,-107.649l-80.561,0l0.009,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1195-CORRIDOR-F", + "name": "_1195-CORRIDOR-F", + "type": "path" + }, + { + "d": "M183.628,1134.85l63.25,0l0,-792.224l-84.75,-0l0,-107.276l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1196-CORRIDOR-G", + "name": "_1196-CORRIDOR-G", + "type": "path" + }, + { + "d": "M3647.19,1178.01l-0.308,-42.395l-35.25,-0l0,-428.611l65,-0l0,329.711l163.5,0.433l-0.113,141.356l-192.829,-0.494Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1192-CORRIDOR-C", + "name": "_1192-CORRIDOR-C", + "type": "path" + }, + { + "d": "M4160.13,138.5l0,96.851l68.5,0l0,406.899l73.372,0l-0,-173.99l58.628,-0l0,-38.859l-58.628,-0l-0.372,-141.301l228.25,-0.1l0,-48.75l-222.014,-0l-0,-100.75l-147.736,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1191-CORRIDOR-B", + "name": "_1191-CORRIDOR-B", + "type": "path" + }, + { + "d": "M4478.59,735.5l-118.361,-0l-0.38,-28.5l-748.22,-0l0,-65.105l690.372,0.427l-0,5.178l44.403,0l0,-43.801l74.63,0l0.308,43.801l56.816,-0.335l0.432,88.335Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1190-CORRIDOR-A", + "name": "_1190-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.101", + "id": "_1194-1-CORRIDOR-E-1", + "name": "_1194-1-CORRIDOR-E-1", + "type": "rect", + "width": "1479.25", + "x": "88.378", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1123-STAIR-A", + "name": "_1123-STAIR-A", + "type": "rect", + "width": "58.434", + "x": "4477.3", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "288" + } + ], + "id": "Corridors-and-stairs", + "name": "Corridors-and-stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1165-elec", + "name": "_1165-elec", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1164-ER", + "name": "_1164-ER", + "type": "rect", + "width": "232", + "x": "329.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1163-ER", + "name": "_1163-ER", + "type": "rect", + "width": "232", + "x": "561.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1162-ER", + "name": "_1162-ER", + "type": "rect", + "width": "232", + "x": "793.628", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1161-ER", + "name": "_1161-ER", + "type": "rect", + "width": "232", + "x": "1025.63", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1160-ER", + "name": "_1160-ER", + "type": "rect", + "width": "238.155", + "x": "1258.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1159-MEP-ROOM", + "name": "_1159-MEP-ROOM", + "type": "rect", + "width": "239.508", + "x": "1496.28", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1158-ER", + "name": "_1158-ER", + "type": "rect", + "width": "231.337", + "x": "1735.79", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1157ER", + "name": "_1157ER", + "type": "rect", + "width": "233.123", + "x": "1967.13", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1156-ER", + "name": "_1156-ER", + "type": "rect", + "width": "231.803", + "x": "2200.25", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1155-ER", + "name": "_1155-ER", + "type": "rect", + "width": "232.461", + "x": "2432.05", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1151-ELEC", + "name": "_1151-ELEC", + "type": "rect", + "width": "183.5", + "x": "3655.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1150-MECH-POWER", + "name": "_1150-MECH-POWER", + "type": "rect", + "width": "232.348", + "x": "3838.63", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "137.655", + "id": "_1120-MMR1", + "name": "_1120-MMR1", + "type": "rect", + "width": "260.5", + "x": "4160.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1152-TAPE-LIBRARY", + "name": "_1152-TAPE-LIBRARY", + "type": "rect", + "width": "476.566", + "x": "2664.63", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "64.565", + "id": "_1154-SDC-IDF", + "name": "_1154-SDC-IDF", + "type": "rect", + "width": "88.333", + "x": "3388.41", + "y": "105.935" + }, + { + "d": "M3141.63,170.25l0,-169.947l464.001,0.042l-0,169.905l-128.69,0l-0,-64.25l-89.212,-0l0.338,64.25l-246.437,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1153-SD-STORAGE", + "name": "_1153-SD-STORAGE", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.155", + "id": "_1149-MDF", + "name": "_1149-MDF", + "type": "rect", + "width": "89.5", + "x": "4070.63", + "y": "1.095" + } + ], + "id": "ELEC---MECH", + "name": "ELEC---MECH", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1185-ELEC", + "name": "_1185-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "458.859" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1184-POE", + "name": "_1184-POE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "109.021", + "id": "_1186-FIRE-PLBG", + "name": "_1186-FIRE-PLBG", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "508.227" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.5", + "id": "_1187-MDF-2", + "name": "_1187-MDF-2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "407.5", + "id": "_1188-MMR2", + "name": "_1188-MMR2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "715.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.25", + "id": "_1189-POE-4", + "name": "_1189-POE-4", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "1123" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1171-GALLERY", + "name": "_1171-GALLERY", + "type": "rect", + "width": "1325.44", + "x": "1569.19", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1172-GALLERY", + "name": "_1172-GALLERY", + "type": "rect", + "width": "1241.72", + "x": "1652.91", + "y": "1064" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.182", + "id": "_1174-SDC-IDF", + "name": "_1174-SDC-IDF", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "930" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "542.5", + "id": "_1173-SDC-STORAGE", + "name": "_1173-SDC-STORAGE", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "387.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1170-DATAHALL-3", + "name": "_1170-DATAHALL-3", + "type": "rect", + "width": "1241.75", + "x": "1652.88", + "y": "343" + } + ], + "id": "DH3", + "name": "DH3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1181-GALLERY-", + "name": "_1181-GALLERY-", + "type": "rect", + "width": "1326.41", + "x": "162.215", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1182-GALLERY-", + "name": "_1182-GALLERY-", + "type": "rect", + "width": "1241.72", + "x": "246.911", + "y": "1065.51" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1181-1-DATAHALL-1180-1", + "name": "_1181-1-DATAHALL-1180-1", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "344.795" + } + ], + "id": "DH5", + "name": "DH5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1119-POE1", + "name": "_1119-POE1", + "type": "rect", + "width": "51.764", + "x": "4307.86", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.401", + "id": "_1109-MOT", + "name": "_1109-MOT", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "359" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "77.088", + "id": "_1113-HUDDLE", + "name": "_1113-HUDDLE", + "type": "rect", + "width": "86.707", + "x": "4544.16", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "68.485", + "id": "_1104-RR", + "name": "_1104-RR", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "365.023" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.992", + "id": "_1105-JAN", + "name": "_1105-JAN", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "433.508" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "78.218", + "id": "_1102.3-SOC-OFFICE", + "name": "_1102.3-SOC-OFFICE", + "type": "rect", + "width": "66.118", + "x": "4459.01", + "y": "489.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1126-JAN", + "name": "_1126-JAN", + "type": "rect", + "width": "57", + "x": "4303.13", + "y": "707" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1134.2-AM-OFFICE", + "name": "_1134.2-AM-OFFICE", + "type": "rect", + "width": "65.5", + "x": "4063.63", + "y": "850" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61.387", + "id": "_1136-RR", + "name": "_1136-RR", + "type": "rect", + "width": "81.653", + "x": "4063.63", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.218", + "id": "_1142-POE", + "name": "_1142-POE", + "type": "rect", + "width": "101.369", + "x": "3840.13", + "y": "1123.79" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.5-SHRED-ROOM", + "name": "_1133.5-SHRED-ROOM", + "type": "rect", + "width": "125.5", + "x": "3938.13", + "y": "932.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.6-HIGH-VALUE-STORAGE", + "name": "_1133.6-HIGH-VALUE-STORAGE", + "type": "rect", + "width": "261.5", + "x": "3676.63", + "y": "932.697" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "59.838", + "id": "_1133.2-CABLE-STORAGE", + "name": "_1133.2-CABLE-STORAGE", + "type": "rect", + "width": "163.5", + "x": "3676.63", + "y": "708.197" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "110.035", + "id": "_1135-WAITING", + "name": "_1135-WAITING", + "type": "rect", + "width": "62.384", + "x": "4145.28", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "119.5", + "id": "_1133.4-SECURE-STORAGE", + "name": "_1133.4-SECURE-STORAGE", + "type": "rect", + "width": "223.5", + "x": "3840.13", + "y": "813" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1128-ELEC", + "name": "_1128-ELEC", + "type": "rect", + "width": "57", + "x": "4302", + "y": "761.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1125-MECH", + "name": "_1125-MECH", + "type": "rect", + "width": "63.811", + "x": "4359", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1124-PASS", + "name": "_1124-PASS", + "type": "rect", + "width": "54.491", + "x": "4422.81", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1122-SDC-IDF", + "name": "_1122-SDC-IDF", + "type": "rect", + "width": "72.661", + "x": "4535.43", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1130-FREIGHT", + "name": "_1130-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4433.86", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1131-FREIGHT", + "name": "_1131-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4535.36", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1132-MECH", + "name": "_1132-MECH", + "type": "rect", + "width": "138.911", + "x": "4636.63", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61", + "id": "_1100.1-VESTIBULE", + "name": "_1100.1-VESTIBULE", + "type": "rect", + "width": "41.5", + "x": "4767.63", + "y": "499" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "130.798", + "id": "_1103-EXECUTIVE-CONFERENCE", + "name": "_1103-EXECUTIVE-CONFERENCE", + "type": "rect", + "width": "145.497", + "x": "4630.13", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1114-RECORDS", + "name": "_1114-RECORDS", + "type": "rect", + "width": "61", + "x": "4359.63", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1117-OFFICE", + "name": "_1117-OFFICE", + "type": "rect", + "width": "64.5", + "x": "4530.13", + "y": "2.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "237.952", + "id": "_1116-CONFERENCE", + "name": "_1116-CONFERENCE", + "type": "rect", + "width": "109.5", + "x": "4420.63", + "y": "1.298" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1118-OFFICE", + "name": "_1118-OFFICE", + "type": "rect", + "width": "65.274", + "x": "4594.63", + "y": "2.5" + }, + { + "d": "M4775.02,288l0.609,-285l-115.1,-2.655l-0.626,84.155l-130.024,-0.441l0,203.941l245.141,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1110-STREAM-OFFICE", + "name": "_1110-STREAM-OFFICE", + "type": "path" + }, + { + "d": "M4525.13,489.5l-0.162,157.719l33.495,0.137l0,-40.856l41.98,0l-0.008,11.157l52.695,0.479l-1.174,-128.636l-126.826,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1102.1-SOC", + "name": "_1102.1-SOC", + "type": "path" + }, + { + "d": "M4558.46,606.223l0,41.133l-80.452,-0l0.693,57.633l329.676,-0l0,-86.979l-207.164,0l0,-11.51l-42.753,-0.277Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1101-SECURE-LOBBY", + "name": "_1101-SECURE-LOBBY", + "type": "path" + }, + { + "d": "M4607.63,705l0,110.159l167.782,-0.651l0.693,-26.905l32.275,-0.433l0,-82.181l-200.75,0.011Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1121-CONFERENCE", + "name": "_1121-CONFERENCE", + "type": "path" + }, + { + "d": "M4207.55,706.868l0.073,379.082l23.565,0.081l75.845,39.795l19.744,-35.334l77.574,39.904l25.252,-44.509l94.628,0.083l76.334,39.209l19.102,-34.955l75.254,39.426l80.59,-0.024l-0,-197.372l-341.468,-0l-0,-115.82l-131.16,-1.275l0,-108.159l-95.333,-0.132Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1127-LOADING-DOCK", + "name": "_1127-LOADING-DOCK", + "type": "path" + }, + { + "d": "M4598.13,364.5l0,125l55.275,0l-0.13,128.5l155.105,0.01l0,-58.01l-40.75,0l0,-61.698l40.283,-0.037l-0,-79.467l-177.783,-0l0,-54.298l-32,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1100.0-LOBBY", + "name": "_1100.0-LOBBY", + "type": "path" + }, + { + "d": "M3676.63,932l0,-163.965l163.5,0l0,-61.035l367.5,-0l0,143l-144,-0l0,-37l-223.5,-0l0,119.5l-163.5,-0.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1133.1-RECEIVING", + "name": "_1133.1-RECEIVING", + "type": "path" + }, + { + "d": "M4457.98,468l0.296,179.18l-37.243,0.32l-0,-43.801l-38.163,0l0.111,-135.699l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1107-MMR", + "name": "_1107-MMR", + "type": "path" + }, + { + "d": "M4542.91,288l0.721,201.141l-84.617,0.359l-0,-21.24l-98.383,-0l-0.136,-180.26l182.415,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1111-BREAK-ROOM", + "name": "_1111-BREAK-ROOM", + "type": "path" + }, + { + "d": "M4302,468.26l2.333,179.853l42.045,-0.613l0,-42.868l37.34,-0l-0.117,-135.7l-81.601,-0.672Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1108-WRR", + "name": "_1108-WRR", + "type": "path" + }, + { + "d": "M4144.93,1037.5l1.203,140.499l-204.5,0.501l0,-52.454l-101.5,-1.355l0.451,-87.191l304.346,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1141-PLBG-FP", + "name": "_1141-PLBG-FP", + "type": "path" + }, + { + "d": "M4207.55,975.505l-143.66,0.495l-0.257,-44l65.5,-0l0,-82l78.417,0.185l0,125.32Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1134.1-ASSET-MANAGEMENT", + "name": "_1134.1-ASSET-MANAGEMENT", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "79.448", + "id": "_1102.2-SOC-STORAGE", + "name": "_1102.2-SOC-STORAGE", + "type": "rect", + "width": "65.955", + "x": "4459.01", + "y": "567.718" + } + ], + "id": "Stream-Offices", + "name": "Stream-Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "133.25", + "id": "_1138.2-SER", + "name": "_1138.2-SER", + "type": "rect", + "width": "79.5", + "x": "3937.13", + "y": "509" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "88.512", + "id": "_1138.3-FCR", + "name": "_1138.3-FCR", + "type": "rect", + "width": "73", + "x": "3864.13", + "y": "553.738" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.649", + "id": "_1139-TENANT-STORAGE", + "name": "_1139-TENANT-STORAGE", + "type": "rect", + "width": "389.821", + "x": "3222.13", + "y": "235.351" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "406.899", + "id": "_1137-OPS-STORAGE", + "name": "_1137-OPS-STORAGE", + "type": "rect", + "width": "163.5", + "x": "4065.13", + "y": "235.351" + }, + { + "d": "M3611.63,235.5l0,407l252.5,-0.25l0,-88.75l73,-0l0.198,-44.292l79.459,0l0.308,133.042l48.035,0l-0.309,-407.076l-453.191,0.326Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1138.1-TENANT-OFFICE", + "name": "_1138.1-TENANT-OFFICE", + "type": "path" + } + ], + "id": "Tenant-Offices", + "name": "Tenant-Offices", + "type": "group" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1140-MECH---PUMP", + "name": "_1140-MECH---PUMP", + "type": "rect", + "width": "243.5", + "x": "2978.63", + "y": "235.5" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,101.188l-0,-21.233l-40.298,-0l-0,21.233", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1544.41,1178.25l2262.71,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3828.13,1178l315.66,0.25l-0,-92.3l8.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4173.51,1086l57.373,0l76.749,40l19.362,-35.865l77.638,41.156l24.903,-45.608l94.597,0.035l76,40.135l19.39,-36.353l75.428,40l80.682,0l-0.395,-342.218l33.145,0l0,-250.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1035.5l0,94.842l0,-5.357l101.5,0.015l0,53.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1151.75l0,26.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4207.86,1085.95l-0.243,-84.421", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4145.28,1085.95l-0,-84.421l-0,35.614l-468.653,0.357l0,-330.5l294.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4027.95,707l179.674,-0l0,19.825l0,-19.825l127.139,-0l-31.655,-0l-0,59.272l-0,-4.626l56.736,-0l-0,-54.646l-0,109.434", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302.88,786.5l0,29.934l472.628,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4359.85,735.573l33.572,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4413.87,735.573l22.597,-0l-13.636,-0l0.293,80.861", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4477.13,816.434l-0,-80.861l-12.996,-0.323l12.996,0.323l-0,-30.584l7.264,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4504.26,704.989l31.169,-0l-0,111.445", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4608.09,816.434l-0,-111.445l-42.464,0.011", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4653.05,705l110.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4434.04,816.434l-0,115.82l9.934,-0.195", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4535.43,816.434l-0,115.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.63,816.434l0,116.066", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4661.9,932.5l113.729,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,932l185.781,-0l-22.281,-0l0,-119l39.813,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3918.12,813l145.506,-0l0,224.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4020.13,932l108.575,-0l0.156,-55.929", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.63,849.89l70.501,0.36", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.57,850.25l53.056,0l0,25.821l0,-92.073", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,768.035l163.5,0l0,-12.467", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3888.63,932.25l93,0l-43.433,0l-0.067,105.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.67,975.52l144.348,0.195l-0.195,-80.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3647.19,1178.71l0,-14.854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3646.88,1143l0,-7.389l-399.644,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,1135.61l0,-441.611", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3265.63,235.5l755.122,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,235.5l0,419.979l0,-13.175l299.892,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3962.63,642.25l59.351,0l-4.987,0l-0,-133.042l-79.666,0l-0,133.042", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3937.13,553.5l-73,-0l0,88.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.63,642.25l8,0l0,-362.294", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4228.63,241.158l0,-5.685l-168.451,-0.299l4.887,0.008l0,407.068l-23.196,0l140.671,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4160.13,235.351l0,-12.621", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3216.3,1135l10.348,0l-5.018,0l-0,-899.649l5.477,0l-23.327,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3165.48,235.351l-186.856,0l0,899.649l218.001,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4775.02,288l-148.777,-0l4.19,-0l-0.067,130.798l5.052,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4675.13,418.798l56.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4586.88,288l-48.457,-0l5.207,-0l0,201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,365.023l86.5,0.065", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,433.38l54.476,-0l0.16,8.138l0,-52.018", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4598.26,461.785l-0.136,27.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4558.88,622.5l0,-30.591l0,14.936l41.643,0.079l-0.079,10.901l66.663,-0l-13.916,-0l0,-128.325l-194.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4420.88,637l0,10.165l38.133,0l-0,-178.905l-157.011,-0l-0,179.24l44.325,0l-0,-10.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4346.38,617l0.025,-13.192l37.315,-0.235l-0.377,-135.313", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4421.03,616.625l-0.064,-12.926l-74.566,0.109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,239.25l4.674,-0l-0,-105.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4529.88,94l0,-9.5l20.662,-0l-20.662,-0l0.25,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4615.63,84.5l-25.999,-0l4.999,-0l0,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4656.52,84.25l3.384,0l0,-83.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.01,647.165l99.45,0l0,-7.237", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.13,567.191l65.999,-0.128l0,54.768l0,-62.3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,489l0,53.977", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4808.38,617.85l-44.723,0.16", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4743.13,617.85l-18.093,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4705.63,618.01l-17.935,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4360.63,468.067l0,-180.067l-4.8,-0l9.498,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4336.13,288.1l-34.134,-0l-0,141.301l32.686,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302,359l58.577,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4405.13,288l94.191,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.89,234.699l-0.021,11.078l0.012,-6.277l67.252,0l-15.5,0l0,-101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.86,213.705l-0,-75.205l-7.609,0l119.686,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.94,0.345l0,238.853l-5.317,-0.025l71.004,0.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4767.63,539.283l0,20.717l40.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.63,170.632l27.175,-0l-0,13.059l-0,-183.346", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4159.8,138.5l102.161,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-24.506,0l4.341,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3589.63,170.5l16.103,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3551.63,170.5l-138.99,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3476.94,170.5l-0,-64.5l-89.311,-0l0,64.5l5.331,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,50.149", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,508l95.313,-0l0,-5.217l0,10.007", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,5.893l0,-79.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,759.5l0,371.5l0,-7.955l-95.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1039l0,-18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1001l0,-616.527l0,3.027l-83.939,-0l0,37.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,463.614l0,471.386l0,-4.5l83.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,955.5l0,40l83.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1020l0,-635.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "First-Floor", + "name": "First-Floor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": -1 + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6a652c79036b62a9cf5a605a1fe95082745f53fc49a1879d3671cdf450e01b8d b/Gateways/FE/projects/.resources/6a652c79036b62a9cf5a605a1fe95082745f53fc49a1879d3671cdf450e01b8d new file mode 100644 index 0000000..b7047b7 --- /dev/null +++ b/Gateways/FE/projects/.resources/6a652c79036b62a9cf5a605a1fe95082745f53fc49a1879d3671cdf450e01b8d @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_SYSTEM" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6a72ea13236837d710caf20ffcf93cf7dc62c7a395a1e06c0d01c6aeeb5286f2 b/Gateways/FE/projects/.resources/6a72ea13236837d710caf20ffcf93cf7dc62c7a395a1e06c0d01c6aeeb5286f2 new file mode 100644 index 0000000..0f41b56 --- /dev/null +++ b/Gateways/FE/projects/.resources/6a72ea13236837d710caf20ffcf93cf7dc62c7a395a1e06c0d01c6aeeb5286f2 @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6a8284fb1584a75b6af044792a6cc16be70736e297ca048c959380b2dfe48bb5 b/Gateways/FE/projects/.resources/6a8284fb1584a75b6af044792a6cc16be70736e297ca048c959380b2dfe48bb5 new file mode 100644 index 0000000..92dbed9 --- /dev/null +++ b/Gateways/FE/projects/.resources/6a8284fb1584a75b6af044792a6cc16be70736e297ca048c959380b2dfe48bb5 @@ -0,0 +1,410 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "ATS", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/ATS" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6aa4c1e9ea8b22b25409e2d0ee0114ccf0fd826d289619e7c18799efba66cde0 b/Gateways/FE/projects/.resources/6aa4c1e9ea8b22b25409e2d0ee0114ccf0fd826d289619e7c18799efba66cde0 new file mode 100644 index 0000000..c515297 Binary files /dev/null and b/Gateways/FE/projects/.resources/6aa4c1e9ea8b22b25409e2d0ee0114ccf0fd826d289619e7c18799efba66cde0 differ diff --git a/Gateways/FE/projects/.resources/6abca75e5043347b5d4269c60edc7c696a69563e77a1644d72dc9c1027d18b0e b/Gateways/FE/projects/.resources/6abca75e5043347b5d4269c60edc7c696a69563e77a1644d72dc9c1027d18b0e new file mode 100644 index 0000000..799081f --- /dev/null +++ b/Gateways/FE/projects/.resources/6abca75e5043347b5d4269c60edc7c696a69563e77a1644d72dc9c1027d18b0e @@ -0,0 +1,524 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 152, + "width": 220 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Room ID" + }, + "position": { + "basis": "23px" + }, + "props": { + "text": "ER 1245", + "textStyle": { + "fontSize": 18, + "fontWeight": "bold", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "UT" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "UT", + "textStyle": { + "backgroundColor": "white", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Gen" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Gen", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Gen STS" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Norm.", + "textStyle": { + "backgroundColor": "var(--olRed)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "140px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "ATS" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "ATS", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SRC 1" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "SRC1", + "textStyle": { + "backgroundColor": "White", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SRC 2" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "SRC2", + "textStyle": { + "backgroundColor": "LightGray", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "140px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "36px" + }, + "props": { + "text": "UPS", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "65.1px" + }, + "props": { + "text": "100%", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "36px" + }, + "props": { + "text": "UPS", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "65.1px" + }, + "props": { + "text": "100%", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "36px" + }, + "props": { + "text": "PDU", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "65.1px" + }, + "props": { + "text": "350kW", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "36px" + }, + "props": { + "text": "PDU", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "65.1px" + }, + "props": { + "text": "750kW", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "36px" + }, + "props": { + "text": "PDU", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "65.1px" + }, + "props": { + "text": "120kW", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_3" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "36px" + }, + "props": { + "text": "PDU", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "65.1px" + }, + "props": { + "text": "450kW", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_4" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "126px" + }, + "props": { + "style": { + "borderStyle": "none" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "#DDDDDD", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginTop": 3 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6ae91ba08afce15179f24a32f3cea57068abf203444f7b8aa4a668b597afb663 b/Gateways/FE/projects/.resources/6ae91ba08afce15179f24a32f3cea57068abf203444f7b8aa4a668b597afb663 new file mode 100644 index 0000000..c06bff4 --- /dev/null +++ b/Gateways/FE/projects/.resources/6ae91ba08afce15179f24a32f3cea57068abf203444f7b8aa4a668b597afb663 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947980653 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947980653 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6aec89483c628dd42fadf54d5664ba69b3ba08cb4284be6dd10de22c1ece9b84 b/Gateways/FE/projects/.resources/6aec89483c628dd42fadf54d5664ba69b3ba08cb4284be6dd10de22c1ece9b84 new file mode 100644 index 0000000..3ded84c --- /dev/null +++ b/Gateways/FE/projects/.resources/6aec89483c628dd42fadf54d5664ba69b3ba08cb4284be6dd10de22c1ece9b84 @@ -0,0 +1,479 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki", + "Battery R1", + "Battery R2", + "Battery R3" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "UPS", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_UPS" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1210 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack1 Batt" + }, + "position": { + "tabIndex": 4 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 1" + }, + "path": "Library/Templates/UPS_HS/Info Rack1 Batt" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack2 Batt" + }, + "position": { + "tabIndex": 5 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 2" + }, + "path": "Library/Templates/UPS_HS/Info Rack2 Batt" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack3 Batt" + }, + "position": { + "tabIndex": 6 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 3\n\n" + }, + "path": "Library/Templates/UPS_HS/Info Rack3 Batt" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 6 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6b75ff1632bdff4b2aebe15307e1c9fa992c74c0abebb1cf2470d0f8fb855e99 b/Gateways/FE/projects/.resources/6b75ff1632bdff4b2aebe15307e1c9fa992c74c0abebb1cf2470d0f8fb855e99 new file mode 100644 index 0000000..1ec3897 Binary files /dev/null and b/Gateways/FE/projects/.resources/6b75ff1632bdff4b2aebe15307e1c9fa992c74c0abebb1cf2470d0f8fb855e99 differ diff --git a/Gateways/FE/projects/.resources/6ba0e513745e1ad0952a28d7a1d369335a8dfb9dff0de17ec457fa9ee198df71 b/Gateways/FE/projects/.resources/6ba0e513745e1ad0952a28d7a1d369335a8dfb9dff0de17ec457fa9ee198df71 new file mode 100644 index 0000000..347ed4b --- /dev/null +++ b/Gateways/FE/projects/.resources/6ba0e513745e1ad0952a28d7a1d369335a8dfb9dff0de17ec457fa9ee198df71 @@ -0,0 +1,430 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [ + "Amps A", + "Amps B" + ] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-3" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6c1ec97b5170094ed7e36e1d3703fe76b175fa881107bbffbb593d3a449d06cf b/Gateways/FE/projects/.resources/6c1ec97b5170094ed7e36e1d3703fe76b175fa881107bbffbb593d3a449d06cf new file mode 100644 index 0000000..8e53d0c --- /dev/null +++ b/Gateways/FE/projects/.resources/6c1ec97b5170094ed7e36e1d3703fe76b175fa881107bbffbb593d3a449d06cf @@ -0,0 +1,515 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor A VFD Speed", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor A1 Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor A2 Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B VFD Speed", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B1 Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B2 Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor Runtime", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Control Mode", + "options": [ + "Cooling", + "SA Tempering", + "OA Control", + "RA Constant Volume", + "Space Temp Const Vol", + "Space Temp With OA", + "Single Zone VAV" + ] + }, + { + "dataType": "Int8", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Control Status", + "options": [ + "Unoccupied", + "Occupied", + "Override MOde", + "Holiday Unoccupied", + "Holiday Occupaied", + "Forced Occupied", + "Force Unoccupied", + "Remote Contact Occupied", + "Reserved", + "Reserved", + "Reserved", + "OA Damper Calibration" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Enabled Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Position Feedback", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Runtime", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "HVAC Mode", + "options": [ + "Off", + "Vent Mode", + "Cooling mode", + "Heating Mode", + "Vent RH Mode", + "Cooling RH Mode", + "Heating RH Mode", + "Warm Up Mode", + "Purge Mode", + "Defrost Mode", + "Cool Down Mode" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Heat Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Flow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Reheat Valve Position", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Remote Forced Occupied Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Damper", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Enthalpy", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Running Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Space Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Space Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Space Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + } + ], + "controlMode": [ + "Cooling", + "SA Tempering", + "OA Control", + "RA Constant Volume", + "Space Temp Const Vol", + "Space Temp With OA", + "Single Zone VAV" + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.controlMode": { + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6c717a6a019c5edeab0c8460d0d39ea463d71b03f8d45690d6a08878201a06d6 b/Gateways/FE/projects/.resources/6c717a6a019c5edeab0c8460d0d39ea463d71b03f8d45690d6a08878201a06d6 new file mode 100644 index 0000000..eb8be05 --- /dev/null +++ b/Gateways/FE/projects/.resources/6c717a6a019c5edeab0c8460d0d39ea463d71b03f8d45690d6a08878201a06d6 @@ -0,0 +1,761 @@ +{ + "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" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6c764d7d6a6d4a709004b970e196ee7759838b75a0892387225bfed007aa985a b/Gateways/FE/projects/.resources/6c764d7d6a6d4a709004b970e196ee7759838b75a0892387225bfed007aa985a new file mode 100644 index 0000000..cf0a22c --- /dev/null +++ b/Gateways/FE/projects/.resources/6c764d7d6a6d4a709004b970e196ee7759838b75a0892387225bfed007aa985a @@ -0,0 +1,318 @@ +{ + "custom": {}, + "params": { + "DH": "value", + "PUE": 1.2, + "critical": 4, + "total": 5 + }, + "propConfig": { + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.PUE": { + "paramDirection": "input", + "persistent": true + }, + "params.critical": { + "paramDirection": "input", + "persistent": true + }, + "params.total": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 174 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "10%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.total" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.total" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Total Power", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Total" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.critical" + }, + "transforms": [ + { + "code": "\tif value\u003e1000:\n\t\treturn value /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.critical" + }, + "transforms": [ + { + "code": "\tif value\u003e1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Critical Power", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Critical" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.PUE" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "desc" + }, + "position": { + "basis": "10%" + }, + "props": { + "text": "PUE", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6c9585c628b6d2514f10bc57f4f0da51d31c8c3f8071045ae24448a6303fd37b b/Gateways/FE/projects/.resources/6c9585c628b6d2514f10bc57f4f0da51d31c8c3f8071045ae24448a6303fd37b new file mode 100644 index 0000000..9bc146c Binary files /dev/null and b/Gateways/FE/projects/.resources/6c9585c628b6d2514f10bc57f4f0da51d31c8c3f8071045ae24448a6303fd37b differ diff --git a/Gateways/FE/projects/.resources/6d1b0f169e4eb6be3a45eddf77dff752e9ac575b5e9862f5c27b0cb63f80b525 b/Gateways/FE/projects/.resources/6d1b0f169e4eb6be3a45eddf77dff752e9ac575b5e9862f5c27b0cb63f80b525 new file mode 100644 index 0000000..987611f Binary files /dev/null and b/Gateways/FE/projects/.resources/6d1b0f169e4eb6be3a45eddf77dff752e9ac575b5e9862f5c27b0cb63f80b525 differ diff --git a/Gateways/FE/projects/.resources/6d1b4d33545af4e47d0be8f1bd25a72c4fac8eaba2c293fee90a08e87335fc68 b/Gateways/FE/projects/.resources/6d1b4d33545af4e47d0be8f1bd25a72c4fac8eaba2c293fee90a08e87335fc68 new file mode 100644 index 0000000..d68322a Binary files /dev/null and b/Gateways/FE/projects/.resources/6d1b4d33545af4e47d0be8f1bd25a72c4fac8eaba2c293fee90a08e87335fc68 differ diff --git a/Gateways/FE/projects/.resources/6d898ba308a4c9fe0d3c0a918580648df51acc0204912c2cb2b524f12c6843d3 b/Gateways/FE/projects/.resources/6d898ba308a4c9fe0d3c0a918580648df51acc0204912c2cb2b524f12c6843d3 new file mode 100644 index 0000000..60f42bd --- /dev/null +++ b/Gateways/FE/projects/.resources/6d898ba308a4c9fe0d3c0a918580648df51acc0204912c2cb2b524f12c6843d3 @@ -0,0 +1,243 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 2" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6de6f47eb37cf423b8317ac9cdaf8d1d68e46e693db369d622fb175f0d9025c9 b/Gateways/FE/projects/.resources/6de6f47eb37cf423b8317ac9cdaf8d1d68e46e693db369d622fb175f0d9025c9 new file mode 100644 index 0000000..e66ff22 Binary files /dev/null and b/Gateways/FE/projects/.resources/6de6f47eb37cf423b8317ac9cdaf8d1d68e46e693db369d622fb175f0d9025c9 differ diff --git a/Gateways/FE/projects/.resources/6decc5fd04af218327a938b91c48625a83ad1e0eafcaacfa7ec42cb61895dd6f b/Gateways/FE/projects/.resources/6decc5fd04af218327a938b91c48625a83ad1e0eafcaacfa7ec42cb61895dd6f new file mode 100644 index 0000000..1c6d5aa --- /dev/null +++ b/Gateways/FE/projects/.resources/6decc5fd04af218327a938b91c48625a83ad1e0eafcaacfa7ec42cb61895dd6f @@ -0,0 +1,322 @@ +{ + "custom": { + "Running": 1, + "Status": 1, + "alarm": 0, + "tag": "DOAS" + }, + "params": { + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + "propConfig": { + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "expression": "if({view.custom.alarm}, 2, if({view.custom.Running},1,0))" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.alarm": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\talarmValue \u003d alarm.summary.calcMaxPriority(self.view.params.tagPath)\n\treturn True if alarmValue \u003e 0 else False", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 90 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.tag" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "Red", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "visible", + "padding": "2px" + }, + "textStyle": { + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##.##", + "type": "format" + }, + { + "expression": "{value} + \" degF\"", + "type": "expression" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "Red", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "overflow": "visible", + "padding": "2px" + }, + "text": "64.8 degF", + "textStyle": { + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + } + ], + "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": "root" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "marginLeft": 2, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6df924b2967efe3052d33eece66258ed7a2e97af5ba6782a90df58927d081990 b/Gateways/FE/projects/.resources/6df924b2967efe3052d33eece66258ed7a2e97af5ba6782a90df58927d081990 new file mode 100644 index 0000000..8968d49 --- /dev/null +++ b/Gateways/FE/projects/.resources/6df924b2967efe3052d33eece66258ed7a2e97af5ba6782a90df58927d081990 @@ -0,0 +1,414 @@ +{ + "custom": { + "AlarmSeverity": 0 + }, + "params": { + "embedded": false, + "objectName": "PID_Loop", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_1", + "title": "value" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.title": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 144, + "width": 201 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "0.1px" + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "style": { + "marginLeft": 135, + "marginTop": -20, + "overflow": "visible", + "z-index": 2 + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.title" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "SP:", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/PSet_SP" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#,###.###", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 0.05, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "48px" + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "PV:", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Input PV" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "###.###", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 0.051, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "48px" + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "CV:", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Out CV" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#,###.###", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 41.945, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "48px" + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "style": { + "paddingTop": 20 + } + }, + "type": "ia.container.flex" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e0, \"Solid\",\"None\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "--containerNested", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6e3f4a80e8bba49c8b78c441c99339c29f91ac222c500457358dd858aee125d6 b/Gateways/FE/projects/.resources/6e3f4a80e8bba49c8b78c441c99339c29f91ac222c500457358dd858aee125d6 new file mode 100644 index 0000000..bd5c748 --- /dev/null +++ b/Gateways/FE/projects/.resources/6e3f4a80e8bba49c8b78c441c99339c29f91ac222c500457358dd858aee125d6 @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Chiller LLS", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 2 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6e6dea29848c63bd37c2a621d2902e9e05fba3d7b9181c5e613ef3b18bafe897 b/Gateways/FE/projects/.resources/6e6dea29848c63bd37c2a621d2902e9e05fba3d7b9181c5e613ef3b18bafe897 new file mode 100644 index 0000000..41846b7 --- /dev/null +++ b/Gateways/FE/projects/.resources/6e6dea29848c63bd37c2a621d2902e9e05fba3d7b9181c5e613ef3b18bafe897 @@ -0,0 +1 @@ +def doOptions(request, session): diff --git a/Gateways/FE/projects/.resources/6e7deec06d148f6435fcdb479a4ed7a4aeb39218ac8b3e8babfeabc658d4dfcd b/Gateways/FE/projects/.resources/6e7deec06d148f6435fcdb479a4ed7a4aeb39218ac8b3e8babfeabc658d4dfcd new file mode 100644 index 0000000..dc1ad5a Binary files /dev/null and b/Gateways/FE/projects/.resources/6e7deec06d148f6435fcdb479a4ed7a4aeb39218ac8b3e8babfeabc658d4dfcd differ diff --git a/Gateways/FE/projects/.resources/6ecd1e73c75b7e2722472457871d9a10dc0fe4678c6d684c8a4d91cd722849b1 b/Gateways/FE/projects/.resources/6ecd1e73c75b7e2722472457871d9a10dc0fe4678c6d684c8a4d91cd722849b1 new file mode 100644 index 0000000..65dc380 --- /dev/null +++ b/Gateways/FE/projects/.resources/6ecd1e73c75b7e2722472457871d9a10dc0fe4678c6d684c8a4d91cd722849b1 @@ -0,0 +1,220 @@ +{ + "custom": { + "key": 1 + }, + "params": { + "DH": "DH101" + }, + "propConfig": { + "custom.key": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "fallback": 1, + "inputType": "scalar", + "mappings": [ + { + "input": "DH101", + "output": 1 + }, + { + "input": "DH102", + "output": 2 + }, + { + "input": "DH201", + "output": 3 + }, + { + "input": "DH202", + "output": 4 + }, + { + "input": "DH203", + "output": 5 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 150, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Gauge" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "key": "{view.custom.key}" + }, + "tagPath": "[default]simulator/CHW_System/Ton{key}" + }, + "type": "tag" + } + } + }, + "props": { + "backgroundColor": "", + "innerAxis": { + "data": "secondaryValue", + "maxValue": 80, + "percentRadius": 10, + "show": false, + "width": 0 + }, + "outerAxis": { + "data": "value", + "maxValue": 4000, + "percentRadius": 90, + "ranges": [ + { + "color": "#77b6d8", + "end": 4000, + "start": 0, + "width": 10 + } + ], + "show": true, + "width": 1 + }, + "style": { + "overflow": "visible" + } + }, + "type": "ia.chart.gauge" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "marginRight": 25 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "key": "{view.custom.key}" + }, + "tagPath": "[default]simulator/CHW_System/Ton{key}" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "numberFormat": "###0.##", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "props": { + "text": "Tons", + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "15%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "marginTop": -20, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6f4826124331a53a96c40f83c3386f5e9500a6ece704a384e94f727bc35edd5c b/Gateways/FE/projects/.resources/6f4826124331a53a96c40f83c3386f5e9500a6ece704a384e94f727bc35edd5c new file mode 100644 index 0000000..725427d --- /dev/null +++ b/Gateways/FE/projects/.resources/6f4826124331a53a96c40f83c3386f5e9500a6ece704a384e94f727bc35edd5c @@ -0,0 +1,35 @@ +locBasePath= {"DH1":"[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_", + "DH2":"[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_PNL22_", + "DH3":"[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_PNL18_", + "DH4":"[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_PNL20_", + "DH5":"[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_PNL16_", + } + +def loopConstructPaths(basePath, pfx): + tagList = [] + for aisle in range(1,22): + for pos in range(1,4): +# print aisle, pos + fullPath = basePath+"C%s_%s%s/Val"%(aisle, pfx, str(pos).zfill(2)) + tagList.append(fullPath) + return tagList + +""" + Generate the tagpaths needed for a particular cold aisle tags for a location + Args: + location: str (DH1-DH5) + sensorType: str (temp or humidity) + Returns: + list of strings of paths +""" +def generateTags(location, sensorType): + finalTags = [] + sensorPfx = "TT" if sensorType == "temp" else "HT" + if location is None: + for k,v in locBasePath.iteritems(): + finalTags.extend(loopConstructPaths(v,sensorPfx)) + else: + finalTags.extend(loopConstructPaths(locBasePath[location],sensorPfx)) + + + return finalTags \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/6f773336e13f0c56a642a94d57c829c598ad313bc71267ddaab764720811d9d2 b/Gateways/FE/projects/.resources/6f773336e13f0c56a642a94d57c829c598ad313bc71267ddaab764720811d9d2 new file mode 100644 index 0000000..793420c Binary files /dev/null and b/Gateways/FE/projects/.resources/6f773336e13f0c56a642a94d57c829c598ad313bc71267ddaab764720811d9d2 differ diff --git a/Gateways/FE/projects/.resources/6f810b547f628b7625ce376b467ba869e3c7885426f5d0c436d95ba023571dc7 b/Gateways/FE/projects/.resources/6f810b547f628b7625ce376b467ba869e3c7885426f5d0c436d95ba023571dc7 new file mode 100644 index 0000000..bfd5d41 Binary files /dev/null and b/Gateways/FE/projects/.resources/6f810b547f628b7625ce376b467ba869e3c7885426f5d0c436d95ba023571dc7 differ diff --git a/Gateways/FE/projects/.resources/6fad9e07b0ee2d6d3fe8cc82f6ff7277b1e103621cf7a628caa9e4c3069844d2 b/Gateways/FE/projects/.resources/6fad9e07b0ee2d6d3fe8cc82f6ff7277b1e103621cf7a628caa9e4c3069844d2 new file mode 100644 index 0000000..6094697 Binary files /dev/null and b/Gateways/FE/projects/.resources/6fad9e07b0ee2d6d3fe8cc82f6ff7277b1e103621cf7a628caa9e4c3069844d2 differ diff --git a/Gateways/FE/projects/.resources/6fc48370dc1b74306439cca7cd05dec9f603075e1ba220af48dea261cdcfa943 b/Gateways/FE/projects/.resources/6fc48370dc1b74306439cca7cd05dec9f603075e1ba220af48dea261cdcfa943 new file mode 100644 index 0000000..9ac490d --- /dev/null +++ b/Gateways/FE/projects/.resources/6fc48370dc1b74306439cca7cd05dec9f603075e1ba220af48dea261cdcfa943 @@ -0,0 +1,260 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Alarm Description" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarms Enabled", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Alarms Enabled" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Area Served", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Area Served" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/70098361d6614805ae28504c6193e49a9cc7525c79aea8fd88b1df9411ae4994 b/Gateways/FE/projects/.resources/70098361d6614805ae28504c6193e49a9cc7525c79aea8fd88b1df9411ae4994 new file mode 100644 index 0000000..1bae414 --- /dev/null +++ b/Gateways/FE/projects/.resources/70098361d6614805ae28504c6193e49a9cc7525c79aea8fd88b1df9411ae4994 @@ -0,0 +1,423 @@ +{ + "custom": { + "CPStateEngUnit": null, + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Source 1 Frequency", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Source 2 Frequency", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "CP State Data", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Source 1 Voltage AB", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Source 1 Voltage BC", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Source 1 Voltage CA", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Source 2 Voltage AB", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Source 2 Voltage BC", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Source 2 Voltage CA", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Source 1", + "numDecimals": 1, + "options": [ + "False", + "Bypassed" + ] + }, + { + "dataType": "", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "CP State", + "numDecimals": 1 + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "On Source 1", + "numDecimals": 1, + "options": [ + "False", + "True" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "On Source 2", + "numDecimals": 1, + "options": [ + "False", + "True" + ] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Operating Mode", + "numDecimals": 1, + "options": [ + "Normal", + "Emergency" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Source", + "numDecimals": 1, + "options": [ + "Utility", + "Generator" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Source 1 Available", + "numDecimals": 1, + "options": [ + "not Available", + "Available" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Source 1 Breaker Tripped", + "numDecimals": 1, + "options": [ + "Normal", + "Tripped" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Source 2 Available", + "numDecimals": 1, + "options": [ + "not Available", + "Available" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Source 2 Breaker Tripped", + "numDecimals": 1, + "options": [ + "Normal", + "Tripped" + ] + } + ], + "textArray": [ + "Load on Normal, Normal OK", + "Timer 1C (TDES) running", + "Waiting for Emergency acceptable", + "Transfer to Emergency inhibited by F6Z", + "Transfer to Emergency inhibited by F34B", + "Timer 2B (TDNE) running", + "Timer 31F (N to E pre transfer signal) running", + "In phase monitor time delay (OTTS N to E transfer)", + "Waiting for in phase (OTTS N to E transfer)", + "In phase monitor time delay with load shed", + "Waiting for in phase with load shed", + "In sync monitor time delay", + "Waiting for in sync", + "Sources paralleled", + "Load disconnected CT bypass", + "Load disconnected", + "Normal to Emergency load shed is active", + "Timer 31M running", + "Load on Emergency waiting for removal of transfer requests", + "Timer 3A running", + "Transfer to Normal inhibited by G6C", + "Transfer to N inhibited by F34A", + "Timer 31G runing", + "In phase monitor time time delay", + "waiting for in phase", + "In phase monitor time delay with load shed", + "Waiting for in shed load shed", + "In sync monitor time delay", + "Waiting for in sync", + "Sources paralleled", + "Load disconnected CT bypass", + "Load disconnected", + "Emergency to Normal load shed is active", + "Timer 31N", + "Timer 2E (Cooldown)", + "Timer 1C while timer 2E running", + "Power up inhibit", + "Transition state" + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + }, + "propConfig": { + "custom.CPStateEngUnit": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/CP State" + }, + "transforms": [ + { + "code": "\tsystem.tag.writeBlocking(self.params.tagPath+\u0027/CP State Data.EngUnit\u0027,self.custom.textArray[value])\n\t#[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS/CP State Data.EngUnit\n\treturn self.custom.textArray[value]", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"numDecimals\": 1,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.allTags[10].options": { + "binding": { + "config": { + "path": "view.custom.textArray" + }, + "type": "property" + } + }, + "custom.textArray": { + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/70104f44ba5253583b1c53134e73aedf554bd3d4bc8c36952c8fff9cfc6cc4d2 b/Gateways/FE/projects/.resources/70104f44ba5253583b1c53134e73aedf554bd3d4bc8c36952c8fff9cfc6cc4d2 new file mode 100644 index 0000000..67ac34c --- /dev/null +++ b/Gateways/FE/projects/.resources/70104f44ba5253583b1c53134e73aedf554bd3d4bc8c36952c8fff9cfc6cc4d2 @@ -0,0 +1,1258 @@ +{ + "custom": { + "breadcrumb": "/Electrical System Overview/Oneline/P1-P5/P5/P5.1" + }, + "params": {}, + "propConfig": { + "custom.breadcrumb": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 240 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Logo" + }, + "position": { + "basis": "98%", + "shrink": 0 + }, + "propConfig": { + "props.elements[0].fill": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "code": "\treturn \u0027#FFFFFF\u0027 if \u0027light\u0027 in value else \u0027var(--neutral-100)\u0027", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "code": "\treturn \u0027#FFFFFF\u0027 if \u0027light\u0027 in value else \u0027var(--neutral-100)\u0027", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "height": "153.657", + "id": "SVGID_1_", + "name": "SVGID_1_", + "type": "rect", + "width": "761.146", + "x": "1.5" + } + ], + "name": "defs", + "type": "defs" + }, + { + "elements": [ + { + "href": "#SVGID_1_", + "name": "use", + "overflow": "visible", + "type": "use" + } + ], + "id": "SVGID_2_", + "name": "SVGID_2_", + "type": "clipPath" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M186.923,148.914h-10.948v-28.08h10.948c8.826,0,14.926,6.058,14.926,13.962 v0.078C201.849,142.778,195.749,148.914,186.923,148.914 M195.389,134.874c0-4.972-3.411-8.462-8.466-8.462h-4.773v16.927h4.773 c5.055,0,8.466-3.408,8.466-8.383V134.874z", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M250.979,148.914l-2.569-6.296h-11.872l-2.569,6.296h-6.296l12.032-28.279 h5.699l12.032,28.279H250.979z M242.475,128.057l-3.731,9.104h7.462L242.475,128.057z", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "295.619,126.533 295.619,148.914 289.442,148.914 289.442,126.533 280.897,126.533 280.897,120.834 304.164,120.834 304.164,126.533 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M350.93,148.914l-2.569-6.296h-11.872l-2.567,6.296h-6.298l12.032-28.279h5.699 l12.032,28.279H350.93z M342.425,128.057l-3.731,9.104h7.462L342.425,128.057z", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M436.397,149.396c-8.263,0-14.402-6.377-14.402-14.44v-0.082 c0-7.982,6.019-14.52,14.644-14.52c5.295,0,8.462,1.765,11.075,4.332l-3.938,4.531c-2.159-1.964-4.371-3.168-7.173-3.168 c-4.733,0-8.149,3.935-8.149,8.746v0.078c0,4.814,3.331,8.827,8.149,8.827c3.206,0,5.17-1.285,7.379-3.291l3.927,3.973 C445.022,147.473,441.813,149.396,436.397,149.396", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "477.585,148.914 477.585,120.834 498.769,120.834 498.769,126.331 483.721,126.331 483.721,132.026 496.961,132.026 496.961,137.522 483.721,137.522 483.721,143.421 498.964,143.421 498.964,148.914 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "548.9,148.914 535.304,131.063 535.304,148.914 529.207,148.914 529.207,120.834 534.902,120.834 548.056,138.126 548.056,120.834 554.155,120.834 554.155,148.914 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "598.354,126.533 598.354,148.914 592.175,148.914 592.175,126.533 583.635,126.533 583.635,120.834 606.9,120.834 606.9,126.533 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "636.373,148.914 636.373,120.834 657.557,120.834 657.557,126.331 642.509,126.331 642.509,132.026 655.75,132.026 655.75,137.522 642.509,137.522 642.509,143.421 657.753,143.421 657.753,148.914 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M705.043,148.914l-6.019-8.983h-4.854v8.983h-6.179v-28.08h12.836 c6.622,0,10.589,3.49,10.589,9.268v0.082c0,4.53-2.443,7.379-6.015,8.703l6.859,10.027H705.043z M705.16,130.421 c0-2.646-1.846-4.009-4.851-4.009h-6.139v8.061h6.257c3.007,0,4.732-1.604,4.732-3.97V130.421z", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M751.727,149.315c-4.25,0-8.543-1.484-11.909-4.492l3.646-4.371 c2.524,2.085,5.174,3.409,8.384,3.409c2.524,0,4.052-1.005,4.052-2.649v-0.078c0-1.565-0.963-2.368-5.653-3.571 c-5.66-1.442-9.307-3.008-9.307-8.583v-0.082c0-5.095,4.087-8.461,9.825-8.461c4.094,0,7.581,1.281,10.429,3.568l-3.21,4.651 c-2.485-1.722-4.933-2.766-7.297-2.766c-2.368,0-3.614,1.083-3.614,2.446v0.081c0,1.844,1.207,2.447,6.058,3.689 c5.695,1.484,8.905,3.53,8.905,8.423v0.082C762.035,146.187,757.784,149.315,751.727,149.315", + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "clipPath": "url(#SVGID_2_)", + "d": "M171.603,74.682l8.769-10.429c7.94,6.875,16.001,10.783,26.191,10.783 c9.005,0,14.694-4.266,14.694-10.429v-0.233c0-5.926-3.316-9.126-18.727-12.68c-17.654-4.271-27.608-9.484-27.608-24.77v-0.237 c0-14.22,11.85-24.057,28.32-24.057c12.089,0,21.689,3.673,30.101,10.427l-7.819,11.024c-7.467-5.571-14.932-8.535-22.518-8.535 c-8.532,0-13.509,4.386-13.509,9.839v0.233c0,6.403,3.791,9.246,19.791,13.036c17.537,4.268,26.547,10.55,26.547,24.295v0.238 c0,15.522-12.21,24.767-29.63,24.767C193.525,87.955,181.558,83.568,171.603,74.682", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "290.127,17.325 263.818,17.325 263.818,3.816 331.13,3.816 331.13,17.325 304.821,17.325 304.821,86.769 290.127,86.769 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M365.041,3.816h36.975c10.429,0,18.606,3.08,23.937,8.294 c4.388,4.503,6.873,10.666,6.873,17.895v0.238c0,13.629-8.175,21.805-19.67,25.122l22.395,31.403h-17.296l-20.385-28.914h-18.251 v28.914h-14.577V3.816z M400.948,44.937c10.429,0,17.064-5.45,17.064-13.862v-0.241c0-8.884-6.397-13.745-17.182-13.745h-21.213 v27.848H400.948z", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "469.228,3.816 530.73,3.816 530.73,16.85 483.802,16.85 483.802,38.419 525.396,38.419 525.396,51.454 483.802,51.454 483.802,73.734 531.321,73.734 531.321,86.769 469.228,86.769 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M596.523,3.223h13.508l36.5,83.545h-15.407l-8.413-20.024h-39.223 l-8.534,20.024h-14.934L596.523,3.223z M617.378,53.826l-14.34-33.184l-14.22,33.184H617.378z", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "679.263,3.816 694.787,3.816 720.025,43.043 745.271,3.816 760.792,3.816 760.792,86.769 746.217,86.769 746.217,27.279 720.025,66.385 719.557,66.385 693.6,27.518 693.6,86.769 679.263,86.769 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M1.5,148.914h130.725V3.758H1.5V148.914z M118.767,117.624H22.734v11.789 h96.032v7.22H15.519v-26.23h103.248V117.624z M118.767,98.746H15.519v-7.212h96.029V79.875H15.519v-7.219h103.248V98.746z M118.767,23.256h-96.59v11.653h96.59v26.092H15.519v-7.218h96.029V42.128H14.961V16.04h103.806V23.256z", + "name": "path", + "type": "path" + } + ], + "name": "logoAndStream", + "type": "group" + } + ], + "viewBox": "0 0 763 153.657" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "80px" + }, + "props": { + "justify": "center", + "style": { + "backgroundColor": "#143663", + "padding": "10px 15px" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\ttrue \u003d True\n\tfalse \u003d False\n\tnewList \u003d []\n\tfor n in [\"CWS 3000\", \"CWS 4000\", \"CWS 5000\", \"CWS 6000\", \"CWS 7000\"]:\n\t\tnewList.append({\n\t\t \"label\": n,\n\t\t \"expanded\": false,\n\t\t \"data\": {},\n\t\t \"items\": []\n\t\t})\n\tself.getSibling(\"Tree_0\").props.items[1].items[8].items \u003d newList" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PopulaterButton" + }, + "position": { + "basis": "34px", + "display": false + }, + "type": "ia.input.button" + }, + { + "custom": { + "lastSelection": [ + 3, + 2, + 5, + 4, + 0 + ] + }, + "events": { + "component": { + "onItemClicked": { + "config": { + "script": "\titemPath \u003d [int(x) for x in list(event.itemPath)]\n\titems \u003d self.props.items\n\ttarget \u003d self.props.selectionData[0].value.target\n\tGoTo \u003d self.props.selectionData[0].value.GoTo\n\tzoom \u003d self.props.selectionData[0].value.zoom\n\tlastSelection \u003d [int(x) for x in list(self.custom.lastSelection)]\n\titemsCopy \u003d system.util.jsonDecode(system.util.jsonEncode(items))\n\tbreadcrumb \u003d \u0027\u0027\n\tdef toggleItemsByPath(items, path, breadcrumb):\n\t\tcurrent_level \u003d items\n\t\t# Traverse down the levels to find the target node by following the path\n\t\tfor i, index in enumerate(path):\n\t\t\tif i \u003d\u003d len(path)-1:\n\t\t\t\tbreadcrumb +\u003d \"/{}\".format(current_level[index][\u0027label\u0027])\n\t\t\t\tcurrent_level \u003d current_level[index]\n\t\t\telse:\n\t\t\t\tbreadcrumb +\u003d \"/{}\".format(current_level[index][\u0027label\u0027])\n\t\t\t\tcurrent_level \u003d current_level[index][\u0027items\u0027]\n\t\t\t\n\t\t# Recursively collapse all children within this node\n\t\tdef recursiveCollapse(node):\n\t\t\tif \u0027items\u0027 in node:\n\t\t\t\tnode[\u0027expanded\u0027] \u003d False\n\t\t\t\tfor child in node[\u0027items\u0027]:\n\t\t\t\t\trecursiveCollapse(child)\n\t\t\n\t\texpand \u003d not current_level[\u0027expanded\u0027]\n\t\t\n\t\tif not expand and itemPath !\u003d lastSelection and target !\u003d \"\":\n\t\t\tpass\n\t\telse:\n\t\t\tcurrent_level[\u0027expanded\u0027] \u003d expand\n\t\t\n\t\tif not expand:\n\t\t\tfor child in current_level[\u0027items\u0027]:\n\t\t\t\trecursiveCollapse(child)\n\t\t\t\t\n\t\tself.view.custom.breadcrumb \u003d breadcrumb\n\t\t\t\t\n#\ttoggleItemsByPath(itemsCopy, itemPath, breadcrumb)\n\tself.toggleItemsByPath(itemPath, lastSelection, target, itemsCopy, itemPath, breadcrumb)\n\tself.props.items \u003d itemsCopy\n\tself.custom.lastSelection \u003d itemPath\n\tif target !\u003d \"\":\n\t\tsystem.perspective.sendMessage(\u0027updateBreadcrumb\u0027, {\u0027target\u0027:self.view.custom.breadcrumb})\n\t\tsystem.perspective.navigate(view \u003d target, params \u003d {\u0027GoTo\u0027:GoTo, \u0027zoom\u0027:zoom})" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Tree" + }, + "position": { + "basis": "516px", + "grow": 1, + "shrink": 0 + }, + "props": { + "appearance": { + "defaultNodeIcons": { + "collapsed": { + "path": "material/arrow_drop_up" + }, + "empty": { + "path": "material/arrow_drop_up" + }, + "expanded": { + "path": "material/arrow_right" + } + }, + "expandIcons": { + "expanded": { + "color": "#E33939" + } + }, + "selectedStyle": { + "fontSize": 16 + }, + "unselectedStyle": { + "fontSize": 16 + } + }, + "items": [ + { + "data": { + "GoTo": "", + "content": "Home", + "target": "Pages/Dashboards/Home", + "zoom": "" + }, + "expanded": true, + "items": [], + "label": "Home" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Dashboards/CHW_System", + "zoom": "" + }, + "expanded": true, + "items": [ + { + "data": { + "GoTo": "", + "target": "Pages/Mechanical/Skid_Details", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "", + "target": "Pages/Mechanical/LLS_CHW_Skids", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Lead Lag" + } + ], + "label": "Skid details" + }, + { + "data": { + "GoTo": "/CHW_System", + "target": "Library/Layouts/iFrame/Main", + "zoom": "150%" + }, + "expanded": false, + "items": [], + "label": "CHWP Flow" + } + ], + "label": "CHW System" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Dashboards/Datahalls", + "zoom": "" + }, + "expanded": true, + "items": [ + { + "data": { + "GoTo": "/DH101", + "target": "Library/Layouts/iFrame/Main", + "zoom": "143%" + }, + "expanded": false, + "items": [], + "label": "DH 101" + }, + { + "data": { + "GoTo": "/DH102", + "target": "Library/Layouts/iFrame/Main", + "zoom": "143%" + }, + "expanded": false, + "items": [], + "label": "DH 102" + }, + { + "data": { + "GoTo": "/DH201", + "target": "Library/Layouts/iFrame/Main", + "zoom": "143%" + }, + "expanded": false, + "items": [], + "label": "DH 201" + }, + { + "data": { + "GoTo": "/DH202", + "target": "Library/Layouts/iFrame/Main", + "zoom": "143%" + }, + "expanded": false, + "items": [], + "label": "DH 202" + }, + { + "data": { + "GoTo": "/DH203", + "target": "Library/Layouts/iFrame/Main", + "zoom": "143%" + }, + "expanded": false, + "items": [], + "label": "DH 203" + } + ], + "label": "Datahalls" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Dashboards/Equipment", + "zoom": "" + }, + "expanded": true, + "items": [ + { + "data": { + "GoTo": "", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/DOAS", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "DOAS" + }, + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/RTU", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "RTU" + }, + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/CRAH", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "CRAH" + }, + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/STU", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "STU" + }, + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/HUM", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "HUM" + }, + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/VAV", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "VAV" + }, + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/FCU", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "FCU" + }, + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/EF", + "zoom": "value" + }, + "expanded": false, + "items": [], + "label": "EF" + }, + { + "data": { + "GoTo": "value", + "target": "Pages/HVAC/SP", + "zoom": "value" + }, + "expanded": false, + "items": [], + "label": "ESP" + } + ], + "label": "HVAC" + }, + { + "data": { + "GoTo": "", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "", + "target": "Pages/Dashboards/Generators", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "GEN" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Dashboards/UPS", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "UPS" + } + ], + "label": "Electrical" + }, + { + "data": { + "GoTo": "", + "target": "Pages/FireSystem/FireSystem", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Fire System" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Diagnostics/Panels_List", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Control Panels" + } + ], + "label": "Equipment" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Dashboards/EPMS", + "zoom": "" + }, + "expanded": true, + "items": [ + { + "data": { + "GoTo": "/Oneline_SES", + "target": "Library/Layouts/iFrame/Main", + "zoom": "94%" + }, + "expanded": false, + "items": [], + "label": "SES" + }, + { + "data": { + "GoTo": "/Oneline_UT", + "target": "Library/Layouts/iFrame/Main", + "zoom": "143%" + }, + "expanded": false, + "items": [], + "label": "UT" + }, + { + "data": { + "GoTo": "/Oneline_HS1", + "target": "Library/Layouts/iFrame/Main", + "zoom": "116%" + }, + "expanded": false, + "items": [], + "label": "HS1" + }, + { + "data": { + "GoTo": "/Oneline_HS2", + "target": "Library/Layouts/iFrame/Main", + "zoom": "105%" + }, + "expanded": false, + "items": [], + "label": "HS2" + }, + { + "data": { + "GoTo": "/", + "target": "", + "zoom": "110%" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "/Oneline_M1", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M1" + }, + { + "data": { + "GoTo": "/Oneline_M2", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M2" + }, + { + "data": { + "GoTo": "/Oneline_M3", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M3" + }, + { + "data": { + "GoTo": "/Oneline_M4", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M4" + }, + { + "data": { + "GoTo": "/Oneline_M5", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M5" + }, + { + "data": { + "GoTo": "/Oneline_M6", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M6" + }, + { + "data": { + "GoTo": "/Oneline_M7", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M7" + }, + { + "data": { + "GoTo": "/Oneline_M8", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M8" + } + ], + "label": "M1-M8" + }, + { + "data": { + "GoTo": "/", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "/", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "/Oneline_DH101_P1", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P1" + }, + { + "data": { + "GoTo": "/Oneline_DH101_P2", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P2" + }, + { + "data": { + "GoTo": "/Oneline_DH101_P3", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P3" + }, + { + "data": { + "GoTo": "/Oneline_DH101_P4", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P4" + }, + { + "data": { + "GoTo": "/Oneline_DH101_P5", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P5" + } + ], + "label": 101 + }, + { + "data": { + "GoTo": "/", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "/Oneline_DH102_P1", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P1" + }, + { + "data": { + "GoTo": "/Oneline_DH102_P2", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P2" + }, + { + "data": { + "GoTo": "/Oneline_DH102_P3", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P3" + }, + { + "data": { + "GoTo": "/Oneline_DH102_P4", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P4" + }, + { + "data": { + "GoTo": "/Oneline_DH102_P5", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P5" + } + ], + "label": 102 + }, + { + "data": { + "GoTo": "/", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "/Oneline_DH201_P1", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P1" + }, + { + "data": { + "GoTo": "/Oneline_DH201_P2", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P2" + }, + { + "data": { + "GoTo": "/Oneline_DH201_P3", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P3" + }, + { + "data": { + "GoTo": "/Oneline_DH201_P4", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P4" + }, + { + "data": { + "GoTo": "/Oneline_DH201_P5", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P5" + } + ], + "label": 201 + }, + { + "data": { + "GoTo": "/", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "/Oneline_DH202_P1", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P1" + }, + { + "data": { + "GoTo": "/Oneline_DH202_P2", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P2" + }, + { + "data": { + "GoTo": "/Oneline_DH202_P3", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P3" + }, + { + "data": { + "GoTo": "/Oneline_DH202_P4", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P4" + }, + { + "data": { + "GoTo": "/Oneline_DH202_P5", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P5" + } + ], + "label": 202 + }, + { + "data": { + "GoTo": "/", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "/Oneline_DH203_P1", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P1" + }, + { + "data": { + "GoTo": "/Oneline_DH203_P2", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P2" + }, + { + "data": { + "GoTo": "/Oneline_DH203_P3", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P3" + }, + { + "data": { + "GoTo": "/Oneline_DH203_P4", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P4" + }, + { + "data": { + "GoTo": "/Oneline_DH203_P5", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P5" + } + ], + "label": 203 + } + ], + "label": "DH" + } + ], + "label": "Power Distribution" + }, + { + "data": { + "GoTo": "", + "target": "", + "zoom": "" + }, + "expanded": true, + "items": [ + { + "data": { + "GoTo": "", + "target": "Pages/Alarms/Active Alarms", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Active Alarms" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Alarms/History Journal", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "History Journal" + } + ], + "label": "Alarms" + }, + { + "data": { + "GoTo": "", + "target": "", + "zoom": "" + }, + "expanded": true, + "items": [ + { + "data": { + "GoTo": "", + "target": "Pages/Diagnostics/AdHocTrends", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Builder" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Diagnostics/TableTrends", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Tables" + } + ], + "label": "Trend Center" + }, + { + "data": { + "GoTo": "", + "target": "", + "zoom": "" + }, + "expanded": true, + "items": [ + { + "data": { + "GoTo": "", + "target": "Pages/Diagnostics/PLC Data", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "PLC" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Diagnostics/Server Status", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Gateways" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Diagnostics/Connections", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Connections" + } + ], + "label": "Diagnotics \u0026 Tools" + } + ], + "selection": [ + "3/2/5/4/0" + ], + "selectionData": [ + { + "itemPath": "3/2/5/4/0", + "value": { + "GoTo": "/Oneline_P5.1*", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + } + } + ], + "style": { + "fontFamily": "Nunito" + } + }, + "scripts": { + "customMethods": [ + { + "name": "toggleItemsByPath", + "params": [ + "itemPath", + "lastSelection", + "target", + "items", + "path", + "breadcrumb" + ], + "script": "\tcurrent_level \u003d items\n\t# Traverse down the levels to find the target node by following the path\n\tfor i, index in enumerate(path):\n\t\tif i \u003d\u003d len(path)-1:\n\t\t\tbreadcrumb +\u003d \"/{}\".format(current_level[index][\u0027label\u0027])\n\t\t\tcurrent_level \u003d current_level[index]\n\t\telse:\n\t\t\tbreadcrumb +\u003d \"/{}\".format(current_level[index][\u0027label\u0027])\n\t\t\tcurrent_level \u003d current_level[index][\u0027items\u0027]\n\t\t\n\t# Recursively collapse all children within this node\n\tdef recursiveCollapse(node):\n\t\tif \u0027items\u0027 in node:\n\t\t\tnode[\u0027expanded\u0027] \u003d False\n\t\t\tfor child in node[\u0027items\u0027]:\n\t\t\t\trecursiveCollapse(child)\n\t\n\texpand \u003d not current_level[\u0027expanded\u0027]\n\t\n\tif not expand and itemPath !\u003d lastSelection and target !\u003d \"\":\n\t\tpass\n\telse:\n\t\tcurrent_level[\u0027expanded\u0027] \u003d expand\n\t\n\tif not expand:\n\t\tfor child in current_level[\u0027items\u0027]:\n\t\t\trecursiveCollapse(child)\n\tself.view.custom.breadcrumb \u003d breadcrumb" + }, + { + "name": "generateSelectionPath", + "params": [ + "breadcrumbPath" + ], + "script": "\t\"\"\" breadcrumbPath is a string representation of the label at various levels\n\t\tie. /Electrical System Overview/Oneline/SES\n\t\"\"\"\n\tselectionItemList \u003d []\n\tdef recBuildPath(nodes, bcSplitList):\n\t\tfor i, crumb in enumerate(bcSplitList):\n\t\t\tfor nCtr, node in enumerate(nodes):\n\t\t\t\tif node[\"label\"] \u003d\u003d crumb:\n\t\t\t\t\tselectionItemList.append(nCtr)\n\t\t\t\t\trecBuildPath(node[\"items\"], bcSplitList[i+1:])\n\t\t\t\t\tbreak\n\t\treturn selectionItemList\n\tbcSplitList\u003d breadcrumbPath.split(\"/\")[1:] if breadcrumbPath[0]\u003d\u003d\"/\" else breadcrumbPath.split(\"/\")\n\tselectionItemList \u003d recBuildPath(utils.helper.sanitize_tree(self.props.items), bcSplitList)\n#\tsystem.perspective.print(\"--- %s || %s\"%(selectionItemList, bcSplitList))\n\treturn \"\" if len(selectionItemList) !\u003d len(bcSplitList) else \"/\".join(map(str,selectionItemList))" + } + ], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "updateNavSelection", + "pageScope": true, + "script": "\n#\tfor i,crumb in enumerate(bcSplitList):\n\tself.props.selection[0] \u003d self.generateSelectionPath(payload[\"breadcrumb\"])\n\t\n\t\t", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.display.tree" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "sYFSKuOZ", + "modal": false, + "overlayDismiss": false, + "resizable": true, + "showCloseIcon": true, + "title": "Tag Browser", + "type": "open", + "viewPath": "Delete ME/Tag Browser", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Tag Browser", + "textStyle": { + "cursor": "pointer", + "fontFamily": "inherit", + "marginLeft": 25 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "navtree", + "gap": "10px" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "evtNavSelectionChange", + "pageScope": true, + "script": "\t# implement your handler here\n\tsystem.perspective.print(\"evtNavSelectionChange received\")", + "sessionScope": true, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/704536a3bde39f8ff7ca4eb6493039f80e3e40e750cd39c7dba3cde9782200b9 b/Gateways/FE/projects/.resources/704536a3bde39f8ff7ca4eb6493039f80e3e40e750cd39c7dba3cde9782200b9 new file mode 100644 index 0000000..e754fa5 --- /dev/null +++ b/Gateways/FE/projects/.resources/704536a3bde39f8ff7ca4eb6493039f80e3e40e750cd39c7dba3cde9782200b9 @@ -0,0 +1,1737 @@ +{ + "custom": { + "data": [ + 0, + 19, + 14, + 5, + 13, + 12, + 6, + 7, + 8, + 18, + 9, + 10, + 36, + 35, + 20, + 0, + 0, + 17, + 22, + 21, + 11, + 34, + 15, + 16, + 0, + 0, + 23, + 24, + 25, + 26, + 0, + 0, + 0, + 29, + 28, + 27, + 33, + 32, + 31, + 30, + 0, + 0, + 3, + 2, + 0, + 4, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "new": [ + 40, + 21, + 16, + 7, + 15, + 14, + 8, + 9, + 10, + 20, + 11, + 12, + 6, + 5, + 22, + 0, + 0, + 19, + 24, + 23, + 13, + 36, + 17, + 18, + 0, + 0, + 25, + 26, + 27, + 28, + 0, + 0, + 0, + 31, + 30, + 29, + 35, + 34, + 33, + 32, + 0, + 0, + 1, + 4, + 0, + 2, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "order": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "params": {}, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Control/ORef_Devices" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.new": { + "persistent": true + }, + "custom.order": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 656, + "width": 892 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "516px" + }, + "props": { + "text": "Operator priority" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "5%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "l1" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[0]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[1]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[2]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[3]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[4]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[5]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 1, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 2, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 3, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 4, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 5, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 6, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l2" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[6]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[7]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[8]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[9]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[10]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[11]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 7, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 8, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 9, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 10, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 11, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 12, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l3" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[12]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[13]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[14]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[15]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[16]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[17]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 13, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 14, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 15, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 16, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 17, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 18, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l4" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[18]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[19]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[20]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[21]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[22]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[23]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 19, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 20, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 21, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 22, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 23, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 24, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l5" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[24]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[25]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[26]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[27]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[28]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[29]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 25, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 26, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 27, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 28, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 29, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 30, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l6" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[30]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[31]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[32]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[33]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[34]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[35]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 31, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 32, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 33, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 34, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 35, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 36, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l7" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[36]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[37]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[38]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[39]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[40]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[41]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 37, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 38, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 39, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 40, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 41, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 42, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l8" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[42]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[43]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[44]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[45]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[46]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[47]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 43, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 44, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 45, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 46, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 47, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 48, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "LLS" + }, + "position": { + "basis": "89.6%" + }, + "props": { + "style": { + "gap": "10px", + "key": "value" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.data \u003d self.view.custom.new\n\tself.view.custom.data \u003d self.view.custom.data" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.custom.new \u003d self.view.custom.data" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/70464780413209555770f95a7b10fcffd090776231527a943adc5799f371290b b/Gateways/FE/projects/.resources/70464780413209555770f95a7b10fcffd090776231527a943adc5799f371290b new file mode 100644 index 0000000..0449bac Binary files /dev/null and b/Gateways/FE/projects/.resources/70464780413209555770f95a7b10fcffd090776231527a943adc5799f371290b differ diff --git a/Gateways/FE/projects/.resources/70751bbf56406993e44ec4cfb347254a553ab1788cf3f6d622662f60b631c90a b/Gateways/FE/projects/.resources/70751bbf56406993e44ec4cfb347254a553ab1788cf3f6d622662f60b631c90a new file mode 100644 index 0000000..ef2708a Binary files /dev/null and b/Gateways/FE/projects/.resources/70751bbf56406993e44ec4cfb347254a553ab1788cf3f6d622662f60b631c90a differ diff --git a/Gateways/FE/projects/.resources/707db5997b49aff0d5d3af4e76cd0047592989d01820ac447063dbbce86f98de b/Gateways/FE/projects/.resources/707db5997b49aff0d5d3af4e76cd0047592989d01820ac447063dbbce86f98de new file mode 100644 index 0000000..5872f94 Binary files /dev/null and b/Gateways/FE/projects/.resources/707db5997b49aff0d5d3af4e76cd0047592989d01820ac447063dbbce86f98de differ diff --git a/Gateways/FE/projects/.resources/70c1074e099daa920d2ab37ffb6a818d3f29c2908c93e1c4ec7b47bd7fde68b6 b/Gateways/FE/projects/.resources/70c1074e099daa920d2ab37ffb6a818d3f29c2908c93e1c4ec7b47bd7fde68b6 new file mode 100644 index 0000000..47de66f --- /dev/null +++ b/Gateways/FE/projects/.resources/70c1074e099daa920d2ab37ffb6a818d3f29c2908c93e1c4ec7b47bd7fde68b6 @@ -0,0 +1,8 @@ +{ + "base": { + "style": { + "backgroundColor": "#002143", + "color": "#E6EAEE" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/70d317c21315b0acf2ec2a97710d4ea931373f7043e1726648ccfb1749f46a67 b/Gateways/FE/projects/.resources/70d317c21315b0acf2ec2a97710d4ea931373f7043e1726648ccfb1749f46a67 new file mode 100644 index 0000000..d39f37b Binary files /dev/null and b/Gateways/FE/projects/.resources/70d317c21315b0acf2ec2a97710d4ea931373f7043e1726648ccfb1749f46a67 differ diff --git a/Gateways/FE/projects/.resources/70fae1eb9b6551c9741fabae8f6c2490e5c3c96f98e01c42660e4a5b6c9edf29 b/Gateways/FE/projects/.resources/70fae1eb9b6551c9741fabae8f6c2490e5c3c96f98e01c42660e4a5b6c9edf29 new file mode 100644 index 0000000..83214ed Binary files /dev/null and b/Gateways/FE/projects/.resources/70fae1eb9b6551c9741fabae8f6c2490e5c3c96f98e01c42660e4a5b6c9edf29 differ diff --git a/Gateways/FE/projects/.resources/7169eacd551072a6c607702caa7f37ede93686a72d5ca7b7b1d701a834c58754 b/Gateways/FE/projects/.resources/7169eacd551072a6c607702caa7f37ede93686a72d5ca7b7b1d701a834c58754 new file mode 100644 index 0000000..d923eb5 Binary files /dev/null and b/Gateways/FE/projects/.resources/7169eacd551072a6c607702caa7f37ede93686a72d5ca7b7b1d701a834c58754 differ diff --git a/Gateways/FE/projects/.resources/7171fc52df19cfd587944c1fb86c54328314e6cca7c1d21850c7d4035383c4d4 b/Gateways/FE/projects/.resources/7171fc52df19cfd587944c1fb86c54328314e6cca7c1d21850c7d4035383c4d4 new file mode 100644 index 0000000..6118898 --- /dev/null +++ b/Gateways/FE/projects/.resources/7171fc52df19cfd587944c1fb86c54328314e6cca7c1d21850c7d4035383c4d4 @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "RTU01", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/RTU-1 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/71d56862123d5c0517ee4a74e07dbde73ad69caf577a770ed74b4b9e345ef843 b/Gateways/FE/projects/.resources/71d56862123d5c0517ee4a74e07dbde73ad69caf577a770ed74b4b9e345ef843 new file mode 100644 index 0000000..c63ec27 --- /dev/null +++ b/Gateways/FE/projects/.resources/71d56862123d5c0517ee4a74e07dbde73ad69caf577a770ed74b4b9e345ef843 @@ -0,0 +1,500 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki", + "PQM" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "PDU", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-2" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status", + "tooltip": { + "enabled": true, + "text": "Wavestar" + } + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PQM" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/PQM\u0027" + }, + "type": "expr" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/PQM\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Breakers" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)\n\t", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Breakers\u0027" + }, + "type": "expr" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Breakers\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 2 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/71db475dfd03375db466c3ec3190008fb0174660dae5da9baf30e43cb2d7d1bd b/Gateways/FE/projects/.resources/71db475dfd03375db466c3ec3190008fb0174660dae5da9baf30e43cb2d7d1bd new file mode 100644 index 0000000..3a74d25 Binary files /dev/null and b/Gateways/FE/projects/.resources/71db475dfd03375db466c3ec3190008fb0174660dae5da9baf30e43cb2d7d1bd differ diff --git a/Gateways/FE/projects/.resources/7211139d4b41a39447e1257df70aee8686ac3af20cfe069bea2e046e1c68ea9a b/Gateways/FE/projects/.resources/7211139d4b41a39447e1257df70aee8686ac3af20cfe069bea2e046e1c68ea9a new file mode 100644 index 0000000..0cadaa0 --- /dev/null +++ b/Gateways/FE/projects/.resources/7211139d4b41a39447e1257df70aee8686ac3af20cfe069bea2e046e1c68ea9a @@ -0,0 +1,421 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": "view.params.auth.control", + "objectName": "ValveM", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/ValveM 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/726184917af62ef67bbaec3a80a4e2ae333e0764ca55dba23a964c55f1b6af51 b/Gateways/FE/projects/.resources/726184917af62ef67bbaec3a80a4e2ae333e0764ca55dba23a964c55f1b6af51 new file mode 100644 index 0000000..2980feb --- /dev/null +++ b/Gateways/FE/projects/.resources/726184917af62ef67bbaec3a80a4e2ae333e0764ca55dba23a964c55f1b6af51 @@ -0,0 +1,134 @@ +def trace_power_flow(): + """ + Traces power flow through a series of connected transformers (UTs). + - Reads the state of all switches. + - Determines which components are energized and from which source. + - Writes the results back to memory tags. + """ + + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + # [Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1 + ut_names = ["UT-M1", "UT-M2", "UT-M3", "UT-M4", "UT-M5", "UT-M6"] + providers = ["[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_",] + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/DS1A_W3', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W3'] + idx = 0 + for name in ut_names: + # Assuming your UDT instances are in a folder named 'UTs' + base_path = providers[idx] + name + tag_paths_to_read.append("{}/Source 1 Switch".format(base_path)) + tag_paths_to_read.append("{}/Source 2 Switch".format(base_path)) + idx+=1 + + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['DS-1A_Live'] = tag_values[0].value + values['DS-1B_Live'] = tag_values[1].value + + read_idx = 2 + for name in ut_names: + values[name] = { + 'Switch_L_Status': tag_values[read_idx].value, + 'Switch_R_Status': tag_values[read_idx + 1].value} + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['DS-1A_Live']: + q.append( ("UT-M1", "DS-1A1") ) + if values['DS-1B_Live']: + q.append( ("UT-M6", "DS-1B1") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ut_name, source = q.pop(0) + + if current_ut_name in visited: + continue + + visited.add(current_ut_name) + energized_state[current_ut_name] = source + current_ut_index = ut_names.index(current_ut_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ut_names) - 1: + neighbor_name = ut_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ut_name]['Switch_R_Status']['Value'] and values[neighbor_name]['Switch_L_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ut_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ut_name]['Switch_L_Status']['Value'] and values[neighbor_name]['Switch_R_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source)) + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + idx = 0 + for name in ut_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + tag_paths_to_write.append(providers[idx] + name + "/Data/isEnergized") + values_to_write.append(is_energized) + tag_paths_to_write.append(providers[idx] + name + "/Data/PowerSource") + values_to_write.append(power_source) + idx += 1 + + line_tags_base_path = "[Ignition_Common_IO_Gtwy]Cables/UT/" + #print energized_state + # Loop through each connection between UTs + for i in range(len(ut_names) - 1): + ut1_name = ut_names[i] + ut2_name = ut_names[i+1] + line_energized = (ut1_name in energized_state and + ut2_name in energized_state and + #energized_state[ut1_name] == energized_state[ut2_name] and + values[ut1_name]['Switch_R_Status']['Value'] and + values[ut2_name]['Switch_L_Status']['Value']) + #print ut1_name + " : " + str(ut1_name in energized_state) +" & "+str(values[ut1_name]['Switch_R_Status']['Value']) + #print energized_state[ut1_name] + " = " + energized_state[ut2_name] + #print ut2_name + " : " + str(ut2_name in energized_state) +" & "+str(values[ut1_name]['Switch_L_Status']['Value']) + line_tag_name = "Line_{}_to_{}".format(ut1_name, ut2_name) + # Construct the full tag path directly to the boolean tag + full_tag_path = line_tags_base_path + line_tag_name + # Add the path and the calculated value to our list for writing + tag_paths_to_write.append(full_tag_path) + values_to_write.append(line_energized) + #print full_tag_path + " : " + str(line_energized) + + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/727373d626154be8cd1a49422c7f921c2afd5244a9fc3200bf92a831c38ef39a b/Gateways/FE/projects/.resources/727373d626154be8cd1a49422c7f921c2afd5244a9fc3200bf92a831c38ef39a new file mode 100644 index 0000000..df18451 Binary files /dev/null and b/Gateways/FE/projects/.resources/727373d626154be8cd1a49422c7f921c2afd5244a9fc3200bf92a831c38ef39a differ diff --git a/Gateways/FE/projects/.resources/72b7793fd6970d00609dc7db0a55c6307f0e7098b1b5f5a78746c137b874f2f3 b/Gateways/FE/projects/.resources/72b7793fd6970d00609dc7db0a55c6307f0e7098b1b5f5a78746c137b874f2f3 new file mode 100644 index 0000000..3d6cec7 Binary files /dev/null and b/Gateways/FE/projects/.resources/72b7793fd6970d00609dc7db0a55c6307f0e7098b1b5f5a78746c137b874f2f3 differ diff --git a/Gateways/FE/projects/.resources/732841dd12e91f8f39a7f9bb1a506b6404fd0a7eb177e5e052dc4def5db36050 b/Gateways/FE/projects/.resources/732841dd12e91f8f39a7f9bb1a506b6404fd0a7eb177e5e052dc4def5db36050 new file mode 100644 index 0000000..1a4831e --- /dev/null +++ b/Gateways/FE/projects/.resources/732841dd12e91f8f39a7f9bb1a506b6404fd0a7eb177e5e052dc4def5db36050 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948558079 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948558079 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/73b4d12ce6dc2e20df07154dffc153f8fe5b7e04a5ab1df4ab9c73c4acca0758 b/Gateways/FE/projects/.resources/73b4d12ce6dc2e20df07154dffc153f8fe5b7e04a5ab1df4ab9c73c4acca0758 new file mode 100644 index 0000000..b64f4c3 Binary files /dev/null and b/Gateways/FE/projects/.resources/73b4d12ce6dc2e20df07154dffc153f8fe5b7e04a5ab1df4ab9c73c4acca0758 differ diff --git a/Gateways/FE/projects/.resources/73b6791cacd94cd350a40402c1589c67b2d022faa572be6ea3c50e60c4d753ac b/Gateways/FE/projects/.resources/73b6791cacd94cd350a40402c1589c67b2d022faa572be6ea3c50e60c4d753ac new file mode 100644 index 0000000..df150e3 Binary files /dev/null and b/Gateways/FE/projects/.resources/73b6791cacd94cd350a40402c1589c67b2d022faa572be6ea3c50e60c4d753ac differ diff --git a/Gateways/FE/projects/.resources/73f28da218eb7c0cd4127e76cf253f89fa1e1b88eaadac4fa63a90c5728e473c b/Gateways/FE/projects/.resources/73f28da218eb7c0cd4127e76cf253f89fa1e1b88eaadac4fa63a90c5728e473c new file mode 100644 index 0000000..d282e69 Binary files /dev/null and b/Gateways/FE/projects/.resources/73f28da218eb7c0cd4127e76cf253f89fa1e1b88eaadac4fa63a90c5728e473c differ diff --git a/Gateways/FE/projects/.resources/74c1cc906a6dc1a26aa1e03295b6b84f48d5574037e0e090fce724758730ea35 b/Gateways/FE/projects/.resources/74c1cc906a6dc1a26aa1e03295b6b84f48d5574037e0e090fce724758730ea35 new file mode 100644 index 0000000..55e8942 Binary files /dev/null and b/Gateways/FE/projects/.resources/74c1cc906a6dc1a26aa1e03295b6b84f48d5574037e0e090fce724758730ea35 differ diff --git a/Gateways/FE/projects/.resources/74ebd352bfc75083d8ba897e57d1b5ca9749363e266570fc7013db682cdd4d71 b/Gateways/FE/projects/.resources/74ebd352bfc75083d8ba897e57d1b5ca9749363e266570fc7013db682cdd4d71 new file mode 100644 index 0000000..f009761 Binary files /dev/null and b/Gateways/FE/projects/.resources/74ebd352bfc75083d8ba897e57d1b5ca9749363e266570fc7013db682cdd4d71 differ diff --git a/Gateways/FE/projects/.resources/75331bd73c3e5a6b492c200e56cb998d4e106f016fa733bcaae4053626d1f886 b/Gateways/FE/projects/.resources/75331bd73c3e5a6b492c200e56cb998d4e106f016fa733bcaae4053626d1f886 new file mode 100644 index 0000000..851aa26 Binary files /dev/null and b/Gateways/FE/projects/.resources/75331bd73c3e5a6b492c200e56cb998d4e106f016fa733bcaae4053626d1f886 differ diff --git a/Gateways/FE/projects/.resources/75f9f2fee11a713534249a97053623acb72c470103c0b0ac96887f823252d671 b/Gateways/FE/projects/.resources/75f9f2fee11a713534249a97053623acb72c470103c0b0ac96887f823252d671 new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/.resources/75f9f2fee11a713534249a97053623acb72c470103c0b0ac96887f823252d671 @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/760eea5566ba030e8ed35d9ffd073ca817e328b3e23f07de692d90e10a683aee b/Gateways/FE/projects/.resources/760eea5566ba030e8ed35d9ffd073ca817e328b3e23f07de692d90e10a683aee new file mode 100644 index 0000000..7047223 --- /dev/null +++ b/Gateways/FE/projects/.resources/760eea5566ba030e8ed35d9ffd073ca817e328b3e23f07de692d90e10a683aee @@ -0,0 +1,932 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 1255 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onKeyDown": { + "config": { + "script": "\tif event.key \u003d\u003d \"Enter\":\n\t\tself.getSibling(\"Button\").findtags(self.props.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TextField" + }, + "position": { + "basis": "183px", + "grow": 1, + "shrink": 0 + }, + "props": { + "placeholder": "Tag Name" + }, + "type": "ia.input.text-field" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.findtags(self.getSibling(\"TextField\").props.text)\t\n\tself.parent.parent.getChild(\"Table\").props.data \u003d []\n\tsearchText \u003d self.getSibling(\"TextField\").props.text\n\t\n\tdef doSucc(message):\n\t\tself.parent.parent.getChild(\"Table\").props.data +\u003d message\n\tdef doFail(message):\n\t\tsystem.perspective.print(\"FAILED %s\"%message)\n\n\t_res \u003d []\n\tif len(searchText) \u003e 2:\t\n\t\tfor gw in [\"Ignition-SATB1-IO1\",\"Ignition-SATB1-IO2\", \"Ignition-SATB1-IO3\",\"Ignition-SATB1-IO6\"]:\n\t\t\thndlr \u003d system.util.sendRequestAsync(\"global\", \"FindTags\", payload\u003d{\"search\":searchText}, remoteServer\u003dgw,\n\t\t\tonSuccess\u003ddoSucc, onError\u003ddoFail)\n\t\t\t_res+\u003dsystem.util.sendRequest(\"global\", \"FindTags\", payload\u003d{\"search\":searchText}, remoteServer\u003dgw)\n\t\n\tself.parent.parent.getChild(\"Table\").props.data \u003d _res\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "40px" + }, + "props": { + "image": { + "icon": { + "path": "material/search" + } + }, + "text": "" + }, + "scripts": { + "customMethods": [ + { + "name": "findtags", + "params": [ + "searchText" + ], + "script": "\tself.parent.parent.getChild(\"Table\").props.data \u003d []\n\t\n\tdef doSucc(message):\n\t\tself.parent.parent.getChild(\"Table\").props.data +\u003d message\n\tdef doFail(message):\n\t\tsystem.perspective.print(\"FAILED %s\"%message)\n\n\t_res \u003d []\n\tif len(searchText) \u003e 2:\t\n\t\tfor gw in [\"Ignition-SATB1-IO1\",\"Ignition-SATB1-IO2\",\"Ignition-SATB1-IO3\",\n\t\t\t\t\"Ignition-SATB1-IO6\"]:\n#\t\t\thndlr \u003d system.util.sendRequestAsync(\"global\", \"FindTags\", payload\u003d{\"search\":searchText}, remoteServer\u003dgw,\n#\t\t\tonSuccess\u003ddoSucc, onError\u003ddoFail)\n\t\t\t_res+\u003dsystem.util.sendRequest(\"global\", \"FindTags\", payload\u003d{\"search\":searchText}, remoteServer\u003dgw)\n\t\n\tself.parent.parent.getChild(\"Table\").props.data \u003d _res\t" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.data": { + "persistent": false + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "fullPath", + "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": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "partialPath", + "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": "" + } + ], + "enableHeader": false, + "pager": { + "bottom": false + }, + "rows": { + "style": { + "fontSize": 12 + } + }, + "selection": { + "mode": "multiple interval" + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "TagSelect" + }, + "position": { + "basis": "325px" + }, + "props": { + "direction": "column", + "style": { + "gap": "5px", + "overflow": "visible", + "paddingLeft": "5px", + "paddingRight": "5px", + "paddingTop": "80px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Mode" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "36px" + }, + "props": { + "options": [ + { + "label": "Historical", + "value": "historical" + }, + { + "label": "Realtime", + "value": "realtime" + } + ], + "value": "historical" + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Mode" + }, + "position": { + "basis": "150px", + "shrink": 0 + }, + "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": { + "expression": "addDays({.../EndDate/DateTimeInput.props.value}, -1)" + }, + "type": "expr" + } + } + }, + "props": { + "formattedValue": "Sep 22, 2025 8:06 AM", + "inputProps": { + "style": { + "fontSize": 12 + } + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "StartDate" + }, + "position": { + "basis": "160px", + "shrink": 0 + }, + "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": { + "expression": "addDays(now(0),-1)" + }, + "type": "expr" + } + } + }, + "props": { + "formattedValue": "Sep 23, 2025 8:06 AM", + "inputProps": { + "style": { + "fontSize": 12 + } + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "EndDate" + }, + "position": { + "basis": "160px", + "shrink": 0 + }, + "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 + }, + "props": { + "format": 0, + "value": 1 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "256px" + }, + "props": { + "options": [ + { + "label": "min", + "value": "minutes" + }, + { + "label": "hour", + "value": "hours" + }, + { + "label": "day", + "value": "days" + } + ], + "value": "hours" + }, + "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", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "gap": "5px", + "paddingRight": "3px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tspp \u003d self.parent.parent\n\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 [row[\"fullPath\"] for row in self.parent.parent.parent.parent.getChild(\"TagSelect\").getChild(\"Table\").props.selection.data]\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\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": "114px", + "shrink": 0 + }, + "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": "Data" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/767a3327decb0bc8db2baa4449f3bdbb327737114c6d6deaae9393216e4b632e b/Gateways/FE/projects/.resources/767a3327decb0bc8db2baa4449f3bdbb327737114c6d6deaae9393216e4b632e new file mode 100644 index 0000000..0785dfe Binary files /dev/null and b/Gateways/FE/projects/.resources/767a3327decb0bc8db2baa4449f3bdbb327737114c6d6deaae9393216e4b632e differ diff --git a/Gateways/FE/projects/.resources/76ed38a5b14a12030f5b1094f83bb4ecd230a34697f7eb30d866137437c077f2 b/Gateways/FE/projects/.resources/76ed38a5b14a12030f5b1094f83bb4ecd230a34697f7eb30d866137437c077f2 new file mode 100644 index 0000000..37a15c9 Binary files /dev/null and b/Gateways/FE/projects/.resources/76ed38a5b14a12030f5b1094f83bb4ecd230a34697f7eb30d866137437c077f2 differ diff --git a/Gateways/FE/projects/.resources/76ee0408da49a20a3ae2e7c34cf8f41601c9f3867a197795108d912271b783df b/Gateways/FE/projects/.resources/76ee0408da49a20a3ae2e7c34cf8f41601c9f3867a197795108d912271b783df new file mode 100644 index 0000000..d2e4c3b --- /dev/null +++ b/Gateways/FE/projects/.resources/76ee0408da49a20a3ae2e7c34cf8f41601c9f3867a197795108d912271b783df @@ -0,0 +1,814 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower_1": 0, + "InputPower_2": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/ATS\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower_1": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower_2": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\nif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].fill": { + "binding": { + "config": { + "expression": "case(\r\n\tif({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\n\tif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n\t)\r\n\t,1,\u0027var(--olRed)\u0027\r\n\t,0,\u0027var(--olGreen)\u0027\r\n\t,\u0027var(--olGray)\u0027\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].fill": { + "binding": { + "config": { + "expression": "case(\r\n\tif({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\n\tif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n\t)\r\n\t,1,\u0027var(--olRed)\u0027\r\n\t,0,\u0027var(--olGreen)\u0027\r\n\t,\u0027var(--olGray)\u0027\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\tif({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\n\tif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n\t)\r\n\t,1,\u0027var(--olRed)\u0027\r\n\t,0,\u0027var(--olGreen)\u0027\r\n\t,\u0027var(--olGray)\u0027\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].fill": { + "binding": { + "config": { + "expression": "case(\r\n\tif({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\n\tif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n\t)\r\n\t,1,\u0027var(--olRed)\u0027\r\n\t,0,\u0027var(--olGreen)\u0027\r\n\t,\u0027var(--olGray)\u0027\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\tif({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\n\tif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n\t)\r\n\t,1,\u0027var(--olRed)\u0027\r\n\t,0,\u0027var(--olGreen)\u0027\r\n\t,\u0027var(--olGray)\u0027\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\tif({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\n\tif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n\t)\r\n\t,1,\u0027var(--olRed)\u0027\r\n\t,0,\u0027var(--olGreen)\u0027\r\n\t,\u0027var(--olGray)\u0027\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].visibility": { + "binding": { + "config": { + "expression": "if(!tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027)),\u0027visible\u0027,\u0027hidden\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\tif({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\n\tif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n\t)\r\n\t,1,\u0027var(--olRed)\u0027\r\n\t,0,\u0027var(--olGreen)\u0027\r\n\t,\u0027var(--olGray)\u0027\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "if(tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027)),\u0027visible\u0027,\u0027hidden\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M557.884,228.24c-0,-4.312 -3.501,-7.813 -7.813,-7.813c-4.312,0 -7.812,3.501 -7.812,7.813c-0,4.312 3.5,7.812 7.812,7.812c4.312,0 7.813,-3.5 7.813,-7.812Z", + "id": "Out1", + "name": "Out1", + "type": "path" + }, + { + "d": "M660.381,149.892c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25Z", + "name": "path", + "type": "path" + }, + { + "d": "M550.071,228.24l0,20.16l116.56,-0l-0,-98.508", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "cx": "595.833", + "cy": "149.892", + "id": "Terminal34", + "name": "Terminal34", + "r": "7.813", + "type": "circle" + }, + { + "d": "M595.833,149.892l0,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M550.071,227.293l-42.46,-90.654", + "fill": { + "paint": "transparent" + }, + "id": "SRC01", + "name": "SRC01", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M550.071,227.293l43.15,-90.654", + "fill": { + "paint": "transparent" + }, + "id": "SRC02", + "name": "SRC02", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "ATS", + "name": "ATS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 66, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 100, + "x": 170, + "y": 82 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(195,35)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(195,35)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(195,35)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(195,35)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/76f25ad011d05e30fd8589e4bc0a42808b043d30d68df378209352ebf16cab26 b/Gateways/FE/projects/.resources/76f25ad011d05e30fd8589e4bc0a42808b043d30d68df378209352ebf16cab26 new file mode 100644 index 0000000..7948345 --- /dev/null +++ b/Gateways/FE/projects/.resources/76f25ad011d05e30fd8589e4bc0a42808b043d30d68df378209352ebf16cab26 @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "MV SWGR", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/MV SWGR 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7706720ab35ab5fbb9a5493304f4834d8ad0f240878409d0ed2713e4d49ac806 b/Gateways/FE/projects/.resources/7706720ab35ab5fbb9a5493304f4834d8ad0f240878409d0ed2713e4d49ac806 new file mode 100644 index 0000000..8938532 --- /dev/null +++ b/Gateways/FE/projects/.resources/7706720ab35ab5fbb9a5493304f4834d8ad0f240878409d0ed2713e4d49ac806 @@ -0,0 +1,428 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CV31" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/77073242b515bf7c5c2da7344242aaac4d579e76382cc57c272ca52a4668732f b/Gateways/FE/projects/.resources/77073242b515bf7c5c2da7344242aaac4d579e76382cc57c272ca52a4668732f new file mode 100644 index 0000000..0ef98d5 --- /dev/null +++ b/Gateways/FE/projects/.resources/77073242b515bf7c5c2da7344242aaac4d579e76382cc57c272ca52a4668732f @@ -0,0 +1,483 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1267 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "key": "value" + }, + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\ttagName \u003d tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1]\n\t\t\t\tlowtagName \u003d tagName.lower()\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + lowtagName\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947963012 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947963012 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/77be9b38e582d56b4daaf758e1a991ff0c6e69c9f1bf76511d92f56e53a10e0d b/Gateways/FE/projects/.resources/77be9b38e582d56b4daaf758e1a991ff0c6e69c9f1bf76511d92f56e53a10e0d new file mode 100644 index 0000000..7c909e4 Binary files /dev/null and b/Gateways/FE/projects/.resources/77be9b38e582d56b4daaf758e1a991ff0c6e69c9f1bf76511d92f56e53a10e0d differ diff --git a/Gateways/FE/projects/.resources/77c4e09805114f291533832b45a3231c844d1eb34c026961624eacd5d446a94e b/Gateways/FE/projects/.resources/77c4e09805114f291533832b45a3231c844d1eb34c026961624eacd5d446a94e new file mode 100644 index 0000000..04abc42 Binary files /dev/null and b/Gateways/FE/projects/.resources/77c4e09805114f291533832b45a3231c844d1eb34c026961624eacd5d446a94e differ diff --git a/Gateways/FE/projects/.resources/77cef1a59f212105e745b3f1d40ce1c1057eac2c9859e7aee3da3dd347acaaf0 b/Gateways/FE/projects/.resources/77cef1a59f212105e745b3f1d40ce1c1057eac2c9859e7aee3da3dd347acaaf0 new file mode 100644 index 0000000..cfbb822 Binary files /dev/null and b/Gateways/FE/projects/.resources/77cef1a59f212105e745b3f1d40ce1c1057eac2c9859e7aee3da3dd347acaaf0 differ diff --git a/Gateways/FE/projects/.resources/77d301cf7bd196064fbfd98c80a8e0eddb95ac38e1a65e3d0649b90eee03e189 b/Gateways/FE/projects/.resources/77d301cf7bd196064fbfd98c80a8e0eddb95ac38e1a65e3d0649b90eee03e189 new file mode 100644 index 0000000..263ddce Binary files /dev/null and b/Gateways/FE/projects/.resources/77d301cf7bd196064fbfd98c80a8e0eddb95ac38e1a65e3d0649b90eee03e189 differ diff --git a/Gateways/FE/projects/.resources/78396d137c76685db5845125f857ed5d52bff5d72807cebd614dd8e8aba28acb b/Gateways/FE/projects/.resources/78396d137c76685db5845125f857ed5d52bff5d72807cebd614dd8e8aba28acb new file mode 100644 index 0000000..0cfa6b8 --- /dev/null +++ b/Gateways/FE/projects/.resources/78396d137c76685db5845125f857ed5d52bff5d72807cebd614dd8e8aba28acb @@ -0,0 +1,30 @@ +def groupJournalByPathAndState(events): + """ + Creates a summary list of dicts with displayPath, eventState, and occurrence count. + + Returns list sorted by displayPath (alphabetical), then by eventState. + """ + if not events: + return [] + + groups = {} # outer: source → {eventState: count} + + for event in events: + + es = event.get('eventState') + source = event.get('source') + + # Get or create inner dict + inner = groups.setdefault(source, {}) + # Increment count (inner.setdefault would also work, but +1 is clearer) + inner[es] = inner.get(es, 0) + 1 + + # Build flat list of result dictionaries + result = [] + + for source in sorted(groups.keys()): # sort displayPath alphabetically + for es in sorted(groups[source].keys()): # sort eventState within each path + + result.append([source, es, groups[source][es]]) + + return system.dataset.toDataSet(["source", "eventState", "count"], result) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7853f156e831b4a4c0c4023c2d64442ef0c8c10f193d77f4762ef029ba03d1ce b/Gateways/FE/projects/.resources/7853f156e831b4a4c0c4023c2d64442ef0c8c10f193d77f4762ef029ba03d1ce new file mode 100644 index 0000000..d73d6be Binary files /dev/null and b/Gateways/FE/projects/.resources/7853f156e831b4a4c0c4023c2d64442ef0c8c10f193d77f4762ef029ba03d1ce differ diff --git a/Gateways/FE/projects/.resources/78d5918d3c77a08429a4f0e7680eb58ef08ba14418cb74b925351bcf20bcad23 b/Gateways/FE/projects/.resources/78d5918d3c77a08429a4f0e7680eb58ef08ba14418cb74b925351bcf20bcad23 new file mode 100644 index 0000000..6b1e02b --- /dev/null +++ b/Gateways/FE/projects/.resources/78d5918d3c77a08429a4f0e7680eb58ef08ba14418cb74b925351bcf20bcad23 @@ -0,0 +1,30 @@ +from datetime import datetime +def getTagPaths(location=None): + """ + Get all the relvant tagpaths needed for the historian query + """ + baseTagPaths = reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getGeneratorBase(), location) + return baseTagPaths + +def getHistoryLastValues(genBasePath, pqmBasePath, sDate, eDate): + tagpaths = ["%s/Fuel Percent"%(genBasePath), "%s/Fuel Gallons"%(genBasePath), "%s/Real Power"%(pqmBasePath)] + pyDS = reports.MBR.common.util.getHistory(tagpaths, sDate, eDate, customArgs={"noInterpolation":False}) +# print tagpaths, len(pyDS) + return [c for c in pyDS[-1]] + +def buildFinalTable(startDate,endDate,location=None): + lastValueStartDate = system.date.addMinutes(endDate, -10) + header = ["Generator", "FuelPercent","FuelGal","RatedLoading","CurrentLoading","RunHours"] + allRows = [] + for genPath,pqmPath in getTagPaths(location): + genName = genPath.split("_")[-1].replace("GEN-","") + tstamp, fuel_perc, fuel_gal, curLoad = getHistoryLastValues(genPath, pqmPath, lastValueStartDate, endDate) + # now get the meta values + fullLoadKW, fullLoadGPH= [t.value for t in system.tag.readBlocking(["%s/Meta/Full Load kW"%genPath,"%s/Meta/Full Load GPH"%genPath])] + if fullLoadGPH is None: + fullLoadGPH = 180.0 + if fuel_gal is None: + fuel_gal = 1500 + allRows.append([genName,fuel_perc,fuel_gal,fullLoadKW,curLoad, fuel_gal/fullLoadGPH]) + + return system.dataset.sort(system.dataset.toDataSet(header, allRows), "Generator", True) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7906f6d5e683d826942089f42b91f001a851b4fc57ab9213394777b43de25abc b/Gateways/FE/projects/.resources/7906f6d5e683d826942089f42b91f001a851b4fc57ab9213394777b43de25abc new file mode 100644 index 0000000..03360cb --- /dev/null +++ b/Gateways/FE/projects/.resources/7906f6d5e683d826942089f42b91f001a851b4fc57ab9213394777b43de25abc @@ -0,0 +1,38 @@ +def update_alarms_in_udts(root_path): #, enable_tag_path, custom_props): + """This script will update all the alarms under a base path so that the + alarm is enabled based on the "Meta/Alarms Enabled" tag, and the Building, EqName, + Area Served, Location, and Alarms Enabled properties have been set to their Meta tag equivalent.""" + + def update_alarm_config(base_path, path): + """This function will take a tag path as an input and update the alarms.""" + + configs = system.tag.getConfiguration(path, False) + + for config in configs: + if "alarms" in config: + for alarm in config["alarms"]: + alarm["ackPipeline"] = {"bindType": "UDTParameter", "value": "{AckPipeline}"} + alarm["activePipeline"] = {"bindType": "UDTParameter", "value": "{ActivePipeline}"} + alarm["clearPipeline"] = {"bindType": "UDTParameter", "value": "{ClearPipeline}"} + system.tag.configure(base_path, config, "o") + print "The following tag was update: %s" % config["path"] + else: + print "\nERROR: The following tag did not have an alarm: %s\n" % config["path"] + + + def recurse_tags(base_path): + """Locate all the alarms underneath a base_path and call update_alarm_config when found.""" + + tags = system.tag.browse(base_path) + for tag in tags: + if str(tag["tagType"]) == "UdtType": + isUdt = True + else: + isUdt = False + + if str(tag["tagType"]) == "AtomicTag" and "alarm" in tag["attributes"]: + update_alarm_config(base_path, tag["fullPath"]) + elif tag["hasChildren"]: + recurse_tags(tag["fullPath"]) + + recurse_tags(root_path) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/79bf17653080cc0bdc93a0a5edfeb20fc7c34e3dcba6ed7bfa19b3ffa35ff30f b/Gateways/FE/projects/.resources/79bf17653080cc0bdc93a0a5edfeb20fc7c34e3dcba6ed7bfa19b3ffa35ff30f new file mode 100644 index 0000000..fafb630 --- /dev/null +++ b/Gateways/FE/projects/.resources/79bf17653080cc0bdc93a0a5edfeb20fc7c34e3dcba6ed7bfa19b3ffa35ff30f @@ -0,0 +1,138 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Inp_PV" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "OCmd_Reset" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "OCmd_SubstituteEN" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "OCmd_SubstituteVal" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1102/SATB1_RM1102_Fire System Panel" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Control\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/79f3be34ac31b72f7769dbff9db79652d23856903a88e4c32bb5d8fda4891bb9 b/Gateways/FE/projects/.resources/79f3be34ac31b72f7769dbff9db79652d23856903a88e4c32bb5d8fda4891bb9 new file mode 100644 index 0000000..8dfb004 Binary files /dev/null and b/Gateways/FE/projects/.resources/79f3be34ac31b72f7769dbff9db79652d23856903a88e4c32bb5d8fda4891bb9 differ diff --git a/Gateways/FE/projects/.resources/7a159cf6d2ef90b2cb6e7fab66672ac94b25adb52cc8d10917e764878785c826 b/Gateways/FE/projects/.resources/7a159cf6d2ef90b2cb6e7fab66672ac94b25adb52cc8d10917e764878785c826 new file mode 100644 index 0000000..47480e7 Binary files /dev/null and b/Gateways/FE/projects/.resources/7a159cf6d2ef90b2cb6e7fab66672ac94b25adb52cc8d10917e764878785c826 differ diff --git a/Gateways/FE/projects/.resources/7a3ca2b01e6c227a600bad8b997032108fc27bb265d522cc9a9e9700b3502b51 b/Gateways/FE/projects/.resources/7a3ca2b01e6c227a600bad8b997032108fc27bb265d522cc9a9e9700b3502b51 new file mode 100644 index 0000000..015a539 --- /dev/null +++ b/Gateways/FE/projects/.resources/7a3ca2b01e6c227a600bad8b997032108fc27bb265d522cc9a9e9700b3502b51 @@ -0,0 +1,139 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fire Alarm Trouble", + "options": [ + "Normal", + "Alarmed" + ] + }, + { + "dataType": "Float4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fire alarm Event", + "options": [ + "Normal", + "Alarmed" + ] + }, + { + "dataType": "Float4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fire alarm Supervisory (Notification Alarm)", + "options": [ + "Normal", + "Alarmed" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]RM1102/SATB1_RM1102_Fire System Panel" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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])\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7a496b7ba7d77f57e9dce1a57bf8d96674effc2aa650481e221d30634250cc30 b/Gateways/FE/projects/.resources/7a496b7ba7d77f57e9dce1a57bf8d96674effc2aa650481e221d30634250cc30 new file mode 100644 index 0000000..9b5a1a6 Binary files /dev/null and b/Gateways/FE/projects/.resources/7a496b7ba7d77f57e9dce1a57bf8d96674effc2aa650481e221d30634250cc30 differ diff --git a/Gateways/FE/projects/.resources/7a5ccac62b62ff8de636a4e412a3059d32c89d52d91596df46ab22437638b31a b/Gateways/FE/projects/.resources/7a5ccac62b62ff8de636a4e412a3059d32c89d52d91596df46ab22437638b31a new file mode 100644 index 0000000..98cc0ee --- /dev/null +++ b/Gateways/FE/projects/.resources/7a5ccac62b62ff8de636a4e412a3059d32c89d52d91596df46ab22437638b31a @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-20)", + "paddingBottom": "8px", + "paddingLeft": "8px", + "paddingRight": "8px", + "paddingTop": "8px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7a71eded12a5f043500e98d2396d62ff46693f86502aaa0d427431386e460b6f b/Gateways/FE/projects/.resources/7a71eded12a5f043500e98d2396d62ff46693f86502aaa0d427431386e460b6f new file mode 100644 index 0000000..27d9d04 --- /dev/null +++ b/Gateways/FE/projects/.resources/7a71eded12a5f043500e98d2396d62ff46693f86502aaa0d427431386e460b6f @@ -0,0 +1,903 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Capture Command", + "options": [ + "Capture done", + "Start Capture" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Communication Percent", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Contactor Status", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Control Mode", + "options": [ + "Always Open", + "Always Closed", + "Auto load", + "Auto kVRA", + "External Control Input", + "No contactor", + "Diagnostic Always Close" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current A TDD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current A THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current B TDD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current B THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current C TDD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current C THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 1", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 11", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 13", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 17", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 19", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 23", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 25", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 3", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 5", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 7", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 1", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 11", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 13", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 17", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 19", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 23", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 25", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 3", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 5", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 7", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 1", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 11", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 13", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 17", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 19", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 23", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 25", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 3", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 5", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 7", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Load A THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Load B THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Load C THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Tune A THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Tune B THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Tune C THD", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Filter At Maximum Capacity", + "options": [ + "Normal", + "At Capacity" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Filter Controls Temperature", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Filter Powered On", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Filter Status", + "options": [ + "Normal", + "Warning" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Line Apparent Power Total", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Line Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Line Reactive Power Total", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Line Real Power Total", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Apparent Power Total", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Reactive Power Total", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Real Measure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Real Power Total", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System State", + "options": [ + "Initialization State Machine", + "Initialization Parameters", + "Power on Delay", + "Unit self State Configuration Check", + "Reset", + "Force Open Contactor", + "Force Close Contactor", + "Auto Load Open", + "Auto Load Close", + "Auto kVAR Close", + "Auto kVAR Open", + "External Open", + "External Close", + "No Contactor", + "Contactor Closed Inhibited", + "Calibrate offsets", + "Calibrate Magnitude", + "No Communication", + "Communication configuration", + "PCB Calibration Check", + "Unit Calibration check", + "Pre-Calibration Check", + "Unit in Contactor debug Close State" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AB THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BC THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CA THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Load AB THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Load BC THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Load CA THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Tune AB THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Tune BC THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Tune CA THD", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_HF" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7b13e3a63e0a9e753a1d1efe4708abc425e77cf890137ed3396e50571d5be29d b/Gateways/FE/projects/.resources/7b13e3a63e0a9e753a1d1efe4708abc425e77cf890137ed3396e50571d5be29d new file mode 100644 index 0000000..fdb25a4 Binary files /dev/null and b/Gateways/FE/projects/.resources/7b13e3a63e0a9e753a1d1efe4708abc425e77cf890137ed3396e50571d5be29d differ diff --git a/Gateways/FE/projects/.resources/7b2bfa199b34702cf5036e536f4a4a07d894f2dafbc49695900488b13b94570d b/Gateways/FE/projects/.resources/7b2bfa199b34702cf5036e536f4a4a07d894f2dafbc49695900488b13b94570d new file mode 100644 index 0000000..6cb2adb --- /dev/null +++ b/Gateways/FE/projects/.resources/7b2bfa199b34702cf5036e536f4a4a07d894f2dafbc49695900488b13b94570d @@ -0,0 +1,512 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [ + "Return Air Humidity" + ], + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeEndDate": { + "$": [ + "ts", + 0, + 1752533895036 + ], + "$ts": 1752533870984 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": { + "$": [ + "ts", + 0, + 1752533895036 + ], + "$ts": 1752526694984 + }, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1752533895034 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": { + "$": [ + "ts", + 192, + 1752533895034 + ], + "$ts": 1752533870984 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": { + "$": [ + "ts", + 192, + 1752533895034 + ], + "$ts": 1752526694984 + }, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1752533895034 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7b5e9dd0808f34f66c0d4d73fc2ab56daa72eb6956f64541953073a824ab6ef1 b/Gateways/FE/projects/.resources/7b5e9dd0808f34f66c0d4d73fc2ab56daa72eb6956f64541953073a824ab6ef1 new file mode 100644 index 0000000..d93749c Binary files /dev/null and b/Gateways/FE/projects/.resources/7b5e9dd0808f34f66c0d4d73fc2ab56daa72eb6956f64541953073a824ab6ef1 differ diff --git a/Gateways/FE/projects/.resources/7b866c17920fe7117146e2296fa0c724ffb93aa756bdc106c9dc07ff4212d564 b/Gateways/FE/projects/.resources/7b866c17920fe7117146e2296fa0c724ffb93aa756bdc106c9dc07ff4212d564 new file mode 100644 index 0000000..8d750a1 --- /dev/null +++ b/Gateways/FE/projects/.resources/7b866c17920fe7117146e2296fa0c724ffb93aa756bdc106c9dc07ff4212d564 @@ -0,0 +1,993 @@ +{ + "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" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7c303aa8b11d0f81870e2b5ef6d8f74413c5b380332fe194fbee21bdce23d500 b/Gateways/FE/projects/.resources/7c303aa8b11d0f81870e2b5ef6d8f74413c5b380332fe194fbee21bdce23d500 new file mode 100644 index 0000000..daaf554 --- /dev/null +++ b/Gateways/FE/projects/.resources/7c303aa8b11d0f81870e2b5ef6d8f74413c5b380332fe194fbee21bdce23d500 @@ -0,0 +1,1056 @@ +{ + "custom": {}, + "params": { + "pageId": "" + }, + "propConfig": { + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 990, + "width": 1250 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M5_to_UT-M6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "UT-M6", + "right": "DS-1B1 W3" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M6", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M6", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M6", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M1.3", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M6", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 0, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 410, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD11" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 470, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD12" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 421, + "y": 532.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 242, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M6" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7c8732412c1a26a1ccc7f4bc49c7c8bab625dfc9bbc5533ae6150cffa67758c7 b/Gateways/FE/projects/.resources/7c8732412c1a26a1ccc7f4bc49c7c8bab625dfc9bbc5533ae6150cffa67758c7 new file mode 100644 index 0000000..0bef06e --- /dev/null +++ b/Gateways/FE/projects/.resources/7c8732412c1a26a1ccc7f4bc49c7c8bab625dfc9bbc5533ae6150cffa67758c7 @@ -0,0 +1,60 @@ +{ + "custom": {}, + "params": { + "color": "black" + }, + "propConfig": { + "params.color": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 297, + "width": 289 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Markdown" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "view.params.color" + }, + "type": "property" + } + } + }, + "props": { + "markdown": { + "escapeHtml": false + }, + "sectionSpacing": 50, + "source": "\u003chtml\u003e\n\u003csvg width\u003d\u0027100%\u0027 height\u003d\u0027100%\u0027 viewBox\u003d\u00270 0 100 100\u0027 preserveAspectRatio\u003d\u0027none\u0027\nclass\u003d\u0027psc-alarmbox\u0027\u003e\n\u003ccircle cx\u003d\"50\" cy\u003d\"50\" r \u003d\"45\" fill\u003d\u0027transparent\u0027 stroke\u003d\u0027currentColor\u0027 stroke-width\u003d\u00271\u0027/\u003e\n\u003c/svg\u003e\n\u003c/html\u003e\n" + }, + "type": "ia.display.markdown" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0.4503, + "y": 0.3146 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7c8b3ad0b9755b48eb9dc427b4b74c34658893561d5fa124daa60db52a7a0f4e b/Gateways/FE/projects/.resources/7c8b3ad0b9755b48eb9dc427b4b74c34658893561d5fa124daa60db52a7a0f4e new file mode 100644 index 0000000..5eb0198 --- /dev/null +++ b/Gateways/FE/projects/.resources/7c8b3ad0b9755b48eb9dc427b4b74c34658893561d5fa124daa60db52a7a0f4e @@ -0,0 +1,656 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 23, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 25, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 27, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 29, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power C", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Position", + "options": [ + "Racked In", + "Unracked" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Status", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Current G", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 21, + "instanceStyle": { + "classes": "" + }, + "name": "Current Imbalance", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 17, + "instanceStyle": { + "classes": "" + }, + "name": "Current N", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 19, + "instanceStyle": { + "classes": "" + }, + "name": "Current avg", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 31, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 33, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 35, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "EXT Trips", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 34, + "instanceStyle": { + "classes": "" + }, + "name": "Energy In (VAR)", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 36, + "instanceStyle": { + "classes": "" + }, + "name": "Energy In (W)", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 38, + "instanceStyle": { + "classes": "" + }, + "name": "Energy Out (VAR)", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 40, + "instanceStyle": { + "classes": "" + }, + "name": "Energy Out (W)", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 42, + "instanceStyle": { + "classes": "" + }, + "name": "Energy Tot (VA)", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 24, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 37, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 39, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 41, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 26, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 28, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 30, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 32, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 44, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 46, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 48, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 50, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 43, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 45, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 47, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 49, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power C", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Relay Status", + "options": [ + "Enabled", + "Disabled" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Relay Trips", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 16, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Average Line", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 18, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Average Phase", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 20, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage DC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 22, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Imbalance", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A/SEL_Main" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\t\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7c99e3c9e882be8d726a7e85029bf1f85cddca034940436a5ffb4d84043bdb9e b/Gateways/FE/projects/.resources/7c99e3c9e882be8d726a7e85029bf1f85cddca034940436a5ffb4d84043bdb9e new file mode 100644 index 0000000..7ba26d5 --- /dev/null +++ b/Gateways/FE/projects/.resources/7c99e3c9e882be8d726a7e85029bf1f85cddca034940436a5ffb4d84043bdb9e @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "marginRight": "16px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7cc6a59b7767aacaf15e6afd3c2513b66261ea4e8b9cbe1eefd792927903ec76 b/Gateways/FE/projects/.resources/7cc6a59b7767aacaf15e6afd3c2513b66261ea4e8b9cbe1eefd792927903ec76 new file mode 100644 index 0000000..0c10705 Binary files /dev/null and b/Gateways/FE/projects/.resources/7cc6a59b7767aacaf15e6afd3c2513b66261ea4e8b9cbe1eefd792927903ec76 differ diff --git a/Gateways/FE/projects/.resources/7cebcaf4bcef0107c2029b6f81f66b6fc3aaf18b28b1b6ecf51363745e2e6be9 b/Gateways/FE/projects/.resources/7cebcaf4bcef0107c2029b6f81f66b6fc3aaf18b28b1b6ecf51363745e2e6be9 new file mode 100644 index 0000000..3b9892c Binary files /dev/null and b/Gateways/FE/projects/.resources/7cebcaf4bcef0107c2029b6f81f66b6fc3aaf18b28b1b6ecf51363745e2e6be9 differ diff --git a/Gateways/FE/projects/.resources/7d01255ca883fb15f3276647bb2439d7322a6dd633b2b91cace4a1ac45f9257f b/Gateways/FE/projects/.resources/7d01255ca883fb15f3276647bb2439d7322a6dd633b2b91cace4a1ac45f9257f new file mode 100644 index 0000000..3c68931 Binary files /dev/null and b/Gateways/FE/projects/.resources/7d01255ca883fb15f3276647bb2439d7322a6dd633b2b91cace4a1ac45f9257f differ diff --git a/Gateways/FE/projects/.resources/7d4b83ae7c96cc3dbc35ba259651d7c8addbfeb0979869d0345b2ac3fb8ba3dc b/Gateways/FE/projects/.resources/7d4b83ae7c96cc3dbc35ba259651d7c8addbfeb0979869d0345b2ac3fb8ba3dc new file mode 100644 index 0000000..7c3d5f5 Binary files /dev/null and b/Gateways/FE/projects/.resources/7d4b83ae7c96cc3dbc35ba259651d7c8addbfeb0979869d0345b2ac3fb8ba3dc differ diff --git a/Gateways/FE/projects/.resources/7d7f6b9b67029366f68dd724afcf355d27e3927701425964706f4aea4fdfadb6 b/Gateways/FE/projects/.resources/7d7f6b9b67029366f68dd724afcf355d27e3927701425964706f4aea4fdfadb6 new file mode 100644 index 0000000..9550445 --- /dev/null +++ b/Gateways/FE/projects/.resources/7d7f6b9b67029366f68dd724afcf355d27e3927701425964706f4aea4fdfadb6 @@ -0,0 +1,2421 @@ +{ + "custom": { + "HS1": 219.5, + "HS2": 213, + "M": [ + 100, + 100, + 100, + 101, + 100, + 99, + 101, + 100 + ], + "M1-M8": 0, + "P1": 1998.4, + "P1_Main": 2183, + "P2": 1897.3, + "P2_Main": 2060, + "P3": 132.1, + "P3_Main": 146.2, + "P4": 130.1, + "P4_Main": 141.6, + "P5": 3.1, + "P5_Main": 4.7, + "SES1A": 2700, + "SES1B": 2400 + }, + "params": {}, + "propConfig": { + "custom.HS1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.HS2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.M": { + "persistent": true + }, + "custom.M1-M8": { + "binding": { + "config": { + "path": "view.custom.M" + }, + "enabled": false, + "transforms": [ + { + "code": "\ttotal \u003d 0\n\tfor item in value:\n\t\tif item is None:\n\t\t\ttotal +\u003d 0\n\t\telse:\n\t\t\ttotal +\u003d item\n\treturn total", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.M[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.M[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.M[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.M[3]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.M[4]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.M[5]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.M[6]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.M[7]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.P1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO1_default]PUE/Critical_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P1_Main": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO1_default]PUE/Total_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO2_default]PUE/Critical_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P2_Main": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO2_default]PUE/Total_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO3_default]PUE/Critical_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P3_Main": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO3_default]PUE/Total_Power" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.P4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]PUE/Critical_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P4_Main": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]PUE/Total_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO5_default]PUE/Critical_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P5_Main": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO5_default]PUE/Total_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.SES1A": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A/PQM_Main/Real Power" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.SES1B": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/PQM_Main/Real Power" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 570 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.SES1A" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn float(value) /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "#.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.SES1A" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "SES 1A", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.SES1B" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn float(value) /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.SES1B" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "SES 1B", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label_4" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.SES1A} + {view.custom.SES1B}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.SES1A} + {view.custom.SES1B}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Total", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "SES" + }, + "position": { + "basis": "15%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.HS1" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.HS1" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "HS1", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.HS2" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.HS2" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "HS2", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label_4" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.M1-M8}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.M1-M8}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "M1-M8", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label_5" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Total", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.M1-M8}+{view.custom.HS1}+{view.custom.HS2}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.M1-M8}+{view.custom.HS1}+{view.custom.HS2}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "HS" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH1", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P1_Main" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P1_Main" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH1" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH2", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P2_Main" + }, + "transforms": [ + { + "code": "\tif value \u003e1000:\n\t\treturn value / 1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P2" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH2" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH3", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P3_Main" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P3" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH3" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH4", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P4_Main" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P4_Main" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH4" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH5", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P5_Main" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P5" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH5" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Total Main", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.P1_Main}+{view.custom.P2_Main}+{view.custom.P3_Main}+{view.custom.P4_Main}+{view.custom.P5_Main}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.P1_Main}+{view.custom.P2_Main}+{view.custom.P3_Main}+{view.custom.P4_Main}+{view.custom.P5_Main}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\telse: \n\t\treturn \"kW\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH6" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "P - Main" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignContent": "space-between", + "alignItems": "flex-start", + "direction": "column", + "justify": "space-between", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "padding": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH1", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P1" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P1" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH1" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH2", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P2" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn float(value) / 1000\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P2" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH2" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH3", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P3" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn float(value) / 1000\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P3" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH3" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH4", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P4" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn float(value) / 1000\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P4" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH4" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH5", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P5" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P5" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH5" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Total IT", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.P1}+{view.custom.P2}+{view.custom.P3}+{view.custom.P4}+{view.custom.P5}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.P1}+{view.custom.P2}+{view.custom.P3}+{view.custom.P4}+{view.custom.P5}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\telse: \n\t\treturn \"kW\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH6" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "P - IT" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignContent": "space-between", + "alignItems": "flex-start", + "direction": "column", + "justify": "space-between", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "padding": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "p1": "{view.custom.P1}", + "p2": "{view.custom.P2}", + "p3": "{view.custom.P3}", + "p4": "{view.custom.P4}", + "p5": "{view.custom.P5}", + "sesA": "{view.custom.SES1A}", + "sesB": "{view.custom.SES1B}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\ttotal \u003d value[\u0027sesA\u0027] + value [\u0027sesB\u0027]\n\tp1 \u003d value[\u0027p1\u0027]\n\tif p1 is None:\n\t\tp1 \u003d 0\n\tp2 \u003d value[\u0027p2\u0027]\n\tif p2 is None:\n\t\tp2 \u003d 0\n\tp3 \u003d value[\u0027p3\u0027]\n\tif p3 is None:\n\t\tp3 \u003d 0\n\tp4 \u003d value[\u0027p4\u0027]\n\tif p4 is None:\n\t\tp4 \u003d 0\n\tp5 \u003d value[\u0027p5\u0027]\n\tif p5 is None:\n\t\tp5 \u003d 0\n\ttry:\n\t\tPUE \u003d total / (p1 + p2 + p3 + p4 +p5)\n\texcept:\n\t\tPUE \u003d 0\n\treturn PUE", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 36, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "PUE", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "PUE" + }, + "position": { + "basis": "15%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7d93a4212cbd8bbdbd45bd5d0167def7af0b87d4c5ee321320a0f41664563e3d b/Gateways/FE/projects/.resources/7d93a4212cbd8bbdbd45bd5d0167def7af0b87d4c5ee321320a0f41664563e3d new file mode 100644 index 0000000..b40e2d1 Binary files /dev/null and b/Gateways/FE/projects/.resources/7d93a4212cbd8bbdbd45bd5d0167def7af0b87d4c5ee321320a0f41664563e3d differ diff --git a/Gateways/FE/projects/.resources/7d9421c4dd46ae0d59e6425845d95c115758fd4f8da6675f09758b6e0bc1d585 b/Gateways/FE/projects/.resources/7d9421c4dd46ae0d59e6425845d95c115758fd4f8da6675f09758b6e0bc1d585 new file mode 100644 index 0000000..ccd5014 --- /dev/null +++ b/Gateways/FE/projects/.resources/7d9421c4dd46ae0d59e6425845d95c115758fd4f8da6675f09758b6e0bc1d585 @@ -0,0 +1,926 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 946, + "width": 1322 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px" + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "P1 Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "direction": "column", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-1", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-2", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1243/SWBD/SATB1_ER1243_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-3", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-4", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1245/SWBD/SATB1_ER1245_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-5", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1246/SWBD/SATB1_ER1246_ATS" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators P1" + }, + "position": { + "height": 545, + "width": 257 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px" + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "P2 Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "direction": "column", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-1", + "tagPath_ATS": "[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-2", + "tagPath_ATS": "[Ignition_SATB1_IO2_default]ER1249/SWBD/SATB1_ER1249_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-3", + "tagPath_ATS": "[Ignition_SATB1_IO2_default]ER1250/SWBD/SATB1_ER1250_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-4", + "tagPath_ATS": "[Ignition_SATB1_IO2_default]ER1251/SWBD/SATB1_ER1251_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-5", + "tagPath_ATS": "[Ignition_SATB1_IO2_default]ER1252/SWBD/SATB1_ER1252_ATS" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators P2" + }, + "position": { + "height": 545, + "width": 257, + "x": 257 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px" + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "P3 Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "direction": "column", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-1", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-2", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-3", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-4", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-5", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators P3" + }, + "position": { + "height": 545, + "width": 257, + "x": 514 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px" + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "P4 Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "direction": "column", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-1" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-2" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-3" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-4" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-5" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators P4" + }, + "position": { + "height": 545, + "width": 257, + "x": 771 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px" + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "P5 Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "direction": "column", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-1" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-2" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-3" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-4" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-5" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators P5" + }, + "position": { + "height": 545, + "width": 257, + "x": 1028 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "M Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M1", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M2", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M3", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M4", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M5", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M6", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M7", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M8", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_ATS" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators M" + }, + "position": { + "height": 232, + "width": 1028, + "y": 545 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "House Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "110px", + "shrink": 0 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "direction": "column", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_GEN-P1-1" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_GEN-P1-2" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators Houses", + "visible": false + }, + "position": { + "height": 131, + "width": 1028, + "y": 777 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "House Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "345px", + "shrink": 0 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "direction": "column", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS1", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS2", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_ATS" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators Houses_0" + }, + "position": { + "height": 545, + "width": 254, + "x": 1285 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7d9fa50ea7de88fca3079bd406489681fbf0f7fa9f7cd9ad3d4a7677d8d0b429 b/Gateways/FE/projects/.resources/7d9fa50ea7de88fca3079bd406489681fbf0f7fa9f7cd9ad3d4a7677d8d0b429 new file mode 100644 index 0000000..506ca9f --- /dev/null +++ b/Gateways/FE/projects/.resources/7d9fa50ea7de88fca3079bd406489681fbf0f7fa9f7cd9ad3d4a7677d8d0b429 @@ -0,0 +1,1451 @@ +{ + "custom": { + "coolDown": false, + "coolDownTimer": 5, + "running": 0 + }, + "params": { + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-1", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + }, + "propConfig": { + "custom.coolDown": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath_ATS": "{view.params.tagPath_ATS}" + }, + "tagPath": "{tagPath_ATS}/CP State" + }, + "enabled": false, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 34, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.coolDownTimer": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath_ATS": "{view.params.tagPath_ATS}" + }, + "tagPath": "{tagPath_ATS}/CP State Data" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Run Status" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath_ATS": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 104, + "width": 253 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandle": {} + }, + "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": "Generator SVG" + }, + "position": { + "height": 95, + "width": 126, + "x": 1.66, + "y": 8.88 + }, + "propConfig": { + "custom.colorHandle.Background": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "running": "{view.custom.running}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027alarmSeverity\u0027] \u003e 0:\n\t\tColor \u003d 2\n\telif value[\u0027running\u0027] \u003d\u003d True:\n\t\tColor \u003d 1\n\telse :\n\t\tColor \u003d 0\n\treturn Color\n", + "type": "script" + }, + { + "fallback": "#D5D5D5", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "#D5D5D5" + }, + { + "input": 1, + "output": "#FFFF47" + }, + { + "input": 2, + "output": "#FF0000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandle.Thunder": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "running": "{view.custom.running}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027running\u0027] \u003d\u003d True:\n\t\tColor \u003d \u0027Orange\u0027\n\telse:\n\t\tColor \u003d \u0027White\u0027\n\treturn Color\n", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandle.Thunder_border": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "running": "{view.custom.running}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027running\u0027] \u003d\u003d True:\n\t\tColor \u003d \u0027White\u0027\n\telse:\n\t\tColor \u003d \u0027Black\u0027\n\treturn Color\n", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[1].elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandle.Background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandle.Background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandle.Background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandle.Background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandle.Background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandle.Thunder" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandle.Thunder_border" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "name": "defs", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M.0,.0L1099.0,.0L1099.0,647.1L.0,647.1L.0,.0z", + "fill": {}, + "id": "shape2", + "name": "shape2", + "stroke": { + "paint": "black", + "width": 3 + }, + "transform": "translate(7.803696,64.809411)", + "type": "path" + }, + { + "elements": [ + { + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape4", + "name": "shape4", + "stroke": { + "paint": "#000000", + "width": 3 + }, + "transform": "translate(-0.000000,0.000000)", + "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": "shape5", + "name": "shape5", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(9.523796,10.439984)", + "type": "path" + }, + { + "elements": [ + { + "d": "M-0.0,11.0C-0.0,4.9,4.9,-0.0,10.9,-0.0C16.9,-0.0,21.9,4.9,21.9,11.0C21.9,17.1,16.9,22.0,10.9,22.0C4.9,22.0,-0.0,17.1,-0.0,11.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape7", + "name": "shape7", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.018123,0.018207)", + "type": "path" + }, + { + "d": "M-0.0,9.0C-0.0,4.0,4.0,-0.0,8.9,-0.0C13.8,-0.0,17.8,4.0,17.8,9.0C17.8,13.9,13.8,18.0,8.9,18.0C4.0,18.0,-0.0,13.9,-0.0,9.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape8", + "name": "shape8", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(2.020118,2.034389)", + "type": "path" + } + ], + "id": "group6", + "name": "group6", + "transform": "matrix(0.000000,1.000000,-1.000000,0.000000,193.502876,39.600685)", + "type": "group" + }, + { + "elements": [ + { + "d": "M-0.0,11.0C-0.0,4.9,4.9,-0.0,10.9,-0.0C16.9,-0.0,21.9,4.9,21.9,11.0C21.9,17.1,16.9,22.0,10.9,22.0C4.9,22.0,-0.0,17.1,-0.0,11.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape10", + "name": "shape10", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.018123,0.018207)", + "type": "path" + }, + { + "d": "M-0.0,9.0C-0.0,4.0,4.0,-0.0,8.9,-0.0C13.8,-0.0,17.8,4.0,17.8,9.0C17.8,13.9,13.8,18.0,8.9,18.0C4.0,18.0,-0.0,13.9,-0.0,9.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape11", + "name": "shape11", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(2.020118,2.034389)", + "type": "path" + } + ], + "id": "group9", + "name": "group9", + "transform": "matrix(0.000000,1.000000,-1.000000,0.000000,256.624551,39.600685)", + "type": "group" + }, + { + "elements": [ + { + "d": "M-0.0,11.0C-0.0,4.9,4.9,-0.0,10.9,-0.0C16.9,-0.0,21.9,4.9,21.9,11.0C21.9,17.1,16.9,22.0,10.9,22.0C4.9,22.0,-0.0,17.1,-0.0,11.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape13", + "name": "shape13", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.018123,0.018207)", + "type": "path" + }, + { + "d": "M-0.0,9.0C-0.0,4.0,4.0,-0.0,8.9,-0.0C13.8,-0.0,17.8,4.0,17.8,9.0C17.8,13.9,13.8,18.0,8.9,18.0C4.0,18.0,-0.0,13.9,-0.0,9.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape14", + "name": "shape14", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(2.020118,2.034389)", + "type": "path" + } + ], + "id": "group12", + "name": "group12", + "transform": "matrix(0.000000,1.000000,-1.000000,0.000000,193.502876,96.044098)", + "type": "group" + }, + { + "elements": [ + { + "d": "M-0.0,11.0C-0.0,4.9,4.9,-0.0,10.9,-0.0C16.9,-0.0,21.9,4.9,21.9,11.0C21.9,17.1,16.9,22.0,10.9,22.0C4.9,22.0,-0.0,17.1,-0.0,11.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape16", + "name": "shape16", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.018123,0.018207)", + "type": "path" + }, + { + "d": "M-0.0,9.0C-0.0,4.0,4.0,-0.0,8.9,-0.0C13.8,-0.0,17.8,4.0,17.8,9.0C17.8,13.9,13.8,18.0,8.9,18.0C4.0,18.0,-0.0,13.9,-0.0,9.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape17", + "name": "shape17", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(2.020118,2.034389)", + "type": "path" + } + ], + "id": "group15", + "name": "group15", + "transform": "matrix(0.000000,1.000000,-1.000000,0.000000,256.624551,96.044098)", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.0,.0L63.5,.0C64.1,.0,64.6,.5,64.6,1.0L64.6,64.1C64.6,64.6,64.1,65.1,63.5,65.1L1.0,65.1C.5,65.1,.0,64.6,.0,64.1L.0,1.0C.0,.5,.5,.0,1.0,.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape19", + "name": "shape19", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "type": "path" + }, + { + "d": "M1.0,.0L55.5,.0C56.1,.0,56.6,.5,56.6,1.0L56.6,36.5L35.2,57.3L1.0,57.3C.4,57.3,.0,56.8,.0,56.2L.0,1.0C.0,.5,.4,.0,1.0,.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape20", + "name": "shape20", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(4.006916,3.904640)", + "type": "path" + }, + { + "d": "M1.0,.0L53.5,.0C54.0,.0,54.5,.4,54.5,1.0L54.5,35.2L33.9,55.2L1.0,55.2C.4,55.2,.0,54.7,.0,54.1L.0,1.0C.0,.4,.4,.0,1.0,.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape21", + "name": "shape21", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(5.189219,5.230563)", + "type": "path" + }, + { + "d": "M.0,.0L20.2,24.0L22.6,21.6L.0,.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape22", + "name": "shape22", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(20.341088,18.535318)", + "type": "path" + }, + { + "d": "M.0,.0L5.9,.0", + "fill": { + "paint": "transparent" + }, + "id": "shape23", + "name": "shape23", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(11.477683,47.672420)", + "type": "path" + }, + { + "d": "M.0,.0L5.2,2.4", + "fill": { + "paint": "transparent" + }, + "id": "shape24", + "name": "shape24", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(13.719801,31.375364)", + "type": "path" + }, + { + "d": "M.0,.0L2.7,4.5", + "fill": { + "paint": "transparent" + }, + "id": "shape25", + "name": "shape25", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(31.656798,12.958820)", + "type": "path" + }, + { + "d": "M.0,.0L.0,5.3", + "fill": { + "paint": "transparent" + }, + "id": "shape26", + "name": "shape26", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(49.313414,10.031154)", + "type": "path" + }, + { + "d": "M.0,.0L17.8,.0L17.8,6.6L.0,6.6L.0,.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape27", + "name": "shape27", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(7.927037,8.358215)", + "type": "path" + }, + { + "d": "M.0,14.8C.0,6.4,6.7,-0.0,14.6,-0.0C14.6,.3,14.3,29.8,14.3,29.8C6.4,29.8,.0,23.2,.0,14.8z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape28", + "name": "shape28", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "matrix(0.707107,0.707107,-0.707107,0.707107,49.593653,29.494110)", + "type": "path" + }, + { + "d": "M.0,14.0C.0,6.1,6.3,-0.0,13.8,-0.0C13.8,.3,13.5,28.2,13.5,28.2C6.0,28.2,.0,21.9,.0,14.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape29", + "name": "shape29", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "matrix(0.707107,0.707107,-0.707107,0.707107,49.478237,30.529862)", + "type": "path" + }, + { + "d": "M.0,1.8C.0,.8,.8,.0,1.8,.0C2.9,.0,3.7,.8,3.7,1.8C3.7,2.8,2.9,3.7,1.8,3.7C.8,3.7,.0,2.8,.0,1.8z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape30", + "name": "shape30", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(30.832587,55.780594)", + "type": "path" + }, + { + "d": "M.0,1.8C.0,.8,.8,.0,1.8,.0C2.9,.0,3.7,.8,3.7,1.8C3.7,2.8,2.9,3.7,1.8,3.7C.8,3.7,.0,2.8,.0,1.8z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape31", + "name": "shape31", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(54.584078,32.287246)", + "type": "path" + } + ], + "id": "group18", + "name": "group18", + "transform": "translate(44.622343,39.707895)", + "type": "group" + } + ], + "id": "group3", + "name": "group3", + "transform": "translate(55.686687,125.529216)", + "type": "group" + }, + { + "d": "M.0,.0L671.7,.0L671.7,652.9L.0,652.9L.0,.0z", + "fill": { + "rule": "nonzero" + }, + "id": "shape32", + "name": "shape32", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(435.110930,64.809845)", + "type": "path" + }, + { + "d": "M.0,.0L341.1,.0L341.1,652.9L.0,652.9L.0,.0z", + "fill": { + "rule": "nonzero" + }, + "id": "shape33", + "name": "shape33", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(766.122799,64.809845)", + "type": "path" + }, + { + "d": "M66.8,.0L1032.1,.0L1099.0,34.2L1099.0,66.4L.0,66.4L.0,35.0L66.8,.0z", + "fill": { + "rule": "nonzero" + }, + "id": "shape34", + "name": "shape34", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(7.803696,0.000000)", + "type": "path" + }, + { + "d": "M.0,.0L1115.0,.0L1115.0,62.2L.0,62.2L.0,.0z", + "fill": { + "rule": "nonzero" + }, + "id": "shape35", + "name": "shape35", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(-0.000000,711.862000)", + "type": "path" + }, + { + "d": "M35.8,4.4L72.8,.0L33.1,47.5L80.1,43.2L16.8,132.2L47.1,64.6L.0,70.0L35.8,4.4z", + "fill": { + "rule": "nonzero" + }, + "id": "shape36", + "name": "shape36", + "stroke": { + "width": 3 + }, + "transform": "matrix(0.999391,0.034899,-0.034899,0.999391,965.169307,12.700373)", + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape39", + "name": "shape39", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape40", + "name": "shape40", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,35.670844)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape41", + "name": "shape41", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,74.659640)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape42", + "name": "shape42", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,110.567249)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape43", + "name": "shape43", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,147.423062)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape44", + "name": "shape44", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,184.278875)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape45", + "name": "shape45", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,219.831486)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape46", + "name": "shape46", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,257.991045)", + "type": "path" + } + ], + "id": "group38", + "name": "group38", + "transform": "translate(0.130280,0.000000)", + "type": "group" + }, + { + "elements": [ + { + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape48", + "name": "shape48", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape49", + "name": "shape49", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,35.670844)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape50", + "name": "shape50", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,74.659640)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape51", + "name": "shape51", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,110.567249)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape52", + "name": "shape52", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,147.423062)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape53", + "name": "shape53", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,184.278875)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape54", + "name": "shape54", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,219.831486)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape55", + "name": "shape55", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,257.991045)", + "type": "path" + } + ], + "id": "group47", + "name": "group47", + "transform": "translate(136.425137,0.004644)", + "type": "group" + } + ], + "id": "group37", + "name": "group37", + "transform": "translate(110.237594,405.443400)", + "type": "group" + } + ], + "id": "group1", + "name": "group1", + "transform": "translate(0.000000,5.669291)", + "type": "group" + } + ], + "id": "page1", + "name": "page1", + "transform": "", + "type": "group" + } + ], + "preserveAspectRatio": "xMaxYMax", + "style": { + "classes": "containers/HoverOver" + }, + "viewBox": "0 0 1132 804" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 10, + "width": 125, + "x": 127.85, + "y": 21.71 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "CDtimer": "{view.custom.coolDownTimer}", + "alarmSeverity": "{parent.custom.alarmSeverity}", + "cooldown": "{view.custom.coolDown}", + "runStatus": "{view.custom.running}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value[\u0027runStatus\u0027]\u003d\u003dTrue and value[\u0027CDtimer\u0027]\u003e0:\n\t\tstate \u003d \u0027Cooldown \u0027+ str(value[\u0027CDtimer\u0027]) + \u0027sec\u0027\n\telif value[\u0027runStatus\u0027] \u003d\u003d True:\n\t\tstate \u003d \u0027Running\u0027\n\telse:\n\t\tstate \u003d \u0027Off\u0027\n\tif value[\u0027alarmSeverity\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": { + "style": { + "overflow": "visible" + }, + "text": "Off", + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 11, + "width": 210, + "x": 127.9, + "y": 32.7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tstate \u003d system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:\u0027Run Hours\u0027})[0][\u0027value\u0027].value\n\tstate \u003d \"%.1f\" % state\n\treturn \u0027Run Hrs: \u0027+state+ \u0027 hr\u0027\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Run Hrs: 49.6 hrs", + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 10, + "width": 125, + "x": 127.9, + "y": 43.7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tstate \u003d system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:\u0027Fuel Percent\u0027})[0][\u0027value\u0027].value\n\tstate \u003d \"%.1f\" % state\n\treturn \u0027Fuel Percent: \u0027+state+ \u0027%\u0027\n", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Fuel Percent 91.0%", + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 10, + "width": 125, + "x": 127.9, + "y": 54.7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\u0027Power Total\u0027", + "engUnits": "\u0027KW\u0027", + "tagName": "\u0027Total kW\u0027", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tstate \u003d system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:value[\u0027tagName\u0027]})[0][\u0027value\u0027].value\n\tstate \u003d \"%.1f\" % state\n\treturn value[\u0027displayName\u0027]+\u0027: \u0027+state+ \u0027 \u0027 +value[\u0027engUnits\u0027]", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Power Total: 0.0 kW", + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 10, + "width": 125, + "x": 127.9, + "y": 65.7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\"Avg current\"", + "engUnits": "\"A\"", + "tagName": "\u0027Average Current\u0027", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tstate \u003d system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:value[\u0027tagName\u0027]})[0][\u0027value\u0027].value\n\tstate \u003d \"%.1f\" % state\n\treturn value[\u0027displayName\u0027]+\u0027: \u0027+state+ \u0027 \u0027 +value[\u0027engUnits\u0027]\n", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Avg Current- 0.0A", + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 10, + "width": 241, + "x": 127.9, + "y": 76.7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tstate \u003d system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:\u0027Fuel Gallons\u0027})[0][\u0027value\u0027].value\n\tstate \u003d \"%.1f\" % state\n\treturn \u0027Fuel remaining: \u0027+state+ \u0027 Gal\u0027\n", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Fuel remaining: 8341.0 Gal", + "textStyle": { + "fontSize": 10, + "overflow": "visible" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 10, + "width": 125, + "x": 127.9, + "y": 87.7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\u0027Battery voltage\u0027", + "engUnits": "\u0027V\u0027", + "tagName": "\u0027Battery Voltage\u0027", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tstate \u003d system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:value[\u0027tagName\u0027]})[0][\u0027value\u0027].value\n\tstate \u003d \"%.1f\" % state\n\treturn value[\u0027displayName\u0027]+\u0027: \u0027+state+ \u0027 \u0027 +value[\u0027engUnits\u0027]", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Battery Voltage: 25.6V", + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 8.63, + "width": 104.95, + "x": 13.26, + "y": 6.42 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Gen", + "textStyle": { + "backgroundColor": "transparent", + "fontSize": 10, + "fontWeight": 650, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "thunder" + }, + "position": { + "height": 67, + "width": 36, + "x": 93.84, + "y": 8.759167556762696 + }, + "propConfig": { + "props.elements[1].elements[0].visibility": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "running": "{view.custom.running}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027running\u0027] \u003d\u003d True:\n\t\tColor \u003d \u0027visible\u0027\n\telse:\n\t\tColor \u003d \u0027hidden\u0027\n\treturn Color\n", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "elements": [ + { + "name": "defs", + "type": "defs" + }, + { + "elements": [ + { + "d": "M171.1,.0L350.1,.0L225.6,297.7L451.2,297.7L31.1,814.6L171.1,430.8L.0,430.8L171.1,.0z", + "fill": { + "paint": "orange" + }, + "id": "shape1", + "name": "shape1", + "stroke": { + "paint": "#101843", + "width": "4" + }, + "transform": "translate(40.393701,40.393701)", + "type": "path" + } + ], + "id": "page1", + "name": "page1", + "transform": "translate(5.5,5.5)", + "type": "group" + } + ], + "viewBox": "0 0 541 905" + }, + "type": "ia.shapes.svg" + } + ], + "custom": { + "alarmSeverity": 0 + }, + "meta": { + "name": "root" + }, + "position": { + "x": -116, + "y": -133.63750076293945 + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7da28dca5c44c596d34c015457499127cebe647fed00181abc45ad6085259dd8 b/Gateways/FE/projects/.resources/7da28dca5c44c596d34c015457499127cebe647fed00181abc45ad6085259dd8 new file mode 100644 index 0000000..1233140 --- /dev/null +++ b/Gateways/FE/projects/.resources/7da28dca5c44c596d34c015457499127cebe647fed00181abc45ad6085259dd8 @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 1, + "OutputPower": 1, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "if(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M812.519,247.063c0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,-0 -4.166,1.867 -4.166,4.167c-0,2.299 1.867,4.166 4.166,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal", + "name": "Terminal", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M808.352,251.229l0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M804.186,191.897c-0,2.3 1.867,4.167 4.166,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,0 -4.166,1.867 -4.166,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal1", + "name": "Terminal1", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M808.352,187.73l0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M802.102,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.45,0 6.25,2.801 6.25,6.25c0,3.45 -2.8,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In", + "name": "In", + "type": "path" + }, + { + "d": "M808.352,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M816.094,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M835.095,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "\r\ncase(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 292, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(243.00001,42.999998)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(243,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(243,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(243,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7dae13a0bdf3c53961f315f3c7b5ffa3c50eee8dc8a124d13bb671e84324203a b/Gateways/FE/projects/.resources/7dae13a0bdf3c53961f315f3c7b5ffa3c50eee8dc8a124d13bb671e84324203a new file mode 100644 index 0000000..d8a90ea --- /dev/null +++ b/Gateways/FE/projects/.resources/7dae13a0bdf3c53961f315f3c7b5ffa3c50eee8dc8a124d13bb671e84324203a @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4591.67,191.897c-0,2.3 1.867,4.167 4.166,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,0 -4.166,1.867 -4.166,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal20", + "name": "Terminal20", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4595.83,187.73l0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4589.58,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.45,0 6.25,2.801 6.25,6.25c0,3.45 -2.8,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In10", + "name": "In10", + "type": "path" + }, + { + "d": "M4595.83,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4600,247.063c0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,-0 -4.166,1.867 -4.166,4.167c-0,2.299 1.867,4.166 4.166,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal21", + "name": "Terminal21", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4595.83,251.229l0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4603.57,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed10", + "name": "Closed10", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4622.58,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open10", + "name": "Open10", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB11", + "name": "CB11", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1695, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1646,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1646,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1646,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1646,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7dd7afc52a94a29c1fd791d60cdd62ae0ee9085b194522afa7d05d62d785dd22 b/Gateways/FE/projects/.resources/7dd7afc52a94a29c1fd791d60cdd62ae0ee9085b194522afa7d05d62d785dd22 new file mode 100644 index 0000000..38cdd8e Binary files /dev/null and b/Gateways/FE/projects/.resources/7dd7afc52a94a29c1fd791d60cdd62ae0ee9085b194522afa7d05d62d785dd22 differ diff --git a/Gateways/FE/projects/.resources/7de5f17e959f592ad353802bcfa87b09ada771c2a2ab516e1a5486b58af0b8d1 b/Gateways/FE/projects/.resources/7de5f17e959f592ad353802bcfa87b09ada771c2a2ab516e1a5486b58af0b8d1 new file mode 100644 index 0000000..3829f48 --- /dev/null +++ b/Gateways/FE/projects/.resources/7de5f17e959f592ad353802bcfa87b09ada771c2a2ab516e1a5486b58af0b8d1 @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "padding": "16px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7e00ba4ea250246179b190da1f0de0956406b46bb5ec7ec67166c35bc445a5aa b/Gateways/FE/projects/.resources/7e00ba4ea250246179b190da1f0de0956406b46bb5ec7ec67166c35bc445a5aa new file mode 100644 index 0000000..beffd0d Binary files /dev/null and b/Gateways/FE/projects/.resources/7e00ba4ea250246179b190da1f0de0956406b46bb5ec7ec67166c35bc445a5aa differ diff --git a/Gateways/FE/projects/.resources/7ee1c102626ee6da85404173d7b0c1ed348f9013e5972b7c684b57e74a8ae365 b/Gateways/FE/projects/.resources/7ee1c102626ee6da85404173d7b0c1ed348f9013e5972b7c684b57e74a8ae365 new file mode 100644 index 0000000..eab5997 --- /dev/null +++ b/Gateways/FE/projects/.resources/7ee1c102626ee6da85404173d7b0c1ed348f9013e5972b7c684b57e74a8ae365 @@ -0,0 +1,122 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Max Speed Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Max Speed Tmr" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_EF5" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7ee88c8c0fcb1fea527d049c01142c3cc090f7ecc484c91389a5163033208484 b/Gateways/FE/projects/.resources/7ee88c8c0fcb1fea527d049c01142c3cc090f7ecc484c91389a5163033208484 new file mode 100644 index 0000000..ce5f863 Binary files /dev/null and b/Gateways/FE/projects/.resources/7ee88c8c0fcb1fea527d049c01142c3cc090f7ecc484c91389a5163033208484 differ diff --git a/Gateways/FE/projects/.resources/7eebca7ff24a2c1e7411f7f49fe8b71f14b77520c0a99f344e64b7039d4972b7 b/Gateways/FE/projects/.resources/7eebca7ff24a2c1e7411f7f49fe8b71f14b77520c0a99f344e64b7039d4972b7 new file mode 100644 index 0000000..e460abb Binary files /dev/null and b/Gateways/FE/projects/.resources/7eebca7ff24a2c1e7411f7f49fe8b71f14b77520c0a99f344e64b7039d4972b7 differ diff --git a/Gateways/FE/projects/.resources/7eeff543627a0cc0f1fd2e1d44ed69d39d439c3aee04c880fab69b17661f3811 b/Gateways/FE/projects/.resources/7eeff543627a0cc0f1fd2e1d44ed69d39d439c3aee04c880fab69b17661f3811 new file mode 100644 index 0000000..86c1272 Binary files /dev/null and b/Gateways/FE/projects/.resources/7eeff543627a0cc0f1fd2e1d44ed69d39d439c3aee04c880fab69b17661f3811 differ diff --git a/Gateways/FE/projects/.resources/7efb5222e65b6ba10420916d56fb37346a2ddea39af9d5de09caa98d6293bbd4 b/Gateways/FE/projects/.resources/7efb5222e65b6ba10420916d56fb37346a2ddea39af9d5de09caa98d6293bbd4 new file mode 100644 index 0000000..d0adf3c Binary files /dev/null and b/Gateways/FE/projects/.resources/7efb5222e65b6ba10420916d56fb37346a2ddea39af9d5de09caa98d6293bbd4 differ diff --git a/Gateways/FE/projects/.resources/7f3d1b2de7b309cf5f10f74fe0bb9c16e9b9a664de06c81f8e428d1c0cc1a8f4 b/Gateways/FE/projects/.resources/7f3d1b2de7b309cf5f10f74fe0bb9c16e9b9a664de06c81f8e428d1c0cc1a8f4 new file mode 100644 index 0000000..7414dbb Binary files /dev/null and b/Gateways/FE/projects/.resources/7f3d1b2de7b309cf5f10f74fe0bb9c16e9b9a664de06c81f8e428d1c0cc1a8f4 differ diff --git a/Gateways/FE/projects/.resources/7f7bcb6d02486ccc4a632bf1c644e5c2440261e1c272de497c8e290827b83c28 b/Gateways/FE/projects/.resources/7f7bcb6d02486ccc4a632bf1c644e5c2440261e1c272de497c8e290827b83c28 new file mode 100644 index 0000000..69b54c8 Binary files /dev/null and b/Gateways/FE/projects/.resources/7f7bcb6d02486ccc4a632bf1c644e5c2440261e1c272de497c8e290827b83c28 differ diff --git a/Gateways/FE/projects/.resources/7f7cde2dc7d6252aab74eb566ac3fb6eed48712c08e7ca6107414a0faa8de01e b/Gateways/FE/projects/.resources/7f7cde2dc7d6252aab74eb566ac3fb6eed48712c08e7ca6107414a0faa8de01e new file mode 100644 index 0000000..61c82d6 Binary files /dev/null and b/Gateways/FE/projects/.resources/7f7cde2dc7d6252aab74eb566ac3fb6eed48712c08e7ca6107414a0faa8de01e differ diff --git a/Gateways/FE/projects/.resources/7f89a6bc2eb8bebb9c358f80886a41ced2b79c86acbf6d22de3af71254551f44 b/Gateways/FE/projects/.resources/7f89a6bc2eb8bebb9c358f80886a41ced2b79c86acbf6d22de3af71254551f44 new file mode 100644 index 0000000..5b6c633 Binary files /dev/null and b/Gateways/FE/projects/.resources/7f89a6bc2eb8bebb9c358f80886a41ced2b79c86acbf6d22de3af71254551f44 differ diff --git a/Gateways/FE/projects/.resources/7fb6579bd10cdd0fa190e5d78433dcc8f51583a28e60a0980f54b795a7381949 b/Gateways/FE/projects/.resources/7fb6579bd10cdd0fa190e5d78433dcc8f51583a28e60a0980f54b795a7381949 new file mode 100644 index 0000000..f4498cf --- /dev/null +++ b/Gateways/FE/projects/.resources/7fb6579bd10cdd0fa190e5d78433dcc8f51583a28e60a0980f54b795a7381949 @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Data Hall", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/7fe8710a72896e5d6d0b83410737cdd91c76bc591b5ae1361821f020b6437e8a b/Gateways/FE/projects/.resources/7fe8710a72896e5d6d0b83410737cdd91c76bc591b5ae1361821f020b6437e8a new file mode 100644 index 0000000..60aceb8 --- /dev/null +++ b/Gateways/FE/projects/.resources/7fe8710a72896e5d6d0b83410737cdd91c76bc591b5ae1361821f020b6437e8a @@ -0,0 +1,746 @@ +{ + "custom": { + "AlarmSeverity": -1, + "Layout": false, + "STS_Alarm": null, + "STS_Running": null + }, + "params": { + "objectName": "VSD", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD03" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Layout": { + "persistent": true + }, + "custom.STS_Alarm": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/ALARM" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.STS_Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Sts_Running" + }, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 80, + "width": 115 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "CHW Pump VFD" + }, + "position": { + "height": 0.625, + "rotate": {}, + "width": 0.4348, + "x": 0.0136, + "y": 0.1309 + }, + "propConfig": { + "custom.colorHandler.pump": { + "binding": { + "config": { + "expression": " if({view.custom.STS_Alarm},2,if({view.custom.STS_Running},1,0))" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "position.rotate.angle": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "transforms": [ + { + "fallback": "0deg", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "0deg" + }, + { + "input": true, + "output": "270deg" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.pump" + }, + "type": "property" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e0, \"solid\", \"none\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "cx": "11.625", + "cy": "11.625", + "fill": {}, + "name": "circle", + "r": "11.25", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M11.625,22.875l9.75,-16.5l-19.5,0l9.75,16.5Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Pump", + "name": "Pump", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": "2" + }, + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "height": 0.2, + "y": 0.7829 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "type": "property" + } + }, + "position.width": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.width" + }, + "type": "property" + } + }, + "position.x": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.x" + }, + "type": "property" + } + } + }, + "props": { + "text": "Running", + "textStyle": { + "color": "#0600FF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Tag02" + }, + "position": { + "basis": "34%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Load" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val_SpdFdbk" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "#0600FF", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "%", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "33%", + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "width": 0.513, + "x": 0.467 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "position.height": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.height" + }, + "type": "property" + } + }, + "position.y": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.y" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Tag01" + }, + "position": { + "height": 0.2, + "y": -0.0316 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "type": "property" + } + }, + "position.width": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.width" + }, + "type": "property" + } + }, + "position.x": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.x" + }, + "type": "property" + } + } + }, + "props": { + "text": "ASP01", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 0.25, + "width": 0.1739, + "x": 0.3652 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 3, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 3, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 2, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 1, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 4, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 4, \"visible\", \"hidden\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/80168f6ebaeed6a94b15af578029173dd575eba20d6567215b555e03f3393494 b/Gateways/FE/projects/.resources/80168f6ebaeed6a94b15af578029173dd575eba20d6567215b555e03f3393494 new file mode 100644 index 0000000..511442f Binary files /dev/null and b/Gateways/FE/projects/.resources/80168f6ebaeed6a94b15af578029173dd575eba20d6567215b555e03f3393494 differ diff --git a/Gateways/FE/projects/.resources/8048b39ad12a4bd4242cf6a42747e43c7f12a66bc443eeb02881a16cd651ce62 b/Gateways/FE/projects/.resources/8048b39ad12a4bd4242cf6a42747e43c7f12a66bc443eeb02881a16cd651ce62 new file mode 100644 index 0000000..d1c6587 Binary files /dev/null and b/Gateways/FE/projects/.resources/8048b39ad12a4bd4242cf6a42747e43c7f12a66bc443eeb02881a16cd651ce62 differ diff --git a/Gateways/FE/projects/.resources/805e565bd570cd9dfe7ce96ee2b7a0df17804dfa3d020a69693e87b106b94eed b/Gateways/FE/projects/.resources/805e565bd570cd9dfe7ce96ee2b7a0df17804dfa3d020a69693e87b106b94eed new file mode 100644 index 0000000..c968b46 Binary files /dev/null and b/Gateways/FE/projects/.resources/805e565bd570cd9dfe7ce96ee2b7a0df17804dfa3d020a69693e87b106b94eed differ diff --git a/Gateways/FE/projects/.resources/809f72422fdaba7984070b43ac25136b4a851edacd8b17feb2516a2d2065a601 b/Gateways/FE/projects/.resources/809f72422fdaba7984070b43ac25136b4a851edacd8b17feb2516a2d2065a601 new file mode 100644 index 0000000..f03f5bd --- /dev/null +++ b/Gateways/FE/projects/.resources/809f72422fdaba7984070b43ac25136b4a851edacd8b17feb2516a2d2065a601 @@ -0,0 +1,1034 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Deadband" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Celcius To Farenheit" + }, + { + "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": "ROC Deviation SP" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ROC Enabled" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ROC Interval SP" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ROC Sample SP" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + } + ], + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_DHT01" + }, + "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 + }, + "custom.auth": { + "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", + "name": "HiHi 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/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_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" + }, + { + "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/Celcius To Farenheit\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Boolean", + "name": "Celcius to Farenheit", + "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/PV Decimal Places\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "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/ROC Enabled\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Boolean", + "name": "ROC Enabled", + "options": [] + }, + "path": "Library/Framework/Tag ConfigV2" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_6" + }, + "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/ROC Deviation SP\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "name": "ROC Deviation SP", + "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" + }, + "enabled": false, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath}, \"/Config/ROC Interval SP\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Int8", + "enabled": false, + "max": 9999, + "min": -9999, + "name": "ROC Interval SP", + "options": [], + "visible": true + }, + "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" + }, + "enabled": false, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath}, \"/Config/ROC Sample SP\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Int8", + "enabled": false, + "name": "ROC Sample SP", + "options": [] + }, + "path": "Library/Framework/Tag ConfigV2" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_7" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/80be42ec8f9c69c19c727b6909aa7fa54aeea1201aea0bc28c502b2ef09acf7e b/Gateways/FE/projects/.resources/80be42ec8f9c69c19c727b6909aa7fa54aeea1201aea0bc28c502b2ef09acf7e new file mode 100644 index 0000000..a5e6930 Binary files /dev/null and b/Gateways/FE/projects/.resources/80be42ec8f9c69c19c727b6909aa7fa54aeea1201aea0bc28c502b2ef09acf7e differ diff --git a/Gateways/FE/projects/.resources/80f5053b72b813fe17bf53177ae852a4af9d0a5672d857b900ee770516c0d95e b/Gateways/FE/projects/.resources/80f5053b72b813fe17bf53177ae852a4af9d0a5672d857b900ee770516c0d95e new file mode 100644 index 0000000..119f5cb --- /dev/null +++ b/Gateways/FE/projects/.resources/80f5053b72b813fe17bf53177ae852a4af9d0a5672d857b900ee770516c0d95e @@ -0,0 +1,403 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Breaker", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Breaker X/Info" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/817dd6eeb18f55307b818a4d4144c89a1b2542b865ed488606ebcac587389b9d b/Gateways/FE/projects/.resources/817dd6eeb18f55307b818a4d4144c89a1b2542b865ed488606ebcac587389b9d new file mode 100644 index 0000000..d2dbddb --- /dev/null +++ b/Gateways/FE/projects/.resources/817dd6eeb18f55307b818a4d4144c89a1b2542b865ed488606ebcac587389b9d @@ -0,0 +1,142 @@ +{ + "custom": {}, + "params": { + "urlParam": "value" + }, + "propConfig": { + "params.urlParam": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1213 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Border CSS_0" + }, + "position": { + "basis": "208px" + }, + "props": { + "params": { + "color": "green" + }, + "path": "Testing/Border CSS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Border CSS" + }, + "position": { + "basis": "256px" + }, + "props": { + "params": { + "color": "orange" + }, + "path": "Testing/Border CSS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Border CSS_1" + }, + "position": { + "basis": "100px" + }, + "props": { + "params": { + "color": "black" + }, + "path": "Testing/Border CSS" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "props": { + "justify": "center", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.urlParam" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontFamily": "inherit" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "9px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.urlParam" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundImage": "linear-gradient(to right, rgb(0,0,0,0),rgb(0,0,0,0),rgb(0,0,0,0),rgb(0,0,0,0),rgb(0,0,0,0),rgb(0,125,0,1),rgb(0,0,0,0),rgb(0,0,0,0),rgb(0,0,0,0),rgb(0,0,0,0))" + }, + "textStyle": { + "fontFamily": "inherit" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8185cdf87ed89b2bad2b375aebfcd12463dd9703afdbb71e9e0017e739739e5f b/Gateways/FE/projects/.resources/8185cdf87ed89b2bad2b375aebfcd12463dd9703afdbb71e9e0017e739739e5f new file mode 100644 index 0000000..e52769a Binary files /dev/null and b/Gateways/FE/projects/.resources/8185cdf87ed89b2bad2b375aebfcd12463dd9703afdbb71e9e0017e739739e5f differ diff --git a/Gateways/FE/projects/.resources/8188a64f9cd85b480f90d32f0596d055720f57e42507afae5a3e77f141544de0 b/Gateways/FE/projects/.resources/8188a64f9cd85b480f90d32f0596d055720f57e42507afae5a3e77f141544de0 new file mode 100644 index 0000000..5b753fb --- /dev/null +++ b/Gateways/FE/projects/.resources/8188a64f9cd85b480f90d32f0596d055720f57e42507afae5a3e77f141544de0 @@ -0,0 +1,149 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Depleting Elapsed Time", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Mode", + "options": [ + "Off", + "Normal", + "Depleted", + "Recharging" + ] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Recharge Fail Elapsed Time", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System Not Ready", + "options": [ + "Ready", + "Not Ready" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/81f49d1767132a1db02e83b3bd1eca8356816b2953f6eb35e4bb8d69cad535a3 b/Gateways/FE/projects/.resources/81f49d1767132a1db02e83b3bd1eca8356816b2953f6eb35e4bb8d69cad535a3 new file mode 100644 index 0000000..d7d4e16 Binary files /dev/null and b/Gateways/FE/projects/.resources/81f49d1767132a1db02e83b3bd1eca8356816b2953f6eb35e4bb8d69cad535a3 differ diff --git a/Gateways/FE/projects/.resources/82029958c0584909021fbb9f4f00733765328dcfc5d4d8215a37184a618509b0 b/Gateways/FE/projects/.resources/82029958c0584909021fbb9f4f00733765328dcfc5d4d8215a37184a618509b0 new file mode 100644 index 0000000..1004bac Binary files /dev/null and b/Gateways/FE/projects/.resources/82029958c0584909021fbb9f4f00733765328dcfc5d4d8215a37184a618509b0 differ diff --git a/Gateways/FE/projects/.resources/82332a15f0f4944017d54c672bf58b723304ed49473e611af7b725f5e98b3430 b/Gateways/FE/projects/.resources/82332a15f0f4944017d54c672bf58b723304ed49473e611af7b725f5e98b3430 new file mode 100644 index 0000000..da3693e --- /dev/null +++ b/Gateways/FE/projects/.resources/82332a15f0f4944017d54c672bf58b723304ed49473e611af7b725f5e98b3430 @@ -0,0 +1,1553 @@ +{ + "custom": { + "alarmHi": 0, + "data": [ + { + "dwpt": 48.93775767938427, + "t_stamp": 1776971595257 + }, + { + "dwpt": 48.93954980623839, + "t_stamp": 1776971625257 + }, + { + "dwpt": 48.94134193309251, + "t_stamp": 1776971655257 + }, + { + "dwpt": 48.94313405994663, + "t_stamp": 1776971685257 + }, + { + "dwpt": 48.94492618680076, + "t_stamp": 1776971715257 + }, + { + "dwpt": 48.94671831365488, + "t_stamp": 1776971745257 + }, + { + "dwpt": 48.948510440509, + "t_stamp": 1776971775257 + }, + { + "dwpt": 48.95030256736312, + "t_stamp": 1776971805257 + }, + { + "dwpt": 48.952094694217244, + "t_stamp": 1776971835257 + }, + { + "dwpt": 48.953826904296875, + "t_stamp": 1776971865257 + }, + { + "dwpt": 48.954286565869715, + "t_stamp": 1776971895257 + }, + { + "dwpt": 48.95473135660561, + "t_stamp": 1776971925257 + }, + { + "dwpt": 48.95517614734151, + "t_stamp": 1776971955257 + }, + { + "dwpt": 48.955620938077416, + "t_stamp": 1776971985257 + }, + { + "dwpt": 48.956065728813314, + "t_stamp": 1776972015257 + }, + { + "dwpt": 48.95651051954921, + "t_stamp": 1776972045257 + }, + { + "dwpt": 48.95695531028512, + "t_stamp": 1776972075257 + }, + { + "dwpt": 48.957400101021015, + "t_stamp": 1776972105257 + }, + { + "dwpt": 48.95784489175691, + "t_stamp": 1776972135257 + }, + { + "dwpt": 48.958274841308594, + "t_stamp": 1776972165257 + }, + { + "dwpt": 48.958274841308594, + "t_stamp": 1776972195257 + }, + { + "dwpt": 48.958274841308594, + "t_stamp": 1776972225257 + }, + { + "dwpt": 48.958274841308594, + "t_stamp": 1776972255257 + }, + { + "dwpt": 48.958274841308594, + "t_stamp": 1776972285257 + }, + { + "dwpt": 48.958274841308594, + "t_stamp": 1776972315257 + }, + { + "dwpt": 48.958274841308594, + "t_stamp": 1776972345257 + }, + { + "dwpt": 48.96246632260701, + "t_stamp": 1776972375257 + }, + { + "dwpt": 48.966522594831275, + "t_stamp": 1776972405257 + }, + { + "dwpt": 48.97057886705554, + "t_stamp": 1776972435257 + }, + { + "dwpt": 48.97463513927981, + "t_stamp": 1776972465257 + }, + { + "dwpt": 48.97869141150408, + "t_stamp": 1776972495257 + }, + { + "dwpt": 48.98261260986328, + "t_stamp": 1776972525257 + }, + { + "dwpt": 48.97307560214996, + "t_stamp": 1776972555257 + }, + { + "dwpt": 48.970306396484375, + "t_stamp": 1776972585257 + }, + { + "dwpt": 48.98039213175324, + "t_stamp": 1776972615257 + }, + { + "dwpt": 48.98632503353692, + "t_stamp": 1776972645257 + }, + { + "dwpt": 48.9922579353206, + "t_stamp": 1776972675257 + }, + { + "dwpt": 48.99799346923828, + "t_stamp": 1776972705257 + }, + { + "dwpt": 48.98232587224112, + "t_stamp": 1776972735257 + }, + { + "dwpt": 48.96766662597656, + "t_stamp": 1776972765257 + }, + { + "dwpt": 48.99042862892151, + "t_stamp": 1776972795257 + }, + { + "dwpt": 49.01172637939453, + "t_stamp": 1776972825257 + }, + { + "dwpt": 49.00887027115255, + "t_stamp": 1776972855257 + }, + { + "dwpt": 49.0061060279271, + "t_stamp": 1776972885257 + }, + { + "dwpt": 49.00334178470165, + "t_stamp": 1776972915257 + }, + { + "dwpt": 49.0005775414762, + "t_stamp": 1776972945257 + }, + { + "dwpt": 48.99781329825075, + "t_stamp": 1776972975257 + }, + { + "dwpt": 48.99504905502529, + "t_stamp": 1776973005257 + }, + { + "dwpt": 48.99228481179984, + "t_stamp": 1776973035257 + }, + { + "dwpt": 48.991455078125, + "t_stamp": 1776973065257 + }, + { + "dwpt": 48.99073126712821, + "t_stamp": 1776973095257 + }, + { + "dwpt": 48.99030545420727, + "t_stamp": 1776973125257 + }, + { + "dwpt": 48.98987964128632, + "t_stamp": 1776973155257 + }, + { + "dwpt": 48.98945382836538, + "t_stamp": 1776973185257 + }, + { + "dwpt": 48.98902801544443, + "t_stamp": 1776973215257 + }, + { + "dwpt": 48.98860220252349, + "t_stamp": 1776973245257 + }, + { + "dwpt": 48.98817638960254, + "t_stamp": 1776973275257 + }, + { + "dwpt": 48.9877505766816, + "t_stamp": 1776973305257 + }, + { + "dwpt": 48.987324763760654, + "t_stamp": 1776973335257 + }, + { + "dwpt": 48.98689895083971, + "t_stamp": 1776973365257 + }, + { + "dwpt": 48.986473137918765, + "t_stamp": 1776973395257 + }, + { + "dwpt": 48.98604732499782, + "t_stamp": 1776973425257 + }, + { + "dwpt": 48.985621512076875, + "t_stamp": 1776973455257 + }, + { + "dwpt": 48.98519569915593, + "t_stamp": 1776973485257 + }, + { + "dwpt": 48.984769886234986, + "t_stamp": 1776973515257 + }, + { + "dwpt": 48.984642028808594, + "t_stamp": 1776973545257 + }, + { + "dwpt": 48.98321690333607, + "t_stamp": 1776973575257 + }, + { + "dwpt": 48.982378462714486, + "t_stamp": 1776973605257 + }, + { + "dwpt": 48.9815400220929, + "t_stamp": 1776973635257 + }, + { + "dwpt": 48.980701581471315, + "t_stamp": 1776973665257 + }, + { + "dwpt": 48.97986314084974, + "t_stamp": 1776973695257 + }, + { + "dwpt": 48.97902470022815, + "t_stamp": 1776973725257 + }, + { + "dwpt": 48.97818625960657, + "t_stamp": 1776973755257 + }, + { + "dwpt": 48.97734781898499, + "t_stamp": 1776973785257 + }, + { + "dwpt": 48.9765093783634, + "t_stamp": 1776973815257 + }, + { + "dwpt": 48.97567093774182, + "t_stamp": 1776973845257 + }, + { + "dwpt": 48.97513961791992, + "t_stamp": 1776973875257 + }, + { + "dwpt": 48.98038324575191, + "t_stamp": 1776973905257 + }, + { + "dwpt": 48.98422107626643, + "t_stamp": 1776973935257 + }, + { + "dwpt": 48.98805890678095, + "t_stamp": 1776973965257 + }, + { + "dwpt": 48.99189673729547, + "t_stamp": 1776973995257 + }, + { + "dwpt": 48.99304962158203, + "t_stamp": 1776974025257 + }, + { + "dwpt": 49.01760207339745, + "t_stamp": 1776974055257 + }, + { + "dwpt": 49.06324768066406, + "t_stamp": 1776974085257 + }, + { + "dwpt": 49.072952395248414, + "t_stamp": 1776974115257 + }, + { + "dwpt": 49.075775146484375, + "t_stamp": 1776974145257 + }, + { + "dwpt": 49.162017822265625, + "t_stamp": 1776974175257 + }, + { + "dwpt": 49.18662643432617, + "t_stamp": 1776974205257 + }, + { + "dwpt": 49.22480392456055, + "t_stamp": 1776974235257 + }, + { + "dwpt": 49.33439254760742, + "t_stamp": 1776974265257 + }, + { + "dwpt": 49.34982358887006, + "t_stamp": 1776974295257 + }, + { + "dwpt": 49.36427307128906, + "t_stamp": 1776974325257 + }, + { + "dwpt": 49.4187126159668, + "t_stamp": 1776974355257 + }, + { + "dwpt": 49.44184112548828, + "t_stamp": 1776974385257 + }, + { + "dwpt": 49.41184616088867, + "t_stamp": 1776974415257 + }, + { + "dwpt": 49.43357675565803, + "t_stamp": 1776974445257 + }, + { + "dwpt": 49.44950555188255, + "t_stamp": 1776974475257 + }, + { + "dwpt": 49.46491241455078, + "t_stamp": 1776974505257 + }, + { + "dwpt": 49.44029998779297, + "t_stamp": 1776974535257 + }, + { + "dwpt": 49.502130354649005, + "t_stamp": 1776974565257 + }, + { + "dwpt": 49.547393061895804, + "t_stamp": 1776974595257 + }, + { + "dwpt": 49.56104278564453, + "t_stamp": 1776974625257 + }, + { + "dwpt": 49.56673410634496, + "t_stamp": 1776974655257 + }, + { + "dwpt": 49.56774139404297, + "t_stamp": 1776974685257 + }, + { + "dwpt": 49.60948944091797, + "t_stamp": 1776974715257 + }, + { + "dwpt": 49.63447910619303, + "t_stamp": 1776974745257 + }, + { + "dwpt": 49.652772258265934, + "t_stamp": 1776974775257 + }, + { + "dwpt": 49.65827178955078, + "t_stamp": 1776974805257 + }, + { + "dwpt": 49.648982267634075, + "t_stamp": 1776974835257 + }, + { + "dwpt": 49.6473388671875, + "t_stamp": 1776974865257 + }, + { + "dwpt": 49.67273498431588, + "t_stamp": 1776974895257 + }, + { + "dwpt": 49.68767944428825, + "t_stamp": 1776974925257 + }, + { + "dwpt": 49.70262390426062, + "t_stamp": 1776974955257 + }, + { + "dwpt": 49.71756836423299, + "t_stamp": 1776974985257 + }, + { + "dwpt": 49.72704315185547, + "t_stamp": 1776975015257 + }, + { + "dwpt": 49.71781476653944, + "t_stamp": 1776975045257 + }, + { + "dwpt": 49.711058993980124, + "t_stamp": 1776975075257 + }, + { + "dwpt": 49.70430322142081, + "t_stamp": 1776975105257 + }, + { + "dwpt": 49.70001983642578, + "t_stamp": 1776975135257 + }, + { + "dwpt": 49.745941162109375, + "t_stamp": 1776975165257 + }, + { + "dwpt": 49.75809344210157, + "t_stamp": 1776975195257 + }, + { + "dwpt": 49.769861685097325, + "t_stamp": 1776975225257 + }, + { + "dwpt": 49.78162992809309, + "t_stamp": 1776975255257 + }, + { + "dwpt": 49.79301452636719, + "t_stamp": 1776975285257 + }, + { + "dwpt": 49.808630525051086, + "t_stamp": 1776975315257 + }, + { + "dwpt": 49.81317901611328, + "t_stamp": 1776975345257 + }, + { + "dwpt": 49.83413907283911, + "t_stamp": 1776975375257 + }, + { + "dwpt": 49.84647408081868, + "t_stamp": 1776975405257 + }, + { + "dwpt": 49.85880908879825, + "t_stamp": 1776975435257 + }, + { + "dwpt": 49.87074279785156, + "t_stamp": 1776975465257 + }, + { + "dwpt": 49.885271069335936, + "t_stamp": 1776975495257 + }, + { + "dwpt": 49.89934158020019, + "t_stamp": 1776975525257 + }, + { + "dwpt": 49.90826416015625, + "t_stamp": 1776975555257 + }, + { + "dwpt": 49.88678741455078, + "t_stamp": 1776975585257 + }, + { + "dwpt": 49.91400348516351, + "t_stamp": 1776975615257 + }, + { + "dwpt": 49.93002047587251, + "t_stamp": 1776975645257 + }, + { + "dwpt": 49.94017791748047, + "t_stamp": 1776975675257 + }, + { + "dwpt": 49.943929290771486, + "t_stamp": 1776975705257 + }, + { + "dwpt": 49.94567108154297, + "t_stamp": 1776975735257 + }, + { + "dwpt": 49.96929489002284, + "t_stamp": 1776975765257 + }, + { + "dwpt": 49.98027801513672, + "t_stamp": 1776975795257 + }, + { + "dwpt": 49.9922582574515, + "t_stamp": 1776975825257 + }, + { + "dwpt": 50.00103499174805, + "t_stamp": 1776975855257 + }, + { + "dwpt": 50.009811726044596, + "t_stamp": 1776975885257 + }, + { + "dwpt": 50.01858846034114, + "t_stamp": 1776975915257 + }, + { + "dwpt": 50.02708053588867, + "t_stamp": 1776975945257 + }, + { + "dwpt": 50.05751037597656, + "t_stamp": 1776975975257 + }, + { + "dwpt": 50.043951386451724, + "t_stamp": 1776976005257 + }, + { + "dwpt": 50.034023636817935, + "t_stamp": 1776976035257 + }, + { + "dwpt": 50.031036376953125, + "t_stamp": 1776976065257 + }, + { + "dwpt": 50.05364536853735, + "t_stamp": 1776976095257 + }, + { + "dwpt": 50.06652069091797, + "t_stamp": 1776976125257 + }, + { + "dwpt": 50.10275988273621, + "t_stamp": 1776976155257 + }, + { + "dwpt": 50.11332321166992, + "t_stamp": 1776976185257 + }, + { + "dwpt": 50.121934487276356, + "t_stamp": 1776976215257 + }, + { + "dwpt": 50.12683868408203, + "t_stamp": 1776976245257 + }, + { + "dwpt": 50.145294189453125, + "t_stamp": 1776976275257 + }, + { + "dwpt": 50.132325863933566, + "t_stamp": 1776976305257 + }, + { + "dwpt": 50.12283012876511, + "t_stamp": 1776976335257 + }, + { + "dwpt": 50.119972229003906, + "t_stamp": 1776976365257 + }, + { + "dwpt": 50.137004795774764, + "t_stamp": 1776976395257 + }, + { + "dwpt": 50.14002227783203, + "t_stamp": 1776976425257 + }, + { + "dwpt": 50.15262167358399, + "t_stamp": 1776976455257 + }, + { + "dwpt": 50.15979766845703, + "t_stamp": 1776976485257 + }, + { + "dwpt": 50.19883644354051, + "t_stamp": 1776976515257 + }, + { + "dwpt": 50.21022033691406, + "t_stamp": 1776976545257 + }, + { + "dwpt": 50.216957381629946, + "t_stamp": 1776976575257 + }, + { + "dwpt": 50.22092275943756, + "t_stamp": 1776976605257 + }, + { + "dwpt": 50.22488813724518, + "t_stamp": 1776976635257 + }, + { + "dwpt": 50.2288535150528, + "t_stamp": 1776976665257 + }, + { + "dwpt": 50.23136901855469, + "t_stamp": 1776976695257 + }, + { + "dwpt": 50.25269383798683, + "t_stamp": 1776976725257 + }, + { + "dwpt": 50.268309171115895, + "t_stamp": 1776976755257 + }, + { + "dwpt": 50.28392450424496, + "t_stamp": 1776976785257 + }, + { + "dwpt": 50.29383087158203, + "t_stamp": 1776976815257 + }, + { + "dwpt": 50.31239318847656, + "t_stamp": 1776976845257 + }, + { + "dwpt": 50.32179212990103, + "t_stamp": 1776976875257 + }, + { + "dwpt": 50.33089727852973, + "t_stamp": 1776976905257 + }, + { + "dwpt": 50.340002427158446, + "t_stamp": 1776976935257 + }, + { + "dwpt": 50.34910757578715, + "t_stamp": 1776976965257 + }, + { + "dwpt": 50.358212724415864, + "t_stamp": 1776976995257 + }, + { + "dwpt": 50.37303924560547, + "t_stamp": 1776977025257 + }, + { + "dwpt": 50.35304260253906, + "t_stamp": 1776977055257 + }, + { + "dwpt": 50.390848921012875, + "t_stamp": 1776977085257 + }, + { + "dwpt": 50.418535040092465, + "t_stamp": 1776977115257 + }, + { + "dwpt": 50.42687225341797, + "t_stamp": 1776977145257 + }, + { + "dwpt": 50.427852677998885, + "t_stamp": 1776977175257 + }, + { + "dwpt": 50.42842978307732, + "t_stamp": 1776977205257 + }, + { + "dwpt": 50.429006888155754, + "t_stamp": 1776977235257 + }, + { + "dwpt": 50.4295654296875, + "t_stamp": 1776977265257 + }, + { + "dwpt": 50.45530620416005, + "t_stamp": 1776977295257 + }, + { + "dwpt": 50.47944259643555, + "t_stamp": 1776977325257 + }, + { + "dwpt": 50.476891190950184, + "t_stamp": 1776977355257 + }, + { + "dwpt": 50.47441929802072, + "t_stamp": 1776977385257 + }, + { + "dwpt": 50.47285079956055, + "t_stamp": 1776977415257 + }, + { + "dwpt": 50.50048065185547, + "t_stamp": 1776977445257 + }, + { + "dwpt": 50.512048176552, + "t_stamp": 1776977475257 + }, + { + "dwpt": 50.52289581298828, + "t_stamp": 1776977505257 + }, + { + "dwpt": 50.528133008651736, + "t_stamp": 1776977535257 + }, + { + "dwpt": 50.53320731895447, + "t_stamp": 1776977565257 + }, + { + "dwpt": 50.5382816292572, + "t_stamp": 1776977595257 + }, + { + "dwpt": 50.53981018066406, + "t_stamp": 1776977625257 + }, + { + "dwpt": 50.526655430376614, + "t_stamp": 1776977655257 + }, + { + "dwpt": 50.524322509765625, + "t_stamp": 1776977685257 + }, + { + "dwpt": 50.54762676143646, + "t_stamp": 1776977715257 + }, + { + "dwpt": 50.56090545654297, + "t_stamp": 1776977745257 + }, + { + "dwpt": 50.56719805994804, + "t_stamp": 1776977775257 + }, + { + "dwpt": 50.57329514999882, + "t_stamp": 1776977805257 + }, + { + "dwpt": 50.5793922400496, + "t_stamp": 1776977835257 + }, + { + "dwpt": 50.58548933010038, + "t_stamp": 1776977865257 + }, + { + "dwpt": 50.59158642015116, + "t_stamp": 1776977895257 + }, + { + "dwpt": 50.59748840332031, + "t_stamp": 1776977925257 + }, + { + "dwpt": 50.61288116455078, + "t_stamp": 1776977955257 + }, + { + "dwpt": 50.6273193359375, + "t_stamp": 1776977985257 + }, + { + "dwpt": 50.621309860229495, + "t_stamp": 1776978015257 + }, + { + "dwpt": 50.61567306518555, + "t_stamp": 1776978045257 + }, + { + "dwpt": 50.65073530124952, + "t_stamp": 1776978075257 + }, + { + "dwpt": 50.683624267578125, + "t_stamp": 1776978105257 + }, + { + "dwpt": 50.68858735597029, + "t_stamp": 1776978135257 + }, + { + "dwpt": 50.69339670548949, + "t_stamp": 1776978165257 + }, + { + "dwpt": 50.6982060550087, + "t_stamp": 1776978195257 + }, + { + "dwpt": 50.703015404527896, + "t_stamp": 1776978225257 + }, + { + "dwpt": 50.7078247540471, + "t_stamp": 1776978255257 + }, + { + "dwpt": 50.70927429199219, + "t_stamp": 1776978285257 + }, + { + "dwpt": 50.7228862356048, + "t_stamp": 1776978315257 + }, + { + "dwpt": 50.73064422607422, + "t_stamp": 1776978345257 + }, + { + "dwpt": 50.7369174785509, + "t_stamp": 1776978375257 + }, + { + "dwpt": 50.74299680065254, + "t_stamp": 1776978405257 + }, + { + "dwpt": 50.74907612275418, + "t_stamp": 1776978435257 + }, + { + "dwpt": 50.755155444855816, + "t_stamp": 1776978465257 + }, + { + "dwpt": 50.76123476695746, + "t_stamp": 1776978495257 + }, + { + "dwpt": 50.767120361328125, + "t_stamp": 1776978525257 + }, + { + "dwpt": 50.77496639402143, + "t_stamp": 1776978555257 + }, + { + "dwpt": 50.78257012127299, + "t_stamp": 1776978585257 + }, + { + "dwpt": 50.790173848524546, + "t_stamp": 1776978615257 + }, + { + "dwpt": 50.7977775757761, + "t_stamp": 1776978645257 + }, + { + "dwpt": 50.80260467529297, + "t_stamp": 1776978675257 + }, + { + "dwpt": 50.788244449297586, + "t_stamp": 1776978705257 + }, + { + "dwpt": 50.78156661987305, + "t_stamp": 1776978735257 + }, + { + "dwpt": 50.78156661987305, + "t_stamp": 1776978765257 + } + ], + "hiRange": 65, + "loRange": 30, + "tagPath": [ + { + "aggregate": "LastValue", + "alias": "dwpt", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh5/opc tags/satb1_dh5_dwpt" + } + ] + }, + "params": { + "DH": "DH5" + }, + "propConfig": { + "custom.alarmHi": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--sunsetorange)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.tagPath}", + "valueFormat": "DOCUMENT" + }, + "enabled": false, + "type": "tag-history" + }, + "persistent": true + }, + "custom.hiRange": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/Memory/{DH} Dwpt Hi Limit" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.loRange": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/Memory/{DH} Dwpt Lo Limit" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.tagPath": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "enabled": false, + "transforms": [ + { + "code": "\tdh\u003d value.lower()\n\tpath \u003d \"[Ignition_Hist/ignition-satb1-io6:default]\" + dh + \"/opc tags/satb1_\" + dh + \"_dwpt\"\n\toutput \u003d {}\n\toutput[\u0027path\u0027] \u003d path\n\toutput[\u0027alias\u0027] \u003d \u0027dwpt\u0027\n\toutput[\u0027aggregate\u0027] \u003d \u0027LastValue\u0027\n\toutputArray \u003d []\n\toutputArray.append(output)\n\treturn outputArray", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 140, + "width": 125 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "time01" + }, + "position": { + "height": 25, + "width": 37, + "x": 85, + "y": 60 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "time02" + }, + "position": { + "height": 25, + "width": 38, + "x": 6, + "y": 60 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-7200000" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Sparkline", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 65, + "width": 108, + "x": 10.5, + "y": 5.5 + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "code": "\tdata \u003d []\n\tfor item in value:\n\t\tdata.append(item[\u0027dwpt\u0027])\n\treturn data", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.max": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.min": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "transforms": [ + { + "expression": "min({value})", + "type": "expression" + } + ], + "type": "property" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "min": "{this.custom.min}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "\"Max: \" + {value}[\u0027max\u0027] + \" | \" + \"Min: \" + {value}[\u0027min\u0027]\r\n", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.desired.high": { + "binding": { + "config": { + "path": "view.custom.hiRange" + }, + "type": "property" + } + }, + "props.desired.low": { + "binding": { + "config": { + "path": "view.custom.hiRange" + }, + "type": "property" + } + }, + "props.points": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "type": "property" + } + }, + "props.range.high": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "range": "{view.custom.hiRange}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027max\u0027] \u003c value[\u0027range\u0027]:\n\t\treturn value[\u0027range\u0027]\n\telse:\n\t\treturn value[\u0027max\u0027]+0.7", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.range.low": { + "binding": { + "config": { + "struct": { + "min": "{this.custom.min}", + "range": "{view.custom.loRange}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027min\u0027] \u003e value[\u0027range\u0027]:\n\t\treturn value[\u0027range\u0027]\n\telse:\n\t\treturn value[\u0027min\u0027]-0.7", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "desired": { + "fill": { + "color": "var(--container)" + } + }, + "marker": { + "high": { + "fill": { + "color": "#FB9306" + }, + "style": { + "transform": "rotate(180)" + } + } + }, + "range": {} + }, + "type": "ia.display.sparkline" + }, + { + "meta": { + "name": "Border" + }, + "position": { + "height": 35, + "width": 89, + "x": 13, + "y": 91.5 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--sunsetorange)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "enabled": false, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "outlineColor": "white", + "outlineStyle": "none", + "outlineWidth": 3 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "height": 32, + "width": 39, + "x": 18.50446319580078, + "y": 84.5011157989502 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.00", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 50.79, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 32, + "width": 41, + "x": 60.50446319580078, + "y": 84.5011157989502 + }, + "props": { + "text": "degF" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_0" + }, + "position": { + "height": 17, + "width": 74, + "x": 20.5, + "y": 108.5 + }, + "props": { + "text": "Dewpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 29, + "rotate": { + "anchor": "50% 100%" + }, + "width": 32, + "x": 87.9945, + "y": 75.5011 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "enabled": false, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 3 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "AlarmSeverity": 0, + "ack": false + }, + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root", + "tooltip": { + "width": "" + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/824f99b26a939eca357ea23372e132f1ce6f16d772e98d93d684eeeb6f44d9ef b/Gateways/FE/projects/.resources/824f99b26a939eca357ea23372e132f1ce6f16d772e98d93d684eeeb6f44d9ef new file mode 100644 index 0000000..25deb25 --- /dev/null +++ b/Gateways/FE/projects/.resources/824f99b26a939eca357ea23372e132f1ce6f16d772e98d93d684eeeb6f44d9ef @@ -0,0 +1,650 @@ +{ + "custom": { + "adjusted": 1753686060271, + "ampm": "value", + "hour": "value", + "min": "value", + "mtime": "value", + "time": { + "$": [ + "ts", + 0, + 1753734507366 + ], + "$ts": 1753686060271 + } + }, + "params": { + "GoTo": "", + "zoom": "" + }, + "propConfig": { + "custom.adjusted": { + "binding": { + "config": { + "expression": "toMillis({view.custom.time})" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.ampm": { + "persistent": true + }, + "custom.hour": { + "persistent": true + }, + "custom.min": { + "persistent": true + }, + "custom.mtime": { + "persistent": true + }, + "custom.time": { + "persistent": true + }, + "params.GoTo": { + "paramDirection": "input", + "persistent": true + }, + "params.zoom": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 922 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "fontSize": 20, + "fontWeight": "600" + }, + "text": "Theme Control" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RadioGroup" + }, + "position": { + "basis": "35px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.props.theme" + }, + "type": "property" + } + } + }, + "props": { + "index": 1, + "radios": [ + { + "selected": false, + "text": "Light", + "value": "stream-light" + }, + { + "selected": true, + "text": "Dark", + "value": "stream-dark" + } + ] + }, + "type": "ia.input.radio-group" + } + ], + "meta": { + "name": "Theme" + }, + "position": { + "basis": "89px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "fontSize": 20, + "fontWeight": "600" + }, + "text": "One Line Colors" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "olGreen", + "textStyle": { + "color": "--olGreen", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "olYellow", + "textStyle": { + "color": "--olYellow", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "olRed", + "textStyle": { + "color": "--olRed", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "olGray", + "textStyle": { + "backgroundColor": "--olLightGray", + "color": "--olGray", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "OneLine" + }, + "position": { + "basis": "155px" + }, + "props": { + "direction": "column", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "fontSize": 20, + "fontWeight": "600" + }, + "text": "Stream Color Palette" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "streamnavy", + "textStyle": { + "color": "--streamnavy", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "streamblue", + "textStyle": { + "color": "--streamblue", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "darkbluegray", + "textStyle": { + "backgroundColor": "#FFFFFF", + "color": "--darkbluegray", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "darkgray", + "textStyle": { + "color": "--darkgray", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "tagvalue-color", + "textStyle": { + "color": "--tagvalue-color", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "units-color", + "textStyle": { + "color": "--units-color", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "241px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "gray", + "textStyle": { + "color": "--gray", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "lightgray", + "textStyle": { + "backgroundColor": "#000000", + "color": "--lightgray", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "darkred", + "textStyle": { + "color": "--darkred", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "241px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "alarmred", + "textStyle": { + "color": "--alarmred", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "sunsetorange", + "textStyle": { + "color": "--sunsetorange", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "goldenyellow", + "textStyle": { + "color": "--goldenyellow", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "coolpurple", + "textStyle": { + "color": "--coolpurple", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "241px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "hpWhite", + "textStyle": { + "color": "--state-running", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "hpGray", + "textStyle": { + "color": "--state-standby", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "hpRed", + "textStyle": { + "color": "--state-faulted", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "hpBlue", + "textStyle": { + "color": "--hpBlue", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "hpPurple", + "textStyle": { + "color": "--hpPurple", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "241px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "OneLine_0" + }, + "position": { + "basis": "278px" + }, + "props": { + "direction": "column", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "gap": "6px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/82b0c40df933f3531750f1520425f846a23c18f28682d2bc3ade9dd271001f2a b/Gateways/FE/projects/.resources/82b0c40df933f3531750f1520425f846a23c18f28682d2bc3ade9dd271001f2a new file mode 100644 index 0000000..7c2e95f --- /dev/null +++ b/Gateways/FE/projects/.resources/82b0c40df933f3531750f1520425f846a23c18f28682d2bc3ade9dd271001f2a @@ -0,0 +1,489 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 1", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 2", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 3", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 4", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 5", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Ground Current", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input AB THD-F", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input BC THD-F", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input CA THD-F", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Frequency", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage AB", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage BC", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage CA", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Breaker", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Neutral Current", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output A KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output A PF", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output B KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output B PF", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output C KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output C PF", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output KVA", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output KWh", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Total KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage AB", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage AN", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage BC", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage BN", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage CA", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage CN", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "SPD Alarm", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/82c182b8406b1b067cb62cd65029e826f16d1bc57d1bf999000f85994b7de9e3 b/Gateways/FE/projects/.resources/82c182b8406b1b067cb62cd65029e826f16d1bc57d1bf999000f85994b7de9e3 new file mode 100644 index 0000000..e44daea --- /dev/null +++ b/Gateways/FE/projects/.resources/82c182b8406b1b067cb62cd65029e826f16d1bc57d1bf999000f85994b7de9e3 @@ -0,0 +1,444 @@ +{ + "custom": { + "DOAS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/DOAS1", + "data": [ + "[Ignition_Common_IO_Gtwy]Roof/DOAS1", + "[Ignition_Common_IO_Gtwy]Roof/DOAS2", + "[Ignition_Common_IO_Gtwy]Roof/DOAS3" + ], + "key": null, + "tagPath": "[Ignition_Common_IO_Gtwy]", + "tpe": "AnalogIn" + }, + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_RM1200_SpaceDP" + }, + "propConfig": { + "custom.DOAS_tagPath": { + "binding": { + "config": { + "path": "view.custom.key" + }, + "transforms": [ + { + "code": "\toutput \u003d \"\"\n\tif(value is None):\n\t\toutput \u003d \"[Ignition_Common_IO_Gtwy]Roof/DOAS1\"\n\telse:\n\t\toutput \u003d self.custom.data[value]\n\treturn output", + "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/DOAS\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\toutput.append(str(item[\"fullPath\"]))\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.key": { + "binding": { + "config": { + "path": "/root/Location/Table.props.selection.selectedRow" + }, + "transforms": [ + { + "code": "\tif(value \u003d\u003d \"null\"):\n\t\tvalue \u003d 0\n\treturn value", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.tagPath": { + "persistent": true + }, + "custom.tpe": { + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "SecondFloor Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 5, + "paddingLeft": 15, + "paddingRight": 15, + "paddingTop": 5 + }, + "text": "Second Floor" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "grow": 1 + }, + "props": { + "params": { + "embedded": false, + "objectName": "EF", + "tagPath": "[Ignition_Common_IO_Gtwy]RT_Tags/SATB1_HS1_RT_EF02" + }, + "path": "Library/Diagrams/HVAC/Dgrm_EF", + "style": { + "borderBottomLeftRadius": "var(-borderRadius)", + "borderBottomRightRadius": "var(-borderRadius)", + "borderTopLeftRadius": "var(-borderRadius)", + "borderTopRightRadius": "var(-borderRadius)", + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "grow": 1 + }, + "props": { + "params": { + "embedded": false, + "objectName": "EF_V2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_ER1229_EF4_VFD" + }, + "path": "Library/Diagrams/HVAC/Dgrm_EF_VFD", + "style": { + "borderBottomLeftRadius": "var(-borderRadius)", + "borderBottomRightRadius": "var(-borderRadius)", + "borderTopLeftRadius": "var(-borderRadius)", + "borderTopRightRadius": "var(-borderRadius)", + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "grow": 1 + }, + "props": { + "params": { + "embedded": false, + "objectName": "EF_V2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_ER1229_EF5_VFD" + }, + "path": "Library/Diagrams/HVAC/Dgrm_EF_VFD", + "style": { + "borderBottomLeftRadius": "var(-borderRadius)", + "borderBottomRightRadius": "var(-borderRadius)", + "borderTopLeftRadius": "var(-borderRadius)", + "borderTopRightRadius": "var(-borderRadius)", + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Space DP" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Transmitter_3" + }, + "position": { + "grow": 1 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Val": 0.108 + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "7.7%" + }, + "props": { + "style": { + "gap": "5px", + "padding": "25px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "30%" + }, + "props": { + "params": { + "dataType": "Float4", + "enabled": true, + "max": 120, + "min": 0, + "name": "Space DP Setpoint", + "options": [], + "tagPath": "[default]simulator/DH/Temp16", + "visible": true + }, + "path": "Library/Framework/Tag ConfigV2", + "style": { + "overflow": "visible", + "padding": "17px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "basis": "30%" + }, + "props": { + "params": { + "dataType": "Boolean", + "enabled": false, + "max": 9999, + "min": -9999, + "name": "Enable RM1200 EF", + "options": [], + "tagPath": "[default]simulator/TestBoolean", + "visible": true + }, + "path": "Library/Framework/Tag ConfigV2", + "style": { + "padding": "17px" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "450px" + }, + "props": { + "direction": "column", + "style": { + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "4px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "28.4%" + }, + "props": { + "style": { + "gap": "50px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FirstFloor Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 5, + "paddingLeft": 15, + "paddingRight": 15, + "paddingTop": 5 + }, + "text": "First Floor" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "props": { + "params": { + "embedded": false, + "objectName": "EF", + "tagPath": "[Ignition_Common_IO_Gtwy]SR1133/SATB1_HS1_SR1136_EF01" + }, + "path": "Library/Diagrams/HVAC/Dgrm_EF", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "props": { + "params": { + "embedded": false, + "objectName": "EF", + "tagPath": "[Ignition_Common_IO_Gtwy]SR1133/SATB1_HS1_SR1133_EF03" + }, + "path": "Library/Diagrams/HVAC/Dgrm_EF", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "First Floor" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": 200, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "gap": 50, + "overflow": "visible", + "padding": 15 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/82d30dc8ed7476e6ee269df465be0fb5703e4c00af760ca5b9475ffb6c312b17 b/Gateways/FE/projects/.resources/82d30dc8ed7476e6ee269df465be0fb5703e4c00af760ca5b9475ffb6c312b17 new file mode 100644 index 0000000..b3cf1e8 --- /dev/null +++ b/Gateways/FE/projects/.resources/82d30dc8ed7476e6ee269df465be0fb5703e4c00af760ca5b9475ffb6c312b17 @@ -0,0 +1,266 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "", + "displaySelection": 0, + "format": "0.##0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 2" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8332684975ac8f4b8c1db9f2fca61334397140f8e0cdaec5ac8c63584eea606c b/Gateways/FE/projects/.resources/8332684975ac8f4b8c1db9f2fca61334397140f8e0cdaec5ac8c63584eea606c new file mode 100644 index 0000000..3ffcd5d --- /dev/null +++ b/Gateways/FE/projects/.resources/8332684975ac8f4b8c1db9f2fca61334397140f8e0cdaec5ac8c63584eea606c @@ -0,0 +1,45 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 610, + "width": 1155 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "SecondFloor_Layout" + }, + "position": { + "height": 300, + "width": 1155 + }, + "props": { + "path": "Library/Templates/Graphics/Layout/SecondFloor" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FirstFloor_Layout" + }, + "position": { + "height": 300, + "width": 1155, + "y": 310 + }, + "props": { + "path": "Library/Templates/Graphics/Layout/FirstFloor" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/834c5d07f73d779751d2a48c507acc6eb849a753a2f27130be653a4f71259bfc b/Gateways/FE/projects/.resources/834c5d07f73d779751d2a48c507acc6eb849a753a2f27130be653a4f71259bfc new file mode 100644 index 0000000..d684d39 Binary files /dev/null and b/Gateways/FE/projects/.resources/834c5d07f73d779751d2a48c507acc6eb849a753a2f27130be653a4f71259bfc differ diff --git a/Gateways/FE/projects/.resources/838c7dd08d87cf28f1679dfc74697d157a6b2bca09de90e7e6e9f137be9a82b2 b/Gateways/FE/projects/.resources/838c7dd08d87cf28f1679dfc74697d157a6b2bca09de90e7e6e9f137be9a82b2 new file mode 100644 index 0000000..3a3772f --- /dev/null +++ b/Gateways/FE/projects/.resources/838c7dd08d87cf28f1679dfc74697d157a6b2bca09de90e7e6e9f137be9a82b2 @@ -0,0 +1,8247 @@ +{ + "custom": {}, + "params": { + "DH": 201, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4" + }, + "propConfig": { + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 700, + "width": 248 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "22px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"DH\", {view.params.DH})" + }, + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontFamily": "inherit" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "raw": [], + "tags": [] + }, + "meta": { + "name": "Temp_Chart" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "enabled": false, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": { + "now": "now(3000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO3_Gtwy\":\"Ignition_Hist/ignition-satb1-io3:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO4_Gtwy\":\"Ignition_Hist/ignition-satb1-io4:default\"}\n\t\n\ttags \u003d system.tag.browse(self.view.params.tagPath, {\"name\":\"*_TT**_C\",\"typeId\":\"Objects/Basic/AnalogIn_RS485\",\"tagType\":\"UdtInstance\"})\n\t\n\tfor item in tags:\n\t\ttagname \u003d str(item[\"fullPath\"]) + \"/Val\"\n\t\tnameparts \u003d tagname.split(\"]\")\n\t\tprovider\u003d histProvider[nameparts[0][1:]]\n\t\trun_path \u003d \"[{}]{}\".format(provider, nameparts[1])\n\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.test1": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "1", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": [ + { + "path": "[sim_hist]realistic_1d" + } + ], + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + }, + "props.dataSources.Average": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tavgValue \u003d 0\n\titems \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tavgValue +\u003d item[key]\n\t\t\titems +\u003d 1\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Average\": avgValue/items})\n\t\titems \u003d 0\n\t\tavgValue \u003d 0\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Maximum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tmaxValue \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003e maxValue:\n\t\t\t\tmaxValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Maximum\": maxValue})\n\t\tmaxValue\u003d0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Minimum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\trawHist \u003d value[\u0027dataset\u0027]\n\toutput, keys, values \u003d [], [],[]\n\tminValue \u003d 99999\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003c minValue:\n\t\t\t\tminValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Minimum\": minValue})\n\t\tminValue \u003d 99999\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "render": "gradient" + }, + "dataSources": { + "Average": [ + { + "Average": 75.12424214680989, + "t_stamp": 1776344133567 + }, + { + "Average": 75.12049391513078, + "t_stamp": 1776344163567 + }, + { + "Average": 75.11969687721945, + "t_stamp": 1776344193567 + }, + { + "Average": 75.11469901818647, + "t_stamp": 1776344223567 + }, + { + "Average": 75.1136361324426, + "t_stamp": 1776344253567 + }, + { + "Average": 75.108639117598, + "t_stamp": 1776344283567 + }, + { + "Average": 75.1075756188595, + "t_stamp": 1776344313567 + }, + { + "Average": 75.1075727278133, + "t_stamp": 1776344343567 + }, + { + "Average": 75.10806731655161, + "t_stamp": 1776344373567 + }, + { + "Average": 75.10632767777757, + "t_stamp": 1776344403567 + }, + { + "Average": 75.10606049046372, + "t_stamp": 1776344433567 + }, + { + "Average": 75.1060604223355, + "t_stamp": 1776344463567 + }, + { + "Average": 75.10606060606061, + "t_stamp": 1776344493567 + }, + { + "Average": 75.10356170354474, + "t_stamp": 1776344523567 + }, + { + "Average": 75.10303046486594, + "t_stamp": 1776344553567 + }, + { + "Average": 75.09553309176114, + "t_stamp": 1776344583567 + }, + { + "Average": 75.09393934770064, + "t_stamp": 1776344613567 + }, + { + "Average": 75.09019122040964, + "t_stamp": 1776344643567 + }, + { + "Average": 75.08988531933637, + "t_stamp": 1776344673567 + }, + { + "Average": 75.09564166082102, + "t_stamp": 1776344703567 + }, + { + "Average": 75.0969694888953, + "t_stamp": 1776344733567 + }, + { + "Average": 75.09322009851502, + "t_stamp": 1776344763567 + }, + { + "Average": 75.09242410370798, + "t_stamp": 1776344793567 + }, + { + "Average": 75.08492960816912, + "t_stamp": 1776344823567 + }, + { + "Average": 75.08333333333333, + "t_stamp": 1776344853567 + }, + { + "Average": 75.08458195802642, + "t_stamp": 1776344883567 + }, + { + "Average": 75.08484834613222, + "t_stamp": 1776344913567 + }, + { + "Average": 75.08359916437448, + "t_stamp": 1776344943567 + }, + { + "Average": 75.08333321773645, + "t_stamp": 1776344973567 + }, + { + "Average": 75.08333311857169, + "t_stamp": 1776345003567 + }, + { + "Average": 75.08333333333333, + "t_stamp": 1776345033567 + }, + { + "Average": 75.08208347572915, + "t_stamp": 1776345063567 + }, + { + "Average": 75.08181820493756, + "t_stamp": 1776345093567 + }, + { + "Average": 75.0843163622074, + "t_stamp": 1776345123567 + }, + { + "Average": 75.08484834613222, + "t_stamp": 1776345153567 + }, + { + "Average": 75.08984640831756, + "t_stamp": 1776345183567 + }, + { + "Average": 75.0909089753122, + "t_stamp": 1776345213567 + }, + { + "Average": 75.0946562963005, + "t_stamp": 1776345243567 + }, + { + "Average": 75.09545436049953, + "t_stamp": 1776345273567 + }, + { + "Average": 75.09170714707795, + "t_stamp": 1776345303567 + }, + { + "Average": 75.09090885971531, + "t_stamp": 1776345333567 + }, + { + "Average": 75.09090940517403, + "t_stamp": 1776345363567 + }, + { + "Average": 75.0909089753122, + "t_stamp": 1776345393567 + }, + { + "Average": 75.08965849380223, + "t_stamp": 1776345423567 + }, + { + "Average": 75.08939384691644, + "t_stamp": 1776345453567 + }, + { + "Average": 75.08939500219869, + "t_stamp": 1776345483567 + }, + { + "Average": 75.08939361572266, + "t_stamp": 1776345513567 + }, + { + "Average": 75.09564257743965, + "t_stamp": 1776345543567 + }, + { + "Average": 75.0969694888953, + "t_stamp": 1776345573567 + }, + { + "Average": 75.09446998598628, + "t_stamp": 1776345603567 + }, + { + "Average": 75.09393923210375, + "t_stamp": 1776345633567 + }, + { + "Average": 75.09268914513468, + "t_stamp": 1776345663567 + }, + { + "Average": 75.0924238725142, + "t_stamp": 1776345693567 + }, + { + "Average": 75.08617593751933, + "t_stamp": 1776345723567 + }, + { + "Average": 75.08484823053533, + "t_stamp": 1776345753567 + }, + { + "Average": 75.07985072210413, + "t_stamp": 1776345783567 + }, + { + "Average": 75.07878760135534, + "t_stamp": 1776345813567 + }, + { + "Average": 75.07253974472552, + "t_stamp": 1776345843567 + }, + { + "Average": 75.0712118437796, + "t_stamp": 1776345873567 + }, + { + "Average": 75.06746495611695, + "t_stamp": 1776345903567 + }, + { + "Average": 75.06666668978605, + "t_stamp": 1776345933567 + }, + { + "Average": 75.05916867855927, + "t_stamp": 1776345963567 + }, + { + "Average": 75.05708464721694, + "t_stamp": 1776345993567 + }, + { + "Average": 75.06007606692164, + "t_stamp": 1776346023567 + }, + { + "Average": 75.06060617620295, + "t_stamp": 1776346053567 + }, + { + "Average": 75.05311000594592, + "t_stamp": 1776346083567 + }, + { + "Average": 75.05151505903764, + "t_stamp": 1776346113567 + }, + { + "Average": 75.0515144857625, + "t_stamp": 1776346143567 + }, + { + "Average": 75.05151517463453, + "t_stamp": 1776346173567 + }, + { + "Average": 75.05151636589844, + "t_stamp": 1776346203567 + }, + { + "Average": 75.05151517463453, + "t_stamp": 1776346233567 + }, + { + "Average": 75.04901483966835, + "t_stamp": 1776346263567 + }, + { + "Average": 75.0484848022461, + "t_stamp": 1776346293567 + }, + { + "Average": 75.05223347992901, + "t_stamp": 1776346323567 + }, + { + "Average": 75.05303041862719, + "t_stamp": 1776346353567 + }, + { + "Average": 75.05552882135318, + "t_stamp": 1776346383567 + }, + { + "Average": 75.0560610222094, + "t_stamp": 1776346413567 + }, + { + "Average": 75.05606027717434, + "t_stamp": 1776346443567 + }, + { + "Average": 75.05606055982184, + "t_stamp": 1776346473567 + }, + { + "Average": 75.05980995465553, + "t_stamp": 1776346503567 + }, + { + "Average": 75.06060606060606, + "t_stamp": 1776346533567 + }, + { + "Average": 75.06060629234481, + "t_stamp": 1776346563567 + }, + { + "Average": 75.06060606060606, + "t_stamp": 1776346593567 + }, + { + "Average": 75.05810484628753, + "t_stamp": 1776346623567 + }, + { + "Average": 75.05757568821763, + "t_stamp": 1776346653567 + }, + { + "Average": 75.05507804236377, + "t_stamp": 1776346683567 + }, + { + "Average": 75.05454543142608, + "t_stamp": 1776346713567 + }, + { + "Average": 75.05579393759899, + "t_stamp": 1776346743567 + }, + { + "Average": 75.05606067541873, + "t_stamp": 1776346773567 + }, + { + "Average": 75.05481007012463, + "t_stamp": 1776346803567 + }, + { + "Average": 75.05454531582919, + "t_stamp": 1776346833567 + }, + { + "Average": 75.05829470435758, + "t_stamp": 1776346863567 + }, + { + "Average": 75.05909070101652, + "t_stamp": 1776346893567 + }, + { + "Average": 75.05783885988251, + "t_stamp": 1776346923567 + }, + { + "Average": 75.05757557262073, + "t_stamp": 1776346953567 + }, + { + "Average": 75.05757565286505, + "t_stamp": 1776346983567 + }, + { + "Average": 75.05757557262073, + "t_stamp": 1776347013567 + }, + { + "Average": 75.05632551598778, + "t_stamp": 1776347043567 + }, + { + "Average": 75.05606055982184, + "t_stamp": 1776347073567 + }, + { + "Average": 75.05980789694077, + "t_stamp": 1776347103567 + }, + { + "Average": 75.06060582941228, + "t_stamp": 1776347133567 + }, + { + "Average": 75.05560943085696, + "t_stamp": 1776347163567 + }, + { + "Average": 75.05454543142608, + "t_stamp": 1776347193567 + }, + { + "Average": 75.05079822290949, + "t_stamp": 1776347223567 + }, + { + "Average": 75.04999993064187, + "t_stamp": 1776347253567 + }, + { + "Average": 75.04874890322354, + "t_stamp": 1776347283567 + }, + { + "Average": 75.04848457105231, + "t_stamp": 1776347313567 + }, + { + "Average": 75.04723532748423, + "t_stamp": 1776347343567 + }, + { + "Average": 75.04696967385031, + "t_stamp": 1776347373567 + }, + { + "Average": 75.03322818801178, + "t_stamp": 1776347403567 + }, + { + "Average": 75.0303032614968, + "t_stamp": 1776347433567 + }, + { + "Average": 75.03030407844336, + "t_stamp": 1776347463567 + }, + { + "Average": 75.0303032614968, + "t_stamp": 1776347493567 + }, + { + "Average": 75.03405131779397, + "t_stamp": 1776347523567 + }, + { + "Average": 75.03484853108723, + "t_stamp": 1776347553567 + }, + { + "Average": 75.02860202486464, + "t_stamp": 1776347583567 + }, + { + "Average": 75.02727277351148, + "t_stamp": 1776347613567 + }, + { + "Average": 75.01977679183243, + "t_stamp": 1776347643567 + }, + { + "Average": 75.01818200313684, + "t_stamp": 1776347673567 + }, + { + "Average": 75.01568135503796, + "t_stamp": 1776347703567 + }, + { + "Average": 75.0151516307484, + "t_stamp": 1776347733567 + }, + { + "Average": 75.01765140704788, + "t_stamp": 1776347763567 + }, + { + "Average": 75.01818188753995, + "t_stamp": 1776347793567 + }, + { + "Average": 75.0131839644978, + "t_stamp": 1776347823567 + }, + { + "Average": 75.01212137395686, + "t_stamp": 1776347853567 + }, + { + "Average": 75.01337181193713, + "t_stamp": 1776347883567 + }, + { + "Average": 75.01363627115886, + "t_stamp": 1776347913567 + }, + { + "Average": 75.00864027718859, + "t_stamp": 1776347943567 + }, + { + "Average": 75.00757575757575, + "t_stamp": 1776347973567 + }, + { + "Average": 75.0000788831063, + "t_stamp": 1776348003567 + }, + { + "Average": 74.99848487160422, + "t_stamp": 1776348033567 + }, + { + "Average": 74.99473731932514, + "t_stamp": 1776348063567 + }, + { + "Average": 74.99393937082002, + "t_stamp": 1776348093567 + }, + { + "Average": 74.99019068805171, + "t_stamp": 1776348123567 + }, + { + "Average": 74.98939410122958, + "t_stamp": 1776348153567 + }, + { + "Average": 74.99189368745215, + "t_stamp": 1776348183567 + }, + { + "Average": 74.99242447361802, + "t_stamp": 1776348213567 + }, + { + "Average": 74.98617729155546, + "t_stamp": 1776348243567 + }, + { + "Average": 74.98484860044537, + "t_stamp": 1776348273567 + }, + { + "Average": 74.9848492167239, + "t_stamp": 1776348303567 + }, + { + "Average": 74.98484860044537, + "t_stamp": 1776348333567 + }, + { + "Average": 74.98234982804793, + "t_stamp": 1776348363567 + }, + { + "Average": 74.98181822805694, + "t_stamp": 1776348393567 + }, + { + "Average": 74.98306756753288, + "t_stamp": 1776348423567 + }, + { + "Average": 74.9833334720496, + "t_stamp": 1776348453567 + }, + { + "Average": 74.98083556439597, + "t_stamp": 1776348483567 + }, + { + "Average": 74.98030309966116, + "t_stamp": 1776348513567 + }, + { + "Average": 74.98030441336756, + "t_stamp": 1776348543567 + }, + { + "Average": 74.98030333085494, + "t_stamp": 1776348573567 + }, + { + "Average": 74.97530498477857, + "t_stamp": 1776348603567 + }, + { + "Average": 74.97424281727184, + "t_stamp": 1776348633567 + }, + { + "Average": 74.9792398280992, + "t_stamp": 1776348663567 + }, + { + "Average": 74.98030333085494, + "t_stamp": 1776348693567 + }, + { + "Average": 74.98155366281233, + "t_stamp": 1776348723567 + }, + { + "Average": 74.98181869044448, + "t_stamp": 1776348753567 + }, + { + "Average": 74.96932533954366, + "t_stamp": 1776348783567 + }, + { + "Average": 74.96666705969608, + "t_stamp": 1776348813567 + }, + { + "Average": 74.96041960712155, + "t_stamp": 1776348843567 + }, + { + "Average": 74.95909130212033, + "t_stamp": 1776348873567 + }, + { + "Average": 74.960341938307, + "t_stamp": 1776348903567 + }, + { + "Average": 74.9606064305161, + "t_stamp": 1776348933567 + }, + { + "Average": 74.96060677271042, + "t_stamp": 1776348963567 + }, + { + "Average": 74.96060666170987, + "t_stamp": 1776348993567 + }, + { + "Average": 74.95810772250195, + "t_stamp": 1776349023567 + }, + { + "Average": 74.95757594253078, + "t_stamp": 1776349053567 + }, + { + "Average": 74.95757584528343, + "t_stamp": 1776349083567 + }, + { + "Average": 74.95757628932144, + "t_stamp": 1776349113567 + }, + { + "Average": 74.95257932169751, + "t_stamp": 1776349143567 + }, + { + "Average": 74.95151566014145, + "t_stamp": 1776349173567 + }, + { + "Average": 74.95526454559307, + "t_stamp": 1776349203567 + }, + { + "Average": 74.95606127652255, + "t_stamp": 1776349233567 + }, + { + "Average": 74.95106253148947, + "t_stamp": 1776349263567 + }, + { + "Average": 74.95000053174567, + "t_stamp": 1776349293567 + }, + { + "Average": 74.9475001209728, + "t_stamp": 1776349323567 + }, + { + "Average": 74.94697015935725, + "t_stamp": 1776349353567 + }, + { + "Average": 74.94821889474353, + "t_stamp": 1776349383567 + }, + { + "Average": 74.94848494096236, + "t_stamp": 1776349413567 + }, + { + "Average": 74.94973469265918, + "t_stamp": 1776349443567 + }, + { + "Average": 74.95000053174567, + "t_stamp": 1776349473567 + }, + { + "Average": 74.94500424689616, + "t_stamp": 1776349503567 + }, + { + "Average": 74.94393978696881, + "t_stamp": 1776349533567 + }, + { + "Average": 74.94269053782888, + "t_stamp": 1776349563567 + }, + { + "Average": 74.94242442737927, + "t_stamp": 1776349593567 + }, + { + "Average": 74.94117498298971, + "t_stamp": 1776349623567 + }, + { + "Average": 74.94090941458037, + "t_stamp": 1776349653567 + }, + { + "Average": 74.9471558275056, + "t_stamp": 1776349683567 + }, + { + "Average": 74.94848528775302, + "t_stamp": 1776349713567 + }, + { + "Average": 74.94973315045173, + "t_stamp": 1776349743567 + }, + { + "Average": 74.9500003005519, + "t_stamp": 1776349773567 + }, + { + "Average": 74.94875203351599, + "t_stamp": 1776349803567 + }, + { + "Average": 74.94848494096236, + "t_stamp": 1776349833567 + }, + { + "Average": 74.95348182066651, + "t_stamp": 1776349863567 + }, + { + "Average": 74.95454568573923, + "t_stamp": 1776349893567 + }, + { + "Average": 74.95704391255634, + "t_stamp": 1776349923567 + }, + { + "Average": 74.95757605812766, + "t_stamp": 1776349953567 + }, + { + "Average": 74.95882369092081, + "t_stamp": 1776349983567 + }, + { + "Average": 74.95909130212033, + "t_stamp": 1776350013567 + }, + { + "Average": 74.95909260371762, + "t_stamp": 1776350043567 + }, + { + "Average": 74.95909141771722, + "t_stamp": 1776350073567 + }, + { + "Average": 74.96158883384469, + "t_stamp": 1776350103567 + }, + { + "Average": 74.96212167450877, + "t_stamp": 1776350133567 + }, + { + "Average": 74.96212163286285, + "t_stamp": 1776350163567 + }, + { + "Average": 74.96212167450877, + "t_stamp": 1776350193567 + }, + { + "Average": 74.95712406270181, + "t_stamp": 1776350223567 + }, + { + "Average": 74.95606069853811, + "t_stamp": 1776350253567 + }, + { + "Average": 74.95855925149266, + "t_stamp": 1776350283567 + }, + { + "Average": 74.95909141771722, + "t_stamp": 1776350313567 + }, + { + "Average": 74.9590909272061, + "t_stamp": 1776350343567 + }, + { + "Average": 74.95909130212033, + "t_stamp": 1776350373567 + }, + { + "Average": 74.96533737505365, + "t_stamp": 1776350403567 + }, + { + "Average": 74.96666705969608, + "t_stamp": 1776350433567 + }, + { + "Average": 74.96666784564209, + "t_stamp": 1776350463567 + }, + { + "Average": 74.96666717529297, + "t_stamp": 1776350493567 + }, + { + "Average": 74.9679158059557, + "t_stamp": 1776350523567 + }, + { + "Average": 74.96818230368875, + "t_stamp": 1776350553567 + }, + { + "Average": 74.96568400833293, + "t_stamp": 1776350583567 + }, + { + "Average": 74.96515193130031, + "t_stamp": 1776350613567 + }, + { + "Average": 74.9601558637913, + "t_stamp": 1776350643567 + }, + { + "Average": 74.95909118652344, + "t_stamp": 1776350673567 + }, + { + "Average": 74.96533678472306, + "t_stamp": 1776350703567 + }, + { + "Average": 74.96666694409919, + "t_stamp": 1776350733567 + }, + { + "Average": 74.9641691194484, + "t_stamp": 1776350763567 + }, + { + "Average": 74.96363668730764, + "t_stamp": 1776350793567 + }, + { + "Average": 74.964884980161, + "t_stamp": 1776350823567 + }, + { + "Average": 74.96515146891277, + "t_stamp": 1776350853567 + }, + { + "Average": 74.96140456453229, + "t_stamp": 1776350883567 + }, + { + "Average": 74.9606064305161, + "t_stamp": 1776350913567 + }, + { + "Average": 74.96435454759029, + "t_stamp": 1776350943567 + }, + { + "Average": 74.96515170010653, + "t_stamp": 1776350973567 + }, + { + "Average": 74.95890431495067, + "t_stamp": 1776351003567 + }, + { + "Average": 74.95757605812766, + "t_stamp": 1776351033567 + }, + { + "Average": 74.95257938742029, + "t_stamp": 1776351063567 + }, + { + "Average": 74.95151542894769, + "t_stamp": 1776351093567 + }, + { + "Average": 74.95526318584163, + "t_stamp": 1776351123567 + }, + { + "Average": 74.95556917841932, + "t_stamp": 1776351153567 + }, + { + "Average": 74.95980812449426, + "t_stamp": 1776351183567 + }, + { + "Average": 74.9606064305161, + "t_stamp": 1776351213567 + }, + { + "Average": 74.9606064305161, + "t_stamp": 1776351243567 + }, + { + "Average": 74.9606064305161, + "t_stamp": 1776351273567 + }, + { + "Average": 74.9606064305161, + "t_stamp": 1776351303567 + } + ], + "Maximum": [ + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344133567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344163567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344193567 + }, + { + "Maximum": 75.78247297800515, + "t_stamp": 1776344223567 + }, + { + "Maximum": 75.80000305175781, + "t_stamp": 1776344253567 + }, + { + "Maximum": 75.71753155727623, + "t_stamp": 1776344283567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344313567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344343567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344373567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344403567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344433567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344463567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344493567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344523567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344553567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344583567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344613567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344643567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344673567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344703567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344733567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344763567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344793567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344823567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344853567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344883567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344913567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344943567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344973567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345003567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345033567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345063567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345093567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345123567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345153567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345183567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345213567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345243567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345273567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345303567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345333567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345363567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345393567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345423567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345453567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345483567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345513567 + }, + { + "Maximum": 75.78250031687419, + "t_stamp": 1776345543567 + }, + { + "Maximum": 75.80000305175781, + "t_stamp": 1776345573567 + }, + { + "Maximum": 75.71753497756254, + "t_stamp": 1776345603567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345633567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345663567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345693567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345723567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345753567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345783567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345813567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345843567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345873567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345903567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345933567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345963567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345993567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346023567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346053567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346083567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346113567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346143567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346173567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346203567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346233567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346263567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346293567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346323567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346353567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346383567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346413567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346443567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346473567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346503567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346533567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346563567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346593567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346623567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346653567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346683567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346713567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346743567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346773567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346803567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346833567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346863567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346893567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346923567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346953567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346983567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347013567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347043567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347073567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347103567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347133567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347163567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347193567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347223567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347253567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347283567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347313567 + }, + { + "Maximum": 75.61757025606539, + "t_stamp": 1776347343567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347373567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347403567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347433567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347463567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347493567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347523567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347553567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347583567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347613567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347643567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347673567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347703567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347733567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347763567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347793567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347823567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347853567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347883567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347913567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347943567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347973567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348003567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348033567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348063567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348093567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348123567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348153567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348183567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348213567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348243567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348273567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348303567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348333567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348363567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348393567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348423567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348453567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348483567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348513567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348543567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348573567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348603567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348633567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348663567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348693567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348723567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348753567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348783567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348813567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348843567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348873567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348903567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348933567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348963567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348993567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349023567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349053567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349083567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349113567 + }, + { + "Maximum": 75.51757130805474, + "t_stamp": 1776349143567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349173567 + }, + { + "Maximum": 75.58242815654077, + "t_stamp": 1776349203567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349233567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349263567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349293567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349323567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349353567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349383567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349413567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349443567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349473567 + }, + { + "Maximum": 75.51756777246564, + "t_stamp": 1776349503567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349533567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349563567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349593567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349623567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349653567 + }, + { + "Maximum": 75.58242462098697, + "t_stamp": 1776349683567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349713567 + }, + { + "Maximum": 75.5175706104336, + "t_stamp": 1776349743567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349773567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349803567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349833567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349863567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349893567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349923567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349953567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349983567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350013567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350043567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350073567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350103567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350133567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350163567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350193567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350223567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350253567 + }, + { + "Maximum": 75.58241579375961, + "t_stamp": 1776350283567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776350313567 + }, + { + "Maximum": 75.51758747870737, + "t_stamp": 1776350343567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350373567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350403567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350433567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350463567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350493567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350523567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350553567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350583567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350613567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350643567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350673567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350703567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350733567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350763567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350793567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350823567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350853567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350883567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350913567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350943567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350973567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351003567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351033567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351063567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351093567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351123567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351153567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351183567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351213567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351243567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351273567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351303567 + } + ], + "Minimum": [ + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344133567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344163567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344193567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344223567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344253567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344283567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344313567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344343567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344373567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344403567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344433567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344463567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344493567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344523567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344553567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344583567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344613567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344643567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344673567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344703567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344733567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344763567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344793567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344823567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344853567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344883567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344913567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344943567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344973567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776345003567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776345033567 + }, + { + "Minimum": 74.28243382644679, + "t_stamp": 1776345063567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345093567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345123567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345153567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345183567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345213567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345243567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345273567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345303567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345333567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345363567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345393567 + }, + { + "Minimum": 74.38244600488176, + "t_stamp": 1776345423567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345453567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345483567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345513567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345543567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345573567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345603567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345633567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345663567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345693567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345723567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345753567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345783567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345813567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345843567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345873567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345903567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345933567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345963567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345993567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346023567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346053567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346083567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346113567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346143567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346173567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346203567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346233567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346263567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346293567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346323567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346353567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346383567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346413567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346443567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346473567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346503567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346533567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346563567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346593567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346623567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346653567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346683567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346713567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346743567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346773567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346803567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346833567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346863567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346893567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346923567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346953567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346983567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347013567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347043567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347073567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347103567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347133567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347163567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347193567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347223567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347253567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347283567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347313567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347343567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347373567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347403567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347433567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347463567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347493567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347523567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347553567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347583567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347613567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347643567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347673567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347703567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347733567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347763567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347793567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347823567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347853567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347883567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347913567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347943567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347973567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348003567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348033567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348063567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348093567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348123567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348153567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348183567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348213567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348243567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348273567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348303567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348333567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348363567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348393567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348423567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348453567 + }, + { + "Minimum": 74.31756219850858, + "t_stamp": 1776348483567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348513567 + }, + { + "Minimum": 74.31753582534081, + "t_stamp": 1776348543567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348573567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348603567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348633567 + }, + { + "Minimum": 74.38247120902159, + "t_stamp": 1776348663567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348693567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348723567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348753567 + }, + { + "Minimum": 74.31753749195428, + "t_stamp": 1776348783567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348813567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348843567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348873567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348903567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348933567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348963567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348993567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349023567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349053567 + }, + { + "Minimum": 74.38246816786038, + "t_stamp": 1776349083567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776349113567 + }, + { + "Minimum": 74.31753611755371, + "t_stamp": 1776349143567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349173567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349203567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349233567 + }, + { + "Minimum": 74.38244150115617, + "t_stamp": 1776349263567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776349293567 + }, + { + "Minimum": 74.31753778419494, + "t_stamp": 1776349323567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349353567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349383567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349413567 + }, + { + "Minimum": 74.38246541906898, + "t_stamp": 1776349443567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776349473567 + }, + { + "Minimum": 74.31756749099652, + "t_stamp": 1776349503567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349533567 + }, + { + "Minimum": 74.3175372865027, + "t_stamp": 1776349563567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349593567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349623567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349653567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349683567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349713567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349743567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349773567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349803567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349833567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349863567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349893567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349923567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349953567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349983567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350013567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350043567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350073567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350103567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350133567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350163567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350193567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350223567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350253567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350283567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350313567 + }, + { + "Minimum": 74.21753272623069, + "t_stamp": 1776350343567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350373567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350403567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350433567 + }, + { + "Minimum": 74.28246648384248, + "t_stamp": 1776350463567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350493567 + }, + { + "Minimum": 74.21753468526204, + "t_stamp": 1776350523567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350553567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350583567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350613567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350643567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350673567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350703567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350733567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350763567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350793567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350823567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350853567 + }, + { + "Minimum": 74.28247002282598, + "t_stamp": 1776350883567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350913567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350943567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350973567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351003567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351033567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351063567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351093567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351123567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351153567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351183567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351213567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351243567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351273567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351303567 + } + ] + }, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Average", + "x": "t_stamp", + "y": "Average" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Temperature" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "#F91111", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "#FA1616", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Average", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Temperature", + "zIndex": 1 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Minimum", + "x": "t_stamp", + "y": "Minimum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Minimum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Temperature", + "zIndex": 2 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Maximum", + "x": "t_stamp", + "y": "Maximum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Maximum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Temperature", + "zIndex": 3 + } + ], + "style": { + "marginBottom": -20, + "overflow": "visible" + }, + "title": { + "appearance": { + "color": "#828282", + "font": { + "size": 12 + }, + "padding": { + "bottom": 8, + "top": -10 + } + }, + "text": "Temp (Avg, Min, Max)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 30, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 30, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Temperature" + }, + "name": "Temperature", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "###.#", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "meta": { + "name": "Hum_Chart" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": { + "now": "now(3000)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO3_Gtwy\":\"Ignition_Hist/ignition-satb1-io3:default\"}\n\ttags \u003d system.tag.browse(self.view.params.tagPath, {\"name\":\"*_HT**_C*\",\"typeId\":\"Objects/Basic/AnalogIn_RS485\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\ttagname \u003d str(item[\"fullPath\"]) + \"/Val\"\n\t\tnameparts \u003d tagname.split(\"]\")\n\t\tprovider\u003d histProvider[nameparts[0][1:]]\n\t\trun_path \u003d \"[{}]{}\".format(provider, nameparts[1])\n\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Average": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tavgValue \u003d 0\n\titems \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] is None:\n\t\t\t\tavgValue \u003d avgValue\n\t\t\telse:\n\t\t\t\tavgValue +\u003d item[key]\n\t\t\titems +\u003d 1\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Average\": avgValue/items})\n\t\titems \u003d 0\n\t\tavgValue \u003d 0\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Maximum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tmaxValue \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003e maxValue:\n\t\t\t\tmaxValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Maximum\": maxValue})\n\t\tmaxValue \u003d 0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Minimum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\trawHist \u003d value[\u0027dataset\u0027]\n\toutput, keys, values \u003d [], [],[]\n\tminValue \u003d 99999\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003c minValue:\n\t\t\t\tminValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Minimum\": minValue})\n\t\tminValue\u003d 99999\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "render": "gradient" + }, + "dataSources": { + "Average": [ + { + "Average": 47.53029994311017, + "t_stamp": 1776344229587 + }, + { + "Average": 47.53030303030303, + "t_stamp": 1776344259587 + }, + { + "Average": 47.50227712091921, + "t_stamp": 1776344289587 + }, + { + "Average": 47.5, + "t_stamp": 1776344319587 + }, + { + "Average": 47.499992657900144, + "t_stamp": 1776344349587 + }, + { + "Average": 47.5, + "t_stamp": 1776344379587 + }, + { + "Average": 47.499997727159084, + "t_stamp": 1776344409587 + }, + { + "Average": 47.5, + "t_stamp": 1776344439587 + }, + { + "Average": 47.44394168550663, + "t_stamp": 1776344469587 + }, + { + "Average": 47.43939393939394, + "t_stamp": 1776344499587 + }, + { + "Average": 47.439388579571656, + "t_stamp": 1776344529587 + }, + { + "Average": 47.43939393939394, + "t_stamp": 1776344559587 + }, + { + "Average": 47.42538001258544, + "t_stamp": 1776344589587 + }, + { + "Average": 47.42424242424242, + "t_stamp": 1776344619587 + }, + { + "Average": 47.438265460399336, + "t_stamp": 1776344649587 + }, + { + "Average": 47.43939393939394, + "t_stamp": 1776344679587 + }, + { + "Average": 47.425368219866996, + "t_stamp": 1776344709587 + }, + { + "Average": 47.42424242424242, + "t_stamp": 1776344739587 + }, + { + "Average": 47.382200170869034, + "t_stamp": 1776344769587 + }, + { + "Average": 47.378787878787875, + "t_stamp": 1776344799587 + }, + { + "Average": 47.434844805744625, + "t_stamp": 1776344829587 + }, + { + "Average": 47.43939393939394, + "t_stamp": 1776344859587 + }, + { + "Average": 47.41136945774987, + "t_stamp": 1776344889587 + }, + { + "Average": 47.40909090909091, + "t_stamp": 1776344919587 + }, + { + "Average": 47.381056761291994, + "t_stamp": 1776344949587 + }, + { + "Average": 47.378787878787875, + "t_stamp": 1776344979587 + }, + { + "Average": 47.392801363414115, + "t_stamp": 1776345009587 + }, + { + "Average": 47.39393939393939, + "t_stamp": 1776345039587 + }, + { + "Average": 47.36592790733717, + "t_stamp": 1776345069587 + }, + { + "Average": 47.36363636363637, + "t_stamp": 1776345099587 + }, + { + "Average": 47.34961720946254, + "t_stamp": 1776345129587 + }, + { + "Average": 47.34848484848485, + "t_stamp": 1776345159587 + }, + { + "Average": 47.36250013262889, + "t_stamp": 1776345189587 + }, + { + "Average": 47.36363636363637, + "t_stamp": 1776345219587 + }, + { + "Average": 47.33560322611269, + "t_stamp": 1776345249587 + }, + { + "Average": 47.333333333333336, + "t_stamp": 1776345279587 + }, + { + "Average": 47.333336887970674, + "t_stamp": 1776345309587 + }, + { + "Average": 47.333333333333336, + "t_stamp": 1776345339587 + }, + { + "Average": 47.333333333333336, + "t_stamp": 1776345369587 + }, + { + "Average": 47.333333333333336, + "t_stamp": 1776345399587 + }, + { + "Average": 47.347351786561134, + "t_stamp": 1776345429587 + }, + { + "Average": 47.34848484848485, + "t_stamp": 1776345459587 + }, + { + "Average": 47.36249574509132, + "t_stamp": 1776345489587 + }, + { + "Average": 47.36363636363637, + "t_stamp": 1776345519587 + }, + { + "Average": 47.34962457093099, + "t_stamp": 1776345549587 + }, + { + "Average": 47.34848484848485, + "t_stamp": 1776345579587 + }, + { + "Average": 47.34848484848485, + "t_stamp": 1776345609587 + }, + { + "Average": 47.34848484848485, + "t_stamp": 1776345639587 + }, + { + "Average": 47.3204530870807, + "t_stamp": 1776345669587 + }, + { + "Average": 47.31818181818182, + "t_stamp": 1776345699587 + }, + { + "Average": 47.3321972411571, + "t_stamp": 1776345729587 + }, + { + "Average": 47.333333333333336, + "t_stamp": 1776345759587 + }, + { + "Average": 47.33332956452283, + "t_stamp": 1776345789587 + }, + { + "Average": 47.333333333333336, + "t_stamp": 1776345819587 + }, + { + "Average": 47.33333665408376, + "t_stamp": 1776345849587 + }, + { + "Average": 47.333333333333336, + "t_stamp": 1776345879587 + }, + { + "Average": 47.31931859182274, + "t_stamp": 1776345909587 + }, + { + "Average": 47.31818181818182, + "t_stamp": 1776345939587 + }, + { + "Average": 47.31818078887445, + "t_stamp": 1776345969587 + }, + { + "Average": 47.31818181818182, + "t_stamp": 1776345999587 + }, + { + "Average": 47.30416983542282, + "t_stamp": 1776346029587 + }, + { + "Average": 47.303030303030305, + "t_stamp": 1776346059587 + }, + { + "Average": 47.31704123760437, + "t_stamp": 1776346089587 + }, + { + "Average": 47.31818181818182, + "t_stamp": 1776346119587 + }, + { + "Average": 47.29014715886991, + "t_stamp": 1776346149587 + }, + { + "Average": 47.28787878787879, + "t_stamp": 1776346179587 + }, + { + "Average": 47.315911382554404, + "t_stamp": 1776346209587 + }, + { + "Average": 47.31818181818182, + "t_stamp": 1776346239587 + }, + { + "Average": 47.27614051784113, + "t_stamp": 1776346269587 + }, + { + "Average": 47.27272727272727, + "t_stamp": 1776346299587 + }, + { + "Average": 47.28674347218729, + "t_stamp": 1776346329587 + }, + { + "Average": 47.28787878787879, + "t_stamp": 1776346359587 + }, + { + "Average": 47.287872607665896, + "t_stamp": 1776346389587 + }, + { + "Average": 47.28787878787879, + "t_stamp": 1776346419587 + }, + { + "Average": 47.2598446969697, + "t_stamp": 1776346449587 + }, + { + "Average": 47.25757575757576, + "t_stamp": 1776346479587 + }, + { + "Average": 47.25757575757576, + "t_stamp": 1776346509587 + }, + { + "Average": 47.25757575757576, + "t_stamp": 1776346539587 + }, + { + "Average": 47.25757575757575, + "t_stamp": 1776346569587 + }, + { + "Average": 47.25757575757576, + "t_stamp": 1776346599587 + }, + { + "Average": 47.24355955811574, + "t_stamp": 1776346629587 + }, + { + "Average": 47.24242424242424, + "t_stamp": 1776346659587 + }, + { + "Average": 47.242420492476434, + "t_stamp": 1776346689587 + }, + { + "Average": 47.24242424242424, + "t_stamp": 1776346719587 + }, + { + "Average": 47.228417190728436, + "t_stamp": 1776346749587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776346779587 + }, + { + "Average": 47.21326289792541, + "t_stamp": 1776346809587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776346839587 + }, + { + "Average": 47.21211091574209, + "t_stamp": 1776346869587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776346899587 + }, + { + "Average": 47.2261398989899, + "t_stamp": 1776346929587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776346959587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776346989587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347019587 + }, + { + "Average": 47.227268939457076, + "t_stamp": 1776347049587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347079587 + }, + { + "Average": 47.22727604801178, + "t_stamp": 1776347109587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347139587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347169587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347199587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347229587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347259587 + }, + { + "Average": 47.19923941289173, + "t_stamp": 1776347289587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776347319587 + }, + { + "Average": 47.225000972238426, + "t_stamp": 1776347349587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347379587 + }, + { + "Average": 47.21325676140435, + "t_stamp": 1776347409587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776347439587 + }, + { + "Average": 47.2261424242803, + "t_stamp": 1776347469587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347499587 + }, + { + "Average": 47.25530392678662, + "t_stamp": 1776347529587 + }, + { + "Average": 47.25757575757576, + "t_stamp": 1776347559587 + }, + { + "Average": 47.21552597223127, + "t_stamp": 1776347589587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776347619587 + }, + { + "Average": 47.22613737373737, + "t_stamp": 1776347649587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347679587 + }, + { + "Average": 47.213254274184216, + "t_stamp": 1776347709587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776347739587 + }, + { + "Average": 47.22613760737827, + "t_stamp": 1776347769587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347799587 + }, + { + "Average": 47.21325454545455, + "t_stamp": 1776347829587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776347859587 + }, + { + "Average": 47.21212554297264, + "t_stamp": 1776347889587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776347919587 + }, + { + "Average": 47.19810303030303, + "t_stamp": 1776347949587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776347979587 + }, + { + "Average": 47.21098787878788, + "t_stamp": 1776348009587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776348039587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776348069587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776348099587 + }, + { + "Average": 47.156054236166774, + "t_stamp": 1776348129587 + }, + { + "Average": 47.15151515151515, + "t_stamp": 1776348159587 + }, + { + "Average": 47.16553688769813, + "t_stamp": 1776348189587 + }, + { + "Average": 47.166666666666664, + "t_stamp": 1776348219587 + }, + { + "Average": 47.15265029090621, + "t_stamp": 1776348249587 + }, + { + "Average": 47.15151515151515, + "t_stamp": 1776348279587 + }, + { + "Average": 47.15150994905887, + "t_stamp": 1776348309587 + }, + { + "Average": 47.15151515151515, + "t_stamp": 1776348339587 + }, + { + "Average": 47.17954743699011, + "t_stamp": 1776348369587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776348399587 + }, + { + "Average": 47.15378533462153, + "t_stamp": 1776348429587 + }, + { + "Average": 47.15151515151515, + "t_stamp": 1776348459587 + }, + { + "Average": 47.15151639519392, + "t_stamp": 1776348489587 + }, + { + "Average": 47.15151515151515, + "t_stamp": 1776348519587 + }, + { + "Average": 47.17954089007123, + "t_stamp": 1776348549587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776348579587 + }, + { + "Average": 47.1818263194435, + "t_stamp": 1776348609587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776348639587 + }, + { + "Average": 47.181810372411924, + "t_stamp": 1776348669587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776348699587 + }, + { + "Average": 47.181819949465485, + "t_stamp": 1776348729587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776348759587 + }, + { + "Average": 47.15379178601047, + "t_stamp": 1776348789587 + }, + { + "Average": 47.15151515151515, + "t_stamp": 1776348819587 + }, + { + "Average": 47.151514608609844, + "t_stamp": 1776348849587 + }, + { + "Average": 47.15151515151515, + "t_stamp": 1776348879587 + }, + { + "Average": 47.17954026565252, + "t_stamp": 1776348909587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776348939587 + }, + { + "Average": 47.181819968452125, + "t_stamp": 1776348969587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776348999587 + }, + { + "Average": 47.16780000000001, + "t_stamp": 1776349029587 + }, + { + "Average": 47.166666666666664, + "t_stamp": 1776349059587 + }, + { + "Average": 47.20871565656566, + "t_stamp": 1776349089587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776349119587 + }, + { + "Average": 47.18409017044223, + "t_stamp": 1776349149587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776349179587 + }, + { + "Average": 47.20984883205818, + "t_stamp": 1776349209587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776349239587 + }, + { + "Average": 47.226136325756315, + "t_stamp": 1776349269587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776349299587 + }, + { + "Average": 47.19924191919191, + "t_stamp": 1776349329587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349359587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349389587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349419587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349449587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349479587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349509587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349539587 + }, + { + "Average": 47.21098477272222, + "t_stamp": 1776349569587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776349599587 + }, + { + "Average": 47.19810652776221, + "t_stamp": 1776349629587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349659587 + }, + { + "Average": 47.210984109860796, + "t_stamp": 1776349689587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776349719587 + }, + { + "Average": 47.19811167326043, + "t_stamp": 1776349749587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349779587 + }, + { + "Average": 47.21098416671212, + "t_stamp": 1776349809587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776349839587 + }, + { + "Average": 47.21211938668573, + "t_stamp": 1776349869587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776349899587 + }, + { + "Average": 47.18410280568179, + "t_stamp": 1776349929587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776349959587 + }, + { + "Average": 47.181811306320995, + "t_stamp": 1776349989587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350019587 + }, + { + "Average": 47.19583257575758, + "t_stamp": 1776350049587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776350079587 + }, + { + "Average": 47.25302061727274, + "t_stamp": 1776350109587 + }, + { + "Average": 47.25757575757576, + "t_stamp": 1776350139587 + }, + { + "Average": 47.27159318181818, + "t_stamp": 1776350169587 + }, + { + "Average": 47.27272727272727, + "t_stamp": 1776350199587 + }, + { + "Average": 47.21667412849222, + "t_stamp": 1776350229587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776350259587 + }, + { + "Average": 47.22613638269202, + "t_stamp": 1776350289587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776350319587 + }, + { + "Average": 47.213255031683815, + "t_stamp": 1776350349587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776350379587 + }, + { + "Average": 47.18409383904386, + "t_stamp": 1776350409587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350439587 + }, + { + "Average": 47.181817676838584, + "t_stamp": 1776350469587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350499587 + }, + { + "Average": 47.181820416505055, + "t_stamp": 1776350529587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350559587 + }, + { + "Average": 47.195820374229235, + "t_stamp": 1776350589587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776350619587 + }, + { + "Average": 47.18295724156603, + "t_stamp": 1776350649587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350679587 + }, + { + "Average": 47.181819968392986, + "t_stamp": 1776350709587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350739587 + }, + { + "Average": 47.18182233637505, + "t_stamp": 1776350769587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350799587 + }, + { + "Average": 47.18181664766319, + "t_stamp": 1776350829587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350859587 + }, + { + "Average": 47.195827544288406, + "t_stamp": 1776350889587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776350919587 + }, + { + "Average": 47.168939684412045, + "t_stamp": 1776350949587 + }, + { + "Average": 47.166666666666664, + "t_stamp": 1776350979587 + }, + { + "Average": 47.18068358585859, + "t_stamp": 1776351009587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776351039587 + }, + { + "Average": 47.195831622560284, + "t_stamp": 1776351069587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776351099587 + }, + { + "Average": 47.18295537884344, + "t_stamp": 1776351129587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776351159587 + }, + { + "Average": 47.19583259470927, + "t_stamp": 1776351189587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776351219587 + }, + { + "Average": 47.210986363636366, + "t_stamp": 1776351249587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776351279587 + }, + { + "Average": 47.198104292929294, + "t_stamp": 1776351309587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776351339587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776351369587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776351399587 + } + ], + "Maximum": [ + { + "Maximum": 50, + "t_stamp": 1776344229587 + }, + { + "Maximum": 50, + "t_stamp": 1776344259587 + }, + { + "Maximum": 50, + "t_stamp": 1776344289587 + }, + { + "Maximum": 50, + "t_stamp": 1776344319587 + }, + { + "Maximum": 50, + "t_stamp": 1776344349587 + }, + { + "Maximum": 50, + "t_stamp": 1776344379587 + }, + { + "Maximum": 50, + "t_stamp": 1776344409587 + }, + { + "Maximum": 50, + "t_stamp": 1776344439587 + }, + { + "Maximum": 49.07505, + "t_stamp": 1776344469587 + }, + { + "Maximum": 49, + "t_stamp": 1776344499587 + }, + { + "Maximum": 49.92495, + "t_stamp": 1776344529587 + }, + { + "Maximum": 50, + "t_stamp": 1776344559587 + }, + { + "Maximum": 49.07508083063898, + "t_stamp": 1776344589587 + }, + { + "Maximum": 49, + "t_stamp": 1776344619587 + }, + { + "Maximum": 49, + "t_stamp": 1776344649587 + }, + { + "Maximum": 49, + "t_stamp": 1776344679587 + }, + { + "Maximum": 49, + "t_stamp": 1776344709587 + }, + { + "Maximum": 49, + "t_stamp": 1776344739587 + }, + { + "Maximum": 49, + "t_stamp": 1776344769587 + }, + { + "Maximum": 49, + "t_stamp": 1776344799587 + }, + { + "Maximum": 49, + "t_stamp": 1776344829587 + }, + { + "Maximum": 49, + "t_stamp": 1776344859587 + }, + { + "Maximum": 49, + "t_stamp": 1776344889587 + }, + { + "Maximum": 49, + "t_stamp": 1776344919587 + }, + { + "Maximum": 49.92475501633224, + "t_stamp": 1776344949587 + }, + { + "Maximum": 50, + "t_stamp": 1776344979587 + }, + { + "Maximum": 50, + "t_stamp": 1776345009587 + }, + { + "Maximum": 50, + "t_stamp": 1776345039587 + }, + { + "Maximum": 49.07528619753045, + "t_stamp": 1776345069587 + }, + { + "Maximum": 49, + "t_stamp": 1776345099587 + }, + { + "Maximum": 49, + "t_stamp": 1776345129587 + }, + { + "Maximum": 49, + "t_stamp": 1776345159587 + }, + { + "Maximum": 49, + "t_stamp": 1776345189587 + }, + { + "Maximum": 49, + "t_stamp": 1776345219587 + }, + { + "Maximum": 49, + "t_stamp": 1776345249587 + }, + { + "Maximum": 49, + "t_stamp": 1776345279587 + }, + { + "Maximum": 49, + "t_stamp": 1776345309587 + }, + { + "Maximum": 49, + "t_stamp": 1776345339587 + }, + { + "Maximum": 49, + "t_stamp": 1776345369587 + }, + { + "Maximum": 49, + "t_stamp": 1776345399587 + }, + { + "Maximum": 49, + "t_stamp": 1776345429587 + }, + { + "Maximum": 49, + "t_stamp": 1776345459587 + }, + { + "Maximum": 49, + "t_stamp": 1776345489587 + }, + { + "Maximum": 49, + "t_stamp": 1776345519587 + }, + { + "Maximum": 49, + "t_stamp": 1776345549587 + }, + { + "Maximum": 49, + "t_stamp": 1776345579587 + }, + { + "Maximum": 49, + "t_stamp": 1776345609587 + }, + { + "Maximum": 49, + "t_stamp": 1776345639587 + }, + { + "Maximum": 49, + "t_stamp": 1776345669587 + }, + { + "Maximum": 49, + "t_stamp": 1776345699587 + }, + { + "Maximum": 49, + "t_stamp": 1776345729587 + }, + { + "Maximum": 49, + "t_stamp": 1776345759587 + }, + { + "Maximum": 49, + "t_stamp": 1776345789587 + }, + { + "Maximum": 49, + "t_stamp": 1776345819587 + }, + { + "Maximum": 49, + "t_stamp": 1776345849587 + }, + { + "Maximum": 49, + "t_stamp": 1776345879587 + }, + { + "Maximum": 49, + "t_stamp": 1776345909587 + }, + { + "Maximum": 49, + "t_stamp": 1776345939587 + }, + { + "Maximum": 49, + "t_stamp": 1776345969587 + }, + { + "Maximum": 49, + "t_stamp": 1776345999587 + }, + { + "Maximum": 49, + "t_stamp": 1776346029587 + }, + { + "Maximum": 49, + "t_stamp": 1776346059587 + }, + { + "Maximum": 49, + "t_stamp": 1776346089587 + }, + { + "Maximum": 49, + "t_stamp": 1776346119587 + }, + { + "Maximum": 49, + "t_stamp": 1776346149587 + }, + { + "Maximum": 49, + "t_stamp": 1776346179587 + }, + { + "Maximum": 49, + "t_stamp": 1776346209587 + }, + { + "Maximum": 49, + "t_stamp": 1776346239587 + }, + { + "Maximum": 49, + "t_stamp": 1776346269587 + }, + { + "Maximum": 49, + "t_stamp": 1776346299587 + }, + { + "Maximum": 49, + "t_stamp": 1776346329587 + }, + { + "Maximum": 49, + "t_stamp": 1776346359587 + }, + { + "Maximum": 49, + "t_stamp": 1776346389587 + }, + { + "Maximum": 49, + "t_stamp": 1776346419587 + }, + { + "Maximum": 49, + "t_stamp": 1776346449587 + }, + { + "Maximum": 49, + "t_stamp": 1776346479587 + }, + { + "Maximum": 49, + "t_stamp": 1776346509587 + }, + { + "Maximum": 49, + "t_stamp": 1776346539587 + }, + { + "Maximum": 49, + "t_stamp": 1776346569587 + }, + { + "Maximum": 49, + "t_stamp": 1776346599587 + }, + { + "Maximum": 49, + "t_stamp": 1776346629587 + }, + { + "Maximum": 49, + "t_stamp": 1776346659587 + }, + { + "Maximum": 49, + "t_stamp": 1776346689587 + }, + { + "Maximum": 49, + "t_stamp": 1776346719587 + }, + { + "Maximum": 49, + "t_stamp": 1776346749587 + }, + { + "Maximum": 49, + "t_stamp": 1776346779587 + }, + { + "Maximum": 49, + "t_stamp": 1776346809587 + }, + { + "Maximum": 49, + "t_stamp": 1776346839587 + }, + { + "Maximum": 49, + "t_stamp": 1776346869587 + }, + { + "Maximum": 49, + "t_stamp": 1776346899587 + }, + { + "Maximum": 49, + "t_stamp": 1776346929587 + }, + { + "Maximum": 49, + "t_stamp": 1776346959587 + }, + { + "Maximum": 49, + "t_stamp": 1776346989587 + }, + { + "Maximum": 49, + "t_stamp": 1776347019587 + }, + { + "Maximum": 49, + "t_stamp": 1776347049587 + }, + { + "Maximum": 49, + "t_stamp": 1776347079587 + }, + { + "Maximum": 49, + "t_stamp": 1776347109587 + }, + { + "Maximum": 49, + "t_stamp": 1776347139587 + }, + { + "Maximum": 49, + "t_stamp": 1776347169587 + }, + { + "Maximum": 49, + "t_stamp": 1776347199587 + }, + { + "Maximum": 49, + "t_stamp": 1776347229587 + }, + { + "Maximum": 49, + "t_stamp": 1776347259587 + }, + { + "Maximum": 49, + "t_stamp": 1776347289587 + }, + { + "Maximum": 49, + "t_stamp": 1776347319587 + }, + { + "Maximum": 49, + "t_stamp": 1776347349587 + }, + { + "Maximum": 49, + "t_stamp": 1776347379587 + }, + { + "Maximum": 49, + "t_stamp": 1776347409587 + }, + { + "Maximum": 49, + "t_stamp": 1776347439587 + }, + { + "Maximum": 49, + "t_stamp": 1776347469587 + }, + { + "Maximum": 49, + "t_stamp": 1776347499587 + }, + { + "Maximum": 49, + "t_stamp": 1776347529587 + }, + { + "Maximum": 49, + "t_stamp": 1776347559587 + }, + { + "Maximum": 49, + "t_stamp": 1776347589587 + }, + { + "Maximum": 49, + "t_stamp": 1776347619587 + }, + { + "Maximum": 49, + "t_stamp": 1776347649587 + }, + { + "Maximum": 49, + "t_stamp": 1776347679587 + }, + { + "Maximum": 49, + "t_stamp": 1776347709587 + }, + { + "Maximum": 49, + "t_stamp": 1776347739587 + }, + { + "Maximum": 49, + "t_stamp": 1776347769587 + }, + { + "Maximum": 49, + "t_stamp": 1776347799587 + }, + { + "Maximum": 49, + "t_stamp": 1776347829587 + }, + { + "Maximum": 49, + "t_stamp": 1776347859587 + }, + { + "Maximum": 49, + "t_stamp": 1776347889587 + }, + { + "Maximum": 49, + "t_stamp": 1776347919587 + }, + { + "Maximum": 49, + "t_stamp": 1776347949587 + }, + { + "Maximum": 49, + "t_stamp": 1776347979587 + }, + { + "Maximum": 49, + "t_stamp": 1776348009587 + }, + { + "Maximum": 49, + "t_stamp": 1776348039587 + }, + { + "Maximum": 49, + "t_stamp": 1776348069587 + }, + { + "Maximum": 49, + "t_stamp": 1776348099587 + }, + { + "Maximum": 49, + "t_stamp": 1776348129587 + }, + { + "Maximum": 49, + "t_stamp": 1776348159587 + }, + { + "Maximum": 49, + "t_stamp": 1776348189587 + }, + { + "Maximum": 49, + "t_stamp": 1776348219587 + }, + { + "Maximum": 49, + "t_stamp": 1776348249587 + }, + { + "Maximum": 49, + "t_stamp": 1776348279587 + }, + { + "Maximum": 49, + "t_stamp": 1776348309587 + }, + { + "Maximum": 49, + "t_stamp": 1776348339587 + }, + { + "Maximum": 49, + "t_stamp": 1776348369587 + }, + { + "Maximum": 49, + "t_stamp": 1776348399587 + }, + { + "Maximum": 49, + "t_stamp": 1776348429587 + }, + { + "Maximum": 49, + "t_stamp": 1776348459587 + }, + { + "Maximum": 49, + "t_stamp": 1776348489587 + }, + { + "Maximum": 49, + "t_stamp": 1776348519587 + }, + { + "Maximum": 49, + "t_stamp": 1776348549587 + }, + { + "Maximum": 49, + "t_stamp": 1776348579587 + }, + { + "Maximum": 49, + "t_stamp": 1776348609587 + }, + { + "Maximum": 49, + "t_stamp": 1776348639587 + }, + { + "Maximum": 49, + "t_stamp": 1776348669587 + }, + { + "Maximum": 49, + "t_stamp": 1776348699587 + }, + { + "Maximum": 49, + "t_stamp": 1776348729587 + }, + { + "Maximum": 49, + "t_stamp": 1776348759587 + }, + { + "Maximum": 49, + "t_stamp": 1776348789587 + }, + { + "Maximum": 49, + "t_stamp": 1776348819587 + }, + { + "Maximum": 49, + "t_stamp": 1776348849587 + }, + { + "Maximum": 49, + "t_stamp": 1776348879587 + }, + { + "Maximum": 49, + "t_stamp": 1776348909587 + }, + { + "Maximum": 49, + "t_stamp": 1776348939587 + }, + { + "Maximum": 49, + "t_stamp": 1776348969587 + }, + { + "Maximum": 49, + "t_stamp": 1776348999587 + }, + { + "Maximum": 49, + "t_stamp": 1776349029587 + }, + { + "Maximum": 49, + "t_stamp": 1776349059587 + }, + { + "Maximum": 49, + "t_stamp": 1776349089587 + }, + { + "Maximum": 49, + "t_stamp": 1776349119587 + }, + { + "Maximum": 49, + "t_stamp": 1776349149587 + }, + { + "Maximum": 49, + "t_stamp": 1776349179587 + }, + { + "Maximum": 49, + "t_stamp": 1776349209587 + }, + { + "Maximum": 49, + "t_stamp": 1776349239587 + }, + { + "Maximum": 49, + "t_stamp": 1776349269587 + }, + { + "Maximum": 49, + "t_stamp": 1776349299587 + }, + { + "Maximum": 49, + "t_stamp": 1776349329587 + }, + { + "Maximum": 49, + "t_stamp": 1776349359587 + }, + { + "Maximum": 49, + "t_stamp": 1776349389587 + }, + { + "Maximum": 49, + "t_stamp": 1776349419587 + }, + { + "Maximum": 49, + "t_stamp": 1776349449587 + }, + { + "Maximum": 49, + "t_stamp": 1776349479587 + }, + { + "Maximum": 49, + "t_stamp": 1776349509587 + }, + { + "Maximum": 49, + "t_stamp": 1776349539587 + }, + { + "Maximum": 49, + "t_stamp": 1776349569587 + }, + { + "Maximum": 49, + "t_stamp": 1776349599587 + }, + { + "Maximum": 49, + "t_stamp": 1776349629587 + }, + { + "Maximum": 49, + "t_stamp": 1776349659587 + }, + { + "Maximum": 49, + "t_stamp": 1776349689587 + }, + { + "Maximum": 49, + "t_stamp": 1776349719587 + }, + { + "Maximum": 49, + "t_stamp": 1776349749587 + }, + { + "Maximum": 49, + "t_stamp": 1776349779587 + }, + { + "Maximum": 49, + "t_stamp": 1776349809587 + }, + { + "Maximum": 49, + "t_stamp": 1776349839587 + }, + { + "Maximum": 49, + "t_stamp": 1776349869587 + }, + { + "Maximum": 49, + "t_stamp": 1776349899587 + }, + { + "Maximum": 49, + "t_stamp": 1776349929587 + }, + { + "Maximum": 49, + "t_stamp": 1776349959587 + }, + { + "Maximum": 49, + "t_stamp": 1776349989587 + }, + { + "Maximum": 49, + "t_stamp": 1776350019587 + }, + { + "Maximum": 49, + "t_stamp": 1776350049587 + }, + { + "Maximum": 49, + "t_stamp": 1776350079587 + }, + { + "Maximum": 49.92467328977197, + "t_stamp": 1776350109587 + }, + { + "Maximum": 50, + "t_stamp": 1776350139587 + }, + { + "Maximum": 50, + "t_stamp": 1776350169587 + }, + { + "Maximum": 50, + "t_stamp": 1776350199587 + }, + { + "Maximum": 49.07529749008366, + "t_stamp": 1776350229587 + }, + { + "Maximum": 49, + "t_stamp": 1776350259587 + }, + { + "Maximum": 49, + "t_stamp": 1776350289587 + }, + { + "Maximum": 49, + "t_stamp": 1776350319587 + }, + { + "Maximum": 49, + "t_stamp": 1776350349587 + }, + { + "Maximum": 49, + "t_stamp": 1776350379587 + }, + { + "Maximum": 49, + "t_stamp": 1776350409587 + }, + { + "Maximum": 49, + "t_stamp": 1776350439587 + }, + { + "Maximum": 49, + "t_stamp": 1776350469587 + }, + { + "Maximum": 49, + "t_stamp": 1776350499587 + }, + { + "Maximum": 49, + "t_stamp": 1776350529587 + }, + { + "Maximum": 49, + "t_stamp": 1776350559587 + }, + { + "Maximum": 49, + "t_stamp": 1776350589587 + }, + { + "Maximum": 49, + "t_stamp": 1776350619587 + }, + { + "Maximum": 49, + "t_stamp": 1776350649587 + }, + { + "Maximum": 49, + "t_stamp": 1776350679587 + }, + { + "Maximum": 49.92457420924574, + "t_stamp": 1776350709587 + }, + { + "Maximum": 50, + "t_stamp": 1776350739587 + }, + { + "Maximum": 49.075340867420074, + "t_stamp": 1776350769587 + }, + { + "Maximum": 49, + "t_stamp": 1776350799587 + }, + { + "Maximum": 49, + "t_stamp": 1776350829587 + }, + { + "Maximum": 49, + "t_stamp": 1776350859587 + }, + { + "Maximum": 49, + "t_stamp": 1776350889587 + }, + { + "Maximum": 49, + "t_stamp": 1776350919587 + }, + { + "Maximum": 49, + "t_stamp": 1776350949587 + }, + { + "Maximum": 49, + "t_stamp": 1776350979587 + }, + { + "Maximum": 49, + "t_stamp": 1776351009587 + }, + { + "Maximum": 49, + "t_stamp": 1776351039587 + }, + { + "Maximum": 49, + "t_stamp": 1776351069587 + }, + { + "Maximum": 49, + "t_stamp": 1776351099587 + }, + { + "Maximum": 49, + "t_stamp": 1776351129587 + }, + { + "Maximum": 49, + "t_stamp": 1776351159587 + }, + { + "Maximum": 49, + "t_stamp": 1776351189587 + }, + { + "Maximum": 49, + "t_stamp": 1776351219587 + }, + { + "Maximum": 49, + "t_stamp": 1776351249587 + }, + { + "Maximum": 49, + "t_stamp": 1776351279587 + }, + { + "Maximum": 49, + "t_stamp": 1776351309587 + }, + { + "Maximum": 49, + "t_stamp": 1776351339587 + }, + { + "Maximum": 49, + "t_stamp": 1776351369587 + }, + { + "Maximum": 49, + "t_stamp": 1776351399587 + } + ], + "Minimum": [ + { + "Minimum": 46, + "t_stamp": 1776344196580 + }, + { + "Minimum": 46, + "t_stamp": 1776344226580 + }, + { + "Minimum": 46, + "t_stamp": 1776344256580 + }, + { + "Minimum": 46, + "t_stamp": 1776344286580 + }, + { + "Minimum": 46, + "t_stamp": 1776344316580 + }, + { + "Minimum": 46, + "t_stamp": 1776344346580 + }, + { + "Minimum": 46, + "t_stamp": 1776344376580 + }, + { + "Minimum": 46, + "t_stamp": 1776344406580 + }, + { + "Minimum": 46, + "t_stamp": 1776344436580 + }, + { + "Minimum": 46, + "t_stamp": 1776344466580 + }, + { + "Minimum": 46, + "t_stamp": 1776344496580 + }, + { + "Minimum": 46, + "t_stamp": 1776344526580 + }, + { + "Minimum": 46, + "t_stamp": 1776344556580 + }, + { + "Minimum": 46, + "t_stamp": 1776344586580 + }, + { + "Minimum": 46, + "t_stamp": 1776344616580 + }, + { + "Minimum": 46, + "t_stamp": 1776344646580 + }, + { + "Minimum": 46, + "t_stamp": 1776344676580 + }, + { + "Minimum": 46, + "t_stamp": 1776344706580 + }, + { + "Minimum": 46, + "t_stamp": 1776344736580 + }, + { + "Minimum": 46, + "t_stamp": 1776344766580 + }, + { + "Minimum": 46, + "t_stamp": 1776344796580 + }, + { + "Minimum": 46, + "t_stamp": 1776344826580 + }, + { + "Minimum": 46, + "t_stamp": 1776344856580 + }, + { + "Minimum": 46, + "t_stamp": 1776344886580 + }, + { + "Minimum": 46, + "t_stamp": 1776344916580 + }, + { + "Minimum": 46, + "t_stamp": 1776344946580 + }, + { + "Minimum": 46, + "t_stamp": 1776344976580 + }, + { + "Minimum": 46, + "t_stamp": 1776345006580 + }, + { + "Minimum": 46, + "t_stamp": 1776345036580 + }, + { + "Minimum": 46, + "t_stamp": 1776345066580 + }, + { + "Minimum": 46, + "t_stamp": 1776345096580 + }, + { + "Minimum": 46, + "t_stamp": 1776345126580 + }, + { + "Minimum": 46, + "t_stamp": 1776345156580 + }, + { + "Minimum": 46, + "t_stamp": 1776345186580 + }, + { + "Minimum": 46, + "t_stamp": 1776345216580 + }, + { + "Minimum": 46, + "t_stamp": 1776345246580 + }, + { + "Minimum": 46, + "t_stamp": 1776345276580 + }, + { + "Minimum": 46, + "t_stamp": 1776345306580 + }, + { + "Minimum": 46, + "t_stamp": 1776345336580 + }, + { + "Minimum": 46, + "t_stamp": 1776345366580 + }, + { + "Minimum": 46, + "t_stamp": 1776345396580 + }, + { + "Minimum": 46, + "t_stamp": 1776345426580 + }, + { + "Minimum": 46, + "t_stamp": 1776345456580 + }, + { + "Minimum": 46, + "t_stamp": 1776345486580 + }, + { + "Minimum": 46, + "t_stamp": 1776345516580 + }, + { + "Minimum": 46, + "t_stamp": 1776345546580 + }, + { + "Minimum": 46, + "t_stamp": 1776345576580 + }, + { + "Minimum": 46, + "t_stamp": 1776345606580 + }, + { + "Minimum": 46, + "t_stamp": 1776345636580 + }, + { + "Minimum": 46, + "t_stamp": 1776345666580 + }, + { + "Minimum": 46, + "t_stamp": 1776345696580 + }, + { + "Minimum": 46, + "t_stamp": 1776345726580 + }, + { + "Minimum": 46, + "t_stamp": 1776345756580 + }, + { + "Minimum": 46, + "t_stamp": 1776345786580 + }, + { + "Minimum": 46, + "t_stamp": 1776345816580 + }, + { + "Minimum": 46, + "t_stamp": 1776345846580 + }, + { + "Minimum": 46, + "t_stamp": 1776345876580 + }, + { + "Minimum": 46, + "t_stamp": 1776345906580 + }, + { + "Minimum": 46, + "t_stamp": 1776345936580 + }, + { + "Minimum": 46, + "t_stamp": 1776345966580 + }, + { + "Minimum": 46, + "t_stamp": 1776345996580 + }, + { + "Minimum": 46, + "t_stamp": 1776346026580 + }, + { + "Minimum": 46, + "t_stamp": 1776346056580 + }, + { + "Minimum": 46, + "t_stamp": 1776346086580 + }, + { + "Minimum": 46, + "t_stamp": 1776346116580 + }, + { + "Minimum": 46, + "t_stamp": 1776346146580 + }, + { + "Minimum": 46, + "t_stamp": 1776346176580 + }, + { + "Minimum": 46, + "t_stamp": 1776346206580 + }, + { + "Minimum": 46, + "t_stamp": 1776346236580 + }, + { + "Minimum": 46, + "t_stamp": 1776346266580 + }, + { + "Minimum": 46, + "t_stamp": 1776346296580 + }, + { + "Minimum": 46, + "t_stamp": 1776346326580 + }, + { + "Minimum": 46, + "t_stamp": 1776346356580 + }, + { + "Minimum": 46, + "t_stamp": 1776346386580 + }, + { + "Minimum": 46, + "t_stamp": 1776346416580 + }, + { + "Minimum": 46, + "t_stamp": 1776346446580 + }, + { + "Minimum": 46, + "t_stamp": 1776346476580 + }, + { + "Minimum": 46, + "t_stamp": 1776346506580 + }, + { + "Minimum": 46, + "t_stamp": 1776346536580 + }, + { + "Minimum": 46, + "t_stamp": 1776346566580 + }, + { + "Minimum": 46, + "t_stamp": 1776346596580 + }, + { + "Minimum": 46, + "t_stamp": 1776346626580 + }, + { + "Minimum": 46, + "t_stamp": 1776346656580 + }, + { + "Minimum": 46, + "t_stamp": 1776346686580 + }, + { + "Minimum": 46, + "t_stamp": 1776346716580 + }, + { + "Minimum": 46, + "t_stamp": 1776346746580 + }, + { + "Minimum": 46, + "t_stamp": 1776346776580 + }, + { + "Minimum": 46, + "t_stamp": 1776346806580 + }, + { + "Minimum": 46, + "t_stamp": 1776346836580 + }, + { + "Minimum": 46, + "t_stamp": 1776346866580 + }, + { + "Minimum": 46, + "t_stamp": 1776346896580 + }, + { + "Minimum": 46, + "t_stamp": 1776346926580 + }, + { + "Minimum": 46, + "t_stamp": 1776346956580 + }, + { + "Minimum": 46, + "t_stamp": 1776346986580 + }, + { + "Minimum": 46, + "t_stamp": 1776347016580 + }, + { + "Minimum": 46, + "t_stamp": 1776347046580 + }, + { + "Minimum": 46, + "t_stamp": 1776347076580 + }, + { + "Minimum": 46, + "t_stamp": 1776347106580 + }, + { + "Minimum": 46, + "t_stamp": 1776347136580 + }, + { + "Minimum": 46, + "t_stamp": 1776347166580 + }, + { + "Minimum": 46, + "t_stamp": 1776347196580 + }, + { + "Minimum": 46, + "t_stamp": 1776347226580 + }, + { + "Minimum": 46, + "t_stamp": 1776347256580 + }, + { + "Minimum": 46, + "t_stamp": 1776347286580 + }, + { + "Minimum": 46, + "t_stamp": 1776347316580 + }, + { + "Minimum": 46, + "t_stamp": 1776347346580 + }, + { + "Minimum": 46, + "t_stamp": 1776347376580 + }, + { + "Minimum": 46, + "t_stamp": 1776347406580 + }, + { + "Minimum": 46, + "t_stamp": 1776347436580 + }, + { + "Minimum": 46, + "t_stamp": 1776347466580 + }, + { + "Minimum": 46, + "t_stamp": 1776347496580 + }, + { + "Minimum": 46, + "t_stamp": 1776347526580 + }, + { + "Minimum": 46, + "t_stamp": 1776347556580 + }, + { + "Minimum": 46, + "t_stamp": 1776347586580 + }, + { + "Minimum": 46, + "t_stamp": 1776347616580 + }, + { + "Minimum": 46, + "t_stamp": 1776347646580 + }, + { + "Minimum": 46, + "t_stamp": 1776347676580 + }, + { + "Minimum": 46, + "t_stamp": 1776347706580 + }, + { + "Minimum": 46, + "t_stamp": 1776347736580 + }, + { + "Minimum": 46, + "t_stamp": 1776347766580 + }, + { + "Minimum": 46, + "t_stamp": 1776347796580 + }, + { + "Minimum": 46, + "t_stamp": 1776347826580 + }, + { + "Minimum": 46, + "t_stamp": 1776347856580 + }, + { + "Minimum": 46, + "t_stamp": 1776347886580 + }, + { + "Minimum": 46, + "t_stamp": 1776347916580 + }, + { + "Minimum": 46, + "t_stamp": 1776347946580 + }, + { + "Minimum": 46, + "t_stamp": 1776347976580 + }, + { + "Minimum": 46, + "t_stamp": 1776348006580 + }, + { + "Minimum": 46, + "t_stamp": 1776348036580 + }, + { + "Minimum": 46, + "t_stamp": 1776348066580 + }, + { + "Minimum": 46, + "t_stamp": 1776348096580 + }, + { + "Minimum": 46, + "t_stamp": 1776348126580 + }, + { + "Minimum": 46, + "t_stamp": 1776348156580 + }, + { + "Minimum": 46, + "t_stamp": 1776348186580 + }, + { + "Minimum": 46, + "t_stamp": 1776348216580 + }, + { + "Minimum": 46, + "t_stamp": 1776348246580 + }, + { + "Minimum": 46, + "t_stamp": 1776348276580 + }, + { + "Minimum": 46, + "t_stamp": 1776348306580 + }, + { + "Minimum": 46, + "t_stamp": 1776348336580 + }, + { + "Minimum": 46, + "t_stamp": 1776348366580 + }, + { + "Minimum": 46, + "t_stamp": 1776348396580 + }, + { + "Minimum": 46, + "t_stamp": 1776348426580 + }, + { + "Minimum": 46, + "t_stamp": 1776348456580 + }, + { + "Minimum": 46, + "t_stamp": 1776348486580 + }, + { + "Minimum": 46, + "t_stamp": 1776348516580 + }, + { + "Minimum": 46, + "t_stamp": 1776348546580 + }, + { + "Minimum": 46, + "t_stamp": 1776348576580 + }, + { + "Minimum": 46, + "t_stamp": 1776348606580 + }, + { + "Minimum": 46, + "t_stamp": 1776348636580 + }, + { + "Minimum": 46, + "t_stamp": 1776348666580 + }, + { + "Minimum": 46, + "t_stamp": 1776348696580 + }, + { + "Minimum": 46, + "t_stamp": 1776348726580 + }, + { + "Minimum": 46, + "t_stamp": 1776348756580 + }, + { + "Minimum": 46, + "t_stamp": 1776348786580 + }, + { + "Minimum": 46, + "t_stamp": 1776348816580 + }, + { + "Minimum": 46, + "t_stamp": 1776348846580 + }, + { + "Minimum": 46, + "t_stamp": 1776348876580 + }, + { + "Minimum": 46, + "t_stamp": 1776348906580 + }, + { + "Minimum": 46, + "t_stamp": 1776348936580 + }, + { + "Minimum": 46, + "t_stamp": 1776348966580 + }, + { + "Minimum": 46, + "t_stamp": 1776348996580 + }, + { + "Minimum": 46, + "t_stamp": 1776349026580 + }, + { + "Minimum": 46, + "t_stamp": 1776349056580 + }, + { + "Minimum": 46, + "t_stamp": 1776349086580 + }, + { + "Minimum": 46, + "t_stamp": 1776349116580 + }, + { + "Minimum": 46, + "t_stamp": 1776349146580 + }, + { + "Minimum": 46, + "t_stamp": 1776349176580 + }, + { + "Minimum": 46, + "t_stamp": 1776349206580 + }, + { + "Minimum": 46, + "t_stamp": 1776349236580 + }, + { + "Minimum": 46, + "t_stamp": 1776349266580 + }, + { + "Minimum": 46, + "t_stamp": 1776349296580 + }, + { + "Minimum": 46, + "t_stamp": 1776349326580 + }, + { + "Minimum": 46, + "t_stamp": 1776349356580 + }, + { + "Minimum": 46, + "t_stamp": 1776349386580 + }, + { + "Minimum": 46, + "t_stamp": 1776349416580 + }, + { + "Minimum": 46, + "t_stamp": 1776349446580 + }, + { + "Minimum": 46, + "t_stamp": 1776349476580 + }, + { + "Minimum": 46, + "t_stamp": 1776349506580 + }, + { + "Minimum": 46, + "t_stamp": 1776349536580 + }, + { + "Minimum": 46, + "t_stamp": 1776349566580 + }, + { + "Minimum": 46, + "t_stamp": 1776349596580 + }, + { + "Minimum": 46, + "t_stamp": 1776349626580 + }, + { + "Minimum": 46, + "t_stamp": 1776349656580 + }, + { + "Minimum": 46, + "t_stamp": 1776349686580 + }, + { + "Minimum": 46, + "t_stamp": 1776349716580 + }, + { + "Minimum": 46, + "t_stamp": 1776349746580 + }, + { + "Minimum": 46, + "t_stamp": 1776349776580 + }, + { + "Minimum": 46, + "t_stamp": 1776349806580 + }, + { + "Minimum": 46, + "t_stamp": 1776349836580 + }, + { + "Minimum": 46, + "t_stamp": 1776349866580 + }, + { + "Minimum": 46, + "t_stamp": 1776349896580 + }, + { + "Minimum": 46, + "t_stamp": 1776349926580 + }, + { + "Minimum": 46, + "t_stamp": 1776349956580 + }, + { + "Minimum": 46, + "t_stamp": 1776349986580 + }, + { + "Minimum": 46, + "t_stamp": 1776350016580 + }, + { + "Minimum": 46, + "t_stamp": 1776350046580 + }, + { + "Minimum": 46, + "t_stamp": 1776350076580 + }, + { + "Minimum": 46, + "t_stamp": 1776350106580 + }, + { + "Minimum": 46, + "t_stamp": 1776350136580 + }, + { + "Minimum": 46, + "t_stamp": 1776350166580 + }, + { + "Minimum": 46, + "t_stamp": 1776350196580 + }, + { + "Minimum": 46, + "t_stamp": 1776350226580 + }, + { + "Minimum": 46, + "t_stamp": 1776350256580 + }, + { + "Minimum": 46, + "t_stamp": 1776350286580 + }, + { + "Minimum": 46, + "t_stamp": 1776350316580 + }, + { + "Minimum": 46, + "t_stamp": 1776350346580 + }, + { + "Minimum": 46, + "t_stamp": 1776350376580 + }, + { + "Minimum": 46, + "t_stamp": 1776350406580 + }, + { + "Minimum": 46, + "t_stamp": 1776350436580 + }, + { + "Minimum": 46, + "t_stamp": 1776350466580 + }, + { + "Minimum": 46, + "t_stamp": 1776350496580 + }, + { + "Minimum": 46, + "t_stamp": 1776350526580 + }, + { + "Minimum": 46, + "t_stamp": 1776350556580 + }, + { + "Minimum": 46, + "t_stamp": 1776350586580 + }, + { + "Minimum": 46, + "t_stamp": 1776350616580 + }, + { + "Minimum": 46, + "t_stamp": 1776350646580 + }, + { + "Minimum": 46, + "t_stamp": 1776350676580 + }, + { + "Minimum": 46, + "t_stamp": 1776350706580 + }, + { + "Minimum": 46, + "t_stamp": 1776350736580 + }, + { + "Minimum": 46, + "t_stamp": 1776350766580 + }, + { + "Minimum": 46, + "t_stamp": 1776350796580 + }, + { + "Minimum": 46, + "t_stamp": 1776350826580 + }, + { + "Minimum": 46, + "t_stamp": 1776350856580 + }, + { + "Minimum": 46, + "t_stamp": 1776350886580 + }, + { + "Minimum": 46, + "t_stamp": 1776350916580 + }, + { + "Minimum": 46, + "t_stamp": 1776350946580 + }, + { + "Minimum": 46, + "t_stamp": 1776350976580 + }, + { + "Minimum": 46, + "t_stamp": 1776351006580 + }, + { + "Minimum": 46, + "t_stamp": 1776351036580 + }, + { + "Minimum": 46, + "t_stamp": 1776351066580 + }, + { + "Minimum": 46, + "t_stamp": 1776351096580 + }, + { + "Minimum": 46, + "t_stamp": 1776351126580 + }, + { + "Minimum": 46, + "t_stamp": 1776351156580 + }, + { + "Minimum": 46, + "t_stamp": 1776351186580 + }, + { + "Minimum": 46, + "t_stamp": 1776351216580 + }, + { + "Minimum": 46, + "t_stamp": 1776351246580 + }, + { + "Minimum": 46, + "t_stamp": 1776351276580 + }, + { + "Minimum": 46, + "t_stamp": 1776351306580 + }, + { + "Minimum": 46, + "t_stamp": 1776351336580 + }, + { + "Minimum": 46, + "t_stamp": 1776351366580 + } + ] + }, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Average", + "x": "t_stamp", + "y": "Average" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Temperature" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "#F91111", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "#FA1616", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Average", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Humidity", + "zIndex": 1 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Minimum", + "x": "t_stamp", + "y": "Minimum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Minimum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Humidity", + "zIndex": 2 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Maximum", + "x": "t_stamp", + "y": "Maximum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Maximum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Humidity", + "zIndex": 3 + } + ], + "style": { + "marginBottom": -20, + "overflow": "visible" + }, + "title": { + "appearance": { + "color": "#828282", + "font": { + "size": 12 + }, + "padding": { + "bottom": 8, + "top": -10 + } + }, + "text": "Hum (Avg, Min, Max)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 30, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 30, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Humidity" + }, + "name": "Humidity", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "Humidity" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "###.#", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "children": [ + { + "meta": { + "name": "STU_PieChart" + }, + "position": { + "basis": "65%", + "grow": 1 + }, + "props": { + "params": { + "Tag": "STU", + "faulted": 3, + "running": 12, + "standby": 5 + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dewpoint" + }, + "position": { + "basis": "35%", + "grow": 1 + }, + "props": { + "params": { + "Tag": "STU", + "faulted": 3, + "running": 12, + "standby": 5 + }, + "path": "Library/Widgets/Wgt_V_Bar-Val", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "STU_Dwpt_Section" + }, + "position": { + "basis": "200px" + }, + "props": { + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "GEN_Repeater" + }, + "position": { + "basis": "75px", + "grow": 1 + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P\",{view.params.DH},\"-1\")" + }, + "enabled": false, + "type": "expr" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P\",{view.params.DH},\"-2\")" + }, + "enabled": false, + "type": "expr" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P\",{view.params.DH},\"-3\")" + }, + "enabled": false, + "type": "expr" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P\",{view.params.DH},\"-4\")" + }, + "enabled": false, + "type": "expr" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P\",{view.params.DH},\"-5\")" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P201-1" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P201-2" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P201-3" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P201-4" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tag": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P201-5" + } + ], + "justify": "center", + "path": "Library/Symbols/Electrical/Sym_GeneratorStatus", + "style": { + "gap": "5px", + "overflow": "visible", + "padding": "5px 0" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/840ad31ad5925d31ec5b2116327c1bf889165240072df651bcf053fbaf9418e7 b/Gateways/FE/projects/.resources/840ad31ad5925d31ec5b2116327c1bf889165240072df651bcf053fbaf9418e7 new file mode 100644 index 0000000..81a95b5 --- /dev/null +++ b/Gateways/FE/projects/.resources/840ad31ad5925d31ec5b2116327c1bf889165240072df651bcf053fbaf9418e7 @@ -0,0 +1,395 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "instances": [ + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ], + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/841120a757fdbbb0ec892dad451c0f7d883759ab61cb7bfce56319e680dfd2c8 b/Gateways/FE/projects/.resources/841120a757fdbbb0ec892dad451c0f7d883759ab61cb7bfce56319e680dfd2c8 new file mode 100644 index 0000000..240cf88 --- /dev/null +++ b/Gateways/FE/projects/.resources/841120a757fdbbb0ec892dad451c0f7d883759ab61cb7bfce56319e680dfd2c8 @@ -0,0 +1,398 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor A Signal", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B Signal", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser A Signal", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser B Signal", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Modulating Hot Gas Reheat Valve Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Building Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor A Enabled", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B1 Enabled", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B2 Enabled", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Enabled Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Exhaust Fan Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Heating Enabled Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Remote Forced Occupied Status", + "options": [ + "Unforced", + "Forced" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge A Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge B Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outdoor Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/845e1dda9e7a37f394c44e0ace81b672ffad571ce4658cedb315b6298bdf634d b/Gateways/FE/projects/.resources/845e1dda9e7a37f394c44e0ace81b672ffad571ce4658cedb315b6298bdf634d new file mode 100644 index 0000000..a91db06 --- /dev/null +++ b/Gateways/FE/projects/.resources/845e1dda9e7a37f394c44e0ace81b672ffad571ce4658cedb315b6298bdf634d @@ -0,0 +1,9 @@ +{ + "base": { + "style": { + "borderBottomColor": "#CCCCCC", + "borderBottomStyle": "solid", + "borderBottomWidth": "1px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8460384c69f549995679e8b45c2fb2300c0f3e7f2b342b0e019b96c9a25b3630 b/Gateways/FE/projects/.resources/8460384c69f549995679e8b45c2fb2300c0f3e7f2b342b0e019b96c9a25b3630 new file mode 100644 index 0000000..e095739 Binary files /dev/null and b/Gateways/FE/projects/.resources/8460384c69f549995679e8b45c2fb2300c0f3e7f2b342b0e019b96c9a25b3630 differ diff --git a/Gateways/FE/projects/.resources/84a13ee2ebbb73e1939f9306ac3d46ecc5f18ae2ab307b569cea961ffd89cd4b b/Gateways/FE/projects/.resources/84a13ee2ebbb73e1939f9306ac3d46ecc5f18ae2ab307b569cea961ffd89cd4b new file mode 100644 index 0000000..6256e13 Binary files /dev/null and b/Gateways/FE/projects/.resources/84a13ee2ebbb73e1939f9306ac3d46ecc5f18ae2ab307b569cea961ffd89cd4b differ diff --git a/Gateways/FE/projects/.resources/84af03152a59011dc6690089f2825f097161a6b150519b2e27b38a0373181295 b/Gateways/FE/projects/.resources/84af03152a59011dc6690089f2825f097161a6b150519b2e27b38a0373181295 new file mode 100644 index 0000000..f93ca5a Binary files /dev/null and b/Gateways/FE/projects/.resources/84af03152a59011dc6690089f2825f097161a6b150519b2e27b38a0373181295 differ diff --git a/Gateways/FE/projects/.resources/850cb5ec0d5dacbd7f2b6901d6749c8e3b398c12e6214bbb263ec68b4f610e4c b/Gateways/FE/projects/.resources/850cb5ec0d5dacbd7f2b6901d6749c8e3b398c12e6214bbb263ec68b4f610e4c new file mode 100644 index 0000000..357531e Binary files /dev/null and b/Gateways/FE/projects/.resources/850cb5ec0d5dacbd7f2b6901d6749c8e3b398c12e6214bbb263ec68b4f610e4c differ diff --git a/Gateways/FE/projects/.resources/85165b9e4ef27366989021206f160f7ef5dedc66fe97f212044a09ab4b771914 b/Gateways/FE/projects/.resources/85165b9e4ef27366989021206f160f7ef5dedc66fe97f212044a09ab4b771914 new file mode 100644 index 0000000..86f37d6 Binary files /dev/null and b/Gateways/FE/projects/.resources/85165b9e4ef27366989021206f160f7ef5dedc66fe97f212044a09ab4b771914 differ diff --git a/Gateways/FE/projects/.resources/8538b2ae9bdbca9f072c11ff9efa48246dfc521a3ec72d364cbe8258ee27d438 b/Gateways/FE/projects/.resources/8538b2ae9bdbca9f072c11ff9efa48246dfc521a3ec72d364cbe8258ee27d438 new file mode 100644 index 0000000..f43c90f Binary files /dev/null and b/Gateways/FE/projects/.resources/8538b2ae9bdbca9f072c11ff9efa48246dfc521a3ec72d364cbe8258ee27d438 differ diff --git a/Gateways/FE/projects/.resources/854329e7d2a9c93dc23a779305eebf904ac28b7406ecbce98e87a253355b0a55 b/Gateways/FE/projects/.resources/854329e7d2a9c93dc23a779305eebf904ac28b7406ecbce98e87a253355b0a55 new file mode 100644 index 0000000..3274edb --- /dev/null +++ b/Gateways/FE/projects/.resources/854329e7d2a9c93dc23a779305eebf904ac28b7406ecbce98e87a253355b0a55 @@ -0,0 +1,681 @@ +{ + "custom": { + "data": [ + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_EcoStruxure_OPC_UA_Server_Expert", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_Ignition_OPC_UA_Server", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_26", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_27", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_28", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_29", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_30", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_31", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_32", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_33", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_34", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_35", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_37", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_38", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_45", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_51", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_57", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_58", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_61", + "[Ignition_SATB1_IO1_default]OPC/SATB1_OPC_Ignition_OPC_UA_Server", + "[Ignition_SATB1_IO1_default]OPC/SATB1_OPC_PNL_52", + "[Ignition_SATB1_IO1_default]OPC/SATB1_OPC_PNL_53", + "[Ignition_SATB1_IO1_default]OPC/SATB1_OPC_PNL_54", + "[Ignition_SATB1_IO1_default]OPC/SATB1_OPC_PNL_55", + "[Ignition_SATB1_IO1_default]OPC/SATB1_OPC_PNL_56", + "[Ignition_SATB1_IO2_default]OPC/SATB1_OPC_Ignition_OPC_UA_Server", + "[Ignition_SATB1_IO2_default]OPC/SATB1_OPC_PNL_46", + "[Ignition_SATB1_IO2_default]OPC/SATB1_OPC_PNL_47", + "[Ignition_SATB1_IO2_default]OPC/SATB1_OPC_PNL_48", + "[Ignition_SATB1_IO2_default]OPC/SATB1_OPC_PNL_49", + "[Ignition_SATB1_IO2_default]OPC/SATB1_OPC_PNL_50" + ], + "tagPath": [ + "[Ignition_Common_IO_Gtwy]", + "[Ignition_SATB1_IO1_default]", + "[Ignition_SATB1_IO2_default]", + "[Ignition_SATB1_IO4_default]" + ] + }, + "params": {}, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "struct": { + "tagPaths": "{view.custom.tagPath}", + "time": "now(3000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor path in value[\u0027tagPaths\u0027]:\n\t\ttags \u003d system.tag.browse(path,{\"typeId\":\"Objects/Network/OPC_Status\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags:\n\t\t\toutput.append(str(item[\"fullPath\"]))\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.tagPath": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "custom": { + "data": "value" + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "struct": { + "paths": "{view.custom.data}", + "time": "now(5000)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tdata \u003d value[\"paths\"]\n\tfor item in data:\n\t\tgateway_array \u003d item.split(\u0027]\u0027)\n\t\tgateway \u003d gateway_array[0][1:]\n\t\topc_array \u003d item.split(\u0027SATB1_OPC_\u0027)\n\t\topc \u003d opc_array[-1]\n\t\topc \u003d opc.replace(\"_\", \" \")\n\t\tinstance \u003d system.tag.readBlocking(item)[0].value\n\t\tmeta \u003d instance[\u0027Meta\u0027]\n\t\tdesc \u003d meta[\u0027EqName\u0027]\n\t\tconnected \u003d instance[\"Connected\"]\n\t\tenabled \u003d instance[\"Enabled\"]\n\t\tstate \u003d instance[\"State\"]\n\t\tif state \u003d\u003d \"FAULTED\":\n\t\t\tstyle \u003d {\"backgroundColor\": \"#FF0000A8\", \"color\":\"white\"}\n\t\telse:\n\t\t\tstyle \u003d {\"backgroundColor\": \"\", \"color\":\"\"}\n\t\toutput.append({ \"Gateway\": gateway,\n\t\t\t\t\t\t\"OPC\": opc,\n\t\t\t\t\t\t\"Description\": desc,\n\t\t\t\t\t\t\"Enabled\": enabled,\n\t\t\t\t\t\t\"Connected\": connected,\n\t\t\t\t\t\t\"State\": {\"value\":state, \"style\": style}\n\t\t\t\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Gateway", + "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": "", + "paddingLeft": "10px" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "OPC", + "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": "Description", + "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": "Description" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "Offline", + "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": "Enabled", + "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": "0%" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Connected", + "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": "State", + "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.##%", + "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": "", + "paddingLeft": "10px" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + } + ], + "filter": { + "enabled": true + }, + "style": { + "backgroundColor": "#FF0000A8" + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/859134af213d217538a59a3b55e12ce7f43c505f724cd4bff28a30257572f714 b/Gateways/FE/projects/.resources/859134af213d217538a59a3b55e12ce7f43c505f724cd4bff28a30257572f714 new file mode 100644 index 0000000..feab762 Binary files /dev/null and b/Gateways/FE/projects/.resources/859134af213d217538a59a3b55e12ce7f43c505f724cd4bff28a30257572f714 differ diff --git a/Gateways/FE/projects/.resources/85b4ed58dca0dc07e92a70dcfa9c6ebdb9ed896a923c871860d137f65e61a5ad b/Gateways/FE/projects/.resources/85b4ed58dca0dc07e92a70dcfa9c6ebdb9ed896a923c871860d137f65e61a5ad new file mode 100644 index 0000000..7bb1c0f --- /dev/null +++ b/Gateways/FE/projects/.resources/85b4ed58dca0dc07e92a70dcfa9c6ebdb9ed896a923c871860d137f65e61a5ad @@ -0,0 +1,90 @@ +{ + "custom": {}, + "params": { + "Severity": 1 + }, + "propConfig": { + "params.Severity": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 165, + "width": 160 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmBorder Square" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({view.params.Severity}\u003e0,True,False)" + }, + "type": "expr" + } + }, + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{view.params.Severity},\r\n\t1, \"#7166B7\",\r\n\t2, \"#F4B834\",\r\n\t3, \"#DE7C33\",\r\n\t4, \"#E22028\",\r\n\t\"#FFFFFF\"\r\n)\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": 720, + "id": "Box", + "name": "Box", + "stroke": { + "width": 10 + }, + "type": "rect", + "width": 720, + "x": 2, + "y": 2 + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMidYMin", + "stroke": { + "linecap": "square", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 730 355" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/85c837a67a8a7c1456a80746633ebf8f54836fe9ed5c79c8d02a4361796deafd b/Gateways/FE/projects/.resources/85c837a67a8a7c1456a80746633ebf8f54836fe9ed5c79c8d02a4361796deafd new file mode 100644 index 0000000..70f1467 --- /dev/null +++ b/Gateways/FE/projects/.resources/85c837a67a8a7c1456a80746633ebf8f54836fe9ed5c79c8d02a4361796deafd @@ -0,0 +1,9 @@ +{ + "base": { + "style": { + "fontSize": "20px", + "fontWeight": "bold", + "lineHeight": "32px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/85d0cabe9b4b6600687c3d4e317649b5484314217dad900a08ca9bb376ff599b b/Gateways/FE/projects/.resources/85d0cabe9b4b6600687c3d4e317649b5484314217dad900a08ca9bb376ff599b new file mode 100644 index 0000000..bd60e76 Binary files /dev/null and b/Gateways/FE/projects/.resources/85d0cabe9b4b6600687c3d4e317649b5484314217dad900a08ca9bb376ff599b differ diff --git a/Gateways/FE/projects/.resources/8634b61404b4a516bae4392bfea62d8998eb0a0839772a973fbc5ffb233b0707 b/Gateways/FE/projects/.resources/8634b61404b4a516bae4392bfea62d8998eb0a0839772a973fbc5ffb233b0707 new file mode 100644 index 0000000..790b93d --- /dev/null +++ b/Gateways/FE/projects/.resources/8634b61404b4a516bae4392bfea62d8998eb0a0839772a973fbc5ffb233b0707 @@ -0,0 +1,21 @@ +def toggleCommandPaths (resetTagPath, enableTagPath): + """ + This function receives two paths, resetTagPath set to False, then the enabletagPath is set to True + Params: + resetTagPath: string + enableTagPath: string + Returns: + none + """ + + def writeSeparate(): + def writeEnable(asyncReturn): + system.tag.writeBlocking([enableTagPath],[1]) + system.tag.writeAsync([resetTagPath],[0], writeEnable) + + + def writeAll(): + system.tag.writeBlocking([resetTagPath, enableTagPath], [0,1]) + + writeAll() +# writeSeparate() \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/864097355b03bf6887540856646111554da71b2ff910f7a66e3523c64a49e3f5 b/Gateways/FE/projects/.resources/864097355b03bf6887540856646111554da71b2ff910f7a66e3523c64a49e3f5 new file mode 100644 index 0000000..0278b59 --- /dev/null +++ b/Gateways/FE/projects/.resources/864097355b03bf6887540856646111554da71b2ff910f7a66e3523c64a49e3f5 @@ -0,0 +1,654 @@ +{ + "custom": {}, + "params": { + "colorHandler": { + "BKR5Out": "var(--olGray)", + "BKR7Out": "var(--olGray)", + "BKR8Out": "var(--olGray)", + "CAMOut": "var(--olRed)", + "GenOut": "var(--olRed)", + "SPDIn": "var(--olGray)", + "Text": "var(--olGray)", + "UTOut": "var(--olGray)", + "VFD1OUT": "var(--olGray)", + "VFD2OUT": "var(--olGray)", + "VFD3OUT": "var(--olGray)", + "hb": "value", + "inputLeft": "red", + "inputRight": "yellow" + }, + "hb": "value", + "textHandler": { + "left": "UT-P5.1", + "right": "Ut-P5.2" + } + }, + "propConfig": { + "params.colorHandler": { + "paramDirection": "input", + "persistent": true + }, + "params.hb": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "contextMenu": { + "enabled": true + }, + "name": "M-Cables", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 990, + "width": 1250 + }, + "propConfig": { + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.SPDIn" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.inputLeft" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.inputRight" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.inputLeft" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.inputRight" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.inputRight" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.inputLeft" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.colorHandler.Text" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.left" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.colorHandler.Text" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.right" + }, + "type": "property" + } + }, + "props.elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.UTOut" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.CAMOut" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.GenOut" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR5Out" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.VFD1OUT" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.VFD2OUT" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.VFD3OUT" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR5Out" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR7Out" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR7Out" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR7Out" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR7Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR8Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR8Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR8Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR8Out" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M198.75,245.226l0,23.274", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M39.78,12.734l1.477,2.257l-1.477,2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M87.727,17.248l-1.477,-2.257l1.477,-2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M56.257,14.991l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M71.25,14.991l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M71.25,14.991l15,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M41.257,14.991l15,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,36.1024,16.463)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "x": "20.819px", + "y": "16.463px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,104.453,16.463)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "x": "89.17px", + "y": "16.463px" + } + ], + "id": "SRC-Text", + "name": "SRC-Text", + "type": "group" + } + ], + "id": "SRC", + "name": "SRC", + "type": "group" + }, + { + "d": "M63.75,86.23l0,105.793", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M153.75,132l0,88.125", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M153.75,57l0,64.165", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group" + }, + { + "elements": [ + { + "d": "M380,421.842l0,-63.862", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M329.074,525l-0,-54.375", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M374.074,525l-0,-54.375", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M419.074,525l-0,-54.375", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M425,309.713l0,-58.855", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "DP-01", + "name": "DP-01", + "type": "group" + }, + { + "elements": [ + { + "d": "M552.824,440.625l-0,-82.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M597.824,440.625l-0,-82.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M643.002,440.625l-0,-82.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M603.75,309.342l0,-64.116", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "DP-02", + "name": "DP-02", + "type": "group" + }, + { + "elements": [ + { + "d": "M732.824,440.625l-0,-82.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M777.824,440.625l-0,-82.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M823.002,440.625l-0,-82.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M783.75,309.342l0,-64.116", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "DP-03", + "name": "DP-03", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 938 743" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/86666f9d747b780719628171c3f0a442eaf81713da749aaa9853c656b600e1fc b/Gateways/FE/projects/.resources/86666f9d747b780719628171c3f0a442eaf81713da749aaa9853c656b600e1fc new file mode 100644 index 0000000..ab4ae8a --- /dev/null +++ b/Gateways/FE/projects/.resources/86666f9d747b780719628171c3f0a442eaf81713da749aaa9853c656b600e1fc @@ -0,0 +1,449 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 200, + "width": 600 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "alignContent": "space-around", + "alignItems": "center", + "direction": "column", + "elementPosition": { + "shrink": 0 + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + } + ], + "justify": "space-around", + "path": "Library/Symbols/HVAC/Sym_DOAS_Status", + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 65, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 60, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50, + "processValue": 64.8 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 65, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 60, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50, + "processValue": 64.8 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 65, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 60, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50, + "processValue": 64.8, + "setpointValue": "" + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexRepeater_0" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "alignContent": "space-around", + "alignItems": "center", + "direction": "column", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "RTU01", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "RTU02", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + } + ], + "justify": "space-around", + "path": "Library/Symbols/HVAC/Sym_DOAS_Status", + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 60, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 55, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50, + "processValue": 64.8 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 60, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 55, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50, + "processValue": 64.8 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "25%", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/867bef5a3f1436a4bbfec314e20fed2cc5d81041f61697d7656c0adf0478ff2a b/Gateways/FE/projects/.resources/867bef5a3f1436a4bbfec314e20fed2cc5d81041f61697d7656c0adf0478ff2a new file mode 100644 index 0000000..1ab1a76 --- /dev/null +++ b/Gateways/FE/projects/.resources/867bef5a3f1436a4bbfec314e20fed2cc5d81041f61697d7656c0adf0478ff2a @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderTopColor": "var(--error)", + "borderTopStyle": "solid", + "borderTopWidth": "4px", + "boxShadow": "0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22)" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/868109d6f2a8166c814a46af993e3f576eadd4ada60bd52ced9683ccbc50511e b/Gateways/FE/projects/.resources/868109d6f2a8166c814a46af993e3f576eadd4ada60bd52ced9683ccbc50511e new file mode 100644 index 0000000..5335abd --- /dev/null +++ b/Gateways/FE/projects/.resources/868109d6f2a8166c814a46af993e3f576eadd4ada60bd52ced9683ccbc50511e @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8728061db4d02960ebb98b13fd02a2332269aeae2f2bedbe4021831545abefcb b/Gateways/FE/projects/.resources/8728061db4d02960ebb98b13fd02a2332269aeae2f2bedbe4021831545abefcb new file mode 100644 index 0000000..83738d0 --- /dev/null +++ b/Gateways/FE/projects/.resources/8728061db4d02960ebb98b13fd02a2332269aeae2f2bedbe4021831545abefcb @@ -0,0 +1,24 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--info)", + "borderStyle": "none", + "boxShadow": "none", + "textTransform": "uppercase" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "var(--info)" + } + }, + { + "pseudo": "active", + "style": { + "color": "var(--neutral-30)" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/87357d9e0fc05890ffb25140b30d28f37835994d0ab6d6e12f863a23efba561b b/Gateways/FE/projects/.resources/87357d9e0fc05890ffb25140b30d28f37835994d0ab6d6e12f863a23efba561b new file mode 100644 index 0000000..5ba96d0 Binary files /dev/null and b/Gateways/FE/projects/.resources/87357d9e0fc05890ffb25140b30d28f37835994d0ab6d6e12f863a23efba561b differ diff --git a/Gateways/FE/projects/.resources/8740be52d7d81f96d06287c2eb4e077da973d0f291b157c5e2b38e7bfe15d982 b/Gateways/FE/projects/.resources/8740be52d7d81f96d06287c2eb4e077da973d0f291b157c5e2b38e7bfe15d982 new file mode 100644 index 0000000..7741800 --- /dev/null +++ b/Gateways/FE/projects/.resources/8740be52d7d81f96d06287c2eb4e077da973d0f291b157c5e2b38e7bfe15d982 @@ -0,0 +1,3727 @@ +{ + "custom": {}, + "params": { + "pageId": "" + }, + "propConfig": { + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "HS2 Cables" + }, + "position": { + "height": 990, + "width": 1250 + }, + "propConfig": { + "custom.colorHandler.Cam_Out": { + "binding": { + "config": { + "path": "../CAM-HS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.Gen_Out": { + "binding": { + "config": { + "path": "../GEB_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT_out": { + "binding": { + "config": { + "path": "../UT-HS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-5_to_UT-HS2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-5_to_UT-HS2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-5_to_UT-HS2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT_out" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Gen_Out" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Cam_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M603.75,292.5l0,-47.274", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M603.75,300l-4.132,-7.5l8.264,0l-4.132,7.5Zm-0,-1.727l2.722,-4.94l-5.444,0l2.722,4.94Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,613.085,303.033)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "MPZ-HS1", + "type": "text", + "x": "594.797px", + "y": "303.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,612.914,306.783)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AU", + "type": "tspan", + "x": "604.347px 607.126px ", + "y": "306.783px 306.783px " + } + ], + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "GEN X", + "type": "text", + "x": "594.39px", + "y": "306.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,611.486,310.535)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "POWER", + "type": "text", + "x": "595.745px", + "y": "310.535px" + } + ], + "id": "GEN-AUX", + "name": "GEN-AUX", + "type": "group" + }, + { + "d": "M198.75,245.226l0,23.274", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "linejoin": "round", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M39.78,12.734l1.477,2.257l-1.477,2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M56.257,14.991l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M41.257,14.991l15,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,34.4057,16.463)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT P4.5", + "type": "text", + "x": "22px", + "y": "16.463px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M87.727,17.248l-1.477,-2.257l1.477,-2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.25,14.991l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M71.25,14.991l15,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,115.408,16.463)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1B3 W4", + "type": "text", + "x": "88.779px", + "y": "16.463px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "d": "M63.75,86.23l0,105.793", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M153.75,57l0,64.165", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M153.75,132l0,88.125", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "GEN", + "name": "GEN", + "type": "group" + }, + { + "elements": [ + { + "d": "M288.75,309.419l0,-64.193", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,358.008l0,64.005", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M108.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M153.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M198.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M243.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M333.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX", + "name": "TX", + "type": "group" + }, + { + "elements": [ + { + "d": "M108.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M153.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M198.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M243.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M333.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "RP-UPS", + "name": "RP-UPS", + "type": "group" + } + ], + "id": "DP-UPS-HS2", + "name": "DP-UPS-HS2", + "type": "group" + }, + { + "elements": [ + { + "d": "M423.75,470.625l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M468.75,470.625l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M513.75,470.625l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M558.75,470.625l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M468.75,311.227l0,-66.001", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M423.75,330.883l0,-85.657", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M423.75,336.617l0,85.396", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M513.75,311.227l0,-66.001", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M558.75,311.227l0,-66.001", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "DP-LP-HS2", + "name": "DP-LP-HS2", + "type": "group" + }, + { + "elements": [ + { + "d": "M738.75,330.883l0,-85.657", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M783.75,330.883l0,-85.657", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M648.75,330.883l0,-85.657", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M648.75,336.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M693.75,336.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M738.75,336.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M828.75,536.32l0,-91.203", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M783.75,336.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M828.75,336.617l0,96.318", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M693.75,330.883l0,-85.657", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M828.758,330.784l0,-85.558", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "RP-HS2", + "name": "RP-HS2", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 938 743" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 339 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_ER1253_HS2_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM-HS2" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEB_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-HS2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-HS2", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT-HS2" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-5" + }, + "position": { + "height": 107, + "width": 75, + "x": 1080, + "y": 683 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 840, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._8" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 900, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._9" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 960, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-4" + }, + "position": { + "height": 107, + "width": 75, + "x": 1020, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._11" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HS1-R" + }, + "position": { + "height": 107, + "width": 60, + "x": 1080, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DS SW" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-4" + }, + "position": { + "height": 107, + "width": 75, + "x": 720, + "y": 683 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 660, + "y": 683 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 600, + "y": 683 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 540, + "y": 683 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-1" + }, + "position": { + "height": 102, + "width": 59, + "x": 840, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._8" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-2" + }, + "position": { + "height": 102, + "width": 59, + "x": 900, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._9" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-3" + }, + "position": { + "height": 102, + "width": 59, + "x": 960, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-4" + }, + "position": { + "height": 102, + "width": 59, + "x": 1020, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._11" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-5" + }, + "position": { + "height": 102, + "width": 59, + "x": 1080, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PP-HS1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 600, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._4" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PP-HS1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 660, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._5" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PP-HS1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 720, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._6" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-6" + }, + "position": { + "height": 107, + "width": 75, + "x": 420, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-6" + }, + "position": { + "height": 102, + "width": 59, + "x": 420, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-5" + }, + "position": { + "height": 102, + "width": 59, + "x": 360, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-5" + }, + "position": { + "height": 107, + "width": 75, + "x": 360, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-4" + }, + "position": { + "height": 107, + "width": 75, + "x": 300, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-4" + }, + "position": { + "height": 102, + "width": 59, + "x": 300, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-3" + }, + "position": { + "height": 102, + "width": 59, + "x": 240, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 240, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 180, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-2" + }, + "position": { + "height": 102, + "width": 59, + "x": 180, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 120, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-1" + }, + "position": { + "height": 102, + "width": 59, + "x": 120, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-6" + }, + "position": { + "height": 102, + "width": 59, + "x": 540, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS wCB" + }, + "position": { + "height": 160, + "width": 180, + "x": 244.5, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "objectName": "UPS_HS", + "outPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_HS2_UPS" + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS wCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-UPS-HS2" + }, + "position": { + "height": 105, + "width": 381, + "x": 120, + "y": 535 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-UPS-HS2" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 540, + "y": 531 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "DP-LP-HS", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEB_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD HS2" + }, + "position": { + "height": 119, + "width": 1129, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inPower_SRC01": { + "binding": { + "config": { + "path": "../UT-HS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inPower_SRC02": { + "binding": { + "config": { + "path": "../CAM-HS2.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "OutputPower": { + "_1": 1, + "_10": 1, + "_11": 1, + "_12": 1, + "_2": 1, + "_3": 1, + "_4": 1, + "_5": 1, + "_6": 1, + "_7": 1, + "_8": 1, + "_9": 1 + }, + "boxColor": "var(--olGray)", + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD HS2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 425.25, + "y": 431 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_HS2_UPS" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_HS", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-82% 116%" + }, + "width": 50, + "x": 165, + "y": 431 + }, + "props": { + "params": { + "objectName": "H2 HS", + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_ER1253_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/88397df1f15a324a5782311e31cc9b8915726faebe4aac64c34a62a8505c16b3 b/Gateways/FE/projects/.resources/88397df1f15a324a5782311e31cc9b8915726faebe4aac64c34a62a8505c16b3 new file mode 100644 index 0000000..21a8231 Binary files /dev/null and b/Gateways/FE/projects/.resources/88397df1f15a324a5782311e31cc9b8915726faebe4aac64c34a62a8505c16b3 differ diff --git a/Gateways/FE/projects/.resources/88921c7041a00e0997ccd351ac67852f198743d0bbf9c09272c3896e07d18399 b/Gateways/FE/projects/.resources/88921c7041a00e0997ccd351ac67852f198743d0bbf9c09272c3896e07d18399 new file mode 100644 index 0000000..02687e5 Binary files /dev/null and b/Gateways/FE/projects/.resources/88921c7041a00e0997ccd351ac67852f198743d0bbf9c09272c3896e07d18399 differ diff --git a/Gateways/FE/projects/.resources/88dc15cd6832fef3834c4069d2a8441977c735a09cb9e19c71633a7f32dadbcb b/Gateways/FE/projects/.resources/88dc15cd6832fef3834c4069d2a8441977c735a09cb9e19c71633a7f32dadbcb new file mode 100644 index 0000000..aa3bbb7 --- /dev/null +++ b/Gateways/FE/projects/.resources/88dc15cd6832fef3834c4069d2a8441977c735a09cb9e19c71633a7f32dadbcb @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B301 Chillers LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*CHWS/Chiller_LLS*" + }, + "deviceName": "Chiller", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/CH", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_Rotation" + } + }, + "path": "Library/Layouts/LLS/Device LLS" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/88f60eeb99df987f58ace6cc8b200524e8fece8f39741fea6ba940d36ff10ceb b/Gateways/FE/projects/.resources/88f60eeb99df987f58ace6cc8b200524e8fece8f39741fea6ba940d36ff10ceb new file mode 100644 index 0000000..9a9741e --- /dev/null +++ b/Gateways/FE/projects/.resources/88f60eeb99df987f58ace6cc8b200524e8fece8f39741fea6ba940d36ff10ceb @@ -0,0 +1,122 @@ +def getColumnOrder(columns_config): + visible_columns = [k for k, v in sorted(columns_config.items(), key=lambda x: x[1]["order"]) + if v["enabled"]] + return visible_columns + +def fromObjToDS(data, column_order=None): + """ + Converts a list of dictionaries into an Ignition PyDataSet. + + Parameters: + data: list[dict] - list of dictionaries where keys are column names + column_order: list[str] (optional) - explicit column order. + If None, uses the keys from the fi row. + + Returns: + PyDataSet - Ignition dataset object + """ + if len(data)== 0: + # Return empty dataset with no columns if input is invalid/empty + + return system.dataset.toDataSet([], []) + + # Determine column names + if column_order is not None: + headers = column_order + else: + # Use keys from first dictionary (Python 3.7+ preserves insertion order) + headers = list(data[0].keys()) + + # Build rows + rows = [] + for row_dict in data: + # Create row tuple using the determined column order + row = [] + for col in headers: + # Use .get() so missing keys become None (standard dataset behavior) + value = row_dict.get(col, None) + row.append(value) + rows.append(row) + + # Create the actual dataset + return system.dataset.toDataSet(headers, rows) + +def true_keys(data): + """ + Returns a list of dictionary keys whose values are strictly True. + + Parameters: + data (dict): A dictionary with boolean values. + + Returns: + list[str]: A list of keys where the value is True, or an empty list + if none match. + + Example: + priorities = { + "diagnostic": True, + "low": False, + "medium": False, + "high": False, + "critical": False + } + + result = true_keys(priorities) + # result => ['diagnostic'] + """ + + return [key for key, value in data.items() if value is True] + +def parse_event_filter_to_query_states(events): + """ + Build a list of event state labels from the given filter. + + Input: + events: A container supporting membership tests (e.g., set/list/dict keys), + where possible keys are: + - 'active' -> include active states + - 'cleared' -> include cleared states + - 'acked' -> refine to only acked states (removes *Unacked) + + Behavior: + - If 'active' in events: add ['activeUnacked'] + - If 'cleared' in events: add ['clearedUnacked'] + - If 'acked' in events: remove any label containing 'Un' (i.e., keep only *Acked) + + Returns: + list[str]: A list of labels, e.g., + ['activeUnacked', 'activeAcked', 'clearedUnacked', 'clearedAcked'] + reduced by the 'acked' refiner if present. + + Examples: + parse_event_filter_to_query_states({'active'}) + -> ['ActiveUnacked', 'ActiveAcked'] + + parse_event_filter_to_query_states({'cleared', 'acked'}) + -> ['ClearAcked'] + + parse_event_filter_to_query_states({'active', 'cleared', 'acked'}) + -> ['ActiveAcked', 'ClearAcked'] + + parse_event_filter_to_query_states({'active', 'cleared', 'acked'}) + -> ['ClearAcked', 'ActiveAcked'] + """ + + ret = [] + + if 'active' in events: + ret += ['ActiveUnacked'] + + if 'cleared' in events: + ret += ['ClearUnacked'] + + if 'acked' in events: + if len(ret) == 0: + ret += ['ActiveAcked', 'ClearAcked'] + else: + if 'active' in events: + ret += ['ActiveAcked'] + if 'cleared' in events: + ret += ['ClearAcked'] + + return ret diff --git a/Gateways/FE/projects/.resources/892a420e3eb43d6472caad64782855a8920f503e7ef316ec6dae429576ff120c b/Gateways/FE/projects/.resources/892a420e3eb43d6472caad64782855a8920f503e7ef316ec6dae429576ff120c new file mode 100644 index 0000000..889dc68 --- /dev/null +++ b/Gateways/FE/projects/.resources/892a420e3eb43d6472caad64782855a8920f503e7ef316ec6dae429576ff120c @@ -0,0 +1,13 @@ +{ + "base": { + "style": {} + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "color-mix(in srgb, var(--callToAction) 5%, var(--contextBackground) 95%)" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/896ef421a0f2b9d7b11308cc170e8bbee983fe962d1f40d900239c038a25750e b/Gateways/FE/projects/.resources/896ef421a0f2b9d7b11308cc170e8bbee983fe962d1f40d900239c038a25750e new file mode 100644 index 0000000..724078e --- /dev/null +++ b/Gateways/FE/projects/.resources/896ef421a0f2b9d7b11308cc170e8bbee983fe962d1f40d900239c038a25750e @@ -0,0 +1,250 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Enable": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Enable" + }, + "type": "tag" + } + }, + "custom.OCmd.Recharge": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Recharge" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Recharge \u003d not self.view.custom.OCmd.Recharge" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Recharge Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Recharge" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d not self.view.custom.OCmd.Reset" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "TES System Enable", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.Enable" + }, + "type": "property" + } + } + }, + "props": { + "text": "", + "textPosition": "left" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "SubEnable" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/898464cc490034cf2bd65dcc774e565e6aa1f8701e4e3c46e12b5900bbd0860b b/Gateways/FE/projects/.resources/898464cc490034cf2bd65dcc774e565e6aa1f8701e4e3c46e12b5900bbd0860b new file mode 100644 index 0000000..399a4fe --- /dev/null +++ b/Gateways/FE/projects/.resources/898464cc490034cf2bd65dcc774e565e6aa1f8701e4e3c46e12b5900bbd0860b @@ -0,0 +1,2610 @@ +{ + "custom": { + "batBkr1Open": false, + "batBkr2Open": false, + "batBkr3Open": false, + "batCharging": true, + "batDischarging": false, + "bpBreakerClosed": false, + "colorHandler": { + "lines": "var(--olGray)" + }, + "inBreakerClosed": true, + "outBreakerClosed": true, + "outPower": 0 + }, + "params": { + "inPower": 0, + "objectName": "UPS_HS", + "outPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_UPS" + }, + "propConfig": { + "custom.batBkr1Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery 1 Breaker" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.batBkr2Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery 2 Breaker" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.batBkr3Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery 3 Breaker" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.batCharging": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Charging" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.batDischarging": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Discharging" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.bpBreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Bypass Breaker Status" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.batBkr": { + "binding": { + "config": { + "struct": { + "bChar": "{view.custom.batCharging}", + "bDis": "{view.custom.batDischarging}", + "br1": "{view.custom.batBkr1Open}", + "br2": "{view.custom.batBkr2Open}", + "br3": "{view.custom.batBkr3Open}", + "in": "{view.custom.inBreakerClosed}", + "inPow": "{view.params.inPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027br1\u0027] and not value[\u0027br2\u0027] and not value[\u0027br3\u0027]:\n\t\tbatBr \u003d True\n\telse: \n\t\tbarBr \u003d False\n\tif value[\u0027bChar\u0027]:\n\t\tif batBr and value[\u0027in\u0027] and value[\u0027inPow\u0027]:\n\t\t\treturn \u0027var(--olRed)\u0027\n\t\telse:\n\t\t\treturn \u0027var(--olGreen)\u0027\n\telif value[\u0027bDis\u0027]:\n\t\tif batBr:\n\t\t\treturn \u0027var(--olRed)\u0027\n\t\telse:\n\t\t\treturn \u0027var(--olGreen)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.batLine": { + "binding": { + "config": { + "struct": { + "bChar": "{view.custom.batCharging}", + "bDis": "{view.custom.batDischarging}", + "br1": "{view.custom.batBkr1Open}", + "br2": "{view.custom.batBkr2Open}", + "br3": "{view.custom.batBkr3Open}", + "in": "{view.custom.inBreakerClosed}", + "inPow": "{view.params.inPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027br1\u0027] and not value[\u0027br2\u0027] and not value[\u0027br3\u0027]:\n\t\tbatBr \u003d True\n\telse: \n\t\tbarBr \u003d False\n\tif value[\u0027bChar\u0027]:\n\t\tif batBr and value[\u0027in\u0027] and value[\u0027inPow\u0027]:\n\t\t\treturn \u0027var(--olRed)\u0027\n\t\telse:\n\t\t\treturn \u0027var(--olGreen)\u0027\n\telif value[\u0027bDis\u0027]:\n\t\tif batBr:\n\t\t\treturn \u0027var(--olRed)\u0027\n\t\telse:\n\t\t\treturn \u0027var(--olGreen)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.bpBkr": { + "binding": { + "config": { + "path": "view.custom.bpBreakerClosed" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.bpLine": { + "binding": { + "config": { + "struct": { + "br": "{view.custom.bpBreakerClosed}", + "in": "{view.params.inPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027br\u0027] and (value[\u0027in\u0027] \u003d\u003d1):\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.in": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inBkr": { + "binding": { + "config": { + "struct": { + "br": "{view.custom.inBreakerClosed}", + "in": "{view.params.inPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027br\u0027] and (value[\u0027in\u0027] \u003d\u003d1):\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.inLine": { + "binding": { + "config": { + "struct": { + "br": "{view.custom.inBreakerClosed}", + "in": "{view.params.inPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027br\u0027] and (value[\u0027in\u0027] \u003d\u003d1):\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.out": { + "binding": { + "config": { + "path": "view.custom.outPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.outBkr": { + "binding": { + "config": { + "struct": { + "bDis": "{view.custom.batDischarging}", + "bbr1": "{view.custom.batBkr1Open}", + "bbr2": "{view.custom.batBkr2Open}", + "bbr3": "{view.custom.batBkr3Open}", + "br": "{view.custom.inBreakerClosed}", + "in": "{view.params.inPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027bbr1\u0027] and not value[\u0027bbr2\u0027] and not value[\u0027bbr3\u0027]:\n\t\tbatBkrs \u003d True\n\telse:\n\t\tbatBkrs \u003d False\n\tif value[\u0027br\u0027] and (value[\u0027in\u0027] \u003d\u003d1):\n\t\treturn \u0027var(--olRed)\u0027\n\telif value[\u0027bDis\u0027] and batBkrs:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.outLine": { + "binding": { + "config": { + "struct": { + "bDis": "{view.custom.batDischarging}", + "bbr1": "{view.custom.batBkr1Open}", + "bbr2": "{view.custom.batBkr2Open}", + "bbr3": "{view.custom.batBkr3Open}", + "br": "{view.custom.inBreakerClosed}", + "in": "{view.params.inPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027bbr1\u0027] and not value[\u0027bbr2\u0027] and not value[\u0027bbr3\u0027]:\n\t\tbatBkrs \u003d True\n\telse:\n\t\tbatBkrs \u003d False\n\tif value[\u0027br\u0027] and (value[\u0027in\u0027] \u003d\u003d 1):\n\t\treturn \u0027var(--olRed)\u0027\n\telif value[\u0027bDis\u0027] and batBkrs:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.inBreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Input Breaker Status" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.outBreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Output Breaker Status" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.outPower": { + "binding": { + "config": { + "struct": { + "bDis": "{view.custom.batDischarging}", + "bbr1": "{view.custom.batBkr1Open}", + "bbr2": "{view.custom.batBkr2Open}", + "bbr3": "{view.custom.batBkr3Open}", + "bbr4": "{view.custom.batBkr4Open}", + "bpBkr": "{view.custom.bpBreakerClosed}", + "br": "{view.custom.inBreakerClosed}", + "in": "{view.params.inPower}", + "outBkr": "{view.custom.outBreakerClosed}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027bbr1\u0027] and not value[\u0027bbr2\u0027] and not value[\u0027bbr3\u0027] and not value[\u0027bbr4\u0027]:\n\t\tbatBkrs \u003d True\n\telse:\n\t\tbatBkrs \u003d False\n\tif value[\u0027br\u0027] and value[\u0027outBkr\u0027] and (value[\u0027in\u0027] \u003d\u003d1):\n\t\treturn 1\n\telif value[\u0027bDis\u0027] and batBkrs and value[\u0027outBkr\u0027]:\n\t\treturn 1\n\telif value[\u0027bpBkr\u0027] and (value[\u0027in\u0027] \u003d\u003d1):\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outPower": { + "binding": { + "config": { + "path": "view.custom.outPower" + }, + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 160, + "width": 180 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 19, + "width": 104, + "x": 55, + "y": -6 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "UPS_wCB" + }, + "position": { + "height": 160, + "width": 180 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batBkr" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[2].visibility": { + "binding": { + "config": { + "struct": { + "br1": "{view.custom.batBkr1Open}", + "br2": "{view.custom.batBkr2Open}", + "br3": "{view.custom.batBkr3Open}", + "br4": "{view.custom.batBkr4Open}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027br1\u0027] and not value[\u0027br2\u0027] and not value[\u0027br3\u0027] and not value[\u0027br4\u0027]:\n\t\treturn \u0027visible\u0027\n\telse:\n\t\treturn \u0027hidden\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[3].elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batBkr" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batBkr" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batBkr" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batBkr" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batBkr" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[7].visibility": { + "binding": { + "config": { + "struct": { + "br1": "{view.custom.batBkr1Open}", + "br2": "{view.custom.batBkr2Open}", + "br3": "{view.custom.batBkr3Open}", + "br4": "{view.custom.batBkr4Open}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027br1\u0027] and not value[\u0027br2\u0027] and not value[\u0027br3\u0027] and not value[\u0027br4\u0027]:\n\t\treturn \u0027hidden\u0027\n\telse:\n\t\treturn \u0027visible\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[3].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.outBreakerClosed" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[7].visibility": { + "binding": { + "config": { + "path": "view.custom.outBreakerClosed" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.bpBreakerClosed" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[7].visibility": { + "binding": { + "config": { + "path": "view.custom.bpBreakerClosed" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.inBreakerClosed" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[7].visibility": { + "binding": { + "config": { + "path": "view.custom.inBreakerClosed" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpLine" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.out" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpLine" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.in" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "enabled": false, + "type": "expr" + } + }, + "props.elements[7].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[7].elements[3].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[7].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[7].elements[5].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[7].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[7].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M57.329,31.922c-0.089,-0.506 -0.249,-0.865 -0.854,-0.874c-0.494,-0.007 -0.872,0.342 -0.872,0.874c-0.062,0.468 -0.282,0.808 -0.863,0.856c-0.498,-0.05 -0.784,-0.337 -0.862,-0.856", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M48.779,29.871l9.999,10.308", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M50.186,36.308l3,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M50.186,37.886l3,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M53.778,45l0,-4.821", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M53.778,29.871l0,-9.202", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "10.309", + "name": "rect", + "stroke": { + "width": "0.75px" + }, + "type": "rect", + "width": "10", + "x": "48.779", + "y": "29.871" + }, + { + "d": "M88.418,20.669l-17.025,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.393,20.669l-17.615,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "UPS-Input", + "name": "UPS-Input", + "type": "group" + }, + { + "elements": [ + { + "d": "M57.329,57.944c-0.089,-0.506 -0.249,-0.866 -0.854,-0.874c-0.494,-0.007 -0.872,0.342 -0.872,0.874c-0.062,0.467 -0.282,0.807 -0.863,0.856c-0.498,-0.05 -0.784,-0.338 -0.862,-0.856", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M50.186,51.909l3,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M50.186,53.487l3,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M48.779,60.076l9.999,-10.103", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M53.778,45l0,4.973", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M53.778,69.277l0,-9.201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "10.103", + "name": "rect", + "stroke": { + "width": "0.75px" + }, + "type": "rect", + "width": "10", + "x": "48.779", + "y": "49.973" + }, + { + "d": "M88.748,69.258l-17.355,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.393,69.258l-17.615,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "UPS-Output", + "name": "UPS-Output", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "External", + "name": "External", + "type": "rect", + "width": "82.5", + "x": "41.25", + "y": "11.25" + }, + { + "d": "M41.25,15.268l0,-4.018l3.929,-0l-0,0.75l-3.179,-0l0,3.268l-0.75,-0Zm9.429,-4.018l-0,0.75l-2.358,-0l0,-0.75l2.358,-0Zm11,-0l-0,0.75l-7.858,-0l0,-0.75l7.858,-0Zm5.499,-0l0,0.75l-2.357,-0l0,-0.75l2.357,-0Zm11.001,-0l-0,0.75l-7.858,-0l0,-0.75l7.858,-0Zm5.5,-0l-0,0.75l-2.357,-0l-0,-0.75l2.357,-0Zm11,-0l-0,0.75l-7.858,-0l0,-0.75l7.858,-0Zm5.5,-0l-0,0.75l-2.358,-0l0,-0.75l2.358,-0Zm11,-0l-0,0.75l-7.858,-0l0,-0.75l7.858,-0Zm5.5,-0l-0,0.75l-2.358,-0l0,-0.75l2.358,-0Zm7.071,4.018l-0.75,-0l-0,-3.268l-3.179,-0l0,-0.75l3.929,-0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.929,7.232l0,-0.75l3.179,0l0,-3.268l0.75,0l0,4.018l-3.929,-0Zm-5.5,-0l0,-0.75l2.358,-0l-0,0.75l-2.358,-0Zm-11,-0l0,-0.75l7.858,-0l-0,0.75l-7.858,-0Zm-5.499,-0l-0,-0.75l2.357,-0l-0,0.75l-2.357,-0Zm-11.001,-0l0,-0.75l7.858,-0l-0,0.75l-7.858,-0Zm-5.5,-0l0,-0.75l2.357,-0l0,0.75l-2.357,-0Zm-11,-0l0,-0.75l7.858,-0l-0,0.75l-7.858,-0Zm-5.5,-0l0,-0.75l2.358,-0l-0,0.75l-2.358,-0Zm-11,-0l0,-0.75l7.858,-0l-0,0.75l-7.858,-0Zm-5.5,-0l0,-0.75l2.358,-0l-0,0.75l-2.358,-0Zm-7.071,-4.018l0.75,0l0,3.268l3.179,-0l-0,0.75l-3.929,-0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M82.125,11.25l0.75,0l0,4.018l-0.75,-0l0,-4.018Zm0,7.232l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,5.625l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,11.25l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,5.625l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,11.25l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,5.625l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,11.25l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,5.625l0.75,0l0,4.018l-0.75,0l0,-4.018Z", + "fill": {}, + "id": "Internal", + "name": "Internal", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": 0 + }, + "height": 25, + "name": "rect", + "stroke": null, + "type": "rect", + "width": 18.75, + "x": 5.625, + "y": 52.5 + }, + { + "d": "M5.625,56.295l0,-3.795l4.464,0l0,0.75l-3.714,0l0,3.045l-0.75,-0Zm10.714,-3.795l0,0.75l-2.678,-0l-0,-0.75l2.678,0Zm8.036,3.795l-0.75,-0c0,-0 0,-3.045 0,-3.045l-3.714,-0l-0,-0.75l4.464,0l0,3.795Zm0,5.312l-0.75,0l0,-2.277l0.75,0l0,2.277Zm0,10.625l-0.75,0l0,-7.589l0.75,-0l0,7.589Zm0,5.313l-0.75,-0l0,-2.277l0.75,-0l0,2.277Zm0,10.625l-0.75,-0l0,-7.59l0.75,0l0,7.59Zm0,5.312l-0.75,0l0,-2.277l0.75,0l0,2.277Zm0,10.625l-0.75,0l0,-7.589l0.75,-0l0,7.589Zm0,5.313l-0.75,-0l0,-2.277l0.75,-0l0,2.277Zm-4.464,6.83l-0,-0.75l3.714,-0l0,-3.045l0.75,0l0,3.795l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-3.795l0.75,0c0,0 0,3.045 -0,3.045l3.714,0l0,0.75l-4.464,0l0,-3.795Zm0,-5.312l0.75,-0l0,2.277l-0.75,-0l0,-2.277Zm0,-10.625l0.75,-0l0,7.589l-0.75,0l0,-7.589Zm0,-5.313l0.75,0l0,2.277l-0.75,0l0,-2.277Zm0,-10.625l0.75,0l0,7.59l-0.75,-0l0,-7.59Zm0,-5.312l0.75,-0l0,2.277l-0.75,-0l0,-2.277Zm0,-10.625l0.75,-0l0,7.589l-0.75,0l0,-7.589Zm0,-5.313l0.75,0l0,2.277l-0.75,0l0,-2.277Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "fill": { + "opacity": 0, + "paint": "transparent" + }, + "height": 30, + "name": "rect", + "type": "rect", + "width": 18.75, + "x": 5.625, + "y": "86.25" + }, + { + "d": "M5.625,93.393l0,-7.143l4.464,-0l0,0.75l-3.714,0l0,6.393l-0.75,-0Zm10.714,-7.143l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm8.036,7.143l-0.75,-0c0,-0 0,-6.393 0,-6.393l-3.714,-0l-0,-0.75l4.464,-0l0,7.143Zm0,10l-0.75,-0l0,-4.286l0.75,0l0,4.286Zm-4.464,12.857l-0,-0.75l3.714,-0l0,-6.393l0.75,0l0,7.143l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-7.143l0.75,0c0,0 0,6.393 -0,6.393l3.714,0l0,0.75l-4.464,0l0,-7.143Zm0,-10l0.75,0l0,4.286l-0.75,-0l0,-4.286Z", + "name": "path", + "type": "path", + "visibility": "hidden" + }, + { + "d": "M10.105,92.833l9.79,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "12,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M12.552,96.2l4.896,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M10.105,99.567l9.79,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "12,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M12.552,102.933l4.896,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M10.105,106.3l9.79,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "12,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M12.552,109.667l4.896,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "12,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,49.0244,111.733)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "TT", + "type": "tspan", + "x": "43.934px 46.479px ", + "y": "111.733px 111.733px " + } + ], + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "Li-Ion BA", + "type": "text", + "x": "27.105px", + "y": "111.733px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,49.6205,115.535)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "V", + "type": "tspan", + "x": "46.841px ", + "y": "115.535px " + } + ], + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "5-min EOL", + "type": "text", + "x": "27.237px", + "y": "115.535px" + } + ], + "id": "cell", + "name": "cell", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,35.3889,64.7948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "25.658px", + "y": "64.795px" + }, + { + "d": "M16.125,58.953c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "15", + "cy": "58.953", + "fill": {}, + "id": "T1", + "name": "T1", + "r": 1.5, + "type": "circle" + }, + { + "d": "M15,57.828c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "15", + "cy": "67.953", + "fill": {}, + "id": "T2", + "name": "T2", + "r": 1.5, + "type": "circle" + }, + { + "d": "M15,66.828c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M19.785,58.953c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "d": "M15,68.679l0,24.371", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "53.778", + "cy": "45", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M15,58.23l0,-13.23l38.778,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "BATT", + "name": "BATT", + "type": "group" + }, + { + "elements": [ + { + "d": "M71.393,39.161l-0,-18.492", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.393,49.19l-0,20.068", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M72.437,42.327l4.24,-0c-0,-0 -2.192,0.108 -2.108,-0c0.084,-0.108 -2.132,3.54 -2.132,3.54l4.24,-0l-2.108,-3.54", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "10.029", + "name": "rect", + "stroke": { + "width": "0.38px" + }, + "type": "rect", + "width": "6.352", + "x": "68.217", + "y": "39.161" + }, + { + "d": "M70.337,45.865l-4.24,-0c-0,-0 2.192,-0.109 2.108,-0c-0.084,0.108 2.132,-3.541 2.132,-3.541l-4.24,0l2.108,3.541", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + } + ], + "id": "Diode", + "name": "Diode", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,59.0112,3.03345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "color": "var(--olGray)", + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UPS-HS1", + "type": "text", + "visibility": "hidden", + "x": "40.951px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,71.5723,6.78345)", + "type": "group" + }, + { + "paint": "var(--olGray)" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,85.2808,10.5334)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "50.546px 51.703px ", + "y": "10.533px 10.533px " + }, + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "69.302px 70.459px ", + "y": "10.533px 10.533px " + } + ], + "fill": {}, + "name": "text", + "style": { + "color": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "480V3PH, 3W65kAIC", + "type": "text", + "x": "41.197px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,97.0707,74.6202)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "91.053px", + "y": "74.62px" + }, + { + "d": "M89.543,68.133c1.2,-1.261 2.694,-1.896 4.5,-1.87c2.094,-0.009 3.615,0.592 4.5,1.87", + "fill": { + "paint": "transparent" + }, + "id": "Closed1", + "name": "Closed1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M88.418,69.258c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Z", + "fill": {}, + "id": "T11", + "name": "T11", + "type": "path" + }, + { + "d": "M88.418,69.258c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Zm0.75,0c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375c-0.207,0 -0.375,0.168 -0.375,0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M97.418,69.258c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Z", + "fill": {}, + "id": "T21", + "name": "T21", + "type": "path" + }, + { + "d": "M97.418,69.258c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Zm0.75,0c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375c-0.207,0 -0.375,0.168 -0.375,0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M89.543,64.473c1.2,-1.262 2.694,-1.897 4.5,-1.871c2.094,-0.008 3.615,0.592 4.5,1.871", + "fill": { + "paint": "transparent" + }, + "id": "Open1", + "name": "Open1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,120.281,46.4923)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NO", + "type": "text", + "x": "114.031px", + "y": "46.492px" + }, + { + "d": "M106.392,40.803c1.262,1.159 1.897,2.604 1.871,4.348c0.008,2.024 -0.592,3.495 -1.871,4.349", + "fill": { + "paint": "transparent" + }, + "id": "Closed2", + "name": "Closed2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "105", + "cy": "40.803", + "fill": {}, + "id": "T12", + "name": "T12", + "r": "1.125", + "type": "circle" + }, + { + "d": "M105,39.678c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "105", + "cy": "49.5", + "fill": {}, + "id": "T22", + "name": "T22", + "r": "1.125", + "type": "circle" + }, + { + "d": "M105,48.375c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M110.053,40.803c1.261,1.159 1.896,2.604 1.87,4.348c0.009,2.024 -0.592,3.495 -1.87,4.349", + "fill": { + "paint": "transparent" + }, + "id": "Open2", + "name": "Open2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,97.0707,25.6728)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "91.053px", + "y": "25.673px" + }, + { + "d": "M89.543,19.544c1.2,-1.261 2.694,-1.896 4.5,-1.87c2.094,-0.009 3.615,0.592 4.5,1.87", + "fill": { + "paint": "transparent" + }, + "id": "Closed3", + "name": "Closed3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M88.418,20.669c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Z", + "fill": {}, + "id": "T23", + "name": "T23", + "type": "path" + }, + { + "d": "M88.418,20.669c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Zm0.75,0c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375c-0.207,0 -0.375,0.168 -0.375,0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M97.418,20.669c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Z", + "fill": {}, + "id": "T13", + "name": "T13", + "type": "path" + }, + { + "d": "M97.418,20.669c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Zm0.75,0c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375c-0.207,0 -0.375,0.168 -0.375,0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M89.543,15.884c1.2,-1.261 2.694,-1.896 4.5,-1.871c2.094,-0.008 3.615,0.592 4.5,1.871", + "fill": { + "paint": "transparent" + }, + "id": "Open3", + "name": "Open3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M105,50.625l0,18.633", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M99.668,69.258l5.071,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Outline", + "name": "Outline", + "type": "group" + }, + { + "elements": [ + { + "d": "M105,39.678l0,-19.009", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M99.668,20.669l5.071,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Inline", + "name": "Inline", + "type": "group" + } + ], + "id": "CB-Block", + "name": "CB-Block", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "transparent" + }, + "height": "112.5", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "127.5", + "x": "0", + "y": "7.5" + }, + { + "d": "M127.5,7.5l-0,112.5l-127.5,0l-0,-112.5l127.5,0Zm-0.75,0.75l-126,0l0,111l126,-0l-0,-111Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M127.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M127.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M126.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M127.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M132.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M127.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "127.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M125.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M128.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 135 120" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8a08b54a4fa9981830cfd91a6234c5862d4f1439fe6708e74544b4cafaf926cb b/Gateways/FE/projects/.resources/8a08b54a4fa9981830cfd91a6234c5862d4f1439fe6708e74544b4cafaf926cb new file mode 100644 index 0000000..66bec47 --- /dev/null +++ b/Gateways/FE/projects/.resources/8a08b54a4fa9981830cfd91a6234c5862d4f1439fe6708e74544b4cafaf926cb @@ -0,0 +1,601 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki", + "Battery R1", + "Battery R2", + "Battery R3", + "Battery R4", + "Battery R5" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "UPS", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1\n" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1210 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack1 Batt" + }, + "position": { + "tabIndex": 5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value}+\"/Batteries/Rack 1\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info Rack1 Batt\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack2 Batt" + }, + "position": { + "tabIndex": 6 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value}+\"/Batteries/Rack 2\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info Rack2 Batt\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack3 Batt" + }, + "position": { + "tabIndex": 7 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value}+\"/Batteries/Rack 3\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info Rack3 Batt\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack4 Batt" + }, + "position": { + "tabIndex": 8 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value}+\"/Batteries/Rack 4\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info Rack4 Batt\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack5 Batt" + }, + "position": { + "tabIndex": 9 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value}+\"/Batteries/Rack 5\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info Rack5 Batt\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8a29f252bf5ff85a8e0636025e3afc6ecfcf26746a0539f74948cce7ad2721b4 b/Gateways/FE/projects/.resources/8a29f252bf5ff85a8e0636025e3afc6ecfcf26746a0539f74948cce7ad2721b4 new file mode 100644 index 0000000..4b26e1a --- /dev/null +++ b/Gateways/FE/projects/.resources/8a29f252bf5ff85a8e0636025e3afc6ecfcf26746a0539f74948cce7ad2721b4 @@ -0,0 +1,129 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 75, + "width": 150 + } + }, + "root": { + "children": [ + { + "meta": { + "contextMenu": { + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "menu-item", + "type": "link" + } + ] + }, + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "223px" + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "label": { + "style": { + "fontSize": 18 + } + }, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null, + "processValue": 49.5 + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "basis": "320px" + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 18, + "Val": 83 + }, + "path": "Library/CommonObjects/Transmitter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "MovingAnalogIndicator_0" + }, + "position": { + "basis": "223px" + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null, + "reverseIndicator": true + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Transmitter_0" + }, + "position": { + "basis": "320px" + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 18, + "Val": 83 + }, + "path": "Library/CommonObjects/Transmitter" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8a2a98fd0658331687f0a3e01b8347db30f19a91b0c27d7bc00644c8798664ad b/Gateways/FE/projects/.resources/8a2a98fd0658331687f0a3e01b8347db30f19a91b0c27d7bc00644c8798664ad new file mode 100644 index 0000000..44564d4 --- /dev/null +++ b/Gateways/FE/projects/.resources/8a2a98fd0658331687f0a3e01b8347db30f19a91b0c27d7bc00644c8798664ad @@ -0,0 +1,410 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "CRAC", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_CRAC1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8a3e78131aafe01feb082685eedda80feaefc1cbd30d25865c62b20f65cbb106 b/Gateways/FE/projects/.resources/8a3e78131aafe01feb082685eedda80feaefc1cbd30d25865c62b20f65cbb106 new file mode 100644 index 0000000..8324fc7 --- /dev/null +++ b/Gateways/FE/projects/.resources/8a3e78131aafe01feb082685eedda80feaefc1cbd30d25865c62b20f65cbb106 @@ -0,0 +1,433 @@ +{ + "custom": { + "endDate": "2025-4-20 23:59:59", + "location": null, + "startDate": "2025-4-18 00:00:00" + }, + "params": { + "endDate": "2025-4-20 23:59:59", + "location": null, + "startDate": "2025-4-18 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px", + "display": false + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.calculated.ResultData" + }, + "transforms": [ + { + "code": "\treturn \"Daily Avgs: \" + str([round(v[1],2) for v in value])", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Min Avg: \", round({parent.custom.calculated.MinAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Max Avg: \", round({parent.custom.calculated.MaxAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "TotalLoad" + }, + "position": { + "basis": "200px", + "display": false + }, + "propConfig": { + "custom.calculated": { + "binding": { + "config": { + "path": ".../Table.custom.PUEData.TotalLoad" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "CriticalLoad" + }, + "position": { + "basis": "200px", + "display": false + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "30px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 15 + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Import" + }, + "position": { + "basis": "34px", + "display": false + }, + "props": { + "enabled": false, + "text": "Import" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\tsystem.perspective.download(\"Billing Data.xls\", xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Common" + }, + "position": { + "basis": "150px" + }, + "props": { + "selected": true, + "text": "Common" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH1" + }, + "position": { + "basis": "150px" + }, + "props": { + "selected": true, + "text": "Datahall 1" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH2" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 2" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH3" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 3" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH4" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 4" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH5" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 5" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "AreaFilter" + }, + "position": { + "basis": "400px" + }, + "propConfig": { + "custom.areaSelection": { + "binding": { + "config": { + "struct": { + "areas": [ + "if({./Common.props.selected}, \"Common\", \"\")", + "if({./DH1.props.selected}, \"DH1\", \"\")", + "if({./DH2.props.selected}, \"DH2\", \"\")", + "if({./DH3.props.selected}, \"DH3\", \"\")", + "if({./DH4.props.selected}, \"DH4\", \"\")", + "if({./DH5.props.selected}, \"DH5\", \"\")" + ] + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn [v for v in value[\"areas\"] if len(v.value) \u003e 0]\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "props": { + "style": { + "gap": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.BillingData": { + "binding": { + "config": { + "struct": { + "areaLocations": "{../CalculatedFields/AreaFilter.custom.areaSelection}", + "endDate": "toDate({view.custom.endDate})", + "intervalMin": "{../CalculatedFields/Actions/Dropdown.props.value}", + "location": "{view.custom.location}", + "startDate": "toDate({view.custom.startDate})" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\tlocation\u003d value[\"areaLocations\"]\n\tintervalMin \u003d value[\"intervalMin\"]\n\treturn reports.MBR.billing.processRawData(startDate, endDate, location, intervalMin)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.BillingData" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8a589d3ebc775b90e8b8356b1f175743c03b9296605eda2de3bc372172b9c605 b/Gateways/FE/projects/.resources/8a589d3ebc775b90e8b8356b1f175743c03b9296605eda2de3bc372172b9c605 new file mode 100644 index 0000000..dde374a --- /dev/null +++ b/Gateways/FE/projects/.resources/8a589d3ebc775b90e8b8356b1f175743c03b9296605eda2de3bc372172b9c605 @@ -0,0 +1,192 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DH Manager Floor" + }, + "position": { + "height": 700, + "width": 1100, + "x": 50, + "y": 50 + }, + "props": { + "elements": [ + { + "d": "M1821.26,264.298c12.932,7.43 20.907,21.205 20.91,36.119c0.003,14.915 -7.966,28.694 -20.895,36.129c-245.1,140.951 -1130.6,650.18 -1277.65,734.746c-12.856,7.393 -28.671,7.396 -41.529,0.009c-73.265,-42.094 -321.57,-184.755 -439.249,-252.366c-12.932,-7.43 -20.907,-21.206 -20.91,-36.12c-0.003,-14.915 7.966,-28.693 20.895,-36.129c245.1,-140.951 1130.6,-650.18 1277.65,-734.746c12.855,-7.393 28.671,-7.396 41.529,-0.009c73.265,42.094 321.57,184.755 439.249,252.367Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M3786.52,1935.9l-280.178,-161.76", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M3267.51,2240.09l-283,-163.39", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2984.51,2075.41l521.83,-301.278", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1361.25,357.914l2592.5,1496.78", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1218.46,443.112l267.201,154.269", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M775.104,711.443l256.624,148.162", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M574.585,825.287l2600.11,1501.18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1485.91,597.381l-454.187,262.224", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M4618.55,2075.03c12.932,7.43 20.907,21.206 20.91,36.12c0.003,14.915 -7.966,28.693 -20.895,36.128c-245.1,140.952 -1130.6,650.181 -1277.65,734.747c-12.855,7.393 -28.671,7.396 -41.529,0.008c-73.265,-42.093 -321.57,-184.755 -439.249,-252.366c-12.932,-7.43 -20.907,-21.205 -20.91,-36.12c-0.003,-14.914 7.966,-28.693 20.895,-36.128c245.1,-140.951 1130.6,-650.181 1277.65,-734.747c12.855,-7.392 28.67,-7.396 41.528,-0.008c73.265,42.094 321.57,184.755 439.249,252.366Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4682 2894" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "PLC_C" + }, + "position": { + "height": 300, + "width": 300, + "x": 118, + "y": 11 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/RedundantPLC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PLC_C_0" + }, + "position": { + "height": 300, + "width": 300, + "x": 773.987, + "y": 428 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/RedundantPLC" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8a88a8ae9b069a6d3a06790c6414ca5ae635569852a17a079226b5147dc6dbcc b/Gateways/FE/projects/.resources/8a88a8ae9b069a6d3a06790c6414ca5ae635569852a17a079226b5147dc6dbcc new file mode 100644 index 0000000..b8e80f8 --- /dev/null +++ b/Gateways/FE/projects/.resources/8a88a8ae9b069a6d3a06790c6414ca5ae635569852a17a079226b5147dc6dbcc @@ -0,0 +1,4111 @@ +{ + "custom": { + "Available": [ + "SATB1_RF_RTU01", + "SATB1_RF_RTU02" + ], + "ColorHandler": { + "Walls": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "RTU01": "#BAEDFF", + "RTU02": "#BAEDFF" + }, + "selected": "rtu" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tshortName \u003d room.split(\"_\")\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\tsroom \u003d shortName[2]\n\t\toutput[sroom] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Roof" + }, + "position": { + "height": 109, + "width": 422, + "x": 4, + "y": 6.5 + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M990.069,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.416,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour", + "name": "Contour", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M985.932,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.652,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.34,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details", + "name": "Details", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M981.894,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details1", + "name": "Details1", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M987.877,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details2", + "name": "Details2", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx", + "name": "CHxx", + "type": "group" + }, + { + "elements": [ + { + "d": "M869.824,87.358l-0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour1", + "name": "Contour1", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M865.687,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details3", + "name": "Details3", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M861.649,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details4", + "name": "Details4", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M867.633,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details5", + "name": "Details5", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx1", + "name": "CHxx1", + "type": "group" + }, + { + "elements": [ + { + "d": "M628.623,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour2", + "name": "Contour2", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M624.486,100.291c1.651,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details6", + "name": "Details6", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M620.448,89.494c0.578,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.468,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details7", + "name": "Details7", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M626.432,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details8", + "name": "Details8", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx2", + "name": "CHxx2", + "type": "group" + }, + { + "elements": [ + { + "d": "M510.039,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.416,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour3", + "name": "Contour3", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M505.902,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.652,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.34,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details9", + "name": "Details9", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M501.864,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details10", + "name": "Details10", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M507.847,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details11", + "name": "Details11", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx3", + "name": "CHxx3", + "type": "group" + }, + { + "elements": [ + { + "d": "M390.031,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour4", + "name": "Contour4", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M385.894,100.291c1.651,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details12", + "name": "Details12", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M381.856,89.494c0.578,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.468,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details13", + "name": "Details13", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M387.84,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details14", + "name": "Details14", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx4", + "name": "CHxx4", + "type": "group" + }, + { + "elements": [ + { + "d": "M930.065,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.417,13.244l-0,-13.244l-12.922,0l-0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour5", + "name": "Contour5", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M925.928,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details15", + "name": "Details15", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M921.89,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details16", + "name": "Details16", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M927.874,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details17", + "name": "Details17", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx5", + "name": "CHxx5", + "type": "group" + }, + { + "elements": [ + { + "d": "M809.82,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour6", + "name": "Contour6", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M805.683,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details18", + "name": "Details18", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M801.645,89.494c0.578,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.468,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details19", + "name": "Details19", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M807.629,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details20", + "name": "Details20", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx6", + "name": "CHxx6", + "type": "group" + }, + { + "elements": [ + { + "d": "M568.619,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour7", + "name": "Contour7", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M564.482,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.991,1.341 -2.991,2.992c-0,1.652 1.34,2.992 2.991,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details21", + "name": "Details21", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M560.444,89.494c0.578,-0 1.047,-0.469 1.047,-1.046c-0,-0.578 -0.469,-1.047 -1.047,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details22", + "name": "Details22", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M566.428,93.605c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details23", + "name": "Details23", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx7", + "name": "CHxx7", + "type": "group" + }, + { + "elements": [ + { + "d": "M450.035,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.417,13.244l-0,-13.244l-12.922,0l-0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour8", + "name": "Contour8", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M445.898,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details24", + "name": "Details24", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M441.86,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details25", + "name": "Details25", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M447.844,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details26", + "name": "Details26", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx8", + "name": "CHxx8", + "type": "group" + }, + { + "elements": [ + { + "d": "M325.995,87.358l0,-40.471l-9.41,-0l0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour9", + "name": "Contour9", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M321.859,100.291c1.651,0 2.991,-1.34 2.991,-2.992c0,-1.651 -1.34,-2.992 -2.991,-2.992c-1.652,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.34,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details27", + "name": "Details27", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M317.821,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details28", + "name": "Details28", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M323.804,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details29", + "name": "Details29", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx9", + "name": "CHxx9", + "type": "group" + }, + { + "elements": [ + { + "d": "M235.397,87.358l-0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour10", + "name": "Contour10", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M231.26,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details30", + "name": "Details30", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M227.222,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details31", + "name": "Details31", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M233.206,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details32", + "name": "Details32", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx10", + "name": "CHxx10", + "type": "group" + }, + { + "elements": [ + { + "d": "M115.152,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour11", + "name": "Contour11", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M111.015,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.991,1.341 -2.991,2.992c-0,1.652 1.34,2.992 2.991,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details33", + "name": "Details33", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M106.977,89.494c0.578,-0 1.047,-0.469 1.047,-1.046c-0,-0.578 -0.469,-1.047 -1.047,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details34", + "name": "Details34", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M112.961,93.605c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details35", + "name": "Details35", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx11", + "name": "CHxx11", + "type": "group" + }, + { + "elements": [ + { + "d": "M959.848,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour12", + "name": "Contour12", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M955.711,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details36", + "name": "Details36", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M951.673,89.494c0.578,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.468,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details37", + "name": "Details37", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M957.657,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details38", + "name": "Details38", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx12", + "name": "CHxx12", + "type": "group" + }, + { + "elements": [ + { + "d": "M839.603,87.358l0,-40.471l-9.41,-0l0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour13", + "name": "Contour13", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M835.467,100.291c1.651,0 2.991,-1.34 2.991,-2.992c0,-1.651 -1.34,-2.992 -2.991,-2.992c-1.652,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.34,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details39", + "name": "Details39", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M831.429,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details40", + "name": "Details40", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M837.412,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details41", + "name": "Details41", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx13", + "name": "CHxx13", + "type": "group" + }, + { + "elements": [ + { + "d": "M598.403,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.416,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour14", + "name": "Contour14", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M594.266,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details42", + "name": "Details42", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M590.228,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.468,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details43", + "name": "Details43", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M596.211,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details44", + "name": "Details44", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx14", + "name": "CHxx14", + "type": "group" + }, + { + "elements": [ + { + "d": "M479.818,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour15", + "name": "Contour15", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M475.681,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details45", + "name": "Details45", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M471.643,89.494c0.578,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.468,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details46", + "name": "Details46", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M477.627,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details47", + "name": "Details47", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx15", + "name": "CHxx15", + "type": "group" + }, + { + "elements": [ + { + "d": "M355.779,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.417,13.244l-0,-13.244l-12.922,0l-0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour16", + "name": "Contour16", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M351.642,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details48", + "name": "Details48", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M347.604,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.468,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details49", + "name": "Details49", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M353.588,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c-0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details50", + "name": "Details50", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx16", + "name": "CHxx16", + "type": "group" + }, + { + "elements": [ + { + "d": "M265.18,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour17", + "name": "Contour17", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M261.043,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.991,1.341 -2.991,2.992c-0,1.652 1.34,2.992 2.991,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details51", + "name": "Details51", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M257.005,89.494c0.578,-0 1.047,-0.469 1.047,-1.046c-0,-0.578 -0.469,-1.047 -1.047,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details52", + "name": "Details52", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M262.989,93.605c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details53", + "name": "Details53", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx17", + "name": "CHxx17", + "type": "group" + }, + { + "elements": [ + { + "d": "M144.936,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.416,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour18", + "name": "Contour18", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M140.799,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details54", + "name": "Details54", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M136.761,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details55", + "name": "Details55", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M142.744,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details56", + "name": "Details56", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx18", + "name": "CHxx18", + "type": "group" + }, + { + "elements": [ + { + "d": "M174.582,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.417,13.244l-0,-13.244l-12.922,0l-0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour19", + "name": "Contour19", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M170.445,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details57", + "name": "Details57", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M166.407,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.468,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details58", + "name": "Details58", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M172.39,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details59", + "name": "Details59", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx19", + "name": "CHxx19", + "type": "group" + }, + { + "elements": [ + { + "d": "M899.844,87.358l0,-40.471l-9.41,-0l0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour20", + "name": "Contour20", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M895.708,100.291c1.651,0 2.991,-1.34 2.991,-2.992c0,-1.651 -1.34,-2.992 -2.991,-2.992c-1.652,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.34,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details60", + "name": "Details60", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M891.67,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details61", + "name": "Details61", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M897.653,93.605c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details62", + "name": "Details62", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx20", + "name": "CHxx20", + "type": "group" + }, + { + "elements": [ + { + "d": "M779.6,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.417,13.244l-0,-13.244l-12.922,0l-0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour21", + "name": "Contour21", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M775.463,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details63", + "name": "Details63", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M771.425,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.468,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details64", + "name": "Details64", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M777.408,93.605c0.416,0 0.753,-0.337 0.753,-0.752c0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details65", + "name": "Details65", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx21", + "name": "CHxx21", + "type": "group" + }, + { + "elements": [ + { + "d": "M748.483,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour22", + "name": "Contour22", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M744.346,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.991,1.341 -2.991,2.992c-0,1.652 1.34,2.992 2.991,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details66", + "name": "Details66", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M740.308,89.494c0.578,-0 1.047,-0.469 1.047,-1.046c-0,-0.578 -0.469,-1.047 -1.047,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details67", + "name": "Details67", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M746.292,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details68", + "name": "Details68", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx22", + "name": "CHxx22", + "type": "group" + }, + { + "elements": [ + { + "d": "M718.315,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour23", + "name": "Contour23", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M714.178,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.991,1.341 -2.991,2.992c-0,1.652 1.34,2.992 2.991,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details69", + "name": "Details69", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M710.14,89.494c0.578,-0 1.047,-0.469 1.047,-1.046c-0,-0.578 -0.469,-1.047 -1.047,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details70", + "name": "Details70", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M716.124,93.605c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details71", + "name": "Details71", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx23", + "name": "CHxx23", + "type": "group" + }, + { + "elements": [ + { + "d": "M658.169,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour24", + "name": "Contour24", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M654.032,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.991,1.341 -2.991,2.992c-0,1.652 1.34,2.992 2.991,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details72", + "name": "Details72", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M649.994,89.494c0.578,-0 1.047,-0.469 1.047,-1.046c-0,-0.578 -0.469,-1.047 -1.047,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details73", + "name": "Details73", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M655.978,93.605c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details74", + "name": "Details74", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx24", + "name": "CHxx24", + "type": "group" + }, + { + "elements": [ + { + "d": "M678.834,87.358l-0,-40.471l9.41,-0l0,40.471l-9.41,0Zm-3.417,13.244l0,-13.244l12.922,0l-0,13.244l-12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour25", + "name": "Contour25", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M682.971,100.291c-1.651,0 -2.992,-1.34 -2.992,-2.992c-0,-1.651 1.341,-2.992 2.992,-2.992c1.651,0 2.992,1.341 2.992,2.992c-0,1.652 -1.341,2.992 -2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details75", + "name": "Details75", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M687.009,89.494c-0.578,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.468,-1.047 1.046,-1.047c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details76", + "name": "Details76", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M681.025,93.605c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details77", + "name": "Details77", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx25", + "name": "CHxx25", + "type": "group" + }, + { + "elements": [ + { + "d": "M538.399,87.358l-0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour26", + "name": "Contour26", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M534.262,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details78", + "name": "Details78", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M530.224,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details79", + "name": "Details79", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M536.208,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details80", + "name": "Details80", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx26", + "name": "CHxx26", + "type": "group" + }, + { + "elements": [ + { + "d": "M419.814,87.358l0,-40.471l-9.41,-0l0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour27", + "name": "Contour27", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M415.678,100.291c1.651,0 2.991,-1.34 2.991,-2.992c0,-1.651 -1.34,-2.992 -2.991,-2.992c-1.652,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.34,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details81", + "name": "Details81", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M411.64,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details82", + "name": "Details82", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M417.623,93.605c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details83", + "name": "Details83", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx27", + "name": "CHxx27", + "type": "group" + }, + { + "elements": [ + { + "d": "M295.775,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour28", + "name": "Contour28", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M291.638,100.291c1.651,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details84", + "name": "Details84", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M287.6,89.494c0.578,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.468,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details85", + "name": "Details85", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M293.584,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details86", + "name": "Details86", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx28", + "name": "CHxx28", + "type": "group" + }, + { + "elements": [ + { + "d": "M205.176,87.358l0,-40.471l-9.41,-0l0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour29", + "name": "Contour29", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M201.04,100.291c1.651,0 2.991,-1.34 2.991,-2.992c0,-1.651 -1.34,-2.992 -2.991,-2.992c-1.652,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.34,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details87", + "name": "Details87", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M197.002,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details88", + "name": "Details88", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M202.985,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details89", + "name": "Details89", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx29", + "name": "CHxx29", + "type": "group" + }, + { + "elements": [ + { + "d": "M84.932,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.417,13.244l-0,-13.244l-12.922,0l-0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour30", + "name": "Contour30", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M80.795,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details90", + "name": "Details90", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M76.757,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details91", + "name": "Details91", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M82.741,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details92", + "name": "Details92", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx30", + "name": "CHxx30", + "type": "group" + }, + { + "elements": [ + { + "d": "M990.069,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.416,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour31", + "name": "Contour31", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M985.932,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.652,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.34,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details93", + "name": "Details93", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M981.894,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details94", + "name": "Details94", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M987.877,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details95", + "name": "Details95", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx31", + "name": "CHxx31", + "type": "group" + }, + { + "elements": [ + { + "d": "M869.824,118.299l-0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour32", + "name": "Contour32", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M865.687,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details96", + "name": "Details96", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M861.649,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details97", + "name": "Details97", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M867.633,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details98", + "name": "Details98", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx32", + "name": "CHxx32", + "type": "group" + }, + { + "elements": [ + { + "d": "M628.623,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour33", + "name": "Contour33", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M624.486,105.366c1.651,0 2.992,1.341 2.992,2.992c0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details99", + "name": "Details99", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M620.448,116.163c0.578,0 1.046,0.469 1.046,1.047c0,0.577 -0.468,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details100", + "name": "Details100", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M626.432,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details101", + "name": "Details101", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx33", + "name": "CHxx33", + "type": "group" + }, + { + "elements": [ + { + "d": "M510.039,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.416,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour34", + "name": "Contour34", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M505.902,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.652,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.34,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details102", + "name": "Details102", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M501.864,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details103", + "name": "Details103", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M507.847,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details104", + "name": "Details104", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx34", + "name": "CHxx34", + "type": "group" + }, + { + "elements": [ + { + "d": "M390.031,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour35", + "name": "Contour35", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M385.894,105.366c1.651,0 2.992,1.341 2.992,2.992c0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details105", + "name": "Details105", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M381.856,116.163c0.578,0 1.046,0.469 1.046,1.047c0,0.577 -0.468,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details106", + "name": "Details106", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M387.84,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details107", + "name": "Details107", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx35", + "name": "CHxx35", + "type": "group" + }, + { + "elements": [ + { + "d": "M930.065,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l-0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour36", + "name": "Contour36", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M925.928,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details108", + "name": "Details108", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M921.89,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details109", + "name": "Details109", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M927.874,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details110", + "name": "Details110", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx36", + "name": "CHxx36", + "type": "group" + }, + { + "elements": [ + { + "d": "M809.82,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour37", + "name": "Contour37", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M805.683,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details111", + "name": "Details111", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M801.645,116.163c0.578,0 1.046,0.469 1.046,1.047c0,0.577 -0.468,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details112", + "name": "Details112", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M807.629,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details113", + "name": "Details113", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx37", + "name": "CHxx37", + "type": "group" + }, + { + "elements": [ + { + "d": "M568.619,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour38", + "name": "Contour38", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M564.482,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.991,-1.341 -2.991,-2.992c-0,-1.651 1.34,-2.992 2.991,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details114", + "name": "Details114", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M560.444,116.163c0.578,0 1.047,0.469 1.047,1.047c-0,0.577 -0.469,1.046 -1.047,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details115", + "name": "Details115", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M566.428,112.052c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details116", + "name": "Details116", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx38", + "name": "CHxx38", + "type": "group" + }, + { + "elements": [ + { + "d": "M450.035,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l-0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour39", + "name": "Contour39", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M445.898,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details117", + "name": "Details117", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M441.86,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details118", + "name": "Details118", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M447.844,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details119", + "name": "Details119", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx39", + "name": "CHxx39", + "type": "group" + }, + { + "elements": [ + { + "d": "M325.995,118.299l0,40.472l-9.41,-0l0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour40", + "name": "Contour40", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M321.859,105.366c1.651,0 2.991,1.341 2.991,2.992c0,1.651 -1.34,2.992 -2.991,2.992c-1.652,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.34,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details120", + "name": "Details120", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M317.821,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details121", + "name": "Details121", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M323.804,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details122", + "name": "Details122", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx40", + "name": "CHxx40", + "type": "group" + }, + { + "elements": [ + { + "d": "M235.397,118.299l-0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour41", + "name": "Contour41", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M231.26,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details123", + "name": "Details123", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M227.222,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details124", + "name": "Details124", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M233.206,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details125", + "name": "Details125", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx41", + "name": "CHxx41", + "type": "group" + }, + { + "elements": [ + { + "d": "M115.152,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour42", + "name": "Contour42", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M111.015,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.991,-1.341 -2.991,-2.992c-0,-1.651 1.34,-2.992 2.991,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details126", + "name": "Details126", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M106.977,116.163c0.578,0 1.047,0.469 1.047,1.047c-0,0.577 -0.469,1.046 -1.047,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details127", + "name": "Details127", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M112.961,112.052c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details128", + "name": "Details128", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx42", + "name": "CHxx42", + "type": "group" + }, + { + "elements": [ + { + "d": "M959.848,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour43", + "name": "Contour43", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M955.711,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details129", + "name": "Details129", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M951.673,116.163c0.578,0 1.046,0.469 1.046,1.047c0,0.577 -0.468,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details130", + "name": "Details130", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M957.657,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details131", + "name": "Details131", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx43", + "name": "CHxx43", + "type": "group" + }, + { + "elements": [ + { + "d": "M839.603,118.299l0,40.472l-9.41,-0l0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour44", + "name": "Contour44", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M835.467,105.366c1.651,0 2.991,1.341 2.991,2.992c0,1.651 -1.34,2.992 -2.991,2.992c-1.652,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.34,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details132", + "name": "Details132", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M831.429,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details133", + "name": "Details133", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M837.412,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details134", + "name": "Details134", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx44", + "name": "CHxx44", + "type": "group" + }, + { + "elements": [ + { + "d": "M598.403,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.416,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour45", + "name": "Contour45", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M594.266,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details135", + "name": "Details135", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M590.228,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.468,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details136", + "name": "Details136", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M596.211,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details137", + "name": "Details137", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx45", + "name": "CHxx45", + "type": "group" + }, + { + "elements": [ + { + "d": "M479.818,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour46", + "name": "Contour46", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M475.681,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details138", + "name": "Details138", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M471.643,116.163c0.578,0 1.046,0.469 1.046,1.047c0,0.577 -0.468,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details139", + "name": "Details139", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M477.627,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details140", + "name": "Details140", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx46", + "name": "CHxx46", + "type": "group" + }, + { + "elements": [ + { + "d": "M355.779,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l-0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour47", + "name": "Contour47", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M351.642,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details141", + "name": "Details141", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M347.604,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.468,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details142", + "name": "Details142", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M353.588,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c-0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details143", + "name": "Details143", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx47", + "name": "CHxx47", + "type": "group" + }, + { + "elements": [ + { + "d": "M265.18,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour48", + "name": "Contour48", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M261.043,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.991,-1.341 -2.991,-2.992c-0,-1.651 1.34,-2.992 2.991,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details144", + "name": "Details144", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M257.005,116.163c0.578,0 1.047,0.469 1.047,1.047c-0,0.577 -0.469,1.046 -1.047,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details145", + "name": "Details145", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M262.989,112.052c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details146", + "name": "Details146", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx48", + "name": "CHxx48", + "type": "group" + }, + { + "elements": [ + { + "d": "M144.936,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.416,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour49", + "name": "Contour49", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M140.799,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details147", + "name": "Details147", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M136.761,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details148", + "name": "Details148", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M142.744,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details149", + "name": "Details149", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx49", + "name": "CHxx49", + "type": "group" + }, + { + "elements": [ + { + "d": "M174.582,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l-0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour50", + "name": "Contour50", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M170.445,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details150", + "name": "Details150", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M166.407,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.468,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details151", + "name": "Details151", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M172.39,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details152", + "name": "Details152", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx50", + "name": "CHxx50", + "type": "group" + }, + { + "elements": [ + { + "d": "M899.844,118.299l0,40.472l-9.41,-0l0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour51", + "name": "Contour51", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M895.708,105.366c1.651,0 2.991,1.341 2.991,2.992c0,1.651 -1.34,2.992 -2.991,2.992c-1.652,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.34,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details153", + "name": "Details153", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M891.67,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details154", + "name": "Details154", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M897.653,112.052c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details155", + "name": "Details155", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx51", + "name": "CHxx51", + "type": "group" + }, + { + "elements": [ + { + "d": "M779.6,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l-0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour52", + "name": "Contour52", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M775.463,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details156", + "name": "Details156", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M771.425,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.468,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details157", + "name": "Details157", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M777.408,112.052c0.416,0 0.753,0.337 0.753,0.753c0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details158", + "name": "Details158", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx52", + "name": "CHxx52", + "type": "group" + }, + { + "elements": [ + { + "d": "M748.483,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour53", + "name": "Contour53", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M744.346,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.991,-1.341 -2.991,-2.992c-0,-1.651 1.34,-2.992 2.991,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details159", + "name": "Details159", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M740.308,116.163c0.578,0 1.047,0.469 1.047,1.047c-0,0.577 -0.469,1.046 -1.047,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details160", + "name": "Details160", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M746.292,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details161", + "name": "Details161", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx53", + "name": "CHxx53", + "type": "group" + }, + { + "elements": [ + { + "d": "M718.315,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour54", + "name": "Contour54", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M714.178,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.991,-1.341 -2.991,-2.992c-0,-1.651 1.34,-2.992 2.991,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details162", + "name": "Details162", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M710.14,116.163c0.578,0 1.047,0.469 1.047,1.047c-0,0.577 -0.469,1.046 -1.047,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details163", + "name": "Details163", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M716.124,112.052c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details164", + "name": "Details164", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx54", + "name": "CHxx54", + "type": "group" + }, + { + "elements": [ + { + "d": "M658.169,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour55", + "name": "Contour55", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M654.032,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.991,-1.341 -2.991,-2.992c-0,-1.651 1.34,-2.992 2.991,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details165", + "name": "Details165", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M649.994,116.163c0.578,0 1.047,0.469 1.047,1.047c-0,0.577 -0.469,1.046 -1.047,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details166", + "name": "Details166", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M655.978,112.052c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details167", + "name": "Details167", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx55", + "name": "CHxx55", + "type": "group" + }, + { + "elements": [ + { + "d": "M678.834,118.299l-0,40.472l9.41,-0l0,-40.472l-9.41,-0Zm-3.417,-13.243l0,13.243l12.922,-0l-0,-13.243l-12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour56", + "name": "Contour56", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M682.971,105.366c-1.651,0 -2.992,1.341 -2.992,2.992c-0,1.651 1.341,2.992 2.992,2.992c1.651,-0 2.992,-1.341 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details168", + "name": "Details168", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M687.009,116.163c-0.578,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.468,1.046 1.046,1.046c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details169", + "name": "Details169", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M681.025,112.052c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details170", + "name": "Details170", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx56", + "name": "CHxx56", + "type": "group" + }, + { + "elements": [ + { + "d": "M538.399,118.299l-0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour57", + "name": "Contour57", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M534.262,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details171", + "name": "Details171", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M530.224,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details172", + "name": "Details172", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M536.208,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details173", + "name": "Details173", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx57", + "name": "CHxx57", + "type": "group" + }, + { + "elements": [ + { + "d": "M419.814,118.299l0,40.472l-9.41,-0l0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour58", + "name": "Contour58", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M415.678,105.366c1.651,0 2.991,1.341 2.991,2.992c0,1.651 -1.34,2.992 -2.991,2.992c-1.652,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.34,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details174", + "name": "Details174", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M411.64,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details175", + "name": "Details175", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M417.623,112.052c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details176", + "name": "Details176", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx58", + "name": "CHxx58", + "type": "group" + }, + { + "elements": [ + { + "d": "M295.775,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour59", + "name": "Contour59", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M291.638,105.366c1.651,0 2.992,1.341 2.992,2.992c0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details177", + "name": "Details177", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M287.6,116.163c0.578,0 1.046,0.469 1.046,1.047c0,0.577 -0.468,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details178", + "name": "Details178", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M293.584,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details179", + "name": "Details179", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx59", + "name": "CHxx59", + "type": "group" + }, + { + "elements": [ + { + "d": "M205.176,118.299l0,40.472l-9.41,-0l0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour60", + "name": "Contour60", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M201.04,105.366c1.651,0 2.991,1.341 2.991,2.992c0,1.651 -1.34,2.992 -2.991,2.992c-1.652,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.34,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details180", + "name": "Details180", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M197.002,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details181", + "name": "Details181", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M202.985,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details182", + "name": "Details182", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx60", + "name": "CHxx60", + "type": "group" + }, + { + "elements": [ + { + "d": "M84.932,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l-0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour61", + "name": "Contour61", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M80.795,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details183", + "name": "Details183", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M76.757,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details184", + "name": "Details184", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M82.741,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details185", + "name": "Details185", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx61", + "name": "CHxx61", + "type": "group" + } + ], + "id": "CHs", + "name": "CHs", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1021.73,212.474l0,17.289l-7.049,0l0,-17.289l7.049,-0Zm-0.301,17.289l-0,2.987l-6.156,0l0,-2.987m6.457,-17.289l4.014,-0l-0,12.129l-4.014,0", + "fill": { + "paint": "#d71414" + }, + "id": "Contour62", + "name": "Contour62", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M83.006,231.85l-17.289,0l-0,-7.049l17.289,-0l0,7.049Zm-17.289,-0.301l-2.988,-0l0,-6.156l2.988,0m17.289,6.457l0,4.013l-12.13,0l0,-4.013", + "fill": { + "paint": "#d71414" + }, + "id": "Contour63", + "name": "Contour63", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M42.594,211.955l-17.289,0l-0,-7.049l17.289,-0l0,7.049Zm-17.289,-0.302l-2.988,0l0,-6.155l2.988,-0m17.289,6.457l0,4.013l-12.13,0l0,-4.013", + "fill": { + "paint": "#d71414" + }, + "id": "Contour64", + "name": "Contour64", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#d72d2d" + }, + "height": "11.025", + "id": "Countour", + "name": "Countour", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "rect", + "width": "25.454", + "x": "999.41", + "y": "187.521" + }, + { + "d": "M1001.71,187.521l0,11.025", + "fill": { + "paint": "transparent" + }, + "id": "Details186", + "name": "Details186", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#d72d2d" + }, + "height": "11.025", + "id": "Countour1", + "name": "Countour1", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "rect", + "width": "25.454", + "x": "693.758", + "y": "216.871" + }, + { + "d": "M696.057,216.871l0,11.025", + "fill": { + "paint": "transparent" + }, + "id": "Details187", + "name": "Details187", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "RTUs", + "name": "RTUs", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M725.4,183.508l-17.289,0l-0,-7.049l17.289,-0l0,7.049Zm-17.289,-0.302l-2.987,0l-0,-6.155l2.987,-0m17.289,6.457l0,4.013l-12.13,0l0,-4.013", + "fill": { + "paint": "#d71414" + }, + "id": "Contour65", + "name": "Contour65", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M413.619,175.197l0,17.29l-7.049,-0l0,-17.29l7.049,0Zm-0.301,17.29l-0,2.987l-6.156,-0l0,-2.987m6.457,-17.29l4.014,0l-0,12.13l-4.014,0", + "fill": { + "paint": "#d71414" + }, + "id": "Contour66", + "name": "Contour66", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M388.848,175.197l-0,17.29l-7.05,-0l0,-17.29l7.05,0Zm-0.302,17.29l-0,2.987l-6.156,-0l0,-2.987m6.458,-17.29l4.013,0l-0,12.13l-4.013,0", + "fill": { + "paint": "#d71414" + }, + "id": "Contour67", + "name": "Contour67", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M64.248,176.459l-0,17.289l-7.05,0l0,-17.289l7.05,-0Zm-0.302,17.289l-0,2.988l-6.156,-0l0,-2.988m6.458,-17.289l4.013,-0l-0,12.13l-4.013,-0", + "fill": { + "paint": "#d71414" + }, + "id": "Contour68", + "name": "Contour68", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M82.894,196.736l-0,-17.29l7.049,0l0,17.29l-7.049,-0Zm0.302,-17.29l-0,-2.987l6.155,-0l0,2.987m-6.457,17.29l-4.013,-0l-0,-12.13l4.013,-0", + "fill": { + "paint": "#d71414" + }, + "id": "Contour69", + "name": "Contour69", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DOASs", + "name": "DOASs", + "type": "group" + }, + { + "d": "M1051.84,176.819l0,74.285l-1036.44,-0l-0,-247.345l1036.44,-0l0,81.898m-52,-85.215l-0,3.317l-11.77,-0l0,-3.317l11.77,-0Zm-102.714,-0l-0,3.317l-11.77,-0l0,-3.317l11.77,-0Zm-102.714,-0l-0,3.317l-11.77,-0l0,-3.317l11.77,-0Zm-106.219,-0l0,3.317l-11.769,-0l0,-3.317l11.769,-0Zm-102.823,-0l-0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-102.605,-0l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-106.218,-0l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-102.714,-0l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-102.714,-0l-0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-102.933,-0l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm14.199,250.662l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm78.142,-0l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm108.517,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm92.421,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm108.846,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm107.861,-0l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm142.849,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm92.311,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm108.299,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm63.402,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm66.807,-165.447l-44.475,0l0,91.162l44.475,-0m3.105,-86.097l-0,7.227l-17.412,-0l0,-7.227l17.412,-0Zm-0,18.944l-0,7.227l-17.412,-0l0,-7.227l17.412,-0Zm-0,15.878l-0,7.227l-17.412,-0l0,-7.227l17.412,-0Zm-0,16.097l-0,7.227l-17.412,-0l0,-7.227l17.412,-0Zm-0,19.491l-0,7.227l-17.412,0l0,-7.227l17.412,0Zm-0,-70.41l-17.412,7.227m17.412,11.717l-17.412,7.227m17.412,8.651l-17.412,7.227m17.412,8.87l-17.412,7.227m17.412,12.264l-17.412,7.227m0,-77.637l17.412,7.227m-17.412,11.717l17.412,7.227m-17.412,8.651l17.412,7.227m-17.412,8.87l17.412,7.227m-17.412,12.264l17.412,7.227m-1001.94,82.745l-0,14.955l-36.793,0l-0,-14.955l36.793,-0Zm-37.6,-201.071l-14.956,-0l-0,-36.793l14.956,-0l-0,36.793Zm402.739,201.071l0,14.955l-35.84,0l0,-14.955l35.84,-0Zm488.384,-0l-0,14.955l-35.84,0l0,-14.955l35.84,-0Zm-878.402,-0l-0,14.955l-5.537,0l0,-14.955l5.537,-0Zm-12.721,-225.95l-14.956,-0l-0,-5.537l14.956,0l-0,5.537Zm375.281,225.95l-0,14.955l-5.873,0l-0,-14.955l5.873,-0Zm488.384,-0l-0,14.955l-5.873,0l-0,-14.955l5.873,-0Zm-829.289,0.589l0,14.366l-5.536,0l-0,-14.366l5.536,-0Zm-34.965,-204.884l-14.367,0l-0,-5.536l14.367,-0l-0,5.536Zm397.525,204.884l0,14.366l-5.536,0l-0,-14.366l5.536,-0Zm488.384,-0l0,14.366l-5.536,0l-0,-14.366l5.536,-0Zm-856.62,7.183l-0,1.997l-15.979,0l-0,-1.997l15.979,0Zm-36.624,-217.674l-2.221,0l-0,-15.978l2.221,-0l0,15.978Zm4.812,-0.07l-11.844,0l-0,-15.978l11.844,-0l-0,15.978Zm394.372,217.744l-0,1.997l-15.979,0l-0,-1.997l15.979,0Zm488.384,0l-0,1.997l-15.979,0l-0,-1.997l15.979,0Zm-865.311,-4.66l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-17.445,-227.45l-11.844,-0l-0,-1.612l11.844,-0l-0,1.612Zm380.005,227.45l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm362.56,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-20.669,-224.227l-11.844,0l-0,-1.612l11.844,0l-0,1.612Zm383.229,224.227l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-849.333,-0l0,11.213l-1.611,-0l-0,-11.213l1.611,-0Zm362.56,-0l0,11.213l-1.611,-0l-0,-11.213l1.611,-0Zm488.384,-0l0,11.213l-1.611,-0l-0,-11.213l1.611,-0Zm-849.332,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-23.892,-221.003l-11.844,0l-0,-1.612l11.844,0l-0,1.612Zm386.452,221.003l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm362.56,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-27.116,-217.779l-11.844,-0l-0,-1.612l11.844,0l-0,1.612Zm389.676,217.779l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm362.56,-0l-0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-30.34,-214.555l-11.844,-0l-0,-1.612l11.844,-0l-0,1.612Zm392.9,214.555l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-8.605,-235.037l-0,6.413l-20.235,0l-0,-6.413l20.235,-0Zm7.98,15.521l6.414,-0l0,21.496l-6.414,0l0,-21.496Zm6.414,53.253l-6.414,-0l0,-21.497l6.414,0l0,21.497Zm-7.719,146.293l0,6.414l-20.039,0l0,-6.414l20.039,0Zm-13.579,0l-0,16.858l-6.46,-0l0,-16.858l6.46,0Zm865.829,-4.639l6.414,-0l-0,21.497l-6.414,-0l-0,-21.497Zm-488.707,-0l6.414,-0l-0,21.497l-6.414,-0l0,-21.497Zm-370.218,-210.428l-0,6.413l-1.705,0l0,-6.413l1.705,-0Zm7.98,15.521l6.414,-0l0,1.81l-6.414,0l0,-1.81Zm6.414,53.253l-6.414,-0l0,-1.811l6.414,0l0,1.811Zm-7.719,146.293l0,6.414l-1.81,0l-0,-6.414l1.81,0Zm852.25,-4.639l6.414,-0l-0,1.811l-6.414,-0l-0,-1.811Zm-488.707,-0l6.414,-0l-0,1.811l-6.414,-0l0,-1.811Zm-373.911,-210.428l-0,6.413l-1.704,0l-0,-6.413l1.704,-0Zm11.673,19.444l6.414,-0l0,1.81l-6.414,0l0,-1.81Zm6.414,45.407l-6.414,-0l0,-1.811l6.414,0l0,1.811Zm-11.642,150.216l0,6.414l-1.81,0l-0,-6.414l1.81,0Zm856.173,-0.716l6.414,-0l-0,1.811l-6.414,-0l-0,-1.811Zm-488.707,-0l6.414,-0l-0,1.811l-6.414,-0l0,-1.811Zm-377.604,-214.351l0,6.413l-1.704,0l-0,-6.413l1.704,-0Zm15.366,23.367l6.414,-0l0,1.81l-6.414,0l0,-1.81Zm6.414,37.561l-6.414,-0l0,-1.811l6.414,0l0,1.811Zm-15.565,154.139l0,6.414l-1.81,0l-0,-6.414l1.81,0Zm860.096,3.207l6.414,0l-0,1.811l-6.414,-0l-0,-1.811Zm-488.707,0l6.414,0l-0,1.811l-6.414,-0l0,-1.811Zm-381.297,-218.274l0,6.413l-1.704,0l-0,-6.413l1.704,-0Zm19.059,27.29l6.414,-0l0,1.81l-6.414,0l0,-1.81Zm6.414,29.715l-6.414,-0l0,-1.811l6.414,0l0,1.811Zm-19.488,158.062l0,6.414l-1.81,0l-0,-6.414l1.81,0Zm864.019,7.13l6.414,0l-0,1.811l-6.414,-0l-0,-1.811Zm-488.707,0l6.414,0l-0,1.811l-6.414,-0l0,-1.811Zm596.691,-204.028l0,130.699l-939.808,0l-0,-130.699l939.808,0Zm-939.808,18.848l-47.336,0m47.336,10.26l-47.336,0m391.4,187.76l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm106.817,-3.112l0,5.925l62.706,-0l-0,-219.162l-12.87,-0", + "fill": { + "paint": "transparent" + }, + "id": "Layout", + "name": "Layout", + "stroke": { + "paint": "var(--text-muted)", + "width": "0.88px" + }, + "type": "path" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1066 267" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_RTU01", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 19, + "width": 12, + "x": 408, + "y": 37 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_RTU02", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 16, + "width": 11, + "x": 409, + "y": 58 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 13, + "y": 0 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_03_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8ad17dae9ef760cfaa3046a62f45c179655250d7cce12e4287f4d443a24a68f2 b/Gateways/FE/projects/.resources/8ad17dae9ef760cfaa3046a62f45c179655250d7cce12e4287f4d443a24a68f2 new file mode 100644 index 0000000..76e4179 --- /dev/null +++ b/Gateways/FE/projects/.resources/8ad17dae9ef760cfaa3046a62f45c179655250d7cce12e4287f4d443a24a68f2 @@ -0,0 +1,2351 @@ +{ + "custom": { + "pageName": "P1.1" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1261", + "IO1": "[Ignition_SATB1_IO1_default]", + "Room": "ER1242", + "boxColor": "var(--olGray)", + "pageId": "", + "pageName": "P1-1", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-HS1", + "source2": "UT-P1.2" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 806, + "width": 1812 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-HS1_to_UT-P1-1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-1_to_UT-P1-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 164.5, + "y": 105.5 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P1-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.outputPower": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Operation Modes" + }, + "enabled": false, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": 1 + }, + { + "input": 5, + "output": 1 + }, + { + "input": 6, + "output": 1 + }, + { + "input": 8, + "output": null + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 54, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.625, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.375, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 1, + "Gallery": "GAL1261", + "Gateway": "[Ignition_SATB1_IO1_default]", + "Linuep": 1 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1016, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1256, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -52, + "y": -55.5 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8ad2b39775b28d3619346ccc874fca0cd4844fa4849ca32108d96afdcbf47649 b/Gateways/FE/projects/.resources/8ad2b39775b28d3619346ccc874fca0cd4844fa4849ca32108d96afdcbf47649 new file mode 100644 index 0000000..a608705 Binary files /dev/null and b/Gateways/FE/projects/.resources/8ad2b39775b28d3619346ccc874fca0cd4844fa4849ca32108d96afdcbf47649 differ diff --git a/Gateways/FE/projects/.resources/8b7837da10c1621bf6df5d397bed819e56feb3cc580af6ffc5dfe822d5783663 b/Gateways/FE/projects/.resources/8b7837da10c1621bf6df5d397bed819e56feb3cc580af6ffc5dfe822d5783663 new file mode 100644 index 0000000..16e671c --- /dev/null +++ b/Gateways/FE/projects/.resources/8b7837da10c1621bf6df5d397bed819e56feb3cc580af6ffc5dfe822d5783663 @@ -0,0 +1,483 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-3" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1267 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "key": "value" + }, + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\ttagName \u003d tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1]\n\t\t\t\tlowtagName \u003d tagName.lower()\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + lowtagName\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947963012 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947963012 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8bb4811d1aac75db20a846b9243b39b3c7d426a1f079970024bb969dc3e4da45 b/Gateways/FE/projects/.resources/8bb4811d1aac75db20a846b9243b39b3c7d426a1f079970024bb969dc3e4da45 new file mode 100644 index 0000000..f389d56 Binary files /dev/null and b/Gateways/FE/projects/.resources/8bb4811d1aac75db20a846b9243b39b3c7d426a1f079970024bb969dc3e4da45 differ diff --git a/Gateways/FE/projects/.resources/8c1527142bf61975403e5567e193a9c5f944d3b271d355c54158f034aa04ce81 b/Gateways/FE/projects/.resources/8c1527142bf61975403e5567e193a9c5f944d3b271d355c54158f034aa04ce81 new file mode 100644 index 0000000..c3b3c37 --- /dev/null +++ b/Gateways/FE/projects/.resources/8c1527142bf61975403e5567e193a9c5f944d3b271d355c54158f034aa04ce81 @@ -0,0 +1,275 @@ +{ + "custom": { + "key": 1 + }, + "params": { + "DH": "DH101" + }, + "propConfig": { + "custom.key": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "fallback": 1, + "inputType": "scalar", + "mappings": [ + { + "input": "DH101", + "output": 1 + }, + { + "input": "DH102", + "output": 2 + }, + { + "input": "DH201", + "output": 3 + }, + { + "input": "DH202", + "output": 4 + }, + { + "input": "DH203", + "output": 5 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 117, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Sparkline" + }, + "position": { + "basis": "215px" + }, + "props": { + "points": [ + 59, + 80, + 80, + 100, + 68, + 62, + 87, + 72, + 42, + 49, + 58, + 53, + 57, + 51, + 42, + 32, + 37, + 30, + 24, + 38, + 57, + 29, + 18, + 32, + 38, + 24, + 24, + 24, + 20, + 21, + 29, + 32, + 26, + 18, + 32, + 36, + 30, + 36, + 29, + 32, + 29, + 28, + 41, + 20, + 28, + 58, + 18, + 24, + 16, + 2, + 22, + 17, + 22, + 21, + 12, + 22, + 14, + 13, + 11, + 20, + 16, + 16, + 18, + 12, + 28, + 28, + 32, + 16, + 16, + 24, + 16, + 20, + 14, + 18, + 12, + 26, + 17, + 11, + 30, + 16, + 9, + 20, + 42, + 13, + 13, + 24, + 17, + 13, + 20, + 12, + 14, + 13, + 14, + 71, + 82, + 20, + 16, + 20, + 22, + 17, + 5 + ] + }, + "type": "ia.display.sparkline" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "marginRight": 25 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "key": "{view.custom.key}" + }, + "tagPath": "[default]simulator/CHW_System/Ton{key}" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "numberFormat": "###0.##", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "props": { + "text": "Tons", + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "23.7%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/card_nested" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8c1e6119d477698d1ce150c1ed4c0e5fb4a2fb491b5e177c4787629a873ee4d7 b/Gateways/FE/projects/.resources/8c1e6119d477698d1ce150c1ed4c0e5fb4a2fb491b5e177c4787629a873ee4d7 new file mode 100644 index 0000000..3595e3e --- /dev/null +++ b/Gateways/FE/projects/.resources/8c1e6119d477698d1ce150c1ed4c0e5fb4a2fb491b5e177c4787629a873ee4d7 @@ -0,0 +1,784 @@ +{ + "custom": { + "Status": true + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "propConfig": { + "custom.Status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Value" + }, + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "CB": "{/root/SPD.custom.breakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027inputPower\u0027] or value[\u0027CB\u0027] is None:\n\t\treturn 0\n\tif value[\u0027inputPower\u0027] and value[\u0027CB\u0027]:\n\t\treturn 1\n\telse: \n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 55, + "width": 53 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 38, + "x": 6, + "y": 30 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.textHandler.SPD1" + }, + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 8, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "ColorHandler": {} + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "rotate": { + "anchor": "75% 25%" + }, + "width": 50 + }, + "propConfig": { + "custom.ColorHandler.Box": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "custom.ColorHandler.Text": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "custom.ColorHandler.breakerIn": { + "binding": { + "config": { + "struct": { + "in": "{view.params.inputPower}", + "sts": "{view.custom.Status}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027sts\u0027] and (value[\u0027in\u0027] \u003d\u003d 1):\n\t\treturn \"var(--olRed)\"\n\telse:\n\t\treturn \"var(--olGreen)\"", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.ColorHandler.breakerOut": { + "binding": { + "config": { + "path": "view.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.breakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Value" + }, + "type": "tag" + } + }, + "props.elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Text" + }, + "type": "property" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Text" + }, + "type": "property" + } + }, + "props.elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Text" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[4].elements[2].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[3].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[4].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[5].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M0.315,0.009c-0.037,0 -0.071,-0.003 -0.104,-0.01c-0.032,-0.007 -0.062,-0.016 -0.089,-0.028c-0.027,-0.013 -0.051,-0.028 -0.073,-0.046l0.029,-0.066c0.023,0.017 0.046,0.031 0.069,0.043c0.024,0.011 0.05,0.02 0.077,0.026c0.028,0.005 0.058,0.008 0.091,0.008c0.06,0 0.104,-0.011 0.133,-0.033c0.029,-0.023 0.044,-0.052 0.044,-0.089c-0,-0.019 -0.005,-0.036 -0.014,-0.05c-0.009,-0.014 -0.023,-0.026 -0.044,-0.036c-0.02,-0.01 -0.046,-0.018 -0.079,-0.025l-0.104,-0.021c-0.063,-0.013 -0.11,-0.035 -0.141,-0.065c-0.031,-0.031 -0.046,-0.071 -0.046,-0.122c0,-0.042 0.011,-0.079 0.032,-0.11c0.022,-0.031 0.052,-0.056 0.091,-0.073c0.039,-0.017 0.084,-0.026 0.134,-0.026c0.032,0 0.062,0.003 0.091,0.01c0.029,0.007 0.055,0.017 0.079,0.03c0.025,0.013 0.046,0.028 0.065,0.047l-0.029,0.064c-0.03,-0.027 -0.062,-0.047 -0.095,-0.059c-0.033,-0.013 -0.071,-0.019 -0.112,-0.019c-0.035,0 -0.066,0.005 -0.092,0.016c-0.025,0.011 -0.045,0.026 -0.06,0.047c-0.014,0.02 -0.021,0.043 -0.021,0.07c-0,0.032 0.01,0.057 0.029,0.076c0.02,0.019 0.052,0.032 0.097,0.041l0.104,0.022c0.067,0.014 0.117,0.035 0.149,0.064c0.033,0.028 0.049,0.066 0.049,0.115c-0,0.039 -0.011,0.073 -0.032,0.104c-0.021,0.03 -0.051,0.053 -0.09,0.07c-0.039,0.017 -0.085,0.025 -0.138,0.025Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "id": "Text", + "name": "Text", + "transform": "matrix(4.16667,0,0,4.16667,14.627,34.9155)", + "type": "group", + "visibility": "hidden" + }, + { + "elements": [ + { + "d": "M0.087,-0l0,-0.705l0.279,0c0.051,0 0.093,0.008 0.128,0.025c0.035,0.016 0.062,0.04 0.08,0.072c0.018,0.031 0.027,0.07 0.027,0.115c-0,0.044 -0.009,0.082 -0.027,0.114c-0.018,0.032 -0.045,0.056 -0.08,0.073c-0.035,0.017 -0.077,0.025 -0.128,0.025l-0.197,-0l-0,0.281l-0.082,-0Zm0.082,-0.35l0.187,-0c0.054,-0 0.095,-0.012 0.122,-0.036c0.028,-0.025 0.042,-0.06 0.042,-0.107c0,-0.047 -0.014,-0.083 -0.042,-0.107c-0.027,-0.025 -0.068,-0.037 -0.122,-0.037l-0.187,-0l-0,0.287Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,17.1895,34.9155)", + "type": "group", + "visibility": "hidden" + }, + { + "elements": [ + { + "d": "M0.087,-0l0,-0.705l0.238,0c0.077,0 0.141,0.014 0.194,0.041c0.053,0.027 0.094,0.066 0.121,0.119c0.028,0.052 0.042,0.116 0.042,0.192c0,0.076 -0.014,0.14 -0.042,0.193c-0.027,0.053 -0.068,0.093 -0.121,0.12c-0.053,0.027 -0.117,0.04 -0.194,0.04l-0.238,-0Zm0.082,-0.07l0.15,-0c0.093,-0 0.162,-0.024 0.207,-0.071c0.046,-0.047 0.069,-0.118 0.069,-0.212c0,-0.094 -0.023,-0.164 -0.069,-0.211c-0.046,-0.047 -0.115,-0.071 -0.207,-0.071l-0.15,0l0,0.565Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.827,34.9155)", + "type": "group", + "visibility": "hidden" + }, + { + "fill": "red", + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,22.9187,34.9155)", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "red" + }, + "height": "30", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "22.5", + "x": "7.5", + "y": "7.481" + }, + { + "d": "M30,7.481l0,30l-22.5,0l0,-30l22.5,0Zm-0.75,0.75l-21,0l-0,28.5l21,0l0,-28.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M30.358,0.629l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.49c-0.199,0.198 -0.522,0.198 -0.721,-0l-6.489,-6.49c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M29.663,8.941l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,0Zm-0.318,1.81l0,-1.104l1.305,-0l0,1.104l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M29.355,1.831c0.134,-0.228 0.378,-0.368 0.643,-0.368c0.264,-0 0.508,0.14 0.642,0.368c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.23 0.137,0.515 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,-0c-0.268,-0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.233 -0.131,-0.518 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M29.626,9.923l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M34.807,1.163l-0,12.632c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.632c-0,-0.266 0.215,-0.481 0.48,-0.481l8.657,-0c0.265,-0 0.481,0.215 0.481,0.481Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M29.626,9.023l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.913l0,-1.167l1.449,-0l-0,1.167l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "29.998", + "cy": "7.479", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M28.212,9.214l-0.389,-5.618l1.521,0l-0.377,5.618l-0.755,-0Zm-0.353,2.148l0,-1.311l1.449,-0l-0,1.311l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M31.097,9.214l-0.389,-5.618l1.521,0l-0.377,5.618l-0.755,-0Zm-0.353,2.148l0,-1.311l1.449,-0l-0,1.311l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M23.535,14.606c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.095 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M19.875,14.606c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "14.606", + "fill": {}, + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "cx": "18.75", + "cy": "23.606", + "fill": {}, + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,24.731l0,5.25", + "fill": { + "paint": "transparent" + }, + "id": "Out", + "name": "Out", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "d": "M37.5,-0.019l0,37.5l-37.5,0l0,-37.5l37.5,0Zm-0.675,0.675l-36.15,0l-0,36.15l36.15,0l-0,-36.15Z", + "fill": {}, + "id": "Upper", + "name": "Upper", + "type": "path" + }, + { + "d": "M37.5,29.981l0,7.5l-37.5,0l0,-7.5l37.5,0Zm-0.675,0.675l-36.15,0l-0,6.15l36.15,0l-0,-6.15Z", + "fill": {}, + "id": "Lower", + "name": "Lower", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 38 38" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8c1efcc80d7665a92294fd2e52e442c35de5134e27dd30251935cc846c1dbfcd b/Gateways/FE/projects/.resources/8c1efcc80d7665a92294fd2e52e442c35de5134e27dd30251935cc846c1dbfcd new file mode 100644 index 0000000..44a5412 --- /dev/null +++ b/Gateways/FE/projects/.resources/8c1efcc80d7665a92294fd2e52e442c35de5134e27dd30251935cc846c1dbfcd @@ -0,0 +1,101 @@ +def trace_power_flow(): + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + ds_names = ["DS-1A3", "DS-1B3"] + + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/SESA_Out3', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/SESB_Out1' + ] + for name in ds_names: + # Assuming your UDT instances are in a folder named 'DS' + base_path = "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}".format(name) + tag_paths_to_read.append("{}/Breaker Closed Way 01".format(base_path)) + tag_paths_to_read.append("{}/Breaker Closed Way 02".format(base_path)) + + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['SESA-FRD3_Live'] = tag_values[0].value + values['SESB-FRD1_Live'] = tag_values[1].value + + read_idx = 2 + for name in ds_names: + values[name] = { + 'Way01': tag_values[read_idx].value, + 'Way02': tag_values[read_idx + 1].value + } + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['SESA-FRD3_Live']: + q.append( ("DS-1A3", "SESA-FRD3") ) + if values['SESB-FRD1_Live']: + q.append( ("DS-1B3", "SESB-FRD1") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ds_name, source = q.pop(0) + + if current_ds_name in visited: + continue + + visited.add(current_ds_name) + energized_state[current_ds_name] = source + + current_ut_index = ds_names.index(current_ds_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ds_names) - 1: + neighbor_name = ds_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ds_name]['Way02'] and values[neighbor_name]['Way02']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ds_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ds_name]['Way02'] and values[neighbor_name]['Way02']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + print energized_state + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + for name in ds_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + + tag_paths_to_write.append("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}/Data/isEnergized".format(name)) + values_to_write.append(is_energized) + + tag_paths_to_write.append("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}/Data/PowerSource".format(name)) + values_to_write.append(power_source) + + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8c2180f0b971a6a122e0defd9f55ac994b626eb9f053a3ebab1df9fb06745435 b/Gateways/FE/projects/.resources/8c2180f0b971a6a122e0defd9f55ac994b626eb9f053a3ebab1df9fb06745435 new file mode 100644 index 0000000..2f5e12d Binary files /dev/null and b/Gateways/FE/projects/.resources/8c2180f0b971a6a122e0defd9f55ac994b626eb9f053a3ebab1df9fb06745435 differ diff --git a/Gateways/FE/projects/.resources/8c716f7dace99fea3bd9a29494b43f858c3e52767cea01295f62948ccee8d592 b/Gateways/FE/projects/.resources/8c716f7dace99fea3bd9a29494b43f858c3e52767cea01295f62948ccee8d592 new file mode 100644 index 0000000..e7f43ef --- /dev/null +++ b/Gateways/FE/projects/.resources/8c716f7dace99fea3bd9a29494b43f858c3e52767cea01295f62948ccee8d592 @@ -0,0 +1,76 @@ +from datetime import datetime +udtInstPath = "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + + +def getMeasurementPaths(): + return ["%s/Outside Air Dewpoint"%udtInstPath, + "%s/Outside Air Temperature"%udtInstPath, + "%s/Outside Air Humidity"%udtInstPath] + +def getRawDataMeasurement(startDate, endDate, customArgs= {}): + tagpaths = getMeasurementPaths() + hist = reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={}) + + + return hist + +def getRawChillerDemand(startDate, endDate, location, customArgs= {}): + tagpaths = reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getChillerTonnage(), location) + tagpaths.sort() + hist = reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={}) + + return hist + +def calculateValues(data): + """ + Calculate the Daily Average of each sensor's measurement + """ + data = system.dataset.toPyDataSet(data) + curHeaders = system.dataset.getColumnHeaders(data) + res = {"ResultTemp":None, "ResultHumidity":None} + dailyGroup= {} + allResultData = {} + allResultDS = {} + allAvgs = [] + + for row in data: + dayStr = system.date.format(row["t_stamp"],"yyyy-MM-dd") + dailyGroup.setdefault(dayStr, {}) + dailyGroup[dayStr].setdefault("OATemp", []) + dailyGroup[dayStr].setdefault("OADew", []) + dailyGroup[dayStr].setdefault("OAHum", []) + + dailyGroup[dayStr]["OADew"].append(row[curHeaders[1]]) + dailyGroup[dayStr]["OATemp"].append(row[curHeaders[2]]) + dailyGroup[dayStr]["OAHum"].append(row[curHeaders[3]]) + + sortedDateKeys = sorted(dailyGroup.keys(), key=lambda x: datetime.strptime(x, '%Y-%m-%d')) + temperatureRows= [] + humidityRows= [] + for date_str in sortedDateKeys: + try: + dpAvg = sum(dailyGroup[date_str]["OADew"])/len(dailyGroup[date_str]["OADew"]) + tempAvg = sum(dailyGroup[date_str]["OATemp"])/len(dailyGroup[date_str]["OATemp"]) + humAvg = sum(dailyGroup[date_str]["OAHum"])/len(dailyGroup[date_str]["OAHum"]) + except: + dpAvg = 0 + tempAvg = 0 + humAvg = 0 + + temperatureRows.append([system.date.parse(date_str, "yyyy-MM-dd"), dpAvg, tempAvg]) + humidityRows.append([system.date.parse(date_str, "yyyy-MM-dd"), humAvg]) + + res["ResultTemp"] = system.dataset.toDataSet(["Date","Dewpoint","Temperature"], temperatureRows) + res["ResultHumidity"] = system.dataset.toDataSet(["Date","Humidity"], humidityRows) + return res + +def DoAll(startDate,endDate): + return calculateValues(getRawDataMeasurement(startDate,endDate)) + +def DoChillerDemand(startDate, endDate, interval= 60, locations=None): + histDS = reports.MBR.cooling.getRawChillerDemand(startDate, endDate, locations, customArgs= {}) + histDS = reports.MBR.common.util.averageIntervalData(histDS, interval) + histDS = reports.MBR.common.util.generateSumCol(histDS, sumColName="Sum Tonnage") + + return {"histDS":histDS} + \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8cb6d4b723557fa82883f9e088d0ac217b671df175d0651e467b1fadb78822c2 b/Gateways/FE/projects/.resources/8cb6d4b723557fa82883f9e088d0ac217b671df175d0651e467b1fadb78822c2 new file mode 100644 index 0000000..8fa2532 Binary files /dev/null and b/Gateways/FE/projects/.resources/8cb6d4b723557fa82883f9e088d0ac217b671df175d0651e467b1fadb78822c2 differ diff --git a/Gateways/FE/projects/.resources/8cec27d89ffe5ec834d4fa94717cd1950df976d187e1d472e8a404d0dd882365 b/Gateways/FE/projects/.resources/8cec27d89ffe5ec834d4fa94717cd1950df976d187e1d472e8a404d0dd882365 new file mode 100644 index 0000000..b0d6754 Binary files /dev/null and b/Gateways/FE/projects/.resources/8cec27d89ffe5ec834d4fa94717cd1950df976d187e1d472e8a404d0dd882365 differ diff --git a/Gateways/FE/projects/.resources/8cf355641d5869cb81593b07bccc28912ecb3aa94862c535ef008ac36746337d b/Gateways/FE/projects/.resources/8cf355641d5869cb81593b07bccc28912ecb3aa94862c535ef008ac36746337d new file mode 100644 index 0000000..0517480 Binary files /dev/null and b/Gateways/FE/projects/.resources/8cf355641d5869cb81593b07bccc28912ecb3aa94862c535ef008ac36746337d differ diff --git a/Gateways/FE/projects/.resources/8cf8edbb062d068b2e0ad011b28e83ff6d0cb35d6487a3a56a6bb2da6c248480 b/Gateways/FE/projects/.resources/8cf8edbb062d068b2e0ad011b28e83ff6d0cb35d6487a3a56a6bb2da6c248480 new file mode 100644 index 0000000..48a6d86 Binary files /dev/null and b/Gateways/FE/projects/.resources/8cf8edbb062d068b2e0ad011b28e83ff6d0cb35d6487a3a56a6bb2da6c248480 differ diff --git a/Gateways/FE/projects/.resources/8d0bf53e6a22153fab59fb7f41a53146ec4241d8a410108f202b97d69af57f86 b/Gateways/FE/projects/.resources/8d0bf53e6a22153fab59fb7f41a53146ec4241d8a410108f202b97d69af57f86 new file mode 100644 index 0000000..f7d3ac7 --- /dev/null +++ b/Gateways/FE/projects/.resources/8d0bf53e6a22153fab59fb7f41a53146ec4241d8a410108f202b97d69af57f86 @@ -0,0 +1,3588 @@ +{ + "custom": { + "CRAH01_SAT": null, + "CRAH02_SAT": null, + "GlobalDisTemp": null + }, + "params": { + "pageId": "" + }, + "propConfig": { + "custom.CRAH01_SAT": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1263/SATB1_IDF1263_CRAH_01/Supply Air Temperature" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.CRAH02_SAT": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1263/SATB1_IDF1263_CRAH_02/Supply Air Temperature" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.GlobalDisTemp": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/OPC Tags/SATB1_DH1_STU_T_SP" + }, + "type": "tag" + }, + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1190, + "width": 2078 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "STU" + }, + "position": { + "height": 69, + "width": 121, + "x": 126.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU01" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_0" + }, + "position": { + "height": 69, + "width": 120, + "x": 282.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU03" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_1" + }, + "position": { + "height": 69, + "width": 120, + "x": 437.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU05" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_2" + }, + "position": { + "height": 69, + "width": 120, + "x": 592.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "TextPosition": 0, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU07" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_3" + }, + "position": { + "height": 69, + "width": 120, + "x": 747.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "TextPosition": 0, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU09" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_4" + }, + "position": { + "height": 69, + "width": 120, + "x": 902.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "TextPosition": 0, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU11" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_5" + }, + "position": { + "height": 69, + "width": 120, + "x": 1057.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "TextPosition": 0, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU13" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_6" + }, + "position": { + "height": 69, + "width": 120, + "x": 1212.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "TextPosition": 0, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU15" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_8" + }, + "position": { + "height": 69, + "width": 120, + "x": 1523.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "TextPosition": 0, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU19" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_9" + }, + "position": { + "height": 69, + "width": 120, + "x": 127.80000000000001, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU02" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_10" + }, + "position": { + "height": 69, + "width": 120, + "x": 283.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU04" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_11" + }, + "position": { + "height": 69, + "width": 120, + "x": 438.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU06" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_12" + }, + "position": { + "height": 69, + "width": 120, + "x": 593.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU08" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_13" + }, + "position": { + "height": 69, + "width": 120, + "x": 748.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU10" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_14" + }, + "position": { + "height": 69, + "width": 120, + "x": 903.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU12" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_15" + }, + "position": { + "height": 69, + "width": 120, + "x": 1058.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU14" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_16" + }, + "position": { + "height": 69, + "width": 120, + "x": 1213.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU16" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_17" + }, + "position": { + "height": 69, + "width": 120, + "x": 1368.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU18" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_18" + }, + "position": { + "height": 69, + "width": 120, + "x": 1524.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU20" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_0" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 1524.8, + "y": 1019.9 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_02" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_2" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 128.8, + "y": 1019.9 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAH 1263-1" + }, + "position": { + "height": 69, + "width": 121, + "x": 17.9, + "y": 260.858 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "CRAH", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1263/SATB1_IDF1263_CRAH_01" + }, + "path": "Library/Symbols/HVAC/Sym_CRAH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAH 1263 -2" + }, + "position": { + "height": 69, + "width": 121, + "x": 17.9, + "y": 854.975 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "CRAH", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1263/SATB1_IDF1263_CRAH_02" + }, + "path": "Library/Symbols/HVAC/Sym_CRAH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FCU-15" + }, + "position": { + "height": 69, + "rotate": { + "anchor": "50% 25%" + }, + "width": 121, + "x": 17.9, + "y": 191.685 + }, + "props": { + "path": "Library/Symbols/HVAC/Sym_FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H1" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 192.993, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "38_36", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H2" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 336.205, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "34_32", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H3" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 479.5, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "30_28", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H4" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 622.241, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "26_24", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H5" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 89, + "x": 763.27, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "22_20", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H6" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 904.25, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "18_16", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H7" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 1048.25, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "14_12", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H8" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 1190.7, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "10_08", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H9" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 1332.8, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "06_04", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H10" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1476.8, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "02", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H11" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 193.99, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "37_35", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H12" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 337.2, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "33_31", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H13" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 478.5, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "29_27", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H14" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 621.24, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "25_23", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H15" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 765.27, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "21_19", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H16" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 909.25, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "17_15", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H17" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 1051.25, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "13_11", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H18" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 1193.7, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "09_07", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H19" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 1334.8, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "05_03", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H20" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 69, + "x": 1477.8, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_185" + }, + "position": { + "height": 35, + "width": 70, + "x": 780.3, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_21_19_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_89" + }, + "position": { + "height": 35, + "width": 70, + "x": 780.3, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_22_20_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_75" + }, + "position": { + "height": 35, + "width": 70, + "x": 211.9, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_38_36_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_76" + }, + "position": { + "height": 35, + "width": 70, + "x": 355.7, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_34_32_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_77" + }, + "position": { + "height": 35, + "width": 70, + "x": 497.4, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_30_28_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_78" + }, + "position": { + "height": 35, + "width": 70, + "x": 639.1, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_26_24_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_79" + }, + "position": { + "height": 35, + "width": 70, + "x": 780.3, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_22_20_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_80" + }, + "position": { + "height": 35, + "width": 70, + "x": 927.3, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_18_16_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_81" + }, + "position": { + "height": 35, + "width": 70, + "x": 1067.2, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_14_12_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_82" + }, + "position": { + "height": 35, + "width": 70, + "x": 1211.7, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_10_08_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_83" + }, + "position": { + "height": 35, + "width": 70, + "x": 1353.7, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_06_04_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_84" + }, + "position": { + "height": 35, + "width": 70, + "x": 1480.7, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_02_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_85" + }, + "position": { + "height": 35, + "width": 70, + "x": 211.9, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_38_36_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_86" + }, + "position": { + "height": 35, + "width": 70, + "x": 355.7, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_34_32_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_87" + }, + "position": { + "height": 35, + "width": 70, + "x": 497.4, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_30_28_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_88" + }, + "position": { + "height": 35, + "width": 70, + "x": 639.1, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_26_24_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_90" + }, + "position": { + "height": 35, + "width": 70, + "x": 927.3, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_18_16_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_91" + }, + "position": { + "height": 35, + "width": 70, + "x": 1067.2, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_14_12_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_92" + }, + "position": { + "height": 35, + "width": 70, + "x": 1211.7, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_10_08_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_93" + }, + "position": { + "height": 35, + "width": 70, + "x": 1353.7, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_06_04_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_94" + }, + "position": { + "height": 35, + "width": 70, + "x": 1480.7, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_02_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_95" + }, + "position": { + "height": 35, + "width": 70, + "x": 211.9, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_37_35_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_96" + }, + "position": { + "height": 35, + "width": 70, + "x": 355.7, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_33_31_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_97" + }, + "position": { + "height": 35, + "width": 70, + "x": 497.4, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_29_27_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_98" + }, + "position": { + "height": 35, + "width": 70, + "x": 639.1, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_25_23_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_99" + }, + "position": { + "height": 35, + "width": 70, + "x": 780.3, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_21_19_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_100" + }, + "position": { + "height": 35, + "width": 70, + "x": 927.3, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_17_15_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_101" + }, + "position": { + "height": 35, + "width": 70, + "x": 1067.2, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_13_11_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_102" + }, + "position": { + "height": 35, + "width": 70, + "x": 1211.7, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_09_07_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_103" + }, + "position": { + "height": 35, + "width": 70, + "x": 1353.7, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 0, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_05_03_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_104" + }, + "position": { + "height": 35, + "width": 70, + "x": 1480.7, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_01_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_181" + }, + "position": { + "height": 35, + "width": 70, + "x": 211.9, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_37_35_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_182" + }, + "position": { + "height": 35, + "width": 70, + "x": 355.7, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_33_31_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_183" + }, + "position": { + "height": 35, + "width": 70, + "x": 497.4, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_29_27_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_184" + }, + "position": { + "height": 35, + "width": 70, + "x": 639.1, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_25_23_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_186" + }, + "position": { + "height": 35, + "width": 70, + "x": 927.3, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_17_15_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_187" + }, + "position": { + "height": 35, + "width": 70, + "x": 1067.2, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_13_11_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_188" + }, + "position": { + "height": 35, + "width": 70, + "x": 1211.7, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_09_07_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_189" + }, + "position": { + "height": 35, + "width": 70, + "x": 1353.7, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_05_03_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_190" + }, + "position": { + "height": 35, + "width": 70, + "x": 1480.7, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_01_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_167" + }, + "position": { + "height": 35, + "width": 70, + "x": 1614, + "y": 322.479 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_IDF1_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_168" + }, + "position": { + "height": 35, + "width": 70, + "x": 1614, + "y": 818.479 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_IDF1_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_7" + }, + "position": { + "height": 69, + "width": 120, + "x": 1367.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "TextPosition": 0, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU17" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_19" + }, + "position": { + "height": 69, + "width": 119, + "x": 1343.8, + "y": 15.5 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_DH1_LD1_CTRL" + }, + "path": "Library/Symbols/HVAC/Sym_LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C1" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 62, + "x": 131.26, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 38, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C2" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 280.744, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "36_34", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C3" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 425.2, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "32_30", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C4" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 567.241, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "28_26", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C5" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 710.3, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "24_22", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C6" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 52, + "x": 852.25, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "20_18", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C7" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 995.3, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "16_14", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C8" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1134.7, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "12_10", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C9" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1278.8, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "08_06", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C10" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1420.8, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "04_02", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C11" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 62, + "x": 131.26, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 37, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C12" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 281.74, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "35_33", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C13" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 424.2, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "31_29", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C14" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 566.24, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "27_25", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C15" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 710.3, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "23_21", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C16" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 57, + "x": 852.25, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "19_17", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C17" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 996.3, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "15_13", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C18" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 58, + "x": 1135.7, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "11_09", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C19" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1280.8, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "07_05", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C20" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1422.8, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "03_01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_20" + }, + "position": { + "height": 69, + "width": 119, + "x": 1344, + "y": 1040 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO1_default]GAL1262/SATB1_DH1_LD2_CTRL" + }, + "path": "Library/Symbols/HVAC/Sym_LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C24" + }, + "position": { + "height": 465, + "rotate": { + "anchor": "50% 64%" + }, + "width": 61, + "x": 20, + "y": 341 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "struct": { + "c1": "{view.custom.CRAH01_SAT}", + "c2": "{view.custom.CRAH02_SAT}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "max({value}[\u0027c1\u0027], {value}[\u0027c2\u0027])", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "Aisle": "IDF2", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle_3", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C22" + }, + "position": { + "height": 465, + "rotate": { + "anchor": "50% 64%" + }, + "width": 47, + "x": 80.86, + "y": 341 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "struct": { + "c1": "{view.custom.CRAH01_SAT}", + "c2": "{view.custom.CRAH02_SAT}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "max({value}[\u0027c1\u0027], {value}[\u0027c2\u0027])", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "Aisle": "IDF2", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_108" + }, + "position": { + "height": 20, + "width": "Auto", + "x": 102.456, + "y": 524.1 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "backgroundColor": "--containerRoot", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH controls" + }, + "position": { + "height": 1000, + "width": 370, + "x": 1708, + "y": -11.1562 + }, + "props": { + "params": { + "dh": 1 + }, + "path": "Library/Cards/Card_DH_Control", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 148, + "width": 105, + "x": 1814.78, + "y": 915.345 + }, + "props": { + "params": { + "DH": "DH1" + }, + "path": "Library/Widgets/HVAC/Wdg_Dewpoint", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C21" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1546.78, + "y": 583 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "03_01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C23" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1544.78, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "04_02", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_3" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 373, + "y": 1020 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_4" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 675, + "y": 1020 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 6.98828125, + "y": 147.96875 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)", + "overflow": "visible" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "LLSPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.LLSPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8d9313bf434c393fc0cb4a2832944254767210d227486adcaa21b2a7aa371ef8 b/Gateways/FE/projects/.resources/8d9313bf434c393fc0cb4a2832944254767210d227486adcaa21b2a7aa371ef8 new file mode 100644 index 0000000..341494c --- /dev/null +++ b/Gateways/FE/projects/.resources/8d9313bf434c393fc0cb4a2832944254767210d227486adcaa21b2a7aa371ef8 @@ -0,0 +1,207 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4Array", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Device Runtime", + "options": [] + }, + { + "dataType": "Int4Array", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Ref_Devices", + "options": [] + }, + { + "dataType": "Int4Array", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_Avail_Devices", + "options": [] + }, + { + "dataType": "Int4Array", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_Devices", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_LineUp_Adjusting", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_LineUp_Complete", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_TransActive", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Val_Avail", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Val_Demand", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Val_Fdbk", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8dc675240dd723ecc75997cbd4f402d9230d59efac486f46712cc5a957303c14 b/Gateways/FE/projects/.resources/8dc675240dd723ecc75997cbd4f402d9230d59efac486f46712cc5a957303c14 new file mode 100644 index 0000000..1c64d61 Binary files /dev/null and b/Gateways/FE/projects/.resources/8dc675240dd723ecc75997cbd4f402d9230d59efac486f46712cc5a957303c14 differ diff --git a/Gateways/FE/projects/.resources/8e28cfa183fb5d768e9c2891e8eabcb4bc209591abea2b8ca7ab10467b4ace32 b/Gateways/FE/projects/.resources/8e28cfa183fb5d768e9c2891e8eabcb4bc209591abea2b8ca7ab10467b4ace32 new file mode 100644 index 0000000..34bf5fc Binary files /dev/null and b/Gateways/FE/projects/.resources/8e28cfa183fb5d768e9c2891e8eabcb4bc209591abea2b8ca7ab10467b4ace32 differ diff --git a/Gateways/FE/projects/.resources/8e6da87b0689ae2156833bb108c5cdb97e75498754f5357afd1c1ff9659de412 b/Gateways/FE/projects/.resources/8e6da87b0689ae2156833bb108c5cdb97e75498754f5357afd1c1ff9659de412 new file mode 100644 index 0000000..5ad8690 --- /dev/null +++ b/Gateways/FE/projects/.resources/8e6da87b0689ae2156833bb108c5cdb97e75498754f5357afd1c1ff9659de412 @@ -0,0 +1,144 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "format": "0,0.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Lower Range" + }, + { + "dataType": "Int4", + "format": "0,0", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Number Of Devices" + }, + { + "dataType": "Float4", + "format": "0,0.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tolerance" + }, + { + "dataType": "Float4", + "format": "0,0.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Upper Range" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/DH5_DP_AvgObj" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \t\"format\": \u00270,0\u0027,\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8f08dc0ccb8fe9c0078dbe073dfc222e5473eb1f27600394bf438cca0059f3f0 b/Gateways/FE/projects/.resources/8f08dc0ccb8fe9c0078dbe073dfc222e5473eb1f27600394bf438cca0059f3f0 new file mode 100644 index 0000000..0db8983 --- /dev/null +++ b/Gateways/FE/projects/.resources/8f08dc0ccb8fe9c0078dbe073dfc222e5473eb1f27600394bf438cca0059f3f0 @@ -0,0 +1,143 @@ +{ + "custom": {}, + "params": { + "title": "DH1", + "value": 65 + }, + "propConfig": { + "params.title": { + "paramDirection": "input", + "persistent": true + }, + "params.value": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 150 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "223px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "path": "view.params.value" + }, + "type": "property" + } + } + }, + "props": { + "desiredHigh": 500, + "desiredLow": 400, + "desiredRangeColor": "var(--state-manual)", + "highAlarm": 1450, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 50, + "lowInterlock": null, + "lowLowAlarm": null, + "maxValue": 1500, + "setpointValue": 65 + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "children": [ + { + "meta": { + "name": "Title" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.title" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.value" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "--tagvalue-color", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EngUnits" + }, + "props": { + "text": "tons", + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ValueSection" + }, + "position": { + "basis": "200px" + }, + "props": { + "justify": "center", + "style": { + "gap": "2px", + "marginTop": -15 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/8fcae95b3553de91afa71724e35c963481e53a94a3133611f22f56f456260f3e b/Gateways/FE/projects/.resources/8fcae95b3553de91afa71724e35c963481e53a94a3133611f22f56f456260f3e new file mode 100644 index 0000000..1040b71 Binary files /dev/null and b/Gateways/FE/projects/.resources/8fcae95b3553de91afa71724e35c963481e53a94a3133611f22f56f456260f3e differ diff --git a/Gateways/FE/projects/.resources/9050c18b9336721dd04784a604fe6c3dcf15c88c8e7514975b443be68a0edc27 b/Gateways/FE/projects/.resources/9050c18b9336721dd04784a604fe6c3dcf15c88c8e7514975b443be68a0edc27 new file mode 100644 index 0000000..a9c7620 Binary files /dev/null and b/Gateways/FE/projects/.resources/9050c18b9336721dd04784a604fe6c3dcf15c88c8e7514975b443be68a0edc27 differ diff --git a/Gateways/FE/projects/.resources/905fa87603875fe748e89124c2e4313bccb494df7fb979662aa34504cb1f0a6a b/Gateways/FE/projects/.resources/905fa87603875fe748e89124c2e4313bccb494df7fb979662aa34504cb1f0a6a new file mode 100644 index 0000000..d33da2e Binary files /dev/null and b/Gateways/FE/projects/.resources/905fa87603875fe748e89124c2e4313bccb494df7fb979662aa34504cb1f0a6a differ diff --git a/Gateways/FE/projects/.resources/908f0095c43850365e85c0acd50b114bdd9254d2d663aa56904a59490ca2f165 b/Gateways/FE/projects/.resources/908f0095c43850365e85c0acd50b114bdd9254d2d663aa56904a59490ca2f165 new file mode 100644 index 0000000..1d28038 --- /dev/null +++ b/Gateways/FE/projects/.resources/908f0095c43850365e85c0acd50b114bdd9254d2d663aa56904a59490ca2f165 @@ -0,0 +1,184 @@ +emptyDict={ + "Common":["a"], + "DH1":["a"], + "DH2":[], + "DH3":[], + "DH4":[], + "DH5":[], + "Something":[] + } + +humidityHighLimit = 80.0 +humidityLowLimit = 5.0 +tempHighLimit= 95.0 +tempLowLimit= 50.0 + +def getChillerTonnage(): + return { + "Common":[], + "DH1":["[Ignition_Common_IO_Gtwy]DH1/OPC Tags/SATB1_DH1 Tonnage Demand"], + "DH2":["[Ignition_Common_IO_Gtwy]DH2/OPC Tags/SATB1_DH2 Tonnage Demand"], + "DH3":["[Ignition_Common_IO_Gtwy]DH3/OPC Tags/SATB1_DH3 Tonnage Demand"], + "DH4":["[Ignition_Common_IO_Gtwy]DH4/OPC Tags/SATB1_DH4 Tonnage Demand"], + "DH5":["[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5 Tonnage Demand"], + } + +def getPQMBase(): + return { + "Common":["[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM", + "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_PQM", + "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_PQM", + "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_PQM", + "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_PQM", + "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_PQM", + "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_PQM", + "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_PQM"], + "DH1":["[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_PQM1", + "[Ignition_SATB1_IO1_default]ER1243/SWBD/SATB1_ER1244_PQM1", + "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1245_PQM1", + "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1246_PQM1"], + "DH2":["[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_PQM1", + "[Ignition_SATB1_IO2_default]ER1249/SWBD/SATB1_ER1249_PQM1", + "[Ignition_SATB1_IO2_default]ER1250/SWBD/SATB1_ER1250_PQM1", + "[Ignition_SATB1_IO2_default]ER1251/SWBD/SATB1_ER1251_PQM1", + "[Ignition_SATB1_IO2_default]ER1252/SWBD/SATB1_ER1252_PQM1" + ], + "DH3":["[Ignition_SATB1_IO3_default]ER1155/SWBD/SATB1_ER1155_PQM1", + "[Ignition_SATB1_IO3_default]ER1156/SWBD/SATB1_ER1156_PQM1", + "[Ignition_SATB1_IO3_default]ER1157/SWBD/SATB1_ER1157_PQM1", + "[Ignition_SATB1_IO3_default]ER1158/SWBD/SATB1_ER1158_PQM1", + "[Ignition_SATB1_IO3_default]ER1159/SWBD/SATB1_ER1159_PQM1" + ], + "DH4":["[Ignition_SATB1_IO4_default]ER1254/SWBD/SATB1_ER1254_PQM1", + "[Ignition_SATB1_IO4_default]ER1255/SWBD/SATB1_ER1255_PQM1", + "[Ignition_SATB1_IO4_default]ER1256/SWBD/SATB1_ER1256_PQM1", + "[Ignition_SATB1_IO4_default]ER1257/SWBD/SATB1_ER1257_PQM1", + "[Ignition_SATB1_IO4_default]ER1258/SWBD/SATB1_ER1258_PQM1" + ], + "DH5":["[Ignition_SATB1_IO5_default]ER1161/SWBD/SATB1_ER1161_PQM1", + "[Ignition_SATB1_IO5_default]ER1162/SWBD/SATB1_ER1162_PQM1", + "[Ignition_SATB1_IO5_default]ER1163/SWBD/SATB1_ER1163_PQM1", + "[Ignition_SATB1_IO5_default]ER1164/SWBD/SATB1_ER1164_PQM1", + "[Ignition_SATB1_IO5_default]ER1165/SWBD/SATB1_ER1165_PQM1" + ], + } + +def getPDUBase(): + return { + "Common":[], + "DH1":["[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-2", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-3", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-4", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-1", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-2", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-3", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-4", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-2", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-3", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-4", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-1", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-2", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-3", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-4", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-1", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-2", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-3", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-4"], + "DH2":[], + "DH3":[], + "DH4":[], + "DH5":["[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-4-1", + "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-4-2", + "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-4-3", + "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-4-4", + "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-5-1", + "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-5-2", + "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-5-3", + "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-5-4"] + } + +def getGeneratorBase(): + return { + "Common":[ + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M1","[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M2","[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M3","[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M4","[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M5","[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M6","[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M7","[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M8","[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-1","[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-2","[Ignition_SATB1_IO1_default]ER1243/SWBD/SATB1_ER1243_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-3","[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-4","[Ignition_SATB1_IO1_default]ER1245/SWBD/SATB1_ER1245_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-5","[Ignition_SATB1_IO1_default]ER1246/SWBD/SATB1_ER1246_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-1","[Ignition_SATB1_IO3_default]ER1155/SWBD/SATB1_ER1155_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-2","[Ignition_SATB1_IO3_default]ER1156/SWBD/SATB1_ER1156_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-3","[Ignition_SATB1_IO3_default]ER1157/SWBD/SATB1_ER1157_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-4","[Ignition_SATB1_IO3_default]ER1158/SWBD/SATB1_ER1158_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-5","[Ignition_SATB1_IO3_default]ER1159/SWBD/SATB1_ER1159_PQM1")], + "DH1":[], + "DH2":[("[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_GEN-P2-1","[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_PQM1"), + ("[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_GEN-P2-2","[Ignition_SATB1_IO2_default]ER1249/SWBD/SATB1_ER1249_PQM1"), + ("[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_GEN-P2-3","[Ignition_SATB1_IO2_default]ER1250/SWBD/SATB1_ER1250_PQM1"), + ("[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_GEN-P2-4","[Ignition_SATB1_IO2_default]ER1251/SWBD/SATB1_ER1251_PQM1"), + ("[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_GEN-P2-5","[Ignition_SATB1_IO2_default]ER1252/SWBD/SATB1_ER1252_PQM1")], + "DH3":[], + "DH4":[("[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_GEN-P4-1","[Ignition_SATB1_IO4_default]ER1254/SWBD/SATB1_ER1254_PQM1"), + ("[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_GEN-P4-2","[Ignition_SATB1_IO4_default]ER1255/SWBD/SATB1_ER1255_PQM1"), + ("[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_GEN-P4-3","[Ignition_SATB1_IO4_default]ER1256/SWBD/SATB1_ER1256_PQM1"), + ("[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_GEN-P4-4","[Ignition_SATB1_IO4_default]ER1257/SWBD/SATB1_ER1257_PQM1"), + ("[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_GEN-P4-5","[Ignition_SATB1_IO4_default]ER1258/SWBD/SATB1_ER1258_PQM1")], + "DH5":[("[Ignition_SATB1_IO5_default]Yard/SATB1_YARD_GEN-P5-1","[Ignition_SATB1_IO5_default]ER1161/SWBD/SATB1_ER1161_PQM1"), + ("[Ignition_SATB1_IO5_default]Yard/SATB1_YARD_GEN-P5-2","[Ignition_SATB1_IO5_default]ER1162/SWBD/SATB1_ER1162_PQM1"), + ("[Ignition_SATB1_IO5_default]Yard/SATB1_YARD_GEN-P5-3","[Ignition_SATB1_IO5_default]ER1163/SWBD/SATB1_ER1163_PQM1"), + ("[Ignition_SATB1_IO5_default]Yard/SATB1_YARD_GEN-P5-4","[Ignition_SATB1_IO5_default]ER1164/SWBD/SATB1_ER1164_PQM1"), + ("[Ignition_SATB1_IO5_default]Yard/SATB1_YARD_GEN-P5-5","[Ignition_SATB1_IO5_default]ER1165/SWBD/SATB1_ER1165_PQM1")], + } + +def getUPSBase(): + """ + Formatted in a way to group UPS to lines and lines to data hall + """ + return { + "Common":[], + "DH1":[("[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1", "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-2"), + ("[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_UPS-1", "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_UPS-2"), + ("[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1","[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-2"), + ("[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_UPS-1","[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_UPS-2"), + ("[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_UPS-1","[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_UPS-2")], + "DH2":[("[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-1","[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-2"), + ("[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_UPS-1","[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_UPS-2"), + ("[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_UPS-1","[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_UPS-2"), + ("[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_UPS-1","[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_UPS-2"), + ("[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_UPS-1","[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_UPS-1")], + "DH3":[("[Ignition_SATB1_IO3_default]ER1155/SATB1_ER1155_UPS-1","[Ignition_SATB1_IO3_default]ER1155/SATB1_ER1155_UPS-2"), + ("[Ignition_SATB1_IO3_default]ER1156/SATB1_ER1156_UPS-1","[Ignition_SATB1_IO3_default]ER1156/SATB1_ER1156_UPS-2"), + ("[Ignition_SATB1_IO3_default]ER1157/SATB1_ER1157_UPS-1","[Ignition_SATB1_IO3_default]ER1157/SATB1_ER1157_UPS-2"), + ("[Ignition_SATB1_IO3_default]ER1158/SATB1_ER1158_UPS-1","[Ignition_SATB1_IO3_default]ER1158/SATB1_ER1158_UPS-2"), + ("[Ignition_SATB1_IO3_default]ER1159/SATB1_ER1159_UPS-1", "[Ignition_SATB1_IO3_default]ER1159/SATB1_ER1159_UPS-2")], + "DH4":[("[Ignition_SATB1_IO4_default]ER1254/SATB1_ER1254_UPS-1","[Ignition_SATB1_IO4_default]ER1254/SATB1_ER1254_UPS-2"), + ("[Ignition_SATB1_IO4_default]ER1255/SATB1_ER1255_UPS-1","[Ignition_SATB1_IO4_default]ER1255/SATB1_ER1255_UPS-2"), + ("[Ignition_SATB1_IO4_default]ER1256/SATB1_ER1256_UPS-1","[Ignition_SATB1_IO4_default]ER1256/SATB1_ER1256_UPS-2"), + ("[Ignition_SATB1_IO4_default]ER1257/SATB1_ER1257_UPS-1","[Ignition_SATB1_IO4_default]ER1257/SATB1_ER1257_UPS-2"), + ("[Ignition_SATB1_IO4_default]ER1258/SATB1_ER1258_UPS-1","[Ignition_SATB1_IO4_default]ER1258/SATB1_ER1258_UPS-2")], + "DH5":[("[Ignition_SATB1_IO5_default]ER1161/SATB1_ER1161_UPS-1", "[Ignition_SATB1_IO5_default]ER1161/SATB1_ER1161_UPS-2"), + ("[Ignition_SATB1_IO5_default]ER1162/SATB1_ER1162_UPS-1","[Ignition_SATB1_IO5_default]ER1162/SATB1_ER1162_UPS-2"), + ("[Ignition_SATB1_IO5_default]ER1163/SATB1_ER1163_UPS-1","[Ignition_SATB1_IO5_default]ER1163/SATB1_ER1163_UPS-2"), + ("[Ignition_SATB1_IO5_default]ER1164/SATB1_ER1164_UPS-1", "[Ignition_SATB1_IO5_default]ER1164/SATB1_ER1164_UPS-2"), + ("[Ignition_SATB1_IO5_default]ER1165/SATB1_ER1165_UPS-1", "[Ignition_SATB1_IO5_default]ER1165/SATB1_ER1165_UPS-2")] + } +def getUtilitySES(): + return { + "Yard": ["[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A/PQM_Main", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/PQM_Main"], + "Common":[], + "DH1":[], + "DH2":[], + "DH3":[], + "DH4":[], + "DH5":[], + } \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/90e8072172974bfd0ba00123a93f08a3f1430dd7385a18ad7662e82d61bc0d71 b/Gateways/FE/projects/.resources/90e8072172974bfd0ba00123a93f08a3f1430dd7385a18ad7662e82d61bc0d71 new file mode 100644 index 0000000..9094cd2 Binary files /dev/null and b/Gateways/FE/projects/.resources/90e8072172974bfd0ba00123a93f08a3f1430dd7385a18ad7662e82d61bc0d71 differ diff --git a/Gateways/FE/projects/.resources/9118ea204fa17e6762bd92dee2a5ba7ff17ab7c6a4f5bcf1eb97fac6369496a4 b/Gateways/FE/projects/.resources/9118ea204fa17e6762bd92dee2a5ba7ff17ab7c6a4f5bcf1eb97fac6369496a4 new file mode 100644 index 0000000..88da5e9 --- /dev/null +++ b/Gateways/FE/projects/.resources/9118ea204fa17e6762bd92dee2a5ba7ff17ab7c6a4f5bcf1eb97fac6369496a4 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947448421 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947448421 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/912a9d4313ca291d7f1fd18897c566fae0e8b2d0acb00c0f665e700a03e04159 b/Gateways/FE/projects/.resources/912a9d4313ca291d7f1fd18897c566fae0e8b2d0acb00c0f665e700a03e04159 new file mode 100644 index 0000000..1b08bcc Binary files /dev/null and b/Gateways/FE/projects/.resources/912a9d4313ca291d7f1fd18897c566fae0e8b2d0acb00c0f665e700a03e04159 differ diff --git a/Gateways/FE/projects/.resources/9159f7f971a6bd8cf54e9f4ded02865eb973a37700e724a56f2aff32db1854db b/Gateways/FE/projects/.resources/9159f7f971a6bd8cf54e9f4ded02865eb973a37700e724a56f2aff32db1854db new file mode 100644 index 0000000..ec73043 --- /dev/null +++ b/Gateways/FE/projects/.resources/9159f7f971a6bd8cf54e9f4ded02865eb973a37700e724a56f2aff32db1854db @@ -0,0 +1,2746 @@ +{ + "custom": { + "DH": 5, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 3, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P5.3", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-3/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P5.3", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P5.3", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1163/SATB1_ER1163_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/91785151fd7d6ffbed08d1df4d073c1383a7461e320ac5c025f35b9106ad3111 b/Gateways/FE/projects/.resources/91785151fd7d6ffbed08d1df4d073c1383a7461e320ac5c025f35b9106ad3111 new file mode 100644 index 0000000..5738dfc Binary files /dev/null and b/Gateways/FE/projects/.resources/91785151fd7d6ffbed08d1df4d073c1383a7461e320ac5c025f35b9106ad3111 differ diff --git a/Gateways/FE/projects/.resources/917a28c303f407dbdc98162cbf345c15eb4407ee24f7c1b5992e9169dc962381 b/Gateways/FE/projects/.resources/917a28c303f407dbdc98162cbf345c15eb4407ee24f7c1b5992e9169dc962381 new file mode 100644 index 0000000..f4e05ce --- /dev/null +++ b/Gateways/FE/projects/.resources/917a28c303f407dbdc98162cbf345c15eb4407ee24f7c1b5992e9169dc962381 @@ -0,0 +1,602 @@ +{ + "custom": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "filters": { + "alm": [], + "prov": [], + "tag": [] + } + }, + "params": {}, + "propConfig": { + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.filters": { + "onChange": { + "enabled": null, + "script": "\tif currentValue is not None:\n\t\tself.getChild(\"root\").getChild(\"AlarmJournalTable\").refreshData()" + }, + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "IO GW:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "alignItems": "flex-start", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_Common_IO_Gtwy", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_Common_IO_Gtwy", + "source": "prov" + }, + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_SATB1_IO1_default", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_SATB1_IO1_default", + "source": "prov" + } + ], + "path": "Library/Templates/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tsystem.perspective.sendMessage(\u0027clearFilters\u0027, {\n\t\t\u0027source\u0027: source\n\t})\n\tself.parent.parent.parent.parent.getChild(\"AlarmStatusTable\").custom.filters[source] \u003d []" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "prov" + }, + "position": { + "display": false, + "grow": 1 + }, + "props": { + "style": { + "borderBottom": "1px solid var(--border)", + "borderTop": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "Quick Search:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.instances[11].label": { + "binding": { + "config": { + "expression": "\u0027\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH1", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH2", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH3", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH4", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH5", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "CHWS", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Electrical", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "", + "mode": "", + "selected": false, + "source": "tag" + } + ], + "path": "Library/Templates/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tself.view.custom.filters[source] \u003d []\n\tflexRepeater \u003d self.parent.parent.getChild(\"FlexRepeater\")\n\ttoDelete \u003d []\n\tfor i, instance in enumerate(flexRepeater.props.instances):\n\t\tinstance[\u0027selected\u0027] \u003d False\n\t\tif instance[\u0027mode\u0027] \u003d\u003d \u0027Custom\u0027:\n\t\t\tinstance[\u0027label\u0027] \u003d \u0027\u0027\n\t\t\tif i \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\ttoDelete.append(i)\n\tfor index in reversed(toDelete):\n\t\tflexRepeater.props.instances.pop(index)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "tag" + }, + "position": { + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "RadioGroup" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "expression": "0" + }, + "type": "expr" + }, + "onChange": { + "enabled": null, + "script": "\tif currentValue is not None:\n\t\tself.getSibling(\"AlarmJournalTable\").refreshData()" + } + } + }, + "props": { + "align": "start", + "radioStyle": { + "padding": "0px 10px" + }, + "radios": [ + { + "selected": true, + "text": "Match on ANY", + "value": 0 + }, + { + "selected": false, + "text": "Match on ALL", + "value": 1 + } + ], + "style": { + "borderLeft": "1px solid var(--border)", + "borderRight": "1px solid var(--border)", + "fontSize": "0.8em", + "padding": "4px 5px" + } + }, + "type": "ia.input.radio-group" + }, + { + "meta": { + "name": "AlarmJournalTable" + }, + "position": { + "grow": 1 + }, + "props": { + "columns": { + "displayPath": { + "enabled": true + }, + "eventId": { + "enabled": false + }, + "label": { + "enabled": true + }, + "source": { + "enabled": false + } + }, + "dateRange": { + "historical": { + "endDate": { + "$": [ + "ts", + 0, + 1729635409199 + ], + "$ts": 1729494000000 + }, + "startDate": { + "$": [ + "ts", + 0, + 1729635406447 + ], + "$ts": 1729407600000 + } + }, + "realtime": { + "interval": 10, + "unit": "minutes" + } + }, + "filter": { + "events": { + "acked": false, + "active": false, + "cleared": false + }, + "priorities": { + "critical": false, + "high": false, + "low": false, + "medium": false + } + }, + "rowStyles": { + "acked": { + "priorities": { + "critical": { + "backgroundColor": "#e2202860" + }, + "high": { + "backgroundColor": "#de7c3360" + }, + "low": { + "backgroundColor": "#7266b760" + }, + "medium": { + "backgroundColor": "#f4b83460" + } + } + }, + "active": { + "priorities": { + "critical": { + "backgroundColor": "#e22028b0" + }, + "high": { + "backgroundColor": "#de7c33b0" + }, + "low": { + "backgroundColor": "#7266b7b0" + }, + "medium": { + "backgroundColor": "#f4b834b0" + } + } + } + }, + "toolbar": { + "enableFilter": false + } + }, + "scripts": { + "customMethods": [ + { + "name": "convertToDict", + "params": [ + "input_str" + ], + "script": " # Split by \u0027:/\u0027, keeping \u0027:\u0027 within key-value pairs\n parts \u003d input_str.split(\u0027:/\u0027)\n result_dict \u003d {}\n \n # Loop through the parts and create key-value pairs\n for part in parts:\n key, value \u003d part.split(\u0027:\u0027, 1)\n result_dict[key] \u003d value\n \n return result_dict" + } + ], + "extensionFunctions": [ + { + "enabled": true, + "name": "filterAlarm", + "script": "\tresult \u003d True\n\tsource \u003d self.convertToDict(alarmEvent.get(\u0027source\u0027).toString())\n\tprov \u003d source[\u0027prov\u0027]\n\ttag \u003d source[\u0027tag\u0027]\n\talm \u003d source[\u0027alm\u0027]\n\t\n\tfilters \u003d self.view.custom.filters\n\tmatchRule \u003d self.getSibling(\"RadioGroup\").props.value\n\t\n\tif len(filters[\u0027prov\u0027]) \u003e 0:\n\t\tif prov not in filters[\u0027prov\u0027]:\n\t\t\tresult \u003d False\n\t\t\t\n\tif len(filters[\u0027tag\u0027]) \u003e 0:\n\t if matchRule \u003d\u003d 0: # match on ANY\n\t result \u003d False \n\t for t in filters[\u0027tag\u0027]:\n\t if t.upper() in tag.upper():\n\t result \u003d True\n\t break # If any tag matches, we can break out of the loop\n\t elif matchRule \u003d\u003d 1: # match on ALL\n\t for t in filters[\u0027tag\u0027]:\n\t if t.upper() not in tag.upper():\n\t result \u003d False\n\t break # If any tag doesn\u0027t match, stop and return False\n\t\n\treturn result" + } + ], + "messageHandlers": [] + }, + "type": "ia.display.alarmjournaltable" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "addFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index].selected \u003d True", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "customFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index][\u0027selected\u0027] \u003d True\n\t\tflexRepeater.props.instances[index][\u0027label\u0027] \u003d label\n\t\tflexRepeater.props.instances.append({\n\t\t\t\"color\": \"var(--neutral-50)\",\n\t\t\t\"filterString\": \"\",\n\t\t\t\"instancePosition\": {},\n\t\t\t\"instanceStyle\": {\n\t\t\t\"classes\": \"\"\n\t\t\t},\n\t\t\t\"mode\": \"Custom\",\n\t\t\t\"selected\": False,\n\t\t\t\"source\": \"tag\",\n\t\t\t\"label\": \"\"\n\t\t\t})", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "removeFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\ti \u003d self.view.custom.filters[source].index(label)\n\t\tself.view.custom.filters[source].pop(i)\n\t\tflexRepeater.props.instances[index].selected \u003d False\n\t\tif flexRepeater.props.instances[index].mode \u003d\u003d \u0027Custom\u0027:\n\t\t\tflexRepeater.props.instances[index].label \u003d \u0027\u0027\n\t\t\tif index \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\tflexRepeater.props.instances.pop(index)\n\telse:\n\t\tpass", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/91b78f6b21094299d1eff01e8f4e0ebd9dea8c376f22e1ca3d5c241e7767279b b/Gateways/FE/projects/.resources/91b78f6b21094299d1eff01e8f4e0ebd9dea8c376f22e1ca3d5c241e7767279b new file mode 100644 index 0000000..79d86a1 --- /dev/null +++ b/Gateways/FE/projects/.resources/91b78f6b21094299d1eff01e8f4e0ebd9dea8c376f22e1ca3d5c241e7767279b @@ -0,0 +1,18 @@ +def GenerateCompleteReport(startDate, endDate, location): + +# reports = ["MBR/0-Cover", "MBR/1-Total Power", "MBR/2-CriticalPower", "MBR/3-Cooling", "MBR/4-Generators"] +# reportBytes = [] +# for report in reports: +# repParams= {"StartDate":startDate, "EndDate":endDate, "location":location} +# print report +# try: +# bytes = system.report.executeReport(path=report, parameters=repParams, fileType="pdf") +# except: +# bytes= system.report.executeReport(path=report,project=system.util.getProjectName(), parameters=repParams, fileType="pdf") +# +# reportBytes.append(bytes) +# +# return system.artek.mergeMultiPDF(reportBytes) + + return null + \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/91dc4f0231884b29570e0a1aac0aea58bedbba9b5be2dbfa63c92b15362bb3cd b/Gateways/FE/projects/.resources/91dc4f0231884b29570e0a1aac0aea58bedbba9b5be2dbfa63c92b15362bb3cd new file mode 100644 index 0000000..bcb3d9f --- /dev/null +++ b/Gateways/FE/projects/.resources/91dc4f0231884b29570e0a1aac0aea58bedbba9b5be2dbfa63c92b15362bb3cd @@ -0,0 +1,2762 @@ +{ + "custom": { + "DH": 4, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_SATB1_IO4_default]", + "in1": true, + "in2": true, + "lineup": 2, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5 or value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telse:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P4.2", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "custom.ut_energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-2/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "this.custom.ut_energized" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO4_default]ER1255/SATB1_ER1255_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/91effe4b5cd0b94ba428c6fc9550349d7e0a5c1acd35186e0b05bd0a97f686d8 b/Gateways/FE/projects/.resources/91effe4b5cd0b94ba428c6fc9550349d7e0a5c1acd35186e0b05bd0a97f686d8 new file mode 100644 index 0000000..83b5a1d --- /dev/null +++ b/Gateways/FE/projects/.resources/91effe4b5cd0b94ba428c6fc9550349d7e0a5c1acd35186e0b05bd0a97f686d8 @@ -0,0 +1,1152 @@ +{ + "custom": { + "MNumber": "M2", + "room": "MPR1240" + }, + "params": { + "pageId": "value" + }, + "propConfig": { + "custom.MNumber": { + "persistent": true + }, + "custom.room": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable" + }, + "position": { + "height": 990, + "width": 1250, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M1_to_UT-M2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M2_to_UT-M3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "UT-M1", + "right": "UT-M3" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M1.2", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 241, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 56, + "y": 235 + }, + "propConfig": { + "custom.MNumber": { + "binding": { + "config": { + "path": "view.custom.MNumber" + }, + "type": "property" + } + }, + "custom.room": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "type": "property" + } + }, + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M2", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 1, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 419, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD08" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 479, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD13" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_1" + }, + "position": { + "height": 255, + "width": 70, + "x": 539, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD14" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH07", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH08", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH09", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH10", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH11", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH12", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 424, + "y": 532.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 244, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -295, + "y": 91 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/92022d1ee7e2fdd2765a836d9d3e7c487c8ee6a9ae15e75abd90e5a4353b68f6 b/Gateways/FE/projects/.resources/92022d1ee7e2fdd2765a836d9d3e7c487c8ee6a9ae15e75abd90e5a4353b68f6 new file mode 100644 index 0000000..63f0f94 Binary files /dev/null and b/Gateways/FE/projects/.resources/92022d1ee7e2fdd2765a836d9d3e7c487c8ee6a9ae15e75abd90e5a4353b68f6 differ diff --git a/Gateways/FE/projects/.resources/9209004629f015c277f16a824da2cbe641f1036bcdf0e59643828be60b25451a b/Gateways/FE/projects/.resources/9209004629f015c277f16a824da2cbe641f1036bcdf0e59643828be60b25451a new file mode 100644 index 0000000..0bca818 Binary files /dev/null and b/Gateways/FE/projects/.resources/9209004629f015c277f16a824da2cbe641f1036bcdf0e59643828be60b25451a differ diff --git a/Gateways/FE/projects/.resources/927db9237d452804419cce0e27641e82eff979f226905a4c30f43e665f8efc91 b/Gateways/FE/projects/.resources/927db9237d452804419cce0e27641e82eff979f226905a4c30f43e665f8efc91 new file mode 100644 index 0000000..c8bb850 --- /dev/null +++ b/Gateways/FE/projects/.resources/927db9237d452804419cce0e27641e82eff979f226905a4c30f43e665f8efc91 @@ -0,0 +1,330 @@ +{ + "custom": { + "AlarmSeverity": 2, + "color": "Red" + }, + "params": { + "objectName": "VSD", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_HF" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.color": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"Red\"\n\treturn \"Black\"", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 66, + "width": 48 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "1652620303816" + }, + "position": { + "height": 1, + "rotate": { + "anchor": "50% 37%" + }, + "width": 1 + }, + "propConfig": { + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "paint": "transparent" + }, + "height": "820.258", + "name": "rect", + "stroke": { + "width": "41.67px" + }, + "type": "rect", + "width": "820.258", + "x": "20.833", + "y": "20.833" + }, + { + "d": "M20.833,841.092l820.259,-820.259", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M480.421,629.619l275.556,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M480.421,738.987l275.556,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M226.688,1102.86l150.876,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M480.421,1102.86l150.876,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M631.297,841.092l0,261.765", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M226.688,841.092l-0,261.765", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M377.564,971.974l0,261.765", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M480.421,971.974l-0,261.765", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M108.413,180.726c30.798,-34.424 58.294,-68.741 88.196,-68.741c26.385,0 50.08,30.832 88.196,68.741c36.864,36.666 59.888,63.842 88.195,63.842c28.308,-0 57.398,-32.539 88.196,-63.842", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 862 1255" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/92938dac91053613da2f191f0b87670626f4582612291ade646f7cf18ad976bc b/Gateways/FE/projects/.resources/92938dac91053613da2f191f0b87670626f4582612291ade646f7cf18ad976bc new file mode 100644 index 0000000..493235c Binary files /dev/null and b/Gateways/FE/projects/.resources/92938dac91053613da2f191f0b87670626f4582612291ade646f7cf18ad976bc differ diff --git a/Gateways/FE/projects/.resources/930129269ccb5bf5ad24f85cc9871ed8181255acba4f718888b36ab70d212a0d b/Gateways/FE/projects/.resources/930129269ccb5bf5ad24f85cc9871ed8181255acba4f718888b36ab70d212a0d new file mode 100644 index 0000000..f7bd000 Binary files /dev/null and b/Gateways/FE/projects/.resources/930129269ccb5bf5ad24f85cc9871ed8181255acba4f718888b36ab70d212a0d differ diff --git a/Gateways/FE/projects/.resources/9367cbfea505c59fc1460d94f7634badb332366b9f781e12e3518fd0c45cc61a b/Gateways/FE/projects/.resources/9367cbfea505c59fc1460d94f7634badb332366b9f781e12e3518fd0c45cc61a new file mode 100644 index 0000000..08bbc39 Binary files /dev/null and b/Gateways/FE/projects/.resources/9367cbfea505c59fc1460d94f7634badb332366b9f781e12e3518fd0c45cc61a differ diff --git a/Gateways/FE/projects/.resources/936dc259f70c1c6c73c595247663d837c86e22167644f757e59fa0014bf6549a b/Gateways/FE/projects/.resources/936dc259f70c1c6c73c595247663d837c86e22167644f757e59fa0014bf6549a new file mode 100644 index 0000000..d488f32 Binary files /dev/null and b/Gateways/FE/projects/.resources/936dc259f70c1c6c73c595247663d837c86e22167644f757e59fa0014bf6549a differ diff --git a/Gateways/FE/projects/.resources/93c58520780da1292a5920b20e4145d8045614fa9fbba6d2859e7c3047991b5a b/Gateways/FE/projects/.resources/93c58520780da1292a5920b20e4145d8045614fa9fbba6d2859e7c3047991b5a new file mode 100644 index 0000000..1165de4 --- /dev/null +++ b/Gateways/FE/projects/.resources/93c58520780da1292a5920b20e4145d8045614fa9fbba6d2859e7c3047991b5a @@ -0,0 +1,726 @@ +{ + "custom": {}, + "params": { + "objectName": "UPS", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1165_P5-5/SATB1_ER1165_UPS-1" + }, + "propConfig": { + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 104, + "width": 292 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 10, + "width": 134, + "x": 130.08, + "y": 21.67 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:\u0027Operating On Battery\u0027})[0][\u0027value\u0027].value \u003d\u003d True:\n\t\tstate \u003d \u0027On Battery\u0027\n\telse:\n\t\tstate \u003d \u0027Charging\u0027\n\tif value[\u0027alarmSeverity\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" + }, + "position": { + "height": 10, + "width": 133, + "x": 130.08, + "y": 32.65 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\ttag \u003d system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:\u0027Operation Modes\u0027})[0][\u0027value\u0027].value\n\tif tag \u003d\u003d 1: #1\u003dNormal Operation\n\t\tstate \u003d \u0027Normal Operation\u0027\n\telif tag \u003d\u003d 2: #2\u003dBattery operation\n\t\tstate \u003d \u0027Battery operation\u0027\n\telif tag \u003d\u003d 3: #3\u003dBattery Test\n\t\tstate \u003d \u0027Battery Test\u0027\n\telif tag \u003d\u003d 4: #4\u003dRequested Static Bypass\n\t\tstate \u003d \u0027Req Static Byp\u0027\n\telif tag \u003d\u003d 5: #5\u003dForced Static Bypass\n\t\tstate \u003d \u0027Forced Static Byp\u0027\n\telif tag \u003d\u003d 6: #6\u003d Maintenance Bypass\n\t\tstate \u003d \u0027Maintenance Byp\u0027\n\telif tag \u003d\u003d 7: ##7\u003dOff\n\t\tstate \u003d \u0027Off\u0027\n\telif tag \u003d\u003d 8: #8\u003d Emergency StaticBypass\n\t\tstate \u003d \u0027Emergency Byp\u0027\n\telif tag \u003d\u003d 9: #9\u003dStatic Bypass Standby\n\t\tstate \u003d \u0027RStatic Byp Stdby\u0027\n\telif tag \u003d\u003d 10: #10\u003dInverter Standby\n\t\tstate \u003d \u0027Inverter Stdby\u0027\n\telif tag \u003d\u003d 11: #11\u003dPower Saving Mode\n\t\tstate \u003d \u0027Power Saving Mode\u0027\n\telif tag \u003d\u003d 12: #12\u003dInverter SPoT Mode\n\t\tstate \u003d \u0027Inverter SPoT Mode\u0027\n\telif tag \u003d\u003d 13: #13\u003dEco Mode\n\t\tstate \u003d \u0027Eco Mode\u0027\n\telif tag \u003d\u003d 14: #14\u003dECOnversion\n\t\tstate \u003d \u0027ECOnversion\u0027\n\telse:\n\t\tstate \u003d \u0027No mode received\u0027\n\treturn \u0027Mode: \u0027+state\n\n", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 10, + "width": 131, + "x": 130.08, + "y": 43.65 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\u0027Batt Charge Pct\u0027", + "engUnits": "\u0027%\u0027", + "tagName": "\u0027Battery Charge Percent\u0027", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "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": { + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 10, + "width": 183, + "x": 130.08, + "y": 54.65 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\u0027Battery runtime\u0027", + "engUnits": "\u0027Hr\u0027", + "tagName": "\u0027Battery runtime\u0027", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "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": { + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 10, + "width": 176, + "x": 130.08, + "y": 65.65 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\"Battery Voltage\"", + "engUnits": "\"V\"", + "tagName": "\"Battery Voltage\"", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "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]\n", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4", + "visible": false + }, + "position": { + "height": 10, + "width": 129.76, + "x": 130.08, + "y": 76.65 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\u0027Input power\u0027", + "engUnits": "\u0027kW\u0027", + "tagName": "\u0027Input KW\u0027", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "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": { + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 11, + "width": 137, + "x": 130.08, + "y": 87.65 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\u0027Input Freq\u0027", + "engUnits": "\u0027Hz\u0027", + "tagName": "\u0027Input Frequency\u0027", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "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": { + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 8.63, + "width": 88, + "x": 37.75, + "y": 6.37 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "tagPath": "tag({view.params.tagPath}+\u0027/Parameters.DeviceLabel\u0027)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value[\u0027tagPath\u0027]\n", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "textStyle": { + "backgroundColor": "transparent", + "fontSize": 10, + "fontWeight": 650, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "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": { + "height": 78, + "width": 124, + "x": 6.348125, + "y": 21.99625 + }, + "propConfig": { + "custom.colorHandler.Background": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027alarmSeverity\u0027] \u003c 0:\n\t\tColor \u003d \u0027Red\u0027\n\telif system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:\u0027Operating On Battery\u0027})[0][\u0027value\u0027].value \u003d\u003d True:\n\t\tColor \u003d \u0027White\u0027\n\telse :\n\t\tColor \u003d \u0027Lightgray\u0027\n\treturn Color\n", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.Battery": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:\u0027Operating On Battery\u0027})[0][\u0027value\u0027].value \u003d\u003d True:\n\t\tColor \u003d \u0027#00FF00\u0027\n\telse:\n\t\tColor \u003d \u0027Light Gray\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[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Battery" + }, + "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" + }, + "transform": "translate(30.862135,-0.000000)", + "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" + }, + "transform": "translate(0.000000,28.533245)", + "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" + }, + "transform": "matrix(0.000000,-1.000000,1.000000,0.000000,21.443090,147.049433)", + "type": "path" + } + ], + "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" + } + ], + "viewBox": "0 0 1132 804" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -116, + "y": -133.63750076293945 + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/93cebc0707f637ce7bcd370cfc58f150fb1586d3b34bd6b63b9353daed804954 b/Gateways/FE/projects/.resources/93cebc0707f637ce7bcd370cfc58f150fb1586d3b34bd6b63b9353daed804954 new file mode 100644 index 0000000..7cd193d --- /dev/null +++ b/Gateways/FE/projects/.resources/93cebc0707f637ce7bcd370cfc58f150fb1586d3b34bd6b63b9353daed804954 @@ -0,0 +1,5 @@ + +def open_popup(): + system.perspective.openPopup("maintNotification", "Delete ME/xychart") + +system.util.invokeLater(open_popup,5000) # Schedule popup to open after 5000 milliseconds (5 seconds) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/94f816b10d0b2756752b0173f6fcd5bad13335cd88cdf96f8be5d0dc1c5c7409 b/Gateways/FE/projects/.resources/94f816b10d0b2756752b0173f6fcd5bad13335cd88cdf96f8be5d0dc1c5c7409 new file mode 100644 index 0000000..72f2932 Binary files /dev/null and b/Gateways/FE/projects/.resources/94f816b10d0b2756752b0173f6fcd5bad13335cd88cdf96f8be5d0dc1c5c7409 differ diff --git a/Gateways/FE/projects/.resources/953fdb689cdec0e91275c82e1af223fb79b6219d663fcd48d08cdc5c7bf13226 b/Gateways/FE/projects/.resources/953fdb689cdec0e91275c82e1af223fb79b6219d663fcd48d08cdc5c7bf13226 new file mode 100644 index 0000000..e8ddaee --- /dev/null +++ b/Gateways/FE/projects/.resources/953fdb689cdec0e91275c82e1af223fb79b6219d663fcd48d08cdc5c7bf13226 @@ -0,0 +1,4356 @@ +{ + "custom": { + "Available": [ + "SATB1_RF_DOAS01", + "SATB1_RF_DOAS02", + "SATB1_RF_DOAS03" + ], + "ColorHandler": { + "Walls": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "DOAS01": "#BAEDFF", + "DOAS02": "#BAEDFF", + "DOAS03": "#BAEDFF" + }, + "selected": "SATB1_RF_RTU00" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tshortName \u003d room.split(\"_\")\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\tsroom \u003d shortName[2]\n\t\toutput[sroom] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Second Floor" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[4].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[4].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[4].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[128].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[129].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[130].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[131].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[132].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[133].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[134].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[135].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[136].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[137].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[138].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[139].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[140].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[141].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[142].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[143].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[144].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "51.095", + "id": "_1284-ELEC", + "name": "_1284-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.57" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "159", + "id": "_1285-FIRE---PLBG", + "name": "_1285-FIRE---PLBG", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "459" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.959", + "id": "_1286-STREAM-IDF", + "name": "_1286-STREAM-IDF", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "48.401", + "id": "_1287-ELEC", + "name": "_1287-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "715.959" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "413.89", + "id": "_1288-ANCILLARY-SPACE", + "name": "_1288-ANCILLARY-SPACE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "764.36" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "74.162", + "id": "_1290-STAIRS-C", + "name": "_1290-STAIRS-C", + "type": "rect", + "width": "203.609", + "x": "1515.79", + "y": "1178.24" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.034", + "id": "_1298-STAIRS-B", + "name": "_1298-STAIRS-B", + "type": "rect", + "width": "203.488", + "x": "3802.63", + "y": "1178.22" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "204.973", + "id": "_1283-STAIRS-D", + "name": "_1283-STAIRS-D", + "type": "rect", + "width": "85", + "x": "3.128", + "y": "359.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-2-CORRIDOR-D-2", + "name": "_1293-2-CORRIDOR-D-2", + "type": "rect", + "width": 1403, + "x": "88.378", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297-2-CORRIDOR-H-2", + "name": "_1297-2-CORRIDOR-H-2", + "type": "rect", + "width": 1406.5, + "x": 1490, + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-CORRIDOR-D-1", + "name": "_1293-CORRIDOR-D-1", + "type": "rect", + "width": 1406.5, + "x": 1490, + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.652", + "id": "_1297-1-CORRIDOR-H-1", + "name": "_1297-1-CORRIDOR-H-1", + "type": "rect", + "width": 1480, + "x": 2895, + "y": "1134.59" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-1-CORRIDOR-C-1", + "name": "_1293-1-CORRIDOR-C-1", + "type": "rect", + "width": 1480, + "x": 2895, + "y": "170.5" + }, + { + "d": "M2894.63,1135l165.5,0l0,-119.139l-89.5,0.035l2.66,-626.222l86.84,-0.439l0,-46.294l-84.5,0.05l0.136,-107.491l-81.136,-0l0,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1294-CORRIDOR-E", + "name": "_1294-CORRIDOR-E", + "type": "path" + }, + { + "d": "M183.628,1135l63.25,0l0,-792.225l-84.75,0l0,-107.275l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1296-CORRIDOR-G", + "name": "_1296-CORRIDOR-G", + "type": "path" + }, + { + "d": "M4372.13,641.334l0,94.166l105.352,0l-0,-27.647l107.148,-0l0,-66.519l-99.279,0.357l0.16,-34.158l-74.688,-0.533l-0,34.334l-38.693,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1290-CORRIDOR-A", + "name": "_1290-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.084", + "id": "_1291-CORRIDOR-B", + "name": "_1291-CORRIDOR-B", + "type": "rect", + "width": "64.5", + "x": "4307.63", + "y": "235.5" + }, + { + "d": "M1488.64,1135l164.992,0l0,-120.965l-89.5,0l0,-626.5l89.5,0l0,-44.535l-84.25,-0.059l-0.189,-107.441l-80.561,-0l0.008,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1295-CORRIDOR-F", + "name": "_1295-CORRIDOR-F", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297--1-CORRIDOR-H-1", + "name": "_1297--1-CORRIDOR-H-1", + "type": "rect", + "width": 1305, + "x": "184.128", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1223-STAIRS-A", + "name": "_1223-STAIRS-A", + "type": "rect", + "width": "58.258", + "x": "4477.13", + "y": "707.853" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "50", + "x": "4373.13", + "y": "735.5" + } + ], + "id": "Corridors-and-Stairs", + "name": "Corridors-and-Stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.24", + "id": "_1274-STREAM-IDF", + "name": "_1274-STREAM-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "948.76" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "561.225", + "id": "_1273-TENANT-IDF", + "name": "_1273-TENANT-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "387.535" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1271-GALLERY", + "name": "_1271-GALLERY", + "type": "rect", + "width": "1325.56", + "x": "1569.06", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1272-GALLERY", + "name": "_1272-GALLERY", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.245", + "id": "_1270-DATA-HALL-2", + "name": "_1270-DATA-HALL-2", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "342.941" + } + ], + "id": "DH2", + "name": "DH2", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "66.58", + "id": "_1264-STREAM-IDF", + "name": "_1264-STREAM-IDF", + "type": "rect", + "width": "88.5", + "x": "2971.13", + "y": "389.603" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "559.317", + "id": "_1263-TENANT-IDF", + "name": "_1263-TENANT-IDF", + "type": "rect", + "width": "89", + "x": "2971.13", + "y": 456.183 + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1261-GALLERY", + "name": "_1261-GALLERY", + "type": "rect", + "width": "1331.87", + "x": "2975.76", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1262-GALLERY-", + "name": "_1262-GALLERY-", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1260-DATAHALL---1", + "name": "_1260-DATAHALL---1", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "342.775" + } + ], + "id": "DH1", + "name": "DH1", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1257-ER", + "name": "_1257-ER", + "type": "rect", + "width": "231.631", + "x": "329.128", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1258-ER", + "name": "_1258-ER", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1256-ER", + "name": "_1256-ER", + "type": "rect", + "width": "232.369", + "x": "560.759", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.5", + "id": "_1255-ER", + "name": "_1255-ER", + "type": "rect", + "width": "231.771", + "x": "793.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1254-ER", + "name": "_1254-ER", + "type": "rect", + "width": "233.733", + "x": "1024.9", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1253-MEP-ROOM", + "name": "_1253-MEP-ROOM", + "type": "rect", + "width": "237.71", + "x": "1258.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1252-ER", + "name": "_1252-ER", + "type": "rect", + "width": "238.786", + "x": "1496.34", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1251-ER", + "name": "_1251-ER", + "type": "rect", + "width": "232.058", + "x": "1735.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1250-ER", + "name": "_1250-ER", + "type": "rect", + "width": "232.442", + "x": "1967.19", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1249-ER", + "name": "_1249-ER", + "type": "rect", + "width": "232.5", + "x": "2199.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1248-ER", + "name": "_1248-ER", + "type": "rect", + "width": "231.642", + "x": "2432.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1247-ER", + "name": "_1247-ER", + "type": "rect", + "width": "239.226", + "x": "2663.77", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1246-ER", + "name": "_1246-ER", + "type": "rect", + "width": "238.331", + "x": "2903", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1245-ER", + "name": "_1245-ER", + "type": "rect", + "width": "232.897", + "x": "3141.33", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1244-ER", + "name": "_1244-ER", + "type": "rect", + "width": "231.5", + "x": "3374.22", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1243-ER", + "name": "_1243-ER", + "type": "rect", + "width": "231.5", + "x": "3606.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1242-ER", + "name": "_1242-ER", + "type": "rect", + "width": "231.5", + "x": "3838.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1241-MECH-POWER", + "name": "_1241-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4070.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1240-MECH-POWER", + "name": "_1240-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4301.63", + "y": "0.345" + } + ], + "id": "Elec-Mech-Rooms", + "name": "Elec-Mech-Rooms", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1218-STREAM-IDF", + "name": "_1218-STREAM-IDF", + "type": "rect", + "width": "90.036", + "x": "4372.13", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1179-Space", + "name": "_1179-Space", + "type": "rect", + "width": "61.464", + "x": "4462.16", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "116", + "id": "_1229-ELEC", + "name": "_1229-ELEC", + "type": "rect", + "width": "62", + "x": "4372.13", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1230-FREIGHT", + "name": "_1230-FREIGHT", + "type": "rect", + "width": "101", + "x": "4434.13", + "y": "815.754" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "91.008", + "id": "_132-PLBG-FP", + "name": "_132-PLBG-FP", + "type": "rect", + "width": "132", + "x": "4372.13", + "y": "1087.08" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "74.548", + "id": "_1292-VESTIBULE", + "name": "_1292-VESTIBULE", + "type": "rect", + "width": "217.056", + "x": "4419.07", + "y": "933" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1232-FREIGHT", + "name": "_1232-FREIGHT", + "type": "rect", + "width": "101", + "x": "4535.13", + "y": "816.127" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "_1225-PASS", + "name": "_1225-PASS", + "type": "rect", + "width": "54", + "x": "4423.13", + "y": "735.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1219-DAS", + "name": "_1219-DAS", + "type": "rect", + "width": "49.241", + "x": "4535.39", + "y": "707.853" + }, + { + "d": "M4372.43,468.5l-0.3,173.191l38.714,0.309l0.316,-35.019l37.175,-0l0,-138.481l-75.905,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1222-WRR", + "name": "_1222-WRR", + "type": "path" + }, + { + "d": "M4372.13,1087.5l0,-154.225l46.944,-0.275l0,74.548l85.056,0l0,79.952l-132,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1233-RECEIVING", + "name": "_1233-RECEIVING", + "type": "path" + }, + { + "d": "M4523.33,468.5l0.297,173.191l-38.252,0.309l0.132,-34.62l-37.176,-0.399l0,-138.481l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1221-MRR", + "name": "_1221-MRR", + "type": "path" + }, + { + "d": "M4372.13,170.944l161.521,-0.409l-0,-170.19l241.055,0l-0.026,417.527l33.233,0.171l-0,368.658l-33.257,-0.446l-0.026,393.745l-270.392,-1.913l0.071,-169.285l131.771,1.464l0,-192.326l-51.45,-3.725l0,-174.843l-60.43,-0.041l-1.014,-234.56l-151.056,-2.093l0,-231.734Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1200-TENANT-OFFICE-SHELL", + "name": "_1200-TENANT-OFFICE-SHELL", + "type": "path" + } + ], + "id": "Offices", + "name": "Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1281-GALLERY", + "name": "_1281-GALLERY", + "type": "rect", + "width": "1326.5", + "x": "162.128", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1282-GALLERY", + "name": "_1282-GALLERY", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1280-DATA-HALL-4", + "name": "_1280-DATA-HALL-4", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "342.775" + } + ], + "id": "DH4", + "name": "DH4", + "type": "group" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,368.223l-33.283,0l0,391.5l-787.5,0.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3967.13,1178.09l-2264.08,0.15", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1680.63,1178.24l-157,0.01", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4129.13,170.306l133,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,978.886l0,36.649l-88.5,0l0,-626.3l4.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3014.13,389.235l45.5,-0l0,100.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,527.535l0,413", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2971.13,456.183l88.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4317.63,170.306l-35.5,-0.021l20.397,0.021l-0,-169.961l-1399.13,0l0.04,170.19", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-41,0l20.835,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3586.39,170.5l40.213,-0l-20.874,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3565.92,170.5l-153.279,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3374.13,0.035l-0.25,170.465l19.081,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,90.184", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,24.301l0,-97.908", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,956.535l0,220.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.7,1130l-0,5l1247.92,0l0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1091.5l0,-32.5l0,4.798l-1247.92,-0l-0,-4.798l-0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2975.76,279.882l-0,-44.382l1331.86,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,319.166l0,23.775l-1331.67,0l-0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,1021.17l0,-559.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,423.535l0,-36l-89.5,0l0,575l0,-13.648l89.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1564.13,974.035l0,40l89.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1017.79l0,-633.291", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1020l0,-677.059", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M184.128,918.535l0,-159l0,5l-96,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4533.65,0.345l-0,170.19l-176.861,0l15.34,0l0,109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,298.432l0,109.5l0,-5.038l151.68,0l-0,238.345l-38.283,-0l0,-4.417l0,4.417l99.103,-0l0,4.785", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4584.63,667.425l0,149.11l51.45,0l0,136.168l0,-20.246l-8.65,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.08,972.948l0,34.587l-145.952,0l13.62,0l0,170.552", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1178.09l0,-22.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1117.98l0,-50.944l0,20.024l131.228,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1010.86l0,-37.914", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4433.13,1007.78l-14,0l0,-34.837", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.38,953.035l0.14,-25.363l0,5.363l71.412,0l-9.032,0l-0.439,-116.588l-11.395,-0.077l-0.116,-80.663l-19.82,0l36.569,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4381.72,735.785l-9.343,-0.25l0,172l0,-91.03l212.25,-0.24", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4476.97,817.035l0.655,-81.5l-10.409,0l10.409,0l0,-27.682l4.315,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4502.13,707.853l57.115,-0l-23.559,-0l0,225.182l-9.557,0l15.999,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.13,953.035l0,-20", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4410.88,637.035l-0,4.656l-38.448,0l0,-213.533", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,468.395l151.811,-0.471", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4461.67,468.395l-0.188,-64.361", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4448.33,467.924l-0.495,139.076l37.671,0.035l-0,9.778l-0,-9.778l-74.351,0l0,9.873", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Second-Floor-Walls", + "name": "Second-Floor-Walls", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMinYMin", + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4809 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS03", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 104, + "width": 124, + "x": 9, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent", + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS02", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 104, + "width": 124, + "x": 134, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS01", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 105, + "width": 146, + "x": 259 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_02_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/95852a419f818fb35b8465deabad0bdf0f673565fc97e12340b87d383ca89767 b/Gateways/FE/projects/.resources/95852a419f818fb35b8465deabad0bdf0f673565fc97e12340b87d383ca89767 new file mode 100644 index 0000000..d541c37 --- /dev/null +++ b/Gateways/FE/projects/.resources/95852a419f818fb35b8465deabad0bdf0f673565fc97e12340b87d383ca89767 @@ -0,0 +1,430 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "params": { + "embedded": false, + "objectName": "DiscreteIn" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/95c88f9bfcc05206a784f1dbc4c8aa2c7e8b5994205d845b37b4cb71e705fcb2 b/Gateways/FE/projects/.resources/95c88f9bfcc05206a784f1dbc4c8aa2c7e8b5994205d845b37b4cb71e705fcb2 new file mode 100644 index 0000000..5dd2cf4 --- /dev/null +++ b/Gateways/FE/projects/.resources/95c88f9bfcc05206a784f1dbc4c8aa2c7e8b5994205d845b37b4cb71e705fcb2 @@ -0,0 +1,314 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": true + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 107, + "width": 60 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DS SW" + }, + "position": { + "height": 107, + "width": 60 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "37.5", + "x": "0", + "y": "12.722" + }, + { + "d": "M0,16.74l0,-4.018l4.464,0l0,0.75l-3.714,0l-0,3.268l-0.75,0Zm10.714,-4.018l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm12.5,0l0,0.75l-8.928,0l-0,-0.75l8.928,0Zm6.25,0l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm8.036,4.018l-0.75,0l0,-3.268l-3.714,0l-0,-0.75l4.464,0l-0,4.018Zm-0,5.625l-0.75,-0l0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,0l0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,0l0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l0,-2.411l0.75,0l-0,2.411Zm-4.464,7.232l-0,-0.75l3.714,0l0,-3.268l0.75,0l-0,4.018l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-12.5,0l-0,-0.75l8.928,0l0,0.75l-8.928,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-4.018l0.75,0l-0,3.268l3.714,0l0,0.75l-4.464,0l-0,-4.018Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "cx": "18.75", + "cy": "34.282", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,33.157c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M18.718,45.339l1.717,-12.634", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M18.75,45.339l5.263,-11.613", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + } + ], + "id": "SW", + "name": "SW", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,27.7348,2.98258)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "TX", + "type": "text", + "x": "22.41px", + "y": "2.983px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,43.9661,6.78345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UPS-HS1-7", + "type": "text", + "x": "22.201px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,35.8362,10.5334)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "DS SW", + "type": "text", + "x": "22.179px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 45 81" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/95d6599e64ec3f2289bd14b464c4be75f19f0c6e13092b23b93ae4f05d0eef92 b/Gateways/FE/projects/.resources/95d6599e64ec3f2289bd14b464c4be75f19f0c6e13092b23b93ae4f05d0eef92 new file mode 100644 index 0000000..7d050ca --- /dev/null +++ b/Gateways/FE/projects/.resources/95d6599e64ec3f2289bd14b464c4be75f19f0c6e13092b23b93ae4f05d0eef92 @@ -0,0 +1,1351 @@ +{ + "custom": {}, + "params": { + "inText": "# Markdown Editor\n\nUse the buttons above to build your markdown", + "outText": "# Markdown Editor\n\nUse the buttons above to build your markdown" + }, + "propConfig": { + "params.inText": { + "paramDirection": "input", + "persistent": true + }, + "params.outText": { + "paramDirection": "output", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 853, + "width": 1045 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/format_bold", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "**Text**" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Bold" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/format_italic", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "*Text*" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Italic" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/format_strikethrough", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "~~Text~~" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Strikethrough" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/title", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "# Heading" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Heading" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Spacer" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "#CCCCCC", + "marginBottom": "4px", + "marginLeft": "4px", + "marginRight": "8px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/format_quote", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "\u003e Quote \n" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Quote" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/format_list_bulleted", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "* Item 1\n* Item 2" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Bullet List" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/format_list_numbered", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "1. Item 1\n2. Item 2" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Number List" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Spacer_0" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "#CCCCCC", + "marginLeft": "4px", + "marginRight": "8px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/insert_link", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "[Link](http://www,inductiveautomation.com)" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Link" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/insert_photo", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "![Image](https://inductiveautomation.com/static/images/logos/inductive-automation-logo.png)" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Image" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Spacer_1" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "#CCCCCC", + "marginBottom": "4px", + "marginLeft": "4px", + "marginRight": "8px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/drag_handle", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "------------" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Horizontal Rule" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/border_all", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "| Column 1 | Column 2 |\n| ------------ | ------------ |\n| Row 1 1 | Row 1 2 |\n| Row 2 1 | Row 2 2 |" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/code", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "`Code`" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Code" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Spacer_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "#CCCCCC", + "marginBottom": "4px", + "marginLeft": "4px", + "marginRight": "8px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/remove_red_eye", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tvalue \u003d not self.custom.selected\n\tself.custom.selected \u003d value\n\t\n\tif not value:\n\t\tself.getSibling(\"Split\").custom.selected \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Preview" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "custom.selected": { + "binding": { + "config": { + "expression": "true" + }, + "type": "expr" + } + }, + "props.style.classes": { + "binding": { + "config": { + "path": "this.custom.selected" + }, + "transforms": [ + { + "fallback": "Markdown/Button", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Markdown/Button" + }, + { + "input": true, + "output": "Markdown/Button_Selected" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/border_vertical", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.selected \u003d not self.custom.selected" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Split" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "custom.selected": { + "binding": { + "config": { + "expression": "true" + }, + "type": "expr" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "{../Preview.custom.selected}" + }, + "type": "expr" + } + }, + "props.style.classes": { + "binding": { + "config": { + "path": "this.custom.selected" + }, + "transforms": [ + { + "fallback": "Markdown/Button", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Markdown/Button" + }, + { + "input": true, + "output": "Markdown/Button_Selected" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/clear", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").clearEditor()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Clear" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Markdown/Actions", + "padding": "8px" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TextArea" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.inText" + }, + "type": "property" + }, + "onChange": { + "enabled": null, + "script": "\tself.view.params.outText \u003d currentValue.value" + } + } + }, + "props": { + "deferUpdates": false, + "rejectUpdatesWhileFocused": false, + "style": { + "borderStyle": "none", + "fontSize": "18px" + } + }, + "type": "ia.input.text-area" + } + ], + "meta": { + "name": "Editor" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Actions/Split.custom.selected} || !{.../Actions/Preview.custom.selected}" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "margin": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Spacer" + }, + "position": { + "basis": "1px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Actions/Split.custom.selected}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#CCCCCC" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Markdown" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Actions/Split.custom.selected} || {.../Actions/Preview.custom.selected}" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "path": "../Editor/TextArea.props.text" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderStyle": "none", + "margin": "10px" + } + }, + "type": "ia.display.markdown" + } + ], + "meta": { + "name": "Editor" + }, + "position": { + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Markdown/Editor" + } + }, + "scripts": { + "customMethods": [ + { + "name": "updateEditor", + "params": [ + "text" + ], + "script": "\tif self.getChild(\"Editor\").getChild(\"Editor\").getChild(\"TextArea\").props.text \u003d\u003d \"\":\n\t\tnewText \u003d text\n\telse:\n\t\tnewText \u003d \" \\n%s\" % text\n\tself.getChild(\"Editor\").getChild(\"Editor\").getChild(\"TextArea\").props.text +\u003d newText" + }, + { + "name": "clearEditor", + "params": [], + "script": "\tself.getChild(\"Editor\").getChild(\"Editor\").getChild(\"TextArea\").props.text \u003d \"\"" + } + ], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "refreshEditor", + "pageScope": true, + "script": "\tself.getChild(\"Editor\").getChild(\"Editor\").getChild(\"TextArea\").refreshBinding(\"props.text\")", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/96217a5c87e990addced695be54e8ea35c20d7c5600963864c61b639723f42d9 b/Gateways/FE/projects/.resources/96217a5c87e990addced695be54e8ea35c20d7c5600963864c61b639723f42d9 new file mode 100644 index 0000000..1f00f9e --- /dev/null +++ b/Gateways/FE/projects/.resources/96217a5c87e990addced695be54e8ea35c20d7c5600963864c61b639723f42d9 @@ -0,0 +1,428 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/VAV" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/962376ef91001203c569e46012c9889cbba2bb9f4813797fa54ef76242c05217 b/Gateways/FE/projects/.resources/962376ef91001203c569e46012c9889cbba2bb9f4813797fa54ef76242c05217 new file mode 100644 index 0000000..a04edbb Binary files /dev/null and b/Gateways/FE/projects/.resources/962376ef91001203c569e46012c9889cbba2bb9f4813797fa54ef76242c05217 differ diff --git a/Gateways/FE/projects/.resources/96350d8d86c025ea8b717502945d5013ed7cf254d1e86e864d0f30826b0378dc b/Gateways/FE/projects/.resources/96350d8d86c025ea8b717502945d5013ed7cf254d1e86e864d0f30826b0378dc new file mode 100644 index 0000000..1f46e3c Binary files /dev/null and b/Gateways/FE/projects/.resources/96350d8d86c025ea8b717502945d5013ed7cf254d1e86e864d0f30826b0378dc differ diff --git a/Gateways/FE/projects/.resources/9651a5e36d8e50da032686005530fa17cc8587977abef2949ddce45080618b58 b/Gateways/FE/projects/.resources/9651a5e36d8e50da032686005530fa17cc8587977abef2949ddce45080618b58 new file mode 100644 index 0000000..db758d0 --- /dev/null +++ b/Gateways/FE/projects/.resources/9651a5e36d8e50da032686005530fa17cc8587977abef2949ddce45080618b58 @@ -0,0 +1,359 @@ +{ + "custom": {}, + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tend \u003d system.date.now()\n\tstart \u003d system.date.addDays(end, -1)\n\tself.getChild(\"root\").getChild(\"AlarmJournalTable\").props.dateRange.historical.startDate \u003d start\n\tself.getChild(\"root\").getChild(\"AlarmJournalTable\").props.dateRange.historical.endDate \u003d end" + }, + "scope": "G", + "type": "script" + } + } + }, + "params": {}, + "props": { + "defaultSize": { + "height": 1163, + "width": 1290 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "80%", + "grow": 1 + }, + "props": { + "placeholder": "Use * for wildcard - e.g. *SomeTag/Alarm*" + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Source Filter" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "style": { + "paddingBottom": "10px", + "paddingLeft": "10px", + "paddingRight": "10px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "80%", + "grow": 1 + }, + "props": { + "placeholder": "Use * for wildcard - e.g. *CHWP\n*" + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Display Path Filter" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "style": { + "paddingBottom": "10px", + "paddingLeft": "10px", + "paddingRight": "10px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "AlarmJournalTable" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.filter.conditions.displayPath": { + "binding": { + "config": { + "path": "../Header/Display Path Filter/TextField.props.text" + }, + "type": "property" + } + }, + "props.filter.conditions.source": { + "binding": { + "config": { + "path": "../Header/Source Filter/TextField.props.text" + }, + "type": "property" + } + } + }, + "props": { + "columns": { + "displayPath": { + "enabled": true + }, + "eventId": { + "enabled": false + }, + "state": { + "enabled": true + } + }, + "dateRange": { + "historical": { + "endDate": { + "$": [ + "ts", + 192, + 1776346653933 + ], + "$ts": 1776346653931 + }, + "startDate": { + "$": [ + "ts", + 192, + 1776346653933 + ], + "$ts": 1776260253931 + } + }, + "realtime": { + "interval": 1 + } + }, + "filter": { + "conditions": {}, + "events": { + "acked": false, + "active": false, + "cleared": false + }, + "priorities": { + "critical": false, + "high": false, + "low": false, + "medium": false + } + }, + "pager": { + "initialOption": 100 + }, + "rowStyles": { + "acked": { + "base": { + "color": "#000000" + }, + "priorities": { + "critical": { + "backgroundColor": "#e2202888" + }, + "diagnostic": { + "backgroundColor": "#7166b788" + }, + "high": { + "backgroundColor": "#de7c3388" + }, + "low": { + "backgroundColor": "#7266b788" + }, + "medium": { + "backgroundColor": "#f4b83488" + } + } + }, + "active": { + "base": { + "color": "#000000" + }, + "priorities": { + "critical": { + "backgroundColor": "#ed1c24" + }, + "diagnostic": { + "backgroundColor": "#7166b7", + "color": "#FFFFFF" + }, + "high": { + "backgroundColor": "#de7c33" + }, + "low": { + "backgroundColor": "#7166b7", + "color": "#FFFFFF" + }, + "medium": { + "backgroundColor": "#f4b834" + } + } + }, + "cleared": { + "base": { + "color": "#FFFFFF" + }, + "priorities": { + "critical": { + "backgroundColor": "#2E5EAA" + }, + "diagnostic": { + "backgroundColor": "#FFFFFF" + }, + "high": { + "backgroundColor": "#507ABF" + }, + "low": { + "backgroundColor": "#A0BEEF" + }, + "medium": { + "backgroundColor": "#7198D6" + } + } + } + }, + "toolbar": { + "enableFilter": false, + "enableFilterResults": false, + "toggleableFilter": false + } + }, + "type": "ia.display.alarmjournaltable" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\t\n\tdateRange \u003d self.parent.parent.getChild(\"AlarmJournalTable\").props.dateRange\n\tif dateRange[\u0027mode\u0027] \u003d\u003d \u0027historical\u0027:\n\t\thist \u003d dateRange[\u0027historical\u0027]\n\t\tstartDate \u003d hist[\u0027startDate\u0027]\n\t\tendDate \u003d hist[\u0027endDate\u0027]\n\telse:\n\t\treal \u003d dateRange[\u0027realtime\u0027]\n\t\t\n\t\tendDate \u003d system.date.now()\n\t\tunit \u003d real[\u0027unit\u0027]\n\t\tinterval \u003d real[\u0027interval\u0027]\n\t\t\n\t\tif unit \u003d\u003d \"seconds\":\n\t\t\tstartDate \u003d system.date.addSeconds(endDate, -interval)\n\t\telif unit \u003d\u003d \"minutes\":\n\t\t\tstartDate \u003d system.date.addMinutes(endDate, -interval)\n\t\telif unit \u003d\u003d \"hours\":\n\t\t\tstartDate \u003d system.date.addHours(endDate, -interval)\n\t\telif unit \u003d\u003d \"days\":\n\t\t\tstartDate \u003d system.date.addDays(endDate, -interval)\n\t\telif unit \u003d\u003d \"weeks\":\n\t\t\tstartDate \u003d system.date.addWeeks(endDate, -interval)\n\t\telif unit \u003d\u003d \"months\":\n\t\t\tstartDate \u003d system.date.addMonths(endDate, -interval)\n\t\telif unit \u003d\u003d \"years\":\n\t\t\tstartDate \u003d system.date.addYears(endDate, -interval)\n\t\n\t\n\tfilter \u003d self.parent.parent.getChild(\"AlarmJournalTable\").props.filter\n\tpriority \u003d helper.util.true_keys(filter[\u0027priorities\u0027])\n\tevents \u003d helper.util.true_keys(filter[\u0027events\u0027])\n\tstate \u003d helper.util.parse_event_filter_to_query_states(events)\n\tsource \u003d filter[\u0027conditions\u0027][\u0027source\u0027]\n\tdisplayPath \u003d filter[\u0027conditions\u0027][\u0027displayPath\u0027]\n\t\n\n\talarms \u003d system.alarm.queryJournal(startDate \u003d startDate, endDate\u003dendDate, priority\u003dpriority, state\u003dstate, includeData\u003dTrue, source\u003dsource, displaypath\u003ddisplayPath)\n\t\n\theaders \u003d [\u0027eventTime\u0027, \u0027source\u0027, \u0027eventState\u0027, \u0027eventValue\u0027, \u0027displayPath\u0027, \u0027label\u0027, \u0027id\u0027]\n\trows \u003d []\n\t\n\tfor alarm in alarms:\n\t\trows.append([str(alarm[header]) for header in headers])\n\t\t\n\talarmData \u003d system.dataset.toDataSet(headers, rows)\n\tsummaryDS \u003d helper.journal.groupJournalByPathAndState(alarms)\n\t\n\texcelBytes \u003d system.dataset.toExcel(True, [alarmData, summaryDS], sheetNames\u003d[\"Journal\", \"Counts\"])\n\t# Trigger download on the client\n\tend_str \u003d system.date.format(endDate, \u0027yyMMddHHmmss\u0027)\n\tstart_str \u003d system.date.format(startDate, \u0027yyMMddHHmmss\u0027)\n\tfname \u003d \u0027_\u0027.join([\u0027AlarmHist\u0027,end_str, start_str,\u0027.xlsx\u0027])\n\t\n\tsystem.perspective.download(fname, excelBytes, \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\")\n\t\n\treturn\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "DirectExport" + }, + "position": { + "basis": "205px" + }, + "props": { + "style": { + "marginBottom": "10px", + "marginTop": "10px" + }, + "text": "Export Summary" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "58px" + }, + "props": { + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/96914f544bf96dc714424c1a7df0f48c6bb5437d39d8939dcc77b9d1cd606ce3 b/Gateways/FE/projects/.resources/96914f544bf96dc714424c1a7df0f48c6bb5437d39d8939dcc77b9d1cd606ce3 new file mode 100644 index 0000000..0e64675 --- /dev/null +++ b/Gateways/FE/projects/.resources/96914f544bf96dc714424c1a7df0f48c6bb5437d39d8939dcc77b9d1cd606ce3 @@ -0,0 +1,243 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 3\n\n" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/96af57138111c1cae7f55bd9432b967e068e5fa17e0c77f7f43246aa45344d1b b/Gateways/FE/projects/.resources/96af57138111c1cae7f55bd9432b967e068e5fa17e0c77f7f43246aa45344d1b new file mode 100644 index 0000000..9dcd6af Binary files /dev/null and b/Gateways/FE/projects/.resources/96af57138111c1cae7f55bd9432b967e068e5fa17e0c77f7f43246aa45344d1b differ diff --git a/Gateways/FE/projects/.resources/96ec484ad92ad546ba7a33640300b44896370184394506c3a54332a2c2b96518 b/Gateways/FE/projects/.resources/96ec484ad92ad546ba7a33640300b44896370184394506c3a54332a2c2b96518 new file mode 100644 index 0000000..2cc6f01 --- /dev/null +++ b/Gateways/FE/projects/.resources/96ec484ad92ad546ba7a33640300b44896370184394506c3a54332a2c2b96518 @@ -0,0 +1 @@ +{"base":{"style":{"cursor":"pointer","fill":"#59B1E8"}}} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9705c69290a9148a4cb06c4c2e5e8c0053a4061438934176ff2567d4a913db28 b/Gateways/FE/projects/.resources/9705c69290a9148a4cb06c4c2e5e8c0053a4061438934176ff2567d4a913db28 new file mode 100644 index 0000000..bf624a3 --- /dev/null +++ b/Gateways/FE/projects/.resources/9705c69290a9148a4cb06c4c2e5e8c0053a4061438934176ff2567d4a913db28 @@ -0,0 +1,372 @@ +{ + "custom": { + "AlarmSeverity": null, + "Running": null, + "Status": 0, + "alarm": null, + "mode": null, + "tag": null + }, + "params": { + "objectName": "VSD", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD07" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "struct": { + "alarm": "{view.custom.AlarmSeverity}", + "mode": "{view.custom.mode}", + "running": "{view.custom.Running}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027alarm\u0027]\u003e0:\n\t\treturn 2\n\telif value[\u0027mode\u0027] \u003d\u003d False:\n\t\treturn 3\n\telse:\n\t\tif value[\u0027running\u0027]:\n\t\t\treturn 1\n\t\telse:\n\t\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.alarm": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "expression": "if({value}\u003e0, True, False)", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 65 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + }, + { + "input": 3, + "output": "#9C6427" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.tag" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "Red", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + }, + { + "input": 3, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "visible", + "padding": "2px" + }, + "textStyle": { + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + }, + { + "input": 3, + "output": "#9C6427" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Speed Feedback Percent" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##.##", + "type": "format" + }, + { + "expression": "{value} + \" %\"", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "Red", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + }, + { + "input": 3, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "overflow": "visible", + "padding": "2px" + }, + "text": " %", + "textStyle": { + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + } + ], + "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": "root" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "marginLeft": 2, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/97330483dc23082ce19e922a4ef884eed0a2277babf9395bfe49c380173e4b9f b/Gateways/FE/projects/.resources/97330483dc23082ce19e922a4ef884eed0a2277babf9395bfe49c380173e4b9f new file mode 100644 index 0000000..2ed97f4 Binary files /dev/null and b/Gateways/FE/projects/.resources/97330483dc23082ce19e922a4ef884eed0a2277babf9395bfe49c380173e4b9f differ diff --git a/Gateways/FE/projects/.resources/9733fb40a19cff541497d222a7869dce983745521b0f458377c3fe03b4d7401d b/Gateways/FE/projects/.resources/9733fb40a19cff541497d222a7869dce983745521b0f458377c3fe03b4d7401d new file mode 100644 index 0000000..f101090 --- /dev/null +++ b/Gateways/FE/projects/.resources/9733fb40a19cff541497d222a7869dce983745521b0f458377c3fe03b4d7401d @@ -0,0 +1,139 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Limit Bld Press Alarm Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Supply Air Dewpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Supply Air Temperature Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Low Supply Air Temperature Setpoint" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[default]_types_/Objects/Air/DOAS 2" + }, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/975469910642fe822836d394248656c96bf61067edf5a3493d8ccc8d6c3a44ff b/Gateways/FE/projects/.resources/975469910642fe822836d394248656c96bf61067edf5a3493d8ccc8d6c3a44ff new file mode 100644 index 0000000..d7e6118 Binary files /dev/null and b/Gateways/FE/projects/.resources/975469910642fe822836d394248656c96bf61067edf5a3493d8ccc8d6c3a44ff differ diff --git a/Gateways/FE/projects/.resources/97591647b3062fa9f4ea23b9c6a5aee90ed46d6bb849cf8722b858cb683ea037 b/Gateways/FE/projects/.resources/97591647b3062fa9f4ea23b9c6a5aee90ed46d6bb849cf8722b858cb683ea037 new file mode 100644 index 0000000..0818c56 Binary files /dev/null and b/Gateways/FE/projects/.resources/97591647b3062fa9f4ea23b9c6a5aee90ed46d6bb849cf8722b858cb683ea037 differ diff --git a/Gateways/FE/projects/.resources/975d0760bda5f8f948da38076f08c76a3b8c6097edad1bec478a69ce9f02b92c b/Gateways/FE/projects/.resources/975d0760bda5f8f948da38076f08c76a3b8c6097edad1bec478a69ce9f02b92c new file mode 100644 index 0000000..f3e97eb Binary files /dev/null and b/Gateways/FE/projects/.resources/975d0760bda5f8f948da38076f08c76a3b8c6097edad1bec478a69ce9f02b92c differ diff --git a/Gateways/FE/projects/.resources/97ac81e0c050e0bae28f8d71fa8f802b29a48bebd1062952028793bed777bbc0 b/Gateways/FE/projects/.resources/97ac81e0c050e0bae28f8d71fa8f802b29a48bebd1062952028793bed777bbc0 new file mode 100644 index 0000000..0e2d9ee Binary files /dev/null and b/Gateways/FE/projects/.resources/97ac81e0c050e0bae28f8d71fa8f802b29a48bebd1062952028793bed777bbc0 differ diff --git a/Gateways/FE/projects/.resources/97e0c88a057755dbe3811162df18ad97b43f561b2284c702ff856f1481b88807 b/Gateways/FE/projects/.resources/97e0c88a057755dbe3811162df18ad97b43f561b2284c702ff856f1481b88807 new file mode 100644 index 0000000..e74077f --- /dev/null +++ b/Gateways/FE/projects/.resources/97e0c88a057755dbe3811162df18ad97b43f561b2284c702ff856f1481b88807 @@ -0,0 +1,2338 @@ +{ + "custom": { + "pageName": "P2.1" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1271", + "IO1": "[Ignition_SATB1_IO2_default]", + "Room": "ER1248", + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P2-1", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS2A_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-1_to_UT-P2-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P2-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 2, + "Gallery": "GAL1271", + "Gateway": "[Ignition_SATB1_IO2_default]", + "Linuep": 1 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/980d0cfd38d58f421aebd703f72c599bc6b630b4e72e6a81e69e81a83a8d3347 b/Gateways/FE/projects/.resources/980d0cfd38d58f421aebd703f72c599bc6b630b4e72e6a81e69e81a83a8d3347 new file mode 100644 index 0000000..b352e4e --- /dev/null +++ b/Gateways/FE/projects/.resources/980d0cfd38d58f421aebd703f72c599bc6b630b4e72e6a81e69e81a83a8d3347 @@ -0,0 +1,191 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "format": "0,0", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CV Min" + }, + { + "dataType": "Float4", + "format": "0,0", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CV Max" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "" + }, + { + "dataType": "Float4", + "format": "0,0.0000#", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bias" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Derivative Gain Enable" + }, + { + "dataType": "Float4", + "format": "0,0", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Derivative Gain" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Integral Gain Enable" + }, + { + "dataType": "Float4", + "format": "0,0", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Integral Gain" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Proportional Gain Enable" + }, + { + "dataType": "Float4", + "format": "0,0.0000#", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Proportional Gain" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/982e2a2696cebc2fffb5a0fe915fbe774c3e333f8f4243aa8867bc881e84f2c9 b/Gateways/FE/projects/.resources/982e2a2696cebc2fffb5a0fe915fbe774c3e333f8f4243aa8867bc881e84f2c9 new file mode 100644 index 0000000..8901a16 --- /dev/null +++ b/Gateways/FE/projects/.resources/982e2a2696cebc2fffb5a0fe915fbe774c3e333f8f4243aa8867bc881e84f2c9 @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "TES", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/AnalogIn" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 3 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/986f19994502c2d9f239a3b41a203fd846f245fdfcc83b160a7ea0aab412bc65 b/Gateways/FE/projects/.resources/986f19994502c2d9f239a3b41a203fd846f245fdfcc83b160a7ea0aab412bc65 new file mode 100644 index 0000000..3f77aa0 --- /dev/null +++ b/Gateways/FE/projects/.resources/986f19994502c2d9f239a3b41a203fd846f245fdfcc83b160a7ea0aab412bc65 @@ -0,0 +1,1851 @@ +{ + "custom": { + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + }, + "filters": { + "alm": [], + "prov": [], + "tag": [] + } + }, + "params": {}, + "propConfig": { + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.filters": { + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "IO GW:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "alignItems": "flex-start", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_Common_IO_Gtwy", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_Common_IO_Gtwy", + "source": "prov" + }, + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_SATB1_IO1_default", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_SATB1_IO1_default", + "source": "prov" + } + ], + "path": "Library/Templates/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tsystem.perspective.sendMessage(\u0027clearFilters\u0027, {\n\t\t\u0027source\u0027: source\n\t})\n\tself.parent.parent.parent.parent.getChild(\"AlarmStatusTable\").custom.filters[source] \u003d []" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "prov" + }, + "position": { + "display": false, + "grow": 1 + }, + "props": { + "style": { + "borderBottom": "1px solid var(--border)", + "borderTop": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "Quick Search:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.instances": { + "persistent": true + }, + "props.instances[14].label": { + "binding": { + "config": { + "expression": "\u0027\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH101", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH102", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH201", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH202", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH203", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "CHWS", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Electrical", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--neutral-50)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "", + "mode": "Custom", + "selected": false, + "source": "tag" + } + ], + "path": "Library/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tself.view.custom.filters[source] \u003d []\n\tflexRepeater \u003d self.parent.parent.getChild(\"FlexRepeater\")\n\ttoDelete \u003d []\n\tfor i, instance in enumerate(flexRepeater.props.instances):\n\t\tinstance[\u0027selected\u0027] \u003d False\n\t\tif instance[\u0027mode\u0027] \u003d\u003d \u0027Custom\u0027:\n\t\t\tinstance[\u0027label\u0027] \u003d \u0027\u0027\n\t\t\tif i \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\ttoDelete.append(i)\n\tfor index in reversed(toDelete):\n\t\tflexRepeater.props.instances.pop(index)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "tag" + }, + "position": { + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "RadioGroup" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "expression": "0" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "radioStyle": { + "padding": "0px 10px" + }, + "radios": [ + { + "selected": true, + "text": "Match on ANY", + "value": 0 + }, + { + "selected": false, + "text": "Match on ALL", + "value": 1 + } + ], + "style": { + "borderLeft": "1px solid var(--border)", + "borderRight": "1px solid var(--border)", + "fontSize": "0.8em", + "padding": "4px 5px" + } + }, + "type": "ia.input.radio-group" + }, + { + "meta": { + "name": "Table_0" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "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\tinstance \u003d system.tag.readBlocking(item)[0].value\n\t\tconnected \u003d instance[\"Alarms\"][\"Connection Lost\"]\n\t\thostname \u003d instance[\"Hostname\"]\n\t\tname \u003d instance[\"Name\"]\n\t\tport \u003d instance[\"Port\"]\n\t\tstate \u003d instance[\"State\"]\n\t\toutput.append({ \"Connected\": connected,\n\t\t\t\t\t\t\"Hostname\": hostname,\n\t\t\t\t\t\t\"Name\": name,\n\t\t\t\t\t\t\"Port\": port,\n\t\t\t\t\t\t\"State\": state})\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": "", + "paddingLeft": "10px" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Hostname", + "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": "Port", + "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": "Status", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "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": "Connected", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "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": "" + } + ], + "data": [ + { + "Connected": true, + "Hostname": "192.168.100.102", + "Name": "CRAC_1120_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.103", + "Name": "CRAC_1120_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.104", + "Name": "CRAC_1152_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.105", + "Name": "CRAC_1152_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.106", + "Name": "CRAC_1152_03", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.107", + "Name": "CRAC_1188_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.108", + "Name": "CRAC_1188_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.109", + "Name": "CRAH_1150_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.110", + "Name": "CRAH_1150_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.111", + "Name": "CRAH_1151_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.112", + "Name": "CRAH_1151_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.113", + "Name": "CRAH_1240_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.114", + "Name": "CRAH_1240_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.115", + "Name": "CRAH_1241_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.116", + "Name": "CRAH_1241_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.117", + "Name": "CRAH_1247_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.118", + "Name": "CRAH_1247_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.119", + "Name": "CRAH_1253_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.120", + "Name": "CRAH_1253_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.121", + "Name": "CRAH_1263_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.122", + "Name": "CRAH_1263_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.123", + "Name": "CRAH_1273_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.124", + "Name": "CRAH_1273_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": false, + "Hostname": "192.168.100.60", + "Name": "FireController", + "Port": 502, + "State": "Connecting" + }, + { + "Connected": true, + "Hostname": "192.168.100.62", + "Name": "Fire_Pump", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.142", + "Name": "FS_CP16_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.158", + "Name": "FS_CP18_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.143", + "Name": "FS_CP20_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.144", + "Name": "FS_CP20_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.145", + "Name": "FS_CP22_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.157", + "Name": "FS_CP22_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.146", + "Name": "FS_CP24_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.147", + "Name": "FS_CP38_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.148", + "Name": "FS_CP38_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.149", + "Name": "FS_CP38_03", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.150", + "Name": "FS_CP60_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.151", + "Name": "FS_CP60_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.152", + "Name": "FS_CP60_03", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.153", + "Name": "FS_CP61_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.154", + "Name": "FS_CP61_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.155", + "Name": "FS_CP61_03", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.156", + "Name": "FS_CP61_04", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.20", + "Name": "Plant Manager", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.2", + "Name": "SES 1A FDR1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.3", + "Name": "SES 1A FDR2", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.4", + "Name": "SES 1A FDR3", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.1", + "Name": "SES 1A MAIN", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.121", + "Name": "SES 1A PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.9", + "Name": "SWBD HS1 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.156", + "Name": "SWBD HS1 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.10", + "Name": "SWBD HS1 Breaker 1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.123", + "Name": "SWBD HS1 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.69", + "Name": "SWBD HS1 TX RP HS1 4", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.14", + "Name": "SWBD HS2 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.157", + "Name": "SWBD HS2 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.124", + "Name": "SWBD HS2 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.69", + "Name": "SWBD HS1 TX RP HS1 4", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.20", + "Name": "SWBD M1 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.21", + "Name": "SWBD M1 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.22", + "Name": "SWBD M1 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.23", + "Name": "SWBD M1 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.24", + "Name": "SWBD M1 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.19", + "Name": "SWBD M1 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.158", + "Name": "SWBD M1 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.125", + "Name": "SWBD M1 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.26", + "Name": "SWBD M2 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.27", + "Name": "SWBD M2 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.28", + "Name": "SWBD M2 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.29", + "Name": "SWBD M2 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.30", + "Name": "SWBD M2 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.25", + "Name": "SWBD M2 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.159", + "Name": "SWBD M2 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.126", + "Name": "SWBD M2 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.32", + "Name": "SWBD M3 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.33", + "Name": "SWBD M3 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.34", + "Name": "SWBD M3 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.35", + "Name": "SWBD M3 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.36", + "Name": "SWBD M3 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.31", + "Name": "SWBD M3 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.160", + "Name": "SWBD M3 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.127", + "Name": "SWBD M3 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.38", + "Name": "SWBD M4 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.39", + "Name": "SWBD M4 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.40", + "Name": "SWBD M4 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.41", + "Name": "SWBD M4 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.42", + "Name": "SWBD M4 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.37", + "Name": "SWBD M4 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.161", + "Name": "SWBD M4 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.128", + "Name": "SWBD M4 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.44", + "Name": "SWBD M5 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.45", + "Name": "SWBD M5 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.46", + "Name": "SWBD M5 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.47", + "Name": "SWBD M5 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.48", + "Name": "SWBD M5 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.43", + "Name": "SWBD M5 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.162", + "Name": "SWBD M5 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.129", + "Name": "SWBD M5 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.50", + "Name": "SWBD M6 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.51", + "Name": "SWBD M6 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.52", + "Name": "SWBD M6 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.53", + "Name": "SWBD M6 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.54", + "Name": "SWBD M6 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.49", + "Name": "SWBD M6 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.163", + "Name": "SWBD M6 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.130", + "Name": "SWBD M6 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.56", + "Name": "SWBD M7 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.57", + "Name": "SWBD M7 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.58", + "Name": "SWBD M7 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.59", + "Name": "SWBD M7 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.60", + "Name": "SWBD M7 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.55", + "Name": "SWBD M7 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.164", + "Name": "SWBD M7 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.131", + "Name": "SWBD M7 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.62", + "Name": "SWBD M8 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.63", + "Name": "SWBD M8 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.64", + "Name": "SWBD M8 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.65", + "Name": "SWBD M8 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.66", + "Name": "SWBD M8 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.61", + "Name": "SWBD M8 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.165", + "Name": "SWBD M8 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.132", + "Name": "SWBD M8 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.181", + "Name": "UPS HS1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.191", + "Name": "UPS HS1 BAT", + "Port": 602, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.182", + "Name": "UPS HS2", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.192", + "Name": "UPS HS2 BAT", + "Port": 602, + "State": "Connected" + } + ], + "filter": { + "enabled": true + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "addFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index].selected \u003d True", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "customFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(\u0027tag\u0027).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index][\u0027selected\u0027] \u003d True\n\t\tflexRepeater.props.instances[index][\u0027label\u0027] \u003d label\n\t\tflexRepeater.props.instances.append({\n\t\t\t\"color\": \"var(--neutral-50)\",\n\t\t\t\"filterString\": \"\",\n\t\t\t\"instancePosition\": {},\n\t\t\t\"instanceStyle\": {\n\t\t\t\"classes\": \"\"\n\t\t\t},\n\t\t\t\"mode\": \"Custom\",\n\t\t\t\"selected\": False,\n\t\t\t\"source\": \"tag\",\n\t\t\t\"label\": \"\"\n\t\t\t})", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "removeFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\ti \u003d self.view.custom.filters[source].index(label)\n\t\tself.view.custom.filters[source].pop(i)\n\t\tflexRepeater.props.instances[index].selected \u003d False\n\t\tif flexRepeater.props.instances[index].mode \u003d\u003d \u0027Custom\u0027:\n\t\t\tflexRepeater.props.instances[index].label \u003d \u0027\u0027\n\t\t\tif index \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\tflexRepeater.props.instances.pop(index)\n\telse:\n\t\tpass", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/989102c89fa5fe4cd08f17b93c3b95c40d10a58243edfe2237c1fd31f6d8eca8 b/Gateways/FE/projects/.resources/989102c89fa5fe4cd08f17b93c3b95c40d10a58243edfe2237c1fd31f6d8eca8 new file mode 100644 index 0000000..1f9e0d2 Binary files /dev/null and b/Gateways/FE/projects/.resources/989102c89fa5fe4cd08f17b93c3b95c40d10a58243edfe2237c1fd31f6d8eca8 differ diff --git a/Gateways/FE/projects/.resources/98c37fef7f115ef1309532790d16e02fb172930bb82f225f7e782a52d7662de6 b/Gateways/FE/projects/.resources/98c37fef7f115ef1309532790d16e02fb172930bb82f225f7e782a52d7662de6 new file mode 100644 index 0000000..ce8c56c Binary files /dev/null and b/Gateways/FE/projects/.resources/98c37fef7f115ef1309532790d16e02fb172930bb82f225f7e782a52d7662de6 differ diff --git a/Gateways/FE/projects/.resources/98f9400317eef9e51641a81da58f24a66732008f16e5f2aab610360ecde4f0bf b/Gateways/FE/projects/.resources/98f9400317eef9e51641a81da58f24a66732008f16e5f2aab610360ecde4f0bf new file mode 100644 index 0000000..a1111ad Binary files /dev/null and b/Gateways/FE/projects/.resources/98f9400317eef9e51641a81da58f24a66732008f16e5f2aab610360ecde4f0bf differ diff --git a/Gateways/FE/projects/.resources/990716e0cfdeb3e26c285407ab67350ab0b068933d5ffbd05634166c53cfe1e7 b/Gateways/FE/projects/.resources/990716e0cfdeb3e26c285407ab67350ab0b068933d5ffbd05634166c53cfe1e7 new file mode 100644 index 0000000..b581bd5 --- /dev/null +++ b/Gateways/FE/projects/.resources/990716e0cfdeb3e26c285407ab67350ab0b068933d5ffbd05634166c53cfe1e7 @@ -0,0 +1,1734 @@ +{ + "custom": { + "TagId": "UT-HS1", + "UT_energized": 1, + "VFI1": 1, + "VFI2": 1, + "isEnergized": 1, + "sw1": 1, + "sw2": 0 + }, + "params": { + "boxColor": "var(--text-muted)", + "objectName": "UT V2", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "propConfig": { + "custom.TagId": { + "persistent": true + }, + "custom.UT_energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Data/isEnergized" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.VFI1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Vacuum Fault Interrupter1 Tripped/Value" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.VFI2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Vacuum Fault Interrupter2 Tripped/Value" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.isEnergized": { + "binding": { + "config": { + "struct": { + "now": "now(1000)", + "ut": "{view.custom.UT_energized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value[\u0027ut\u0027]", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.sw1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Source 1 Switch/Value" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.sw2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Source 2 Switch/Value" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "vfi1": "{view.custom.VFI1}", + "vfi2": "{view.custom.VFI2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027vfi1\u0027] and value[\u0027vfi2\u0027]:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 111, + "width": 86 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 72, + "x": 43, + "y": -3 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "overlayOptOut": true, + "type": "tag" + } + } + }, + "props": { + "text": "UT", + "textStyle": { + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "rotate": { + "anchor": "87% 25%" + }, + "width": 86 + }, + "propConfig": { + "custom.Switch1_NormalState": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Source 1 Switch/Config/Target" + }, + "transforms": [ + { + "fallback": "NC", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "NO" + }, + { + "input": true, + "output": "NC" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.Switch2_NormalState": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Source 2 Switch/Config/Target" + }, + "transforms": [ + { + "fallback": "NC", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "NO" + }, + { + "input": true, + "output": "NC" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.SwitchOut": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "vfi1": "{view.custom.VFI1}", + "vfi2": "{view.custom.VFI2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value [\u0027vfi1\u0027] and value [\u0027vfi2\u0027]:\n\t\treturn \u0027var(--elec-off)\u0027\n\telse:\n\t\treturn \u0027var(--elec-on)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker": { + "binding": { + "config": { + "expression": "if(!{view.custom.VFI1}||!{view.custom.VFI2},\u0027var(--elec-off)\u0027,{this.custom.colorHandler.SwitchOut})" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower_A": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw1": "{view.custom.sw1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw1\u0027]:\n\t\treturn \u0027var(--elec-on)\u0027\n\telse:\n\t\treturn \u0027var(--elec-off)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.inputPower_B": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw2": "{view.custom.sw2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw2\u0027]:\n\t\treturn \u0027var(--elec-on)\u0027\n\telse:\n\t\treturn \u0027var(--elec-off)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.switch_A": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw1": "{view.custom.sw1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw1\u0027]:\n\t\treturn \u0027var(--elec-on)\u0027\n\telse:\n\t\treturn \u0027var(--elec-off)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.switch_B": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw2": "{view.custom.sw2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw2\u0027]:\n\t\treturn \u0027var(--elec-on)\u0027\n\telse:\n\t\treturn \u0027var(--elec-off)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SwitchOut" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[0].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.VFI1}\u0026\u0026{view.custom.VFI2},\u0027visible\u0027,\u0027hidden\u0027)" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[0].elements[3].visibility": { + "binding": { + "config": { + "expression": "if(!({view.custom.VFI1}\u0026\u0026{view.custom.VFI2}),\u0027visible\u0027,\u0027hidden\u0027)" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[0].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker_1" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Transformer_4" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Transformer_3" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Transformer_1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Transformer_2" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[9].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[9].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Transformer_5" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[2].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[2].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[2].elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower_A" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower_A" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.switch_A" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.sw1},\u0027visible\u0027,\u0027hidden\u0027)" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.switch_A" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[3].visibility": { + "binding": { + "config": { + "expression": "if(!{view.custom.sw1},\u0027visible\u0027,\u0027hidden\u0027)" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[3].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "this.custom.Switch1_NormalState" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SwitchA_1" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[4].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower_B" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower_B" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.switch_B" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[4].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.sw2},\u0027visible\u0027,\u0027hidden\u0027)" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw1": "{view.custom.sw2}" + }, + "waitOnAll": true + }, + "overlayOptOut": true, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw1\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[4].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.sw2},\u0027hidden\u0027,\u0027visible\u0027)" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[4].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "this.custom.Switch2_NormalState" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SwitchB_1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SwitchOut" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SwitchOut" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SwitchOut" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SwitchOut" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SwitchOut" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SwitchOut" + }, + "type": "property" + } + }, + "props.elements[6].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + }, + "props.elements[8].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[8].elements[2].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[8].elements[3].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[8].elements[4].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[8].elements[5].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[8].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[8].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "cx": "22.5", + "cy": "36.038", + "fill": {}, + "id": "Terminal02", + "name": "Terminal02", + "r": "1.125", + "type": "circle" + }, + { + "cx": "22.5", + "cy": "45.038", + "fill": {}, + "id": "Terminal01", + "name": "Terminal01", + "r": "1.125", + "type": "circle" + }, + { + "d": "M23.625,36.038c1.261,1.2 1.896,2.694 1.87,4.5c0.009,2.094 -0.591,3.615 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M27.285,36.038c1.262,1.2 1.897,2.694 1.871,4.5c0.008,2.094 -0.592,3.615 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "30.789px", + "y": "41.625px" + }, + { + "d": "M22.5,55.163l0,-9", + "fill": { + "paint": "transparent" + }, + "id": "Out", + "name": "Out", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "67.5", + "id": "External", + "name": "External", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "width": "0.75px" + }, + "type": "rect", + "width": "37.5", + "x": "3.75", + "y": "11.288" + }, + { + "d": "M3.75,68.962l37.5,-0", + "fill": { + "paint": "transparent" + }, + "id": "Internal", + "name": "Internal", + "stroke": { + "dasharray": "3,3,0,0,0,0", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,37.0065,64.7171)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "25.519px", + "y": "64.717px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,20.303,66.1768)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "6.031px", + "y": "66.177px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,18.3067,51.1458)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "7.929px", + "y": "51.146px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,38.8379,51.1458)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "25.557px", + "y": "51.146px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,32.446,67.6771)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "25.41px", + "y": "67.677px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + }, + { + "d": "M16.285,61.371l-0,-1.527c0.204,-0.896 0.741,-1.283 1.554,-1.252c0.77,-0.039 1.298,0.365 1.553,1.252c0.272,-0.839 0.768,-1.285 1.554,-1.252c0.873,-0.026 1.336,0.46 1.554,1.252c0.245,-0.786 0.701,-1.284 1.554,-1.252c0.818,-0.042 1.344,0.368 1.554,1.252c0.228,-0.731 0.67,-1.23 1.553,-1.252c0.459,0.03 0.801,0.176 1.055,0.409c0.233,0.214 0.393,0.502 0.499,0.843l0,1.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M16.285,53.772l-0,1.527c0.204,0.895 0.741,1.283 1.554,1.252c0.77,0.039 1.298,-0.365 1.553,-1.252c0.272,0.839 0.768,1.285 1.554,1.252c0.873,0.025 1.336,-0.461 1.554,-1.252c0.245,0.785 0.701,1.284 1.554,1.252c0.818,0.042 1.344,-0.368 1.554,-1.252c0.228,0.73 0.67,1.229 1.553,1.252c0.459,-0.03 0.801,-0.176 1.055,-0.41c0.233,-0.214 0.393,-0.502 0.499,-0.842l0,-1.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M34.062,58.854l-0.927,0.892l-0.927,-0.892", + "fill": { + "paint": "transparent" + }, + "id": "Star02", + "name": "Star02", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.42px" + }, + "type": "path" + }, + { + "d": "M33.135,59.746l-0,1.177", + "fill": { + "paint": "transparent" + }, + "id": "Star01", + "name": "Star01", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.42px" + }, + "type": "path" + }, + { + "d": "M33.135,53.958l1.31,2.392l-2.62,-0l1.31,-2.392Zm-0,0.868c-0,-0 -0.607,1.107 -0.607,1.107l1.213,0l-0.606,-1.107Z", + "fill": {}, + "id": "Delta", + "name": "Delta", + "type": "path" + } + ], + "id": "Detail", + "name": "Detail", + "type": "group" + } + ], + "id": "TX", + "name": "TX", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "cx": "15", + "cy": "18.958", + "id": "Terminal", + "name": "Terminal", + "r": "1.125", + "type": "circle" + }, + { + "d": "M15,17.833c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "", + "type": "path" + }, + { + "d": "M14.998,27.958l1.398,-8.884", + "fill": { + "paint": "transparent" + }, + "id": "Closed1", + "name": "Closed1", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M14.998,27.958l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "id": "Open1", + "name": "Open1", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,20.7892,30.2322)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "15.975px", + "y": "30.232px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,13.7065,24.5813)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "11.483px", + "y": "24.581px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "SW1-SRC01", + "name": "SW1-SRC01", + "type": "group" + }, + { + "elements": [ + { + "cx": "30", + "cy": "18.958", + "id": "Terminal1", + "name": "Terminal1", + "r": "1.125", + "type": "circle" + }, + { + "d": "M30,17.833c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M30,27.958l1.398,-8.884", + "fill": { + "paint": "transparent" + }, + "id": "Closed2", + "name": "Closed2", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M30,27.958l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "id": "Open2", + "name": "Open2", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,35.8067,30.2322)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "30.992px", + "y": "30.232px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,29.1119,24.5813)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "26.889px", + "y": "24.581px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "SW2-SRC02", + "name": "SW2-SRC02", + "type": "group" + }, + { + "elements": [ + { + "d": "M7.038,28.913l0.014,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Bar", + "name": "Bar", + "stroke": { + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M37.948,28.821l0.014,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.045,31.163l30.91,-0.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,34.913l-0,-3.75", + "fill": { + "paint": "transparent" + }, + "id": "Out1", + "name": "Out1", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M30,31.071l0,-3.113", + "fill": { + "paint": "transparent" + }, + "id": "SRC02", + "name": "SRC02", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M14.998,31.071l0,-3.113", + "fill": { + "paint": "transparent" + }, + "id": "SRC01", + "name": "SRC01", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "id": "TagID", + "name": "TagID", + "transform": "matrix(4.16667,0,0,4.16667,58.0715,14.3211)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "48.578px 49.966px ", + "y": "14.321px 14.321px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "12px", + "fontWeight": "700" + }, + "text": "", + "type": "text", + "x": "32px", + "y": "10px" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "45", + "x": "0", + "y": "7.5" + }, + { + "d": "M45,7.5l-0,75l-45,-0l-0,-75l45,0Zm-0.75,0.75l-43.5,0c-0,0 -0,73.5 0,73.5l43.5,-0l-0,-73.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M45.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M44.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M49.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "44.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M43.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M46.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group", + "visibility": "visible" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 65 84" + }, + "type": "ia.shapes.svg" + } + ], + "custom": { + "alarmSeverity": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "position": { + "x": -57.5, + "y": 111 + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9916bfb8d3d19519d63090cbee9b8cecc35da81ec29343576f1c5e5b3dd5fe3a b/Gateways/FE/projects/.resources/9916bfb8d3d19519d63090cbee9b8cecc35da81ec29343576f1c5e5b3dd5fe3a new file mode 100644 index 0000000..bc2972f --- /dev/null +++ b/Gateways/FE/projects/.resources/9916bfb8d3d19519d63090cbee9b8cecc35da81ec29343576f1c5e5b3dd5fe3a @@ -0,0 +1,982 @@ +{ + "custom": { + "Alarms": { + "P1": { + "ATS": 3, + "GEN": 2, + "PDU1": -1, + "PDU2": -1, + "PDU3": -1, + "PDU4": -1, + "UPS1": 2, + "UPS2": 2, + "UT": -1 + }, + "P2": { + "ATS": 3, + "GEN": 2, + "PDU1": -1, + "PDU2": -1, + "PDU3": -1, + "PDU4": -1, + "UPS1": 2, + "UPS2": 2, + "UT": -1 + }, + "P3": { + "ATS": 3, + "GEN": 2, + "PDU1": -1, + "PDU2": -1, + "PDU3": -1, + "PDU4": -1, + "UPS1": 2, + "UPS2": 2, + "UT": -1 + }, + "P4": { + "ATS": 3, + "GEN": 2, + "PDU1": -1, + "PDU2": -1, + "PDU3": -1, + "PDU4": -1, + "UPS1": 2, + "UPS2": 2, + "UT": -1 + }, + "P5": { + "ATS": 3, + "GEN": 2, + "PDU1": -1, + "PDU2": -1, + "PDU3": -1, + "PDU4": -1, + "UPS1": 2, + "UPS2": 2, + "UT": -1 + } + }, + "key": "value", + "path": [ + { + "aggregate": "LastValue", + "alias": "total", + "path": "[ignition_hist/ignition-satb1-io5:default]pue/total_power" + }, + { + "aggregate": "LastValue", + "alias": "critical", + "path": "[ignition_hist/ignition-satb1-io5:default]pue/critical_power" + } + ], + "paths": { + "DH1": { + "P1": { + "ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-1", + "PDU1": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1", + "PDU2": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-2", + "PDU3": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-3", + "PDU4": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-4", + "UPS1": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1", + "UPS2": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-2", + "UT": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-1" + }, + "P2": { + "ATS": "[Ignition_SATB1_IO1_default]ER1243/SWBD/SATB1_ER1243_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-2", + "PDU1": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-1", + "PDU2": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-2", + "PDU3": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-3", + "PDU4": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-4", + "UPS1": "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_UPS-1", + "UPS2": "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_UPS-2", + "UT": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-2" + }, + "P3": { + "ATS": "[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-3", + "PDU1": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1", + "PDU2": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-2", + "PDU3": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-3", + "PDU4": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-4", + "UPS1": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1", + "UPS2": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-2", + "UT": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-3" + }, + "P4": { + "ATS": "[Ignition_SATB1_IO1_default]ER1245/SWBD/SATB1_ER1245_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-4", + "PDU1": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-1", + "PDU2": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-2", + "PDU3": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-3", + "PDU4": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-4", + "UPS1": "[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_UPS-1", + "UPS2": "[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_UPS-2", + "UT": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-4" + }, + "P5": { + "ATS": "[Ignition_SATB1_IO1_default]ER1246/SWBD/SATB1_ER1246_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-5", + "PDU1": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-1", + "PDU2": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-2", + "PDU3": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-3", + "PDU4": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-4", + "UPS1": "[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_UPS-1", + "UPS2": "[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_UPS-2", + "UT": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-5" + } + }, + "DH2": { + "P1": { + "ATS": "[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-1", + "PDU1": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-1", + "PDU2": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-2", + "PDU3": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-3", + "PDU4": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-4", + "UPS1": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-1", + "UPS2": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-2", + "UT": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-1" + }, + "P2": { + "ATS": "[Ignition_SATB1_IO2_default]ER1249/SWBD/SATB1_ER1249_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-2", + "PDU1": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-1", + "PDU2": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-2", + "PDU3": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-3", + "PDU4": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-4", + "UPS1": "[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_UPS-1", + "UPS2": "[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_UPS-2", + "UT": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-2" + }, + "P3": { + "ATS": "[Ignition_SATB1_IO2_default]ER1250/SWBD/SATB1_ER1250_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-3", + "PDU1": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-1", + "PDU2": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-2", + "PDU3": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-3", + "PDU4": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-4", + "UPS1": "[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_UPS-1", + "UPS2": "[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_UPS-2", + "UT": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-3" + }, + "P4": { + "ATS": "[Ignition_SATB1_IO2_default]ER1251/SWBD/SATB1_ER1251_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-4", + "PDU1": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-1", + "PDU2": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-2", + "PDU3": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-3", + "PDU4": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-4", + "UPS1": "[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_UPS-1", + "UPS2": "[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_UPS-2", + "UT": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-4" + }, + "P5": { + "ATS": "[Ignition_SATB1_IO2_default]ER1252/SWBD/SATB1_ER1252_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-5", + "PDU1": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-1", + "PDU2": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-2", + "PDU3": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-3", + "PDU4": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-4", + "UPS1": "[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_UPS-1", + "UPS2": "[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_UPS-2", + "UT": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-5" + } + }, + "DH3": { + "P1": { + "ATS": "[Ignition_SATB1_IO3_default]ER1155/SWBD/SATB1_ER1155_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-1", + "PDU1": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-1-1", + "PDU2": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-1-2", + "PDU3": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-1-3", + "PDU4": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-1-4", + "UPS1": "[Ignition_SATB1_IO3_default]ER1155/SATB1_ER1155_UPS-1", + "UPS2": "[Ignition_SATB1_IO3_default]ER1155/SATB1_ER1155_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-1" + }, + "P2": { + "ATS": "[Ignition_SATB1_IO3_default]ER1156/SWBD/SATB1_ER1156_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-2", + "PDU1": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-2-1", + "PDU2": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-2-2", + "PDU3": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-2-3", + "PDU4": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-2-4", + "UPS1": "[Ignition_SATB1_IO3_default]ER1156/SATB1_ER1156_UPS-1", + "UPS2": "[Ignition_SATB1_IO3_default]ER1156/SATB1_ER1156_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-2" + }, + "P3": { + "ATS": "[Ignition_SATB1_IO3_default]ER1157/SWBD/SATB1_ER1157_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-3", + "PDU1": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-3-1", + "PDU2": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-3-2", + "PDU3": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-3-3", + "PDU4": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-3-4", + "UPS1": "[Ignition_SATB1_IO3_default]ER1157/SATB1_ER1157_UPS-1", + "UPS2": "[Ignition_SATB1_IO3_default]ER1157/SATB1_ER1157_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-3" + }, + "P4": { + "ATS": "[Ignition_SATB1_IO3_default]ER1158/SWBD/SATB1_ER1158_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-4", + "PDU1": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-4-1", + "PDU2": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-4-2", + "PDU3": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-4-3", + "PDU4": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-4-4", + "UPS1": "[Ignition_SATB1_IO3_default]ER1158/SATB1_ER1158_UPS-1", + "UPS2": "[Ignition_SATB1_IO3_default]ER1158/SATB1_ER1158_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-4" + }, + "P5": { + "ATS": "[Ignition_SATB1_IO3_default]ER1159/SWBD/SATB1_ER1159_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-5", + "PDU1": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-5-1", + "PDU2": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-5-2", + "PDU3": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-5-3", + "PDU4": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-5-4", + "UPS1": "[Ignition_SATB1_IO3_default]ER1159/SATB1_ER1159_UPS-1", + "UPS2": "[Ignition_SATB1_IO3_default]ER1159/SATB1_ER1159_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-5" + } + }, + "DH4": { + "P1": { + "ATS": "[Ignition_SATB1_IO4_default]ER1254/SWBD/SATB1_ER1254_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-1", + "PDU1": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-1-1", + "PDU2": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-1-2", + "PDU3": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-1-3", + "PDU4": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-1-4", + "UPS1": "[Ignition_SATB1_IO4_default]ER1254/SATB1_ER1254_UPS-1", + "UPS2": "[Ignition_SATB1_IO4_default]ER1254/SATB1_ER1254_UPS-2", + "UT": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-1" + }, + "P2": { + "ATS": "[Ignition_SATB1_IO4_default]ER1255/SWBD/SATB1_ER1255_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-2", + "PDU1": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-2-1", + "PDU2": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-2-2", + "PDU3": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-2-3", + "PDU4": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-2-4", + "UPS1": "[Ignition_SATB1_IO4_default]ER1255/SATB1_ER1255_UPS-1", + "UPS2": "[Ignition_SATB1_IO4_default]ER1255/SATB1_ER1255_UPS-2", + "UT": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-2" + }, + "P3": { + "ATS": "[Ignition_SATB1_IO4_default]ER1256/SWBD/SATB1_ER1256_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-3", + "PDU1": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-3-1", + "PDU2": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-3-2", + "PDU3": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-3-3", + "PDU4": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-3-4", + "UPS1": "[Ignition_SATB1_IO4_default]ER1256/SATB1_ER1256_UPS-1", + "UPS2": "[Ignition_SATB1_IO4_default]ER1256/SATB1_ER1256_UPS-2", + "UT": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-3" + }, + "P4": { + "ATS": "[Ignition_SATB1_IO4_default]ER1257/SWBD/SATB1_ER1257_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-4", + "PDU1": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-4-1", + "PDU2": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-4-2", + "PDU3": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-4-3", + "PDU4": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-4-4", + "UPS1": "[Ignition_SATB1_IO4_default]ER1257/SATB1_ER1257_UPS-1", + "UPS2": "[Ignition_SATB1_IO4_default]ER1257/SATB1_ER1257_UPS-2", + "UT": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-4" + }, + "P5": { + "ATS": "[Ignition_SATB1_IO4_default]ER1258/SWBD/SATB1_ER1258_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-5", + "PDU1": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-5-1", + "PDU2": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-5-2", + "PDU3": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-5-3", + "PDU4": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-5-4", + "UPS1": "[Ignition_SATB1_IO4_default]ER1258/SATB1_ER1258_UPS-1", + "UPS2": "[Ignition_SATB1_IO4_default]ER1258/SATB1_ER1258_UPS-2", + "UT": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-5" + } + }, + "DH5": { + "P1": { + "ATS": "[Ignition_SATB1_IO5_default]ER1161/SWBD/SATB1_ER1161_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-1", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1161/SATB1_ER1161_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1161/SATB1_ER1161_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-1" + }, + "P2": { + "ATS": "[Ignition_SATB1_IO5_default]ER1162/SWBD/SATB1_ER1162_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-2", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1162/SATB1_ER1162_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1162/SATB1_ER1162_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-2" + }, + "P3": { + "ATS": "[Ignition_SATB1_IO5_default]ER1163/SWBD/SATB1_ER1163_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-3", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1163/SATB1_ER1163_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1163/SATB1_ER1163_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-3" + }, + "P4": { + "ATS": "[Ignition_SATB1_IO5_default]ER1164/SWBD/SATB1_ER1164_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-4", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1164/SATB1_ER1164_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1164/SATB1_ER1164_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-4" + }, + "P5": { + "ATS": "[Ignition_SATB1_IO5_default]ER1165/SWBD/SATB1_ER1165_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-5", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1165/SATB1_ER1165_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1165/SATB1_ER1165_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-5" + } + } + }, + "selected": { + "P1": { + "ATS": "[Ignition_SATB1_IO5_default]ER1161/SWBD/SATB1_ER1161_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-1", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1161/SATB1_ER1161_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1161/SATB1_ER1161_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-1" + }, + "P2": { + "ATS": "[Ignition_SATB1_IO5_default]ER1162/SWBD/SATB1_ER1162_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-2", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1162/SATB1_ER1162_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1162/SATB1_ER1162_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-2" + }, + "P3": { + "ATS": "[Ignition_SATB1_IO5_default]ER1163/SWBD/SATB1_ER1163_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-3", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1163/SATB1_ER1163_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1163/SATB1_ER1163_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-3" + }, + "P4": { + "ATS": "[Ignition_SATB1_IO5_default]ER1164/SWBD/SATB1_ER1164_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-4", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1164/SATB1_ER1164_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1164/SATB1_ER1164_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-4" + }, + "P5": { + "ATS": "[Ignition_SATB1_IO5_default]ER1165/SWBD/SATB1_ER1165_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-5", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1165/SATB1_ER1165_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1165/SATB1_ER1165_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-5" + } + }, + "status": {}, + "values": [ + false, + true, + true, + false, + true, + true, + false, + true, + true, + false, + true, + true, + false, + true, + true + ] + }, + "params": { + "DH": "DH5" + }, + "propConfig": { + "custom.Alarms": { + "binding": { + "config": { + "struct": { + "hb": "now(5000)", + "paths": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tdata \u003d value[\u0027paths\u0027]\n\tfor lineup in data:\n\t\tresult \u003d {}\n\t\tfor item in data[lineup]:\n\t\t\ttry:\n\t\t\t\tresult[item] \u003d alarm.summary.calcMaxPriority(data[lineup][item])\n\t\t\texcept:\n\t\t\t\tresult[item] \u003d 0\n\t\toutput[lineup] \u003d result\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.key": { + "persistent": true + }, + "custom.path": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "code": "\tpaths \u003d {\"DH1\":[\"[ignition_hist/ignition-satb1-io1:default]pue/total_power\", \"[ignition_hist/ignition-satb1-io1:default]pue/critical_power\"],\n\t\t\t\"DH2\":[\"[ignition_hist/ignition-satb1-io2:default]pue/total_power\", \"[ignition_hist/ignition-satb1-io2:default]pue/critical_power\"],\n\t\t\t\"DH3\":[\"[ignition_hist/ignition-satb1-io3:default]pue/total_power\", \"[ignition_hist/ignition-satb1-io3:default]pue/critical_power\"],\n\t\t\t\"DH4\":[\"[ignition_hist/ignition-satb1-io4:default]pue/total_power\", \"[ignition_hist/ignition-satb1-io4:default]pue/critical_power\"],\n\t\t\t\"DH5\":[\"[ignition_hist/ignition-satb1-io5:default]pue/total_power\", \"[ignition_hist/ignition-satb1-io5:default]pue/critical_power\"]}\n\toutputArray \u003d []\n\tpaths[value] \n\toutput \u003d {}\n\toutput[\u0027path\u0027] \u003d paths[value][0]\n\toutput[\u0027alias\u0027] \u003d \u0027total\u0027\n\toutput[\u0027aggregate\u0027] \u003d \u0027LastValue\u0027\n\toutputArray.append(output)\n\toutput \u003d {}\n\toutput[\u0027path\u0027] \u003d paths[value][1]\n\toutput[\u0027alias\u0027] \u003d \u0027critical\u0027\n\toutput[\u0027aggregate\u0027] \u003d \u0027LastValue\u0027\n\toutputArray.append(output)\n\treturn outputArray", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.paths": { + "persistent": true + }, + "custom.selected": { + "binding": { + "config": { + "struct": { + "dh": "{view.params.DH}", + "paths": "{view.custom.paths}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tdata \u003d value[\u0027paths\u0027]\n\treturn data[value[\u0027dh\u0027]]", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.status": { + "persistent": true + }, + "custom.status.P1": { + "binding": { + "config": { + "struct": { + "alm": "{view.custom.Alarms.P1}", + "val": "{view.custom.values}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tidx \u003d 0\n\talm \u003d value[\u0027alm\u0027]\n\tval \u003d value[\u0027val\u0027]\n\tfor item in alm:\n\t\tif str(item) \u003d\u003d \"ATS\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\t\telse:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\tif str(item) \u003d\u003d \"GEN\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d int(val[2+idx])\n\t\tif str(item) \u003d\u003d \"PDU1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU3\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU4\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 1\n\t\t\n\t\tif str(item) \u003d\u003d \"UPS1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UPS2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UT\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 1\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.status.P2": { + "binding": { + "config": { + "struct": { + "alm": "{view.custom.Alarms.P2}", + "val": "{view.custom.values}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tidx \u003d 3\n\talm \u003d value[\u0027alm\u0027]\n\tval \u003d value[\u0027val\u0027]\n\tfor item in alm:\n\t\tif str(item) \u003d\u003d \"ATS\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\t\telse:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\tif str(item) \u003d\u003d \"GEN\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d int(val[2+idx])\n\t\tif str(item) \u003d\u003d \"PDU1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU3\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU4\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 1\n\t\t\n\t\tif str(item) \u003d\u003d \"UPS1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UPS2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UT\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 1\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.status.P3": { + "binding": { + "config": { + "struct": { + "alm": "{view.custom.Alarms.P3}", + "val": "{view.custom.values}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tidx \u003d 6\n\talm \u003d value[\u0027alm\u0027]\n\tval \u003d value[\u0027val\u0027]\n\tfor item in alm:\n\t\tif str(item) \u003d\u003d \"ATS\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\t\telse:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\tif str(item) \u003d\u003d \"GEN\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d int(val[2+idx])\n\t\tif str(item) \u003d\u003d \"PDU1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU3\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU4\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 1\n\t\t\n\t\tif str(item) \u003d\u003d \"UPS1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UPS2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UT\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 1\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.status.P4": { + "binding": { + "config": { + "struct": { + "alm": "{view.custom.Alarms.P4}", + "val": "{view.custom.values}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tidx \u003d 9\n\talm \u003d value[\u0027alm\u0027]\n\tval \u003d value[\u0027val\u0027]\n\tfor item in alm:\n\t\tif str(item) \u003d\u003d \"ATS\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\t\telse:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\tif str(item) \u003d\u003d \"GEN\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d int(val[2+idx])\n\t\tif str(item) \u003d\u003d \"PDU1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU3\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU4\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 1\n\t\t\n\t\tif str(item) \u003d\u003d \"UPS1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UPS2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UT\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 1\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.status.P5": { + "binding": { + "config": { + "struct": { + "alm": "{view.custom.Alarms.P5}", + "val": "{view.custom.values}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tidx \u003d 12\n\talm \u003d value[\u0027alm\u0027]\n\tval \u003d value[\u0027val\u0027]\n\tfor item in alm:\n\t\tif str(item) \u003d\u003d \"ATS\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\t\telse:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\tif str(item) \u003d\u003d \"GEN\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d int(val[2+idx])\n\t\tif str(item) \u003d\u003d \"PDU1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU3\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU4\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 1\n\t\t\n\t\tif str(item) \u003d\u003d \"UPS1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UPS2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UT\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 1\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.values": { + "binding": { + "config": { + "struct": { + "hb": "now(5000)", + "paths": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tdata \u003d value[\u0027paths\u0027]\n\tread_tags \u003d []\n\tfor lineup in data:\n\t\tresult \u003d {}\n\t\tfor item in data[lineup]:\n\t\t\tif str(item) \u003d\u003d \"GEN\":\n\t\t\t\tread_tags.append(data[lineup][item] + \"/Run Status\")\n\t\t\tif str(item) \u003d\u003d \"ATS\":\n\t\t\t\tread_tags.append(data[lineup][item] + \"/On Source 1\")\n\t\t\t\tread_tags.append(data[lineup][item] + \"/On Source 2\")\n\ttags \u003d system.tag.readBlocking(read_tags)\n\t\n\treturn tags", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 851, + "width": 250 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "118px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.params.DH}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 5 + }, + "textStyle": { + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30.6px" + }, + "props": { + "justify": "space-between", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "TimeSeriesChart" + }, + "position": { + "basis": "138px" + }, + "propConfig": { + "props.series[0].data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.path}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + } + }, + "props": { + "defaultStyles": { + "colorScheme": "Dark2" + }, + "series": [ + { + "name": "electrical" + } + ], + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderStyle": "solid", + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "borderWidth": 1 + }, + "timeAxis": { + "height": 15, + "tick": { + "label": { + "font": { + "size": 8 + }, + "format": "h:mm" + } + } + }, + "timeRange": { + "visible": false + }, + "title": { + "text": "Power" + } + }, + "type": "ia.chart.timeseries" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "850px", + "grow": 1 + }, + "propConfig": { + "props.instances[0].Objects": { + "binding": { + "config": { + "path": "view.custom.status.P1" + }, + "type": "property" + } + }, + "props.instances[0].Room": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "code": "\toutput \u003d \"P\" + value[-1] + \".1\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.instances[0].tagPath": { + "binding": { + "config": { + "path": "view.custom.selected.P1" + }, + "type": "property" + } + }, + "props.instances[1].Objects": { + "binding": { + "config": { + "path": "view.custom.status.P2" + }, + "type": "property" + } + }, + "props.instances[1].Room": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "code": "\toutput \u003d \"P\" + value[-1] + \".2\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "path": "view.custom.selected.P2" + }, + "type": "property" + } + }, + "props.instances[2].Objects": { + "binding": { + "config": { + "path": "view.custom.status.P3" + }, + "type": "property" + } + }, + "props.instances[2].Room": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "code": "\toutput \u003d \"P\" + value[-1] + \".3\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "path": "view.custom.selected.P3" + }, + "type": "property" + } + }, + "props.instances[3].Objects": { + "binding": { + "config": { + "path": "view.custom.status.P4" + }, + "type": "property" + } + }, + "props.instances[3].Room": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "code": "\toutput \u003d \"P\" + value[-1] + \".4\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "path": "view.custom.selected.P4" + }, + "type": "property" + } + }, + "props.instances[4].Objects": { + "binding": { + "config": { + "path": "view.custom.status.P5" + }, + "type": "property" + } + }, + "props.instances[4].Room": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "code": "\toutput \u003d \"P\" + value[-1] + \".5\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "path": "view.custom.selected.P5" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "shrink": 0 + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/D_Electrical/L1/Widgets/DH ER Typ2", + "style": { + "overflow": "hidden" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "96.4%" + }, + "props": { + "direction": "column", + "style": { + "paddingBottom": 0, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9990ce533c0128c43f83d6d538870d8b656dc8dbda0ff071f5820868992516ef b/Gateways/FE/projects/.resources/9990ce533c0128c43f83d6d538870d8b656dc8dbda0ff071f5820868992516ef new file mode 100644 index 0000000..8dd8481 --- /dev/null +++ b/Gateways/FE/projects/.resources/9990ce533c0128c43f83d6d538870d8b656dc8dbda0ff071f5820868992516ef @@ -0,0 +1,272 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps N", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Average Phase Current", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Average Phase Voltage", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KVA", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KVAR", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KW Demand", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total KWH", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage C", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/99a79ce39b5f3a68ea501eb458b5e7f5970b137982cbd03b9c2d3e7c9013feb3 b/Gateways/FE/projects/.resources/99a79ce39b5f3a68ea501eb458b5e7f5970b137982cbd03b9c2d3e7c9013feb3 new file mode 100644 index 0000000..11394f2 Binary files /dev/null and b/Gateways/FE/projects/.resources/99a79ce39b5f3a68ea501eb458b5e7f5970b137982cbd03b9c2d3e7c9013feb3 differ diff --git a/Gateways/FE/projects/.resources/99d998448f1153178192bd07b7a1652cf8c6c015ea3619daf2db97803c3705ce b/Gateways/FE/projects/.resources/99d998448f1153178192bd07b7a1652cf8c6c015ea3619daf2db97803c3705ce new file mode 100644 index 0000000..b694631 Binary files /dev/null and b/Gateways/FE/projects/.resources/99d998448f1153178192bd07b7a1652cf8c6c015ea3619daf2db97803c3705ce differ diff --git a/Gateways/FE/projects/.resources/99e70e923843be4ad380be1bc7b5d1dae2e0fd6801ff9a55cd6bbf28c1b8129b b/Gateways/FE/projects/.resources/99e70e923843be4ad380be1bc7b5d1dae2e0fd6801ff9a55cd6bbf28c1b8129b new file mode 100644 index 0000000..51bb764 --- /dev/null +++ b/Gateways/FE/projects/.resources/99e70e923843be4ad380be1bc7b5d1dae2e0fd6801ff9a55cd6bbf28c1b8129b @@ -0,0 +1,396 @@ +{ + "custom": {}, + "params": { + "Position": true + }, + "propConfig": { + "params.Position": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "ServerA" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.Position" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M271.885,143.572l0,185.595l-147.179,85.023l-0,-185.605l147.179,-85.013Z", + "fill": { + "paint": "#815931" + }, + "name": "path", + "type": "path" + }, + { + "d": "M124.706,228.644l-0,185.546l-72.87,-41.971l-0.576,-185.871l73.446,42.296Z", + "fill": { + "paint": "#f79434" + }, + "name": "path", + "type": "path" + }, + { + "d": "M198.295,101.267l73.59,42.305l-147.179,85.072l-73.446,-42.296l147.035,-85.081Z", + "fill": { + "paint": "#fcc595" + }, + "name": "path", + "type": "path" + }, + { + "d": "M113.458,249.028l-50.458,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M113.458,269.64l-50.458,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M113.458,290.252l-50.458,-29.133", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M382.198,207.17l-0,185.595l-147.18,85.023l0,-185.605l147.18,-85.013Z", + "fill": { + "paint": "#2f4566" + }, + "name": "path", + "type": "path" + }, + { + "d": "M235.764,292.205l0,185.583l-72.87,-41.971l-0.576,-185.871l73.446,42.259Z", + "fill": { + "paint": "#36577f" + }, + "name": "path", + "type": "path" + }, + { + "d": "M309.354,164.903l72.844,42.267l-146.434,85.072l-73.446,-42.258l147.036,-85.081Z", + "fill": { + "paint": "#accde3" + }, + "name": "path", + "type": "path" + }, + { + "d": "M223.771,312.626l-50.459,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M223.771,333.238l-50.459,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M223.771,353.85l-50.459,-29.133", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + } + ], + "name": "group", + "opacity": 20, + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 500 516" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "ServerB" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.Position" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M154.818,153.435l-0,185.595l147.179,85.023l0,-185.605l-147.179,-85.013Z", + "fill": { + "paint": "#815931" + }, + "name": "path", + "type": "path" + }, + { + "d": "M301.997,238.507l0,185.546l72.87,-41.971l0.576,-185.871l-73.446,42.296Z", + "fill": { + "paint": "#f79434" + }, + "name": "path", + "type": "path" + }, + { + "d": "M228.408,111.13l-73.59,42.305l147.179,85.072l73.446,-42.296l-147.035,-85.081Z", + "fill": { + "paint": "#fcc595" + }, + "name": "path", + "type": "path" + }, + { + "d": "M313.245,258.89l50.458,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M313.245,279.502l50.458,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M313.245,300.114l50.458,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M44.505,217.033l0,185.595l147.18,85.023l-0,-185.605l-147.18,-85.013Z", + "fill": { + "paint": "#2f4566" + }, + "name": "path", + "type": "path" + }, + { + "d": "M190.939,302.068l-0,185.583l72.87,-41.971l0.576,-185.871l-73.446,42.259Z", + "fill": { + "paint": "#36577f" + }, + "name": "path", + "type": "path" + }, + { + "d": "M117.349,174.765l-72.844,42.268l146.434,85.072l73.446,-42.258l-147.036,-85.082Z", + "fill": { + "paint": "#accde3" + }, + "name": "path", + "type": "path" + }, + { + "d": "M202.932,322.488l50.459,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M202.932,343.1l50.459,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M202.932,363.712l50.459,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 500 516" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/99f04b2f85337956a5adfb478669b0b43f6d2b696658532e467f929d5b028c9d b/Gateways/FE/projects/.resources/99f04b2f85337956a5adfb478669b0b43f6d2b696658532e467f929d5b028c9d new file mode 100644 index 0000000..2c2e453 Binary files /dev/null and b/Gateways/FE/projects/.resources/99f04b2f85337956a5adfb478669b0b43f6d2b696658532e467f929d5b028c9d differ diff --git a/Gateways/FE/projects/.resources/99fb2223e9a9fd53317969fd34f9b6a68caa09168d4aa309a1f94253f28214d2 b/Gateways/FE/projects/.resources/99fb2223e9a9fd53317969fd34f9b6a68caa09168d4aa309a1f94253f28214d2 new file mode 100644 index 0000000..a6594a9 --- /dev/null +++ b/Gateways/FE/projects/.resources/99fb2223e9a9fd53317969fd34f9b6a68caa09168d4aa309a1f94253f28214d2 @@ -0,0 +1,283 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 0, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Closed Way 01", + "options": [ + "Not Closed", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Closed Way 02", + "options": [ + "Not Closed", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Closed Way 03", + "options": [ + "Not Closed", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Closed Way 04", + "options": [ + "Not Closed", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Grounded Way 01", + "options": [ + "Not Grounded", + "Grounded" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Grounded Way 02", + "options": [ + "Not Grounded", + "Grounded" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Grounded Way 03", + "options": [ + "Not Grounded", + "Grounded" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Grounded Way 04", + "options": [ + "Not Grounded", + "Grounded" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Open Way 01", + "options": [ + "Not Open", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Open Way 02", + "options": [ + "Not Open", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Open Way 03", + "options": [ + "Not Open", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Open Way 04", + "options": [ + "Not Open", + "Open" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "custom.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9a4a45b3bce87fd48aef11018b12797856fbc98d552af22d1e5ed892d69e6a25 b/Gateways/FE/projects/.resources/9a4a45b3bce87fd48aef11018b12797856fbc98d552af22d1e5ed892d69e6a25 new file mode 100644 index 0000000..4664422 --- /dev/null +++ b/Gateways/FE/projects/.resources/9a4a45b3bce87fd48aef11018b12797856fbc98d552af22d1e5ed892d69e6a25 @@ -0,0 +1,706 @@ +{ + "custom": { + "Monday": 0, + "allTags": [ + { + "dataType": "Float4", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Air Flow Out of Range SP" + }, + { + "dataType": "Float4", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cooling Airflow" + }, + { + "dataType": "Float4", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Max Heating Airflow" + }, + { + "dataType": "Float4", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cooling Airflow" + }, + { + "dataType": "Float4", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Min Heating Airflow" + }, + { + "dataType": "Int8", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Occupied Deadband Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Unoccupied Deadband Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Occupancy Minimum Time" + }, + { + "dataType": "Int8", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Standby Mode Timer SP" + }, + { + "dataType": "Int4", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Occuppacy Mode Start Time" + }, + { + "dataType": "Int4", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Unoccupied Mode Start Time", + "visible": false + }, + { + "dataType": "Float4", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Standby Mode Offset" + }, + { + "dataType": "Int4", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Unoccupied Mode Start Time", + "visible": true + } + ], + "weekDay": 254 + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1109/SATB1_HS1_RM1109_VAV06" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": 999,\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.weekDay": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Day of Week Enable" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag ConfigV2", + "style": { + "gap": "10px 0", + "overflow": "visible", + "padding": "5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Day of the Week Enable" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 1\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Monday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},1)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Monday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 2\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Tuesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},2)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Tuesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 3\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Wednesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},3)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Wednesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 4\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Thursday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},4)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Thursday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 5\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Friday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},5)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Friday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 6\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Saturday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},6)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Saturday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 7\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Sunday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},7)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Sunday" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "space-evenly", + "style": { + "gap": "5px", + "padding": "5px" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "99.5%", + "grow": 1 + }, + "props": { + "alignContent": "center", + "alignItems": "flex-start", + "direction": "column", + "justify": "center", + "style": { + "border": "1px solid var(--border)", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container", + "paddingBottom": 10, + "paddingLeft": 10, + "paddingRight": 10, + "paddingTop": 10 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9a4c51582898ca1964a13460a60eaf6b8ee86f5f1d2aa6ffed16d2082cd09fab b/Gateways/FE/projects/.resources/9a4c51582898ca1964a13460a60eaf6b8ee86f5f1d2aa6ffed16d2082cd09fab new file mode 100644 index 0000000..94d03e0 Binary files /dev/null and b/Gateways/FE/projects/.resources/9a4c51582898ca1964a13460a60eaf6b8ee86f5f1d2aa6ffed16d2082cd09fab differ diff --git a/Gateways/FE/projects/.resources/9a525abad33ba7638d9500c752c47262cfd9097f9b9fffab0aa059c34391d7d0 b/Gateways/FE/projects/.resources/9a525abad33ba7638d9500c752c47262cfd9097f9b9fffab0aa059c34391d7d0 new file mode 100644 index 0000000..8ad2b65 --- /dev/null +++ b/Gateways/FE/projects/.resources/9a525abad33ba7638d9500c752c47262cfd9097f9b9fffab0aa059c34391d7d0 @@ -0,0 +1,635 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/STU-8" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode CMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Run" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StartBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode},true,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StopBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode},true,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OOS" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Speed Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Speed SP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 100, + "minimum": 0 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Row03" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Temperature Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Temperature SP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 100, + "minimum": 0 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Row3" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9a661f9dd76a8f9da12a2c5c8a7d7407053e3596cd9b60501ccf03602dacbaf6 b/Gateways/FE/projects/.resources/9a661f9dd76a8f9da12a2c5c8a7d7407053e3596cd9b60501ccf03602dacbaf6 new file mode 100644 index 0000000..a8359f4 Binary files /dev/null and b/Gateways/FE/projects/.resources/9a661f9dd76a8f9da12a2c5c8a7d7407053e3596cd9b60501ccf03602dacbaf6 differ diff --git a/Gateways/FE/projects/.resources/9a9072be7941253798f744ab2ac348dd095920b924e5250c6363779228afff81 b/Gateways/FE/projects/.resources/9a9072be7941253798f744ab2ac348dd095920b924e5250c6363779228afff81 new file mode 100644 index 0000000..6a8f228 --- /dev/null +++ b/Gateways/FE/projects/.resources/9a9072be7941253798f744ab2ac348dd095920b924e5250c6363779228afff81 @@ -0,0 +1,469 @@ +{ + "custom": { + "OCmd": {}, + "StsAuto": null + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]ER1245/SATB1_P1_4_ER1245_CRAH_01" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Enable": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unit Enable" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Alarm Reset Command" + }, + "type": "tag" + } + }, + "custom.StsAuto": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Unit Status" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Enable \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "EnableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Enable" + }, + "type": "property" + } + } + }, + "props": { + "text": "Enable" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Enable \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "DisableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Enable" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Disable" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "375px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ResetBtn" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row02" + }, + "position": { + "basis": "375px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%", + "grow": 2 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Tag Config_2" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Return Air Temperature Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "\u00270,0.##\u0027", + "name": "Return Air Temperature Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Tag Config_0" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Supply Air Temperature Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "\u00270,0.##\u0027", + "name": "Supply Air Temperature Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Checkbox" + }, + "position": { + "basis": "52px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Supply Fan Override" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Supply Fan Override", + "textPosition": "left" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Tag Config_1" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "struct": { + "auth": "{view.params.auth.control}", + "sf_O": "{../Checkbox.props.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027auth\u0027] \u0026\u0026 {value}[\u0027sf_O\u0027]", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Supply Fan Speed Command\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "\u00270,0.##\u0027", + "name": "Supply Fan Speed Command", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50%", + "grow": 12 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9aa02594d4a51b6904961919d92a4cf153bd4be4115cf2a68c6005c4633e15f0 b/Gateways/FE/projects/.resources/9aa02594d4a51b6904961919d92a4cf153bd4be4115cf2a68c6005c4633e15f0 new file mode 100644 index 0000000..fc06acf Binary files /dev/null and b/Gateways/FE/projects/.resources/9aa02594d4a51b6904961919d92a4cf153bd4be4115cf2a68c6005c4633e15f0 differ diff --git a/Gateways/FE/projects/.resources/9ae32222455810eadeacb20dc30f5129b91d0a1c4c991f81ce3748abc0b2c065 b/Gateways/FE/projects/.resources/9ae32222455810eadeacb20dc30f5129b91d0a1c4c991f81ce3748abc0b2c065 new file mode 100644 index 0000000..072ef51 --- /dev/null +++ b/Gateways/FE/projects/.resources/9ae32222455810eadeacb20dc30f5129b91d0a1c4c991f81ce3748abc0b2c065 @@ -0,0 +1,155 @@ +{ + "custom": { + "OCmd": { + "Enable": null, + "Recharge": null + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1\n" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Enable": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Enable" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.OCmd.Recharge": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Recharge" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9b0a89cda49647cf2419b1025d3a500312dce9236c1fa33ee1fdf36d60612650 b/Gateways/FE/projects/.resources/9b0a89cda49647cf2419b1025d3a500312dce9236c1fa33ee1fdf36d60612650 new file mode 100644 index 0000000..9834c79 Binary files /dev/null and b/Gateways/FE/projects/.resources/9b0a89cda49647cf2419b1025d3a500312dce9236c1fa33ee1fdf36d60612650 differ diff --git a/Gateways/FE/projects/.resources/9bc0ee8c1ef75fb5801a6d739c8ba230056d41449cf79599bc007231d9456d8a b/Gateways/FE/projects/.resources/9bc0ee8c1ef75fb5801a6d739c8ba230056d41449cf79599bc007231d9456d8a new file mode 100644 index 0000000..5fa517b Binary files /dev/null and b/Gateways/FE/projects/.resources/9bc0ee8c1ef75fb5801a6d739c8ba230056d41449cf79599bc007231d9456d8a differ diff --git a/Gateways/FE/projects/.resources/9bf30f33201fefd44e6b5e46a2f589fe649cded851b4ea71d5cd6f4bcd78caf3 b/Gateways/FE/projects/.resources/9bf30f33201fefd44e6b5e46a2f589fe649cded851b4ea71d5cd6f4bcd78caf3 new file mode 100644 index 0000000..6e27282 --- /dev/null +++ b/Gateways/FE/projects/.resources/9bf30f33201fefd44e6b5e46a2f589fe649cded851b4ea71d5cd6f4bcd78caf3 @@ -0,0 +1,22 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--icon)", + "borderStyle": "none", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "color": "var(--neutral-10)" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "var(--neutral-60)", + "boxShadow": "rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px !important" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9bfbc1054da9912dfe37e1bf90ceb52d5619943028f49e59be5da6704c086ad4 b/Gateways/FE/projects/.resources/9bfbc1054da9912dfe37e1bf90ceb52d5619943028f49e59be5da6704c086ad4 new file mode 100644 index 0000000..70852df --- /dev/null +++ b/Gateways/FE/projects/.resources/9bfbc1054da9912dfe37e1bf90ceb52d5619943028f49e59be5da6704c086ad4 @@ -0,0 +1,254 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Air Flow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Air Flow Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Control Setpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Cooling Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Damper Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Heat Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Maximum Cooling Airflow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Maximum Heat Airflow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Minimum Cooling Airflow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Minimum Heat Airflow", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Occupancy Sensor", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Space Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Temperature Setpoint", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]RM1116/SATB1_HS1_RM1116_VAV01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9bfd94e4d3c53bc4f08f4f15b3cf4d896acff3f1e989b6367412534dc92b821b b/Gateways/FE/projects/.resources/9bfd94e4d3c53bc4f08f4f15b3cf4d896acff3f1e989b6367412534dc92b821b new file mode 100644 index 0000000..3a68332 --- /dev/null +++ b/Gateways/FE/projects/.resources/9bfd94e4d3c53bc4f08f4f15b3cf4d896acff3f1e989b6367412534dc92b821b @@ -0,0 +1,20 @@ +db = "Ignition" +def saveAllSettings(homepage, theme, username): + settingDict = {"Homepage":homepage, "Theme":theme} + saveSettings(settingDict, username) + +def saveSettings(settingDict, username): + """ save all settings from a dictionary + settingDict: pyDictionary ex {"Homepage":homepage, "Theme":theme}, key represents settingname and value is the settingvalue + + """ + insQuery = "Insert into user_settings (settingname, settingvalue, username) values" + insVals = [] + for k,v in settingDict.iteritems(): + # perform upsert + if system.db.runPrepUpdate("Update user_settings set settingvalue= ? where settingname=? and username = ?", [ v, k, username], db) == 0: + insQuery += "(?,?,?)," + insVals.extend([k, v, username]) + + if len(insVals) > 0: + system.db.runPrepUpdate(insQuery[:-1], insVals, db) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9c5601e5d3c3361d8062b524f9fecbb990e1da7012047ff3867b8eae281a3f62 b/Gateways/FE/projects/.resources/9c5601e5d3c3361d8062b524f9fecbb990e1da7012047ff3867b8eae281a3f62 new file mode 100644 index 0000000..8482c42 Binary files /dev/null and b/Gateways/FE/projects/.resources/9c5601e5d3c3361d8062b524f9fecbb990e1da7012047ff3867b8eae281a3f62 differ diff --git a/Gateways/FE/projects/.resources/9cab0e4a86b47fd81407964a9f9e5ede1d48210325391a0f8032efffdfe03ccc b/Gateways/FE/projects/.resources/9cab0e4a86b47fd81407964a9f9e5ede1d48210325391a0f8032efffdfe03ccc new file mode 100644 index 0000000..e9bc4c8 --- /dev/null +++ b/Gateways/FE/projects/.resources/9cab0e4a86b47fd81407964a9f9e5ede1d48210325391a0f8032efffdfe03ccc @@ -0,0 +1,779 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Breaker1", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Breaker2", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Breaker3", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Breaker4", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Charge Percent", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Charging", + "options": [ + "False", + "True" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Current", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Discharge Current", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Float Charging", + "options": [ + "False", + "True" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Temperature Celsius", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Voltage", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery number of Racks in service", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery runtime remaining Hours", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery runtime remaining minutes", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Frequency", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Total Active Power", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Total Apparent Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Frequency", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts CA", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Input Breaker Status", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Maintenance Bypass Breaker Status", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Operating On Battery", + "options": [ + "False", + "True" + ] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Operation Modes", + "options": [ + "None", + "Normal Operation", + "Battery Operation", + "Battery Test", + "Requested Static Bypass", + "Forced Static Bypass", + "Maintenance Bypass", + "Off", + "Emergency Static Bypass", + "Static Bypass Standby", + "Inverter Standby", + "Power Saving Mode", + "Inverter SPoT Mode", + "ECO Mode", + "ECOnversion", + "Charger SPoT Mode", + "Battery Discharge SPoT Mode" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps C", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Breaker Status", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current THD A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current THD B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current THD C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Frequency", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts AB", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts BC", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output kVA percentage A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output kVA percentage B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output kVA percentage C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total Input Active Power", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total Input Apparent Power", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total Input kWh", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total Output Apparent Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total Output Percent Load", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total Output kW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total Output kWh", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "UPS Operating On Battery", + "options": [ + "False", + "True" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9cb38ecdbb541a12a3a015763b2a4171833e32902041cccfdddab364153cd2fa b/Gateways/FE/projects/.resources/9cb38ecdbb541a12a3a015763b2a4171833e32902041cccfdddab364153cd2fa new file mode 100644 index 0000000..cf253b8 --- /dev/null +++ b/Gateways/FE/projects/.resources/9cb38ecdbb541a12a3a015763b2a4171833e32902041cccfdddab364153cd2fa @@ -0,0 +1,320 @@ +{ + "custom": { + "endDate": "2025-4-20 23:59:59", + "location": null, + "startDate": "2025-4-18 00:00:00" + }, + "params": { + "endDate": "2025-4-20 23:59:59", + "location": null, + "startDate": "2025-4-18 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "30px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + }, + { + "label": "daily", + "value": 1440 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 60 + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Import" + }, + "position": { + "basis": "34px", + "display": false + }, + "props": { + "enabled": false, + "text": "Import" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\tsystem.perspective.download(\"Billing Data.xls\", xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "DH1" + }, + "position": { + "basis": "150px" + }, + "props": { + "selected": true, + "text": "Datahall 1" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH2" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 2" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH3" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 3" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH4" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 4" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH5" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 5" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "AreaFilter" + }, + "position": { + "basis": "400px" + }, + "propConfig": { + "custom.areaSelection": { + "binding": { + "config": { + "struct": { + "areas": [ + "if({./DH1.props.selected}, \"DH1\", \"\")", + "if({./DH2.props.selected}, \"DH2\", \"\")", + "if({./DH3.props.selected}, \"DH3\", \"\")", + "if({./DH4.props.selected}, \"DH4\", \"\")", + "if({./DH5.props.selected}, \"DH5\", \"\")" + ] + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn [v for v in value[\"areas\"] if len(v.value) \u003e 0]\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "props": { + "style": { + "gap": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.CoolingData": { + "binding": { + "config": { + "struct": { + "endDate": "{view.params.endDate}", + "interval": "{../CalculatedFields/Actions/Dropdown.props.value}", + "locations": "{../CalculatedFields/AreaFilter.custom.areaSelection}", + "startDate": "{view.params.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn reports.MBR.coolingdata.doReport(value[\"startDate\"], value[\"endDate\"], \n\t\t\tvalue[\"locations\"], value[\"interval\"])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.CoolingData.measurementDS" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9d40682baa613cb182582043b287612fab294c4d1be048e2db0fe41b3b86fe39 b/Gateways/FE/projects/.resources/9d40682baa613cb182582043b287612fab294c4d1be048e2db0fe41b3b86fe39 new file mode 100644 index 0000000..43aaed2 Binary files /dev/null and b/Gateways/FE/projects/.resources/9d40682baa613cb182582043b287612fab294c4d1be048e2db0fe41b3b86fe39 differ diff --git a/Gateways/FE/projects/.resources/9d5989639cc640c723734516af69252fd2119cc43a3f08741e395559dd148b05 b/Gateways/FE/projects/.resources/9d5989639cc640c723734516af69252fd2119cc43a3f08741e395559dd148b05 new file mode 100644 index 0000000..819dbab Binary files /dev/null and b/Gateways/FE/projects/.resources/9d5989639cc640c723734516af69252fd2119cc43a3f08741e395559dd148b05 differ diff --git a/Gateways/FE/projects/.resources/9d5db8ef88916603ef54c3870e55056752c6473dd09709ab625da3ac2e26842e b/Gateways/FE/projects/.resources/9d5db8ef88916603ef54c3870e55056752c6473dd09709ab625da3ac2e26842e new file mode 100644 index 0000000..77b223c --- /dev/null +++ b/Gateways/FE/projects/.resources/9d5db8ef88916603ef54c3870e55056752c6473dd09709ab625da3ac2e26842e @@ -0,0 +1,123 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Status", + "options": [ + "Open", + "Closed", + "Error" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Comm Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9d97d91135058f6f24274e3c4985b13235b51580d1fca12936c7ffb8b00d620a b/Gateways/FE/projects/.resources/9d97d91135058f6f24274e3c4985b13235b51580d1fca12936c7ffb8b00d620a new file mode 100644 index 0000000..72e7d63 --- /dev/null +++ b/Gateways/FE/projects/.resources/9d97d91135058f6f24274e3c4985b13235b51580d1fca12936c7ffb8b00d620a @@ -0,0 +1,316 @@ +{ + "custom": {}, + "params": { + "Name": "value" + }, + "propConfig": { + "params.Name": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 70, + "width": 70 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "ASP" + }, + "position": { + "height": 70, + "width": 70 + }, + "propConfig": { + "props.elements[1].text": { + "binding": { + "config": { + "path": "view.params.Name" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "name": "group", + "transform": "matrix(8.37628,0,0,8.37628,37.7086,16.5982)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "8.376px" + }, + "type": "text", + "x": "8.842px", + "y": "16.598px" + }, + { + "name": "group", + "transform": "matrix(8.37628,0,0,8.37628,38.0521,48.7459)", + "type": "group" + }, + { + "fill": { + "paint": "#1a32e6" + }, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "8.376px" + }, + "text": "Running", + "type": "text", + "x": "6.85px", + "y": "48.746px" + }, + { + "elements": [ + { + "d": "M33.75,30c-0,-6.209 -5.041,-11.25 -11.25,-11.25c-6.209,-0 -11.25,5.041 -11.25,11.25c-0,6.209 5.041,11.25 11.25,11.25c6.209,-0 11.25,-5.041 11.25,-11.25Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M33.75,30l-16.5,-9.75l0,19.5l16.5,-9.75Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Motor", + "name": "Motor", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "45", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "45", + "x": "0", + "y": "7.5" + }, + { + "d": "M45,7.5l0,45l-45,-0l0,-45l45,0Zm-1.667,1.667l-41.666,-0l-0,41.666l41.666,0l0,-41.666Z", + "fill": { + "paint": "#f00" + }, + "name": "path", + "type": "path" + }, + { + "d": "M45.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M44.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M49.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "44.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M43.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M46.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 53 53" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9e02b930b3916588870bc4336a3544481aeff913feaa261f4a07f7c58e5823c0 b/Gateways/FE/projects/.resources/9e02b930b3916588870bc4336a3544481aeff913feaa261f4a07f7c58e5823c0 new file mode 100644 index 0000000..b1abea2 --- /dev/null +++ b/Gateways/FE/projects/.resources/9e02b930b3916588870bc4336a3544481aeff913feaa261f4a07f7c58e5823c0 @@ -0,0 +1,4 @@ +{ + "resource-type": "file-resource", + "content-type": "audio/mpeg" +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9e513fe7c2eb2ffc8fcd7e56afc72ef48b1d31e7e26953741e908df29d579ee8 b/Gateways/FE/projects/.resources/9e513fe7c2eb2ffc8fcd7e56afc72ef48b1d31e7e26953741e908df29d579ee8 new file mode 100644 index 0000000..1e20ff6 --- /dev/null +++ b/Gateways/FE/projects/.resources/9e513fe7c2eb2ffc8fcd7e56afc72ef48b1d31e7e26953741e908df29d579ee8 @@ -0,0 +1,1011 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "Breaker", + "outputPower": 1, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F13", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, NO", + "Breaker4": "NC, ERMS", + "DL_Left_Right": true, + "DeviceLabel": "DeviceLabel" + } + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "CB_Closed": "{/root/SWBD_CB_3.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027inputPower\u0027] is None:\n\t\tif value[\u0027CB_Closed\u0027] is None:\n\t\t\toutput \u003d 0\n\t\t\treturn output\n\tif value[\u0027inputPower\u0027] and value[\u0027CB_Closed\u0027]:\n\t\toutput \u003d 1\n\telse:\n\t\toutput \u003d 0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 47, + "width": 91 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD_CB_3" + }, + "position": { + "height": 39, + "width": 60, + "x": 19 + }, + "propConfig": { + "custom.BreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Status" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.breakerIn": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.breakerOut": { + "binding": { + "config": { + "expression": "{view.params.inputPower} \u0026\u0026 {this.custom.BreakerClosed}\r\n" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "transparent", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var( --coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[3].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[4].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[5].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "104.167", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "208.333", + "x": "-0", + "y": "58.333" + }, + { + "d": "M208.333,58.333l0,104.167l-208.333,0l-0,-104.167l208.333,0Zm-4.166,4.167l-200,-0l-0,95.833l200,0l-0,-95.833Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M210.323,20.266l36.051,36.051c1.105,1.106 1.105,2.9 -0,4.006l-36.051,36.051c-1.106,1.105 -2.9,1.105 -4.006,-0l-36.051,-36.051c-1.105,-1.106 -1.105,-2.9 0,-4.006l36.051,-36.051c1.106,-1.105 2.9,-1.105 4.006,0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "2.67px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M206.462,66.443l-1.95,-26.303l7.616,-0l-1.889,26.303l-3.777,0Zm-1.767,10.057l-0,-6.137l7.25,-0l-0,6.137l-7.25,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M204.75,26.941c0.744,-1.265 2.102,-2.042 3.57,-2.042c1.468,-0 2.826,0.777 3.57,2.042c7.839,13.339 26.489,45.073 34.417,58.561c0.752,1.281 0.761,2.866 0.024,4.155c-0.738,1.289 -2.109,2.085 -3.595,2.085l-68.832,-0c-1.486,-0 -2.857,-0.796 -3.595,-2.085c-0.737,-1.289 -0.728,-2.874 0.024,-4.155c7.928,-13.488 26.578,-45.222 34.417,-58.561Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "2.67px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M206.257,71.899l-2.164,-27.709l8.454,-0l-2.097,27.709l-4.193,-0Zm-1.961,10.595l-0,-6.466l8.048,0l0,6.466l-8.048,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M235.037,23.23l0,70.18c0,1.474 -1.197,2.671 -2.672,2.671l-48.09,0c-1.475,0 -2.672,-1.197 -2.672,-2.671l-0,-70.18c-0,-1.474 1.197,-2.671 2.672,-2.671l48.09,-0c1.475,-0 2.672,1.197 2.672,2.671Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "2.67px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M206.257,66.901l-2.164,-27.786l8.454,0l-2.097,27.786l-4.193,-0Zm-1.961,10.624l-0,-6.484l8.048,0l0,6.484l-8.048,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "208.32", + "cy": "58.32", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "39.987", + "stroke": { + "paint": "#000", + "width": "2.67px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M198.401,67.958l-2.165,-31.209l8.454,-0l-2.096,31.209l-4.193,0Zm-1.962,11.933l0,-7.282l8.048,0l0,7.282l-8.048,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M214.429,67.958l-2.164,-31.209l8.454,-0l-2.096,31.209l-4.194,0Zm-1.961,11.933l0,-7.282l8.048,0l0,7.282l-8.048,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + }, + { + "elements": [ + { + "d": "M79.167,116.723c6.667,-8.501 14.971,-12.782 25,-12.607c11.634,-0.059 20.088,3.989 25,12.607", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M79.167,96.387c6.667,-7.007 14.971,-10.535 25,-10.391c11.634,-0.048 20.088,3.288 25,10.391", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M54.167,116.647l25.125,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M129.167,116.685l23.284,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M54.167,129.107l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M62.375,129.183l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M154.871,104.187l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M146.663,104.111l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,139.077,16.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "type": "text", + "x": "57.354px", + "y": "16.771px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,137.345,37.6042)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "type": "text", + "x": "57.354px", + "y": "37.604px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,157.762,58.6654)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "type": "text", + "x": "56.624px", + "y": "58.665px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,123.901,79.4873)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "type": "text", + "x": "56.488px", + "y": "79.487px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd" + }, + "viewBox": "0 0 250 163" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "DL_Right" + }, + "position": { + "height": 13, + "width": 40, + "x": 63.4, + "y": 15.6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "!{view.params.textHandler.DL_Left_Right}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.textHandler.DeviceLabel" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "DL_Left" + }, + "position": { + "height": 13, + "width": 40, + "x": -15.6, + "y": 15.6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.textHandler.DL_Left_Right}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.textHandler.DeviceLabel" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9ecc0fe3e52188cb7ffffb2fb677f31f6717b6ea8186a33bdb958bfbe9073374 b/Gateways/FE/projects/.resources/9ecc0fe3e52188cb7ffffb2fb677f31f6717b6ea8186a33bdb958bfbe9073374 new file mode 100644 index 0000000..9f74144 Binary files /dev/null and b/Gateways/FE/projects/.resources/9ecc0fe3e52188cb7ffffb2fb677f31f6717b6ea8186a33bdb958bfbe9073374 differ diff --git a/Gateways/FE/projects/.resources/9f125a783c57491c8b4d31ec233732e48bacc4c912d3e64c50d83c822d79dac1 b/Gateways/FE/projects/.resources/9f125a783c57491c8b4d31ec233732e48bacc4c912d3e64c50d83c822d79dac1 new file mode 100644 index 0000000..832d74e --- /dev/null +++ b/Gateways/FE/projects/.resources/9f125a783c57491c8b4d31ec233732e48bacc4c912d3e64c50d83c822d79dac1 @@ -0,0 +1,146 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Run Delay Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Stop Delay Setpoint " + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Relative Humidity Setpoint" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime Reset" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 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\",\"Int4\")\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# 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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9f3b4995a90256e5b82957dc6671e13c61af28df200d92e1e78a6319ad50cd29 b/Gateways/FE/projects/.resources/9f3b4995a90256e5b82957dc6671e13c61af28df200d92e1e78a6319ad50cd29 new file mode 100644 index 0000000..38c6ee3 --- /dev/null +++ b/Gateways/FE/projects/.resources/9f3b4995a90256e5b82957dc6671e13c61af28df200d92e1e78a6319ad50cd29 @@ -0,0 +1,2528 @@ +{ + "custom": { + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + }, + "filters": { + "alm": [], + "prov": [], + "tag": [] + } + }, + "params": {}, + "propConfig": { + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.filters": { + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "IO GW:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "alignItems": "flex-start", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_Common_IO_Gtwy", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_Common_IO_Gtwy", + "source": "prov" + }, + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_SATB1_IO1_default", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_SATB1_IO1_default", + "source": "prov" + } + ], + "path": "Library/Templates/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tsystem.perspective.sendMessage(\u0027clearFilters\u0027, {\n\t\t\u0027source\u0027: source\n\t})\n\tself.parent.parent.parent.parent.getChild(\"AlarmStatusTable\").custom.filters[source] \u003d []" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "prov" + }, + "position": { + "display": false, + "grow": 1 + }, + "props": { + "style": { + "borderBottom": "1px solid var(--border)", + "borderTop": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "Quick Search:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.instances": { + "persistent": true + }, + "props.instances[14].label": { + "binding": { + "config": { + "expression": "\u0027\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH101", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH102", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH201", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH202", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH203", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "CHWS", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Electrical", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--neutral-50)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "", + "mode": "Custom", + "selected": false, + "source": "tag" + } + ], + "path": "Library/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tself.view.custom.filters[source] \u003d []\n\tflexRepeater \u003d self.parent.parent.getChild(\"FlexRepeater\")\n\ttoDelete \u003d []\n\tfor i, instance in enumerate(flexRepeater.props.instances):\n\t\tinstance[\u0027selected\u0027] \u003d False\n\t\tif instance[\u0027mode\u0027] \u003d\u003d \u0027Custom\u0027:\n\t\t\tinstance[\u0027label\u0027] \u003d \u0027\u0027\n\t\t\tif i \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\ttoDelete.append(i)\n\tfor index in reversed(toDelete):\n\t\tflexRepeater.props.instances.pop(index)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "tag" + }, + "position": { + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "RadioGroup" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "expression": "0" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "radioStyle": { + "padding": "0px 10px" + }, + "radios": [ + { + "selected": true, + "text": "Match on ANY", + "value": 0 + }, + { + "selected": false, + "text": "Match on ALL", + "value": 1 + } + ], + "style": { + "borderLeft": "1px solid var(--border)", + "borderRight": "1px solid var(--border)", + "fontSize": "0.8em", + "padding": "4px 5px" + } + }, + "type": "ia.input.radio-group" + }, + { + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "navigate", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "Goto", + "type": "method" + } + ] + }, + "name": "AlarmStatusTable" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.enableAcknowledge": { + "binding": { + "config": { + "path": "view.custom.auth.almAck" + }, + "type": "property" + } + }, + "props.enableShelve": { + "binding": { + "config": { + "path": "view.custom.auth.almShelve" + }, + "type": "property" + } + }, + "props.enableUnshelve": { + "binding": { + "config": { + "path": "view.custom.auth.almShelve" + }, + "type": "property" + } + } + }, + "props": { + "columns": { + "active": { + "activeTime": { + "width": 70 + }, + "displayPath": { + "order": 3, + "width": 250 + }, + "label": { + "enabled": true, + "order": 2 + }, + "name": { + "enabled": false + }, + "priority": { + "order": 4, + "width": 40 + }, + "source": { + "order": 6 + }, + "state": { + "order": 5, + "width": 75 + } + } + }, + "filters": { + "active": { + "conditions": { + "label": "" + }, + "priorities": { + "critical": false, + "high": false, + "low": false, + "medium": false + }, + "results": { + "data": [ + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "2025-08-06 17:50:19.463+0000", + "ackUser": "bgonzales", + "activePipeline": "", + "activeTime": "2025-08-04 12:21:03.934+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH2 Electrical Communcation Loss", + "eventId": "0f1a3251-09c4-4835-9939-2ba918a08ce2", + "eventTime": "2025-08-06 17:50:19.463+0000", + "eventValue": "false", + "isAcked": "true", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1271_PDU_P2-2-3", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO2_default:/tag:GAL1271/SATB1_GAL1271_PDU_P2-2-3/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Acknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "2025-08-06 17:59:31.862+0000", + "ackUser": "therman", + "activePipeline": "", + "activeTime": "2025-08-04 12:21:03.935+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH2 Electrical Communcation Loss", + "eventId": "e9c57742-58e1-4762-a803-66a371a84133", + "eventTime": "2025-08-06 17:59:31.862+0000", + "eventValue": "false", + "isAcked": "true", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1271_PDU_P2-3-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO2_default:/tag:GAL1271/SATB1_GAL1271_PDU_P2-3-4/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Acknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "2025-08-22 01:20:56.511+0000", + "ackUser": "bgonzales", + "activePipeline": "", + "activeTime": "2025-08-04 12:21:03.935+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH2 Electrical Communcation Loss", + "eventId": "3ba8e4fe-169b-40d3-b6c7-8af0036fda2e", + "eventTime": "2025-08-22 01:20:56.511+0000", + "eventValue": "false", + "isAcked": "true", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1271_PDU_P2-3-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO2_default:/tag:GAL1271/SATB1_GAL1271_PDU_P2-3-1/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Acknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "2025-08-22 01:20:56.511+0000", + "ackUser": "bgonzales", + "activePipeline": "", + "activeTime": "2025-08-04 12:21:03.935+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH2 Electrical Communcation Loss", + "eventId": "3747c5db-517d-43d2-8777-82b0a275baf5", + "eventTime": "2025-08-22 01:20:56.511+0000", + "eventValue": "false", + "isAcked": "true", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1271_PDU_P2-2-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO2_default:/tag:GAL1271/SATB1_GAL1271_PDU_P2-2-4/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Acknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-28 22:38:10.566+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH1 Electrical Communcation Loss", + "eventId": "39623807-0f9d-4780-9b71-03954588db40", + "eventTime": "2025-10-28 22:38:10.566+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1261_PDU_P1-4-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO1_default:/tag:GAL1261/SATB1_GAL1261_PDU_P1-4-1/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:17:50.760+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "15aa9f3c-f8c1-461b-9b1a-679eeeb274bc", + "eventTime": "2025-09-25 18:17:50.760+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-5-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-5-4/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:17:50.759+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "35d28fbe-72d8-4f59-bdec-4defd479f53f", + "eventTime": "2025-09-25 18:17:50.759+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-5-2", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-5-2/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:17:50.760+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "a4b911ab-e69c-4c6c-a8ed-24592d3c5e99", + "eventTime": "2025-09-25 18:17:50.760+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-5-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-5-1/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:18:30.763+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "f568c1ee-cd3b-4ea1-8d3f-c116787f3acb", + "eventTime": "2025-09-25 18:18:30.763+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-4-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-4-1/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:18:30.763+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "94ab84b0-0974-4bb4-a3d3-005d60e987a2", + "eventTime": "2025-09-25 18:18:30.763+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-4-3", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-4-3/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:18:30.763+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "87adecfa-5b19-40ce-a30d-a7226e46eed5", + "eventTime": "2025-09-25 18:18:30.763+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-4-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-4-4/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:18:30.763+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "6348e933-de0e-48fc-9af3-15784c2b6424", + "eventTime": "2025-09-25 18:18:30.763+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-4-2", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-4-2/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:19:10.768+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "44b14243-854d-440b-9e1d-bc7b8848e5a6", + "eventTime": "2025-09-25 18:19:10.768+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-3-3", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-3-3/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:19:10.769+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "38aabc7c-9e48-472f-acce-c9fd5b9b1aea", + "eventTime": "2025-09-25 18:19:10.769+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-3-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-3-1/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:19:10.769+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "76f696cc-4676-4d4a-8189-a6042f7c3f05", + "eventTime": "2025-09-25 18:19:10.769+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-3-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-3-4/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:19:10.769+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "9479c4c5-2dec-43d6-b7cd-86845dc60127", + "eventTime": "2025-09-25 18:19:10.769+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-3-2", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-3-2/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:19:50.773+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "4d072fad-6323-4402-bd81-71575a0dd9ee", + "eventTime": "2025-09-25 18:19:50.773+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-2-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-2-4/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:19:50.773+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "697e8b3d-e1b1-4e02-9735-6c516d76fd5f", + "eventTime": "2025-09-25 18:19:50.773+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-2-3", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-2-3/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:20:10.775+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "2400f524-86f8-40f9-aeac-25e56a973f88", + "eventTime": "2025-09-25 18:20:10.775+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-2-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-2-1/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:20:10.776+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "d325f311-83c9-4993-b357-202404c41427", + "eventTime": "2025-09-25 18:20:10.776+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-2-2", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-2-2/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:20:50.779+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "5efc4b28-4d42-416a-a839-00826a7a46ea", + "eventTime": "2025-09-25 18:20:50.779+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-1-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-1-1/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:20:50.779+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "914cef28-a6f6-4dc1-86cb-1ccd9d8eeeb3", + "eventTime": "2025-09-25 18:20:50.779+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-1-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-1-4/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 19:57:11.452+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "497622c1-0bf4-449e-a980-d58d7d1d9a7b", + "eventTime": "2025-09-25 19:57:11.452+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-1-3", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-1-3/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 19:57:11.452+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "24307957-7e95-4d8b-a18f-35f64329e5ef", + "eventTime": "2025-09-25 19:57:11.452+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-1-2", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-1-2/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:17:30.757+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "2c0d0c51-d4ee-4712-9fd1-eff9c7e9c6a2", + "eventTime": "2025-09-25 18:17:30.757+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-5-3", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-5-3/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-07 15:25:13.698+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P4 Electrical Not In Auto Alarm", + "eventId": "24ef88c3-cac9-46eb-9ba6-ca85f7b010f0", + "eventTime": "2025-11-07 15:25:13.698+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P4-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P4-1/Alarms/Not In Auto:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 18:17:55.616+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "FCV CHWS DH3 Alarm Summary", + "eventId": "12868b23-8664-46bb-85a2-36465e49ddb9", + "eventTime": "2025-11-10 18:17:55.616+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_DH1170_FCV71", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:DH3/SATB1_DH1170_FCV71/Alarms/Alarm Summary:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 18:17:55.616+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "FCV CHWS DH3 Alarm Stall", + "eventId": "c6c075ce-a5bf-4c47-81b2-b46f8b367a78", + "eventTime": "2025-11-10 18:17:55.616+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_DH1170_FCV71", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:DH3/SATB1_DH1170_FCV71/Alarms/Alarm Stall:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 15:55:15.647+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P4 Electrical Emergency Stop Alarm", + "eventId": "a7ea3bc9-2c98-461e-ac35-0e47c43943a5", + "eventTime": "2025-11-10 15:55:15.647+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P4-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P4-4/Alarms/Emergency Stop:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 15:55:15.647+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P4 Electrical Not In Auto Alarm", + "eventId": "3bbcc899-c3b4-462b-a5ca-42b2f3ee6787", + "eventTime": "2025-11-10 15:55:15.647+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P4-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P4-4/Alarms/Not In Auto:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 14:53:46.747+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P4 Electrical Emergency Stop Alarm", + "eventId": "1ed80ebb-077c-4e02-8b05-4d188b276018", + "eventTime": "2025-11-10 14:53:46.747+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P4-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P4-1/Alarms/Emergency Stop:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-21 15:22:41.658+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P5 Electrical Tripped", + "eventId": "a33c7c7d-2ecd-454a-8f3b-119e25c384d8", + "eventTime": "2025-10-21 15:22:41.658+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_5", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-5/Alarms/Tripped:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-21 15:22:41.658+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P5 Electrical Tripped", + "eventId": "501d2e78-9954-4f31-9adf-1d055dbdf6b0", + "eventTime": "2025-10-21 15:22:41.658+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-4/Alarms/Tripped:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-17 14:35:55.629+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "HUM DH1 Alarm Summary", + "eventId": "a8c7ca67-2ddc-40be-a0e5-16f25197aebc", + "eventTime": "2025-10-17 14:35:55.629+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1262_HUM_01", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:GAL1262/SATB1_GAL1262_HUM_01/Alarms/Alarm Summary:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-17 14:33:35.651+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "AnalogIn DH1 Alarm Fail", + "eventId": "02daede6-8845-4d57-afe4-89a1e551e3d5", + "eventTime": "2025-10-17 14:33:35.651+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_DH1_COR_DP_01", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:DH1/SATB1_DH1_COR_DP_01/Alarms/Alarm Fail:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-17 13:54:55.637+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "AnalogIn DH2 Alarm Fail", + "eventId": "8b142537-2ce4-4896-8d78-95a0bbc80457", + "eventTime": "2025-10-17 13:54:55.637+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_DH2_COR_DP_01", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:DH2/SATB1_DH2_COR_DP_01/Alarms/Alarm Fail:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-16 21:01:15.718+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "FCV CHWS Alarm Summary", + "eventId": "0a92c244-76a6-46f5-a73b-67ed4de21e12", + "eventTime": "2025-10-16 21:01:15.718+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CHW_TES09_MOV60", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1140/SATB1_CHW_TES09_MOV60/Alarms/Alarm Summary:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-16 21:01:15.717+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "FCV CHWS Alarm Stall", + "eventId": "ebef434e-2d41-4c8b-bec9-7697438be56f", + "eventTime": "2025-10-16 21:01:15.717+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CHW_TES09_MOV60", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1140/SATB1_CHW_TES09_MOV60/Alarms/Alarm Stall:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-02 19:02:41.430+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P3 Electrical Tripped", + "eventId": "e32cf225-772e-4530-8853-5b5e00a31ba5", + "eventTime": "2025-10-02 19:02:41.430+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_2", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-2/Alarms/Tripped:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-02 19:02:41.429+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P3 Electrical Tripped", + "eventId": "c4c11b80-3fb5-4831-b441-b83404920614", + "eventTime": "2025-10-02 19:02:41.429+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-1/Alarms/Tripped:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-02 19:02:37.952+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P3 Electrical Tripped", + "eventId": "5c13a2a1-3cfb-4153-a70c-1004c91d9cd3", + "eventTime": "2025-10-02 19:02:37.952+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_3", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-3/Alarms/Tripped:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 15:55:15.647+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P4 Electrical Shutdown Alarm", + "eventId": "88370823-cffe-413f-9618-a2920eade08a", + "eventTime": "2025-11-10 15:55:15.647+0000", + "eventValue": "4", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P4-4", + "name": "Alarm", + "notes": "", + "priority": "High", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P4-4/Alarms/Shutdown:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "SDC_SAT_B1/Alarm_Active", + "ackTime": "2025-09-07 12:11:26.696+0000", + "ackUser": "bgonzales", + "activePipeline": "SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-07-31 17:15:36.529+0000", + "clearPipeline": "SDC_SAT_B1/Alarm_Active", + "clearTime": "", + "deadband": "0.0", + "displayPath": "Alarm Test/Notification Email", + "eventId": "3b04cbd7-93b4-4cc2-a2aa-35cb05817a35", + "eventTime": "2025-09-07 12:11:26.696+0000", + "eventValue": "true", + "isAcked": "true", + "isActive": "true", + "isClear": "false", + "label": "Notification Email", + "name": "Notification Email", + "notes": "", + "priority": "Medium", + "source": "prov:default:/tag:Alarm Test:/alm:Notification Email", + "state": "Active, Acknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "2025-10-17 18:12:26.449+0000", + "ackUser": "ahadnot", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-17 15:22:55.644+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "Plant Failures CHWS Flow Difference Alarm", + "eventId": "07dc5132-aa07-46c8-9e33-8feaf00f868d", + "eventTime": "2025-10-17 18:12:26.449+0000", + "eventValue": "true", + "isAcked": "true", + "isActive": "true", + "isClear": "false", + "label": "SATB1_PlantFailureParameters", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1140/PLC Tags/SATB1_PlantFailureParameters/Alarms/Flow Difference Alarm:/alm:Alarm", + "state": "Active, Acknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "2025-11-05 20:54:37.572+0000", + "ackUser": "jramirez", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-21 15:22:41.669+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PANEL AC Primary Power Fault P5.5 Electrical SATB1_ER1165_PNL26", + "eventId": "6b0bd1b2-adcc-4a0a-82ac-a5d555dd5bea", + "eventTime": "2025-11-05 20:54:37.572+0000", + "eventValue": "true", + "isAcked": "true", + "isActive": "true", + "isClear": "false", + "label": "SATB1_ER1165_PNL26", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:ER1165/SATB1_ER1165_PNL26/AC Primary Power Fault/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Acknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:27:58.458+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P5 Electrical Communication Failure Alarm", + "eventId": "5a1a1b6e-6cd1-4e95-a557-a143dd47a4bc", + "eventTime": "2025-10-30 20:27:58.458+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P5-1", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P5-1/Alarms/Communication Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 15:58:45.572+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P4 Electrical Lowe Coolant Temperature Alarm", + "eventId": "40585579-03df-46e8-b2d3-85f9471cf381", + "eventTime": "2025-11-10 15:58:45.572+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P4-5", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P4-5/Alarms/Lowe Coolant Temperature:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 15:19:36.516+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P4 Electrical Lowe Coolant Temperature Alarm", + "eventId": "b245ea29-0c82-45c0-8219-fc29434970b9", + "eventTime": "2025-11-10 15:19:36.516+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P4-4", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P4-4/Alarms/Lowe Coolant Temperature:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 14:25:11.489+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DOAS Communication Loss Alarm", + "eventId": "5c73fe00-eb68-4c0b-8d76-3dcdb59fabc5", + "eventTime": "2025-11-10 14:25:11.489+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_RF_DOAS01", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Roof/SATB1_RF_DOAS01/Alarms/Communication Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 12:33:55.634+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "HUM DH1 Alarm Critical", + "eventId": "1f1ec8b0-4afe-492a-a872-c3bdaeb37209", + "eventTime": "2025-11-10 12:33:55.634+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1261_HUM_03", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:GAL1261/SATB1_GAL1261_HUM_03/Alarms/Alarm Critical:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:27:58.457+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P5 Electrical Comm Failure", + "eventId": "e56fa8c7-9835-47df-92f0-4e5f7659c4cf", + "eventTime": "2025-10-30 20:27:58.457+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_1", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-1/Alarms/Comm Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:27:56.456+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P5 Electrical Communication Failure Alarm", + "eventId": "ba636b03-d607-44aa-bc8a-12eafe67651f", + "eventTime": "2025-10-30 20:27:56.456+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P5-2", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P5-2/Alarms/Communication Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:27:54.454+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P5 Electrical Comm Failure", + "eventId": "1aef8208-2be5-4512-8166-7ff2df60b3a0", + "eventTime": "2025-10-30 20:27:54.454+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_2", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-2/Alarms/Comm Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:20:45.805+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P5 Electrical Comm Failure", + "eventId": "19619cbd-8371-46dc-8969-4b1750d1ed5d", + "eventTime": "2025-10-30 20:20:45.805+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_3", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-3/Alarms/Comm Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:20:45.804+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P5 Electrical Communication Failure Alarm", + "eventId": "10baf1e9-c3ac-44ae-a5df-05194feb1529", + "eventTime": "2025-10-30 20:20:45.804+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P5-3", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P5-3/Alarms/Communication Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:15:30.461+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P5 Electrical Communication Failure Alarm", + "eventId": "c1eeb016-3276-4c2c-94b0-f6a6dcd10870", + "eventTime": "2025-10-30 20:15:30.461+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P5-4", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P5-4/Alarms/Communication Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:15:30.460+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P5 Electrical Comm Failure", + "eventId": "bdef7ed9-f0d9-4373-8967-64c5bb84486d", + "eventTime": "2025-10-30 20:15:30.460+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_4", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-4/Alarms/Comm Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:15:28.458+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P5 Electrical Communication Failure Alarm", + "eventId": "dce9ae81-94e8-4d37-89a7-3fe363e5d8bd", + "eventTime": "2025-10-30 20:15:28.458+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P5-5", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P5-5/Alarms/Communication Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:15:28.458+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P5 Electrical Comm Failure", + "eventId": "f842e846-9d6e-4c0a-a8ca-35e77755894d", + "eventTime": "2025-10-30 20:15:28.458+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_5", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-5/Alarms/Comm Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-28 14:38:40.712+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "LLS DH3 Alarm Fail to Add", + "eventId": "aa6500c6-619b-4561-815f-b6163a52e4dd", + "eventTime": "2025-10-28 14:38:40.712+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_DH3_STU_LLS", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:DH3/SATB1_DH3_STU_LLS/Alarms/Alarm Fail to Add:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-21 15:03:50.685+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DiscreteIn M7 Electrical Alarm Target Disagree", + "eventId": "bbcd1617-b2fc-4b32-9db4-845a8baabd1b", + "eventTime": "2025-10-21 15:03:50.685+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_MPR1247_M7_SPD", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1247/SATB1_MPR1247_M7_SPD/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-17 14:35:55.629+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "HUM DH1 Alarm Device Fault", + "eventId": "34c7a024-3409-4943-94d1-8db0c6d43e15", + "eventTime": "2025-10-17 14:35:55.629+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1262_HUM_01", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:GAL1262/SATB1_GAL1262_HUM_01/Alarms/Alarm Device Fault:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-17 14:35:55.628+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "HUM DH1 Alarm Comm Fail", + "eventId": "44948d25-ea65-4e38-ba32-3035d07eaf8b", + "eventTime": "2025-10-17 14:35:55.628+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1262_HUM_01", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:GAL1262/SATB1_GAL1262_HUM_01/Alarms/Alarm Comm Fail:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-16 22:14:15.696+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "FCV CHWS Alarm Fault", + "eventId": "14b8dbfb-5d5c-4b1d-801d-f3cacb015c42", + "eventTime": "2025-10-16 22:14:15.696+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CHW_TES09_MOV60", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1140/SATB1_CHW_TES09_MOV60/Alarms/Alarm Fault:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-14 15:05:40.074+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN M1 Electrical Fuel High Level Alarm", + "eventId": "b28c34d9-763a-4a27-ae6a-d230c8c00b4e", + "eventTime": "2025-10-14 15:05:40.074+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-M1", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-M1/Alarms/Fuel High Level:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-02 19:54:57.620+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P3 Electrical Fuel High Level Alarm", + "eventId": "48ea6c5d-e61a-4a7d-92a8-118cb006dcfa", + "eventTime": "2025-10-02 19:54:57.620+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P3-2", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P3-2/Alarms/Fuel High Level:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-29 20:16:23.090+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DiscreteIn M8 Electrical Alarm Target Disagree", + "eventId": "d004c012-e047-4750-9772-04fd51c93a5b", + "eventTime": "2025-09-29 20:16:23.090+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_MPR1247_M8_SPD", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1247/SATB1_MPR1247_M8_SPD/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-29 19:48:23.734+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DiscreteIn P3.5 Electrical Alarm Target Disagree", + "eventId": "d0e0ba62-e761-414d-bc34-904adeea98e2", + "eventTime": "2025-09-29 19:48:23.734+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_ER1159_SPD", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:ER1159/SATB1_ER1159_SPD/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-29 18:40:14.508+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DiscreteIn M5 Electrical Alarm Target Disagree", + "eventId": "46419923-1dd0-444f-b5ed-fd5ee869b223", + "eventTime": "2025-09-29 18:40:14.508+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_MPR1150_M5_SPD", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1150/SATB1_MPR1150_M5_SPD/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-29 18:40:12.521+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DiscreteIn M6 Electrical Alarm Target Disagree", + "eventId": "41cc9dbf-0421-4229-9331-39acc0675f09", + "eventTime": "2025-09-29 18:40:12.521+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_MPR1150_M6_SPD", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1150/SATB1_MPR1150_M6_SPD/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-29 14:54:10.261+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DiscreteIn M3 Electrical Alarm Target Disagree", + "eventId": "c940df37-df51-41d8-814c-34c37cf72152", + "eventTime": "2025-09-29 14:54:10.261+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_MPR1241_M3_SPD", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1241/SATB1_MPR1241_M3_SPD/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-29 14:19:49.058+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM M1 Electrical Comm Failure", + "eventId": "ebb3afd5-fb93-45ba-ae9e-d45de3ea9886", + "eventTime": "2025-09-29 14:19:49.058+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_M1", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-M1/Alarms/Comm Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-29 14:17:54.946+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DiscreteIn M1 Electrical Alarm Target Disagree", + "eventId": "f2372ff4-9cf2-467b-be4f-aa36c3bc872c", + "eventTime": "2025-09-29 14:17:54.946+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_MPR1240_M1_SPD", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1240/SATB1_MPR1240_M1_SPD/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-07 21:58:12.790+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "RTU Outside Air Flow High", + "eventId": "99965af1-1546-4ce3-8eae-41a295b4c1c4", + "eventTime": "2025-11-07 21:58:12.790+0000", + "eventValue": "7625.0", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_RF_RTU02", + "name": "High", + "notes": "", + "priority": "Low", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Roof/SATB1_RF_RTU02/Outside Air Flow:/alm:High", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 02:00:59.228+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "FCU Filter Alarm", + "eventId": "ab964b38-d044-4aa0-a265-ea088081134d", + "eventTime": "2025-11-10 02:00:59.228+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_HS2_IDF1274_FCU14", + "name": "Alarm", + "notes": "", + "priority": "Low", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:IDF1274/SATB1_HS2_IDF1274_FCU14/Alarms/Filter Alarm:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-30 09:42:44.850+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "RM1102/SATB1_RM1102_Fire System Panel/Fire alarm Supervisory (Notification Alarm)/Alarm", + "eventId": "30cc7ee0-d54c-4be5-9efa-edb212fcffd5", + "eventTime": "2025-09-30 09:42:44.850+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_RM1102_Fire System Panel", + "name": "Alarm", + "notes": "", + "priority": "Low", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:RM1102/SATB1_RM1102_Fire System Panel/Fire alarm Supervisory (Notification Alarm):/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-17 13:15:19.159+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "RM1102/SATB1_RM1102_Fire System Panel/Fire Alarm Trouble/Alarm", + "eventId": "f4ddab0a-fdb4-4599-9458-b6ec6d2032b6", + "eventTime": "2025-09-17 13:15:19.159+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_RM1102_Fire System Panel", + "name": "Alarm", + "notes": "", + "priority": "Low", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:RM1102/SATB1_RM1102_Fire System Panel/Fire Alarm Trouble:/alm:Alarm", + "state": "Active, Unacknowledged" + } + ], + "enabled": true + }, + "states": { + "clearUnacked": false + } + }, + "shelved": { + "results": { + "enabled": true + } + } + }, + "pager": { + "initialOption": 50 + }, + "rowStyles": { + "activeAcked": { + "priorities": { + "critical": { + "backgroundColor": "#e2202888" + }, + "high": { + "backgroundColor": "#de7c3388" + }, + "low": { + "backgroundColor": "#7266b788" + }, + "medium": { + "backgroundColor": "#f4b83488" + } + } + }, + "activeUnacked": { + "priorities": { + "critical": { + "backgroundColor": "var(--alarm-critical)" + }, + "high": { + "backgroundColor": "var(--alarm-high)" + }, + "low": { + "backgroundColor": "var(--alarm-low)" + }, + "medium": { + "backgroundColor": "var(--alarm-medium)" + } + } + } + }, + "shelvingTimes": [ + 2592000, + 43200, + 1800, + 3600, + 7200, + 14400 + ], + "toolbar": { + "enableConfiguration": false, + "enableFilter": false, + "enableFilterResults": false, + "enablePreFilters": false, + "toggleableFilter": false + } + }, + "scripts": { + "customMethods": [ + { + "name": "convertToDict", + "params": [ + "input_str" + ], + "script": " # Split by \u0027:/\u0027, keeping \u0027:\u0027 within key-value pairs\n parts \u003d input_str.split(\u0027:/\u0027)\n result_dict \u003d {}\n \n # Loop through the parts and create key-value pairs\n for part in parts:\n key, value \u003d part.split(\u0027:\u0027, 1)\n result_dict[key] \u003d value\n \n return result_dict" + }, + { + "name": "navigate", + "params": [], + "script": "\tsystem.perspective.print(\"Context Click\")\n\tif len(self.props.selection.active.data) \u003d\u003d 1:\n\t\t#prov:Ignition_SATB1_IO1_default:/tag:Datahall 1/Development/UT HS1/Alarms/Vacuum Fault Interrupter_VF-1 Tripped:/alm:Alarm\n\t\t#prov:Ignition_Common_IO_Gtwy:/tag:Electrical/SES 1B/SEL 3/Over Current:/alm:Over Current\n\t\tsrcPath \u003d self.props.selection.active.data[0].source \n\t\tparams \u003d utils.nav.openL4AlarmPopup(srcPath)\n\t\t\n\t\tsystem.perspective.print(\"Params: %s\"%(params))\n\t\tutils.nav.openEQPopup(params[\"objectName\"], params[\"tagPath\"], modal\u003dTrue, resizable\u003dTrue, draggable\u003dTrue)" + } + ], + "extensionFunctions": [ + { + "enabled": true, + "name": "filterAlarm", + "script": "\tresult \u003d True\n\tsource \u003d self.convertToDict(alarmEvent.get(\u0027source\u0027).toString())\n\tprov \u003d source[\u0027prov\u0027]\n\ttag \u003d alarmEvent.get(\u0027displayPath\u0027).toString() #source[\u0027tag\u0027]\n\talm \u003d source[\u0027alm\u0027]\n\t\n\tfilters \u003d self.view.custom.filters\n\tmatchRule \u003d self.getSibling(\"RadioGroup\").props.value\n\t\n\tif len(filters[\u0027prov\u0027]) \u003e 0:\n\t\tif prov not in filters[\u0027prov\u0027]:\n\t\t\tresult \u003d False\n\t\t\t\n\tif len(filters[\u0027tag\u0027]) \u003e 0:\n\t if matchRule \u003d\u003d 0: # match on ANY\n\t result \u003d False \n\t for t in filters[\u0027tag\u0027]:\n\t if t.upper() in tag.upper():\n\t result \u003d True\n\t break # If any tag matches, we can break out of the loop\n\t elif matchRule \u003d\u003d 1: # match on ALL\n\t for t in filters[\u0027tag\u0027]:\n\t if t.upper() not in tag.upper():\n\t result \u003d False\n\t break # If any tag doesn\u0027t match, stop and return False\n\t\n\treturn result\n\n#\tresult \u003d True\n#\tsource \u003d self.convertToDict(alarmEvent.get(\u0027source\u0027).toString())\n#\tprov \u003d source[\u0027prov\u0027]\n#\ttag \u003d source[\u0027tag\u0027]\n#\talm \u003d source[\u0027alm\u0027]\n#\t\n#\tfilters \u003d self.view.custom.filters\n#\tmatchRule \u003d self.getSibling(\"RadioGroup\").props.value\n#\t\n#\tif len(filters[\u0027prov\u0027]) \u003e 0:\n#\t\tif prov not in filters[\u0027prov\u0027]:\n#\t\t\tresult \u003d False\n#\t\t\t\n#\tif len(filters[\u0027tag\u0027]) \u003e 0:\n#\t if matchRule \u003d\u003d 0: # match on ANY\n#\t result \u003d False \n#\t for t in filters[\u0027tag\u0027]:\n#\t if t.upper() in tag.upper():\n#\t result \u003d True\n#\t break # If any tag matches, we can break out of the loop\n#\t elif matchRule \u003d\u003d 1: # match on ALL\n#\t for t in filters[\u0027tag\u0027]:\n#\t if t.upper() not in tag.upper():\n#\t result \u003d False\n#\t break # If any tag doesn\u0027t match, stop and return False\n#\t\n#\treturn result" + }, + { + "enabled": false, + "name": "filterShelvedAlarm", + "script": null + } + ], + "messageHandlers": [] + }, + "type": "ia.display.alarmstatustable" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "addFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index].selected \u003d True", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "customFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(\u0027tag\u0027).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index][\u0027selected\u0027] \u003d True\n\t\tflexRepeater.props.instances[index][\u0027label\u0027] \u003d label\n\t\tflexRepeater.props.instances.append({\n\t\t\t\"color\": \"var(--neutral-50)\",\n\t\t\t\"filterString\": \"\",\n\t\t\t\"instancePosition\": {},\n\t\t\t\"instanceStyle\": {\n\t\t\t\"classes\": \"\"\n\t\t\t},\n\t\t\t\"mode\": \"Custom\",\n\t\t\t\"selected\": False,\n\t\t\t\"source\": \"tag\",\n\t\t\t\"label\": \"\"\n\t\t\t})", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "removeFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\ti \u003d self.view.custom.filters[source].index(label)\n\t\tself.view.custom.filters[source].pop(i)\n\t\tflexRepeater.props.instances[index].selected \u003d False\n\t\tif flexRepeater.props.instances[index].mode \u003d\u003d \u0027Custom\u0027:\n\t\t\tflexRepeater.props.instances[index].label \u003d \u0027\u0027\n\t\t\tif index \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\tflexRepeater.props.instances.pop(index)\n\telse:\n\t\tpass", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9f5b1bb28da8d975c5f1026f4a2b317d3fe0837a805739f5a9765c05f4b1762b b/Gateways/FE/projects/.resources/9f5b1bb28da8d975c5f1026f4a2b317d3fe0837a805739f5a9765c05f4b1762b new file mode 100644 index 0000000..54176fc --- /dev/null +++ b/Gateways/FE/projects/.resources/9f5b1bb28da8d975c5f1026f4a2b317d3fe0837a805739f5a9765c05f4b1762b @@ -0,0 +1,5732 @@ +{ + "custom": { + "Available": [ + "GAL1181", + "GAL1182", + "GAL1171", + "GAL1172" + ], + "ColorHandler": { + "Wall": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "GAL1171": "#BAEDFF", + "GAL1172": "#BAEDFF", + "GAL1181": "#BAEDFF", + "GAL1182": "#BAEDFF" + }, + "selected": "room" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\toutput[room] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "custom": { + "data": "value" + }, + "meta": { + "name": "First Floor" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1171" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1172" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1181" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1182" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[19].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[20].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[21].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[22].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[23].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[24].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[25].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[26].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[27].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[28].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[29].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[30].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[31].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[32].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[33].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[34].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[35].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[36].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[37].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[38].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[39].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[40].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1199-STAIR-C", + "name": "_1199-STAIR-C", + "type": "rect", + "width": "203.609", + "x": "1515.85", + "y": "1178.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.399", + "id": "_1197-2-CORRIDOR-H-2", + "name": "_1197-2-CORRIDOR-H-2", + "type": "rect", + "width": "1467.31", + "x": "183.815", + "y": "1134.85" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "41.332", + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": "1996.06", + "x": "1651.13", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.25", + "id": "_1194-1-CORRIDOR-E-2", + "name": "_1194-1-CORRIDOR-E-2", + "type": "rect", + "width": "2592.5", + "x": "1567.63", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1198-STAIR-B", + "name": "_1198-STAIR-B", + "type": "rect", + "width": "203.609", + "x": "3802.52", + "y": "1177.63" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "206.163", + "id": "_1183-STAIRS-D", + "name": "_1183-STAIRS-D", + "type": "rect", + "width": "86.751", + "x": "1.377", + "y": "358.889" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "169.655", + "id": "_1194-1-CORRIDOR-E-3", + "name": "_1194-1-CORRIDOR-E-3", + "type": "rect", + "width": "48.02", + "x": "3607.37", + "y": "1.095" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "899.5", + "id": "_1193-CORRIDOR-D", + "name": "_1193-CORRIDOR-D", + "type": "rect", + "width": "84", + "x": "2894.63", + "y": "235.5" + }, + { + "d": "M1488.64,1134.85l164.275,0.149l-0.034,-139.5l-83.689,0.074l0,-608.074l83.689,0.105l0,-44.605l-83.689,0l0,-107.649l-80.561,0l0.009,899.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1195-CORRIDOR-F", + "name": "_1195-CORRIDOR-F", + "type": "path" + }, + { + "d": "M183.628,1134.85l63.25,0l0,-792.224l-84.75,-0l0,-107.276l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1196-CORRIDOR-G", + "name": "_1196-CORRIDOR-G", + "type": "path" + }, + { + "d": "M3647.19,1178.01l-0.308,-42.395l-35.25,-0l0,-428.611l65,-0l0,329.711l163.5,0.433l-0.113,141.356l-192.829,-0.494Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1192-CORRIDOR-C", + "name": "_1192-CORRIDOR-C", + "type": "path" + }, + { + "d": "M4160.13,138.5l0,96.851l68.5,0l0,406.899l73.372,0l-0,-173.99l58.628,-0l0,-38.859l-58.628,-0l-0.372,-141.301l228.25,-0.1l0,-48.75l-222.014,-0l-0,-100.75l-147.736,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1191-CORRIDOR-B", + "name": "_1191-CORRIDOR-B", + "type": "path" + }, + { + "d": "M4478.59,735.5l-118.361,-0l-0.38,-28.5l-748.22,-0l0,-65.105l690.372,0.427l-0,5.178l44.403,0l0,-43.801l74.63,0l0.308,43.801l56.816,-0.335l0.432,88.335Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1190-CORRIDOR-A", + "name": "_1190-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.101", + "id": "_1194-1-CORRIDOR-E-1", + "name": "_1194-1-CORRIDOR-E-1", + "type": "rect", + "width": "1479.25", + "x": "88.378", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1123-STAIR-A", + "name": "_1123-STAIR-A", + "type": "rect", + "width": "58.434", + "x": "4477.3", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "288" + } + ], + "id": "Corridors-and-stairs", + "name": "Corridors-and-stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1165-elec", + "name": "_1165-elec", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1164-ER", + "name": "_1164-ER", + "type": "rect", + "width": "232", + "x": "329.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1163-ER", + "name": "_1163-ER", + "type": "rect", + "width": "232", + "x": "561.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1162-ER", + "name": "_1162-ER", + "type": "rect", + "width": "232", + "x": "793.628", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1161-ER", + "name": "_1161-ER", + "type": "rect", + "width": "232", + "x": "1025.63", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1160-ER", + "name": "_1160-ER", + "type": "rect", + "width": "238.155", + "x": "1258.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1159-MEP-ROOM", + "name": "_1159-MEP-ROOM", + "type": "rect", + "width": "239.508", + "x": "1496.28", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1158-ER", + "name": "_1158-ER", + "type": "rect", + "width": "231.337", + "x": "1735.79", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1157ER", + "name": "_1157ER", + "type": "rect", + "width": "233.123", + "x": "1967.13", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1156-ER", + "name": "_1156-ER", + "type": "rect", + "width": "231.803", + "x": "2200.25", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1155-ER", + "name": "_1155-ER", + "type": "rect", + "width": "232.461", + "x": "2432.05", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1151-ELEC", + "name": "_1151-ELEC", + "type": "rect", + "width": "183.5", + "x": "3655.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1150-MECH-POWER", + "name": "_1150-MECH-POWER", + "type": "rect", + "width": "232.348", + "x": "3838.63", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "137.655", + "id": "_1120-MMR1", + "name": "_1120-MMR1", + "type": "rect", + "width": "260.5", + "x": "4160.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1152-TAPE-LIBRARY", + "name": "_1152-TAPE-LIBRARY", + "type": "rect", + "width": "476.566", + "x": "2664.63", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "64.565", + "id": "_1154-SDC-IDF", + "name": "_1154-SDC-IDF", + "type": "rect", + "width": "88.333", + "x": "3388.41", + "y": "105.935" + }, + { + "d": "M3141.63,170.25l0,-169.947l464.001,0.042l-0,169.905l-128.69,0l-0,-64.25l-89.212,-0l0.338,64.25l-246.437,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1153-SD-STORAGE", + "name": "_1153-SD-STORAGE", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.155", + "id": "_1149-MDF", + "name": "_1149-MDF", + "type": "rect", + "width": "89.5", + "x": "4070.63", + "y": "1.095" + } + ], + "id": "ELEC---MECH", + "name": "ELEC---MECH", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": 0.5 + }, + "height": "51.46", + "id": "_1185-ELEC", + "name": "_1185-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "458.859" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1184-POE", + "name": "_1184-POE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "109.021", + "id": "_1186-FIRE-PLBG", + "name": "_1186-FIRE-PLBG", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "508.227" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.5", + "id": "_1187-MDF-2", + "name": "_1187-MDF-2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "407.5", + "id": "_1188-MMR2", + "name": "_1188-MMR2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "715.5" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "55.25", + "id": "_1189-POE-4", + "name": "_1189-POE-4", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "1123" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1171-GALLERY", + "name": "_1171-GALLERY", + "type": "rect", + "width": "1325.44", + "x": "1569.19", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1172-GALLERY", + "name": "_1172-GALLERY", + "type": "rect", + "width": "1241.72", + "x": "1652.91", + "y": "1064" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.182", + "id": "_1174-SDC-IDF", + "name": "_1174-SDC-IDF", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "930" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "542.5", + "id": "_1173-SDC-STORAGE", + "name": "_1173-SDC-STORAGE", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "387.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1170-DATAHALL-3", + "name": "_1170-DATAHALL-3", + "type": "rect", + "width": "1241.75", + "x": "1652.88", + "y": "343" + } + ], + "id": "DH3", + "name": "DH3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1181-GALLERY-", + "name": "_1181-GALLERY-", + "type": "rect", + "width": "1326.41", + "x": "162.215", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1182-GALLERY-", + "name": "_1182-GALLERY-", + "type": "rect", + "width": "1241.72", + "x": "246.911", + "y": "1065.51" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1181-1-DATAHALL-1180-1", + "name": "_1181-1-DATAHALL-1180-1", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "344.795" + } + ], + "id": "DH5", + "name": "DH5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1119-POE1", + "name": "_1119-POE1", + "type": "rect", + "width": "51.764", + "x": "4307.86", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.401", + "id": "_1109-MOT", + "name": "_1109-MOT", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "359" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "77.088", + "id": "_1113-HUDDLE", + "name": "_1113-HUDDLE", + "type": "rect", + "width": "86.707", + "x": "4544.16", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "68.485", + "id": "_1104-RR", + "name": "_1104-RR", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "365.023" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.992", + "id": "_1105-JAN", + "name": "_1105-JAN", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "433.508" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "78.218", + "id": "_1102.3-SOC-OFFICE", + "name": "_1102.3-SOC-OFFICE", + "type": "rect", + "width": "66.118", + "x": "4459.01", + "y": "489.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1126-JAN", + "name": "_1126-JAN", + "type": "rect", + "width": "57", + "x": "4303.13", + "y": "707" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1134.2-AM-OFFICE", + "name": "_1134.2-AM-OFFICE", + "type": "rect", + "width": "65.5", + "x": "4063.63", + "y": "850" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61.387", + "id": "_1136-RR", + "name": "_1136-RR", + "type": "rect", + "width": "81.653", + "x": "4063.63", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.218", + "id": "_1142-POE", + "name": "_1142-POE", + "type": "rect", + "width": "101.369", + "x": "3840.13", + "y": "1123.79" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.5-SHRED-ROOM", + "name": "_1133.5-SHRED-ROOM", + "type": "rect", + "width": "125.5", + "x": "3938.13", + "y": "932.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.6-HIGH-VALUE-STORAGE", + "name": "_1133.6-HIGH-VALUE-STORAGE", + "type": "rect", + "width": "261.5", + "x": "3676.63", + "y": "932.697" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "59.838", + "id": "_1133.2-CABLE-STORAGE", + "name": "_1133.2-CABLE-STORAGE", + "type": "rect", + "width": "163.5", + "x": "3676.63", + "y": "708.197" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "110.035", + "id": "_1135-WAITING", + "name": "_1135-WAITING", + "type": "rect", + "width": "62.384", + "x": "4145.28", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "119.5", + "id": "_1133.4-SECURE-STORAGE", + "name": "_1133.4-SECURE-STORAGE", + "type": "rect", + "width": "223.5", + "x": "3840.13", + "y": "813" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1128-ELEC", + "name": "_1128-ELEC", + "type": "rect", + "width": "57", + "x": "4302", + "y": "761.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1125-MECH", + "name": "_1125-MECH", + "type": "rect", + "width": "63.811", + "x": "4359", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1124-PASS", + "name": "_1124-PASS", + "type": "rect", + "width": "54.491", + "x": "4422.81", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1122-SDC-IDF", + "name": "_1122-SDC-IDF", + "type": "rect", + "width": "72.661", + "x": "4535.43", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1130-FREIGHT", + "name": "_1130-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4433.86", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1131-FREIGHT", + "name": "_1131-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4535.36", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1132-MECH", + "name": "_1132-MECH", + "type": "rect", + "width": "138.911", + "x": "4636.63", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61", + "id": "_1100.1-VESTIBULE", + "name": "_1100.1-VESTIBULE", + "type": "rect", + "width": "41.5", + "x": "4767.63", + "y": "499" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "130.798", + "id": "_1103-EXECUTIVE-CONFERENCE", + "name": "_1103-EXECUTIVE-CONFERENCE", + "type": "rect", + "width": "145.497", + "x": "4630.13", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1114-RECORDS", + "name": "_1114-RECORDS", + "type": "rect", + "width": "61", + "x": "4359.63", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1117-OFFICE", + "name": "_1117-OFFICE", + "type": "rect", + "width": "64.5", + "x": "4530.13", + "y": "2.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "237.952", + "id": "_1116-CONFERENCE", + "name": "_1116-CONFERENCE", + "type": "rect", + "width": "109.5", + "x": "4420.63", + "y": "1.298" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1118-OFFICE", + "name": "_1118-OFFICE", + "type": "rect", + "width": "65.274", + "x": "4594.63", + "y": "2.5" + }, + { + "d": "M4775.02,288l0.609,-285l-115.1,-2.655l-0.626,84.155l-130.024,-0.441l0,203.941l245.141,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1110-STREAM-OFFICE", + "name": "_1110-STREAM-OFFICE", + "type": "path" + }, + { + "d": "M4525.13,489.5l-0.162,157.719l33.495,0.137l0,-40.856l41.98,0l-0.008,11.157l52.695,0.479l-1.174,-128.636l-126.826,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1102.1-SOC", + "name": "_1102.1-SOC", + "type": "path" + }, + { + "d": "M4558.46,606.223l0,41.133l-80.452,-0l0.693,57.633l329.676,-0l0,-86.979l-207.164,0l0,-11.51l-42.753,-0.277Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1101-SECURE-LOBBY", + "name": "_1101-SECURE-LOBBY", + "type": "path" + }, + { + "d": "M4607.63,705l0,110.159l167.782,-0.651l0.693,-26.905l32.275,-0.433l0,-82.181l-200.75,0.011Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1121-CONFERENCE", + "name": "_1121-CONFERENCE", + "type": "path" + }, + { + "d": "M4207.55,706.868l0.073,379.082l23.565,0.081l75.845,39.795l19.744,-35.334l77.574,39.904l25.252,-44.509l94.628,0.083l76.334,39.209l19.102,-34.955l75.254,39.426l80.59,-0.024l-0,-197.372l-341.468,-0l-0,-115.82l-131.16,-1.275l0,-108.159l-95.333,-0.132Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1127-LOADING-DOCK", + "name": "_1127-LOADING-DOCK", + "type": "path" + }, + { + "d": "M4598.13,364.5l0,125l55.275,0l-0.13,128.5l155.105,0.01l0,-58.01l-40.75,0l0,-61.698l40.283,-0.037l-0,-79.467l-177.783,-0l0,-54.298l-32,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1100.0-LOBBY", + "name": "_1100.0-LOBBY", + "type": "path" + }, + { + "d": "M3676.63,932l0,-163.965l163.5,0l0,-61.035l367.5,-0l0,143l-144,-0l0,-37l-223.5,-0l0,119.5l-163.5,-0.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1133.1-RECEIVING", + "name": "_1133.1-RECEIVING", + "type": "path" + }, + { + "d": "M4457.98,468l0.296,179.18l-37.243,0.32l-0,-43.801l-38.163,0l0.111,-135.699l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1107-MMR", + "name": "_1107-MMR", + "type": "path" + }, + { + "d": "M4542.91,288l0.721,201.141l-84.617,0.359l-0,-21.24l-98.383,-0l-0.136,-180.26l182.415,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1111-BREAK-ROOM", + "name": "_1111-BREAK-ROOM", + "type": "path" + }, + { + "d": "M4302,468.26l2.333,179.853l42.045,-0.613l0,-42.868l37.34,-0l-0.117,-135.7l-81.601,-0.672Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1108-WRR", + "name": "_1108-WRR", + "type": "path" + }, + { + "d": "M4144.93,1037.5l1.203,140.499l-204.5,0.501l0,-52.454l-101.5,-1.355l0.451,-87.191l304.346,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1141-PLBG-FP", + "name": "_1141-PLBG-FP", + "type": "path" + }, + { + "d": "M4207.55,975.505l-143.66,0.495l-0.257,-44l65.5,-0l0,-82l78.417,0.185l0,125.32Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1134.1-ASSET-MANAGEMENT", + "name": "_1134.1-ASSET-MANAGEMENT", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "79.448", + "id": "_1102.2-SOC-STORAGE", + "name": "_1102.2-SOC-STORAGE", + "type": "rect", + "width": "65.955", + "x": "4459.01", + "y": "567.718" + } + ], + "id": "Stream-Offices", + "name": "Stream-Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "133.25", + "id": "_1138.2-SER", + "name": "_1138.2-SER", + "type": "rect", + "width": "79.5", + "x": "3937.13", + "y": "509" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "88.512", + "id": "_1138.3-FCR", + "name": "_1138.3-FCR", + "type": "rect", + "width": "73", + "x": "3864.13", + "y": "553.738" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.649", + "id": "_1139-TENANT-STORAGE", + "name": "_1139-TENANT-STORAGE", + "type": "rect", + "width": "389.821", + "x": "3222.13", + "y": "235.351" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "406.899", + "id": "_1137-OPS-STORAGE", + "name": "_1137-OPS-STORAGE", + "type": "rect", + "width": "163.5", + "x": "4065.13", + "y": "235.351" + }, + { + "d": "M3611.63,235.5l0,407l252.5,-0.25l0,-88.75l73,-0l0.198,-44.292l79.459,0l0.308,133.042l48.035,0l-0.309,-407.076l-453.191,0.326Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1138.1-TENANT-OFFICE", + "name": "_1138.1-TENANT-OFFICE", + "type": "path" + } + ], + "id": "Tenant-Offices", + "name": "Tenant-Offices", + "type": "group" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1140-MECH---PUMP", + "name": "_1140-MECH---PUMP", + "type": "rect", + "width": "243.5", + "x": "2978.63", + "y": "235.5" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,101.188l-0,-21.233l-40.298,-0l-0,21.233", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1544.41,1178.25l2262.71,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3828.13,1178l315.66,0.25l-0,-92.3l8.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4173.51,1086l57.373,0l76.749,40l19.362,-35.865l77.638,41.156l24.903,-45.608l94.597,0.035l76,40.135l19.39,-36.353l75.428,40l80.682,0l-0.395,-342.218l33.145,0l0,-250.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1035.5l0,94.842l0,-5.357l101.5,0.015l0,53.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1151.75l0,26.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4207.86,1085.95l-0.243,-84.421", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4145.28,1085.95l-0,-84.421l-0,35.614l-468.653,0.357l0,-330.5l294.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4027.95,707l179.674,-0l0,19.825l0,-19.825l127.139,-0l-31.655,-0l-0,59.272l-0,-4.626l56.736,-0l-0,-54.646l-0,109.434", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302.88,786.5l0,29.934l472.628,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4359.85,735.573l33.572,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4413.87,735.573l22.597,-0l-13.636,-0l0.293,80.861", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4477.13,816.434l-0,-80.861l-12.996,-0.323l12.996,0.323l-0,-30.584l7.264,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4504.26,704.989l31.169,-0l-0,111.445", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4608.09,816.434l-0,-111.445l-42.464,0.011", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4653.05,705l110.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4434.04,816.434l-0,115.82l9.934,-0.195", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4535.43,816.434l-0,115.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.63,816.434l0,116.066", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4661.9,932.5l113.729,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,932l185.781,-0l-22.281,-0l0,-119l39.813,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3918.12,813l145.506,-0l0,224.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4020.13,932l108.575,-0l0.156,-55.929", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.63,849.89l70.501,0.36", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.57,850.25l53.056,0l0,25.821l0,-92.073", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,768.035l163.5,0l0,-12.467", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3888.63,932.25l93,0l-43.433,0l-0.067,105.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.67,975.52l144.348,0.195l-0.195,-80.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3647.19,1178.71l0,-14.854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3646.88,1143l0,-7.389l-399.644,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,1135.61l0,-441.611", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3265.63,235.5l755.122,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,235.5l0,419.979l0,-13.175l299.892,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3962.63,642.25l59.351,0l-4.987,0l-0,-133.042l-79.666,0l-0,133.042", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3937.13,553.5l-73,-0l0,88.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.63,642.25l8,0l0,-362.294", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4228.63,241.158l0,-5.685l-168.451,-0.299l4.887,0.008l0,407.068l-23.196,0l140.671,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4160.13,235.351l0,-12.621", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3216.3,1135l10.348,0l-5.018,0l-0,-899.649l5.477,0l-23.327,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3165.48,235.351l-186.856,0l0,899.649l218.001,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4775.02,288l-148.777,-0l4.19,-0l-0.067,130.798l5.052,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4675.13,418.798l56.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4586.88,288l-48.457,-0l5.207,-0l0,201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,365.023l86.5,0.065", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,433.38l54.476,-0l0.16,8.138l0,-52.018", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4598.26,461.785l-0.136,27.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4558.88,622.5l0,-30.591l0,14.936l41.643,0.079l-0.079,10.901l66.663,-0l-13.916,-0l0,-128.325l-194.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4420.88,637l0,10.165l38.133,0l-0,-178.905l-157.011,-0l-0,179.24l44.325,0l-0,-10.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4346.38,617l0.025,-13.192l37.315,-0.235l-0.377,-135.313", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4421.03,616.625l-0.064,-12.926l-74.566,0.109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,239.25l4.674,-0l-0,-105.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4529.88,94l0,-9.5l20.662,-0l-20.662,-0l0.25,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4615.63,84.5l-25.999,-0l4.999,-0l0,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4656.52,84.25l3.384,0l0,-83.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.01,647.165l99.45,0l0,-7.237", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.13,567.191l65.999,-0.128l0,54.768l0,-62.3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,489l0,53.977", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4808.38,617.85l-44.723,0.16", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4743.13,617.85l-18.093,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4705.63,618.01l-17.935,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4360.63,468.067l0,-180.067l-4.8,-0l9.498,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4336.13,288.1l-34.134,-0l-0,141.301l32.686,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302,359l58.577,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4405.13,288l94.191,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.89,234.699l-0.021,11.078l0.012,-6.277l67.252,0l-15.5,0l0,-101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.86,213.705l-0,-75.205l-7.609,0l119.686,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.94,0.345l0,238.853l-5.317,-0.025l71.004,0.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4767.63,539.283l0,20.717l40.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.63,170.632l27.175,-0l-0,13.059l-0,-183.346", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4159.8,138.5l102.161,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-24.506,0l4.341,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3589.63,170.5l16.103,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3551.63,170.5l-138.99,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3476.94,170.5l-0,-64.5l-89.311,-0l0,64.5l5.331,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,50.149", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,508l95.313,-0l0,-5.217l0,10.007", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,5.893l0,-79.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,759.5l0,371.5l0,-7.955l-95.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1039l0,-18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1001l0,-616.527l0,3.027l-83.939,-0l0,37.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,463.614l0,471.386l0,-4.5l83.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,955.5l0,40l83.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1020l0,-635.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "First-Floor", + "name": "First-Floor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMaxYMax", + "stroke": { + "linejoin": "bevel" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1171", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 10, + "width": 122, + "x": 140.19, + "y": 29 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1172", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 8, + "width": 114, + "x": 147, + "y": 102 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1181", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 11, + "width": 121, + "x": 14, + "y": 28 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1182", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 8, + "width": 116, + "x": 21, + "y": 102 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_01_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]\n\t", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9f640f838085be5e25a7d39e96b29d72ea7689ee7446578c9df1fffe2034cf1b b/Gateways/FE/projects/.resources/9f640f838085be5e25a7d39e96b29d72ea7689ee7446578c9df1fffe2034cf1b new file mode 100644 index 0000000..9922f2b --- /dev/null +++ b/Gateways/FE/projects/.resources/9f640f838085be5e25a7d39e96b29d72ea7689ee7446578c9df1fffe2034cf1b @@ -0,0 +1,597 @@ +{ + "custom": { + "CRAC": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ], + "CRAH": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ], + "DH": [ + 5, + "value", + "value", + "value", + "value" + ], + "DOAS": [ + "value", + "value", + "value", + "value" + ], + "FCU": [ + "[Ignition_Common_IO_Gtwy]ER1128/SATB1_HS2_EL1128_FCU16" + ], + "RTU": [ + 5, + "value", + "value" + ], + "VAV": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "params": {}, + "propConfig": { + "custom.CRAC": { + "persistent": true + }, + "custom.CRAH": { + "persistent": true + }, + "custom.DH": { + "persistent": true + }, + "custom.DOAS": { + "persistent": true + }, + "custom.FCU": { + "persistent": true + }, + "custom.RTU": { + "persistent": true + }, + "custom.VAV": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 900, + "width": 1155 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FirstFloor_Layout_0" + }, + "position": { + "height": 300, + "width": 1155 + }, + "props": { + "path": "Library/Templates/Graphics/Layout/Roof" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SecondFloor_Layout" + }, + "position": { + "height": 300, + "width": 1155, + "y": 300 + }, + "propConfig": { + "props.params.DH[1]": { + "binding": { + "config": { + "struct": { + "key": "now(5000)\r\n" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\timport random\n\trandom_integer \u003d random.randint(-90, 90)\n\toutput \u003d float(random_integer) / 10.0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.DH[2]": { + "binding": { + "config": { + "struct": { + "key": "now(5000)\r\n" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\timport random\n\trandom_integer \u003d random.randint(-90, 90)\n\toutput \u003d float(random_integer) / 10.0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.DH[4]": { + "binding": { + "config": { + "struct": { + "key": "now(5000)\r\n" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\timport random\n\trandom_integer \u003d random.randint(-90, 90)\n\toutput \u003d float(random_integer) / 10.0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "CRAH": [ + -9, + 0, + 9 + ], + "DH": [ + -5, + null, + null, + 5, + null + ], + "DOAS": [ + 1, + 2, + 3, + 4 + ], + "FCU": [ + -9, + -8, + -7, + -6, + -5, + -4, + -3, + -2, + -1, + 0, + -5, + 5, + -5, + 5, + -5, + 5, + -5, + 5, + -5, + 5, + -5, + 5 + ], + "RTU": [ + -1, + -2, + -3 + ] + }, + "path": "Library/Templates/Graphics/Layout/SecondFloor" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FirstFloor_Layout" + }, + "position": { + "height": 300, + "width": 1155, + "y": 600 + }, + "propConfig": { + "props.params.DH[3]": { + "binding": { + "config": { + "struct": { + "key": "now(5000)\r\n" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\timport random\n\trandom_integer \u003d random.randint(-90, 90)\n\toutput \u003d float(random_integer) / 10.0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.DH[5]": { + "binding": { + "config": { + "struct": { + "key": "now(5000)\r\n" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\timport random\n\trandom_integer \u003d random.randint(-90, 90)\n\toutput \u003d float(random_integer) / 10.0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "CRAC": [ + 4, + 1, + 2, + 3, + 4 + ], + "CRAH": [ + 0, + 1, + 2, + 3, + 4 + ], + "DH": [ + 4.1, + 3.4, + 6.7, + null, + 3.6, + null + ], + "DOAS": [ + 0, + 1, + 2, + 3 + ], + "FCU": [ + -9, + -8, + -7, + -6, + -5, + -4, + -3, + -2, + -1, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 8, + 7, + 6, + 5 + ], + "VAV": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1, + -1, + -2, + -3, + -4, + -5, + -6, + -7, + -8, + -9, + -8, + 0, + 1, + -5, + 4, + 5, + 6, + 7 + ] + }, + "path": "Library/Templates/Graphics/Layout/FirstFloor" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 81, + "x": 64.99000000000001, + "y": 384 + }, + "props": { + "text": "DH4", + "textStyle": { + "fontSize": 24, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 32, + "width": 81, + "x": 403, + "y": 384 + }, + "props": { + "text": "DH2", + "textStyle": { + "fontSize": 24, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "VAV": "VAV 1-01 HC", + "Zone_Status": 2, + "area": "Department 2", + "dept": 0, + "isDept": true + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\t# Call the root container\u0027s openDetailsPanel method to open the vav details\n\t# side panel, passing in vav name, bool denoting area/dept, and area/dept name.\n\t\n\tvav \u003d self.custom.VAV\n\tarea \u003d self.custom.area\n\tisDept \u003d self.custom.isDept\n\t\n\tself.parent.openDetailsPanel(vav,area,isDept)" + }, + "scope": "G", + "type": "script" + }, + "onMouseEnter": { + "config": { + "script": "\t# Set hover custom property equal to vav name. Then, binding on fill color\n\t# for this zone will set the color to be a little darker.\n\t\n\tself.parent.custom.hover \u003d self.custom.VAV" + }, + "scope": "G", + "type": "script" + }, + "onMouseLeave": { + "config": { + "script": "\t# Clear out hover custom property. Then, binding on fill color\n\t# for this zone will set back to the original color (color before\n\t# it was darkened).\n\t\n\tself.parent.custom.hover \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SV_Example", + "tooltip": { + "delay": 800, + "enabled": true, + "style": { + "backgroundColor": "var(--neutral-30)", + "color": "var(--neutral-100)" + } + }, + "visible": false + }, + "position": { + "height": 75, + "rotate": { + "anchor": "685% 167%" + }, + "width": 222, + "x": 34.984375, + "y": 16 + }, + "propConfig": { + "custom.Zone_Status": { + "binding": { + "config": { + "expression": "if({session.custom.FloorColorFromDesiredSP}\u003dtrue,tag(\u0027BMS/90BR/VAV/\u0027 + {this.custom.VAV} + \u0027/Temp_Zone\u0027)-tag(\u0027BMS/90BR/VAV/\u0027 + {this.custom.VAV} + \u0027/Temp_SP_Desired\u0027),\r\ntag(\u0027BMS/90BR/VAV/\u0027 + {this.custom.VAV} + \u0027/Temp_Zone\u0027)-74)" + }, + "enabled": false, + "type": "expr" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.custom.VAV" + }, + "type": "property" + } + }, + "props.elements[0].style.fill": { + "binding": { + "config": { + "struct": { + "color": "// three possible color schemes\r\n\r\nif({session.custom.ColorScheme}\u003d0,\r\nif({this.custom.Zone_Status}\u003c\u003d-4, gradient({this.custom.Zone_Status},-8,-4,color(0,72,200),color(0,82,255)),\r\nif({this.custom.Zone_Status}\u003c\u003d-3, gradient({this.custom.Zone_Status},-4,-3,color(0,82,255),color(11,150,255)),\r\nif({this.custom.Zone_Status}\u003c\u003d-2, gradient({this.custom.Zone_Status},-3,-2,color(11,150,255),color(138,255,255)),\r\nif({this.custom.Zone_Status}\u003c\u003d2, gradient({this.custom.Zone_Status},-2,2,color(85,194,48),color(255,255,138)),\r\nif({this.custom.Zone_Status}\u003c\u003d3, gradient({this.custom.Zone_Status},2,3,color(255,255,138),color(255,172,71)),\r\nif({this.custom.Zone_Status}\u003c\u003d4, gradient({this.custom.Zone_Status},3,4,color(255,172,71),color(255,71,71)),\r\ngradient({this.custom.Zone_Status},4,8,color(255,71,71),color(200,71,71))\r\n)))))),\r\n\r\nif({session.custom.ColorScheme}\u003d1,\r\nif({this.custom.Zone_Status}\u003c\u003d-4, gradient({this.custom.Zone_Status},-8,-4,color(18,60,142),color(44,103,212)),\r\nif({this.custom.Zone_Status}\u003c\u003d-3, gradient({this.custom.Zone_Status},-4,-3,color(44,103,212),color(121,168,249)),\r\nif({this.custom.Zone_Status}\u003c\u003d-2, gradient({this.custom.Zone_Status},-3,-2,color(121,168,249),color(238,243,252)),\r\nif({this.custom.Zone_Status}\u003c\u003d-1, gradient({this.custom.Zone_Status},-2,-1,color(238,243,252),color(250,250,250)),\r\nif({this.custom.Zone_Status}\u003c\u003d2, gradient({this.custom.Zone_Status},-1,2,color(250,250,250),color(249,206,206)),\r\nif({this.custom.Zone_Status}\u003c\u003d3, gradient({this.custom.Zone_Status},2,3,color(249,206,206),color(249,131,131)),\r\nif({this.custom.Zone_Status}\u003c\u003d4, gradient({this.custom.Zone_Status},3,4,color(249,131,131),color(217,26,26)),\r\ngradient({this.custom.Zone_Status},4,8,color(217,26,26),color(132,16,16))\r\n))))))),\r\n\r\nif({this.custom.Zone_Status}\u003c\u003d-4, gradient({this.custom.Zone_Status},-8,-4,color(89,38,147),color(139,76,208)),\r\nif({this.custom.Zone_Status}\u003c\u003d-3, gradient({this.custom.Zone_Status},-4,-3,color(139,76,208),color(192,144,240)),\r\nif({this.custom.Zone_Status}\u003c\u003d-2, gradient({this.custom.Zone_Status},-3,-2,color(192,144,240),color(231,212,249)),\r\nif({this.custom.Zone_Status}\u003c\u003d-1, gradient({this.custom.Zone_Status},-2,-1,color(231,212,249),color(250,250,250)),\r\nif({this.custom.Zone_Status}\u003c\u003d2, gradient({this.custom.Zone_Status},-1,2,color(250,250,250),color(120,240,232)),\r\nif({this.custom.Zone_Status}\u003c\u003d3, gradient({this.custom.Zone_Status},2,3,color(120,240,232),color(30,186,174)),\r\nif({this.custom.Zone_Status}\u003c\u003d4, gradient({this.custom.Zone_Status},3,4,color(30,186,174),color(12,119,111)),\r\ngradient({this.custom.Zone_Status},4,8,color(12,119,111),color(13,72,68))\r\n)))))))))", + "hover": "{parent.custom.hover}\u003d{this.custom.VAV}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Darken the zone if the user hovered mouse over the zone.\n\t\n\tif value[\u0027hover\u0027] \u003d\u003d True:\n\t\tcolor \u003d value[\u0027color\u0027].darker()\n\telse:\n\t\tcolor \u003d value[\u0027color\u0027]\n\t\t\n\treturn \u0027rgb(\u0027 + str(color.getRed()) + \u0027,\u0027 + str(color.getGreen()) + \u0027,\u0027 + str(color.getBlue()) + \u0027)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "height": "100%", + "style": {}, + "type": "rect", + "width": "100%", + "x": 0, + "y": 0 + } + ], + "style": { + "classes": "", + "transition": "fill 0.25s ease" + }, + "type": "group" + } + ], + "preserveAspectRatio": "none", + "style": { + "borderRightColor": "#000000", + "borderRightStyle": "solid", + "borderRightWidth": "0.5px", + "cursor": "pointer" + }, + "viewBox": "0 0 100 100" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 81, + "x": 739, + "y": 384 + }, + "props": { + "text": "DH1", + "textStyle": { + "fontSize": 24, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 32, + "width": 81, + "x": 64.99, + "y": 683 + }, + "props": { + "text": "DH5", + "textStyle": { + "fontSize": 24, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 32, + "width": 81, + "x": 403, + "y": 683 + }, + "props": { + "text": "DH3", + "textStyle": { + "fontSize": 24, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "hover": "" + }, + "meta": { + "name": "root" + }, + "position": { + "x": 82, + "y": -52 + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9f975e803f67e2cf3e8954aa9afa93a42e51c322faa82ed86bd2393ccde1e5c6 b/Gateways/FE/projects/.resources/9f975e803f67e2cf3e8954aa9afa93a42e51c322faa82ed86bd2393ccde1e5c6 new file mode 100644 index 0000000..1c0f362 --- /dev/null +++ b/Gateways/FE/projects/.resources/9f975e803f67e2cf3e8954aa9afa93a42e51c322faa82ed86bd2393ccde1e5c6 @@ -0,0 +1,225 @@ +{ + "custom": { + "H": true, + "v": false + }, + "params": { + "EU": "degF", + "EU_Pos": 1, + "Val": 0.108 + }, + "propConfig": { + "custom.H": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": true + }, + { + "input": 0, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.v": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": false + }, + { + "input": 0, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.EU": { + "paramDirection": "input", + "persistent": true + }, + "params.EU_Pos": { + "paramDirection": "input", + "persistent": true + }, + "params.Val": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 75 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Var", + "tooltip": { + "width": "100%" + } + }, + "position": { + "align": "center" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.Val" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "#021CB4", + "fontSize": 12, + "fontWeight": "bold", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU H" + }, + "position": { + "basis": "AUTO" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.custom.H" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.EU" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "marginLeft": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer", + "tooltip": { + "width": 1 + } + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "alignItems": "center", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EU Ver" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.EU" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.custom.v" + }, + "type": "property" + } + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "justify": "flex-end" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9fa53768967075d8547c06ed1d392b4516e5f93f47558f53ff8705843356580c b/Gateways/FE/projects/.resources/9fa53768967075d8547c06ed1d392b4516e5f93f47558f53ff8705843356580c new file mode 100644 index 0000000..7ae5852 --- /dev/null +++ b/Gateways/FE/projects/.resources/9fa53768967075d8547c06ed1d392b4516e5f93f47558f53ff8705843356580c @@ -0,0 +1,320 @@ +{ + "custom": { + "AlarmSeverity": 2 + }, + "params": { + "embedded": true, + "objectName": "PlantFailure", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 100, + "width": 200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/System FAil" + }, + "transforms": [ + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "System OK" + }, + { + "input": true, + "output": "System Fail" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "gap": "5px", + "textAlign": "center" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "0.1px" + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "path": "Library/Alarms/Icons", + "style": { + "marginLeft": -20, + "marginTop": -20, + "overflow": "visible", + "z-index": 0 + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "200px" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "None", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "None" + }, + { + "input": 0, + "output": "None" + }, + { + "input": 1, + "output": "Solid" + }, + { + "input": 2, + "output": "Solid" + }, + { + "input": 3, + "output": "Solid" + }, + { + "input": 4, + "output": "Solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "--containerNested", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/9fe99b3113cbd1e591b34cd51219e3faedbef25d44f826aba2ddb2d6e6daba1a b/Gateways/FE/projects/.resources/9fe99b3113cbd1e591b34cd51219e3faedbef25d44f826aba2ddb2d6e6daba1a new file mode 100644 index 0000000..3857c71 Binary files /dev/null and b/Gateways/FE/projects/.resources/9fe99b3113cbd1e591b34cd51219e3faedbef25d44f826aba2ddb2d6e6daba1a differ diff --git a/Gateways/FE/projects/.resources/9fece055222d0e682ea5a239021fc49853a6fc1749946d56dac99711402e4bab b/Gateways/FE/projects/.resources/9fece055222d0e682ea5a239021fc49853a6fc1749946d56dac99711402e4bab new file mode 100644 index 0000000..4b91dd6 --- /dev/null +++ b/Gateways/FE/projects/.resources/9fece055222d0e682ea5a239021fc49853a6fc1749946d56dac99711402e4bab @@ -0,0 +1,2785 @@ +{ + "custom": { + "current": [ + null, + null, + null, + null + ], + "data_hist": [ + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898301167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898331167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898361167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898391167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898421167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898451167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898481167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898511167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898541167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898571167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898601167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898631167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898661167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898691167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898721167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898751167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898781167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898811167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898841167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898871167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898901167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898931167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898961167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898991167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899021167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899051167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899081167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899111167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899141167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899171167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899201167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899231167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899261167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899291167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899321167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899351167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899381167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899411167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899441167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899471167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899501167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899531167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899561167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899591167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899621167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899651167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899681167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899711167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899741167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899771167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899801167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899831167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899861167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899891167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899921167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899951167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899981167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900011167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900041167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900071167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900101167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900131167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900161167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900191167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900221167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900251167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900281167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900311167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900341167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900371167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900401167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900431167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900461167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900491167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900521167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900551167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900581167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900611167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900641167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900671167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900701167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900731167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900761167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900791167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900821167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900851167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900881167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900911167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900941167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900971167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901001167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901031167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901061167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901091167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901121167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901151167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901181167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901211167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901241167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901271167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901301167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901331167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901361167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901391167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901421167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901451167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901481167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901511167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901541167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901571167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901601167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901631167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901661167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901691167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901721167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901751167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901781167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901811167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901841167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901871167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901901167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901931167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901961167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901991167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902021167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902051167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902081167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902111167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902141167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902171167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902201167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902231167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902261167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902291167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902321167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902351167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902381167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902411167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902441167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902471167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902501167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902531167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902561167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902591167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902621167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902651167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902681167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902711167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902741167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902771167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902801167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902831167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902861167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902891167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902921167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902951167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902981167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903011167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903041167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903071167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903101167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903131167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903161167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903191167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903221167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903251167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903281167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903311167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903341167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903371167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903401167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903431167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903461167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903491167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903521167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903551167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903581167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903611167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903641167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903671167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903701167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903731167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903761167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903791167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903821167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903851167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903881167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903911167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903941167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903971167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904001167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904031167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904061167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904091167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904121167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904151167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904181167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904211167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904241167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904271167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904301167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904331167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904361167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904391167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904421167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904451167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904481167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904511167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904541167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904571167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904601167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904631167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904661167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904691167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904721167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904751167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904781167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904811167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904841167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904871167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904901167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904931167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904961167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904991167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905021167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905051167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905081167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905111167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905141167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905171167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905201167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905231167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905261167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905291167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905321167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905351167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905381167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905411167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905441167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905471167 + } + ], + "hist_tagPath": [ + { + "aggregate": "LastValue", + "alias": "P1", + "path": "[Ignition_Hist/ignition-satb1-io2:default]GAL1271/SATB1_GAL1271_PDU_P2-2-1/output total kw" + }, + { + "aggregate": "LastValue", + "alias": "P2", + "path": "[Ignition_Hist/ignition-satb1-io2:default]GAL1271/SATB1_GAL1271_PDU_P2-2-2/output total kw" + }, + { + "aggregate": "LastValue", + "alias": "P3", + "path": "[Ignition_Hist/ignition-satb1-io2:default]GAL1271/SATB1_GAL1271_PDU_P2-2-3/output total kw" + }, + { + "aggregate": "LastValue", + "alias": "P4", + "path": "[Ignition_Hist/ignition-satb1-io2:default]GAL1271/SATB1_GAL1271_PDU_P2-2-4/output total kw" + } + ], + "max": 0, + "min": 0, + "test": [ + { + "real power": null, + "t_stamp": 1758901900909 + }, + { + "real power": null, + "t_stamp": 1758901936909 + }, + { + "real power": null, + "t_stamp": 1758901972909 + }, + { + "real power": null, + "t_stamp": 1758902008909 + }, + { + "real power": null, + "t_stamp": 1758902044909 + }, + { + "real power": null, + "t_stamp": 1758902080909 + }, + { + "real power": null, + "t_stamp": 1758902116909 + }, + { + "real power": null, + "t_stamp": 1758902152909 + }, + { + "real power": null, + "t_stamp": 1758902188909 + }, + { + "real power": null, + "t_stamp": 1758902224909 + }, + { + "real power": null, + "t_stamp": 1758902260909 + }, + { + "real power": null, + "t_stamp": 1758902296909 + }, + { + "real power": null, + "t_stamp": 1758902332909 + }, + { + "real power": null, + "t_stamp": 1758902368909 + }, + { + "real power": null, + "t_stamp": 1758902404909 + }, + { + "real power": null, + "t_stamp": 1758902440909 + }, + { + "real power": null, + "t_stamp": 1758902476909 + }, + { + "real power": null, + "t_stamp": 1758902512909 + }, + { + "real power": null, + "t_stamp": 1758902548909 + }, + { + "real power": null, + "t_stamp": 1758902584909 + }, + { + "real power": null, + "t_stamp": 1758902620909 + }, + { + "real power": null, + "t_stamp": 1758902656909 + }, + { + "real power": null, + "t_stamp": 1758902692909 + }, + { + "real power": null, + "t_stamp": 1758902728909 + }, + { + "real power": null, + "t_stamp": 1758902764909 + }, + { + "real power": null, + "t_stamp": 1758902800909 + }, + { + "real power": null, + "t_stamp": 1758902836909 + }, + { + "real power": null, + "t_stamp": 1758902872909 + }, + { + "real power": null, + "t_stamp": 1758902908909 + }, + { + "real power": null, + "t_stamp": 1758902944909 + }, + { + "real power": null, + "t_stamp": 1758902980909 + }, + { + "real power": null, + "t_stamp": 1758903016909 + }, + { + "real power": null, + "t_stamp": 1758903052909 + }, + { + "real power": null, + "t_stamp": 1758903088909 + }, + { + "real power": null, + "t_stamp": 1758903124909 + }, + { + "real power": null, + "t_stamp": 1758903160909 + }, + { + "real power": null, + "t_stamp": 1758903196909 + }, + { + "real power": null, + "t_stamp": 1758903232909 + }, + { + "real power": null, + "t_stamp": 1758903268909 + }, + { + "real power": null, + "t_stamp": 1758903304909 + }, + { + "real power": null, + "t_stamp": 1758903340909 + }, + { + "real power": null, + "t_stamp": 1758903376909 + }, + { + "real power": null, + "t_stamp": 1758903412909 + }, + { + "real power": null, + "t_stamp": 1758903448909 + }, + { + "real power": null, + "t_stamp": 1758903484909 + }, + { + "real power": null, + "t_stamp": 1758903520909 + }, + { + "real power": null, + "t_stamp": 1758903556909 + }, + { + "real power": null, + "t_stamp": 1758903592909 + }, + { + "real power": null, + "t_stamp": 1758903628909 + }, + { + "real power": null, + "t_stamp": 1758903664909 + }, + { + "real power": null, + "t_stamp": 1758903700909 + }, + { + "real power": null, + "t_stamp": 1758903736909 + }, + { + "real power": null, + "t_stamp": 1758903772909 + }, + { + "real power": null, + "t_stamp": 1758903808909 + }, + { + "real power": null, + "t_stamp": 1758903844909 + }, + { + "real power": null, + "t_stamp": 1758903880909 + }, + { + "real power": null, + "t_stamp": 1758903916909 + }, + { + "real power": null, + "t_stamp": 1758903952909 + }, + { + "real power": null, + "t_stamp": 1758903988909 + }, + { + "real power": null, + "t_stamp": 1758904024909 + }, + { + "real power": null, + "t_stamp": 1758904060909 + }, + { + "real power": null, + "t_stamp": 1758904096909 + }, + { + "real power": null, + "t_stamp": 1758904132909 + }, + { + "real power": null, + "t_stamp": 1758904168909 + }, + { + "real power": null, + "t_stamp": 1758904204909 + }, + { + "real power": null, + "t_stamp": 1758904240909 + }, + { + "real power": null, + "t_stamp": 1758904276909 + }, + { + "real power": null, + "t_stamp": 1758904312909 + }, + { + "real power": null, + "t_stamp": 1758904348909 + }, + { + "real power": null, + "t_stamp": 1758904384909 + }, + { + "real power": null, + "t_stamp": 1758904420909 + }, + { + "real power": null, + "t_stamp": 1758904456909 + }, + { + "real power": null, + "t_stamp": 1758904492909 + }, + { + "real power": null, + "t_stamp": 1758904528909 + }, + { + "real power": null, + "t_stamp": 1758904564909 + }, + { + "real power": null, + "t_stamp": 1758904600909 + }, + { + "real power": null, + "t_stamp": 1758904636909 + }, + { + "real power": null, + "t_stamp": 1758904672909 + }, + { + "real power": null, + "t_stamp": 1758904708909 + }, + { + "real power": null, + "t_stamp": 1758904744909 + }, + { + "real power": null, + "t_stamp": 1758904780909 + }, + { + "real power": null, + "t_stamp": 1758904816909 + }, + { + "real power": null, + "t_stamp": 1758904852909 + }, + { + "real power": null, + "t_stamp": 1758904888909 + }, + { + "real power": null, + "t_stamp": 1758904924909 + }, + { + "real power": null, + "t_stamp": 1758904960909 + }, + { + "real power": null, + "t_stamp": 1758904996909 + }, + { + "real power": null, + "t_stamp": 1758905032909 + }, + { + "real power": null, + "t_stamp": 1758905068909 + }, + { + "real power": null, + "t_stamp": 1758905104909 + }, + { + "real power": null, + "t_stamp": 1758905140909 + }, + { + "real power": null, + "t_stamp": 1758905176909 + }, + { + "real power": null, + "t_stamp": 1758905212909 + }, + { + "real power": null, + "t_stamp": 1758905248909 + }, + { + "real power": null, + "t_stamp": 1758905284909 + }, + { + "real power": null, + "t_stamp": 1758905320909 + }, + { + "real power": null, + "t_stamp": 1758905356909 + }, + { + "real power": null, + "t_stamp": 1758905392909 + }, + { + "real power": null, + "t_stamp": 1758905428909 + }, + { + "real power": null, + "t_stamp": 1758905464909 + } + ] + }, + "params": { + "DH": 2, + "Gallery": "GAL1271", + "Gateway": "[Ignition_SATB1_IO2_default]", + "Linuep": 2 + }, + "propConfig": { + "custom.current": { + "persistent": true + }, + "custom.current[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "Gallery": "{view.params.Gallery}", + "Gateway": "{view.params.Gateway}", + "Linuep": "{view.params.Linuep}" + }, + "tagPath": "{Gateway}{Gallery}/SATB1_{Gallery}_PDU_P{DH}-{Linuep}-1/Output Total KW" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.current[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "Gallery": "{view.params.Gallery}", + "Gateway": "{view.params.Gateway}", + "Linuep": "{view.params.Linuep}" + }, + "tagPath": "{Gateway}{Gallery}/SATB1_{Gallery}_PDU_P{DH}-{Linuep}-2/Output Total KW" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.current[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "Gallery": "{view.params.Gallery}", + "Gateway": "{view.params.Gateway}", + "Linuep": "{view.params.Linuep}" + }, + "tagPath": "{Gateway}{Gallery}/SATB1_{Gallery}_PDU_P{DH}-{Linuep}-3/Output Total KW" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.current[3]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "Gallery": "{view.params.Gallery}", + "Gateway": "{view.params.Gateway}", + "Linuep": "{view.params.Linuep}" + }, + "tagPath": "{Gateway}{Gallery}/SATB1_{Gallery}_PDU_P{DH}-{Linuep}-4/Output Total KW" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.data": { + "binding": { + "config": { + "path": "view.custom.data_hist" + }, + "transforms": [ + { + "code": "\ttotal_hist \u003d []\n\tfor item in value:\n\t\tP1 \u003d item[\u0027P1\u0027]\n\t\tif P1 is None:\n\t\t\tP1 \u003d 0\n\t\tP2 \u003d item[\u0027P2\u0027]\n\t\tif P2 is None:\n\t\t\tP2 \u003d 0\n\t\tP3 \u003d item[\u0027P3\u0027]\n\t\tif P3 is None:\n\t\t\tP3 \u003d 0\n\t\tP4 \u003d item[\u0027P4\u0027]\n\t\tif P4 is None:\n\t\t\tP4 \u003d 0\n\t\ttotal_hist.append(P1 + P2 + P3 + P4)\n\treturn total_hist", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.data_hist": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.hist_tagPath}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + }, + "persistent": true + }, + "custom.hist_tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.params.DH}", + "gallery": "{view.params.Gallery}", + "gtwy": "{view.params.Gateway}", + "lineup": "{view.params.Linuep}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tprovider \u003d {\"[Ignition_Common_IO_Gtwy]\":\"[Ignition_Hist/ignition-satb1-io6:default]\",\n\t\t\t\"[Ignition_SATB1_IO1_default]\": \"[Ignition_Hist/ignition-satb1-io1:default]\",\n\t\t\t\"[Ignition_SATB1_IO2_default]\": \"[Ignition_Hist/ignition-satb1-io2:default]\",\n\t\t\t\"[Ignition_SATB1_IO3_default]\": \"[Ignition_Hist/ignition-satb1-io3:default]\",\n\t\t\t\"[Ignition_SATB1_IO4_default]\": \"[Ignition_Hist/ignition-satb1-io4:default]\",\n\t\t\t\"[Ignition_SATB1_IO5_default]\": \"[Ignition_Hist/ignition-satb1-io5:default]\"}\n\tio_gtwy \u003d provider[value[\u0027gtwy\u0027]]\n\tgallery \u003d value[\u0027gallery\u0027]\n\tlineup \u003d value [\u0027lineup\u0027]\n\tdh \u003d value[\u0027dh\u0027]\n\toutputArray \u003d []\n\tfor i in range(1,5):\n\t\ttagpath \u003d \"{}{}/SATB1_{}_PDU_P{}-{}-{}/output total kw\".format(io_gtwy, gallery, gallery, dh, lineup, i)\n\t\toutput \u003d {}\n\t\toutput[\u0027path\u0027] \u003d tagpath\n\t\toutput[\u0027alias\u0027] \u003d \u0027P{}\u0027.format(i) \n\t\toutput[\u0027aggregate\u0027] \u003d \u0027LastValue\u0027\n\t\toutputArray.append(output)\n\treturn outputArray\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.max": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.min": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "expression": "min({value})", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.test": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "1", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": [ + { + "path": "[Ignition/ignition-satb1-io2:default]er1248/swbd/satb1_er1248_pqm2/real power" + } + ], + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + }, + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.Gallery": { + "paramDirection": "input", + "persistent": true + }, + "params.Gateway": { + "paramDirection": "input", + "persistent": true + }, + "params.Linuep": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 180, + "width": 250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "time01" + }, + "position": { + "height": 10, + "width": 40, + "x": 218, + "y": 131.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "time02" + }, + "position": { + "height": 10, + "width": 40, + "x": 8, + "y": 131.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-7200000" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Sparkline", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 103, + "width": 245, + "x": 9.5, + "y": 29.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "min": "{this.custom.min}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "\"Max: \" + {value}[\u0027max\u0027] + \" | \" + \"Min: \" + {value}[\u0027min\u0027]\r\n", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.points": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "type": "property" + } + }, + "props.range.high": { + "binding": { + "config": { + "path": "view.custom.max" + }, + "transforms": [ + { + "expression": "{value}+1", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.range.low": { + "binding": { + "config": { + "path": "view.custom.min" + }, + "transforms": [ + { + "expression": "{value}-1", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "desired": { + "fill": { + "color": "var(--container)" + } + }, + "marker": { + "high": { + "fill": { + "color": "#FB9306" + }, + "style": { + "transform": "rotate(180)" + } + } + }, + "range": {} + }, + "type": "ia.display.sparkline" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "height": 20, + "width": 122, + "x": 100.49, + "y": 7.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.current" + }, + "transforms": [ + { + "expression": "{value}[0] + {value}[1] + {value}[2] + {value}[3] ", + "type": "expression" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder", + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 20, + "width": 70, + "x": 190.721, + "y": 157 + }, + "props": { + "text": "Max kW" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value_0" + }, + "position": { + "height": 15, + "width": 105, + "x": 7.8, + "y": 143.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.min" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder", + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_2" + }, + "position": { + "height": 20, + "width": 70, + "x": 7.8, + "y": 157 + }, + "props": { + "text": "Min kW" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value_1" + }, + "position": { + "height": 15, + "width": 92, + "x": 159.5, + "y": 143.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.max" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder", + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_4" + }, + "position": { + "height": 19, + "width": 138, + "x": 8.66, + "y": 15 + }, + "props": { + "text": "Real Power" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_5" + }, + "position": { + "height": 20, + "width": 28, + "x": 227, + "y": 7.5 + }, + "props": { + "text": "kW" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_6" + }, + "position": { + "height": 19, + "width": 175, + "x": 9, + "y": 2 + }, + "props": { + "text": "Critical (PDU)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "time2" + }, + "position": { + "height": 10, + "width": 40, + "x": 113, + "y": 131.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-3600000" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root", + "tooltip": { + "width": "" + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a014f41ac284b35141dff07e9b9ebe1eb32940a9fb47e9720d393a75d4307095 b/Gateways/FE/projects/.resources/a014f41ac284b35141dff07e9b9ebe1eb32940a9fb47e9720d393a75d4307095 new file mode 100644 index 0000000..6211103 Binary files /dev/null and b/Gateways/FE/projects/.resources/a014f41ac284b35141dff07e9b9ebe1eb32940a9fb47e9720d393a75d4307095 differ diff --git a/Gateways/FE/projects/.resources/a05f256964a9edce28ed6f9f5b92334b98b1f56fc4c45d0501df77ed9d60d8d5 b/Gateways/FE/projects/.resources/a05f256964a9edce28ed6f9f5b92334b98b1f56fc4c45d0501df77ed9d60d8d5 new file mode 100644 index 0000000..ccd0ae2 --- /dev/null +++ b/Gateways/FE/projects/.resources/a05f256964a9edce28ed6f9f5b92334b98b1f56fc4c45d0501df77ed9d60d8d5 @@ -0,0 +1,275 @@ +{ + "custom": { + "percent": null + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS1" + }, + "propConfig": { + "custom.percent": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fuel Percent" + }, + "type": "tag" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 150, + "width": 145 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.desiredHigh": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + }, + "props.processValue": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + } + }, + "props": { + "desiredLow": 25, + "highAlarm": 100, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 25, + "lowInterlock": null, + "lowLowAlarm": null, + "reverseIndicator": true + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "children": [ + { + "meta": { + "name": "desc" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "text": "Fuel", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "35%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Run Hours" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "Hrs", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "75%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 3, + "paddingLeft": 3, + "paddingRight": 3, + "paddingTop": 3 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a09ea2e0b236ea5f8391450ccd02af8211be839348c36cabb88eef44288ff348 b/Gateways/FE/projects/.resources/a09ea2e0b236ea5f8391450ccd02af8211be839348c36cabb88eef44288ff348 new file mode 100644 index 0000000..6bb5024 Binary files /dev/null and b/Gateways/FE/projects/.resources/a09ea2e0b236ea5f8391450ccd02af8211be839348c36cabb88eef44288ff348 differ diff --git a/Gateways/FE/projects/.resources/a0ddfe0ca02036753587f45136e2e9b28ead540d843d99cebfc589723a1d567d b/Gateways/FE/projects/.resources/a0ddfe0ca02036753587f45136e2e9b28ead540d843d99cebfc589723a1d567d new file mode 100644 index 0000000..a5d8783 --- /dev/null +++ b/Gateways/FE/projects/.resources/a0ddfe0ca02036753587f45136e2e9b28ead540d843d99cebfc589723a1d567d @@ -0,0 +1,1373 @@ +{ + "custom": { + "colorHandler": { + "box": "var(--olGray)", + "bus": "var(--olGray)", + "text": "var(--olGray)" + } + }, + "params": { + "inPower": 1 + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 108, + "width": 180 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180 + }, + "propConfig": { + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[7].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[9].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[7].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[7].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[7].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "135", + "x": "0", + "y": "12.983" + }, + { + "d": "M0,17l0,-4.017l4.018,-0l-0,0.75l-3.268,-0l0,3.267l-0.75,0Zm9.643,-4.017l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm11.25,-0l-0,0.75l-8.036,-0l0,-0.75l8.036,-0Zm5.625,-0l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm11.25,-0l-0,0.75l-8.036,-0l0,-0.75l8.036,-0Zm5.625,-0l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm11.25,-0l-0,0.75l-8.036,-0l0,-0.75l8.036,-0Zm5.625,-0l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm11.25,-0l-0,0.75l-8.036,-0l-0,-0.75l8.036,-0Zm5.625,-0l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm11.25,-0l-0,0.75l-8.036,-0l0,-0.75l8.036,-0Zm5.625,-0l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm11.25,-0l-0,0.75l-8.036,-0l0,-0.75l8.036,-0Zm5.625,-0l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm11.25,-0l-0,0.75l-8.036,-0l0,-0.75l8.036,-0Zm5.625,-0l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm7.232,4.017l-0.75,0c0,0 0,-3.267 -0,-3.267l-3.268,-0l0,-0.75l4.018,-0l0,4.017Zm0,5.625l-0.75,0l0,-2.41l0.75,-0l0,2.41Zm0,11.25l-0.75,0l0,-8.035l0.75,-0l0,8.035Zm0,5.625l-0.75,0l0,-2.41l0.75,-0l0,2.41Zm0,11.25l-0.75,0l0,-8.035l0.75,-0l0,8.035Zm0,5.625l-0.75,0l0,-2.41l0.75,-0l0,2.41Zm0,11.25l-0.75,0l0,-8.035l0.75,-0l0,8.035Zm0,5.625l-0.75,0l0,-2.41l0.75,-0l0,2.41Zm-4.018,7.233l0,-0.75l3.268,-0l0,-3.268l0.75,-0l0,4.018l-4.018,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-11.25,-0l0,-0.75l8.036,-0l-0,0.75l-8.036,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-11.25,-0l0,-0.75l8.036,-0l-0,0.75l-8.036,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-11.25,-0l0,-0.75l8.036,-0l-0,0.75l-8.036,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-11.25,-0l0,-0.75l8.036,-0l0,0.75l-8.036,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-11.25,-0l0,-0.75l8.036,-0l-0,0.75l-8.036,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-11.25,-0l0,-0.75l8.036,-0l-0,0.75l-8.036,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-11.25,-0l0,-0.75l8.036,-0l-0,0.75l-8.036,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-7.232,-4.018l0.75,-0c0,-0 0,3.268 0,3.268l3.268,-0l-0,0.75l-4.018,-0l0,-4.018Zm0,-5.625l0.75,-0l0,2.41l-0.75,0l0,-2.41Zm0,-11.25l0.75,-0l0,8.035l-0.75,0l0,-8.035Zm0,-5.625l0.75,-0l0,2.41l-0.75,0l0,-2.41Zm0,-11.25l0.75,-0l0,8.035l-0.75,0l0,-8.035Zm0,-5.625l0.75,-0l0,2.41l-0.75,0l0,-2.41Zm0,-11.25l0.75,-0l0,8.035l-0.75,0l0,-8.035Zm0,-5.625l0.75,-0l0,2.41l-0.75,0l0,-2.41Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M4.319,44.108l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M120.967,44.108l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M4.319,46.733l116.648,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,33.209l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M12.858,46.733l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M57.858,46.733l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M103.036,46.733l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M64.875,23.483c1.261,1.2 1.896,2.694 1.87,4.5c0.009,2.094 -0.591,3.615 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "63.75", + "cy": "23.483", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,22.358c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "63.75", + "cy": "32.483", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,31.358c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M68.535,23.483c1.262,1.2 1.897,2.694 1.871,4.5c0.008,2.094 -0.592,3.615 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,86.0359,21.9057)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600AF", + "type": "text", + "x": "71.442px", + "y": "21.906px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,85.7267,25.6557)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600AT", + "type": "text", + "x": "71.442px", + "y": "25.656px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,89.4193,29.4443)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "71.591px", + "y": "29.444px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,83.6047,33.1943)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "71.566px", + "y": "33.194px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,82.0991,36.9443)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "100%", + "type": "text", + "x": "71.442px", + "y": "36.944px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M13.983,60.983c1.261,1.2 1.896,2.694 1.87,4.5c0.009,2.094 -0.591,3.615 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "12.858", + "cy": "60.983", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M12.858,59.858c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "12.858", + "cy": "69.983", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M12.858,68.858c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M17.643,60.983c1.262,1.2 1.897,2.694 1.871,4.5c0.008,2.094 -0.592,3.615 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,35.1041,61.3102)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600AF", + "type": "text", + "x": "20.511px", + "y": "61.31px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,34.7948,65.0602)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600AT", + "type": "text", + "x": "20.511px", + "y": "65.06px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,38.4875,68.8488)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "20.659px", + "y": "68.849px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,32.6728,72.5988)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "20.635px", + "y": "72.599px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M58.983,60.983c1.261,1.2 1.896,2.694 1.87,4.5c0.009,2.094 -0.591,3.615 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "57.858", + "cy": "60.983", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M57.858,59.858c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "57.858", + "cy": "69.983", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M57.858,68.858c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M62.643,60.983c1.262,1.2 1.897,2.694 1.871,4.5c0.008,2.094 -0.592,3.615 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,80.3086,61.3102)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600AF", + "type": "text", + "x": "65.715px", + "y": "61.31px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,79.9994,65.0602)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600A", + "type": "text", + "x": "65.715px", + "y": "65.06px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,83.692,68.8488)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "65.864px", + "y": "68.849px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,77.8774,72.5988)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "65.839px", + "y": "72.599px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M104.161,60.983c1.261,1.2 1.896,2.694 1.871,4.5c0.008,2.094 -0.592,3.615 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "type": "path" + }, + { + "cx": "103.036", + "cy": "60.983", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M103.036,59.858c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "103.036", + "cy": "69.983", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M103.036,68.858c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M107.822,60.983c1.261,1.2 1.896,2.694 1.87,4.5c0.009,2.094 -0.592,3.615 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,125.309,61.3102)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600AF", + "type": "text", + "x": "110.715px", + "y": "61.31px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,124.999,65.0602)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600AT", + "type": "text", + "x": "110.715px", + "y": "65.06px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,128.692,68.8488)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "110.864px", + "y": "68.849px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,122.877,72.5988)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "110.839px", + "y": "72.599px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,30.8187,3.03345)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "CH-SWBD-M1-1", + "type": "text", + "x": "-0.197px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,22.7397,6.78345)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600A,480V", + "type": "text", + "x": "-0.197px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,32.2225,10.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3PH, 3W65kAIC", + "type": "text", + "x": "-0.197px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 135 81" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a0f2cf81c8965581773df20668ffe35cd23c5d5ff2ee5b009ccc74e873d57e49 b/Gateways/FE/projects/.resources/a0f2cf81c8965581773df20668ffe35cd23c5d5ff2ee5b009ccc74e873d57e49 new file mode 100644 index 0000000..5107f8e Binary files /dev/null and b/Gateways/FE/projects/.resources/a0f2cf81c8965581773df20668ffe35cd23c5d5ff2ee5b009ccc74e873d57e49 differ diff --git a/Gateways/FE/projects/.resources/a106f70f00d4bc8bf66feb61d7d5bdd586c6029302429a71538f091936f899db b/Gateways/FE/projects/.resources/a106f70f00d4bc8bf66feb61d7d5bdd586c6029302429a71538f091936f899db new file mode 100644 index 0000000..c2d0df4 Binary files /dev/null and b/Gateways/FE/projects/.resources/a106f70f00d4bc8bf66feb61d7d5bdd586c6029302429a71538f091936f899db differ diff --git a/Gateways/FE/projects/.resources/a111f2059dca53b28570477a18007d0ebf74051ecb5cfb0a5c4bfc2868a05821 b/Gateways/FE/projects/.resources/a111f2059dca53b28570477a18007d0ebf74051ecb5cfb0a5c4bfc2868a05821 new file mode 100644 index 0000000..fe0ec7a --- /dev/null +++ b/Gateways/FE/projects/.resources/a111f2059dca53b28570477a18007d0ebf74051ecb5cfb0a5c4bfc2868a05821 @@ -0,0 +1,3645 @@ +{ + "custom": {}, + "params": { + "Room": "UT-P4.4", + "pageId": "" + }, + "propConfig": { + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 170, + "width": 350 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": { + "DS": "#a8d18d", + "HS": "#fafac8", + "M": "#c8f0ff", + "NoSelected": "gray", + "P": "#ffd7b3", + "SES": "#008100" + } + }, + "meta": { + "name": "OnelineDiagram" + }, + "position": { + "height": 1, + "width": 0.9828 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "SES-1A", + "output": "#008100" + }, + { + "input": "UTILITY", + "output": "#008100" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "SES-1B", + "output": "#008100" + }, + { + "input": "UTILITY", + "output": "#008100" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "DS-1A3", + "output": "#a8d18d" + }, + { + "input": "UTILITY", + "output": "#a8d18d" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "DS-1B3", + "output": "#a8d18d" + }, + { + "input": "UTILITY", + "output": "#a8d18d" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "DS-1A2", + "output": "#a8d18d" + }, + { + "input": "UTILITY", + "output": "#a8d18d" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "DS-1B2", + "output": "#a8d18d" + }, + { + "input": "UTILITY", + "output": "#a8d18d" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "DS-1A1", + "output": "#a8d18d" + }, + { + "input": "UTILITY", + "output": "#a8d18d" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "DS-1B1", + "output": "#a8d18d" + }, + { + "input": "UTILITY", + "output": "#a8d18d" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-HS1", + "output": "#fafac8" + }, + { + "input": "UT", + "output": "#fafac8" + }, + { + "input": "HS", + "output": "#fafac8" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-HS2", + "output": "#fafac8" + }, + { + "input": "UT", + "output": "#fafac8" + }, + { + "input": "HS", + "output": "#fafac8" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M1", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M2", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M3", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M4", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M5", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M6", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M7", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M8", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P2.1", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P2", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P2.2", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P2", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P2.3", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P2", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P2.4", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P2", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P2.5", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P2", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P3.1", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P3", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P3.2", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P3", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P3.3", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P3", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P3.4", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P3", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P3.5", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P3", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P5.1", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P5", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P5.2", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P5", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P5.3", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P5", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P5.4", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P5", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P5.5", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P5", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P4.1", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P4", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P4.2", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P4", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P4.3", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P4", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P4.4", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P4", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P4.5", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P4", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P1.1", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P1", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P1.2", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P1", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P1.3", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P1", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[4].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P1.4", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P1", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P1.5", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P1", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "178.735", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "444.63", + "x": "26.322", + "y": "302.752" + }, + { + "fill": {}, + "height": "178.735", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "444.63", + "x": "4534", + "y": "302.752" + } + ], + "id": "SES", + "name": "SES", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "174.41", + "x": "211.479", + "y": "652.307" + }, + { + "fill": {}, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "174.41", + "x": "4618.04", + "y": "652.307" + }, + { + "fill": {}, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "174.41", + "x": "211.479", + "y": "1244.35" + }, + { + "fill": {}, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "174.41", + "x": "4618.04", + "y": "1244.35" + }, + { + "fill": {}, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "174.41", + "x": "211.479", + "y": "1840.82" + }, + { + "fill": {}, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "174.41", + "x": "4618.04", + "y": "1840.82" + } + ], + "id": "DS", + "name": "DS", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "2133.62" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2993.68", + "y": "946.28" + } + ], + "id": "HS", + "name": "HS", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "1838.4" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "1838.4" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "1838.4" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "1838.4" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "1838.4" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2993.68", + "y": "1838.4" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "3428.1", + "y": "2133.62" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "3862.53", + "y": "2133.62" + } + ], + "id": "M", + "name": "M", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "1538.87" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "1538.87" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "1538.87" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "1538.87" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "1538.87" + } + ], + "id": "P2", + "name": "P2", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "1242.06" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "1242.06" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "1242.06" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "1242.06" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "1242.06" + } + ], + "id": "P3", + "name": "P3", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "647.309" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "647.309" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "647.309" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "647.309" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "647.309" + } + ], + "id": "P5", + "name": "P5", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "946.28" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "946.28" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "946.28" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "946.28" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "946.28" + } + ], + "id": "P4", + "name": "P4", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "2133.62" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "2133.62" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "2133.62" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "2133.62" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2993.68", + "y": "2133.62" + } + ], + "id": "P1", + "name": "P1", + "type": "group" + } + ], + "id": "P", + "name": "P", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1145.65,724.395l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,724.395l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,724.395l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,724.395l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2888.52,724.395l1729.52,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,724.395l-428.772,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A3-1B3-2", + "name": "DS-1A3-1B3-2", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1023.37l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2890.24,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3324.67,1023.37l1293.38,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1023.37l-428.772,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A3-1B3-1", + "name": "DS-1A3-1B3-1", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1319.14l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1319.14l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1319.14l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1319.14l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2890.24,1319.14l1727.8,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1319.14l-428.772,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A2-1B2-2", + "name": "DS-1A2-1B2-2", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1615.96l106.882,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1615.96l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1615.96l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1615.96l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2890.24,1615.96l1727.8,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1615.96l-428.772,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A2-1B2-1", + "name": "DS-1A2-1B2-1", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1915.49l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1915.49l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1915.49l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1915.49l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2888.52,1915.49l103.434,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3324.67,1915.49l1293.38,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1915.49l-428.772,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A1-1B1-2", + "name": "DS-1A1-1B1-2", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,2210.7l106.882,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M1583.52,2210.7l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M2017.95,2210.7l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M2454.09,2210.7l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M2888.52,2210.7l103.434,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M3324.67,2210.7l103.434,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M3759.09,2210.7l103.434,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M4193.52,2210.7l424.528,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M814.661,2210.7l-428.772,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + } + ], + "id": "DA-1A1-1B1-1", + "name": "DA-1A1-1B1-1", + "type": "group" + }, + { + "elements": [ + { + "d": "M211.479,875.791l-46.431,0l0,-394.305", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M211.479,1467.84l-93.872,0l-0,-986.349", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M211.479,2064.31l-140.211,-0l0,-1582.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "SES-1A-DS", + "name": "SES-1A-DS", + "type": "group" + }, + { + "elements": [ + { + "d": "M4792.45,875.791l47.797,0l-0,-394.305", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4792.45,1467.84l93.694,0l-0,-986.349", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4792.45,2064.31l140.156,-0l-0,-1582.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "SES-1B-DS", + "name": "SES-1B-DS", + "type": "group" + }, + { + "elements": [ + { + "d": "M248.636,302.752l0,-172.353", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M248.636,130.399l22.872,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M248.636,130.399l-22.871,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Utility01", + "name": "Utility01", + "type": "group" + }, + { + "elements": [ + { + "d": "M4756.31,302.752l-0,-172.353", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4756.31,130.399l22.871,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4756.31,130.399l-22.872,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Utility02", + "name": "Utility02", + "type": "group" + } + ], + "id": "Conections", + "name": "Conections", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 5000 2500" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "navigationData": { + "GoTo": "", + "breadcrumb": "/Electrical System Overview/Oneline/SES", + "target": "Pages/Dev/D_Electrical/L2/D201 Oneline SES", + "zoom": "94%" + } + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\n\ttarget \u003d self.custom.navigationData.target\n\tGoTo \u003d self.custom.navigationData.GoTo\n\tzoom \u003d self.custom.navigationData.zoom\n\tcrumb \u003d self.custom.navigationData.breadcrumb\n\tpayload \u003d {\"target\":target, \n\t\t\t\t\"params\": {\"GoTo\":GoTo, \"zoom\":zoom},\n\t\t\t\t\"breadcrumb\":crumb}\n#\tsystem.perspective.print(\"---- pageId: %s, payload: \"%(self.view.params.pageId, system.util.jsonEncode(payload)))\n\tif target !\u003d \"\":\t\t\n\t\tutils.nav.iFrameNavigate(self, payload)\n#\t\tsystem.perspective.navigate(view \u003d target)#, params \u003d {\u0027GoTo\u0027:GoTo, \u0027zoom\u0027:zoom})" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 0.0714, + "width": 0.0857, + "x": 0.0107, + "y": 0.1214 + }, + "props": { + "style": { + "classes": "containers/HoverOver" + }, + "text": "SES-1A", + "textStyle": { + "fontSize": 4, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.9087, + "y": 0.1214 + }, + "props": { + "text": "SES-1B", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "navigationData": { + "GoTo": "", + "breadcrumb": "/Electrical System Overview/Oneline/P5.1", + "target": "Pages/Dev/D_Electrical/L2/D271 Oneline P5.1", + "zoom": "113%" + } + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttarget \u003d self.custom.navigationData.target\n\tGoTo \u003d self.custom.navigationData.GoTo\n\tzoom \u003d self.custom.navigationData.zoom\n\tcrumb \u003d self.custom.navigationData.breadcrumb\n\tpayload \u003d {\"target\":target, \n\t\t\t\t\"params\": {\"GoTo\":GoTo, \"zoom\":zoom},\n\t\t\t\t\"breadcrumb\":crumb}\n#\tsystem.perspective.print(\"---- pageId: %s, payload: \"%(self.view.params.pageId, system.util.jsonEncode(payload)))\n\tif target !\u003d \"\":\t\t\n\t\tutils.nav.iFrameNavigate(self, payload)\n#\t\tsystem.perspective.navigate(view \u003d target)#, params \u003d {\u0027GoTo\u0027:GoTo, \u0027zoom\u0027:zoom})" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "height": 0.0588, + "width": 0.0657, + "x": 0.1633, + "y": 0.2595 + }, + "props": { + "style": { + "classes": "containers/HoverOver" + }, + "text": "UT-P5.1", + "textStyle": { + "fontSize": 4, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.2552, + "y": 0.2536 + }, + "props": { + "text": "UT-P5.2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.3379, + "y": 0.2536 + }, + "props": { + "text": "UT-P5.3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.4241, + "y": 0.2536 + }, + "props": { + "text": "UT-P5.4", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5069, + "y": 0.2536 + }, + "props": { + "text": "UT-P5.5", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5069, + "y": 0.375 + }, + "props": { + "text": "UT-P4.5", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_7" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.4241, + "y": 0.375 + }, + "props": { + "text": "UT-P4.4", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_8" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.3379, + "y": 0.375 + }, + "props": { + "text": "UT-P4.3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_9" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.2552, + "y": 0.375 + }, + "props": { + "text": "UT-P4.2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_10" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.169, + "y": 0.375 + }, + "props": { + "text": "UT-P4.1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_11" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5069, + "y": 0.4929 + }, + "props": { + "text": "UT-P3.5", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_12" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.4241, + "y": 0.4929 + }, + "props": { + "text": "UT-P3.4", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_13" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.3379, + "y": 0.4929 + }, + "props": { + "text": "UT-P3.3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_14" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.2552, + "y": 0.4929 + }, + "props": { + "text": "UT-P3.2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_15" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.169, + "y": 0.4929 + }, + "props": { + "text": "UT-P3.1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_16" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5069, + "y": 0.6107 + }, + "props": { + "text": "UT-P2.5", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_17" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.4241, + "y": 0.6107 + }, + "props": { + "text": "UT-P2.4", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_18" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.3379, + "y": 0.6107 + }, + "props": { + "text": "UT-P2.3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_19" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.2552, + "y": 0.6107 + }, + "props": { + "text": "UT-P2.2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_20" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.169, + "y": 0.6107 + }, + "props": { + "text": "UT-P2.1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_21" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5103, + "y": 0.7286 + }, + "props": { + "text": "UT-M5", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_22" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.4276, + "y": 0.7286 + }, + "props": { + "text": "UT-M4", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_23" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.3448, + "y": 0.7286 + }, + "props": { + "text": "UT-M3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_24" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.2621, + "y": 0.7286 + }, + "props": { + "text": "UT-M2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_25" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.1759, + "y": 0.7286 + }, + "props": { + "text": "UT-M1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_26" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5069, + "y": 0.85 + }, + "props": { + "text": "UT-P1.4", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_27" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.4241, + "y": 0.85 + }, + "props": { + "text": "UT-P1.3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_28" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.3379, + "y": 0.85 + }, + "props": { + "text": "UT-P1.2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_29" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.2552, + "y": 0.85 + }, + "props": { + "text": "UT-P1.1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_30" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.169, + "y": 0.85 + }, + "props": { + "text": "UT-HS1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_31" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5931, + "y": 0.7286 + }, + "props": { + "text": "UT-M6", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_32" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5897, + "y": 0.85 + }, + "props": { + "text": "UT-P1.5", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_33" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.6793, + "y": 0.85 + }, + "props": { + "text": "UT-M7", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_34" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.7621, + "y": 0.85 + }, + "props": { + "text": "UT-M8", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_35" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5897, + "y": 0.375 + }, + "props": { + "text": "UT-HS2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_36" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.8414, + "y": 0.3143 + }, + "props": { + "text": "DS-1B3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_37" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.8414, + "y": 0.55 + }, + "props": { + "text": "DS-1B2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_38" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.8414, + "y": 0.7929 + }, + "props": { + "text": "DS-1B1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_39" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.0862, + "y": 0.7929 + }, + "props": { + "text": "DS-1A1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_40" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.0862, + "y": 0.55 + }, + "props": { + "text": "DS-1A2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_41" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.0862, + "y": 0.3143 + }, + "props": { + "text": "DS-1A3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "navigationData": { + "GoTo": "/Oneline-SES", + "breadcrumb": "/Electrical System Overview/Oneline/SES", + "target": "Pages/Dev/D_Electrical/L2/D201 Oneline SES", + "zoom": "94%" + } + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\n\ttarget \u003d self.custom.navigationData.target\n\tGoTo \u003d self.custom.navigationData.GoTo\n\tzoom \u003d self.custom.navigationData.zoom\n\tcrumb \u003d self.custom.navigationData.breadcrumb\n\tpayload \u003d {\"target\":target, \n\t\t\t\t\"params\": {\"GoTo\":GoTo, \"zoom\":zoom},\n\t\t\t\t\"breadcrumb\":crumb}\n#\tsystem.perspective.print(\"---- pageId: %s, payload: \"%(self.view.params.pageId, system.util.jsonEncode(payload)))\n\tif target !\u003d \"\":\t\t\n\t\tutils.nav.iFrameNavigate(self, payload)\n#\t\tsystem.perspective.navigate(view \u003d target)#, params \u003d {\u0027GoTo\u0027:GoTo, \u0027zoom\u0027:zoom})" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TESTING ICON" + }, + "position": { + "height": 0.0714, + "width": 0.0857, + "x": 0.1393, + "y": 0.1214 + }, + "props": { + "style": { + "backgroundColor": "#4E73CC", + "classes": "containers/HoverOver" + }, + "text": "SES-1A", + "textStyle": { + "fontSize": 4, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{session.props.device.identifier}\u003d\u00271431593b-b1d6-4226-8fa3-d064d23467e1\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "aspectRatio": "350:170", + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a11de1577cdeb480b85a055e54522de5236fb2aed7b45e814e46ffc78bf2e6ea b/Gateways/FE/projects/.resources/a11de1577cdeb480b85a055e54522de5236fb2aed7b45e814e46ffc78bf2e6ea new file mode 100644 index 0000000..e23669b --- /dev/null +++ b/Gateways/FE/projects/.resources/a11de1577cdeb480b85a055e54522de5236fb2aed7b45e814e46ffc78bf2e6ea @@ -0,0 +1,274 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Target" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\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": "Label", + "tooltip": { + "enabled": true, + "text": "Normal state controls how the alarm react. It will alarm when state is different from normal state value." + } + }, + "position": { + "basis": "200px" + }, + "props": { + "text": "Switch1 Normal State:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "style": { + "textAlign": "right" + }, + "text": "NO" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Source 1 Switch/Config/Target" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "tglswch" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "Label_1" + }, + "props": { + "text": "NC" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Sw1 Normal State" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%", + "display": false + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "200px" + }, + "props": { + "text": "Switch2 Normal State:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "style": { + "textAlign": "right" + }, + "text": "NO" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Source 2 Switch/Config/Target" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "tglswch" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "NC" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a191f66004496ce34123ba144311fb02f7e980d2ef93678837788b7c68b63b24 b/Gateways/FE/projects/.resources/a191f66004496ce34123ba144311fb02f7e980d2ef93678837788b7c68b63b24 new file mode 100644 index 0000000..7a70be5 --- /dev/null +++ b/Gateways/FE/projects/.resources/a191f66004496ce34123ba144311fb02f7e980d2ef93678837788b7c68b63b24 @@ -0,0 +1,2776 @@ +{ + "custom": { + "DH": 3, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 1, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P3.1", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "custom.cam_energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P3-1/Closed" + }, + "type": "tag" + } + }, + "custom.ut_energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-1/Data/isEnergized" + }, + "type": "tag" + } + }, + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "this.custom.ut_energized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 0, + "breaker11": 0, + "breaker12": 0, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P3.1", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P3.1", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1155/SATB1_ER1155_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a1acae97f4e01c9fabc66828e1d521500be20b728fd46d638d7e272a6b6ad437 b/Gateways/FE/projects/.resources/a1acae97f4e01c9fabc66828e1d521500be20b728fd46d638d7e272a6b6ad437 new file mode 100644 index 0000000..a111719 Binary files /dev/null and b/Gateways/FE/projects/.resources/a1acae97f4e01c9fabc66828e1d521500be20b728fd46d638d7e272a6b6ad437 differ diff --git a/Gateways/FE/projects/.resources/a1c0d8b7274cd8ff7d8a9133bac2ccc6aaec0bc3de13d000d82b2f3138b9e3c2 b/Gateways/FE/projects/.resources/a1c0d8b7274cd8ff7d8a9133bac2ccc6aaec0bc3de13d000d82b2f3138b9e3c2 new file mode 100644 index 0000000..483a74c --- /dev/null +++ b/Gateways/FE/projects/.resources/a1c0d8b7274cd8ff7d8a9133bac2ccc6aaec0bc3de13d000d82b2f3138b9e3c2 @@ -0,0 +1,1998 @@ +{ + "custom": { + "id": "DS-1A3", + "isEnergized": true, + "w1": true, + "w2": true, + "w3": false, + "w4": false + }, + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3", + "textColor": "var(--olGray)", + "textHandler": { + "text1": "DS-1A1", + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "propConfig": { + "custom.id": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\ttext \u003d value.split(\u0027_\u0027)\n\treturn text[-1]", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.isEnergized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Data/isEnergized" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 01" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 02" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 113, + "width": 166 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "DS" + }, + "position": { + "height": 110, + "width": 160 + }, + "propConfig": { + "custom.colorHandler.Bus": { + "binding": { + "config": { + "path": "view.custom.isEnergized" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.W1": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw\u0027]:\n\t\treturn \"var(--olRed)\"\n\telse:\n\t\treturn \"var(--olGreen)\"", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.W2": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw\u0027]:\n\t\treturn \"var(--olRed)\"\n\telse:\n\t\treturn \"var(--olGreen)\"", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.W3": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w3}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw\u0027]:\n\t\treturn \"var(--olRed)\"\n\telse:\n\t\treturn \"var(--olGreen)\"", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.W4": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w4}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw\u0027]:\n\t\treturn \"var(--olRed)\"\n\telse:\n\t\treturn \"var(--olGreen)\"", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{parent.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[3].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W1" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.w1" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W1" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.w1" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.w2" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.w2" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[8].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[9].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[5].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[8].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text1" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[8].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text2" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text3" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text4" + }, + "type": "property" + } + }, + "props.elements[8].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "circle", + "width": 82.5, + "x": 3.75, + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l3.929,0l-0,0.75l-3.179,-0l0,3.268l-0.75,-0Zm9.429,-4.018l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.499,0l0,0.75l-2.357,0l0,-0.75l2.357,0Zm11.001,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.357,0l-0,-0.75l2.357,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm7.071,4.018l-0.75,-0l-0,-3.268l-3.179,0l0,-0.75l3.929,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.929,7.232l0,-0.75l3.179,0l0,-3.268l0.75,0l0,4.018l-3.929,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.499,0l-0,-0.75l2.357,0l-0,0.75l-2.357,0Zm-11.001,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.357,0l0,0.75l-2.357,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-7.071,-4.018l0.75,0l0,3.268l3.179,0l-0,0.75l-3.929,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M22.5,31.634l45,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,25.327l0,15.923", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,25.327l0,15.923", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M90,7.5l0,75l-90,-0l-0,-75l90,0Zm-0.75,0.75l-88.5,0l0,73.5l88.5,-0l0,-73.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "90", + "x": "-0", + "y": "7.5" + }, + { + "d": "M90.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M89.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M94.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "89.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M88.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M91.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + }, + { + "elements": [ + { + "cx": "22.5", + "cy": "25.327", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,26.452c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125Zm0,-0.675c0.248,0 0.45,-0.201 0.45,-0.45c0,-0.248 -0.202,-0.45 -0.45,-0.45c-0.248,0 -0.45,0.202 -0.45,0.45c0,0.249 0.202,0.45 0.45,0.45Z", + "name": "path", + "type": "path" + }, + { + "d": "M22.5,16.327l1.398,8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M22.5,16.327l4.579,7.749", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.68px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,20.5386,16.4583)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-1", + "type": "tspan", + "x": "11.967px 14.437px 16.834px 18.221px ", + "y": "16.458px 16.458px 16.458px 16.458px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "8.189px", + "y": "16.458px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.7675,23.2292)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "10.036px", + "y": "23.229px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,30.4087,30.2063)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "24.391px", + "y": "30.206px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "Way-1", + "name": "Way-1", + "type": "group" + }, + { + "elements": [ + { + "cx": "67.5", + "cy": "25.327", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,26.452c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125Zm0,-0.75c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M67.5,16.327l1.398,8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,16.327l4.579,7.749", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,65.5552,16.4583)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-2", + "type": "tspan", + "x": "56.984px 59.454px 61.85px 63.238px ", + "y": "16.458px 16.458px 16.458px 16.458px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "53.206px", + "y": "16.458px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,64.7841,23.2292)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "55.053px", + "y": "23.229px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,75.9375,30.2083)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NO", + "type": "text", + "x": "69.688px", + "y": "30.208px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "Way-2", + "name": "Way-2", + "type": "group" + }, + { + "elements": [ + { + "cx": 22.5, + "cy": "59.785", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,58.66c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M22.5,68.785l1.398,-8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,68.785l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M23.898,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 22.5, + "cy": "42.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,41.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": 22.5, + "cy": "51.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,50.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M27.558,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,52.067l0,7.833", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,20.5386,74.4792)", + "type": "group" + }, + { + "elements": [], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "WAY-4", + "type": "text", + "x": "8.189px", + "y": "74.479px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.7675,65.4822)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "10.036px", + "y": "65.482px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,33.1767,65.5208)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "27.159px", + "y": "65.521px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "Way-3", + "name": "Way-4", + "type": "group" + }, + { + "elements": [ + { + "cx": "67.5", + "cy": "59.785", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,58.66c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M67.5,68.785l1.398,-8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,68.785l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M68.883,42.405c1.261,1.2 1.896,2.695 1.871,4.5c0.008,2.095 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 67.5, + "cy": "42.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,41.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": 67.5, + "cy": "51.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,50.25c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M72.544,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,52.067l0,7.833", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,65.5552,74.4792)", + "type": "group" + }, + { + "elements": [], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "WAY-3", + "type": "text", + "x": "53.206px", + "y": "74.479px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,64.7841,65.4822)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "55.053px", + "y": "65.482px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,78.4735,65.5208)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "72.455px", + "y": "65.521px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "Way-4", + "name": "Way-4", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,103.018,14.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1A1", + "type": "text", + "visibility": "hidden", + "x": "88.199px", + "y": "14.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,114.137,17.9948)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ",", + "type": "tspan", + "x": "112.979px ", + "y": "17.995px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.343px", + "y": "17.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,117.199,21.7834)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "92.884px 94.042px ", + "y": "21.783px 21.783px " + }, + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "101.22px 102.377px ", + "y": "21.783px 21.783px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.325px", + "y": "21.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,114.102,25.5334)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "97.434px 99.983px 101.14px ", + "y": "25.533px 25.533px 25.533px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.482px", + "y": "25.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 120 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 37, + "x": 37, + "y": 63 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed Way 03\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Tripped Way 03\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027\n", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "overflow": "visible" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 20, + "width": 37, + "x": 50.5, + "y": 45 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed Way 04\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Tripped Way 04\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027\n", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "overflow": "visible", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 66, + "x": 99, + "y": -9 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\ttext \u003d value.split(\u0027_\u0027)\n\treturn text[-1]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a1f116f31d67fb6dc51cb4ddfe2562598023bce7530ebd8b87357ee3dacf9e92 b/Gateways/FE/projects/.resources/a1f116f31d67fb6dc51cb4ddfe2562598023bce7530ebd8b87357ee3dacf9e92 new file mode 100644 index 0000000..4b7e602 --- /dev/null +++ b/Gateways/FE/projects/.resources/a1f116f31d67fb6dc51cb4ddfe2562598023bce7530ebd8b87357ee3dacf9e92 @@ -0,0 +1,15 @@ +{ + "base": { + "style": { + "backgroundColor": "#D5D5D5", + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderWidth": "1px", + "borderRadius": "4px", + "color": "#555555", + "cursor": "pointer", + "marginBottom": "4px", + "marginRight": "4px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a271ba47ad0a46bed709347ae919a01969f219f2ea51823a6f7a16a6ce6fcd54 b/Gateways/FE/projects/.resources/a271ba47ad0a46bed709347ae919a01969f219f2ea51823a6f7a16a6ce6fcd54 new file mode 100644 index 0000000..c2aa176 --- /dev/null +++ b/Gateways/FE/projects/.resources/a271ba47ad0a46bed709347ae919a01969f219f2ea51823a6f7a16a6ce6fcd54 @@ -0,0 +1,138 @@ +{ + "custom": { + "DOAS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/DOAS1", + "data": [ + "[Ignition_Common_IO_Gtwy]Roof/DOAS1", + "[Ignition_Common_IO_Gtwy]Roof/DOAS2", + "[Ignition_Common_IO_Gtwy]Roof/DOAS3" + ], + "key": null, + "key_1": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]" + }, + "params": {}, + "propConfig": { + "custom.DOAS_tagPath": { + "binding": { + "config": { + "path": "view.custom.key" + }, + "transforms": [ + { + "code": "\toutput \u003d \"\"\n\tif(value is None):\n\t\toutput \u003d \"[Ignition_Common_IO_Gtwy]Roof/DOAS1\"\n\telse:\n\t\toutput \u003d self.custom.data[value]\n\treturn output", + "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/DOAS\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\toutput.append(str(item[\"fullPath\"]))\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.key": { + "binding": { + "config": { + "path": "/root/Location/Table.props.selection.selectedRow" + }, + "transforms": [ + { + "code": "\tif(value \u003d\u003d \"null\"):\n\t\tvalue \u003d 0\n\treturn value", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.key_1": { + "persistent": true + }, + "custom.tagPath": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ESP", + "tagPath": "[Ignition_Common_IO_Gtwy]ELEV1124/SATB1_ELEV1124_ESP1" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ESP", + "tagPath": "[Ignition_Common_IO_Gtwy]ELEV1130/SATB1_ELEV1124_ESP2" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ESP", + "tagPath": "[Ignition_Common_IO_Gtwy]ELEV1131/SATB1_ELEV1124_ESP3" + } + ], + "path": "Library/Symbols/Mechanical/Sym_SP", + "style": { + "gap": 100, + "overflow": "visible" + } + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "gap": 50, + "overflow": "visible", + "padding": 15 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a2761670c68b78a693e354166a22cfd5ed595538bfe385b95abc974e803c68d5 b/Gateways/FE/projects/.resources/a2761670c68b78a693e354166a22cfd5ed595538bfe385b95abc974e803c68d5 new file mode 100644 index 0000000..266cdcf Binary files /dev/null and b/Gateways/FE/projects/.resources/a2761670c68b78a693e354166a22cfd5ed595538bfe385b95abc974e803c68d5 differ diff --git a/Gateways/FE/projects/.resources/a27ef49d4c1b242e65a30703c93d0efbcda814f664336b7dd9dd59adcbb58197 b/Gateways/FE/projects/.resources/a27ef49d4c1b242e65a30703c93d0efbcda814f664336b7dd9dd59adcbb58197 new file mode 100644 index 0000000..f33ba76 Binary files /dev/null and b/Gateways/FE/projects/.resources/a27ef49d4c1b242e65a30703c93d0efbcda814f664336b7dd9dd59adcbb58197 differ diff --git a/Gateways/FE/projects/.resources/a2c84833eae10b823876e8484282dfd2b238dd719d94c034c9252fe1fc938851 b/Gateways/FE/projects/.resources/a2c84833eae10b823876e8484282dfd2b238dd719d94c034c9252fe1fc938851 new file mode 100644 index 0000000..a36adcf --- /dev/null +++ b/Gateways/FE/projects/.resources/a2c84833eae10b823876e8484282dfd2b238dd719d94c034c9252fe1fc938851 @@ -0,0 +1,481 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_SYSTEM" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + }, + "selected": true + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 4, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1732050757002 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1732050757002 + ], + "$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 + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a32e638c5057c9cc0884245d40be92efaa03efc2982b676b6c4fbc78de702e34 b/Gateways/FE/projects/.resources/a32e638c5057c9cc0884245d40be92efaa03efc2982b676b6c4fbc78de702e34 new file mode 100644 index 0000000..fb331fa Binary files /dev/null and b/Gateways/FE/projects/.resources/a32e638c5057c9cc0884245d40be92efaa03efc2982b676b6c4fbc78de702e34 differ diff --git a/Gateways/FE/projects/.resources/a33ddf1c8dc6193de2cc8c4fa9fca25a9734f3ac0df168b0065b397d7603bbdb b/Gateways/FE/projects/.resources/a33ddf1c8dc6193de2cc8c4fa9fca25a9734f3ac0df168b0065b397d7603bbdb new file mode 100644 index 0000000..9e952d5 --- /dev/null +++ b/Gateways/FE/projects/.resources/a33ddf1c8dc6193de2cc8c4fa9fca25a9734f3ac0df168b0065b397d7603bbdb @@ -0,0 +1,389 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps Avg", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps G", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "AB Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "AN Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "BC Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "BN Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "CA Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "CN Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "L-L Voltage Avg", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "L-N Voltage Avg", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power Total", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Demand KW", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Energy", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Boolean", + "display": true, + "displaySelection": 1, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Status", + "numDecimals": 1, + "options": [ + "Open", + "Closed" + ], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "numDecimals": 2, + "options": [], + "visible": true + }, + { + "dataType": "Boolean", + "display": true, + "displaySelection": 1, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Tripped", + "numDecimals": 1, + "options": [ + "Not Tripped", + "Tripped" + ], + "visible": true + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n if system.tag.read(tagPath).value \u003d\u003d None:\n \tdisplay \u003d False\n else:\n \tdisplay \u003d True\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"numDecimals\":1,\n \"options\": [],\n \"visible\": True,\n \"display\": display,\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a36b46cbb8b6b71281c57f069d50022220559807c987e9e5ffa96995182312d7 b/Gateways/FE/projects/.resources/a36b46cbb8b6b71281c57f069d50022220559807c987e9e5ffa96995182312d7 new file mode 100644 index 0000000..32889a8 Binary files /dev/null and b/Gateways/FE/projects/.resources/a36b46cbb8b6b71281c57f069d50022220559807c987e9e5ffa96995182312d7 differ diff --git a/Gateways/FE/projects/.resources/a3aa25338083f14ec481caed78ea098bdf8c6d7135cf7c5a0367f98e1e37984f b/Gateways/FE/projects/.resources/a3aa25338083f14ec481caed78ea098bdf8c6d7135cf7c5a0367f98e1e37984f new file mode 100644 index 0000000..c8febe1 --- /dev/null +++ b/Gateways/FE/projects/.resources/a3aa25338083f14ec481caed78ea098bdf8c6d7135cf7c5a0367f98e1e37984f @@ -0,0 +1,257 @@ +{ + "custom": { + "AlarmSeverity": 0 + }, + "params": { + "key": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_PID" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.key": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 100, + "width": 100 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "SimpleGauge" + }, + "position": { + "basis": "200px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/CHW_System/Temp" + }, + "type": "tag" + } + } + }, + "props": { + "arc": { + "width": 25 + }, + "label": { + "offsetX": 10, + "offsetY": 22, + "size": 12, + "visible": false + } + }, + "type": "ia.chart.simple-gauge" + } + ], + "meta": { + "name": "Gauge Container" + }, + "position": { + "basis": "85%", + "shrink": 0 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "white", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003e0, \"solid\", \"none\")" + }, + "type": "expr" + } + } + }, + "props": { + "justify": "center", + "style": { + "outlineWidth": "2", + "overflow": "visible", + "paddingBottom": "-10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Value" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/CHW_System/Temp" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "--tagvalue-color", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "props": { + "text": "%", + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ValueContainer" + }, + "position": { + "basis": "20%", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "marginLeft": "10px", + "marginTop": "-45px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Title" + }, + "props": { + "text": "CHWP PID", + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Title Container" + }, + "position": { + "basis": "20%", + "shrink": 0 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "marginLeft": "10px", + "marginTop": "-20px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a3b77c00e267ffc2eebfef18afbbd0f29283aa96db3a907441c4ac48dec201f7 b/Gateways/FE/projects/.resources/a3b77c00e267ffc2eebfef18afbbd0f29283aa96db3a907441c4ac48dec201f7 new file mode 100644 index 0000000..0f8d59d --- /dev/null +++ b/Gateways/FE/projects/.resources/a3b77c00e267ffc2eebfef18afbbd0f29283aa96db3a907441c4ac48dec201f7 @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "fontSize": "12px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a3e9698950410761c334e0eb4ad1f4d78d3dac11541d38a41b0037bd43c7f306 b/Gateways/FE/projects/.resources/a3e9698950410761c334e0eb4ad1f4d78d3dac11541d38a41b0037bd43c7f306 new file mode 100644 index 0000000..4551f54 --- /dev/null +++ b/Gateways/FE/projects/.resources/a3e9698950410761c334e0eb4ad1f4d78d3dac11541d38a41b0037bd43c7f306 @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/SEL-735 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a3f43dfe039cd8a5b10bdba2209ef37c40cdff5281bb85e76ee79faffe779dc4 b/Gateways/FE/projects/.resources/a3f43dfe039cd8a5b10bdba2209ef37c40cdff5281bb85e76ee79faffe779dc4 new file mode 100644 index 0000000..8fd08f9 Binary files /dev/null and b/Gateways/FE/projects/.resources/a3f43dfe039cd8a5b10bdba2209ef37c40cdff5281bb85e76ee79faffe779dc4 differ diff --git a/Gateways/FE/projects/.resources/a4522383cc5e470c7df32b73ca915b65bcc2c4106bc115ac282b9e8acbfae79a b/Gateways/FE/projects/.resources/a4522383cc5e470c7df32b73ca915b65bcc2c4106bc115ac282b9e8acbfae79a new file mode 100644 index 0000000..a72b531 --- /dev/null +++ b/Gateways/FE/projects/.resources/a4522383cc5e470c7df32b73ca915b65bcc2c4106bc115ac282b9e8acbfae79a @@ -0,0 +1,433 @@ +{ + "custom": { + "tabsConfig": { + "showConfig": true, + "showControl": true, + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [ + "Discharge Air Temperature A" + ] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 3 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a45bd123ce3fee357428658507a8d0167415b1c9722922fee7cc3c60ef6cb3f3 b/Gateways/FE/projects/.resources/a45bd123ce3fee357428658507a8d0167415b1c9722922fee7cc3c60ef6cb3f3 new file mode 100644 index 0000000..7b3371e --- /dev/null +++ b/Gateways/FE/projects/.resources/a45bd123ce3fee357428658507a8d0167415b1c9722922fee7cc3c60ef6cb3f3 @@ -0,0 +1,2336 @@ +{ + "custom": { + "pageName": "P2.3" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1271", + "IO1": "[Ignition_SATB1_IO2_default]", + "Room": "ER1250", + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P2-3", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-2_to_UT-P2-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-3_to_UT-P2-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P2-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-3" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO2_default]ER1250/SWBD/SATB1_ER1250_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 2, + "Gallery": "GAL1271", + "Gateway": "[Ignition_SATB1_IO2_default]", + "Linuep": 3 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1016, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1376, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a4a689e30a6e3f05dea2382afff9ca0004a450e4db32b615b59354cb7c8072e8 b/Gateways/FE/projects/.resources/a4a689e30a6e3f05dea2382afff9ca0004a450e4db32b615b59354cb7c8072e8 new file mode 100644 index 0000000..eafc3f4 Binary files /dev/null and b/Gateways/FE/projects/.resources/a4a689e30a6e3f05dea2382afff9ca0004a450e4db32b615b59354cb7c8072e8 differ diff --git a/Gateways/FE/projects/.resources/a4b524c802ef035152c85c786f3c666d482868a3ddec813b09b94cac5de89e85 b/Gateways/FE/projects/.resources/a4b524c802ef035152c85c786f3c666d482868a3ddec813b09b94cac5de89e85 new file mode 100644 index 0000000..06b7c3b --- /dev/null +++ b/Gateways/FE/projects/.resources/a4b524c802ef035152c85c786f3c666d482868a3ddec813b09b94cac5de89e85 @@ -0,0 +1,2565 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "PDU V2", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-2", + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 160, + "width": 130 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 66, + "x": 1.55, + "y": -23 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "PDU" + }, + "position": { + "height": 160, + "width": 130 + }, + "propConfig": { + "custom.breaker1Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/SubfeedBreaker 1/Breaker Open" + }, + "type": "tag" + } + }, + "custom.breaker2Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/SubfeedBreaker 2/Breaker Open" + }, + "type": "tag" + } + }, + "custom.breaker3Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/SubfeedBreaker 3/Alarms/Breaker Open" + }, + "type": "tag" + } + }, + "custom.breaker4Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/SubfeedBreaker 4/Breaker Open" + }, + "type": "tag" + } + }, + "custom.breaker5Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/SubfeedBreaker 5/Breaker Open" + }, + "type": "tag" + } + }, + "custom.breakerOpen": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Subfeed Breaker Open" + }, + "type": "tag" + } + }, + "custom.colorHandler.breaker": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breakerOpen}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker1": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breaker1Open}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker2": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breaker2Open}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker3": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breaker3Open}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker4": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breaker4Open}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker5": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breaker5Open}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.bus": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breakerOpen}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.input": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.transformer": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breakerOpen}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + }, + "props.elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.PDU2" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.PDU3" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1" + }, + "type": "property" + } + }, + "props.elements[2].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr2" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr3" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr4" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr5" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr6" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].visibility": { + "binding": { + "config": { + "path": "this.custom.breakerOpen" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.input" + }, + "type": "property" + } + }, + "props.elements[2].elements[8].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[9].visibility": { + "binding": { + "config": { + "path": "this.custom.breakerOpen" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[11].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-5" + }, + "type": "property" + } + }, + "props.elements[3].elements[13].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[13].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SPD" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-1" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-6" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-2" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-3" + }, + "type": "property" + } + }, + "props.elements[3].elements[9].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[9].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-4" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker1Open" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker1Open" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker2Open" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker2Open" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker3" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker3Open" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker3" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker3" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker3Open" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker4" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker4Open" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker4" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker4" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker4Open" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker5" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker5Open" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker5" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker5" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker5Open" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[7].elements[2].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[3].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[4].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[5].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[6].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[7].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "105", + "id": "Box", + "name": "Box", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "width": "0.75px" + }, + "type": "rect", + "width": "82.5", + "x": "3.75", + "y": "11.25" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,25.9078,2.99479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "12px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "3.447px", + "y": "2.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.8979,6.74479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "3.296px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,16.2256,10.5355)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "3.498px", + "y": "10.535px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + }, + { + "elements": [ + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "18.347px" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "60.035px ", + "y": "22.097px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "22.097px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.445px", + "y": "25.886px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.42px", + "y": "29.636px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "33.386px" + }, + { + "elements": [ + { + "name": "tspan", + "text": "A", + "type": "tspan", + "x": "62.119px ", + "y": "37.097px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "37.097px" + }, + { + "d": "M68.625,21.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 67.5, + "cy": "21.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": 67.5, + "cy": "30.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M72.285,21.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": "transparent", + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.491,31.875l0,16.875", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.6195,65.9948)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.343px", + "y": "65.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,52.3586,113.342)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "23.646px", + "y": "113.342px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.3103,69.7448)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.343px", + "y": "69.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,13.4489,73.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.195px", + "y": "73.533px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,17.703,77.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.046px", + "y": "77.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,28.8582,81.0355)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.402px", + "y": "81.035px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,79.6713,95.5791)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "71.104px", + "y": "95.579px" + } + ], + "id": "CB-Texts", + "name": "CB-Texts", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "8.809", + "name": "rect", + "stroke": { + "width": "0.75px" + }, + "type": "rect", + "width": "12.458", + "x": "69.141", + "y": "89.683" + }, + { + "d": "M7.5,82.5l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M20.47,82.5l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M33.503,82.5l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M46.537,82.5l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M59.57,82.5l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M75.409,89.683l-0,-7.183", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,60.908l0,21.592", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,82.5l67.909,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M8.626,96.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "7.501", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "7.501", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M12.287,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M21.604,96.75c1.261,1.2 1.896,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "20.479", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "20.479", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M25.265,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M34.637,96.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "33.512", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "33.512", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M38.298,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "d": "M47.671,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "46.546", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "46.546", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M51.331,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + }, + { + "elements": [ + { + "d": "M60.704,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "59.579", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "59.579", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M64.364,96.75c1.261,1.2 1.896,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB05", + "name": "CB05", + "type": "group" + } + ], + "id": "OutputCB", + "name": "OutputCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M56.064,46.378l-0,2.405c0.375,1.41 1.359,2.021 2.849,1.972c1.412,0.061 2.381,-0.575 2.849,-1.972c0.498,1.321 1.407,2.024 2.849,1.972c1.601,0.04 2.45,-0.725 2.849,-1.972c0.449,1.237 1.285,2.022 2.849,1.972c1.501,0.066 2.464,-0.58 2.849,-1.972c0.418,1.151 1.23,1.937 2.849,1.972c0.841,-0.048 1.468,-0.277 1.934,-0.645c0.428,-0.337 0.72,-0.791 0.915,-1.327l0,-2.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.37px" + }, + "type": "path" + }, + { + "d": "M52.594,57.248c-0.032,0.465 0.318,0.868 0.783,0.901c0.464,0.032 0.868,-0.318 0.901,-0.783c0.032,-0.464 -0.319,-0.868 -0.783,-0.901c-0.465,-0.032 -0.868,0.319 -0.901,0.783Z", + "name": "path", + "type": "path" + }, + { + "d": "M70.692,60.206c0.387,0.259 0.491,0.783 0.232,1.17c-0.258,0.388 -0.783,0.492 -1.17,0.233c-0.387,-0.258 -0.491,-0.783 -0.233,-1.17c0.259,-0.387 0.783,-0.492 1.171,-0.233Z", + "name": "path", + "type": "path" + }, + { + "d": "M53.436,57.307c0.165,-2.362 0.971,-3.638 2.79,-3.839c1.783,0.125 2.612,1.298 2.742,3.839c0.024,-2.147 0.904,-3.712 3.219,-3.696c1.973,0.336 2.582,1.707 2.647,3.696l5.389,3.601", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M80.705,57.366c0.032,0.465 0.436,0.815 0.9,0.783c0.465,-0.033 0.816,-0.436 0.783,-0.901c-0.032,-0.464 -0.436,-0.815 -0.901,-0.783c-0.464,0.033 -0.815,0.437 -0.782,0.901Z", + "name": "path", + "type": "path" + }, + { + "d": "M65.228,61.609c-0.387,0.259 -0.911,0.155 -1.17,-0.233c-0.259,-0.387 -0.154,-0.911 0.233,-1.17c0.387,-0.259 0.911,-0.154 1.17,0.233c0.259,0.387 0.154,0.912 -0.233,1.17Z", + "name": "path", + "type": "path" + }, + { + "d": "M81.546,57.307c-0.165,-2.362 -0.971,-3.638 -2.789,-3.839c-1.784,0.125 -2.612,1.298 -2.743,3.839c-0.024,-2.147 -0.904,-3.712 -3.219,-3.696c-1.973,0.336 -2.581,1.707 -2.647,3.696l-5.389,3.601", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + } + ], + "id": "TX", + "name": "TX", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "transparent" + }, + "height": "112.5", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "90", + "x": "0", + "y": "7.5" + }, + { + "d": "M90,7.5l-0,112.5l-90,0l0,-112.5l90,0Zm-0.675,0.675l-88.65,-0l0,111.15l88.65,0l0,-111.15Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M90.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M89.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M94.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "89.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M88.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M91.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 98 120" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a52207d5c821c7dc70b1e6f7a33575f13cf5dc722d718a40775cd9d9c7ba48e5 b/Gateways/FE/projects/.resources/a52207d5c821c7dc70b1e6f7a33575f13cf5dc722d718a40775cd9d9c7ba48e5 new file mode 100644 index 0000000..bdbf775 --- /dev/null +++ b/Gateways/FE/projects/.resources/a52207d5c821c7dc70b1e6f7a33575f13cf5dc722d718a40775cd9d9c7ba48e5 @@ -0,0 +1,929 @@ +{ + "custom": { + "O_Time": { + "$": [ + "ts", + 0, + 1753735493457 + ], + "$ts": 1753678860457 + }, + "U_time": { + "$": [ + "ts", + 0, + 1753737628957 + ], + "$ts": 1753762440473 + }, + "allTags": [ + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Dehumidifier High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Dehumidifier Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Enthalpy Enable SP" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Cooldown Supply Air Temp SP" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Dewpoint Hi Limit" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature Override" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Warmup Supply Air Temp SP" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Duct Static Pressure SP" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Startup Pressure Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Maximum Outdoor Airflow" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Minimum Outdoor Airflow" + }, + { + "dataType": "Int4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Emergency Override Alarm Delay Minutes" + }, + { + "dataType": "Int4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Occupancy Mode Start Time" + }, + { + "dataType": "Boolean", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temp Override En" + }, + { + "dataType": "Int4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Unoccupied Mode Start Time" + }, + { + "dataType": "Int8", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Emergency Override Alarm Delay" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Enable Setpoint" + } + ], + "o_time_adj": "5:01 AM", + "u_time_adj": "4:14 AM", + "weekDay": 255 + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + "propConfig": { + "custom.O_Time": { + "persistent": true + }, + "custom.U_time": { + "persistent": true + }, + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": 999,\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.o_time_adj": { + "binding": { + "config": { + "path": "view.custom.O_Time" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "type": "format" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.u_time_adj": { + "binding": { + "config": { + "path": "view.custom.U_time" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "type": "format" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.weekDay": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Day of the week Enable Cmd" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.SA_Ovr": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Supply Air Temperature Override" + }, + "type": "tag" + } + }, + "custom.SA_Ovr_En": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Supply Air Temp Override EN" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d False:\n\t\tself.custom.SA_Ovr \u003d 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.instances[14].enabled": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01/Config/Supply Air Temp Override En" + }, + "type": "tag" + } + }, + "props.instances[16].enabled": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Supply Air Temp Override En" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag ConfigV2", + "style": { + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "text": "Unoccupied Mode Start Time" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "DateTimeInput" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.U_time" + }, + "type": "property" + } + } + }, + "props": { + "formattedValue": "Jul 28, 2025 11:14 PM", + "pickerType": "time" + }, + "type": "ia.input.date-time-input" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "text": "Occupancy Mode Start Time" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "DateTimeInput_0" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.O_Time" + }, + "type": "property" + } + } + }, + "props": { + "formattedValue": "Jul 28, 2025 12:01 AM", + "pickerType": "time" + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "150px", + "display": false, + "grow": 1 + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Day of the Week Enable" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 1\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Monday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},1)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Monday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 2\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Tuesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},2)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Tuesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 3\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Wednesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},3)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Wednesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 4\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Thursday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},4)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Thursday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 5\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Friday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},5)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Friday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 6\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Saturday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},6)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Saturday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 7\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Sunday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},7)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Sunday" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "space-evenly", + "style": { + "gap": "5px", + "overflow": "visible", + "padding": "5px" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "100%" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a54bf99231ac692cf6dfc4e17c5ebb898ce0caf1b965adf5791c41f1664353a7 b/Gateways/FE/projects/.resources/a54bf99231ac692cf6dfc4e17c5ebb898ce0caf1b965adf5791c41f1664353a7 new file mode 100644 index 0000000..5fee597 --- /dev/null +++ b/Gateways/FE/projects/.resources/a54bf99231ac692cf6dfc4e17c5ebb898ce0caf1b965adf5791c41f1664353a7 @@ -0,0 +1,32 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderColor": "var(--info)", + "borderStyle": "solid", + "borderWidth": "1px", + "boxShadow": "none", + "color": "var(--info)", + "fontWeight": "normal", + "textTransform": "uppercase", + "fill": "var(--info)" + } + }, + "variants": [ + { + "pseudo": "hover", + "animation": { + "duration": "0.2s", + "direction": "normal", + "iterationCount": "1", + "timingFunction": "ease", + "keyframes": { + "0%": {}, + "100%": { + "backgroundColor": "var(--neutral-20)" + } + } + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a5661ba62f8a5db69364fda17e2cc205de1f3d4c6f35094fb908bd7de6e0a375 b/Gateways/FE/projects/.resources/a5661ba62f8a5db69364fda17e2cc205de1f3d4c6f35094fb908bd7de6e0a375 new file mode 100644 index 0000000..c794f85 --- /dev/null +++ b/Gateways/FE/projects/.resources/a5661ba62f8a5db69364fda17e2cc205de1f3d4c6f35094fb908bd7de6e0a375 @@ -0,0 +1,2184 @@ +{ + "custom": { + "UPS1": "SWBD P1.1 UPS 1", + "cbBat": true, + "cbBat1": true, + "cbBat2": true, + "cbBat3": true, + "cbBat4": true, + "cbByps": false, + "cbIn": true, + "cbOut": true, + "mode": false + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "UPS", + "outputPower": 1, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1", + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "propConfig": { + "custom.UPS1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cbBat": { + "binding": { + "config": { + "struct": { + "cb1": "{view.custom.cbBat1}", + "cb2": "{view.custom.cbBat2}", + "cb3": "{view.custom.cbBat3}", + "cb4": "{view.custom.cbBat4}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027cb1\u0027] || {value}[\u0027cb2\u0027] || {value}[\u0027cb3\u0027] || {value}[\u0027cb4\u0027] ", + "type": "expression" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.cbBat1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Breaker1" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cbBat2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Breaker2" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cbBat3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Breaker3" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cbBat4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Breaker4" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cbByps": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Maintenance Bypass Breaker Status" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cbIn": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Main Input Breaker Status" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cbOut": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Output Breaker Status" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Operation Modes" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d 4 or value \u003d\u003d 5 or value \u003d\u003d 6:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "bpCB": "{view.custom.cbByps}", + "inCB": "{view.custom.cbIn}", + "inPWR": "{view.params.inputPower}", + "outCB": "{view.custom.cbOut}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027inCB\u0027] \u0026\u0026 {value}[\u0027inPWR\u0027] \u0026\u0026 ({value}[\u0027bpCB\u0027] || {value}[\u0027outCB\u0027])", + "type": "expression" + }, + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 164, + "width": 130 + } + }, + "root": { + "children": [ + { + "custom": { + "BatteryChargePercent": 100, + "colorHandler": {} + }, + "meta": { + "name": "UPS_woCB" + }, + "position": { + "height": 160, + "rotate": { + "anchor": "25% 75%" + }, + "width": 130 + }, + "propConfig": { + "custom.OperationModes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Operation Modes" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\t\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.batteryBreakerOpen": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\u0027/Battery Breaker1\u0027) ||\r\ntag({view.params.tagPath}+\u0027/Battery Breaker2\u0027) ||\r\ntag({view.params.tagPath}+\u0027/Battery Breaker3\u0027) ||\r\ntag({view.params.tagPath}+\u0027/Battery Breaker4\u0027)" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn false\n\treturn value", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.batteryPercentage": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Charge Percent" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.UPS-Bat-Connection": { + "binding": { + "config": { + "path": "view.custom.mode" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.battery": { + "binding": { + "config": { + "struct": { + "batteryPercentage": "{this.custom.BatteryChargePercent}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027batteryPercentage\u0027] \u003e\u003d 10", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.batteryBreaker": { + "binding": { + "config": { + "struct": { + "bpCB": "{view.custom.cbByps}", + "inCB": "{view.custom.cbIn}", + "inPwr": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027inCB\u0027] \u0026\u0026 {value}[\u0027inPwr\u0027] \u0026\u0026 !{value}[\u0027bpCB\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.bypass": { + "binding": { + "config": { + "struct": { + "cb": "{view.custom.cbByps}", + "inputpower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027inputpower\u0027] \u0026\u0026 {value}[\u0027cb\u0027] ", + "type": "expression" + }, + { + "fallback": "val(--Gray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.input": { + "binding": { + "config": { + "struct": { + "bpCB": "{view.custom.cbByps}", + "inCB": "{view.custom.cbIn}", + "inPWR": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027bpCB\u0027] \u0026\u0026 {value}[\u0027inPWR\u0027] \u0026\u0026 {value}[\u0027inCB\u0027]", + "type": "expression" + }, + { + "fallback": "val(--Gray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.inverter": { + "binding": { + "config": { + "struct": { + "bpCB": "{view.custom.cbByps}", + "inCB": "{view.custom.cbIn}", + "inPWR": "{view.params.inputPower}", + "opMode": "{view.custom.mode}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027bpCB\u0027] \u0026\u0026 {value}[\u0027inPWR\u0027] \u0026\u0026 {value}[\u0027inCB\u0027] ", + "type": "expression" + }, + { + "fallback": "val(--Gray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.output": { + "binding": { + "config": { + "struct": { + "bpCB": "{view.custom.cbByps}", + "inCB": "{view.custom.cbIn}", + "inPWR": "{view.params.inputPower}", + "outCB": "{view.custom.cbOut}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "~{value}[\u0027bpCB\u0027] \u0026\u0026 {value}[\u0027inPWR\u0027] \u0026\u0026 {value}[\u0027inCB\u0027] \u0026\u0026 {value}[\u0027outCB\u0027]", + "type": "expression" + }, + { + "fallback": "val(--Gray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.rectifier": { + "binding": { + "config": { + "struct": { + "bpCB": "{view.custom.cbByps}", + "inCB": "{view.custom.cbIn}", + "inPWR": "{view.params.inputPower}", + "opMode": "{view.custom.mode}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027bpCB\u0027] \u0026\u0026 {value}[\u0027inPWR\u0027] \u0026\u0026 {value}[\u0027inCB\u0027] ", + "type": "expression" + }, + { + "fallback": "val(--Gray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.rectifier" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.rectifier" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.rectifier" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.rectifier" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.rectifier" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inverter" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inverter" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inverter" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inverter" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inverter" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bypass" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bypass" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bypass" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bypass" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bypass" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.input" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bypass" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.output" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bypass" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[0].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[0].text": { + "binding": { + "config": { + "path": "view.custom.UPS1" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.UPS3" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.batteryPercentage" + }, + "transforms": [ + { + "fallback": "var(--olRed)", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 60, + "min": 0 + }, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.batteryPercentage" + }, + "transforms": [ + { + "fallback": "var(--olRed)", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 83.4, + "min": 0 + }, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.batteryPercentage" + }, + "transforms": [ + { + "fallback": "var(--olRed)", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 66.8, + "min": 0 + }, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.batteryPercentage" + }, + "transforms": [ + { + "fallback": "var(--olRed)", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 50.2, + "min": 0 + }, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.batteryPercentage" + }, + "transforms": [ + { + "fallback": "var(--olRed)", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 33.6, + "min": 0 + }, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[4].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.batteryPercentage" + }, + "transforms": [ + { + "fallback": "var(--olRed)", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 17, + "min": 0 + }, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.batteryPercentage" + }, + "transforms": [ + { + "fallback": "var(--olRed)", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 1, + "min": 0 + }, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[5].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Battery1" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.batteryBreaker" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.cbBat" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.output" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.batteryBreaker" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[5].stroke": { + "binding": { + "config": { + "path": "this.custom.colorHandler.batteryBreaker" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.cbBat" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[5].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.batteryBreaker" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inverter" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.output" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.output" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[2].elements[2].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[3].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[4].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[5].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[6].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[7].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M52.3,31.949c-0.089,-0.506 -0.249,-0.866 -0.853,-0.874c-0.494,-0.007 -0.872,0.342 -0.872,0.874c-0.063,0.468 -0.283,0.808 -0.863,0.856c-0.498,-0.05 -0.784,-0.337 -0.863,-0.856", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M43.75,29.897l10,10.309", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M45.158,36.334l3,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M45.158,37.913l3,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "10.309", + "name": "rect", + "stroke": { + "width": "0.75px" + }, + "type": "rect", + "width": "10", + "x": "43.75", + "y": "29.897" + } + ], + "id": "Rectifier", + "name": "Rectifier", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M52.3,57.971c-0.089,-0.507 -0.249,-0.866 -0.853,-0.875c-0.494,-0.007 -0.872,0.343 -0.872,0.875c-0.063,0.467 -0.283,0.807 -0.863,0.855c-0.498,-0.049 -0.784,-0.337 -0.863,-0.855", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M45.158,51.936l3,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M45.158,53.514l3,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M43.75,60.103l10,-10.103", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "10.103", + "name": "rect", + "stroke": { + "width": "0.75px" + }, + "type": "rect", + "width": "10", + "x": "43.75", + "y": "50" + } + ], + "id": "Inverter", + "name": "Inverter", + "type": "group", + "visibility": "visible" + }, + { + "d": "M3.75,15.268l-0,-4.018l4.67,0l-0,0.75l-3.92,-0l-0,3.268l-0.75,-0Zm11.207,-4.018l-0,0.75l-2.802,0l0,-0.75l2.802,0Zm13.074,0l0,0.75l-9.339,0l0,-0.75l9.339,0Zm6.538,0l-0,0.75l-2.802,0l-0,-0.75l2.802,0Zm13.074,0l0,0.75l-9.339,0l0,-0.75l9.339,0Zm6.537,0l0,0.75l-2.801,0l-0,-0.75l2.801,0Zm8.405,4.018l-0.75,-0c0,-0 0,-3.268 0,-3.268l-3.919,0l-0,-0.75l4.669,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-4.669,7.232l-0,-0.75l3.919,0l0,-3.268l0.75,0l0,4.018l-4.669,0Zm-6.537,0l-0,-0.75l2.801,0l0,0.75l-2.801,0Zm-13.075,0l0,-0.75l9.339,0l0,0.75l-9.339,0Zm-6.537,0l-0,-0.75l2.802,0l-0,0.75l-2.802,0Zm-13.075,0l0,-0.75l9.339,0l0,0.75l-9.339,0Zm-6.537,0l0,-0.75l2.802,0l-0,0.75l-2.802,0Zm-8.405,-4.018l0.75,0c-0,0 -0,3.268 -0,3.268l3.92,0l-0,0.75l-4.67,0l-0,-4.018Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M26.727,39.197l-0,-18.491", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M26.727,49.226l-0,20.068", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M25.67,42.363l-4.239,0c-0,0 2.191,0.108 2.107,0c-0.084,-0.108 2.132,3.54 2.132,3.54l-4.239,0l2.107,-3.54", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "10.029", + "name": "rect", + "stroke": { + "width": "0.38px" + }, + "type": "rect", + "width": "6.352", + "x": "23.538", + "y": "39.197" + }, + { + "d": "M27.771,45.901l4.24,-0c-0,-0 -2.192,-0.108 -2.108,-0c0.084,0.108 -2.132,-3.54 -2.132,-3.54l4.24,-0l-2.108,3.54", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + } + ], + "id": "Bypass", + "name": "Bypass", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M48.75,29.897l0,-9.201", + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M48.849,20.696l-22.134,0", + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Input", + "name": "Input", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M48.75,69.304l0,-9.201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M48.75,69.285l-22.035,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Output", + "name": "Output", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "12px", + "fontWeight": "700", + "overflow": "visible" + }, + "type": "text", + "visibility": "hidden", + "x": "-16px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,38.4261,6.78345)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "3.296px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,47.7808,10.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "3.697px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.37,0.01c-0.097,0 -0.171,-0.025 -0.222,-0.075c-0.051,-0.051 -0.076,-0.125 -0.076,-0.224l0,-0.416l0.128,0l0,0.415c0,0.063 0.014,0.111 0.043,0.143c0.029,0.031 0.072,0.047 0.127,0.047c0.055,0 0.097,-0.016 0.126,-0.047c0.029,-0.032 0.043,-0.08 0.043,-0.143l0,-0.415l0.127,0l0,0.416c0,0.099 -0.025,0.173 -0.075,0.224c-0.05,0.05 -0.124,0.075 -0.221,0.075Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,63.7053)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,46.5168,63.7053)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.077,-0l0,-0.705l0.306,0c0.052,0 0.096,0.009 0.132,0.026c0.036,0.017 0.063,0.042 0.082,0.075c0.019,0.033 0.028,0.072 0.028,0.119c0,0.046 -0.009,0.086 -0.028,0.119c-0.019,0.033 -0.046,0.058 -0.082,0.076c-0.036,0.017 -0.08,0.026 -0.132,0.026l-0.178,-0l0,0.264l-0.128,-0Zm0.128,-0.365l0.158,-0c0.045,-0 0.08,-0.01 0.103,-0.03c0.023,-0.021 0.035,-0.051 0.035,-0.09c0,-0.039 -0.012,-0.069 -0.035,-0.089c-0.023,-0.02 -0.058,-0.03 -0.103,-0.03l-0.158,-0l0,0.239Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,82.3466)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,44.9136,82.3466)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.32,0.01c-0.037,0 -0.072,-0.003 -0.106,-0.01c-0.033,-0.006 -0.064,-0.015 -0.093,-0.027c-0.028,-0.012 -0.053,-0.026 -0.075,-0.043l0.039,-0.101c0.022,0.015 0.045,0.029 0.069,0.04c0.025,0.011 0.051,0.019 0.078,0.025c0.028,0.005 0.057,0.008 0.088,0.008c0.053,-0 0.091,-0.009 0.115,-0.026c0.024,-0.018 0.036,-0.041 0.036,-0.069c-0,-0.015 -0.004,-0.028 -0.011,-0.039c-0.007,-0.011 -0.019,-0.021 -0.036,-0.029c-0.017,-0.008 -0.039,-0.015 -0.066,-0.02l-0.11,-0.023c-0.063,-0.013 -0.111,-0.036 -0.142,-0.067c-0.031,-0.032 -0.046,-0.074 -0.046,-0.126c-0,-0.044 0.012,-0.082 0.035,-0.115c0.023,-0.033 0.056,-0.058 0.097,-0.076c0.041,-0.018 0.089,-0.027 0.143,-0.027c0.032,0 0.063,0.003 0.092,0.01c0.03,0.006 0.057,0.015 0.082,0.028c0.025,0.012 0.047,0.027 0.066,0.044l-0.039,0.096c-0.028,-0.023 -0.059,-0.041 -0.092,-0.052c-0.033,-0.012 -0.07,-0.018 -0.11,-0.018c-0.031,0 -0.057,0.004 -0.079,0.013c-0.022,0.009 -0.039,0.021 -0.051,0.037c-0.011,0.015 -0.017,0.034 -0.017,0.055c0,0.024 0.008,0.043 0.024,0.058c0.016,0.014 0.043,0.025 0.082,0.033l0.109,0.023c0.066,0.014 0.115,0.036 0.147,0.066c0.033,0.03 0.049,0.07 0.049,0.12c0,0.042 -0.011,0.079 -0.034,0.111c-0.023,0.032 -0.055,0.057 -0.097,0.075c-0.041,0.017 -0.09,0.026 -0.147,0.026Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,100.988)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,44.5221,100.988)", + "type": "group" + } + ], + "id": "Label", + "name": "Label", + "transform": "matrix(0.654499,0,0,0.670554,-11.7046,-5.86463)", + "type": "group", + "visibility": "visible" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "63.75", + "id": "Box01", + "name": "Box01", + "type": "rect", + "width": "18.75", + "x": "64.275", + "y": "52.5" + }, + { + "d": "M64.275,56.295l0,-3.795l4.464,-0l0,0.75l-3.714,0l0,3.045l-0.75,-0Zm10.714,-3.795l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm8.036,3.795l-0.75,-0c0,-0 0,-3.045 0,-3.045l-3.714,-0l-0,-0.75l4.464,-0l0,3.795Zm0,5.312l-0.75,0l0,-2.277l0.75,0l0,2.277Zm0,10.625l-0.75,0l0,-7.589l0.75,-0l0,7.589Zm0,5.313l-0.75,-0l0,-2.277l0.75,-0l0,2.277Zm0,10.625l-0.75,-0l0,-7.59l0.75,0l0,7.59Zm0,5.312l-0.75,0l0,-2.277l0.75,0l0,2.277Zm0,10.625l-0.75,0l0,-7.589l0.75,-0l0,7.589Zm0,5.313l-0.75,-0l0,-2.277l0.75,-0l0,2.277Zm-4.464,6.83l-0,-0.75l3.714,-0l0,-3.045l0.75,0l0,3.795l-4.464,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-8.036,-3.795l0.75,0c0,0 0,3.045 -0,3.045l3.714,-0l0,0.75l-4.464,-0l0,-3.795Zm0,-5.312l0.75,-0l0,2.277l-0.75,-0l0,-2.277Zm0,-10.625l0.75,-0l0,7.589l-0.75,0l0,-7.589Zm0,-5.313l0.75,0l0,2.277l-0.75,0l0,-2.277Zm0,-10.625l0.75,0l0,7.59l-0.75,-0l0,-7.59Zm0,-5.312l0.75,-0l0,2.277l-0.75,-0l0,-2.277Zm0,-10.625l0.75,-0l0,7.589l-0.75,0l0,-7.589Zm0,-5.313l0.75,0l0,2.277l-0.75,0l0,-2.277Z", + "name": "path", + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "30", + "id": "Box02", + "name": "Box02", + "type": "rect", + "width": "18.75", + "x": "64.275", + "y": "86.25" + }, + { + "d": "M64.275,93.393l0,-7.143l4.464,-0l0,0.75l-3.714,0l0,6.393l-0.75,-0Zm10.714,-7.143l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm8.036,7.143l-0.75,-0c0,-0 0,-6.393 0,-6.393l-3.714,-0l-0,-0.75l4.464,-0l0,7.143Zm0,10l-0.75,-0l0,-4.286l0.75,0l0,4.286Zm-4.464,12.857l-0,-0.75l3.714,-0l0,-6.393l0.75,0l0,7.143l-4.464,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-8.036,-7.143l0.75,0c0,0 0,6.393 -0,6.393l3.714,-0l0,0.75l-4.464,-0l0,-7.143Zm0,-10l0.75,0l0,4.286l-0.75,-0l0,-4.286Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M68.755,92.833l9.79,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.202,96.2l4.896,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M68.755,99.567l9.79,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.202,102.933l4.896,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M68.755,106.3l9.79,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.202,109.667l4.896,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Cell", + "name": "Cell", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,94.2632,64.9251)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "84.532px", + "y": "64.925px" + }, + { + "d": "M74.775,58.953c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "73.65", + "cy": "58.953", + "fill": {}, + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "cx": "73.65", + "cy": "67.953", + "fill": {}, + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M78.435,58.953c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "type": "path" + }, + { + "d": "M73.65,68.679l0,17.571", + "fill": { + "paint": "transparent" + }, + "id": "Output1", + "name": "Output1", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "d": "M48.75,50l0,-9.794", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M48.736,46.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125Z", + "name": "path", + "type": "path" + }, + { + "d": "M73.65,58.23l0,-13.23l-24.914,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Supply", + "name": "Supply", + "type": "group" + } + ], + "id": "Battery", + "name": "Battery", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "112.5", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "90", + "x": "0", + "y": "7.5" + }, + { + "d": "M90,7.5l0,112.5l-90,-0l0,-112.5l90,-0Zm-0.75,0.75l-88.5,0l0,111l88.5,-0l0,-111Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M90.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M89.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M94.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "89.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M88.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M91.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 98 120" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 83, + "x": 69, + "y": -18 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\t#pageId \u003d self.page.props.pageId\n\t#system.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a5a72f7596196ae4906188954623b8dcc804385963b1d89fc7c36fd334025d65 b/Gateways/FE/projects/.resources/a5a72f7596196ae4906188954623b8dcc804385963b1d89fc7c36fd334025d65 new file mode 100644 index 0000000..efb9211 Binary files /dev/null and b/Gateways/FE/projects/.resources/a5a72f7596196ae4906188954623b8dcc804385963b1d89fc7c36fd334025d65 differ diff --git a/Gateways/FE/projects/.resources/a651e322343977ce5a12a3dfd35b2442ddf3e5c16f8d8334737fd42a4fecc97f b/Gateways/FE/projects/.resources/a651e322343977ce5a12a3dfd35b2442ddf3e5c16f8d8334737fd42a4fecc97f new file mode 100644 index 0000000..87526e2 --- /dev/null +++ b/Gateways/FE/projects/.resources/a651e322343977ce5a12a3dfd35b2442ddf3e5c16f8d8334737fd42a4fecc97f @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a6638d727bf38dffb095afc42dc7ccc982050944a1185d0680b81dab780b19f8 b/Gateways/FE/projects/.resources/a6638d727bf38dffb095afc42dc7ccc982050944a1185d0680b81dab780b19f8 new file mode 100644 index 0000000..0d7419c --- /dev/null +++ b/Gateways/FE/projects/.resources/a6638d727bf38dffb095afc42dc7ccc982050944a1185d0680b81dab780b19f8 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/SEL-735 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 4, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1732050757002 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1732050757002 + ], + "$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 + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a66f46341a3bc9efd44413a35ce7f3a51d97e1ec238e9b5942a904a70390d7a4 b/Gateways/FE/projects/.resources/a66f46341a3bc9efd44413a35ce7f3a51d97e1ec238e9b5942a904a70390d7a4 new file mode 100644 index 0000000..89764b5 Binary files /dev/null and b/Gateways/FE/projects/.resources/a66f46341a3bc9efd44413a35ce7f3a51d97e1ec238e9b5942a904a70390d7a4 differ diff --git a/Gateways/FE/projects/.resources/a688de7530cc22c5b05633412d92e804cb8e0e239f1e4bc8bffc548dedab0b19 b/Gateways/FE/projects/.resources/a688de7530cc22c5b05633412d92e804cb8e0e239f1e4bc8bffc548dedab0b19 new file mode 100644 index 0000000..cb865d0 --- /dev/null +++ b/Gateways/FE/projects/.resources/a688de7530cc22c5b05633412d92e804cb8e0e239f1e4bc8bffc548dedab0b19 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948666485 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948666485 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a6910826c41fa6382885b68c3cf8f9fafeb921d895ab9a6c6e62865c045e03be b/Gateways/FE/projects/.resources/a6910826c41fa6382885b68c3cf8f9fafeb921d895ab9a6c6e62865c045e03be new file mode 100644 index 0000000..a93220e Binary files /dev/null and b/Gateways/FE/projects/.resources/a6910826c41fa6382885b68c3cf8f9fafeb921d895ab9a6c6e62865c045e03be differ diff --git a/Gateways/FE/projects/.resources/a6f4fdccbf489998f31260a98f7f2cddb7d32095b6b8fb9488ae2f64c9ef6fa0 b/Gateways/FE/projects/.resources/a6f4fdccbf489998f31260a98f7f2cddb7d32095b6b8fb9488ae2f64c9ef6fa0 new file mode 100644 index 0000000..59e9209 --- /dev/null +++ b/Gateways/FE/projects/.resources/a6f4fdccbf489998f31260a98f7f2cddb7d32095b6b8fb9488ae2f64c9ef6fa0 @@ -0,0 +1,87 @@ +{ + "custom": { + "auth": true + }, + "params": { + "enabled": true, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Motor 1/Config/Cfg_FTR_DelaySP" + }, + "propConfig": { + "custom.auth": { + "persistent": true + }, + "params.enabled": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "TextField" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignItems": "center", + "justify": "center" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a7409263ef07c62f4a386688d08687d9af35afe628102bcdaf1721b5c5839b2f b/Gateways/FE/projects/.resources/a7409263ef07c62f4a386688d08687d9af35afe628102bcdaf1721b5c5839b2f new file mode 100644 index 0000000..11ee4e0 --- /dev/null +++ b/Gateways/FE/projects/.resources/a7409263ef07c62f4a386688d08687d9af35afe628102bcdaf1721b5c5839b2f @@ -0,0 +1,24 @@ +{ + "base": { + "style": { + "overflow": "hidden" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "#00000010", + "borderColor": "#00000020", + "borderStyle": "solid", + "borderWidth": "0.6px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "cursor": "pointer", + "overflow": "hidden" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a766cd89f5719cb985fa7c50719ec2066b0d515b657eb71b794a51d1e8cc5d6d b/Gateways/FE/projects/.resources/a766cd89f5719cb985fa7c50719ec2066b0d515b657eb71b794a51d1e8cc5d6d new file mode 100644 index 0000000..c4301d3 Binary files /dev/null and b/Gateways/FE/projects/.resources/a766cd89f5719cb985fa7c50719ec2066b0d515b657eb71b794a51d1e8cc5d6d differ diff --git a/Gateways/FE/projects/.resources/a774e0dff036a37c91d6a275b1bd3c233743b67af7781793cbba2bdc0d4be399 b/Gateways/FE/projects/.resources/a774e0dff036a37c91d6a275b1bd3c233743b67af7781793cbba2bdc0d4be399 new file mode 100644 index 0000000..2c1951d --- /dev/null +++ b/Gateways/FE/projects/.resources/a774e0dff036a37c91d6a275b1bd3c233743b67af7781793cbba2bdc0d4be399 @@ -0,0 +1,238 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Chiller Quantity Fail", + "options": [ + "No Fail", + "Fail" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "DP Fail", + "options": [ + "No Fail", + "Fail" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low", + "options": [ + "Normal", + "Low" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Flow Difference", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Temp Fail", + "options": [ + "No Fail", + "Fail" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "instances": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Chiller Quantity Fail", + "options": [ + "No Fail", + "Fail" + ], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters/Chiller Quantity Fail" + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "DP Fail", + "options": [ + "No Fail", + "Fail" + ], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters/DP Fail" + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low", + "options": [ + "Normal", + "Low" + ], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters/DP Low" + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Flow Difference", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters/Flow Difference" + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Temp Fail", + "options": [ + "No Fail", + "Fail" + ], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters/Supply Temp Fail" + } + ], + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a7a1d63f047a1c256676a8476adef1482253ebb7c322411a5e057f7f35515459 b/Gateways/FE/projects/.resources/a7a1d63f047a1c256676a8476adef1482253ebb7c322411a5e057f7f35515459 new file mode 100644 index 0000000..7607f3a --- /dev/null +++ b/Gateways/FE/projects/.resources/a7a1d63f047a1c256676a8476adef1482253ebb7c322411a5e057f7f35515459 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948612077 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948612077 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a7bd8e577d490f6581c010400ba4440fb24ebdf915594e1fc84f637930ee3455 b/Gateways/FE/projects/.resources/a7bd8e577d490f6581c010400ba4440fb24ebdf915594e1fc84f637930ee3455 new file mode 100644 index 0000000..ca33d85 --- /dev/null +++ b/Gateways/FE/projects/.resources/a7bd8e577d490f6581c010400ba4440fb24ebdf915594e1fc84f637930ee3455 @@ -0,0 +1,300 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 2000, + "width": 1050 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DH_Panels" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "elementPosition": { + "basis": "100%" + }, + "instances": [ + { + "DH": "DH1", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "DH": "DH2", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "DH": "DH3", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "DH": "DH4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "DH": "DH5", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "path": "Pages/Dev/D_Electrical/L1/Widgets/PowerDH Typ2", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "FlexRepeater_0" + }, + "position": { + "align": "auto", + "display": false, + "grow": 1, + "shrink": 0 + }, + "props": { + "instances": [ + { + "TagId": "SES-01", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "TagId": "SES-02", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "path": "Pages/Dev/D_Electrical/L1/Widgets/SES", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "props": { + "path": "Pages/Dev/D_Electrical/L1/Widgets/UT_Widget" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "basis": "630.9px", + "grow": 1 + }, + "props": { + "path": "Pages/Dev/D_Electrical/L1/Widgets/GEN_Widget" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "256px", + "display": false, + "grow": 1, + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "194px", + "grow": 1, + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "186px", + "grow": 1, + "shrink": 0 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "marginLeft": 20, + "marginRight": 20, + "marginTop": 10, + "overflow": "scroll" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a7dea08f138467f8cd8ef5740bcd5a4cebee7c60a314a5f844106042884fc86d b/Gateways/FE/projects/.resources/a7dea08f138467f8cd8ef5740bcd5a4cebee7c60a314a5f844106042884fc86d new file mode 100644 index 0000000..c7f063a Binary files /dev/null and b/Gateways/FE/projects/.resources/a7dea08f138467f8cd8ef5740bcd5a4cebee7c60a314a5f844106042884fc86d differ diff --git a/Gateways/FE/projects/.resources/a84ab8dde058ac96ad568554b64d5bf81749f5b6423767e83acbf7044054dbc6 b/Gateways/FE/projects/.resources/a84ab8dde058ac96ad568554b64d5bf81749f5b6423767e83acbf7044054dbc6 new file mode 100644 index 0000000..9bd08c1 --- /dev/null +++ b/Gateways/FE/projects/.resources/a84ab8dde058ac96ad568554b64d5bf81749f5b6423767e83acbf7044054dbc6 @@ -0,0 +1,430 @@ +{ + "custom": { + "tabsConfig": { + "showConfig": false, + "showControl": false, + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1141/SATB1_RM1141_PMP_01" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "enabled": false, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "enabled": false, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a86906248149b0854380333d2014702b36446fb23cc438dd6a5407d24b5d126f b/Gateways/FE/projects/.resources/a86906248149b0854380333d2014702b36446fb23cc438dd6a5407d24b5d126f new file mode 100644 index 0000000..52b7fa1 --- /dev/null +++ b/Gateways/FE/projects/.resources/a86906248149b0854380333d2014702b36446fb23cc438dd6a5407d24b5d126f @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M2708.33,191.897c0,2.3 1.867,4.167 4.167,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal10", + "name": "Terminal10", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2712.5,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2706.25,149.892c-0,-3.449 2.801,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In5", + "name": "In5", + "type": "path" + }, + { + "d": "M2712.5,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2716.67,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal11", + "name": "Terminal11", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2712.5,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2720.24,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed5", + "name": "Closed5", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2739.24,193.729c8.447,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open5", + "name": "Open5", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB06", + "name": "CB06", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 997, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(948,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(948,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(948,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(948,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a8f05e4f532d4c394f1aa013f7cf94c07645d6149ce9ac72247fdafa6a43cd16 b/Gateways/FE/projects/.resources/a8f05e4f532d4c394f1aa013f7cf94c07645d6149ce9ac72247fdafa6a43cd16 new file mode 100644 index 0000000..b8f5cb2 --- /dev/null +++ b/Gateways/FE/projects/.resources/a8f05e4f532d4c394f1aa013f7cf94c07645d6149ce9ac72247fdafa6a43cd16 @@ -0,0 +1,139 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Delay" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Target Disagree Enable" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Target" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[default]_types_/Objects/Electrical/UT/Vacuum Fault Interrupter2 Tripped" + }, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a92dce7ec41e08ee578ceefe0fddb937522d0557f5c3d8a42b22d031ac3da01f b/Gateways/FE/projects/.resources/a92dce7ec41e08ee578ceefe0fddb937522d0557f5c3d8a42b22d031ac3da01f new file mode 100644 index 0000000..b399515 --- /dev/null +++ b/Gateways/FE/projects/.resources/a92dce7ec41e08ee578ceefe0fddb937522d0557f5c3d8a42b22d031ac3da01f @@ -0,0 +1,125 @@ +{ + "custom": { + "colorHandler": { + "auto": "#27669C", + "manual": "#9C6427", + "none": "#FFFFFF" + } + }, + "params": { + "Mode": 0 + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "params.Mode": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 111 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Compressor ON" + }, + { + "input": false, + "output": "Compressor OFF" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "paddingLeft": 5, + "paddingRight": 5 + }, + "textStyle": { + "color": "black", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a94aae9b89d0a3c7b23b458864938ce964f36c2df2187dffd24b41986374cc40 b/Gateways/FE/projects/.resources/a94aae9b89d0a3c7b23b458864938ce964f36c2df2187dffd24b41986374cc40 new file mode 100644 index 0000000..2bdb9fa --- /dev/null +++ b/Gateways/FE/projects/.resources/a94aae9b89d0a3c7b23b458864938ce964f36c2df2187dffd24b41986374cc40 @@ -0,0 +1,5021 @@ +{ + "custom": { + "ColdAisleSP": 65 + }, + "params": { + "pageId": "" + }, + "propConfig": { + "custom.ColdAisleSP": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1150, + "width": 2233 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": { + "racks": "var(--olGray)", + "walls": "var(--olGray)" + } + }, + "meta": { + "name": "DH5" + }, + "position": { + "height": 1108, + "width": 2000, + "x": -80.02083337306976, + "y": 6.718800000000002 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M143.171,42.131l-0,-40.464l1161.22,-0l-0,24.079m-0,30.958l-0,34.963", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M218.626,91.667l-75.455,-0l-0,-10.581", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1304.39,773.558l-0,17.306l-1085.77,-0l0,-5.3m0,-46.068l0,-38.632", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1304.39,700.864l-0,37.411", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1304.39,694.567l-0,6.297l-1085.77,-0l0,-4.689m1085.77,-576.163l-0,538.666m-1085.77,-567.011l1085.77,-0l-0,5m-1085.77,569.67l0,-539.455", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M102.675,790.864l-20.854,-0l0,-385.734l80.641,-0l0,5.518m0,38.626l0,341.59l-7.144,-0m-0,-0l-52.643,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,348.809l0,56.321", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M81.821,405.13l0,-82.741", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,322.389l0,6.822", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,268.249l0,54.14l-80.641,0l0,-90.368l80.641,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,224.689l0,7.332", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M81.821,232.021l0,-41.933", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,190.088l0,19.28", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,167.252l0,22.836l-80.641,0l0,-45.36l80.641,-0l0,4.688", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M81.821,134.743l0,28.818", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M81.821,254.689l0,34.678l-80.154,0l-0,-34.678", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M1.667,163.561l-0,-58.47l80.154,-0l0,13.255", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "82.957", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "163.561" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "82.957", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "163.561" + }, + { + "d": "M81.821,105.091l0,-103.424", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "171.518" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "171.518" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "190.268" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "190.268" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "209.018" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "209.018" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "227.768" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "227.768" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "246.518" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "246.518" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "48.562", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "18.924", + "x": "32.329", + "y": "206.127" + } + ], + "id": "Walls", + "name": "Walls", + "opacity": "50%", + "type": "group" + }, + { + "elements": [ + { + "d": "M269.392,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M269.392,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M372.892,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M372.892,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M476.392,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M476.392,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M579.892,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M579.892,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M683.392,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M683.392,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M786.892,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M786.892,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M890.392,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M890.392,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M993.892,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M993.892,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1097.39,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1097.39,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M311.392,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M311.392,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M414.892,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M414.892,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M518.392,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M518.392,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M621.892,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M621.892,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M725.392,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M725.392,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M828.892,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M828.892,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M932.392,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M932.392,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1035.89,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1035.89,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1139.39,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1139.39,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1200.89,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1242.41,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1200.89,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1242.41,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + } + ], + "id": "Racks", + "name": "Racks", + "opacity": "50%", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1306 793" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "STU_0" + }, + "position": { + "height": 69, + "width": 120, + "x": 466, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU03" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_1" + }, + "position": { + "height": 69, + "width": 120, + "x": 621, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU05" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_2" + }, + "position": { + "height": 69, + "width": 120, + "x": 776, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU07" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_3" + }, + "position": { + "height": 69, + "width": 120, + "x": 931, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU09" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_4" + }, + "position": { + "height": 69, + "width": 120, + "x": 1086, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU11" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_5" + }, + "position": { + "height": 69, + "width": 120, + "x": 1241, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU13" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_6" + }, + "position": { + "height": 69, + "width": 120, + "x": 1396, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU15" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_7" + }, + "position": { + "height": 69, + "width": 120, + "x": 1551, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU17" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_8" + }, + "position": { + "height": 69, + "width": 120, + "x": 1706, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU19" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_9" + }, + "position": { + "height": 69, + "width": 120, + "x": 311, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_10" + }, + "position": { + "height": 69, + "width": 120, + "x": 466, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU04" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_11" + }, + "position": { + "height": 69, + "width": 120, + "x": 621, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU06" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_12" + }, + "position": { + "height": 69, + "width": 120, + "x": 776, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU08" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_13" + }, + "position": { + "height": 69, + "width": 120, + "x": 931, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU10" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_14" + }, + "position": { + "height": 69, + "width": 120, + "x": 1086, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU12" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_15" + }, + "position": { + "height": 69, + "width": 120, + "x": 1241, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU14" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_16" + }, + "position": { + "height": 69, + "width": 120, + "x": 1396, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU16" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_17" + }, + "position": { + "height": 69, + "width": 120, + "x": 1551, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU18" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_18" + }, + "position": { + "height": 69, + "width": 120, + "x": 1706, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU20" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_0" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 120, + "x": 1706, + "y": 1050.9 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_HUM_02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_2" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 120, + "x": 311, + "y": 1049.9 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_HUM_01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_171" + }, + "position": { + "height": 25, + "width": 129, + "x": 1538.98, + "y": 6.21875 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_DH5_LD1_CTRL" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAH 1263 -2" + }, + "position": { + "height": 69, + "width": 122, + "x": 121.908, + "y": 272.961 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1185/SATB1_HS2_EL1185_FCU01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAH 1263 -4" + }, + "position": { + "height": 69, + "width": 122, + "x": 121.948, + "y": 448.701 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]MDF1187/SATB1_HS2_MDF1187_FCU02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAH 1263 -5" + }, + "position": { + "height": 69, + "width": 122, + "x": 121.979, + "y": 514.49 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]MDF1187/SATB1_HS2_MDF1187_FCU03" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU" + }, + "position": { + "height": 69, + "width": 121, + "x": 311, + "y": 78 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM" + }, + "position": { + "height": 64, + "width": 120, + "x": 311, + "y": 14 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_HUM_03" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAC" + }, + "position": { + "height": 69, + "width": 120, + "x": 119.973, + "y": 566.728 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "CRAC", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/CRAC", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAC_0" + }, + "position": { + "height": 69, + "width": 120, + "x": 121.973, + "y": 1045.64 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "CRAC", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS2_MMR1188_CRAC2" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/CRAC", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_194" + }, + "position": { + "height": 25, + "width": 129, + "x": 1537.98, + "y": 1046 + }, + "props": { + "params": { + "Bkgnd_EN": true, + "EU": "degF", + "EU_Pos": false, + "FalseText": "No Leak Detected", + "Size": 12, + "TrueText": "Lead Detected", + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_LD_DI" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_75" + }, + "position": { + "height": 35, + "width": 63, + "x": 402.679, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_196_194_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_76" + }, + "position": { + "height": 35, + "width": 63, + "x": 543.679, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_192_190_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_77" + }, + "position": { + "height": 35, + "width": 63, + "x": 692.679, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_188_186_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_78" + }, + "position": { + "height": 35, + "width": 63, + "x": 837.7, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_184_182_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_79" + }, + "position": { + "height": 35, + "width": 63, + "x": 974.7, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_180_178_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_80" + }, + "position": { + "height": 35, + "width": 63, + "x": 1119.68, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_176_174_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_81" + }, + "position": { + "height": 35, + "width": 63, + "x": 1267.68, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_172_170_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_82" + }, + "position": { + "height": 35, + "width": 63, + "x": 1409.68, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_168_166_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_83" + }, + "position": { + "height": 35, + "width": 63, + "x": 1560.68, + "y": 153.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_164_162_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_84" + }, + "position": { + "height": 35, + "width": 63, + "x": 1711.68, + "y": 153.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_160_158_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_85" + }, + "position": { + "height": 35, + "width": 63, + "x": 402.679, + "y": 519 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_196_194_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_86" + }, + "position": { + "height": 35, + "width": 63, + "x": 543.679, + "y": 521 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_192_190_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_87" + }, + "position": { + "height": 35, + "width": 63, + "x": 692.679, + "y": 521 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_188_186_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_88" + }, + "position": { + "height": 35, + "width": 63, + "x": 837.7, + "y": 521 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_184_182_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_89" + }, + "position": { + "height": 35, + "width": 63, + "x": 974.7, + "y": 521 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_180_178_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_90" + }, + "position": { + "height": 35, + "width": 63, + "x": 1117.68, + "y": 521 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_176_174_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_91" + }, + "position": { + "height": 35, + "width": 63, + "x": 1265.68, + "y": 522 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_172_170_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_92" + }, + "position": { + "height": 35, + "width": 63, + "x": 1409.68, + "y": 522 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_168_166_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_93" + }, + "position": { + "height": 35, + "width": 63, + "x": 1560.68, + "y": 522.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_164_162_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_94" + }, + "position": { + "height": 35, + "width": 63, + "x": 1711.68, + "y": 522.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_160_158_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_95" + }, + "position": { + "height": 35, + "width": 63, + "x": 402.7, + "y": 929 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_197_195_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_96" + }, + "position": { + "height": 35, + "width": 63, + "x": 543.679, + "y": 931 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_193_191_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_97" + }, + "position": { + "height": 35, + "width": 63, + "x": 692.679, + "y": 931 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_189_187_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_98" + }, + "position": { + "height": 35, + "width": 63, + "x": 837.7, + "y": 931 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_185_183_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_99" + }, + "position": { + "height": 35, + "width": 63, + "x": 974.7, + "y": 931 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_181_179_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_101" + }, + "position": { + "height": 35, + "width": 63, + "x": 1265.68, + "y": 931 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_173_171_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_102" + }, + "position": { + "height": 35, + "width": 63, + "x": 1414.68, + "y": 932 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_169_167_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_103" + }, + "position": { + "height": 35, + "width": 63, + "x": 1560.68, + "y": 932.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_165_163_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_104" + }, + "position": { + "height": 35, + "width": 63, + "x": 1711.68, + "y": 932.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_161_159_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_181" + }, + "position": { + "height": 35, + "width": 63, + "x": 402.7, + "y": 560.721 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_197_195_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_182" + }, + "position": { + "height": 35, + "width": 63, + "x": 543.68, + "y": 562.721 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_193_191_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_183" + }, + "position": { + "height": 35, + "width": 63, + "x": 692.679, + "y": 565 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_189_187_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_184" + }, + "position": { + "height": 35, + "width": 63, + "x": 837.7, + "y": 565 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_185_183_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_185" + }, + "position": { + "height": 35, + "width": 63, + "x": 974.7, + "y": 565 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_181_179_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_186" + }, + "position": { + "height": 35, + "width": 63, + "x": 1117.68, + "y": 565 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_177_175_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_187" + }, + "position": { + "height": 35, + "width": 63, + "x": 1265.68, + "y": 565 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_173_171_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_188" + }, + "position": { + "height": 35, + "width": 63, + "x": 1412.68, + "y": 566 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_169_167_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_189" + }, + "position": { + "height": 35, + "width": 63, + "x": 1560.68, + "y": 566.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_165_163_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_190" + }, + "position": { + "height": 35, + "width": 63, + "x": 1711.68, + "y": 566.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_161_159_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_100" + }, + "position": { + "height": 35, + "width": 63, + "x": 1116.68, + "y": 931 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_177_175_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_30" + }, + "position": { + "height": 0, + "width": 0, + "x": -13949, + "y": -13911 + }, + "props": { + "params": { + "objectName": "PID_Loop", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_PID" + }, + "path": "Library/CommonObjects/PID", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH controls" + }, + "position": { + "height": 1000, + "width": 350, + "x": 1851, + "y": 6.55875 + }, + "props": { + "params": { + "dh": 5 + }, + "path": "Pages/Dev/C_AirSystem/Widgets/DH_Control", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 328.5, + "y": 176.05 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": 196, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 383, + "y": 179.56 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "196_194", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 472.01, + "y": 175.56 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "194_192", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 529.6, + "y": 178.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "192_190", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 617.6, + "y": 174.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "190_188", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 671.7, + "y": 178.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "188_186", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 763.7, + "y": 174.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "186_184", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 815.7, + "y": 179.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "184_182", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 908.6, + "y": 175.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "182_180", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 961.7, + "y": 180.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "180_178", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1052.7, + "y": 173.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "178_176", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1106.7, + "y": 178.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "176_174", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1197.5, + "y": 173.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "174_172", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1251.5, + "y": 177.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "172_170", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C8" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1342.64, + "y": 175.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "170_168", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1486.6, + "y": 175.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "166_164", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1540.5, + "y": 179.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "164_162", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1631.62, + "y": 175.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "162_160", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1686.5, + "y": 179.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "160_158", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C21" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1776, + "y": 176.06 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": 158, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C22" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1776, + "y": 587.96 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": 159, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1684.5, + "y": 587.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "161_159", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1630.62, + "y": 587.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "163_161", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1540.5, + "y": 589.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "165_163", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1486.6, + "y": 585.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "167_165", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1396.64, + "y": 589.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "169_167", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1342.64, + "y": 585.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "171_169", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H17" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1251.5, + "y": 587.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "173_171", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C17" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1197.5, + "y": 583.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "175_173", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1106.7, + "y": 589.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "177_175", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1052.7, + "y": 583.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "179_177", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 961.7, + "y": 590.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "181_179", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 908.6, + "y": 586.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "183_181", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 815.7, + "y": 590.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "185_183", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 763.7, + "y": 585.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "187_185", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1397.32, + "y": 178.344 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "168_166", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 617.6, + "y": 585.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "191_189", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 528.6, + "y": 589.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "193_191", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 472.01, + "y": 586.46 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "195_193", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H11" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 383, + "y": 590.46 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "197_195", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C11" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 328.5, + "y": 585.95 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": 197, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H21" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 673, + "y": 591 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "189_187", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_105" + }, + "position": { + "height": 25, + "width": 60, + "x": 241.7812469482422, + "y": 548.70575 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_COR_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 148, + "width": 105, + "x": 151.452, + "y": 22.923000000000002 + }, + "props": { + "params": { + "DH": "DH5" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/Dewpoint", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 81.8125, + "y": -106 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "LLSPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.LLSPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a959b17dbba2bca8100900254743ccf3176b9e2fb4590fc77dd0bf22293ff076 b/Gateways/FE/projects/.resources/a959b17dbba2bca8100900254743ccf3176b9e2fb4590fc77dd0bf22293ff076 new file mode 100644 index 0000000..78e3156 Binary files /dev/null and b/Gateways/FE/projects/.resources/a959b17dbba2bca8100900254743ccf3176b9e2fb4590fc77dd0bf22293ff076 differ diff --git a/Gateways/FE/projects/.resources/a9bc623a3124c89ea7dbca2a4c88843e7a8a47f8e78f97a9a39106ac6efa6e51 b/Gateways/FE/projects/.resources/a9bc623a3124c89ea7dbca2a4c88843e7a8a47f8e78f97a9a39106ac6efa6e51 new file mode 100644 index 0000000..fcc950b --- /dev/null +++ b/Gateways/FE/projects/.resources/a9bc623a3124c89ea7dbca2a4c88843e7a8a47f8e78f97a9a39106ac6efa6e51 @@ -0,0 +1,214 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 2400, + "width": 1400 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DH FlexRepeater" + }, + "position": { + "basis": "600px", + "shrink": 0 + }, + "props": { + "elementPosition": { + "basis": "100%" + }, + "instances": [ + { + "DH": 1, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1" + }, + { + "DH": 2, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2" + }, + { + "DH": 3, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH3" + }, + { + "DH": 4, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4" + }, + { + "DH": 5, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5" + } + ], + "path": "Pages/Dev/A_Building/Widgets/DH", + "style": { + "gap": 10, + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "DOAS FlexRepeater" + }, + "position": { + "shrink": 0 + }, + "props": { + "elementPosition": { + "basis": "100%" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + } + ], + "path": "Pages/Dev/C_AirSystem/Widgets/DOAS_Panel", + "style": { + "gap": 10, + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "RTU Flex Repeater" + }, + "position": { + "shrink": 0 + }, + "props": { + "elementPosition": { + "basis": "100%" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + } + ], + "path": "Pages/Dev/C_AirSystem/Widgets/RTU_Panel", + "style": { + "gap": 10, + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "setHomepage", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "Set Homepage", + "type": "method" + } + ] + }, + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": 10, + "overflow": "scroll", + "padding": 10 + } + }, + "scripts": { + "customMethods": [ + { + "name": "setHomepage", + "params": [], + "script": "\t# implement your method here\n\tview \u003d \"Pages/Dev/C_AirSystem/L1/C101 L1 Overview\"\n\t\n\tuser \u003d self.session.props.auth.user.userName\n\tif user !\u003d \"\":\n\t\tutils.admin.user.saveSettings({\"Homepage\":view}, user)\n\t\tself.session.refreshBinding(\"custom.user_settings\")" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a9cc357f4eaa96a56be5e10a2a97e390359acaf030ba61a40fe43fb2c7d92d67 b/Gateways/FE/projects/.resources/a9cc357f4eaa96a56be5e10a2a97e390359acaf030ba61a40fe43fb2c7d92d67 new file mode 100644 index 0000000..a67c101 --- /dev/null +++ b/Gateways/FE/projects/.resources/a9cc357f4eaa96a56be5e10a2a97e390359acaf030ba61a40fe43fb2c7d92d67 @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "AnalogInRS485", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_PNL16_C1_HT01" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/a9fde284188178e8d48e83afc3db9892c10288db980f06d5a99f45bf7c2469c9 b/Gateways/FE/projects/.resources/a9fde284188178e8d48e83afc3db9892c10288db980f06d5a99f45bf7c2469c9 new file mode 100644 index 0000000..d2a52e6 --- /dev/null +++ b/Gateways/FE/projects/.resources/a9fde284188178e8d48e83afc3db9892c10288db980f06d5a99f45bf7c2469c9 @@ -0,0 +1,147 @@ +from datetime import datetime +import re +def getTagPaths(location=None): + """ + Get all the relvant tagpaths needed for the historian query + """ + baseTagPaths = reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getUPSBase(), location) + return baseTagPaths + +def getPowerPaths(location): + paths = [] + for ups1path, ups2path in getTagPaths(location): + paths.extend(["%s/Total kW"%ups1path, "%s/Total kW"%ups2path]) + return paths +def getPowerHist(startDate,endDate, location=None): + tagpaths = getPowerPaths(location) + + hist = reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={}) + return reports.MBR.common.util.generateSumCol(hist, sumColName="SumTotalkW"), tagpaths + + +def averageHistData(histData, inclColumns, interval=None): + """ + Calculate the Average, Min Average, Max Average + Args: + data: historian data, expected in minute intervals + inclColumns: list of strings reprsenting the tagpath/column name from queryTagHistory + interval: grouping by minutes, None if daily + Returns: + dictionary containing calculated data + """ + data = system.dataset.toPyDataSet(histData) + res = {"MinAvg":-1,"MaxAvg":-1,"ResultData":None} + dailyGroup= {} + resultData = [] + allAvgs = [] + def getUPSName(inclNames): + newNames = [] + for name in inclNames: + newNames.append(name.split("_")[-1].split("/")[0]) + return newNames + if interval is None: + for row in data: + # dayStr = system.date.format(system.date.fromMillis(row["t_stamp"]),"yyyy-MM-dd") + dayStr = system.date.format(row["t_stamp"],"yyyy-MM-dd") + dailyGroup.setdefault(dayStr,{c:[] for c in inclColumns}) + for c in inclColumns: + dailyGroup[dayStr][c].append(row[c]) + + + + sortedDateKeys = sorted(dailyGroup.keys(), key=lambda x: datetime.strptime(x, '%Y-%m-%d')) + for date_str in sortedDateKeys: + oneRow= [system.date.parse(date_str, "yyyy-MM-dd")] + for c in inclColumns: + cleanValues = [v for v in dailyGroup[date_str][c] if v is not None] + dailyAvg = sum(cleanValues)/len(cleanValues) if len(cleanValues) > 0 else 0 + allAvgs.append(dailyAvg) + oneRow.append(dailyAvg) + resultData.append(oneRow) + + else: + quarterHrStr = "" + for i,row in enumerate(data): + if i%interval == 0: + quarterHrStr = system.date.format(row["t_stamp"],"yyyy-MM-dd HH:mm") + dailyGroup.setdefault(quarterHrStr,{c:[] for c in inclColumns}) + for c in inclColumns: + dailyGroup[quarterHrStr][c].append(row[c]) + sortedDateKeys = sorted(dailyGroup.keys(), key=lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M')) + for dt_str in sortedDateKeys: + oneRow = [system.date.parse(dt_str, "yyyy-MM-dd HH:mm")] + for c in inclColumns: +# print dailyGroup[dt_str] + cleanValues = [v for v in dailyGroup[dt_str][c] if v is not None] + dtAvg = sum(cleanValues)/len(cleanValues) if len(cleanValues) > 0 else 0 + allAvgs.append(dtAvg) + oneRow.append(dtAvg) + resultData.append(oneRow) + + res["MinAvg"] = min(allAvgs) if len(allAvgs) > 0 and not all(x == 0 for x in allAvgs) else -1 + res["MaxAvg"] = max(allAvgs) if len(allAvgs) > 0 and not all(x == 0 for x in allAvgs) else 1 + res["SimpAvg"] = sum(allAvgs)/len(allAvgs) if len(allAvgs) > 0 else 0 + res["Paths"] = inclColumns + + # we're going to inject two new columns to resultData + for row in resultData: + row.extend([res["MinAvg"], res["MaxAvg"]]) + + res["ResultDS"] = system.dataset.toDataSet(["Date"]+["Unit%s"%(i+1) for i in range(len(inclColumns))]+["Min", "Max"], resultData) +# res["RawDS"] = data + return res + +def getEqNamesByLoc(location): + mEqPaths = [] + for ups1path, ups2path in getTagPaths(location): + mEqPaths.extend(["%s/Meta/EqName"%ups1path, "%s/Meta/EqName"%ups2path]) + return [qv.value for qv in system.tag.readBlocking(mEqPaths)] + +def getEqNamesByPath(paths): + mEqPaths = ["/".join(p.split("/")[:-1]) +"/Meta/EqName" for p in paths] + return [qv.value for qv in system.tag.readBlocking(mEqPaths)] + +def processAverage(startDate, endDate, location, interval=None): + finalRes= {} + def getUPSName(tagpath): + return tagpath.split("_")[-1].split("/")[0][:-2] if "-"in tagpath else tagpath.split("_")[-1].split("/")[0][:-1] + def getRoomName(tagpath): +# return tagpath.split("/")[1].split("_")[1] + if "]" in tagpath: + return tagpath.split("/")[0].split("]")[1] + else: + return tagpath.split("/")[0] + + + histData, rawTagPaths = getPowerHist(startDate,endDate, location) + header = system.dataset.getColumnHeaders(histData) + # clone the header for actual tagpaths + rawTagPaths = [""]+rawTagPaths +# print header + allRows = [] + newHeader = ["ChartName","MinAvg","MaxAvg","ChartDS", "SimpAvg"] + + res = averageHistData(histData, ["SumTotalkW"], interval) + allRows.append(["Data Hall Total Loading", res["MinAvg"], res["MaxAvg"], res["ResultDS"], res["SimpAvg"]]) + finalRes["TotalLoading"] = system.dataset.toDataSet(newHeader, allRows) + + allRows= [] + + # Format the result + for i in range(1, len(header)-2, 2): # Start at index 1, step by 2 to get pairs + tag1, tag2 = header[i], header[i+1] + res = averageHistData(histData, [tag1,tag2], interval) + eq1,eq2 = reports.MBR.criticalpower.getEqNamesByPath([rawTagPaths[i], rawTagPaths[i+1]]) + allRows.append([getRoomName(tag1)+" Loading", res["MinAvg"], res["MaxAvg"], res["ResultDS"], res["SimpAvg"], getUPSName(tag1), eq1, eq2]) + + finalRes["reportDS"] = system.dataset.toDataSet(newHeader+["ChartCategory", "Eq1", "Eq2"], allRows) + finalRes["rawDS"] = histData +# finalRes["NameLists"] = reports.MBR.criticalpower.getEqNames(location) + + return finalRes + +def doDailyReport(startDate, endDate, location=None): + return processAverage(startDate, endDate, location, None) + +def doReportInterval(startDate, endDate, location=None, interval=15): + return processAverage(startDate, endDate, location, interval) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/aa2e9cfb6e9678bb5482a77ada25f2ad21ed578f69f5851843693dfd4369568d b/Gateways/FE/projects/.resources/aa2e9cfb6e9678bb5482a77ada25f2ad21ed578f69f5851843693dfd4369568d new file mode 100644 index 0000000..fb8facb Binary files /dev/null and b/Gateways/FE/projects/.resources/aa2e9cfb6e9678bb5482a77ada25f2ad21ed578f69f5851843693dfd4369568d differ diff --git a/Gateways/FE/projects/.resources/aa37966a6dc428510fc06284f10efdbc5851fe0635bd3e6f3ead2496e58337ec b/Gateways/FE/projects/.resources/aa37966a6dc428510fc06284f10efdbc5851fe0635bd3e6f3ead2496e58337ec new file mode 100644 index 0000000..a4df025 --- /dev/null +++ b/Gateways/FE/projects/.resources/aa37966a6dc428510fc06284f10efdbc5851fe0635bd3e6f3ead2496e58337ec @@ -0,0 +1,227 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/aa6221dde5645261b61c90f42354c6717d8ebc15c1f1acdc0946efeed3de3370 b/Gateways/FE/projects/.resources/aa6221dde5645261b61c90f42354c6717d8ebc15c1f1acdc0946efeed3de3370 new file mode 100644 index 0000000..5e578e4 --- /dev/null +++ b/Gateways/FE/projects/.resources/aa6221dde5645261b61c90f42354c6717d8ebc15c1f1acdc0946efeed3de3370 @@ -0,0 +1,429 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [ + "Breaker Open Way 01", + "Breaker Open Way 02" + ] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/aa9970306863d034136d59f01dd88a02189f93495083ce3aa2b993e1c490a51b b/Gateways/FE/projects/.resources/aa9970306863d034136d59f01dd88a02189f93495083ce3aa2b993e1c490a51b new file mode 100644 index 0000000..3bb5eb9 Binary files /dev/null and b/Gateways/FE/projects/.resources/aa9970306863d034136d59f01dd88a02189f93495083ce3aa2b993e1c490a51b differ diff --git a/Gateways/FE/projects/.resources/aabc8d326ab03162dd199087017dff8c332cbe7c2acd1be7884da492c8915316 b/Gateways/FE/projects/.resources/aabc8d326ab03162dd199087017dff8c332cbe7c2acd1be7884da492c8915316 new file mode 100644 index 0000000..a969c6a Binary files /dev/null and b/Gateways/FE/projects/.resources/aabc8d326ab03162dd199087017dff8c332cbe7c2acd1be7884da492c8915316 differ diff --git a/Gateways/FE/projects/.resources/aac661faf02ec20e42e51bf9273533c3615536c1034443fe08e585efcce4bc0a b/Gateways/FE/projects/.resources/aac661faf02ec20e42e51bf9273533c3615536c1034443fe08e585efcce4bc0a new file mode 100644 index 0000000..2e8db92 Binary files /dev/null and b/Gateways/FE/projects/.resources/aac661faf02ec20e42e51bf9273533c3615536c1034443fe08e585efcce4bc0a differ diff --git a/Gateways/FE/projects/.resources/aacae6d328915cc2666b4ceaeaf93080b06de3461e22c5db68db78de571f026f b/Gateways/FE/projects/.resources/aacae6d328915cc2666b4ceaeaf93080b06de3461e22c5db68db78de571f026f new file mode 100644 index 0000000..9701d8a --- /dev/null +++ b/Gateways/FE/projects/.resources/aacae6d328915cc2666b4ceaeaf93080b06de3461e22c5db68db78de571f026f @@ -0,0 +1,161 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "EquipCounts", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Leak Detector", + "options": [ + "No Leak", + "Leak Detected" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "options": [ + "No Avaliable", + "Available" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Stopped", + "Running" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_DHUM3" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\t\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/aacc56f748f5c97e399629d890134539c97b6398d0b0353abedf704ad09c806f b/Gateways/FE/projects/.resources/aacc56f748f5c97e399629d890134539c97b6398d0b0353abedf704ad09c806f new file mode 100644 index 0000000..a489d46 --- /dev/null +++ b/Gateways/FE/projects/.resources/aacc56f748f5c97e399629d890134539c97b6398d0b0353abedf704ad09c806f @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/RTU-1 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \"\",\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948408573 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948408573 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/aae01754746d55e930b1ec10d041f5db162fcbd13f371451f528f563bed61011 b/Gateways/FE/projects/.resources/aae01754746d55e930b1ec10d041f5db162fcbd13f371451f528f563bed61011 new file mode 100644 index 0000000..6ba82aa --- /dev/null +++ b/Gateways/FE/projects/.resources/aae01754746d55e930b1ec10d041f5db162fcbd13f371451f528f563bed61011 @@ -0,0 +1,164 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Diff Temp SP" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Temp SP" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Diff Temp Delay" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Recharge Bypass SP" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Recharge Diff Temp DB" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Recharge Diff Temp Delay" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Recharge Iso Valve SP" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/aafa9824ba948238b3af60dd4b49de85e769c4c0739a7a822b32f879990bab53 b/Gateways/FE/projects/.resources/aafa9824ba948238b3af60dd4b49de85e769c4c0739a7a822b32f879990bab53 new file mode 100644 index 0000000..8408bc4 --- /dev/null +++ b/Gateways/FE/projects/.resources/aafa9824ba948238b3af60dd4b49de85e769c4c0739a7a822b32f879990bab53 @@ -0,0 +1,1641 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 220, + "width": 570 + } + }, + "root": { + "children": [ + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof" + }, + "meta": { + "name": "Chiller_Count" + }, + "position": { + "basis": "15%" + }, + "props": { + "params": { + "Tag": "CH", + "faulted": 5, + "running": 25, + "standby": 15 + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "path": "value", + "tags": [ + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH1_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh1/opc tags/satb1_dh1 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH2_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh2/opc tags/satb1_dh2 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH3_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh3/opc tags/satb1_dh3 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH4_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh4/opc tags/satb1_dh4 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH5_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh5/opc tags/satb1_dh5 tonnage demand" + } + ] + }, + "meta": { + "name": "Flow_Chart" + }, + "position": { + "basis": "70%" + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + }, + "props.dataSources.tonnage": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tsummary \u003d 0\n\tfor item in rawHist:\n\t\tsummary \u003d 0\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tsummary +\u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"summary\": summary})\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "render": "color" + }, + "dataSources": { + "tonnage": [ + { + "summary": 1079.5599155426025, + "t_stamp": 1776348072551 + }, + { + "summary": 1101.2637901306152, + "t_stamp": 1776348102551 + }, + { + "summary": 1115.991298675537, + "t_stamp": 1776348132551 + }, + { + "summary": 1074.4704933166504, + "t_stamp": 1776348162551 + }, + { + "summary": 1057.2438163757324, + "t_stamp": 1776348192551 + }, + { + "summary": 1078.6186046600342, + "t_stamp": 1776348222551 + }, + { + "summary": 1030.350477218628, + "t_stamp": 1776348252551 + }, + { + "summary": 1053.2371311187744, + "t_stamp": 1776348282551 + }, + { + "summary": 1084.9994144439697, + "t_stamp": 1776348312551 + }, + { + "summary": 1102.9089584350586, + "t_stamp": 1776348342551 + }, + { + "summary": 1085.2408905029297, + "t_stamp": 1776348372551 + }, + { + "summary": 1084.4579639434814, + "t_stamp": 1776348402551 + }, + { + "summary": 1100.9971160888672, + "t_stamp": 1776348432551 + }, + { + "summary": 1075.7030410766602, + "t_stamp": 1776348462551 + }, + { + "summary": 1087.548252105713, + "t_stamp": 1776348492551 + }, + { + "summary": 1084.4328956604004, + "t_stamp": 1776348522551 + }, + { + "summary": 1071.8211936950684, + "t_stamp": 1776348552551 + }, + { + "summary": 1092.5045642852783, + "t_stamp": 1776348582551 + }, + { + "summary": 1045.527603149414, + "t_stamp": 1776348612551 + }, + { + "summary": 1059.4303760528564, + "t_stamp": 1776348642551 + }, + { + "summary": 1053.5619163513184, + "t_stamp": 1776348672551 + }, + { + "summary": 1099.7726516723633, + "t_stamp": 1776348702551 + }, + { + "summary": 1090.422176361084, + "t_stamp": 1776348732551 + }, + { + "summary": 1070.9506454467773, + "t_stamp": 1776348762551 + }, + { + "summary": 1030.412754058838, + "t_stamp": 1776348792551 + }, + { + "summary": 1009.2046318054199, + "t_stamp": 1776348822551 + }, + { + "summary": 1013.5195579528809, + "t_stamp": 1776348852551 + }, + { + "summary": 1016.8432388305664, + "t_stamp": 1776348882551 + }, + { + "summary": 1018.8090381622314, + "t_stamp": 1776348912551 + }, + { + "summary": 1035.9106216430664, + "t_stamp": 1776348942551 + }, + { + "summary": 1099.5725708007812, + "t_stamp": 1776348972551 + }, + { + "summary": 1071.966926574707, + "t_stamp": 1776349002551 + }, + { + "summary": 1058.3474426269531, + "t_stamp": 1776349032551 + }, + { + "summary": 1032.6910514831543, + "t_stamp": 1776349062551 + }, + { + "summary": 1043.4076499938965, + "t_stamp": 1776349092551 + }, + { + "summary": 1079.3765449523926, + "t_stamp": 1776349122551 + }, + { + "summary": 1078.3518924713135, + "t_stamp": 1776349152551 + }, + { + "summary": 1104.1583518981934, + "t_stamp": 1776349182551 + }, + { + "summary": 1092.6379165649414, + "t_stamp": 1776349212551 + }, + { + "summary": 1098.6812896728516, + "t_stamp": 1776349242551 + }, + { + "summary": 1097.3984546661377, + "t_stamp": 1776349272551 + }, + { + "summary": 1062.0168190002441, + "t_stamp": 1776349302551 + }, + { + "summary": 1089.6099529266357, + "t_stamp": 1776349332551 + }, + { + "summary": 1070.1010913848877, + "t_stamp": 1776349362551 + }, + { + "summary": 1115.2601259370804, + "t_stamp": 1776349392551 + }, + { + "summary": 1071.1922187805176, + "t_stamp": 1776349422551 + }, + { + "summary": 1075.665439605713, + "t_stamp": 1776349452551 + }, + { + "summary": 1095.0743598937988, + "t_stamp": 1776349482551 + }, + { + "summary": 1093.3917789459229, + "t_stamp": 1776349512551 + }, + { + "summary": 1062.4875411987305, + "t_stamp": 1776349542551 + }, + { + "summary": 1097.4693393707275, + "t_stamp": 1776349572551 + }, + { + "summary": 1049.5009784698486, + "t_stamp": 1776349602551 + }, + { + "summary": 1094.5163497924805, + "t_stamp": 1776349632551 + }, + { + "summary": 1081.429988861084, + "t_stamp": 1776349662551 + }, + { + "summary": 1087.956506729126, + "t_stamp": 1776349692551 + }, + { + "summary": 1083.1793231964111, + "t_stamp": 1776349722551 + }, + { + "summary": 1038.9593830108643, + "t_stamp": 1776349752551 + }, + { + "summary": 1084.9785766601562, + "t_stamp": 1776349782551 + }, + { + "summary": 1104.2999420166016, + "t_stamp": 1776349812551 + }, + { + "summary": 1097.2277755737305, + "t_stamp": 1776349842551 + }, + { + "summary": 1048.2349967956543, + "t_stamp": 1776349872551 + }, + { + "summary": 1023.2282257080078, + "t_stamp": 1776349902551 + }, + { + "summary": 1019.3631134033203, + "t_stamp": 1776349932551 + }, + { + "summary": 1058.505786895752, + "t_stamp": 1776349962551 + }, + { + "summary": 1028.4990014404298, + "t_stamp": 1776349992551 + }, + { + "summary": 1049.4511413574219, + "t_stamp": 1776350022551 + }, + { + "summary": 1055.569564819336, + "t_stamp": 1776350052551 + }, + { + "summary": 1075.5948448181152, + "t_stamp": 1776350082551 + }, + { + "summary": 1075.5781860351562, + "t_stamp": 1776350112551 + }, + { + "summary": 1085.9365139007568, + "t_stamp": 1776350142551 + }, + { + "summary": 1113.2088108062744, + "t_stamp": 1776350172551 + }, + { + "summary": 1091.9550189971924, + "t_stamp": 1776350202551 + }, + { + "summary": 1103.3544654846191, + "t_stamp": 1776350232551 + }, + { + "summary": 1032.8243656158447, + "t_stamp": 1776350262551 + }, + { + "summary": 1022.6243019104004, + "t_stamp": 1776350292551 + }, + { + "summary": 1067.2563705444336, + "t_stamp": 1776350322551 + }, + { + "summary": 1074.0703315734863, + "t_stamp": 1776350352551 + }, + { + "summary": 1093.9166259765625, + "t_stamp": 1776350382551 + }, + { + "summary": 1092.7420291900635, + "t_stamp": 1776350412551 + }, + { + "summary": 1077.839744567871, + "t_stamp": 1776350442551 + }, + { + "summary": 1089.1268043518066, + "t_stamp": 1776350472551 + }, + { + "summary": 1096.4905815124512, + "t_stamp": 1776350502551 + }, + { + "summary": 1113.4172172546387, + "t_stamp": 1776350532551 + }, + { + "summary": 1095.815824508667, + "t_stamp": 1776350562551 + }, + { + "summary": 1074.1537170410156, + "t_stamp": 1776350592551 + }, + { + "summary": 1067.4147834777832, + "t_stamp": 1776350622551 + }, + { + "summary": 1076.390308380127, + "t_stamp": 1776350652551 + }, + { + "summary": 1079.26420211792, + "t_stamp": 1776350682551 + }, + { + "summary": 1054.7608467784482, + "t_stamp": 1776350712551 + }, + { + "summary": 1083.3750915527344, + "t_stamp": 1776350742551 + }, + { + "summary": 1083.120979309082, + "t_stamp": 1776350772551 + }, + { + "summary": 1086.4071559906006, + "t_stamp": 1776350802551 + }, + { + "summary": 1091.2384548187256, + "t_stamp": 1776350832551 + }, + { + "summary": 1084.2579154968262, + "t_stamp": 1776350862551 + }, + { + "summary": 1020.7959327697754, + "t_stamp": 1776350892551 + }, + { + "summary": 1105.478687286377, + "t_stamp": 1776350922551 + }, + { + "summary": 1110.1398594841003, + "t_stamp": 1776350952551 + }, + { + "summary": 1087.5025634765625, + "t_stamp": 1776350982551 + }, + { + "summary": 1106.224178314209, + "t_stamp": 1776351012551 + }, + { + "summary": 1090.980312347412, + "t_stamp": 1776351042551 + }, + { + "summary": 1099.0311183929443, + "t_stamp": 1776351072551 + }, + { + "summary": 1085.2951259613037, + "t_stamp": 1776351102551 + }, + { + "summary": 1041.4626159667969, + "t_stamp": 1776351132551 + }, + { + "summary": 1055.4778137207031, + "t_stamp": 1776351162551 + }, + { + "summary": 1047.1686534881592, + "t_stamp": 1776351192551 + }, + { + "summary": 1012.8407783508301, + "t_stamp": 1776351222551 + }, + { + "summary": 1038.4596519470215, + "t_stamp": 1776351252551 + }, + { + "summary": 1071.667230606079, + "t_stamp": 1776351282551 + }, + { + "summary": 1067.1189937591553, + "t_stamp": 1776351312551 + }, + { + "summary": 1079.2641067504883, + "t_stamp": 1776351342551 + }, + { + "summary": 1074.6409549713135, + "t_stamp": 1776351372551 + }, + { + "summary": 1086.9403324127197, + "t_stamp": 1776351402551 + }, + { + "summary": 1094.299711227417, + "t_stamp": 1776351432551 + }, + { + "summary": 1081.4923629760742, + "t_stamp": 1776351462551 + }, + { + "summary": 1073.9078998565674, + "t_stamp": 1776351492551 + }, + { + "summary": 1066.6442317962646, + "t_stamp": 1776351522551 + }, + { + "summary": 1054.8613510131836, + "t_stamp": 1776351552551 + }, + { + "summary": 1078.264497756958, + "t_stamp": 1776351582551 + }, + { + "summary": 1058.001781463623, + "t_stamp": 1776351612551 + }, + { + "summary": 1090.272373199463, + "t_stamp": 1776351642551 + }, + { + "summary": 1098.219051361084, + "t_stamp": 1776351672551 + }, + { + "summary": 1070.8758125305176, + "t_stamp": 1776351702551 + }, + { + "summary": 1067.5147171020508, + "t_stamp": 1776351732551 + }, + { + "summary": 1083.462553024292, + "t_stamp": 1776351762551 + }, + { + "summary": 1082.0547065734863, + "t_stamp": 1776351792551 + }, + { + "summary": 1108.7524147033691, + "t_stamp": 1776351822551 + }, + { + "summary": 1051.566946029663, + "t_stamp": 1776351852551 + }, + { + "summary": 1100.4348430633545, + "t_stamp": 1776351882551 + }, + { + "summary": 1106.75315284729, + "t_stamp": 1776351912551 + }, + { + "summary": 1080.4303970336914, + "t_stamp": 1776351942551 + }, + { + "summary": 1075.9322052001953, + "t_stamp": 1776351972551 + }, + { + "summary": 1061.446361541748, + "t_stamp": 1776352002551 + }, + { + "summary": 1091.3634986877441, + "t_stamp": 1776352032551 + }, + { + "summary": 1074.8076133728027, + "t_stamp": 1776352062551 + }, + { + "summary": 1088.7937469482422, + "t_stamp": 1776352092551 + }, + { + "summary": 1093.8749961853027, + "t_stamp": 1776352122551 + }, + { + "summary": 1097.3236103057861, + "t_stamp": 1776352152551 + }, + { + "summary": 1096.2656898498535, + "t_stamp": 1776352182551 + }, + { + "summary": 1080.9468822479248, + "t_stamp": 1776352212551 + }, + { + "summary": 1055.5153923034668, + "t_stamp": 1776352242551 + }, + { + "summary": 1045.9607696533203, + "t_stamp": 1776352272551 + }, + { + "summary": 1081.0468311309814, + "t_stamp": 1776352302551 + }, + { + "summary": 1056.1650314331055, + "t_stamp": 1776352332551 + }, + { + "summary": 1047.993299484253, + "t_stamp": 1776352362551 + }, + { + "summary": 1045.2402076721191, + "t_stamp": 1776352392551 + }, + { + "summary": 1046.8437385559082, + "t_stamp": 1776352422551 + }, + { + "summary": 1023.6113395690918, + "t_stamp": 1776352452551 + }, + { + "summary": 1016.7849292755127, + "t_stamp": 1776352482551 + }, + { + "summary": 1008.5674018859863, + "t_stamp": 1776352512551 + }, + { + "summary": 1009.6877555847168, + "t_stamp": 1776352542551 + }, + { + "summary": 1011.2454433441162, + "t_stamp": 1776352572551 + }, + { + "summary": 1057.6893787384033, + "t_stamp": 1776352602551 + }, + { + "summary": 1089.5557327270508, + "t_stamp": 1776352632551 + }, + { + "summary": 1076.0944423675537, + "t_stamp": 1776352662551 + }, + { + "summary": 1076.7567672729492, + "t_stamp": 1776352692551 + }, + { + "summary": 1121.6513118743896, + "t_stamp": 1776352722551 + }, + { + "summary": 1092.296230316162, + "t_stamp": 1776352752551 + }, + { + "summary": 1108.9313049316406, + "t_stamp": 1776352782551 + }, + { + "summary": 1102.1258182525635, + "t_stamp": 1776352812551 + }, + { + "summary": 1105.0496292114258, + "t_stamp": 1776352842551 + }, + { + "summary": 1114.4833145141602, + "t_stamp": 1776352872551 + }, + { + "summary": 1111.380449295044, + "t_stamp": 1776352902551 + }, + { + "summary": 1105.8867816925049, + "t_stamp": 1776352932551 + }, + { + "summary": 1104.9912338256836, + "t_stamp": 1776352962551 + }, + { + "summary": 1104.8621711730957, + "t_stamp": 1776352992551 + }, + { + "summary": 1108.2732791900635, + "t_stamp": 1776353022551 + }, + { + "summary": 1116.5033950805664, + "t_stamp": 1776353052551 + }, + { + "summary": 1117.340461730957, + "t_stamp": 1776353082551 + }, + { + "summary": 1059.7594585418701, + "t_stamp": 1776353112551 + }, + { + "summary": 1093.1585540771484, + "t_stamp": 1776353142551 + }, + { + "summary": 1084.2496166229248, + "t_stamp": 1776353172551 + }, + { + "summary": 1060.592430114746, + "t_stamp": 1776353202551 + }, + { + "summary": 1013.6112155914307, + "t_stamp": 1776353232551 + }, + { + "summary": 1059.1222038269043, + "t_stamp": 1776353262551 + }, + { + "summary": 1073.72465133667, + "t_stamp": 1776353292551 + }, + { + "summary": 1008.0134410858154, + "t_stamp": 1776353322551 + }, + { + "summary": 1003.5902309417725, + "t_stamp": 1776353352551 + }, + { + "summary": 986.9926605224609, + "t_stamp": 1776353382551 + }, + { + "summary": 988.3713760375977, + "t_stamp": 1776353412551 + }, + { + "summary": 1081.1925106048584, + "t_stamp": 1776353442551 + }, + { + "summary": 1058.693157196045, + "t_stamp": 1776353472551 + }, + { + "summary": 1076.2196140289307, + "t_stamp": 1776353502551 + }, + { + "summary": 1084.6953659057617, + "t_stamp": 1776353532551 + }, + { + "summary": 1050.388282775879, + "t_stamp": 1776353562551 + }, + { + "summary": 1059.7470417022705, + "t_stamp": 1776353592551 + }, + { + "summary": 1064.3534660339355, + "t_stamp": 1776353622551 + }, + { + "summary": 1047.556007385254, + "t_stamp": 1776353652551 + }, + { + "summary": 1095.8825645446777, + "t_stamp": 1776353682551 + }, + { + "summary": 1094.2539825439453, + "t_stamp": 1776353712551 + }, + { + "summary": 1096.4281120300293, + "t_stamp": 1776353742551 + }, + { + "summary": 1072.3127098083496, + "t_stamp": 1776353772551 + }, + { + "summary": 1055.890230178833, + "t_stamp": 1776353802551 + }, + { + "summary": 1032.7869682312012, + "t_stamp": 1776353832551 + }, + { + "summary": 1080.9677658081055, + "t_stamp": 1776353862551 + }, + { + "summary": 1095.0245208740234, + "t_stamp": 1776353892551 + }, + { + "summary": 1103.208839416504, + "t_stamp": 1776353922551 + }, + { + "summary": 1067.902198791504, + "t_stamp": 1776353952551 + }, + { + "summary": 1114.554292678833, + "t_stamp": 1776353982551 + }, + { + "summary": 1118.0277919769287, + "t_stamp": 1776354012551 + }, + { + "summary": 1107.1198177337646, + "t_stamp": 1776354042551 + }, + { + "summary": 1108.2526359558105, + "t_stamp": 1776354072551 + }, + { + "summary": 1080.559591293335, + "t_stamp": 1776354102551 + }, + { + "summary": 1040.163158416748, + "t_stamp": 1776354132551 + }, + { + "summary": 1013.8528461456299, + "t_stamp": 1776354162551 + }, + { + "summary": 1075.3658332824707, + "t_stamp": 1776354192551 + }, + { + "summary": 1051.987648010254, + "t_stamp": 1776354222551 + }, + { + "summary": 1051.987648010254, + "t_stamp": 1776354252551 + }, + { + "summary": 1087.465087890625, + "t_stamp": 1776354282551 + }, + { + "summary": 1072.3587017059326, + "t_stamp": 1776354312551 + }, + { + "summary": 1080.6220455169678, + "t_stamp": 1776354342551 + }, + { + "summary": 1084.8911304473877, + "t_stamp": 1776354372551 + }, + { + "summary": 1084.12060546875, + "t_stamp": 1776354402551 + }, + { + "summary": 1090.5222625732422, + "t_stamp": 1776354432551 + }, + { + "summary": 1089.297752380371, + "t_stamp": 1776354462551 + }, + { + "summary": 1095.5495166778564, + "t_stamp": 1776354492551 + }, + { + "summary": 1082.8587112426758, + "t_stamp": 1776354522551 + }, + { + "summary": 1078.4271030426025, + "t_stamp": 1776354552551 + }, + { + "summary": 1034.7654037475586, + "t_stamp": 1776354582551 + }, + { + "summary": 1076.4029846191406, + "t_stamp": 1776354612551 + }, + { + "summary": 1046.3482208251953, + "t_stamp": 1776354642551 + }, + { + "summary": 1017.5181083679199, + "t_stamp": 1776354672551 + }, + { + "summary": 1075.7739639282227, + "t_stamp": 1776354702551 + }, + { + "summary": 1103.0005264282227, + "t_stamp": 1776354732551 + }, + { + "summary": 1100.3556938171387, + "t_stamp": 1776354762551 + }, + { + "summary": 1057.8227996826172, + "t_stamp": 1776354792551 + }, + { + "summary": 1073.937177658081, + "t_stamp": 1776354822551 + }, + { + "summary": 1078.2812156677246, + "t_stamp": 1776354852551 + }, + { + "summary": 1078.868516921997, + "t_stamp": 1776354882551 + }, + { + "summary": 1067.602180480957, + "t_stamp": 1776354912551 + }, + { + "summary": 1055.1362342834473, + "t_stamp": 1776354942551 + }, + { + "summary": 1061.108943939209, + "t_stamp": 1776354972551 + }, + { + "summary": 1122.155258178711, + "t_stamp": 1776355002551 + }, + { + "summary": 1110.5641078948975, + "t_stamp": 1776355032551 + }, + { + "summary": 1093.6499290466309, + "t_stamp": 1776355062551 + }, + { + "summary": 1032.212080001831, + "t_stamp": 1776355092551 + }, + { + "summary": 1088.0688571929932, + "t_stamp": 1776355122551 + }, + { + "summary": 1046.9977951049805, + "t_stamp": 1776355152551 + }, + { + "summary": 1003.2070274353027, + "t_stamp": 1776355182551 + }, + { + "summary": 1029.921401977539, + "t_stamp": 1776355212551 + }, + { + "summary": 1072.475212097168, + "t_stamp": 1776355242551 + } + ] + }, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "tonnage", + "x": "t_stamp", + "y": "summary" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "tonnage" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 0.7, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "tonnage", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "tonnage", + "zIndex": 0 + } + ], + "style": { + "marginBottom": -30, + "marginLeft": -20, + "marginRight": -5, + "marginTop": 10 + }, + "title": { + "text": "Tons (total)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "tonnage" + }, + "name": "tonnage", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Demand_Repeater" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "DH101", + "value": 41.95 + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "DH102", + "value": 21.15 + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "DH201", + "value": 492.35 + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "DH202", + "value": 471.73 + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "DH203", + "value": 33.34 + } + ], + "path": "Library/Widgets/Wgt_H_Bar-Val", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Demand_Section" + }, + "position": { + "basis": "15%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "justify": "center", + "style": { + "backgroundColor": "var(--container)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ab303fd75a2ef5bfa1b24cdb4ddb4398c6703d0172d11682aade62de315efe0e b/Gateways/FE/projects/.resources/ab303fd75a2ef5bfa1b24cdb4ddb4398c6703d0172d11682aade62de315efe0e new file mode 100644 index 0000000..d664840 --- /dev/null +++ b/Gateways/FE/projects/.resources/ab303fd75a2ef5bfa1b24cdb4ddb4398c6703d0172d11682aade62de315efe0e @@ -0,0 +1,96 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ab456bb993c561dbc5e329d945c37736c47fac503cdfc8238e840f864042c8f0 b/Gateways/FE/projects/.resources/ab456bb993c561dbc5e329d945c37736c47fac503cdfc8238e840f864042c8f0 new file mode 100644 index 0000000..bd246db --- /dev/null +++ b/Gateways/FE/projects/.resources/ab456bb993c561dbc5e329d945c37736c47fac503cdfc8238e840f864042c8f0 @@ -0,0 +1,1313 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 295 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status Indicator 01", + "tooltip": { + "enabled": true, + "text": "Bypass, DPs Fail amd Qty Chiller permissive are all good" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/PlantMgr Permissive OK", + "text": "Plant Manager Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Status Indicator 02", + "tooltip": { + "enabled": true, + "text": "At least 1 DH DP is not faulted" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/DPs Fail Permissive OK", + "text": "DPs Fail Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Indicators_01" + }, + "position": { + "basis": "45px" + }, + "props": { + "style": { + "gap": "var(--space-sm)", + "padding": "var(--space-sm)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Status Indicator 03", + "tooltip": { + "enabled": true, + "text": "At least 1 CH is available" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/QtyChillers Permissive OK", + "text": "Qty Chillers Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Status Indicator 04", + "tooltip": { + "enabled": true, + "text": "At least 1 loop bypass valve available" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Bypass Permissive OK", + "text": "Bypass Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Indicators_02" + }, + "position": { + "basis": "45px" + }, + "props": { + "style": { + "gap": "var(--space-sm)", + "padding": "var(--space-sm)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Load Add Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerLoad_ADDLimit" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 01 block" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Load \nSub Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerLoad_SUBLimit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 02 block" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Tonnage Rating" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerTonRating" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 03 block" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "147px", + "grow": 1 + }, + "props": { + "text": "CHWP Add Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP ADD Limit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 04 block" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "150px", + "grow": 1 + }, + "props": { + "text": "CHWP Sub Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP SUB Limit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 05 block" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Minimum Flow Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Chiller_MinFlow_SP" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 06 block" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Bypass Valve DP Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWBPV_DiffSP" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 07 block" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "CHWP Diff Press Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP DP Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 08 block" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\tviewPath \u003d \u0027Pages/Dev/B_Mechanical/L3/B301 Chillers LLS\u0027\n\ttitle \u003d \u0027Chillers LLS\u0027\n\tutils.nav.openLLSPopup(viewPath,title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Btn Chiller LLS" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Chillers LLS" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\tviewPath \u003d \u0027Pages/Dev/B_Mechanical/L3/B302 CHW Pumps LLS\u0027\n\ttitle \u003d \u0027Chilled Water Pumps LLS\u0027\n\tutils.nav.openLLSPopup(viewPath,title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Btn CHWP LLS" + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "key": "value" + }, + "text": "CHWP LLS" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "gap": "var(--space-sm)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "CHWP PID Container" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "params": { + "embedded": false, + "objectName": "PID_Loop", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_PID" + }, + "path": "Library/Widgets/Wdg_PID", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "CHWST Avg Block" + }, + "position": { + "grow": 1 + }, + "props": { + "params": { + "embedded": false, + "format": "###.##", + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWST_AvgObj" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DHDP Avg Block" + }, + "props": { + "params": { + "embedded": false, + "format": "###.##", + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/DHDP_AvgObj" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "var(--space-md)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "170px" + }, + "props": { + "style": { + "gap": "var(--space-md)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP_SpdSP" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "67px" + }, + "props": { + "alignVertical": "top", + "text": "CHWP Speed Setpoint", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP_ADDLimit" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "CHWP Add Limit", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP SUB Limit" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "CHWP SuB Limit", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP_Demand" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "VFD", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "67px" + }, + "props": { + "alignVertical": "top", + "text": "CHWP Demand", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CHWP Calculation Container" + }, + "props": { + "style": { + "classes": "containers/card_nested", + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/card", + "gap": "var(--space-sm)", + "overflow": "visible", + "padding": "var(--space-sm)" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ab656600dff55a26dcc2695bc4fa3bd50eb36b6837defc79c99d7a188f30dbb1 b/Gateways/FE/projects/.resources/ab656600dff55a26dcc2695bc4fa3bd50eb36b6837defc79c99d7a188f30dbb1 new file mode 100644 index 0000000..8a8e857 Binary files /dev/null and b/Gateways/FE/projects/.resources/ab656600dff55a26dcc2695bc4fa3bd50eb36b6837defc79c99d7a188f30dbb1 differ diff --git a/Gateways/FE/projects/.resources/ab6fead88b68f09fb6aa72fd3371d048eba671e9fe4e2661957fc770308dd589 b/Gateways/FE/projects/.resources/ab6fead88b68f09fb6aa72fd3371d048eba671e9fe4e2661957fc770308dd589 new file mode 100644 index 0000000..89f89e2 --- /dev/null +++ b/Gateways/FE/projects/.resources/ab6fead88b68f09fb6aa72fd3371d048eba671e9fe4e2661957fc770308dd589 @@ -0,0 +1,615 @@ +{ + "custom": { + "Alarm": 0, + "AlarmSeverity": 0, + "Running": 1, + "Status": 1 + }, + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU01" + }, + "propConfig": { + "custom.Alarm": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Alarm" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "expression": "if({view.custom.Alarm}, 2, {view.custom.Running})" + }, + "type": "expr" + }, + "persistent": true + }, + "params.TagPosition": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 70, + "width": 120 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 80, + "width": 112, + "x": 8, + "y": -6 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.TagPosition" + }, + "transforms": [ + { + "fallback": "top", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "bottom" + }, + { + "input": true, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "STU01", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Container" + }, + "position": { + "height": 41, + "width": 105, + "x": 10, + "y": 13.5 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "var(--olGray)", + "borderStyle": "solid", + "borderWidth": 1.5 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var01" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 68.1, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 01" + }, + "position": { + "height": 23, + "width": 44, + "x": 56, + "y": 15 + }, + "propConfig": { + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--darkbluegray)" + }, + { + "input": 1, + "output": "var(--darkbluegray)" + }, + { + "input": 2, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "RA °F", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var02" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 30 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Speed Feedback" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 21, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 02" + }, + "position": { + "height": 23, + "width": 44, + "x": 56, + "y": 30 + }, + "propConfig": { + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--darkbluegray)" + }, + { + "input": 1, + "output": "var(--darkbluegray)" + }, + { + "input": 2, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "SF %", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 17, + "width": 20, + "x": 92, + "y": 34 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode CMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 2 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Mode": 1 + }, + "path": "Library/Widgets/ModeBadgeSmall" + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Box" + }, + "position": { + "height": 50, + "width": 112, + "x": 5, + "y": 9.5 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineWidth": 3 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 21, + "width": 21, + "x": 107.486, + "y": -3.00826 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/abf068e1b9b506f0c68c401c6dd567f75e44a9d3cb46fc960e94d357c136cf2d b/Gateways/FE/projects/.resources/abf068e1b9b506f0c68c401c6dd567f75e44a9d3cb46fc960e94d357c136cf2d new file mode 100644 index 0000000..52268c4 --- /dev/null +++ b/Gateways/FE/projects/.resources/abf068e1b9b506f0c68c401c6dd567f75e44a9d3cb46fc960e94d357c136cf2d @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_SYSTEM" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947799223 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947799223 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ac251321de76e921b9e22a63e73650ec05936a69ec3f1129e8437719e8e67ae4 b/Gateways/FE/projects/.resources/ac251321de76e921b9e22a63e73650ec05936a69ec3f1129e8437719e8e67ae4 new file mode 100644 index 0000000..afff557 --- /dev/null +++ b/Gateways/FE/projects/.resources/ac251321de76e921b9e22a63e73650ec05936a69ec3f1129e8437719e8e67ae4 @@ -0,0 +1,441 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Average Current", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Voltage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": 0, + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Coolant Temperature", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current C", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Engine RPM", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fuel Gallons", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fuel Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fuel Rate", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fuel Usage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Manifold Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Number Of Starts", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Oil Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Oil Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Run Hours", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Run Status", + "options": [ + "Stopped", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Load", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total PF", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total kVA", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total kVAR", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total kW", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total kWh", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AB", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BC", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CA", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Communication Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-5" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ac4539a839fd95cbd197036a8e9bd84159743c00fc57c75eb427e19db72da271 b/Gateways/FE/projects/.resources/ac4539a839fd95cbd197036a8e9bd84159743c00fc57c75eb427e19db72da271 new file mode 100644 index 0000000..476a4e4 --- /dev/null +++ b/Gateways/FE/projects/.resources/ac4539a839fd95cbd197036a8e9bd84159743c00fc57c75eb427e19db72da271 @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B302 STU LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*DH2/SATB1_DH2_STU_LLS*" + }, + "deviceName": "STU", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_STU_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/DH2_STU", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_STU_Rotation" + } + }, + "path": "Library/Templates/Graphics/LLS/Device LLS V1" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/acfb60d3d2a678243a485b3db8eafcc8fee797f0b3d897e1108d7803065b2df9 b/Gateways/FE/projects/.resources/acfb60d3d2a678243a485b3db8eafcc8fee797f0b3d897e1108d7803065b2df9 new file mode 100644 index 0000000..2f3baba --- /dev/null +++ b/Gateways/FE/projects/.resources/acfb60d3d2a678243a485b3db8eafcc8fee797f0b3d897e1108d7803065b2df9 @@ -0,0 +1,266 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_AlmDB" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_HiHi_AlmDelay" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_HiHi_AlmEN" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_HiHi_AlmSP" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Hi_AlmDelay" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Hi_AlmEN" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Hi_AlmSP" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_LoLo_AlmDelay" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_LoLo_AlmEN" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_LoLo_AlmSP" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Lo_AlmDelay" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Lo_AlmEN" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Lo_AlmSP" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Offset" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_PVDecPlaces" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_PVEUMax" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_PVEUMin" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_RawMax" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_RawMin" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_ResetReq" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1102/SATB1_RM1102_Fire System Panel" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ad209f488a643e7e93f9b384bcba3e4e6c145b83fb4411226dad11d2ae250055 b/Gateways/FE/projects/.resources/ad209f488a643e7e93f9b384bcba3e4e6c145b83fb4411226dad11d2ae250055 new file mode 100644 index 0000000..0fb6b44 Binary files /dev/null and b/Gateways/FE/projects/.resources/ad209f488a643e7e93f9b384bcba3e4e6c145b83fb4411226dad11d2ae250055 differ diff --git a/Gateways/FE/projects/.resources/ad3373d0cbe2e5cbad10dc8056c4315f26145eccfa39ef9296fed6c44a51f7c9 b/Gateways/FE/projects/.resources/ad3373d0cbe2e5cbad10dc8056c4315f26145eccfa39ef9296fed6c44a51f7c9 new file mode 100644 index 0000000..33ee8a8 Binary files /dev/null and b/Gateways/FE/projects/.resources/ad3373d0cbe2e5cbad10dc8056c4315f26145eccfa39ef9296fed6c44a51f7c9 differ diff --git a/Gateways/FE/projects/.resources/ad5e394dda6e93a7e5c74a0f8abd541d7c9b0ae20226c6e09c0ea888efeba766 b/Gateways/FE/projects/.resources/ad5e394dda6e93a7e5c74a0f8abd541d7c9b0ae20226c6e09c0ea888efeba766 new file mode 100644 index 0000000..57e9570 Binary files /dev/null and b/Gateways/FE/projects/.resources/ad5e394dda6e93a7e5c74a0f8abd541d7c9b0ae20226c6e09c0ea888efeba766 differ diff --git a/Gateways/FE/projects/.resources/ad994994a7cf0f5c090cf2229ab7a427554f056a6c7a73d8ea080970bff4bdfe b/Gateways/FE/projects/.resources/ad994994a7cf0f5c090cf2229ab7a427554f056a6c7a73d8ea080970bff4bdfe new file mode 100644 index 0000000..25682f6 Binary files /dev/null and b/Gateways/FE/projects/.resources/ad994994a7cf0f5c090cf2229ab7a427554f056a6c7a73d8ea080970bff4bdfe differ diff --git a/Gateways/FE/projects/.resources/ad9bd8890a429ab250304f984d7d89db21973e1eb4d15a66517ff512049f1c25 b/Gateways/FE/projects/.resources/ad9bd8890a429ab250304f984d7d89db21973e1eb4d15a66517ff512049f1c25 new file mode 100644 index 0000000..ed8542f Binary files /dev/null and b/Gateways/FE/projects/.resources/ad9bd8890a429ab250304f984d7d89db21973e1eb4d15a66517ff512049f1c25 differ diff --git a/Gateways/FE/projects/.resources/adb7693451ef9561297389e3f167f3e79bb2b5821355da514ab8253ce99bb255 b/Gateways/FE/projects/.resources/adb7693451ef9561297389e3f167f3e79bb2b5821355da514ab8253ce99bb255 new file mode 100644 index 0000000..89698bb --- /dev/null +++ b/Gateways/FE/projects/.resources/adb7693451ef9561297389e3f167f3e79bb2b5821355da514ab8253ce99bb255 @@ -0,0 +1,137 @@ +def trace_power_flow(): + """ + Traces power flow through a series of connected transformers (UTs). + - Reads the state of all switches. + - Determines which components are energized and from which source. + - Writes the results back to memory tags. + """ + + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + # [Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1 + ut_names = ["UT-HS1", "UT-P1-1", "UT-P1-2", "UT-P1-3", "UT-P1-4", "UT-P1-5", "UT-M7", "UT-M8"] + providers = ["[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_"] + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/DS1A_W4', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W4'] + idx = 0 + for name in ut_names: + # Assuming your UDT instances are in a folder named 'UTs' + base_path = providers[idx] + name + tag_paths_to_read.append("{}/Source 1 Switch".format(base_path)) + tag_paths_to_read.append("{}/Source 2 Switch".format(base_path)) + idx+=1 + + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['DS-1A_Live'] = tag_values[0].value + values['DS-1B_Live'] = tag_values[1].value + + read_idx = 2 + for name in ut_names: + values[name] = { + 'Switch_L_Status': tag_values[read_idx].value, + 'Switch_R_Status': tag_values[read_idx + 1].value} + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['DS-1A_Live']: + q.append( ("UT-HS1", "DS-1A1") ) + if values['DS-1B_Live']: + q.append( ("UT-M8", "DS-1B1") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ut_name, source = q.pop(0) + + if current_ut_name in visited: + continue + + visited.add(current_ut_name) + energized_state[current_ut_name] = source + current_ut_index = ut_names.index(current_ut_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ut_names) - 1: + neighbor_name = ut_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ut_name]['Switch_R_Status']['Value'] and values[neighbor_name]['Switch_L_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ut_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ut_name]['Switch_L_Status']['Value'] and values[neighbor_name]['Switch_R_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source)) + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + idx = 0 + for name in ut_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + tag_paths_to_write.append(providers[idx] + name + "/Data/isEnergized") + values_to_write.append(is_energized) + tag_paths_to_write.append(providers[idx] + name + "/Data/PowerSource") + values_to_write.append(power_source) + idx += 1 + + line_tags_base_path = "[Ignition_Common_IO_Gtwy]Cables/UT/" + #print energized_state + # Loop through each connection between UTs + i = 0 + for i in range(len(ut_names) - 1): + ut1_name = ut_names[i] + ut2_name = ut_names[i+1] + line_energized = (ut1_name in energized_state and + ut2_name in energized_state and + #energized_state[ut1_name] == energized_state[ut2_name] and + values[ut1_name]['Switch_R_Status']['Value'] and + values[ut2_name]['Switch_L_Status']['Value']) + #print ut1_name + " : " + str(ut1_name in energized_state) +" & "+str(values[ut1_name]['Switch_R_Status']['Value']) + #print energized_state[ut1_name] + " = " + energized_state[ut2_name] + #print ut2_name + " : " + str(ut2_name in energized_state) +" & "+str(values[ut1_name]['Switch_L_Status']['Value']) + line_tag_name = "Line_{}_to_{}".format(ut1_name, ut2_name) + # Construct the full tag path directly to the boolean tag + full_tag_path = line_tags_base_path + line_tag_name + # Add the path and the calculated value to our list for writing + tag_paths_to_write.append(full_tag_path) + values_to_write.append(line_energized) + #print full_tag_path + " : " + str(line_energized) + + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/adc8b0dc02550415bb5fd063d3b750e0d44816bf905e6911ec063cbbe6d637a3 b/Gateways/FE/projects/.resources/adc8b0dc02550415bb5fd063d3b750e0d44816bf905e6911ec063cbbe6d637a3 new file mode 100644 index 0000000..8974247 Binary files /dev/null and b/Gateways/FE/projects/.resources/adc8b0dc02550415bb5fd063d3b750e0d44816bf905e6911ec063cbbe6d637a3 differ diff --git a/Gateways/FE/projects/.resources/adf116c95f6c4a43440013c0b318f1e02a0d740e9fe0eff6b0974258cc83f22c b/Gateways/FE/projects/.resources/adf116c95f6c4a43440013c0b318f1e02a0d740e9fe0eff6b0974258cc83f22c new file mode 100644 index 0000000..7eeaad8 --- /dev/null +++ b/Gateways/FE/projects/.resources/adf116c95f6c4a43440013c0b318f1e02a0d740e9fe0eff6b0974258cc83f22c @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "0px", + "borderTopRightRadius": "8px", + "borderBottomLeftRadius": "0px", + "borderBottomRightRadius": "8px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/adfc67fe8ce26d74180fd79159b33e8d840c3583a5522b31c58d8da37859bf3e b/Gateways/FE/projects/.resources/adfc67fe8ce26d74180fd79159b33e8d840c3583a5522b31c58d8da37859bf3e new file mode 100644 index 0000000..bc92bef Binary files /dev/null and b/Gateways/FE/projects/.resources/adfc67fe8ce26d74180fd79159b33e8d840c3583a5522b31c58d8da37859bf3e differ diff --git a/Gateways/FE/projects/.resources/adfec33f495b3fa84f6c67de61d9bd6f5785bf063923e9936692f27385adcacc b/Gateways/FE/projects/.resources/adfec33f495b3fa84f6c67de61d9bd6f5785bf063923e9936692f27385adcacc new file mode 100644 index 0000000..0d239df --- /dev/null +++ b/Gateways/FE/projects/.resources/adfec33f495b3fa84f6c67de61d9bd6f5785bf063923e9936692f27385adcacc @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "8px", + "borderTopRightRadius": "8px", + "borderBottomLeftRadius": "8px", + "borderBottomRightRadius": "8px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ae00fff91e3e3f67ade4f5c1b4699698854fd6629875e6d711a200d7802f0a79 b/Gateways/FE/projects/.resources/ae00fff91e3e3f67ade4f5c1b4699698854fd6629875e6d711a200d7802f0a79 new file mode 100644 index 0000000..fa964d7 Binary files /dev/null and b/Gateways/FE/projects/.resources/ae00fff91e3e3f67ade4f5c1b4699698854fd6629875e6d711a200d7802f0a79 differ diff --git a/Gateways/FE/projects/.resources/ae45fa6ac07fbbcd0e298804263ec048431725e2a28b684e44c7f23dccc12563 b/Gateways/FE/projects/.resources/ae45fa6ac07fbbcd0e298804263ec048431725e2a28b684e44c7f23dccc12563 new file mode 100644 index 0000000..250851a --- /dev/null +++ b/Gateways/FE/projects/.resources/ae45fa6ac07fbbcd0e298804263ec048431725e2a28b684e44c7f23dccc12563 @@ -0,0 +1,86 @@ +from datetime import datetime + +def getRawDataTotalLoad(startDate, endDate, location, customArgs= {}): + return reports.MBR.totalpower.getRawDataTotalLoad(startDate, endDate, location, customArgs) + +def getRawDataCriticalLoad(startDate, endDate, location, customArgs= {}): + return reports.MBR.totalpower.getRawDataCriticalLoad(startDate, endDate, location, customArgs= {}) + + +def stripHistColumns(histDS, colsToKeep=[]): + """ + Support function to remove standalone columns + """ + histHeaders = system.dataset.getColumnHeaders(histDS) + newHeader = [histHeaders[0]] + colsToKeep + + allRows = [] + for row in histDS: + allRows.append([row[c] for c in newHeader]) + + return system.dataset.toPyDataSet(system.dataset.toDataSet((newHeader, allRows))) + +def processCalcPeakAvg(histDS, keyCol, colNames, interval): + """ + Calculate peak and avg by interval + Args: + histDS: history dataset to process + keyCol: identify the key column to calculate from + colNames: new column names for peak and avg + interval: histDS should be in minute intervals, how many rows per grouping + Returns: + dataset of t_stamp, Peak, Avg + GroupDict of interval raw values + """ + timeUnitStr = "" + GroupDict= {} # represents {"datetime":{"col1":[], "col2":[]...}} + histDsCols = [keyCol] + resultData = [] + for i,row in enumerate(histDS): + if i%interval == 0: + timeUnitStr = system.date.format(row["t_stamp"],"yyyy-MM-dd HH:mm") + GroupDict.setdefault(timeUnitStr, {}) + GroupDict[timeUnitStr]={"values":[]} +# GroupDict[quarterHrStr].append(row["SumRealPwr"]) + for col in histDsCols: + GroupDict[timeUnitStr]["values"].append(row[col] if row[col] is not None else 0) + sortedDateKeys = sorted(GroupDict.keys(), key=lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M')) + for dt_str in sortedDateKeys: + intervalAvg = sum(GroupDict[dt_str]["values"])/len(GroupDict[dt_str]["values"]) + intervalPeak = max(GroupDict[dt_str]["values"]) + oneRow = [system.date.parse(dt_str, "yyyy-MM-dd HH:mm"), intervalPeak, intervalAvg] + resultData.append(oneRow) + + return system.dataset.toPyDataSet(system.dataset.toDataSet(["t_stamp"]+colNames, resultData)), GroupDict + +def calcPUE(totalLoadDict, critLoadDict): + resultData = [] + sortedDateKeys = sorted(totalLoadDict.keys(), key=lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M')) + + for dt_str in sortedDateKeys: + pue_intervalList= [a/b if b> 0 else -1 for a,b in zip(critLoadDict[dt_str]["values"], totalLoadDict[dt_str]["values"])] + resultData.append([system.date.parse(dt_str, "yyyy-MM-dd HH:mm"), max(pue_intervalList), sum(pue_intervalList)/len(pue_intervalList)]) + + return system.dataset.toPyDataSet(system.dataset.toDataSet(["t_stamp","PeakPUE", "AvgPUE"], resultData)) + +def beginReport(startDate, endDate, intervalMin=15, location=None): + """ + Single call point for Report data fetch + """ + totalLoadHist = getRawDataTotalLoad(startDate, endDate, location) + critLoadHist = getRawDataCriticalLoad(startDate, endDate, location) + +# rawData = reports.MBR.common.util.mergeHistorianData(totalLoadHist, critLoadHist) + + totalLoadHist = reports.MBR.common.util.generateSumCol(totalLoadHist, sumColName="TotalLoad") + totalLoadHist, totalLoadDict = processCalcPeakAvg(totalLoadHist, "TotalLoad", ["PeakTotalLoad","AvgTotalLoad"], intervalMin) + critLoadHist = reports.MBR.common.util.generateSumCol(critLoadHist, sumColName="CriticalLoad") + critLoadHist, critLoadDict = processCalcPeakAvg(critLoadHist, "CriticalLoad", ["PeakCriticalLoad","AvgCriticalLoad"], intervalMin) + + pueData = calcPUE(totalLoadDict, critLoadDict) + + summaryData = reports.MBR.common.util.mergeHistorianData(totalLoadHist, critLoadHist) + summaryData = reports.MBR.common.util.mergeHistorianData(summaryData, pueData) + + return {"summaryData": summaryData} + \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ae6561db3695e4fd705467d06c7f5d3f362abeb41c3ba478d4d94730ff3385a0 b/Gateways/FE/projects/.resources/ae6561db3695e4fd705467d06c7f5d3f362abeb41c3ba478d4d94730ff3385a0 new file mode 100644 index 0000000..a2fc6b1 --- /dev/null +++ b/Gateways/FE/projects/.resources/ae6561db3695e4fd705467d06c7f5d3f362abeb41c3ba478d4d94730ff3385a0 @@ -0,0 +1,468 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Run" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StartBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StopBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ae6f68b7dd85ee28f84840feffbba7ccfef4a653f321648189065e51c5c66589 b/Gateways/FE/projects/.resources/ae6f68b7dd85ee28f84840feffbba7ccfef4a653f321648189065e51c5c66589 new file mode 100644 index 0000000..b749901 Binary files /dev/null and b/Gateways/FE/projects/.resources/ae6f68b7dd85ee28f84840feffbba7ccfef4a653f321648189065e51c5c66589 differ diff --git a/Gateways/FE/projects/.resources/ae7dd5a9c6aee4eb0ad9119e3b68b99a6eea26e9b1e1ced9d5bc0141f29b4858 b/Gateways/FE/projects/.resources/ae7dd5a9c6aee4eb0ad9119e3b68b99a6eea26e9b1e1ced9d5bc0141f29b4858 new file mode 100644 index 0000000..acec24f --- /dev/null +++ b/Gateways/FE/projects/.resources/ae7dd5a9c6aee4eb0ad9119e3b68b99a6eea26e9b1e1ced9d5bc0141f29b4858 @@ -0,0 +1,12214 @@ +{ + "custom": { + "Available": [ + "SATB1_RF_DOAS01", + "SATB1_RF_DOAS02", + "SATB1_RF_DOAS03" + ], + "ColorHandler": { + "Walls": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "DOAS01": "#BAEDFF", + "DOAS02": "#BAEDFF", + "DOAS03": "#BAEDFF" + }, + "selected": "doas" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tshortName \u003d room.split(\"_\")\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\tsroom \u003d shortName[2]\n\t\toutput[sroom] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Roof" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[1].elements[0].elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#ddd" + }, + "height": "1179.52", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "4682.44", + "x": "93.184", + "y": "37.323" + }, + { + "fill": { + "paint": "#ddd" + }, + "height": "215.988", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "96.472", + "x": "-3.288", + "y": "397.273" + }, + { + "fill": { + "paint": "#bababa" + }, + "height": "816.391", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "2336.13", + "x": "1968.11", + "y": "218.315" + } + ], + "id": "Roof-Walls", + "name": "Roof-Walls", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "190.416", + "id": "Box", + "name": "Box", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "73.532", + "x": "180.308", + "y": "660.106" + }, + { + "elements": [ + { + "d": "M180.308,678.073l73.532,0l-0,17.932l-73.532,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M180.308,820.351l73.532,0l-0,12.841l-73.532,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "cx": "187.599", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "207.085", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "226.899", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "246.548", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DOAS03", + "name": "DOAS03", + "type": "group" + }, + { + "elements": [ + { + "d": "M1526.99,369.429l190.416,-0l-0,73.532l-190.416,0l-0,-73.532Z", + "fill": {}, + "id": "Box1", + "name": "Box1", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1544.96,442.961l0,-73.532l17.932,-0l0,73.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1687.24,442.961l0,-73.532l12.842,-0l-0,73.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,435.67c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,-0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,416.184c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,396.37c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,376.721c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,-0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DOAS02", + "name": "DOAS02", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "50.588", + "id": "Box2", + "name": "Box2", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "120.896", + "x": "4486.23", + "y": "209.765" + }, + { + "elements": [ + { + "cx": "4512.07", + "cy": "224.469", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4512.07", + "cy": "245.298", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4534.29", + "cy": "224.469", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4534.29", + "cy": "245.298", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4556.51", + "cy": "224.469", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4556.51", + "cy": "245.298", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "50.588", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "75.925", + "x": "4496.9", + "y": "209.765" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DOAS01", + "name": "DOAS01", + "type": "group" + } + ], + "id": "DOAS", + "name": "DOAS", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX", + "name": "BOX", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2073.88,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH48", + "name": "CH48", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX1", + "name": "BOX1", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2073.88,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH47", + "name": "CH47", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX2", + "name": "BOX2", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2073.88,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH46", + "name": "CH46", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX3", + "name": "BOX3", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2073.88,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH45", + "name": "CH45", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX4", + "name": "BOX4", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2073.88,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH44", + "name": "CH44", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX5", + "name": "BOX5", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2073.88,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH43", + "name": "CH43", + "type": "group" + } + ], + "id": "Lineup08", + "name": "Lineup08", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX6", + "name": "BOX6", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2498.03,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,273.653c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,294.92c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH42", + "name": "CH42", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX7", + "name": "BOX7", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2498.03,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,411.323c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,432.59c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH41", + "name": "CH41", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX8", + "name": "BOX8", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2498.03,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,547.303c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,568.57c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH40", + "name": "CH40", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX9", + "name": "BOX9", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2498.03,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,684.819c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,706.086c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH39", + "name": "CH39", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX10", + "name": "BOX10", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2498.03,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,823.104c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,844.371c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH38", + "name": "CH38", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX11", + "name": "BOX11", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2498.03,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,959.852c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,981.119c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH37", + "name": "CH37", + "type": "group" + } + ], + "id": "Lineup07", + "name": "Lineup07", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX12", + "name": "BOX12", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2655.74,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH36", + "name": "CH36", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX13", + "name": "BOX13", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2655.74,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH35", + "name": "CH35", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX14", + "name": "BOX14", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2655.74,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH34", + "name": "CH34", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX15", + "name": "BOX15", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2655.74,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH33", + "name": "CH33", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX16", + "name": "BOX16", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2655.74,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH32", + "name": "CH32", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX17", + "name": "BOX17", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2655.74,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH31", + "name": "CH31", + "type": "group" + } + ], + "id": "Lineup06", + "name": "Lineup06", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX18", + "name": "BOX18", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2929.8,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,308.328l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH30", + "name": "CH30", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX19", + "name": "BOX19", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2929.8,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,445.998l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH29", + "name": "CH29", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX20", + "name": "BOX20", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2929.8,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,581.978l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH28", + "name": "CH28", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX21", + "name": "BOX21", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2929.8,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,719.494l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH27", + "name": "CH27", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX22", + "name": "BOX22", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2929.8,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,857.779l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH26", + "name": "CH26", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX23", + "name": "BOX23", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2929.8,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,994.527l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH25", + "name": "CH25", + "type": "group" + } + ], + "id": "Lineup05", + "name": "Lineup05", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX24", + "name": "BOX24", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M3237.92,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH24", + "name": "CH24", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX25", + "name": "BOX25", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M3237.92,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH23", + "name": "CH23", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX26", + "name": "BOX26", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M3237.92,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH22", + "name": "CH22", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX27", + "name": "BOX27", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M3237.92,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH21", + "name": "CH21", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX28", + "name": "BOX28", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M3237.92,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH20", + "name": "CH20", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX29", + "name": "BOX29", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M3237.92,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH19", + "name": "CH19", + "type": "group" + } + ], + "id": "Lineup04", + "name": "Lineup04", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX30", + "name": "BOX30", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M3660.64,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH18", + "name": "CH18", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX31", + "name": "BOX31", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M3660.64,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH17", + "name": "CH17", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX32", + "name": "BOX32", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M3660.64,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH16", + "name": "CH16", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX33", + "name": "BOX33", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M3660.64,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH15", + "name": "CH15", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX34", + "name": "BOX34", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M3660.64,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH14", + "name": "CH14", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX35", + "name": "BOX35", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M3660.64,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH13", + "name": "CH13", + "type": "group" + } + ], + "id": "Lineup03", + "name": "Lineup03", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX36", + "name": "BOX36", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M3818.47,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,308.328l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH12", + "name": "CH12", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX37", + "name": "BOX37", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M3818.47,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,445.998l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH11", + "name": "CH11", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX38", + "name": "BOX38", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M3818.47,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,581.978l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH10", + "name": "CH10", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX39", + "name": "BOX39", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M3818.47,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,719.494l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH09", + "name": "CH09", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX40", + "name": "BOX40", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M3818.47,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,857.779l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH08", + "name": "CH08", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX41", + "name": "BOX41", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M3818.47,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,994.527l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH07", + "name": "CH07", + "type": "group" + } + ], + "id": "Lineup02", + "name": "Lineup02", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX42", + "name": "BOX42", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M4242.99,273.653c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,294.92c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,308.328l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH06", + "name": "CH06", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX43", + "name": "BOX43", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M4242.99,411.323c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,432.59c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,445.998l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH05", + "name": "CH05", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX44", + "name": "BOX44", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M4242.99,547.303c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,568.57c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,581.978l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH04", + "name": "CH04", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX45", + "name": "BOX45", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M4242.99,684.819c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,706.086c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,719.494l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH03", + "name": "CH03", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX46", + "name": "BOX46", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M4242.99,823.104c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,844.371c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,857.779l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH02", + "name": "CH02", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX47", + "name": "BOX47", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M4242.99,959.852c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,981.119c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,994.527l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH01", + "name": "CH01", + "type": "group" + } + ], + "id": "Lineup01", + "name": "Lineup01", + "type": "group" + } + ], + "id": "Chillers", + "name": "Chillers", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "210.644", + "id": "Box3", + "name": "Box3", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "81.344", + "x": "4566.82", + "y": "361.949" + }, + { + "elements": [ + { + "d": "M4648.17,552.716l-81.343,0l-0,-19.836l81.343,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4648.17,530.268l-81.343,0l-0,-19.837l81.343,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4648.17,395.325l-81.343,-0l-0,-14.206l81.343,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "cx": "4640.1", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4640.1", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4618.55", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4618.55", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4596.63", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4596.63", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4574.89", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4574.89", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "RTU01", + "name": "RTU01", + "type": "group" + }, + { + "elements": [ + { + "d": "M4609.27,634.973l50.588,-0l-0,98.743l-50.588,-0l-0,-98.743Z", + "fill": {}, + "id": "Box4", + "name": "Box4", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M4632.04,707.872c-0,4.452 -3.615,8.066 -8.067,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.067,3.614 8.067,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4652.87,707.872c0,4.452 -3.614,8.066 -8.066,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c-0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.066,3.614 8.066,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4632.04,685.651c-0,4.452 -3.615,8.067 -8.067,8.067c-4.452,-0 -8.066,-3.615 -8.066,-8.067c0,-4.451 3.614,-8.066 8.066,-8.066c4.452,0 8.067,3.615 8.067,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4652.87,685.651c0,4.452 -3.614,8.067 -8.066,8.067c-4.452,-0 -8.066,-3.615 -8.066,-8.067c-0,-4.451 3.614,-8.066 8.066,-8.066c4.452,0 8.066,3.615 8.066,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4632.04,663.431c-0,4.452 -3.615,8.066 -8.067,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.067,3.614 8.067,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4652.87,663.431c0,4.452 -3.614,8.066 -8.066,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c-0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.066,3.614 8.066,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4609.27,647.122l50.588,0l-0,75.925l-50.588,0l-0,-75.925Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "RTU02", + "name": "RTU02", + "type": "group" + } + ], + "id": "RTU", + "name": "RTU", + "type": "group" + } + ], + "id": "Roof-equipment", + "name": "Roof-equipment", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS01", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 23, + "x": 397, + "y": 19 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS02", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 21, + "width": 30, + "x": 132, + "y": 32 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS03", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 27, + "width": 14, + "x": 12, + "y": 58 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 13, + "y": 0 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_03_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ae90d333d080dc48dd312ab7c4a4d3397f3a1cfc77565197f7827750df875026 b/Gateways/FE/projects/.resources/ae90d333d080dc48dd312ab7c4a4d3397f3a1cfc77565197f7827750df875026 new file mode 100644 index 0000000..80385c7 Binary files /dev/null and b/Gateways/FE/projects/.resources/ae90d333d080dc48dd312ab7c4a4d3397f3a1cfc77565197f7827750df875026 differ diff --git a/Gateways/FE/projects/.resources/aed5df0f7dbb0b64bdaedfdb71a326c424bb3352bda77c80e138b3e69d91deb2 b/Gateways/FE/projects/.resources/aed5df0f7dbb0b64bdaedfdb71a326c424bb3352bda77c80e138b3e69d91deb2 new file mode 100644 index 0000000..044876b --- /dev/null +++ b/Gateways/FE/projects/.resources/aed5df0f7dbb0b64bdaedfdb71a326c424bb3352bda77c80e138b3e69d91deb2 @@ -0,0 +1,479 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 600 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "48px" + }, + "props": { + "style": { + "fontSize": "24px", + "textAlign": "center" + }, + "text": "Swap Theme" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "40px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.props.theme" + }, + "type": "property" + } + } + }, + "props": { + "options": [ + { + "label": "Light", + "value": "light" + }, + { + "label": "Light (cool tint)", + "value": "light-cool" + }, + { + "label": "Light (warm tint)", + "value": "light-warm" + }, + { + "label": "Dark", + "value": "dark" + }, + { + "label": "Dark (cool tint)", + "value": "dark-cool" + }, + { + "label": "Dark (warm tint)", + "value": "dark-warm" + } + ], + "placeholder": { + "text": "" + }, + "search": { + "enabled": false + }, + "style": { + "classes": "Utilities/m-b-16" + } + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "40px" + }, + "props": { + "alignVertical": "bottom", + "style": { + "fontSize": "24px", + "textAlign": "center" + }, + "text": "Example Scripts" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\t# ~~ 12 PARAMETERS ~~\n\t# state\t\t\t\t\t(default \u003d info) empty string uses generic gray styling\n\t# title \t\t\t\t(default \u003d Alert Title) empty string sets the title visibility to false\n\t# message \t\t\t\t(default \u003d Alert message goes here.)\n\t# show close button\t\t(default \u003d true) boolean\n\t# btn text primary\t\t(default \u003d \"Primary\")\n\t# btn text secondary\t(default \u003d \"Secondary\")\n\t# btn icon primary \t\t(default \u003d chevron_right) do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon secondary \t(default \u003d \"\") do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon alignment\t(default \u003d \"right\") left or right\n\t# btn primary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn secondary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn close action\t\t(default \u003d \"\") add message handlers on this icon to enable other script actions\n\n\tutils.Alerts.showAlert(\"warning\", \"This is a Warning!\", \"You have been warned.\", \"false\", \"Accept\", \"Cancel\", \"\", \"\", \"\", \"closePopup\", \"closePopup\", \"closePopup\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "warning script" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Alerts/states/warningBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Warning" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\t# ~~ 12 PARAMETERS ~~\n\t# state\t\t\t\t\t(default \u003d info) empty string uses generic gray styling\n\t# title \t\t\t\t(default \u003d Alert Title) empty string sets the title visibility to false\n\t# message \t\t\t\t(default \u003d Alert message goes here.)\n\t# show close button\t\t(default \u003d true) boolean\n\t# btn text primary\t\t(default \u003d \"Primary\")\n\t# btn text secondary\t(default \u003d \"Secondary\")\n\t# btn icon primary \t\t(default \u003d chevron_right) do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon secondary \t(default \u003d \"\") do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon alignment\t(default \u003d \"right\") left or right\n\t# btn primary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn secondary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn close action\t\t(default \u003d \"\") add message handlers on this icon to enable other script actions\n\n\tutils.Alerts.showAlert(\"success\", \"You\u0027re So Successful\", \"Fantastic work. Really, just a job well done.\", \"true\", \"I know\", \"No\", \"tag_faces\", \"close\", \"\", \"closePopup\", \"closePopup\", \"closePopup\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "success script" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Alerts/states/successBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Success" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\t# ~~ 12 PARAMETERS ~~\n\t# state\t\t\t\t\t(default \u003d info) empty string uses generic gray styling\n\t# title \t\t\t\t(default \u003d Alert Title) empty string sets the title visibility to false\n\t# message \t\t\t\t(default \u003d Alert message goes here.)\n\t# show close button\t\t(default \u003d true) boolean\n\t# btn text primary\t\t(default \u003d \"Primary\")\n\t# btn text secondary\t(default \u003d \"Secondary\")\n\t# btn icon primary \t\t(default \u003d chevron_right) do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon secondary \t(default \u003d \"\") do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon alignment\t(default \u003d \"right\") left or right\n\t# btn primary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn secondary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn close action\t\t(default \u003d \"\") add message handlers on this icon to enable other script actions\n\n\tutils.Alerts.showAlert(\"error\", \"I\u0027m Sorry, Dave.\", \"I\u0027m afraid I can\u0027t do that. I think you know what the problem is just as well as I do.\", \"true\", \"Disconnect Hal\", \"\", \"disc_full\", \"\", \"\", \"closePopup\", \"closePopup\", \"closePopup\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "error script" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Alerts/states/errorBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Error" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\t# ~~ 12 PARAMETERS ~~\n\t# state\t\t\t\t\t(default \u003d info) empty string uses generic gray styling\n\t# title \t\t\t\t(default \u003d Alert Title) empty string sets the title visibility to false\n\t# message \t\t\t\t(default \u003d Alert message goes here.)\n\t# show close button\t\t(default \u003d true) boolean\n\t# btn text primary\t\t(default \u003d \"Primary\")\n\t# btn text secondary\t(default \u003d \"Secondary\")\n\t# btn icon primary \t\t(default \u003d chevron_right) do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon secondary \t(default \u003d \"\") do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon alignment\t(default \u003d \"right\") left or right\n\t# btn primary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn secondary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn close action\t\t(default \u003d \"\") add message handlers on this icon to enable other script actions\n\n\tutils.Alerts.showAlert(\"info\", \"Info Title\", \"Alert message goes here.\", \"true\", \"Continue\", \"Cancel\", \"\", \"\", \"\", \"closePopup\", \"closePopup\", \"closePopup\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "info script" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Alerts/states/infoBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Info" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "scripts" + }, + "position": { + "basis": "56px" + }, + "props": { + "alignItems": "center", + "style": { + "classes": "Utilities/m-b-16" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "48px" + }, + "props": { + "alignVertical": "bottom", + "style": { + "fontSize": "24px", + "textAlign": "center" + }, + "text": "Example Actions" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": false, + "id": "alertWarning", + "modal": true, + "overlayDismiss": true, + "resizable": false, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "btnActionClose": "closePopup", + "btnActionPrimary": "closePopup", + "btnActionSecondary": "closePopup", + "btnIconPrimary": "", + "btnTextPrimary": "Accept", + "btnTextSecondary": "Cancel", + "message": "You have been warned.", + "showCloseBtn": "false", + "state": "warning", + "title": "This is a Warning!" + }, + "viewPath": "Library/Alerts/alert" + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "warning action" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Alerts/states/warningBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Warning" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": false, + "id": "alertSuccess", + "modal": true, + "overlayDismiss": true, + "resizable": false, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "btnActionClose": "closePopup", + "btnActionPrimary": "closePopup", + "btnActionSecondary": "closePopup", + "btnIconPrimary": "tag_faces", + "btnIconSecondary": "close", + "btnTextPrimary": "I Know", + "btnTextSecondary": "No", + "message": "Fantastic work. Really, just a job well done.", + "state": "success", + "title": "You\u0027re So Successful" + }, + "viewPath": "Library/Alerts/alert" + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "success action" + }, + "position": { + "basis": "80px", + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Alerts/states/successBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Success" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": false, + "id": "alertError", + "modal": true, + "overlayDismiss": true, + "resizable": false, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "btnActionClose": "closePopup", + "btnActionPrimary": "closePopup", + "btnActionSecondary": "closePopup", + "btnIconPrimary": "disc_full", + "btnTextPrimary": "Disconnect Hal", + "btnTextSecondary": "", + "message": "I\u0027m afraid I can\u0027t do that. I think you know what the problem is just as well as I do. ", + "state": "error", + "title": "I\u0027m Sorry, Dave." + }, + "viewPath": "Library/Alerts/alert" + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "error action" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Alerts/states/errorBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Error" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": false, + "id": "alertInfo", + "modal": true, + "overlayDismiss": true, + "resizable": false, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "btnActionClose": "closePopup", + "btnActionPrimary": "closePopup", + "btnActionSecondary": "closePopup", + "btnIconPrimary": "", + "btnTextPrimary": "Continue", + "btnTextSecondary": "Cancel", + "state": "info", + "title": "Info Title" + }, + "viewPath": "Library/Alerts/alert" + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "info action" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Alerts/states/infoBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Info" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "actions" + }, + "position": { + "basis": "56px" + }, + "props": { + "alignItems": "center", + "style": { + "classes": "Utilities/m-b-16" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "info" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "props": { + "source": "Thank you for downloading this Ignition resource!\n\n## How to Use\nAlert popups may be called via a script or event action. The specified parameters drive their appearance and features.\n\n### Button Actions\nThe action performed when interacting with an alert button is determined by [component message handlers](https://docs.inductiveautomation.com/display/DOC80/Component+Message+Handlers). In this way, they are dynamic and extensible based on the parameters driving the alert. Add a message handler to the corresponding button to enable a new action onActionPerformed.", + "style": { + "backgroundColor": "var(--neutral-30)", + "borderRadius": "4px", + "fontSize": "0.875rem", + "marginTop": "1rem", + "padding": "1rem", + "textAlign": "center" + } + }, + "type": "ia.display.markdown" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignContent": "flex-start", + "direction": "column", + "style": { + "margin": "0 auto", + "maxWidth": "600px", + "padding": "1rem" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/af35dc6529b57330bfe74ea703963bd89b3594c53759d15fb7822cccadf1b078 b/Gateways/FE/projects/.resources/af35dc6529b57330bfe74ea703963bd89b3594c53759d15fb7822cccadf1b078 new file mode 100644 index 0000000..104b818 Binary files /dev/null and b/Gateways/FE/projects/.resources/af35dc6529b57330bfe74ea703963bd89b3594c53759d15fb7822cccadf1b078 differ diff --git a/Gateways/FE/projects/.resources/b00eaab725918d05dd11507d56bc0840728b378ace293dbbfd5778c0b640ef20 b/Gateways/FE/projects/.resources/b00eaab725918d05dd11507d56bc0840728b378ace293dbbfd5778c0b640ef20 new file mode 100644 index 0000000..4168127 Binary files /dev/null and b/Gateways/FE/projects/.resources/b00eaab725918d05dd11507d56bc0840728b378ace293dbbfd5778c0b640ef20 differ diff --git a/Gateways/FE/projects/.resources/b02aeaa10bfc2d47320443be1399a7d89a024779643034a43f481451ccf974ec b/Gateways/FE/projects/.resources/b02aeaa10bfc2d47320443be1399a7d89a024779643034a43f481451ccf974ec new file mode 100644 index 0000000..55cf12e --- /dev/null +++ b/Gateways/FE/projects/.resources/b02aeaa10bfc2d47320443be1399a7d89a024779643034a43f481451ccf974ec @@ -0,0 +1,410 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "SWBDPQM", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_PQM1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b07673e1b3f0190e07f2ca21be23b075eeacc504075f94fecbaf828b914f0b5f b/Gateways/FE/projects/.resources/b07673e1b3f0190e07f2ca21be23b075eeacc504075f94fecbaf828b914f0b5f new file mode 100644 index 0000000..f14ce75 Binary files /dev/null and b/Gateways/FE/projects/.resources/b07673e1b3f0190e07f2ca21be23b075eeacc504075f94fecbaf828b914f0b5f differ diff --git a/Gateways/FE/projects/.resources/b08ec10ffc8b00d2e3d692ad6c12faa2e1eadf99382a01cfba2c4c7392ac463b b/Gateways/FE/projects/.resources/b08ec10ffc8b00d2e3d692ad6c12faa2e1eadf99382a01cfba2c4c7392ac463b new file mode 100644 index 0000000..170bf42 Binary files /dev/null and b/Gateways/FE/projects/.resources/b08ec10ffc8b00d2e3d692ad6c12faa2e1eadf99382a01cfba2c4c7392ac463b differ diff --git a/Gateways/FE/projects/.resources/b0c156a36ed9219ab95161e46dbebbf98fb91e73dc43ccf4565467c21ca160d2 b/Gateways/FE/projects/.resources/b0c156a36ed9219ab95161e46dbebbf98fb91e73dc43ccf4565467c21ca160d2 new file mode 100644 index 0000000..2a33e1c Binary files /dev/null and b/Gateways/FE/projects/.resources/b0c156a36ed9219ab95161e46dbebbf98fb91e73dc43ccf4565467c21ca160d2 differ diff --git a/Gateways/FE/projects/.resources/b0e2a5e1c43ad49b7f28dbff70c576ab541e6ec862e99dc1133c1cef857bbc63 b/Gateways/FE/projects/.resources/b0e2a5e1c43ad49b7f28dbff70c576ab541e6ec862e99dc1133c1cef857bbc63 new file mode 100644 index 0000000..b47d38d Binary files /dev/null and b/Gateways/FE/projects/.resources/b0e2a5e1c43ad49b7f28dbff70c576ab541e6ec862e99dc1133c1cef857bbc63 differ diff --git a/Gateways/FE/projects/.resources/b11acc6caa1712fa8420ee736d4ebe1834efd9328e3f9691548dd1060ea3ab3f b/Gateways/FE/projects/.resources/b11acc6caa1712fa8420ee736d4ebe1834efd9328e3f9691548dd1060ea3ab3f new file mode 100644 index 0000000..afed348 --- /dev/null +++ b/Gateways/FE/projects/.resources/b11acc6caa1712fa8420ee736d4ebe1834efd9328e3f9691548dd1060ea3ab3f @@ -0,0 +1,68 @@ +{ + "custom": {}, + "params": { + "Text": "Button", + "openPopup": false, + "tagPath": "tagPath/pathToTag" + }, + "propConfig": { + "params.Text": { + "paramDirection": "input", + "persistent": true + }, + "params.openPopup": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 41, + "width": 140 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Button" + }, + "position": { + "basis": "34px", + "grow": 1 + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{session.props.auth.user.roles}" + }, + "transforms": [ + { + "code": "\troles \u003d value\n\tvisible \u003d False\n\tfor role in roles:\n\t\tif role \u003d\u003d \u0027Prime User\u0027:\n\t\t\tvisible \u003d True\n\t\t\treturn visible", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b11dd5f201424c355c32c4ba380518a31278ee81cc637d6214c487989923a686 b/Gateways/FE/projects/.resources/b11dd5f201424c355c32c4ba380518a31278ee81cc637d6214c487989923a686 new file mode 100644 index 0000000..2f58278 --- /dev/null +++ b/Gateways/FE/projects/.resources/b11dd5f201424c355c32c4ba380518a31278ee81cc637d6214c487989923a686 @@ -0,0 +1,485 @@ +{ + "custom": { + "Alarm": false, + "AlarmSevery": 0, + "ModeSts": 5, + "RunStatus": 1, + "Status": 1, + "Tag": "CH01", + "available": 1, + "priority": 0 + }, + "params": { + "CH": "01", + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_SYSTEM", + "objectName": "ChillerSystem" + }, + "propConfig": { + "custom.Alarm": { + "binding": { + "config": { + "path": "view.custom.AlarmSevery" + }, + "enabled": false, + "transforms": [ + { + "expression": "if({value}\u003e0, True, False)", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.AlarmSevery": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "SYS_tagPath": "{view.params.SYS_tagPath}" + }, + "tagPath": "{SYS_tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 4\n\treturn alarm.summary.calcMaxPriority(self.params.SYS_tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.ModeSts": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "SYS_tagPath": "{view.params.SYS_tagPath}" + }, + "tagPath": "{SYS_tagPath}/Control/MODE" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 5\n\treturn value", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.RunStatus": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "MTR_tagPath": "{view.params.MTR_tagPath}" + }, + "tagPath": "{MTR_tagPath}/Status Running" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + }, + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "struct": { + "alarm": "{view.custom.Alarm}", + "mode": "{view.custom.ModeSts}", + "running": "{view.custom.RunStatus}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027alarm\u0027]:\n\t\treturn 2\n\telif value[\u0027mode\u0027] \u003d\u003d False:\n\t\treturn 3\n\telse:\n\t\treturn value[\u0027running\u0027]", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.Tag": { + "binding": { + "config": { + "expression": "\"CH\" + {view.params.CH}" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.available": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "SYS_tagPath": "{view.params.SYS_tagPath}" + }, + "tagPath": "{SYS_tagPath}/Chiller System Available" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.priority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "LLS_tagPath": "{view.params.LLS_tagPath}", + "index": "tostr(toint(right({view.custom.Tag},2))-1)" + }, + "tagPath": "{LLS_tagPath}[{index}]" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.CH": { + "paramDirection": "input", + "persistent": true + }, + "params.LLS_tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.MTR_tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.SYS_tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 65, + "width": 50 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 65, + "width": 50 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "{view.custom.Status}" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + }, + { + "input": 3, + "output": "#9C6427" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "left({view.custom.Tag},4)\r\n" + }, + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "{view.custom.Status}" + }, + "transforms": [ + { + "fallback": "yellow", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "black" + }, + { + "input": 1, + "output": "black" + }, + { + "input": 2, + "output": "white" + }, + { + "input": 3, + "output": "white" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "outlineColor": "#000000", + "outlineStyle": "none", + "outlineWidth": "1", + "paddingLeft": 2 + }, + "textStyle": { + "fontSize": 12, + "textAlign": "Left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 28, + "width": 42.98, + "x": 4.07, + "y": 12.72 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "modeSts": "{view.custom.ModeSts}", + "priority": "{view.custom.priority}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value[\u0027modeSts\u0027] \u003d\u003d 5:\n\t\treturn \"No Comms\"\n \tif value[\u0027modeSts\u0027]\u003d\u003d0:\n \t\ttext\u003d\u0027Manual\u0027\n \telse:\n \t\tif value[\u0027priority\u0027]\u003d\u003d0:\n \t\t\tPriority \u003d \u0027OOS\u0027\n \t\telse:\n \t\t\tPriority \u003d str(value[\u0027priority\u0027])\n \t\ttext\u003d\u0027Auto \u0027+ Priority\n \treturn text\n \t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "{view.custom.Status}" + }, + "transforms": [ + { + "fallback": "yellow", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "black" + }, + { + "input": 1, + "output": "black" + }, + { + "input": 2, + "output": "white" + }, + { + "input": 3, + "output": "white" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "text": "Auto 2", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "320px", + "height": 20, + "width": 20, + "x": 4, + "y": 42 + }, + "props": { + "path": "Library/Framework/Frwk_Badge_XS", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 20, + "width": 20, + "x": 26, + "y": 42 + }, + "props": { + "params": { + "Mode": 1, + "Options": [ + "R", + "L" + ] + }, + "path": "Library/Framework/Frwk_Badge_XS", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "CoordinateContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "boxShawdow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.SYS_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": "root" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": "var(--borderRadiusInput)", + "borderBottomRightRadius": "var(--borderRadiusInput)", + "borderTopLeftRadius": "var(--borderRadiusInput)", + "borderTopRightRadius": "var(--borderRadiusInput)", + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b12aa1ffe341774f5dcbd1a92174fd37a65798f82c0156eccb9b0732469c2f7c b/Gateways/FE/projects/.resources/b12aa1ffe341774f5dcbd1a92174fd37a65798f82c0156eccb9b0732469c2f7c new file mode 100644 index 0000000..d2d33bb --- /dev/null +++ b/Gateways/FE/projects/.resources/b12aa1ffe341774f5dcbd1a92174fd37a65798f82c0156eccb9b0732469c2f7c @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B301 STU LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*DH1/SATB1_DH1_STU_LLS*" + }, + "deviceName": "STU", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_STU_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/DH1_STU", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_STU_Rotation" + } + }, + "path": "Library/Templates/Graphics/LLS/Device LLS V1" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b12dbb7bc08e4f44c9bfaeeb40360cb7f86ef9b6e96b808df37c48bd05e46c43 b/Gateways/FE/projects/.resources/b12dbb7bc08e4f44c9bfaeeb40360cb7f86ef9b6e96b808df37c48bd05e46c43 new file mode 100644 index 0000000..5c135e4 Binary files /dev/null and b/Gateways/FE/projects/.resources/b12dbb7bc08e4f44c9bfaeeb40360cb7f86ef9b6e96b808df37c48bd05e46c43 differ diff --git a/Gateways/FE/projects/.resources/b14ab91cc0e2b01de68dc2e65641c36b445d1777effe3eb2d0f217084ea288d3 b/Gateways/FE/projects/.resources/b14ab91cc0e2b01de68dc2e65641c36b445d1777effe3eb2d0f217084ea288d3 new file mode 100644 index 0000000..c4c1601 Binary files /dev/null and b/Gateways/FE/projects/.resources/b14ab91cc0e2b01de68dc2e65641c36b445d1777effe3eb2d0f217084ea288d3 differ diff --git a/Gateways/FE/projects/.resources/b154e3e8d5fbebc9f8beae928da87717e43f27cfa4cb32a4af3b59c43be40e8b b/Gateways/FE/projects/.resources/b154e3e8d5fbebc9f8beae928da87717e43f27cfa4cb32a4af3b59c43be40e8b new file mode 100644 index 0000000..0fb8add --- /dev/null +++ b/Gateways/FE/projects/.resources/b154e3e8d5fbebc9f8beae928da87717e43f27cfa4cb32a4af3b59c43be40e8b @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "CRAC", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_M1_2_MPR1240_CRAH_01" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b18fe42d81203e5b665b330ed1d67e9798be2165bde7b5f7a8723d19b2961715 b/Gateways/FE/projects/.resources/b18fe42d81203e5b665b330ed1d67e9798be2165bde7b5f7a8723d19b2961715 new file mode 100644 index 0000000..312e195 Binary files /dev/null and b/Gateways/FE/projects/.resources/b18fe42d81203e5b665b330ed1d67e9798be2165bde7b5f7a8723d19b2961715 differ diff --git a/Gateways/FE/projects/.resources/b1fa235660347e89be239a4e0b0358d351bcd9446a5cb77d5b8fcd6b7b90f8d8 b/Gateways/FE/projects/.resources/b1fa235660347e89be239a4e0b0358d351bcd9446a5cb77d5b8fcd6b7b90f8d8 new file mode 100644 index 0000000..e06d7a9 --- /dev/null +++ b/Gateways/FE/projects/.resources/b1fa235660347e89be239a4e0b0358d351bcd9446a5cb77d5b8fcd6b7b90f8d8 @@ -0,0 +1,451 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [ + "Amps A", + "Amps B" + ], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Generator 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\t" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "measureOfTime": "minutes", + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 4, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 0, + 1731972414891 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "historical", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": { + "$": [ + "ts", + 0, + 1731972414891 + ], + "$ts": 1730879452730 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": { + "$": [ + "ts", + 0, + 1731972414891 + ], + "$ts": 1730733759000 + }, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972414891 + ], + "$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 + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b201ccea0466317d73dc16cf994483093254b5ce6e27babda5fe9b0f69e33a7f b/Gateways/FE/projects/.resources/b201ccea0466317d73dc16cf994483093254b5ce6e27babda5fe9b0f69e33a7f new file mode 100644 index 0000000..a11ab02 --- /dev/null +++ b/Gateways/FE/projects/.resources/b201ccea0466317d73dc16cf994483093254b5ce6e27babda5fe9b0f69e33a7f @@ -0,0 +1,227 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b215cd8de9a0f86a236c02b3a8d5b77c405516fb9d8dd451c91286406f9264a6 b/Gateways/FE/projects/.resources/b215cd8de9a0f86a236c02b3a8d5b77c405516fb9d8dd451c91286406f9264a6 new file mode 100644 index 0000000..09bea61 Binary files /dev/null and b/Gateways/FE/projects/.resources/b215cd8de9a0f86a236c02b3a8d5b77c405516fb9d8dd451c91286406f9264a6 differ diff --git a/Gateways/FE/projects/.resources/b2492a45a87f5ac37f8481f94be4e25ceafd754ecb49713b2ee98326f3f639e9 b/Gateways/FE/projects/.resources/b2492a45a87f5ac37f8481f94be4e25ceafd754ecb49713b2ee98326f3f639e9 new file mode 100644 index 0000000..278cdb3 --- /dev/null +++ b/Gateways/FE/projects/.resources/b2492a45a87f5ac37f8481f94be4e25ceafd754ecb49713b2ee98326f3f639e9 @@ -0,0 +1,448 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps G", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps N", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Average Phase Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- GFD", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- GFPU", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- INST", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- LTD", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- LTPU", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- Rating Plug Type", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- STD", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- STPU", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KVA", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KVAR", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KW Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total KWH", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Sag_Swell", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Waveform Capture", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b26e00431750c85c29cfdae432115156a01a03259ad73cc69525ab50a024c354 b/Gateways/FE/projects/.resources/b26e00431750c85c29cfdae432115156a01a03259ad73cc69525ab50a024c354 new file mode 100644 index 0000000..94ed3fe --- /dev/null +++ b/Gateways/FE/projects/.resources/b26e00431750c85c29cfdae432115156a01a03259ad73cc69525ab50a024c354 @@ -0,0 +1,2766 @@ +{ + "custom": { + "DH": 3, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 2, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P3.2", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "custom.ut_energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-2/Data/isEnergized" + }, + "type": "tag" + } + }, + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "this.custom.ut_energized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 0, + "breaker11": 0, + "breaker12": 0, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P3.2", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P3.2", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1156/SATB1_ER1156_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b2a2d0bf0158ec86d7295fef36d4d3df5bd93e7cd3ed5767159498f32b85aac7 b/Gateways/FE/projects/.resources/b2a2d0bf0158ec86d7295fef36d4d3df5bd93e7cd3ed5767159498f32b85aac7 new file mode 100644 index 0000000..683fe15 Binary files /dev/null and b/Gateways/FE/projects/.resources/b2a2d0bf0158ec86d7295fef36d4d3df5bd93e7cd3ed5767159498f32b85aac7 differ diff --git a/Gateways/FE/projects/.resources/b32135957463bbd8f39dd1da1063c60e9b684bb69f3643c7b42215ebbdce679f b/Gateways/FE/projects/.resources/b32135957463bbd8f39dd1da1063c60e9b684bb69f3643c7b42215ebbdce679f new file mode 100644 index 0000000..a5ed890 Binary files /dev/null and b/Gateways/FE/projects/.resources/b32135957463bbd8f39dd1da1063c60e9b684bb69f3643c7b42215ebbdce679f differ diff --git a/Gateways/FE/projects/.resources/b35b54f431153ae713c0de11c6f43e989872f166be9818f732e961d6453fa478 b/Gateways/FE/projects/.resources/b35b54f431153ae713c0de11c6f43e989872f166be9818f732e961d6453fa478 new file mode 100644 index 0000000..87e3777 --- /dev/null +++ b/Gateways/FE/projects/.resources/b35b54f431153ae713c0de11c6f43e989872f166be9818f732e961d6453fa478 @@ -0,0 +1,233 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "AC Amps Avg", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "AC Amps Line 1", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "AC Amps Line 2", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "AC Amps Line 3", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Suction Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "System Pressure", + "options": [] + }, + { + "dataType": "Bool", + "displaySelection": 1, + "format": 0, + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Emergency Power Available", + "options": [ + "Not Available", + "Available" + ] + }, + { + "dataType": "Bool", + "displaySelection": 1, + "format": 0, + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Normal Power Available", + "options": [ + "Not Available", + "Available" + ] + }, + { + "dataType": "Bool", + "displaySelection": 1, + "format": 0, + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Transfer Switch Emergency", + "options": [ + "Not Active", + "Active" + ] + }, + { + "dataType": "Bool", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Transfer Switch Normal", + "options": [ + "Not Active", + "Active" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]RM1141/SATB1_RM1141_PMP_01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b35b991d6540d4e74c26f8b1ac4e5897f1fb0b95d9f152359d170e933e7111f4 b/Gateways/FE/projects/.resources/b35b991d6540d4e74c26f8b1ac4e5897f1fb0b95d9f152359d170e933e7111f4 new file mode 100644 index 0000000..e5e8bfa --- /dev/null +++ b/Gateways/FE/projects/.resources/b35b991d6540d4e74c26f8b1ac4e5897f1fb0b95d9f152359d170e933e7111f4 @@ -0,0 +1,8 @@ +{ + "base": { + "style": { + "paddingLeft": "8px", + "paddingRight": "8px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b362bc6cbc9c8618b0765711c7f89e0078424bed81a268f5f6a111ad98b91347 b/Gateways/FE/projects/.resources/b362bc6cbc9c8618b0765711c7f89e0078424bed81a268f5f6a111ad98b91347 new file mode 100644 index 0000000..8456915 Binary files /dev/null and b/Gateways/FE/projects/.resources/b362bc6cbc9c8618b0765711c7f89e0078424bed81a268f5f6a111ad98b91347 differ diff --git a/Gateways/FE/projects/.resources/b36fa61f7f876810366b2926edb31594120331c99487369ca94134312336e7e6 b/Gateways/FE/projects/.resources/b36fa61f7f876810366b2926edb31594120331c99487369ca94134312336e7e6 new file mode 100644 index 0000000..76248e3 --- /dev/null +++ b/Gateways/FE/projects/.resources/b36fa61f7f876810366b2926edb31594120331c99487369ca94134312336e7e6 @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/DS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b3b297298dbfc4c43f2ddb8b97522e7d53b2d6bdea625d74cc0902871e45fb76 b/Gateways/FE/projects/.resources/b3b297298dbfc4c43f2ddb8b97522e7d53b2d6bdea625d74cc0902871e45fb76 new file mode 100644 index 0000000..68cbb3e --- /dev/null +++ b/Gateways/FE/projects/.resources/b3b297298dbfc4c43f2ddb8b97522e7d53b2d6bdea625d74cc0902871e45fb76 @@ -0,0 +1,2967 @@ +{ + "custom": { + "in1": 0, + "in2": 0 + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower_1": 1, + "inputPower_2": 1, + "pageId": "", + "textColor": "var(--olGray)" + }, + "propConfig": { + "custom.in1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A/SEL_Main/Voltage Average Phase" + }, + "transforms": [ + { + "code": "\tif value \u003e 1:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.in2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/SEL_Main/Voltage Average Phase" + }, + "transforms": [ + { + "code": "\tif value \u003e 1:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower_1": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower_2": { + "paramDirection": "input", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 850, + "width": 1607 + } + }, + "root": { + "children": [ + { + "custom": { + "DS1_": "value" + }, + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "material/accessibility", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "menu-item", + "type": "method" + } + ] + }, + "name": "SES_Cables" + }, + "position": { + "height": 850, + "width": 1250, + "x": 146, + "y": -23 + }, + "propConfig": { + "custom.DS1A_Out3": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1/Breaker Closed Way 03}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS1A_Out4": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1/Breaker Closed Way 04}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS1B_Out3": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B1/Breaker Closed Way 03}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B1/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS1B_Out4": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B1/Breaker Closed Way 04}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B1/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS2A_Out3": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2/Breaker Closed Way 03}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS2A_Out4": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2/Breaker Closed Way 04}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS2B_Out3": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B2/Breaker Closed Way 03}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B2/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS2B_Out4": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B2/Breaker Closed Way 04}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B2/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS3A_Out3": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3/Breaker Closed Way 03}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS3A_Out4": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3/Breaker Closed Way 04}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS3B_Out3": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B3/Breaker Closed Way 03}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B3/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS3B_Out4": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B3/Breaker Closed Way 04}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B3/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.cableDS1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1A_W2_to_DS1B_W2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.cableDS2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS2A_W2_to_DS2B_W2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.cableDS3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3A_W2_to_DS3B_W2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1B_Out4" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1B_Out4" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1B_Out4" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1B_Out4" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[10].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS2" + }, + "type": "property" + } + }, + "props.elements[10].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS2" + }, + "type": "property" + } + }, + "props.elements[10].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS2" + }, + "type": "property" + } + }, + "props.elements[11].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS1" + }, + "type": "property" + } + }, + "props.elements[11].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS1" + }, + "type": "property" + } + }, + "props.elements[11].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS1" + }, + "type": "property" + } + }, + "props.elements[12].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SES-1A.props.params.outputPower_2" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[12].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SES-1A.props.params.outputPower_1" + }, + "transforms": [ + { + "fallback": "#AAAAAA", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[12].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SES-1A.props.params.outputPower_3" + }, + "transforms": [ + { + "fallback": "#AAAAAA", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2B_Out3" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2B_Out4" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2B_Out3" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2B_Out4" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3B_Out3" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3B_Out4" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3B_Out3" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3B_Out4" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1A_Out3" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1A_Out3" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1A_Out3" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1A_Out3" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2A_Out4" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2A_Out3" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2A_Out3" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2A_Out4" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3A_Out3" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3A_Out3" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3A_Out3" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3A_Out4" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.width": { + "binding": { + "config": { + "expression": "concat(({view.props.defaultSize.width}*0.0008),\u0027px\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SES-1B.props.params.outputPower_1" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SES-1B.props.params.outputPower_3" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SES-1B.props.params.outputPower_2" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS3" + }, + "type": "property" + } + }, + "props.elements[9].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS3" + }, + "type": "property" + } + }, + "props.elements[9].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS3" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M741.007,576.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M786.007,576.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M738.75,577.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M783.75,577.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,746.114,584.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "736.621px 738.008px ", + "y": "584.283px 584.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-M6", + "type": "text", + "x": "731.297px", + "y": "584.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,791.114,584.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "781.621px 783.008px ", + "y": "584.283px 584.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-M8", + "type": "text", + "x": "776.297px", + "y": "584.283px" + } + ], + "id": "DS-1B1", + "name": "DS-1B1", + "type": "group" + }, + { + "elements": [ + { + "d": "M651.007,426.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M696.007,426.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M648.75,427.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.67px" + }, + "type": "path" + }, + { + "d": "M693.75,427.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.67px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,656.114,434.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "646.621px 648.008px ", + "y": "434.283px 434.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-P3.5", + "type": "text", + "x": "641.297px", + "y": "434.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,701.114,434.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "691.621px 693.008px ", + "y": "434.283px 434.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-P2.5", + "type": "text", + "x": "686.297px", + "y": "434.283px" + } + ], + "id": "DS-1B2", + "name": "DS-1B2", + "type": "group" + }, + { + "elements": [ + { + "d": "M561.007,276.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M606.007,276.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M558.75,277.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M603.75,277.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,566.114,284.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "556.621px 558.008px ", + "y": "284.283px 284.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-P5.5", + "type": "text", + "x": "551.297px", + "y": "284.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,611.114,284.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "601.621px 603.008px ", + "y": "284.283px 284.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-HS2", + "type": "text", + "x": "596.297px", + "y": "284.283px" + } + ], + "id": "DS-1B3", + "name": "DS-1B3", + "type": "group" + }, + { + "elements": [ + { + "d": "M111.007,576.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M156.007,576.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M153.75,577.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M108.75,577.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,116.198,584.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "106.705px 108.093px ", + "y": "584.283px 584.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-HS1", + "type": "text", + "x": "101.381px", + "y": "584.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,161.114,584.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "151.621px 153.008px ", + "y": "584.283px 584.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-M1", + "type": "text", + "x": "146.297px", + "y": "584.283px" + } + ], + "id": "DS-1A1", + "name": "DS-1A1", + "type": "group" + }, + { + "elements": [ + { + "d": "M201.007,426.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M246.007,426.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M243.75,427.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M198.75,427.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,206.114,434.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "196.621px 198.008px ", + "y": "434.283px 434.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-P2.1", + "type": "text", + "x": "191.297px", + "y": "434.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,251.114,434.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "241.621px 243.008px ", + "y": "434.283px 434.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-P3.1", + "type": "text", + "x": "236.297px", + "y": "434.283px" + } + ], + "id": "DS-1A2", + "name": "DS-1A2", + "type": "group" + }, + { + "elements": [ + { + "d": "M291.007,276.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M336.007,276.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M333.75,277.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M288.75,277.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,296.114,284.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "292px", + "y": "284.283px 284.283px " + } + ], + "name": "text", + "style": { + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-P4.1", + "type": "text", + "x": "281px", + "y": "284.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,341.114,284.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "338px ", + "y": "284.283px 284.283px " + } + ], + "name": "text", + "style": { + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-P5.1", + "type": "text", + "x": "326.297px", + "y": "284.283px" + } + ], + "id": "DS-1A3", + "name": "DS-1A3", + "type": "group" + }, + { + "elements": [ + { + "d": "M78.741,28.523l-2.257,1.477l-2.256,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M76.484,30l0,49.523", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,101.224,22.7072)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "65.423px 68.123px 70.668px ", + "y": "22.707px 22.707px 22.707px " + }, + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "94.51px 95.898px ", + "y": "22.707px 22.707px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "SUBSTATION XFMR T-1A", + "type": "text", + "x": "51.611px", + "y": "22.707px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,99.0928,26.4572)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "79.639px 82.418px ", + "y": "26.457px 26.457px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "(60/80/100MVA, 34.5kV)", + "type": "text", + "x": "53.774px", + "y": "26.457px" + } + ], + "id": "SRC-01", + "name": "SRC-01", + "type": "group" + }, + { + "elements": [ + { + "d": "M573.73,28.523l-2.257,1.477l-2.256,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M571.473,30l0,49.523", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,596.213,22.7072)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "560.411px 563.111px 565.656px ", + "y": "22.707px 22.707px 22.707px " + }, + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "589.499px 590.886px ", + "y": "22.707px 22.707px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "SUBSTATION XFMR T-1B", + "type": "text", + "x": "546.599px", + "y": "22.707px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,594.081,26.4572)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "574.628px 577.407px ", + "y": "26.457px 26.457px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "(60/80/100MVA, 34.5kV)", + "type": "text", + "x": "548.763px", + "y": "26.457px" + } + ], + "id": "SRC-02", + "name": "SRC-02", + "type": "group" + }, + { + "elements": [ + { + "d": "M603.75,134.25l-0,58.327", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "round", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M783.75,492.386l0,-358.136", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.67px" + }, + "type": "path" + }, + { + "d": "M693.75,342.99l0,-208.74", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + } + ], + "id": "SES-1B", + "name": "SES-1B", + "type": "group" + }, + { + "elements": [ + { + "d": "M333.75,192.577l0,-27.577", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M558.75,165l-225,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M558.75,192.577l0,-27.577", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + } + ], + "id": "DS-1A3-1B3", + "name": "DS-1A3-1B3", + "type": "group" + }, + { + "elements": [ + { + "d": "M243.75,342.577l0,-27.577", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M648.75,342.99l0,-27.99", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M648.75,315l-405,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + } + ], + "id": "DS-1A2-1B2", + "name": "DS-1A2-1B2", + "type": "group" + }, + { + "elements": [ + { + "d": "M153.75,492.386l0,-27.386", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M738.75,465l-585,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M738.75,492.386l0,-27.386", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + } + ], + "id": "DS-1A1-1B1", + "name": "DS-1A1-1B1", + "type": "group" + }, + { + "elements": [ + { + "d": "M198.75,342.577l0,-208.327", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M108.75,492.386l0,-358.136", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M288.75,192.577l0,-58.327", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + } + ], + "id": "SES-1A", + "name": "SES-1A", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 938 638" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "SES-1A" + }, + "position": { + "height": 111, + "width": 479, + "x": 201, + "y": 62 + }, + "propConfig": { + "props.params.boxColor": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.params.textColor": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "inputPower": 1, + "objectName": "SEL-735", + "outputPower_1": 0, + "outputPower_2": 0, + "outputPower_3": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A" + }, + "path": "Library/Symbols/Electrical/Sym_SES" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SES-1B" + }, + "position": { + "height": 111, + "width": 479, + "x": 861, + "y": 62 + }, + "propConfig": { + "props.params.boxColor": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.params.textColor": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "inputPower": 1, + "objectName": "SEL-735", + "outputPower_1": 0, + "outputPower_2": 0, + "outputPower_3": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B" + }, + "path": "Library/Symbols/Electrical/Sym_SES" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DS" + }, + "position": { + "height": 110, + "width": 160, + "x": 501, + "y": 212 + }, + "propConfig": { + "props.params.textHandler.text1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3", + "textColor": "var(--olGray)", + "textHandler": { + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "path": "Library/Symbols/Electrical/Sym_DS_A", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DS_0" + }, + "position": { + "height": 110, + "width": 160, + "x": 381, + "y": 412 + }, + "propConfig": { + "props.params.inputPower_1": { + "binding": { + "config": { + "path": "../SES-1A.props.params.outputPower_2" + }, + "type": "property" + } + }, + "props.params.inputPower_2": { + "binding": { + "config": { + "struct": { + "InputDS": "{../DS_3.props.params.inputPower_2}\u0026\u0026tag(tostr({../DS_3.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))\u0026\u0026tag(tostr({../DS_3.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))", + "Way1_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))", + "Way2_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))", + "inputPower_1": "{this.props.params.inputPower_1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tinputPower_1 \u003d value.inputPower_1\n\tWay1_Closed \u003d value.Way1_Closed\n\tWay2_Closed \u003d value.Way2_Closed\n\tInputDS \u003d value.InputDS\n\t\n\tif inputPower_1 and Way1_Closed and Way2_Closed:\n\t\treturn 1\n\telif InputDS:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.text1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2", + "textColor": "var(--olGray)", + "textHandler": { + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "path": "Library/Symbols/Electrical/Sym_DS_A", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DS_1" + }, + "position": { + "height": 110, + "width": 160, + "x": 261, + "y": 612 + }, + "propConfig": { + "props.params.inputPower_1": { + "binding": { + "config": { + "path": "../SES-1A.props.params.outputPower_1" + }, + "type": "property" + } + }, + "props.params.inputPower_2": { + "binding": { + "config": { + "struct": { + "InputDS": "{../DS_4.props.params.inputPower_1}\u0026\u0026tag(tostr({../DS_4.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))\u0026\u0026tag(tostr({../DS_4.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))", + "Way1_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))", + "Way2_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))", + "inputPower_1": "{this.props.params.inputPower_1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tinputPower_1 \u003d value.inputPower_1\n\tWay1_Closed \u003d value.Way1_Closed\n\tWay2_Closed \u003d value.Way2_Closed\n\tInputDS \u003d value.InputDS\n\t\n\tif inputPower_1 and Way1_Closed and Way2_Closed:\n\t\treturn 1\n\telif InputDS:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.text1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1", + "textColor": "var(--olGray)", + "textHandler": { + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "path": "Library/Symbols/Electrical/Sym_DS_A", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DS_2" + }, + "position": { + "height": 110, + "width": 160, + "x": 861, + "y": 212 + }, + "propConfig": { + "props.params.textHandler.text1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B3", + "tagPath_Cable": "[Ignition_Common_IO_Gtwy]Cables/DS_3", + "tagPath_FRD": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/SEL_FDR-1", + "textColor": "var(--olGray)", + "textHandler": { + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "path": "Library/Symbols/Electrical/Sym_DS_B", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DS_3" + }, + "position": { + "height": 110, + "width": 160, + "x": 981, + "y": 412 + }, + "propConfig": { + "props.params.inputPower_1": { + "binding": { + "config": { + "struct": { + "InputDS": "{../DS_0.props.params.inputPower_1}\u0026\u0026tag(tostr({../DS_0.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))\u0026\u0026tag(tostr({../DS_0.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))", + "Way1_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))", + "Way2_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))", + "inputPower_2": "{this.props.params.inputPower_2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tinputPower_2 \u003d value.inputPower_2\n\tWay1_Closed \u003d value.Way1_Closed\n\tWay2_Closed \u003d value.Way2_Closed\n\tInputDS \u003d value.InputDS\n\t\n\tif inputPower_2 and Way1_Closed and Way2_Closed:\n\t\treturn 1\n\telif InputDS:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.inputPower_2": { + "binding": { + "config": { + "path": "../SES-1B.props.params.outputPower_2" + }, + "type": "property" + } + }, + "props.params.textHandler.text1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B2", + "tagPath_Cable": "[Ignition_Common_IO_Gtwy]Cables/DS_2", + "tagPath_FRD": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/SEL_FDR-2", + "textColor": "var(--olGray)", + "textHandler": { + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "path": "Library/Symbols/Electrical/Sym_DS_B", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DS_4" + }, + "position": { + "height": 110, + "width": 160, + "x": 1101, + "y": 612 + }, + "propConfig": { + "props.params.inputPower_1": { + "binding": { + "config": { + "struct": { + "InputDS": "{../DS_1.props.params.inputPower_1}\u0026\u0026tag(tostr({../DS_1.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))\u0026\u0026tag(tostr({../DS_1.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))", + "Way1_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))", + "Way2_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))", + "inputPower_2": "{this.props.params.inputPower_2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tinputPower_2 \u003d value.inputPower_2\n\tWay1_Closed \u003d value.Way1_Closed\n\tWay2_Closed \u003d value.Way2_Closed\n\tInputDS \u003d value.InputDS\n\t\n\tif inputPower_2 and Way1_Closed and Way2_Closed:\n\t\treturn 1\n\telif InputDS:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.inputPower_2": { + "binding": { + "config": { + "path": "../SES-1B.props.params.outputPower_3" + }, + "type": "property" + } + }, + "props.params.textHandler.text1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B1", + "tagPath_Cable": "[Ignition_Common_IO_Gtwy]Cables/DS_1", + "tagPath_FRD": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/SEL_FDR-1", + "textColor": "var(--olGray)", + "textHandler": { + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "path": "Library/Symbols/Electrical/Sym_DS_B", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView", + "visible": false + }, + "position": { + "height": 41, + "width": 299, + "x": 590.83, + "y": 184 + }, + "props": { + "params": { + "L_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3", + "R_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B3", + "cable": false, + "path": "[Ignition_Common_IO_Gtwy]Cables/DS_3" + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/Cable Bidirect" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0", + "visible": false + }, + "position": { + "height": 41, + "width": 299, + "x": 582, + "y": 369 + }, + "props": { + "params": { + "L_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2", + "R_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B2", + "cable": false, + "path": "[Ignition_Common_IO_Gtwy]Cables/DS_2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/Cable Bidirect" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1", + "visible": false + }, + "position": { + "height": 41, + "width": 299, + "x": 583, + "y": 530 + }, + "props": { + "params": { + "L_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1", + "R_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B1", + "cable": false, + "path": "[Ignition_Common_IO_Gtwy]Cables/DS_1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/Cable Bidirect" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 186, + "rotate": { + "anchor": "50% 36%" + }, + "width": 262, + "x": 8.8203, + "y": 184.004 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A/PQM_Main", + "title": "SES 1A" + }, + "path": "Library/Widgets/Electrical/Wdt_Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 15, + "width": 55, + "x": 503.5, + "y": 349.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-P4.1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 15, + "width": 55, + "x": 563, + "y": 349.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-P5.1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 15, + "width": 55, + "x": 923.5, + "y": 349.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-HS2", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 15, + "width": 55, + "x": 863.5, + "y": 349.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-P5.5", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 15, + "width": 55, + "x": 383.234, + "y": 548.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-P2.1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 15, + "width": 55, + "x": 443.234, + "y": 548.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-P3.1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 15, + "width": 55, + "x": 983.49, + "y": 548.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-P3.5", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 15, + "width": 55, + "x": 1043.49, + "y": 548.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-P2.5", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_7" + }, + "position": { + "height": 15, + "width": 55, + "x": 320.71975, + "y": 748.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-M1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_8" + }, + "position": { + "height": 15, + "width": 55, + "x": 260.71975, + "y": 748.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-HS1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_9" + }, + "position": { + "height": 15, + "width": 55, + "x": 1100.22, + "y": 748.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-M6", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_10" + }, + "position": { + "height": 15, + "width": 55, + "x": 1160.22, + "y": 748.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-M8", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 186, + "rotate": { + "anchor": "50% 36%" + }, + "width": 262, + "x": 1212, + "y": 184 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/PQM_Main", + "title": "SES 1B" + }, + "path": "Library/Widgets/Electrical/Wdt_Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -50, + "y": -12.5 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b40de923afe19eea7271dc94c567440edec04d8115288f6aea16ff217b928f7e b/Gateways/FE/projects/.resources/b40de923afe19eea7271dc94c567440edec04d8115288f6aea16ff217b928f7e new file mode 100644 index 0000000..67dcc89 --- /dev/null +++ b/Gateways/FE/projects/.resources/b40de923afe19eea7271dc94c567440edec04d8115288f6aea16ff217b928f7e @@ -0,0 +1,2336 @@ +{ + "custom": { + "pageName": "P1.4" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1261", + "IO1": "[Ignition_SATB1_IO1_default]", + "Room": "ER1245", + "boxColor": "var(--olGray)", + "inputPower1": 0, + "inputPower2": 0, + "pageId": "", + "pageName": "P1-4", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-3_to_UT-P1-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-4_to_UT-P1-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P1-4", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-4" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO1_default]ER1245/SWBD/SATB1_ER1245_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 1, + "Gallery": "GAL1261", + "Gateway": "[Ignition_SATB1_IO1_default]", + "Linuep": 4 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1136, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1016, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b43d2c74ed65437028a7c568f94efe7b9845dc5af4d4226b9b3ac9646072adbe b/Gateways/FE/projects/.resources/b43d2c74ed65437028a7c568f94efe7b9845dc5af4d4226b9b3ac9646072adbe new file mode 100644 index 0000000..fb196f3 Binary files /dev/null and b/Gateways/FE/projects/.resources/b43d2c74ed65437028a7c568f94efe7b9845dc5af4d4226b9b3ac9646072adbe differ diff --git a/Gateways/FE/projects/.resources/b49041de48da18ce1e61008e3e2b529ba77f99c22be2804efd4e951cdf3cbc56 b/Gateways/FE/projects/.resources/b49041de48da18ce1e61008e3e2b529ba77f99c22be2804efd4e951cdf3cbc56 new file mode 100644 index 0000000..e966743 --- /dev/null +++ b/Gateways/FE/projects/.resources/b49041de48da18ce1e61008e3e2b529ba77f99c22be2804efd4e951cdf3cbc56 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/DOAS1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947830409 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947830409 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b4978c7df3707ce64cfb0853704ac9eb1e85f2b4fd003a3af5c2b65a9004d8ce b/Gateways/FE/projects/.resources/b4978c7df3707ce64cfb0853704ac9eb1e85f2b4fd003a3af5c2b65a9004d8ce new file mode 100644 index 0000000..9c0d7c0 --- /dev/null +++ b/Gateways/FE/projects/.resources/b4978c7df3707ce64cfb0853704ac9eb1e85f2b4fd003a3af5c2b65a9004d8ce @@ -0,0 +1 @@ +def doPut(request, session): diff --git a/Gateways/FE/projects/.resources/b4c9e89b5aba49e91deedc28891e82013a59143bd70d66ec2e1456764c2de410 b/Gateways/FE/projects/.resources/b4c9e89b5aba49e91deedc28891e82013a59143bd70d66ec2e1456764c2de410 new file mode 100644 index 0000000..910a288 --- /dev/null +++ b/Gateways/FE/projects/.resources/b4c9e89b5aba49e91deedc28891e82013a59143bd70d66ec2e1456764c2de410 @@ -0,0 +1,1565 @@ +{ + "custom": { + "AlarmSeverity": 0, + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "embedded": false, + "objectName": "RTU-1", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 500 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "RTU" + }, + "position": { + "height": 500, + "width": 800 + }, + "propConfig": { + "props.elements[0].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[6].elements[10].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[10].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M2153.45,1795.27l192.532,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2345.98,1795.27l38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2345.98,1795.27l38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M206.215,1793.39l166.097,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M206.215,1793.39l38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M206.215,1793.39l38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M3758.85,107.845l85.586,125.272l-85.586,125.272l-2062.52,0l0,1307.41l539.296,0l-83.154,129.615c27.718,43.569 55.436,86.045 83.154,129.614l-1781.25,0l-82.06,-129.614l82.06,-129.615l981.513,0l0,-1307.41l-427.621,0l84.854,-125.272l-84.854,-125.272l2750.59,-0Z", + "fill": { + "paint": "var(--containerNested)" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M4234.1,233.117l-389.655,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4234.1,233.117l-38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4234.1,233.117l-38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1090.11,233.117l-358.583,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M731.529,233.117l-38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M731.529,233.117l-38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "RTU-Box", + "name": "RTU-Box", + "type": "group" + }, + { + "fill": { + "paint": "#ebebeb" + }, + "height": "250.544", + "id": "Filter", + "name": "Filter", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "1905.73", + "y": "107.845" + }, + { + "fill": { + "paint": "#ebebeb" + }, + "height": "250.544", + "id": "DX-Cooling-Coil", + "name": "DX-Cooling-Coil", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "2278.92", + "y": "107.917" + }, + { + "fill": { + "paint": "#ebebeb" + }, + "height": "250.544", + "id": "Hot-Gas-Reheater", + "name": "Hot-Gas-Reheater", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "2660.05", + "y": "107.917" + }, + { + "d": "M1836.36,1786.87c0,63.24 51.343,114.583 114.583,114.583c63.241,0 114.584,-51.343 114.584,-114.583c-0,-63.24 -51.343,-114.583 -114.584,-114.583l-174.265,-0l-0,114.583l59.682,-0Z", + "fill": { + "paint": "#f0f0f0" + }, + "id": "Return-Fan", + "name": "Return-Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3308.72,225.947c-0,63.24 -51.343,114.583 -114.583,114.583c-63.241,0 -114.584,-51.343 -114.584,-114.583c0,-63.24 51.343,-114.583 114.584,-114.583l174.265,-0l0,114.583l-59.682,0Z", + "fill": { + "paint": "#f0f0f0" + }, + "id": "Supply-Fan", + "name": "Supply-Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1217.76,73.6111)", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,189.313,1778.31)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Relief", + "type": "text", + "x": "61.481px", + "y": "1778.32px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "95.356px", + "y": "1828.32px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,670.636,222.75)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Outside", + "type": "text", + "x": "498.322px", + "y": "222.75px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "553.222px", + "y": "272.75px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2539.51,1787.89)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Return", + "type": "text", + "x": "2389.44px", + "y": "1787.89px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "2432.27px", + "y": "1837.89px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,778.081,1595.19)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Gravity", + "type": "text", + "x": "619.731px", + "y": "1595.19px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Damper", + "type": "text", + "x": "622.581px", + "y": "1645.19px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1901.74,730.379)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Return", + "type": "text", + "x": "1751.66px", + "y": "730.379px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "1754.51px", + "y": "780.379px" + } + ], + "name": "group", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,2058.54,250.74)", + "type": "group" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Filter", + "type": "text", + "x": "1947.43px", + "y": "250.74px" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2845.5,229.889)", + "type": "group" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Cooling", + "type": "text", + "x": "2675.95px", + "y": "229.889px" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Coil", + "type": "text", + "x": "2717.02px", + "y": "279.544px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2460.68,231.269)", + "type": "group" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Electric", + "type": "text", + "x": "2296.76px", + "y": "231.269px" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Heat", + "type": "text", + "x": "2323.57px", + "y": "280.924px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,4383.68,223.2)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Supply", + "type": "text", + "x": "4230.8px", + "y": "223.2px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "4273.62px", + "y": "272.75px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,3245.87,210.25)", + "type": "group" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "3159.72px", + "y": "210.25px" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(SF)", + "type": "text", + "x": "3155.54px", + "y": "260.9px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1992.64,1765.81)", + "type": "group" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "1906.49px", + "y": "1765.82px" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(RF)", + "type": "text", + "x": "1902.31px", + "y": "1816.47px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#ebebeb" + }, + "height": "86.594", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "254.279", + "x": "1439.45", + "y": "539.453" + }, + { + "d": "M1439.45,582.75l254.279,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1566.6,539.453l63.569,86.593l63.57,-86.593", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1439.45,539.453l63.57,86.593l63.57,-86.593", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Return-Damper", + "name": "Return-Damper", + "type": "group" + }, + { + "elements": [ + { + "d": "M1306.88,354.878l-86.593,0l-0,-243.075l86.593,-0l0,243.075Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1263.58,111.803l-0,243.075", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1306.88,233.34l-86.593,60.769l86.593,60.769", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1306.88,111.803l-86.593,60.769l86.593,60.768", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Outside-Damper", + "name": "Outside-Damper", + "type": "group" + }, + { + "elements": [ + { + "d": "M757.675,1921.04l-86.593,-0l-0,-251.181l86.593,-0l0,251.181Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M714.379,1669.86l-0,251.181", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M757.675,1795.45l-86.593,62.796l86.593,62.795", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M757.675,1669.86l-86.593,62.795l86.593,62.795", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Gravity-Damper", + "name": "Gravity-Damper", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4388 1959" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Transmitter_3" + }, + "position": { + "height": 20, + "width": 100, + "x": 67.5, + "y": 37 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 79.1 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_4" + }, + "position": { + "height": 20, + "width": 100, + "x": 67.5, + "y": 60 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Humidity" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%RH", + "EU_Pos": 0, + "Size": 12, + "Value": 29.1 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_5" + }, + "position": { + "height": 20, + "width": 100, + "x": 688.5, + "y": 133 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 69.9 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_9" + }, + "position": { + "height": 20, + "width": 100, + "x": 311, + "y": 239 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 62.4 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_10" + }, + "position": { + "height": 20, + "width": 100, + "x": 311, + "y": 263 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Humidity" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%RH", + "EU_Pos": 0, + "Size": 12, + "Value": 63.8 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_6" + }, + "position": { + "height": 20, + "width": 100, + "x": 67.5, + "y": 83 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Flow" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "cfm", + "EU_Pos": 0, + "Size": 12, + "Value": 1940 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "rotate": { + "anchor": "50% 25%" + }, + "width": 82, + "x": 323, + "y": 55 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Dirty Filter Alarm" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Filter Good" + }, + { + "input": true, + "output": "Filter Bad" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Filter Good", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 50, + "x": 204, + "y": 47 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "RTU01" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "height": 353, + "width": 640, + "x": 68, + "y": 86 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 35, + "width": 39, + "x": 690.5, + "y": 63 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 425.5, + "y": 30.984375 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b4d03d0111d280e84663fc964e2e62acb98b4db00f92eba1c011f0dcc5ee1bd6 b/Gateways/FE/projects/.resources/b4d03d0111d280e84663fc964e2e62acb98b4db00f92eba1c011f0dcc5ee1bd6 new file mode 100644 index 0000000..4476479 --- /dev/null +++ b/Gateways/FE/projects/.resources/b4d03d0111d280e84663fc964e2e62acb98b4db00f92eba1c011f0dcc5ee1bd6 @@ -0,0 +1,271 @@ +{ + "custom": {}, + "params": { + "TagId": "value" + }, + "propConfig": { + "params.TagId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 234, + "width": 417 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.TagId" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 18, + "fontWeight": "bold", + "paddingLeft": 15 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Gauge", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "244px" + }, + "props": { + "backgroundColor": "", + "innerAxis": { + "data": "secondaryValue", + "maxValue": 80, + "percentRadius": 85, + "show": false, + "width": 1 + }, + "outerAxis": { + "data": "value", + "maxValue": 120, + "percentRadius": 80, + "ranges": [ + { + "color": "#77B6D8", + "end": 80, + "start": 0, + "width": 8 + }, + { + "color": "#6E94D7", + "end": 105, + "start": 80, + "width": 12 + }, + { + "color": "#7A6BD5", + "end": 120, + "start": 105, + "width": 16 + } + ], + "show": true, + "width": 1 + } + }, + "type": "ia.chart.gauge" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "backgroundColor": "white", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginTop": 2 + }, + "text": "Main CB Closed", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "backgroundColor": "white", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginTop": 2 + }, + "text": "CB 01 Closed", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "backgroundColor": "white", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginTop": 2 + }, + "text": "CB 02 Closed", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "backgroundColor": "white", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginTop": 2 + }, + "text": "CB 03 Closed", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "backgroundColor": "white", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginTop": 2 + }, + "text": "CB 04 Closed", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "135px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "195px" + }, + "props": { + "justify": "space-evenly", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "#E3E3E3", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3, + "marginBottom": 10, + "marginLeft": 10, + "marginRight": 10, + "marginTop": 10, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b4f302fa10c4b58cd0de6be87986ae4d6a48771934e990c5a643db8116e53b51 b/Gateways/FE/projects/.resources/b4f302fa10c4b58cd0de6be87986ae4d6a48771934e990c5a643db8116e53b51 new file mode 100644 index 0000000..ffcd78d Binary files /dev/null and b/Gateways/FE/projects/.resources/b4f302fa10c4b58cd0de6be87986ae4d6a48771934e990c5a643db8116e53b51 differ diff --git a/Gateways/FE/projects/.resources/b5611381b975d81732589792c239c2d9494f405be8b39d4aae46c469ef8b03d1 b/Gateways/FE/projects/.resources/b5611381b975d81732589792c239c2d9494f405be8b39d4aae46c469ef8b03d1 new file mode 100644 index 0000000..dc3f948 Binary files /dev/null and b/Gateways/FE/projects/.resources/b5611381b975d81732589792c239c2d9494f405be8b39d4aae46c469ef8b03d1 differ diff --git a/Gateways/FE/projects/.resources/b5f570d0667fb16ce5956ef08a909c95e263f1db7d9e8a1c29db9b1abd88e019 b/Gateways/FE/projects/.resources/b5f570d0667fb16ce5956ef08a909c95e263f1db7d9e8a1c29db9b1abd88e019 new file mode 100644 index 0000000..ce16137 Binary files /dev/null and b/Gateways/FE/projects/.resources/b5f570d0667fb16ce5956ef08a909c95e263f1db7d9e8a1c29db9b1abd88e019 differ diff --git a/Gateways/FE/projects/.resources/b61254a82ae959a6a41da8d7d2aaba9295b4b2589743c63c8ea9c57693941f34 b/Gateways/FE/projects/.resources/b61254a82ae959a6a41da8d7d2aaba9295b4b2589743c63c8ea9c57693941f34 new file mode 100644 index 0000000..5ab6e4c --- /dev/null +++ b/Gateways/FE/projects/.resources/b61254a82ae959a6a41da8d7d2aaba9295b4b2589743c63c8ea9c57693941f34 @@ -0,0 +1,238 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "CommPercentage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Equipment Count", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Speed Command", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Speed Feedback", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Speed Feedback RPM", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Status HOA", + "options": [ + "Local", + "Remote" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "options": [ + "Not Available", + "Available" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Not Running", + "Running" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b6291a1e8c78da961874cdd4a1f73a64df281a152f67f76514e042d827111ec6 b/Gateways/FE/projects/.resources/b6291a1e8c78da961874cdd4a1f73a64df281a152f67f76514e042d827111ec6 new file mode 100644 index 0000000..45b53a6 --- /dev/null +++ b/Gateways/FE/projects/.resources/b6291a1e8c78da961874cdd4a1f73a64df281a152f67f76514e042d827111ec6 @@ -0,0 +1,5183 @@ +{ + "custom": { + "ColorHandler": { + "Walls": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "ER1242": "#BAEDFF", + "ER1243": "#BAEDFF", + "ER1244": "#BAEDFF", + "ER1245": "#BAEDFF", + "ER1246": "#BAEDFF", + "ER1248": "#BAEDFF", + "ER1249": "#BAEDFF", + "ER1250": "#BAEDFF", + "ER1251": "#BAEDFF", + "ER1252": "#BAEDFF", + "ER1254": "#BAEDFF", + "ER1255": "#BAEDFF", + "ER1256": "#BAEDFF", + "ER1257": "#BAEDFF", + "ER1258": "#BAEDFF", + "IDF1263": "#BAEDFF", + "IDF1273": "#BAEDFF", + "MPR1240": "#FFBABD", + "MPR1241": "#BAEDFF", + "MPR1247": "#BAEDFF", + "MR1253": "#BAEDFF" + }, + "rooms": [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246", + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252", + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258", + "MPR1240", + "MPR1241", + "MPR1247", + "MR1253", + "IDF1263", + "IDF1273" + ], + "selected": "MPR1240" + }, + "params": {}, + "propConfig": { + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.rooms}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\toutput[room] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Second Floor" + }, + "position": { + "height": "100%", + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1273" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1263" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1257" + }, + "type": "property" + } + }, + "props.elements[4].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1248" + }, + "type": "property" + } + }, + "props.elements[4].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MPR1247" + }, + "type": "property" + } + }, + "props.elements[4].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1246" + }, + "type": "property" + } + }, + "props.elements[4].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1245" + }, + "type": "property" + } + }, + "props.elements[4].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1244" + }, + "type": "property" + } + }, + "props.elements[4].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1243" + }, + "type": "property" + } + }, + "props.elements[4].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1242" + }, + "type": "property" + } + }, + "props.elements[4].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MPR1241" + }, + "type": "property" + } + }, + "props.elements[4].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MPR1240" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1258" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1256" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1255" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1254" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MR1253" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1252" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1251" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1250" + }, + "type": "property" + } + }, + "props.elements[4].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1249" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[128].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[129].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[130].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[131].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[132].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[133].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[134].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[135].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[136].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[137].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[138].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[139].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[140].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[141].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[142].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[143].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[144].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "51.095", + "id": "_1284-ELEC", + "name": "_1284-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.57" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "159", + "id": "_1285-FIRE---PLBG", + "name": "_1285-FIRE---PLBG", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "459" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.959", + "id": "_1286-STREAM-IDF", + "name": "_1286-STREAM-IDF", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "48.401", + "id": "_1287-ELEC", + "name": "_1287-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "715.959" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "413.89", + "id": "_1288-ANCILLARY-SPACE", + "name": "_1288-ANCILLARY-SPACE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "764.36" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "74.162", + "id": "_1290-STAIRS-C", + "name": "_1290-STAIRS-C", + "type": "rect", + "width": "203.609", + "x": "1515.79", + "y": "1178.24" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.034", + "id": "_1298-STAIRS-B", + "name": "_1298-STAIRS-B", + "type": "rect", + "width": "203.488", + "x": "3802.63", + "y": "1178.22" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "204.973", + "id": "_1283-STAIRS-D", + "name": "_1283-STAIRS-D", + "type": "rect", + "width": "85", + "x": "3.128", + "y": "359.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-2-CORRIDOR-D-2", + "name": "_1293-2-CORRIDOR-D-2", + "type": "rect", + "width": "1565.25", + "x": "88.378", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297-2-CORRIDOR-H-2", + "name": "_1297-2-CORRIDOR-H-2", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-CORRIDOR-D-1", + "name": "_1293-CORRIDOR-D-1", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.652", + "id": "_1297-1-CORRIDOR-H-1", + "name": "_1297-1-CORRIDOR-H-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "1134.59" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-1-CORRIDOR-C-1", + "name": "_1293-1-CORRIDOR-C-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "170.5" + }, + { + "d": "M2894.63,1135l165.5,0l0,-119.139l-89.5,0.035l2.66,-626.222l86.84,-0.439l0,-46.294l-84.5,0.05l0.136,-107.491l-81.136,-0l0,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1294-CORRIDOR-E", + "name": "_1294-CORRIDOR-E", + "type": "path" + }, + { + "d": "M183.628,1135l63.25,0l0,-792.225l-84.75,0l0,-107.275l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1296-CORRIDOR-G", + "name": "_1296-CORRIDOR-G", + "type": "path" + }, + { + "d": "M4372.13,641.334l0,94.166l105.352,0l-0,-27.647l107.148,-0l0,-66.519l-99.279,0.357l0.16,-34.158l-74.688,-0.533l-0,34.334l-38.693,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1290-CORRIDOR-A", + "name": "_1290-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.084", + "id": "_1291-CORRIDOR-B", + "name": "_1291-CORRIDOR-B", + "type": "rect", + "width": "64.5", + "x": "4307.63", + "y": "235.5" + }, + { + "d": "M1488.64,1135l164.992,0l0,-120.965l-89.5,0l0,-626.5l89.5,0l0,-44.535l-84.25,-0.059l-0.189,-107.441l-80.561,-0l0.008,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1295-CORRIDOR-F", + "name": "_1295-CORRIDOR-F", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297--1-CORRIDOR-H-1", + "name": "_1297--1-CORRIDOR-H-1", + "type": "rect", + "width": "1469.5", + "x": "184.128", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1223-STAIRS-A", + "name": "_1223-STAIRS-A", + "type": "rect", + "width": "58.258", + "x": "4477.13", + "y": "707.853" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "50", + "x": "4373.13", + "y": "735.5" + } + ], + "id": "Corridors-and-Stairs", + "name": "Corridors-and-Stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.24", + "id": "_1274-STREAM-IDF", + "name": "_1274-STREAM-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "948.76" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "561.225", + "id": "_1273-TENANT-IDF", + "name": "_1273-TENANT-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "387.535" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1271-GALLERY", + "name": "_1271-GALLERY", + "type": "rect", + "width": "1325.56", + "x": "1569.06", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1272-GALLERY", + "name": "_1272-GALLERY", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.245", + "id": "_1270-DATA-HALL-2", + "name": "_1270-DATA-HALL-2", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "342.941" + } + ], + "id": "DH2", + "name": "DH2", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "66.58", + "id": "_1264-STREAM-IDF", + "name": "_1264-STREAM-IDF", + "type": "rect", + "width": "88.5", + "x": "2971.13", + "y": "389.603" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "559.317", + "id": "_1263-TENANT-IDF", + "name": "_1263-TENANT-IDF", + "type": "rect", + "width": "89", + "x": "2971.13", + "y": "456.183" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1261-GALLERY", + "name": "_1261-GALLERY", + "type": "rect", + "width": "1331.87", + "x": "2975.76", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1262-GALLERY-", + "name": "_1262-GALLERY-", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1260-DATAHALL---1", + "name": "_1260-DATAHALL---1", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "342.775" + } + ], + "id": "DH1", + "name": "DH1", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1257-ER", + "name": "_1257-ER", + "type": "rect", + "width": "231.631", + "x": "329.128", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1258-ER", + "name": "_1258-ER", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1256-ER", + "name": "_1256-ER", + "type": "rect", + "width": "232.369", + "x": "560.759", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.5", + "id": "_1255-ER", + "name": "_1255-ER", + "type": "rect", + "width": "231.771", + "x": "793.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1254-ER", + "name": "_1254-ER", + "type": "rect", + "width": "233.733", + "x": "1024.9", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1253-MEP-ROOM", + "name": "_1253-MEP-ROOM", + "type": "rect", + "width": "237.71", + "x": "1258.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1252-ER", + "name": "_1252-ER", + "type": "rect", + "width": "238.786", + "x": "1496.34", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1251-ER", + "name": "_1251-ER", + "type": "rect", + "width": "232.058", + "x": "1735.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1250-ER", + "name": "_1250-ER", + "type": "rect", + "width": "232.442", + "x": "1967.19", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1249-ER", + "name": "_1249-ER", + "type": "rect", + "width": "232.5", + "x": "2199.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1248-ER", + "name": "_1248-ER", + "type": "rect", + "width": "231.642", + "x": "2432.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1247-ER", + "name": "_1247-ER", + "type": "rect", + "width": "239.226", + "x": "2663.77", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1246-ER", + "name": "_1246-ER", + "type": "rect", + "width": "238.331", + "x": "2903", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1245-ER", + "name": "_1245-ER", + "type": "rect", + "width": "232.897", + "x": "3141.33", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1244-ER", + "name": "_1244-ER", + "type": "rect", + "width": "231.5", + "x": "3374.22", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1243-ER", + "name": "_1243-ER", + "type": "rect", + "width": "231.5", + "x": "3606.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1242-ER", + "name": "_1242-ER", + "type": "rect", + "width": "231.5", + "x": "3838.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1241-MECH-POWER", + "name": "_1241-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4070.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1240-MECH-POWER", + "name": "_1240-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4301.63", + "y": "0.345" + } + ], + "id": "Elec-Mech-Rooms", + "name": "Elec-Mech-Rooms", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1218-STREAM-IDF", + "name": "_1218-STREAM-IDF", + "type": "rect", + "width": "90.036", + "x": "4372.13", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1179-Space", + "name": "_1179-Space", + "type": "rect", + "width": "61.464", + "x": "4462.16", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "116", + "id": "_1229-ELEC", + "name": "_1229-ELEC", + "type": "rect", + "width": "62", + "x": "4372.13", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1230-FREIGHT", + "name": "_1230-FREIGHT", + "type": "rect", + "width": "101", + "x": "4434.13", + "y": "815.754" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "91.008", + "id": "_132-PLBG-FP", + "name": "_132-PLBG-FP", + "type": "rect", + "width": "132", + "x": "4372.13", + "y": "1087.08" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "74.548", + "id": "_1292-VESTIBULE", + "name": "_1292-VESTIBULE", + "type": "rect", + "width": "217.056", + "x": "4419.07", + "y": "933" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1232-FREIGHT", + "name": "_1232-FREIGHT", + "type": "rect", + "width": "101", + "x": "4535.13", + "y": "816.127" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "_1225-PASS", + "name": "_1225-PASS", + "type": "rect", + "width": "54", + "x": "4423.13", + "y": "735.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1219-DAS", + "name": "_1219-DAS", + "type": "rect", + "width": "49.241", + "x": "4535.39", + "y": "707.853" + }, + { + "d": "M4372.43,468.5l-0.3,173.191l38.714,0.309l0.316,-35.019l37.175,-0l0,-138.481l-75.905,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1222-WRR", + "name": "_1222-WRR", + "type": "path" + }, + { + "d": "M4372.13,1087.5l0,-154.225l46.944,-0.275l0,74.548l85.056,0l0,79.952l-132,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1233-RECEIVING", + "name": "_1233-RECEIVING", + "type": "path" + }, + { + "d": "M4523.33,468.5l0.297,173.191l-38.252,0.309l0.132,-34.62l-37.176,-0.399l0,-138.481l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1221-MRR", + "name": "_1221-MRR", + "type": "path" + }, + { + "d": "M4372.13,170.944l161.521,-0.409l-0,-170.19l241.055,0l-0.026,417.527l33.233,0.171l-0,368.658l-33.257,-0.446l-0.026,393.745l-270.392,-1.913l0.071,-169.285l131.771,1.464l0,-192.326l-51.45,-3.725l0,-174.843l-60.43,-0.041l-1.014,-234.56l-151.056,-2.093l0,-231.734Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1200-TENANT-OFFICE-SHELL", + "name": "_1200-TENANT-OFFICE-SHELL", + "type": "path" + } + ], + "id": "Offices", + "name": "Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1281-GALLERY", + "name": "_1281-GALLERY", + "type": "rect", + "width": "1326.5", + "x": "162.128", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1282-GALLERY", + "name": "_1282-GALLERY", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1280-DATA-HALL-4", + "name": "_1280-DATA-HALL-4", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "342.775" + } + ], + "id": "DH4", + "name": "DH4", + "type": "group" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,368.223l-33.283,0l0,391.5l-787.5,0.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3967.13,1178.09l-2264.08,0.15", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1680.63,1178.24l-157,0.01", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4129.13,170.306l133,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,978.886l0,36.649l-88.5,0l0,-626.3l4.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3014.13,389.235l45.5,-0l0,100.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,527.535l0,413", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2971.13,456.183l88.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4317.63,170.306l-35.5,-0.021l20.397,0.021l-0,-169.961l-1399.13,0l0.04,170.19", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-41,0l20.835,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3586.39,170.5l40.213,-0l-20.874,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3565.92,170.5l-153.279,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3374.13,0.035l-0.25,170.465l19.081,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,90.184", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,24.301l0,-97.908", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,956.535l0,220.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.7,1130l-0,5l1247.92,0l0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1091.5l0,-32.5l0,4.798l-1247.92,-0l-0,-4.798l-0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2975.76,279.882l-0,-44.382l1331.86,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,319.166l0,23.775l-1331.67,0l-0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,1021.17l0,-559.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,423.535l0,-36l-89.5,0l0,575l0,-13.648l89.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1564.13,974.035l0,40l89.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1017.79l0,-633.291", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1020l0,-677.059", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M184.128,918.535l0,-159l0,5l-96,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4533.65,0.345l-0,170.19l-176.861,0l15.34,0l0,109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,298.432l0,109.5l0,-5.038l151.68,0l-0,238.345l-38.283,-0l0,-4.417l0,4.417l99.103,-0l0,4.785", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4584.63,667.425l0,149.11l51.45,0l0,136.168l0,-20.246l-8.65,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.08,972.948l0,34.587l-145.952,0l13.62,0l0,170.552", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1178.09l0,-22.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1117.98l0,-50.944l0,20.024l131.228,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1010.86l0,-37.914", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4433.13,1007.78l-14,0l0,-34.837", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.38,953.035l0.14,-25.363l0,5.363l71.412,0l-9.032,0l-0.439,-116.588l-11.395,-0.077l-0.116,-80.663l-19.82,0l36.569,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4381.72,735.785l-9.343,-0.25l0,172l0,-91.03l212.25,-0.24", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4476.97,817.035l0.655,-81.5l-10.409,0l10.409,0l0,-27.682l4.315,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4502.13,707.853l57.115,-0l-23.559,-0l0,225.182l-9.557,0l15.999,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.13,953.035l0,-20", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4410.88,637.035l-0,4.656l-38.448,0l0,-213.533", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,468.395l151.811,-0.471", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4461.67,468.395l-0.188,-64.361", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4448.33,467.924l-0.495,139.076l37.671,0.035l-0,9.778l-0,-9.778l-74.351,0l0,9.873", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Second-Floor-Walls", + "name": "Second-Floor-Walls", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMinYMin", + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4809 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MPR1240", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 387.19, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MPR1241", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 365, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1242", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 344, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1243", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 323, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1244", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 303, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1245", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 282, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1246", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 261, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MPR1247", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 239, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1248", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 218, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1249", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 198, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1250", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 177, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1251", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 156, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1252", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 135, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MR1253", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 114, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1254", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 93, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1255", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 72, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1256", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 51, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1257", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 31 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1258", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 9, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1273", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 53, + "width": 8, + "x": 140, + "y": 35 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1263", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 53, + "width": 8, + "x": 266, + "y": 41 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_02_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b651bd39c4197a97bbe89e0f0ba8f35a68d49318066242fc471d003fd44bf3a6 b/Gateways/FE/projects/.resources/b651bd39c4197a97bbe89e0f0ba8f35a68d49318066242fc471d003fd44bf3a6 new file mode 100644 index 0000000..df40243 Binary files /dev/null and b/Gateways/FE/projects/.resources/b651bd39c4197a97bbe89e0f0ba8f35a68d49318066242fc471d003fd44bf3a6 differ diff --git a/Gateways/FE/projects/.resources/b670e3f6884b015c3e99798b8a20efaa1e902aae02381cc6576ccdefe86de251 b/Gateways/FE/projects/.resources/b670e3f6884b015c3e99798b8a20efaa1e902aae02381cc6576ccdefe86de251 new file mode 100644 index 0000000..e1f1f25 --- /dev/null +++ b/Gateways/FE/projects/.resources/b670e3f6884b015c3e99798b8a20efaa1e902aae02381cc6576ccdefe86de251 @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "8px", + "borderTopRightRadius": "0px", + "borderBottomLeftRadius": "8px", + "borderBottomRightRadius": "0px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b6850b928a2eaac0a9f181dc1c2b79a4244d42c7015ed7aa8bce63e366eca054 b/Gateways/FE/projects/.resources/b6850b928a2eaac0a9f181dc1c2b79a4244d42c7015ed7aa8bce63e366eca054 new file mode 100644 index 0000000..bd4fc76 Binary files /dev/null and b/Gateways/FE/projects/.resources/b6850b928a2eaac0a9f181dc1c2b79a4244d42c7015ed7aa8bce63e366eca054 differ diff --git a/Gateways/FE/projects/.resources/b68f9984e4699d6545b62efeb6e1370db0224f0c05ee08c1d59112049403e05f b/Gateways/FE/projects/.resources/b68f9984e4699d6545b62efeb6e1370db0224f0c05ee08c1d59112049403e05f new file mode 100644 index 0000000..90569f5 Binary files /dev/null and b/Gateways/FE/projects/.resources/b68f9984e4699d6545b62efeb6e1370db0224f0c05ee08c1d59112049403e05f differ diff --git a/Gateways/FE/projects/.resources/b71c31b1ac147d7e28b5c12b16e480b4b3b7a3a741f8a1887f1ba79bcc4fb8d4 b/Gateways/FE/projects/.resources/b71c31b1ac147d7e28b5c12b16e480b4b3b7a3a741f8a1887f1ba79bcc4fb8d4 new file mode 100644 index 0000000..0b97663 --- /dev/null +++ b/Gateways/FE/projects/.resources/b71c31b1ac147d7e28b5c12b16e480b4b3b7a3a741f8a1887f1ba79bcc4fb8d4 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Motor 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948157059 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948157059 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b7458a5de673710cab900c7638031f159f254a12ce470e626a7af19cf047bed8 b/Gateways/FE/projects/.resources/b7458a5de673710cab900c7638031f159f254a12ce470e626a7af19cf047bed8 new file mode 100644 index 0000000..0a8a695 Binary files /dev/null and b/Gateways/FE/projects/.resources/b7458a5de673710cab900c7638031f159f254a12ce470e626a7af19cf047bed8 differ diff --git a/Gateways/FE/projects/.resources/b7b2d06bb596b3f3cf480da9478e9a71b3cb5c5f12df0957cf2864bc0b477857 b/Gateways/FE/projects/.resources/b7b2d06bb596b3f3cf480da9478e9a71b3cb5c5f12df0957cf2864bc0b477857 new file mode 100644 index 0000000..f41dcbf --- /dev/null +++ b/Gateways/FE/projects/.resources/b7b2d06bb596b3f3cf480da9478e9a71b3cb5c5f12df0957cf2864bc0b477857 @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderTopColor": "var(--success)", + "borderTopStyle": "solid", + "borderTopWidth": "4px", + "boxShadow": "0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22)" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b7bbb05340d82ac7dd865b2a40c2d9f49fdcd5d3bb46d941e8182dea6a2212e6 b/Gateways/FE/projects/.resources/b7bbb05340d82ac7dd865b2a40c2d9f49fdcd5d3bb46d941e8182dea6a2212e6 new file mode 100644 index 0000000..f8534bb --- /dev/null +++ b/Gateways/FE/projects/.resources/b7bbb05340d82ac7dd865b2a40c2d9f49fdcd5d3bb46d941e8182dea6a2212e6 @@ -0,0 +1,279 @@ +{ + "custom": { + "percent": 100 + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_UPS" + }, + "propConfig": { + "custom.percent": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Charging level" + }, + "type": "tag" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 150, + "width": 145 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.desiredHigh": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + }, + "props.processValue": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + } + }, + "props": { + "desiredLow": 25, + "highAlarm": 100, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 25, + "lowInterlock": null, + "lowLowAlarm": null, + "reverseIndicator": true + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "children": [ + { + "meta": { + "name": "desc" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "text": "Battery", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "35%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Runtime" + }, + "transforms": [ + { + "expression": "{value} /3600", + "type": "expression" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "Hrs", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "35%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "75%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 3, + "paddingLeft": 3, + "paddingRight": 3, + "paddingTop": 3 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b804b3784d15d63f25d70f9fcbf9b154f502e8469d16b70c7b72599defc50c2e b/Gateways/FE/projects/.resources/b804b3784d15d63f25d70f9fcbf9b154f502e8469d16b70c7b72599defc50c2e new file mode 100644 index 0000000..749418f Binary files /dev/null and b/Gateways/FE/projects/.resources/b804b3784d15d63f25d70f9fcbf9b154f502e8469d16b70c7b72599defc50c2e differ diff --git a/Gateways/FE/projects/.resources/b82156fc5a845e4adba81bfbec4cb2f83a68f27ea0a80f925621191c9691bcd9 b/Gateways/FE/projects/.resources/b82156fc5a845e4adba81bfbec4cb2f83a68f27ea0a80f925621191c9691bcd9 new file mode 100644 index 0000000..1a58e67 --- /dev/null +++ b/Gateways/FE/projects/.resources/b82156fc5a845e4adba81bfbec4cb2f83a68f27ea0a80f925621191c9691bcd9 @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "SEL-751", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/SEL-751" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 2 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b827b6eab05d770cfdeaf81fe90651b3a30e13c747fe0f0fc78e0c865608e065 b/Gateways/FE/projects/.resources/b827b6eab05d770cfdeaf81fe90651b3a30e13c747fe0f0fc78e0c865608e065 new file mode 100644 index 0000000..30f8fb7 --- /dev/null +++ b/Gateways/FE/projects/.resources/b827b6eab05d770cfdeaf81fe90651b3a30e13c747fe0f0fc78e0c865608e065 @@ -0,0 +1,75 @@ +from datetime import datetime +def getBaseTagPaths(locations=[]): + """ + Get a list of tagpaths from SES1A/SES1B or the selected datahalls. + """ + baseTagPaths = [] + if len(locations) > 0: + for location in locations: + baseTagPaths+= reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getPQMBase(), location) + else: + baseTagPaths = reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getUtilitySES(), "Yard") + return baseTagPaths + + +def getEnergyPaths(locations): + return ["%s/Real Energy"%(path) for path in getBaseTagPaths(locations)] + +def getRawData(startDate, endDate, locations): + """ + Get per minute data for all of the energy paths. + """ + energyTagPathsSES = getEnergyPaths([]) + energyTagPathsAreas = getEnergyPaths(locations) + sesHist = reports.MBR.common.util.getHistory(energyTagPathsSES, startDate, endDate, customArgs={}) + areaHist = reports.MBR.common.util.getHistory(energyTagPathsAreas, startDate, endDate, customArgs={}) + + return sesHist, areaHist + +def calculateDelta(dataset, sumColName): + """ + Pass in the dataset and use the sumColName to indicate which column the delta will be performed + Args: + dataset: PyDataset of rawhist and sum column + sumColname: name of the column the sum resides in + Returns: + List of calculated deltas + """ + deltaList = [] + for i,row in enumerate(dataset): + if i == 0: + deltaList.append(0) + else: + deltaList.append(row[sumColName]-dataset[i-1][sumColName]) + return deltaList + +def processRawData(startDate, endDate, locations, intervalMins=15): + """ + Retrieve the raw history minute data, then create the new columns + """ + # PyDS + sesDS, areaDS = getRawData(startDate, endDate, locations) + sesDS = reports.MBR.common.util.generateSumCol(reports.MBR.common.util.averageIntervalData(sesDS, intervalMins), sumColName="SESTotalEnergy") + areaDS = reports.MBR.common.util.generateSumCol(reports.MBR.common.util.averageIntervalData(areaDS, intervalMins), sumColName="ExclAreaTotalEnergy") + + sesDeltaList = calculateDelta(sesDS, "SESTotalEnergy") + areaDeltaList = calculateDelta(areaDS, "ExclAreaTotalEnergy") + finalDS = sesDS + + if len(sesDeltaList) == len(areaDeltaList): + deltaDiffList = [a-b for a,b in zip(sesDeltaList, areaDeltaList)] + + # merge the 2 SES and Area Datasets +# try: + finalDS = reports.MBR.common.util.mergeHistorianData(sesDS, areaDS) + finalDS = system.dataset.addColumn(finalDS, sesDeltaList, "SES Consumed", float) + finalDS = system.dataset.addColumn(finalDS, areaDeltaList, "Excluded Area Consumed", float) + finalDS = system.dataset.addColumn(finalDS, deltaDiffList, "Tenant Consumed", float) + +# except: +# pass + else: + finalDS = system.dataset.addColumn(finalDS, col= sesDeltaList, colName="SES Consumed", colType=float) + + return finalDS + \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b8420ffcc28355c59db5590872ef57a0f74ec4decc0b1095f75f17f898b1d81d b/Gateways/FE/projects/.resources/b8420ffcc28355c59db5590872ef57a0f74ec4decc0b1095f75f17f898b1d81d new file mode 100644 index 0000000..5f9f37b --- /dev/null +++ b/Gateways/FE/projects/.resources/b8420ffcc28355c59db5590872ef57a0f74ec4decc0b1095f75f17f898b1d81d @@ -0,0 +1,3491 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": {}, + "propConfig": { + "custom.colorHandler": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 600, + "width": 1200 + } + }, + "root": { + "children": [ + { + "custom": { + "key": "value" + }, + "meta": { + "name": "OnelineDiagram" + }, + "position": { + "height": 600, + "width": 1200 + }, + "propConfig": { + "props.elements[5].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#008100" + }, + "height": "178.735", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "444.63", + "x": "26.322", + "y": "302.752" + }, + { + "fill": { + "paint": "#008100" + }, + "height": "178.735", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "444.63", + "x": "4534", + "y": "302.752" + } + ], + "id": "SES", + "name": "SES", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#a8d18d" + }, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": 220, + "x": "211.479", + "y": "652.307" + }, + { + "fill": { + "paint": "#a8d18d" + }, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": 220, + "x": 4575, + "y": "652.307" + }, + { + "fill": { + "paint": "#a8d18d" + }, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": 220, + "x": "211.479", + "y": "1244.35" + }, + { + "fill": { + "paint": "#a8d18d" + }, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": 220, + "x": 4575, + "y": "1244.35" + }, + { + "fill": { + "paint": "#a8d18d" + }, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": 220, + "x": 211.479, + "y": "1840.82" + }, + { + "fill": { + "paint": "#a8d18d" + }, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": 220, + "x": 4575, + "y": "1840.82" + } + ], + "id": "DS", + "name": "DS", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#fafac8" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "2133.62" + }, + { + "fill": { + "paint": "#fafac8" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2993.68", + "y": "946.28" + } + ], + "id": "HS", + "name": "HS", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "1838.4" + }, + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "1838.4" + }, + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "1838.4" + }, + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "1838.4" + }, + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "1838.4" + }, + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2993.68", + "y": "1838.4" + }, + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "3428.1", + "y": "2133.62" + }, + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "3862.53", + "y": "2133.62" + } + ], + "id": "M", + "name": "M", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "1538.87" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "1538.87" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "1538.87" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "1538.87" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "1538.87" + } + ], + "id": "P2", + "name": "P2", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "1242.06" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "1242.06" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "1242.06" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "1242.06" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "1242.06" + } + ], + "id": "P3", + "name": "P3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "647.309" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "647.309" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "647.309" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "647.309" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "647.309" + } + ], + "id": "P5", + "name": "P5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "946.28" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "946.28" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "946.28" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "946.28" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "946.28" + } + ], + "id": "P4", + "name": "P4", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "2133.62" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "2133.62" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "2133.62" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "2133.62" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2993.68", + "y": "2133.62" + } + ], + "id": "P1", + "name": "P1", + "type": "group" + } + ], + "id": "P", + "name": "P", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1145.65,724.395l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,724.395l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,724.395l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,724.395l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2888.52,724.395l1690,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,724.395l-390,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A3-1B3-2", + "name": "DS-1A3-1B3-2", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1023.37l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2890.24,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3324.67,1023.37l1250,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1023.37l-390,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A3-1B3-1", + "name": "DS-1A3-1B3-1", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1319.14l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1319.14l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1319.14l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1319.14l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2890.24,1319.14l1690,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1319.14l-390,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A2-1B2-2", + "name": "DS-1A2-1B2-2", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1615.96l106.882,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1615.96l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1615.96l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1615.96l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2890.24,1615.96l1685,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1615.96l-390,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A2-1B2-1", + "name": "DS-1A2-1B2-1", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1915.49l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1915.49l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1915.49l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1915.49l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2888.52,1915.49l103.434,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3324.67,1915.49l1250,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1915.49l-390,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A1-1B1-2", + "name": "DS-1A1-1B1-2", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,2210.7l106.882,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M1583.52,2210.7l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M2017.95,2210.7l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M2454.09,2210.7l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M2888.52,2210.7l103.434,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M3324.67,2210.7l103.434,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M3759.09,2210.7l103.434,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M4193.52,2210.7l380,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M814.661,2210.7l-390,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + } + ], + "id": "DA-1A1-1B1-1", + "name": "DA-1A1-1B1-1", + "type": "group" + }, + { + "elements": [ + { + "d": "M211.479,875.791l-46.431,0l0,-394.305", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M211.479,1467.84l-93.872,0l-0,-986.349", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M211.479,2064.31l-140.211,-0l0,-1582.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "SES-1A-DS", + "name": "SES-1A-DS", + "type": "group" + }, + { + "elements": [ + { + "d": "M4792.45,875.791l47.797,0l-0,-394.305", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4792.45,1467.84l93.694,0l-0,-986.349", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4792.45,2064.31l140.156,-0l-0,-1582.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "SES-1B-DS", + "name": "SES-1B-DS", + "type": "group" + }, + { + "elements": [ + { + "d": "M248.636,302.752l0,-172.353", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M248.636,130.399l22.872,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M248.636,130.399l-22.871,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Utility01", + "name": "Utility01", + "type": "group" + }, + { + "elements": [ + { + "d": "M4756.31,302.752l-0,-172.353", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4756.31,130.399l22.871,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4756.31,130.399l-22.872,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Utility02", + "name": "Utility02", + "type": "group" + } + ], + "id": "Conections", + "name": "Conections", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 5000 2500" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 37, + "width": 107, + "x": 6, + "y": 76 + }, + "props": { + "text": "SES-1A", + "textStyle": { + "color": "#EBEBEB", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 37, + "width": 107, + "x": 1085, + "y": 76 + }, + "props": { + "text": "SES-1A", + "textStyle": { + "color": "#EBEBEB", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 37, + "width": 45, + "x": 55, + "y": 191 + }, + "props": { + "text": "DS-1A3", + "textStyle": { + "color": "#2D2D2D", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 37, + "width": 45, + "x": 54, + "y": 334 + }, + "props": { + "text": "DS-1A2", + "textStyle": { + "color": "#2D2D2D", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 37, + "width": 45, + "x": 55, + "y": 478 + }, + "props": { + "text": "DS-1A1", + "textStyle": { + "color": "#2D2D2D", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 37, + "width": 45, + "x": 1102, + "y": 190.503 + }, + "props": { + "text": "DS-1B3", + "textStyle": { + "color": "#2D2D2D", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 37, + "width": 45, + "x": 1101, + "y": 333.503 + }, + "props": { + "text": "DS-1B2", + "textStyle": { + "color": "#2D2D2D", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 37, + "width": 45, + "x": 1102, + "y": 477.503 + }, + "props": { + "text": "DS-1B1", + "textStyle": { + "color": "#2D2D2D", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_7" + }, + "position": { + "height": 22, + "width": 79, + "x": 614, + "y": 153.9895782470703 + }, + "props": { + "text": "UT-P5.5", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_8" + }, + "position": { + "height": 22, + "width": 79, + "x": 510, + "y": 155 + }, + "props": { + "text": "UT-P5.4", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_9" + }, + "position": { + "height": 22, + "width": 79, + "x": 405, + "y": 155 + }, + "props": { + "text": "UT-P5.3", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_10" + }, + "position": { + "height": 22, + "width": 79, + "x": 300, + "y": 156 + }, + "props": { + "text": "UT-P5.2", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_11" + }, + "position": { + "height": 22, + "width": 79, + "x": 196, + "y": 155 + }, + "props": { + "text": "UT-P5.1", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_12" + }, + "position": { + "height": 22, + "width": 79, + "x": 195.99, + "y": 228.98 + }, + "props": { + "text": "UT-P4.1", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_13" + }, + "position": { + "height": 22, + "width": 79, + "x": 299.99, + "y": 229.98 + }, + "props": { + "text": "UT-P4.2", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_14" + }, + "position": { + "height": 22, + "width": 79, + "x": 404.99, + "y": 228.98 + }, + "props": { + "text": "UT-P4.3", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_15" + }, + "position": { + "height": 22, + "width": 79, + "x": 509.99, + "y": 228.98 + }, + "props": { + "text": "UT-P4.4", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_16" + }, + "position": { + "height": 22, + "width": 79, + "x": 613.99, + "y": 227.98 + }, + "props": { + "text": "UT-P4.5", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_17" + }, + "position": { + "height": 22, + "width": 79, + "x": 194.99, + "y": 299.97 + }, + "props": { + "text": "UT-P3.1", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_18" + }, + "position": { + "height": 22, + "width": 79, + "x": 298.99, + "y": 300.97 + }, + "props": { + "text": "UT-P3.2", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_19" + }, + "position": { + "height": 22, + "width": 79, + "x": 403.99, + "y": 299.97 + }, + "props": { + "text": "UT-P3.3", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_20" + }, + "position": { + "height": 22, + "width": 79, + "x": 508.99, + "y": 299.97 + }, + "props": { + "text": "UT-P3.4", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_21" + }, + "position": { + "height": 22, + "width": 79, + "x": 612.99, + "y": 298.97 + }, + "props": { + "text": "UT-P3.5", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_22" + }, + "position": { + "height": 22, + "width": 79, + "x": 194.99, + "y": 371.96 + }, + "props": { + "text": "UT-P2.1", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_23" + }, + "position": { + "height": 22, + "width": 79, + "x": 298.99, + "y": 372.96 + }, + "props": { + "text": "UT-P2.2", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_24" + }, + "position": { + "height": 22, + "width": 79, + "x": 403.99, + "y": 371.96 + }, + "props": { + "text": "UT-P2.3", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_25" + }, + "position": { + "height": 22, + "width": 79, + "x": 508.99, + "y": 371.96 + }, + "props": { + "text": "UT-P2.4", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_26" + }, + "position": { + "height": 22, + "width": 79, + "x": 612.99, + "y": 370.96 + }, + "props": { + "text": "UT-P2.5", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_27" + }, + "position": { + "height": 22, + "width": 79, + "x": 193.99, + "y": 441.95 + }, + "props": { + "text": "UT-M1", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_28" + }, + "position": { + "height": 22, + "width": 79, + "x": 297.99, + "y": 442.95 + }, + "props": { + "text": "UT-M2", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_29" + }, + "position": { + "height": 22, + "width": 79, + "x": 402.99, + "y": 441.95 + }, + "props": { + "text": "UT-M3", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_30" + }, + "position": { + "height": 22, + "width": 79, + "x": 507.99, + "y": 441.95 + }, + "props": { + "text": "UT-M4", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_31" + }, + "position": { + "height": 22, + "width": 79, + "x": 611.99, + "y": 440.95 + }, + "props": { + "text": "UT-M5", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_32" + }, + "position": { + "height": 22, + "width": 79, + "x": 195.98, + "y": 513.94 + }, + "props": { + "text": "UT-HS1", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_33" + }, + "position": { + "height": 22, + "width": 79, + "x": 299.98, + "y": 514.94 + }, + "props": { + "text": "UT-P1.5", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_34" + }, + "position": { + "height": 22, + "width": 79, + "x": 404.98, + "y": 513.94 + }, + "props": { + "text": "UT-P1.2", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_35" + }, + "position": { + "height": 22, + "width": 79, + "x": 509.98, + "y": 513.94 + }, + "props": { + "text": "UT-P1.3", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_36" + }, + "position": { + "height": 19, + "width": 79, + "x": 613.98, + "y": 512.94 + }, + "props": { + "text": "UT-P1.4", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_37" + }, + "position": { + "height": 22, + "width": 79, + "x": 717, + "y": 229 + }, + "props": { + "text": "UT-HS2", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_38" + }, + "position": { + "height": 22, + "width": 79, + "x": 717, + "y": 441 + }, + "props": { + "text": "UT-M6", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_39" + }, + "position": { + "height": 22, + "width": 79, + "x": 926.97, + "y": 511.93 + }, + "props": { + "text": "UT-M8", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_40" + }, + "position": { + "height": 22, + "width": 79, + "x": 822.97, + "y": 512.93 + }, + "props": { + "text": "UT-M7", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_41" + }, + "position": { + "height": 22, + "width": 79, + "x": 717.97, + "y": 512.93 + }, + "props": { + "text": "UT-P5.5", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "height": 20, + "width": 68, + "x": 205, + "y": 171 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO5_default]ER1161/SWBD/SATB1_ER1161_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_0" + }, + "position": { + "height": 20, + "width": 77, + "x": 301, + "y": 171 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO5_default]ER1162/SWBD/SATB1_ER1162_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_1" + }, + "position": { + "height": 20, + "width": 77, + "x": 407, + "y": 171 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO5_default]ER1163/SWBD/SATB1_ER1163_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_2" + }, + "position": { + "height": 21, + "width": 77, + "x": 510, + "y": 171 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO5_default]ER1164/SWBD/SATB1_ER1164_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_3" + }, + "position": { + "height": 23, + "width": 77, + "x": 614, + "y": 169 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO5_default]ER1165/SWBD/SATB1_ER1165_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_4" + }, + "position": { + "height": 20, + "width": 68, + "x": 205, + "y": 243 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO4_default]ER1254/SWBD/SATB1_ER1254_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_5" + }, + "position": { + "height": 20, + "width": 77, + "x": 301, + "y": 243 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO4_default]ER1255/SWBD/SATB1_ER1255_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_6" + }, + "position": { + "height": 20, + "width": 77, + "x": 407, + "y": 243 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO4_default]ER1256/SWBD/SATB1_ER1256_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_7" + }, + "position": { + "height": 21, + "width": 77, + "x": 510, + "y": 243 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO4_default]ER1257/SWBD/SATB1_ER1257_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_8" + }, + "position": { + "height": 23, + "width": 77, + "x": 614, + "y": 241 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO4_default]ER1258/SWBD/SATB1_ER1258_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_9" + }, + "position": { + "height": 20, + "width": 68, + "x": 205, + "y": 316 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO3_default]ER1155/SWBD/SATB1_ER1155_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_10" + }, + "position": { + "height": 20, + "width": 77, + "x": 301, + "y": 316 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO3_default]ER1156/SWBD/SATB1_ER1156_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_11" + }, + "position": { + "height": 20, + "width": 77, + "x": 407, + "y": 316 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO3_default]ER1157/SWBD/SATB1_ER1157_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_12" + }, + "position": { + "height": 21, + "width": 77, + "x": 510, + "y": 315 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO3_default]ER1158/SWBD/SATB1_ER1158_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_13" + }, + "position": { + "height": 23, + "width": 77, + "x": 614, + "y": 313 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO3_default]ER1159/SWBD/SATB1_ER1159_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_14" + }, + "position": { + "height": 20, + "width": 68, + "x": 205, + "y": 388 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_15" + }, + "position": { + "height": 20, + "width": 77, + "x": 301, + "y": 388 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO2_default]ER1249/SWBD/SATB1_ER1249_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_16" + }, + "position": { + "height": 20, + "width": 77, + "x": 407, + "y": 388 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO2_default]ER1250/SWBD/SATB1_ER1250_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_17" + }, + "position": { + "height": 21, + "width": 77, + "x": 510, + "y": 387 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO2_default]ER1251/SWBD/SATB1_ER1251_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_18" + }, + "position": { + "height": 23, + "width": 77, + "x": 614, + "y": 385 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO2_default]ER1252/SWBD/SATB1_ER1252_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_19" + }, + "position": { + "height": 20, + "width": 68, + "x": 205, + "y": 458 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_20" + }, + "position": { + "height": 20, + "width": 77, + "x": 303, + "y": 458 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_PQM/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_21" + }, + "position": { + "height": 20, + "width": 77, + "x": 407, + "y": 458 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_PQM/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_22" + }, + "position": { + "height": 21, + "width": 77, + "x": 510, + "y": 457 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_PQM/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_23" + }, + "position": { + "height": 23, + "width": 77, + "x": 614, + "y": 455 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_PQM/Reactive Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_24" + }, + "position": { + "height": 20, + "width": 68, + "x": 205, + "y": 530 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PQM/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_25" + }, + "position": { + "height": 20, + "width": 77, + "x": 301, + "y": 530 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_26" + }, + "position": { + "height": 20, + "width": 77, + "x": 407, + "y": 530 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO1_default]ER1243/SWBD/SATB1_ER1243_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_27" + }, + "position": { + "height": 21, + "width": 77, + "x": 510, + "y": 529 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_28" + }, + "position": { + "height": 23, + "width": 77, + "x": 614, + "y": 527 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO1_default]ER1245/SWBD/SATB1_ER1245_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_29" + }, + "position": { + "height": 23, + "width": 77, + "x": 718, + "y": 241 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_PQM/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_30" + }, + "position": { + "height": 23, + "width": 77, + "x": 719, + "y": 455 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_PQM/Reactive Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_31" + }, + "position": { + "height": 21, + "width": 77, + "x": 718, + "y": 529 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO1_default]ER1246/SWBD/SATB1_ER1246_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_32" + }, + "position": { + "height": 23, + "width": 77, + "x": 823, + "y": 527 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_PQM/Reactive Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_33" + }, + "position": { + "height": 23, + "width": 77, + "x": 927, + "y": 527 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_PQM/Reactive Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 6, + "y": 0 + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b8bf6dd8e9fb5957d1fd292a4ed8ba2f65c716ccd7fb6b671a5158c1a6a6288d b/Gateways/FE/projects/.resources/b8bf6dd8e9fb5957d1fd292a4ed8ba2f65c716ccd7fb6b671a5158c1a6a6288d new file mode 100644 index 0000000..d46693d --- /dev/null +++ b/Gateways/FE/projects/.resources/b8bf6dd8e9fb5957d1fd292a4ed8ba2f65c716ccd7fb6b671a5158c1a6a6288d @@ -0,0 +1,484 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CV31" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Close": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Close" + }, + "type": "tag" + } + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Open": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Open" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ManualBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Close \u003d False\n\tself.view.custom.OCmd.Open \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode},true,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Open" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Open" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Open \u003d False\n\tself.view.custom.OCmd.Close \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode},true,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Closed" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Close" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d False\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "RightColumn" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b9321089a5d30d19ddb8ff8ae5cdf73b9323cfee1d05bf344eee1c0ea0983459 b/Gateways/FE/projects/.resources/b9321089a5d30d19ddb8ff8ae5cdf73b9323cfee1d05bf344eee1c0ea0983459 new file mode 100644 index 0000000..fb09cb0 --- /dev/null +++ b/Gateways/FE/projects/.resources/b9321089a5d30d19ddb8ff8ae5cdf73b9323cfee1d05bf344eee1c0ea0983459 @@ -0,0 +1,885 @@ +{ + "custom": { + "HOA": null, + "ModeSts": null, + "OCmd_Reset": null, + "OCmd_Run": null, + "SystemAvailable": null, + "TagId": null, + "Tons": 250, + "alarmSeverity": null, + "priority": null + }, + "params": { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]/Roof/SATB1_RF_CH08_SYSTEM" + }, + "propConfig": { + "custom.HOA": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/System HOA" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.ModeSts": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/MODE" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.OCmd_Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Reset" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.OCmd_Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Run" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.SystemAvailable": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Chiller System Available" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.TagId": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.Tons": { + "persistent": true + }, + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.priority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "LLS_tagPath": "{view.params.LLS_tagPath}", + "index": "tostr(toint(right({view.custom.TagId},2))-1)" + }, + "tagPath": "{LLS_tagPath}[{index}]" + }, + "type": "tag" + }, + "persistent": true + }, + "params.LLS_tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 165, + "width": 345 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Manual Badge" + }, + "position": { + "height": "auto", + "width": 60, + "x": 263, + "y": 18 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "struct": { + "available": "{view.custom.SystemAvailable}", + "mode": "{view.custom.ModeSts}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027available\u0027] and value[\u0027mode\u0027]:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "options": [ + "Manual", + "Auto" + ] + }, + "path": "Library/Framework/Bdg_Mode", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HOA Badge" + }, + "position": { + "height": "auto", + "width": 60, + "x": 197, + "y": 18 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "path": "view.custom.HOA" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "options": [ + "Local", + "Remote" + ] + }, + "path": "Library/Framework/Bdg_Mode", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TonsIndicator" + }, + "position": { + "height": 53, + "rotate": { + "angle": "270deg" + }, + "width": 102, + "x": -11.13, + "y": 62.62 + }, + "propConfig": { + "props.desiredHigh": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Load" + }, + "type": "tag" + } + }, + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Load" + }, + "type": "tag" + } + } + }, + "props": { + "desiredLow": 0, + "highAlarm": 300, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null, + "maxValue": 330 + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "TonsValue" + }, + "position": { + "height": 22, + "rotate": { + "anchor": "50% 36%" + }, + "width": 100, + "x": -21.5, + "y": 136.61 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Load" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "tons", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Tag" + }, + "position": { + "height": 21, + "rotate": { + "anchor": "50% 25%" + }, + "width": 52, + "x": 27, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)" + }, + "textStyle": { + "fontSize": 16, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "height": 32, + "width": 50, + "x": 113, + "y": 11 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.priority" + }, + "transforms": [ + { + "expression": "\"LLS: \" + {value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Maintenancebadge" + }, + "position": { + "height": 24, + "width": 129, + "x": 196, + "y": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Maintenance" + }, + "type": "tag" + } + }, + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Maintenance Timer has Expired" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "options": [ + "Maint. active", + "Maint. Time expired" + ] + }, + "path": "Library/Framework/Bdg_Maintenance", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AlarmBorder", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 147, + "width": 315, + "x": 12, + "y": 14 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters/DeviceLabel" + }, + "type": "tag" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"solid\"\n\telse:\n\t\treturn \"none\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineWidth": "2" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 25, + "width": 25, + "x": 314.5, + "y": 1 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d 3: \n\t\treturn \"visible\" \n\telse: \n\t\treturn \"hidden\"", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d 3: \n\t\treturn \"visible\" \n\telse: \n\t\treturn \"hidden\"", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d 2: \n\t\treturn \"visible\" \n\telse: \n\t\treturn \"hidden\"", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d 1: \n\t\treturn \"visible\" \n\telse: \n\t\treturn \"hidden\"", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d 4: \n\t\treturn \"visible\" \n\telse: \n\t\treturn \"hidden\"", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d 4: \n\t\treturn \"visible\" \n\telse: \n\t\treturn \"hidden\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + } + ], + "custom": { + "STS_Running": "value" + }, + "meta": { + "name": "root" + }, + "position": { + "x": -159.125, + "y": 271 + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b9c72c9e20006c262cc4309b811f867c5c00d67c1f5fbda4d676754cf5a0dcbb b/Gateways/FE/projects/.resources/b9c72c9e20006c262cc4309b811f867c5c00d67c1f5fbda4d676754cf5a0dcbb new file mode 100644 index 0000000..4fa586c --- /dev/null +++ b/Gateways/FE/projects/.resources/b9c72c9e20006c262cc4309b811f867c5c00d67c1f5fbda4d676754cf5a0dcbb @@ -0,0 +1,313 @@ +{ + "custom": { + "endDate": "2025-04-15 23:59:59", + "location": null, + "startDate": "2025-04-15 00:00:00" + }, + "params": { + "endDate": "2025-04-15 23:59:59", + "location": null, + "startDate": "2025-04-15 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px", + "display": false + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.calculated.ResultData" + }, + "transforms": [ + { + "code": "\treturn \"Daily Avgs: \" + str([round(v[1],2) for v in value])", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Min Avg: \", round({parent.custom.calculated.MinAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Max Avg: \", round({parent.custom.calculated.MaxAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "TotalLoad" + }, + "position": { + "basis": "200px", + "display": false + }, + "propConfig": { + "custom.calculated": { + "binding": { + "config": { + "path": ".../Table.custom.PUEData.TotalLoad" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "CriticalLoad" + }, + "position": { + "basis": "200px", + "display": false + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "30px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 15 + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Import" + }, + "position": { + "basis": "34px", + "display": false + }, + "props": { + "enabled": false, + "text": "Import" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\tsystem.perspective.download(\"PUE Table.xls\", xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.PUEData": { + "binding": { + "config": { + "struct": { + "endDate": "{view.custom.endDate}", + "intervalMin": "{../CalculatedFields/Actions/Dropdown.props.value}", + "location": "{view.custom.location}", + "startDate": "{view.custom.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\tlocation\u003d value[\"location\"]\n\tintervalMin \u003d value[\"intervalMin\"]\n\treturn reports.MBR.totalpower.doAllInterval(startDate, endDate, None, intervalMin)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.PUEData.PUE.ResultDS" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/b9cfb5d6fd29f4f2e215689d07993215194261bef2dc461d1c34675009195ffe b/Gateways/FE/projects/.resources/b9cfb5d6fd29f4f2e215689d07993215194261bef2dc461d1c34675009195ffe new file mode 100644 index 0000000..61727a4 Binary files /dev/null and b/Gateways/FE/projects/.resources/b9cfb5d6fd29f4f2e215689d07993215194261bef2dc461d1c34675009195ffe differ diff --git a/Gateways/FE/projects/.resources/b9d463bea7735773cdbc1e33884700ed3f931d179d6a874dee9cc3e42e8e2c3d b/Gateways/FE/projects/.resources/b9d463bea7735773cdbc1e33884700ed3f931d179d6a874dee9cc3e42e8e2c3d new file mode 100644 index 0000000..f5d8437 Binary files /dev/null and b/Gateways/FE/projects/.resources/b9d463bea7735773cdbc1e33884700ed3f931d179d6a874dee9cc3e42e8e2c3d differ diff --git a/Gateways/FE/projects/.resources/ba3083e2dd8456e7fdb151f4df154a7fbce9ca959b04fd2c7f64df35f54fd432 b/Gateways/FE/projects/.resources/ba3083e2dd8456e7fdb151f4df154a7fbce9ca959b04fd2c7f64df35f54fd432 new file mode 100644 index 0000000..e5e4565 --- /dev/null +++ b/Gateways/FE/projects/.resources/ba3083e2dd8456e7fdb151f4df154a7fbce9ca959b04fd2c7f64df35f54fd432 @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M5075,191.897c0,2.3 1.867,4.167 4.167,4.167c2.299,-0 4.166,-1.867 4.166,-4.167c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal24", + "name": "Terminal24", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5079.17,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5072.92,149.892c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In12", + "name": "In12", + "type": "path" + }, + { + "d": "M5079.17,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5083.33,247.063c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.299,0 4.166,-1.867 4.166,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal25", + "name": "Terminal25", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5079.17,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5086.91,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed12", + "name": "Closed12", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5105.91,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open12", + "name": "Open12", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB13", + "name": "CB13", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1874, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1825,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1825,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1825,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1825,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ba483fff183d63cb31d9723600aa3f2a4696da5cfc542d9432c5eb0d6dd089f3 b/Gateways/FE/projects/.resources/ba483fff183d63cb31d9723600aa3f2a4696da5cfc542d9432c5eb0d6dd089f3 new file mode 100644 index 0000000..43ec150 --- /dev/null +++ b/Gateways/FE/projects/.resources/ba483fff183d63cb31d9723600aa3f2a4696da5cfc542d9432c5eb0d6dd089f3 @@ -0,0 +1,155 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail Delay SP" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Run Delay Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Stop Delay Setpoint " + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime Reset" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air RH SP" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_DHUM3" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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\",\"Int4\")\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# 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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ba889e3cb50fd80b8b2eed33581b1c74ad6a76059d65baec2b5cb20ad5ae7465 b/Gateways/FE/projects/.resources/ba889e3cb50fd80b8b2eed33581b1c74ad6a76059d65baec2b5cb20ad5ae7465 new file mode 100644 index 0000000..519ce00 Binary files /dev/null and b/Gateways/FE/projects/.resources/ba889e3cb50fd80b8b2eed33581b1c74ad6a76059d65baec2b5cb20ad5ae7465 differ diff --git a/Gateways/FE/projects/.resources/ba97cc1f09f240ffe2077176d69b89e96d885bcd17a0216083c51898fe30d26f b/Gateways/FE/projects/.resources/ba97cc1f09f240ffe2077176d69b89e96d885bcd17a0216083c51898fe30d26f new file mode 100644 index 0000000..3c8ec58 --- /dev/null +++ b/Gateways/FE/projects/.resources/ba97cc1f09f240ffe2077176d69b89e96d885bcd17a0216083c51898fe30d26f @@ -0,0 +1,90 @@ +{ + "custom": { + "page": {} + }, + "params": {}, + "propConfig": { + "custom.page": { + "persistent": true + }, + "custom.page.params": { + "binding": { + "config": { + "path": "page.props.urlParams" + }, + "type": "property" + } + }, + "custom.page.path": { + "binding": { + "config": { + "path": "page.props.path" + }, + "type": "property" + } + } + }, + "props": { + "defaultSize": { + "height": 45 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": {}, + "scope": "C", + "type": "login" + } + } + }, + "meta": { + "name": "Icon" + }, + "position": { + "basis": "41px" + }, + "props": { + "path": "material/person" + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "404px" + }, + "props": { + "justify": "flex-end" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "justify": "space-between", + "style": { + "backgroundColor": "#143663" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/baac8832bf05b71e41a7a2cb0c81ca0424e1bcaeb1b8e4b705e21691858c97d7 b/Gateways/FE/projects/.resources/baac8832bf05b71e41a7a2cb0c81ca0424e1bcaeb1b8e4b705e21691858c97d7 new file mode 100644 index 0000000..20e8e9c --- /dev/null +++ b/Gateways/FE/projects/.resources/baac8832bf05b71e41a7a2cb0c81ca0424e1bcaeb1b8e4b705e21691858c97d7 @@ -0,0 +1,2336 @@ +{ + "custom": { + "pageName": "P2.4" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1271", + "IO1": "[Ignition_SATB1_IO2_default]", + "Room": "ER1251", + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P2-4", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-3_to_UT-P2-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-4_to_UT-P2-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P2-4", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-4" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO2_default]ER1251/SWBD/SATB1_ER1251_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 2, + "Gallery": "GAL1271", + "Gateway": "[Ignition_SATB1_IO2_default]", + "Linuep": 4 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/bab079a881bafb1bff0728fbdeb83688552536f05324ddb282a67ca8d1ed564e b/Gateways/FE/projects/.resources/bab079a881bafb1bff0728fbdeb83688552536f05324ddb282a67ca8d1ed564e new file mode 100644 index 0000000..0e1d065 Binary files /dev/null and b/Gateways/FE/projects/.resources/bab079a881bafb1bff0728fbdeb83688552536f05324ddb282a67ca8d1ed564e differ diff --git a/Gateways/FE/projects/.resources/bac2e5cd0b838acec55abfd1d319f9b76d8727815a74cb4580586a38dbc28d55 b/Gateways/FE/projects/.resources/bac2e5cd0b838acec55abfd1d319f9b76d8727815a74cb4580586a38dbc28d55 new file mode 100644 index 0000000..cf631d5 Binary files /dev/null and b/Gateways/FE/projects/.resources/bac2e5cd0b838acec55abfd1d319f9b76d8727815a74cb4580586a38dbc28d55 differ diff --git a/Gateways/FE/projects/.resources/bb022515d8d69ec225c14ff14e24d5aa2d2dfcae832c1df65bacba9cf426eb45 b/Gateways/FE/projects/.resources/bb022515d8d69ec225c14ff14e24d5aa2d2dfcae832c1df65bacba9cf426eb45 new file mode 100644 index 0000000..b1f3084 Binary files /dev/null and b/Gateways/FE/projects/.resources/bb022515d8d69ec225c14ff14e24d5aa2d2dfcae832c1df65bacba9cf426eb45 differ diff --git a/Gateways/FE/projects/.resources/bb39ba41fdd58803866aa72aee59606e31f5bc47b221aeda484fd8a33bb48cd2 b/Gateways/FE/projects/.resources/bb39ba41fdd58803866aa72aee59606e31f5bc47b221aeda484fd8a33bb48cd2 new file mode 100644 index 0000000..16903a5 Binary files /dev/null and b/Gateways/FE/projects/.resources/bb39ba41fdd58803866aa72aee59606e31f5bc47b221aeda484fd8a33bb48cd2 differ diff --git a/Gateways/FE/projects/.resources/bb401101f7ec423d44f6554fd6a2ce921aa57ee64f824b630bda9a270b788989 b/Gateways/FE/projects/.resources/bb401101f7ec423d44f6554fd6a2ce921aa57ee64f824b630bda9a270b788989 new file mode 100644 index 0000000..bda7587 --- /dev/null +++ b/Gateways/FE/projects/.resources/bb401101f7ec423d44f6554fd6a2ce921aa57ee64f824b630bda9a270b788989 @@ -0,0 +1,108 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Value", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2/Device Fault" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/bb4f1d07ce7e05ef675d501aa56987c649d17caaa2fbe50b9232dab9c02b190c b/Gateways/FE/projects/.resources/bb4f1d07ce7e05ef675d501aa56987c649d17caaa2fbe50b9232dab9c02b190c new file mode 100644 index 0000000..3045e0b Binary files /dev/null and b/Gateways/FE/projects/.resources/bb4f1d07ce7e05ef675d501aa56987c649d17caaa2fbe50b9232dab9c02b190c differ diff --git a/Gateways/FE/projects/.resources/bba59e7ab6565fce346da8d92b9b1cbdafa38a9f51683c22453f7023995b4ab9 b/Gateways/FE/projects/.resources/bba59e7ab6565fce346da8d92b9b1cbdafa38a9f51683c22453f7023995b4ab9 new file mode 100644 index 0000000..08e74b6 Binary files /dev/null and b/Gateways/FE/projects/.resources/bba59e7ab6565fce346da8d92b9b1cbdafa38a9f51683c22453f7023995b4ab9 differ diff --git a/Gateways/FE/projects/.resources/bbc1049c4292beeef52f5a077981243d75fc2471e1ca5248ef2da6c7a9445aa0 b/Gateways/FE/projects/.resources/bbc1049c4292beeef52f5a077981243d75fc2471e1ca5248ef2da6c7a9445aa0 new file mode 100644 index 0000000..da399e4 Binary files /dev/null and b/Gateways/FE/projects/.resources/bbc1049c4292beeef52f5a077981243d75fc2471e1ca5248ef2da6c7a9445aa0 differ diff --git a/Gateways/FE/projects/.resources/bc0cb080f9771425400d1e3b483dcbbe27107f92948f749e52b77ce20ec385da b/Gateways/FE/projects/.resources/bc0cb080f9771425400d1e3b483dcbbe27107f92948f749e52b77ce20ec385da new file mode 100644 index 0000000..161066c --- /dev/null +++ b/Gateways/FE/projects/.resources/bc0cb080f9771425400d1e3b483dcbbe27107f92948f749e52b77ce20ec385da @@ -0,0 +1,2336 @@ +{ + "custom": { + "pageName": "P2.2" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1271", + "IO1": "[Ignition_SATB1_IO2_default]", + "Room": "ER1249", + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P2-2", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-1_to_UT-P2-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-2_to_UT-P2-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P2-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO2_default]ER1249/SWBD/SATB1_ER1249_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 2, + "Gallery": "GAL1271", + "Gateway": "[Ignition_SATB1_IO2_default]", + "Linuep": 2 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/bc1c03b3c764d32de45691a5a8a75db383e03365e4e6049994a8dbbbebf502f5 b/Gateways/FE/projects/.resources/bc1c03b3c764d32de45691a5a8a75db383e03365e4e6049994a8dbbbebf502f5 new file mode 100644 index 0000000..2e37bb5 --- /dev/null +++ b/Gateways/FE/projects/.resources/bc1c03b3c764d32de45691a5a8a75db383e03365e4e6049994a8dbbbebf502f5 @@ -0,0 +1,24 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--error)", + "borderStyle": "none", + "boxShadow": "none", + "textTransform": "uppercase" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "var(--error)" + } + }, + { + "pseudo": "active", + "style": { + "color": "var(--neutral-30)" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/bc340151ad07a5e01a8da9f946d180c3f39c9af6d2db30a213a9d750161dd671 b/Gateways/FE/projects/.resources/bc340151ad07a5e01a8da9f946d180c3f39c9af6d2db30a213a9d750161dd671 new file mode 100644 index 0000000..da56f4e Binary files /dev/null and b/Gateways/FE/projects/.resources/bc340151ad07a5e01a8da9f946d180c3f39c9af6d2db30a213a9d750161dd671 differ diff --git a/Gateways/FE/projects/.resources/bc7004d272833efdb7213b3ffd00519fd839a4cc2e70e71eef2efdc16e257d02 b/Gateways/FE/projects/.resources/bc7004d272833efdb7213b3ffd00519fd839a4cc2e70e71eef2efdc16e257d02 new file mode 100644 index 0000000..15b1523 --- /dev/null +++ b/Gateways/FE/projects/.resources/bc7004d272833efdb7213b3ffd00519fd839a4cc2e70e71eef2efdc16e257d02 @@ -0,0 +1,653 @@ +def doGet(request, session): + html = """ + + + + + + + Pan Zoom iFrame + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+ + + + +
+ + +
+ +
+
+
+ + Fit to screen +
+
+ + Zoom Out +
+
+ + Zoom In +
+
+ + Set Zoom +
+
+ + Panning Mode +
 Interact : Disabled +
 Pan : Any Mouse Click +
 Zoom : Scroll Wheel +
+
+
+ + Interactive Mode +
 Interact : Left Click +
 Pan : Disabled +
 Zoom : Control Buttons +
+
+
+ +
+ + + + + """ + + gatewayAddress = request['params'].get('gatewayAddress', '') + projectName = request['params'].get('projectName', '') + targetURL = request['params'].get('targetURL', '') + targetDetailedURL = request['params'].get('targetDetailedURL', '') + height = request['params'].get('height', '') + width = request['params'].get('width', '') + pageId = request['params'].get('pageId', '') + + def makeURL(page): + if page.startswith('/'): + URL = "'{gatewayAddress}/data/perspective/client/{projectName}{page}/{pageId}';".format(gatewayAddress=gatewayAddress, projectName=projectName, page=page, pageId=pageId) +# URL = "'{gatewayAddress}/data/perspective/client/{projectName}{page}';".format(gatewayAddress=gatewayAddress, projectName=projectName, page=page) + else: + URL = "'{page}';".format(page=page) + return URL + + def cleanDim(dim): + if dim == '': + iDim = '100%' + elif dim.endswith('%'): + iDim = dim + elif dim.endswith('px'): + iDim = dim + else: + iDim = '%spx' % dim + return '%s;' % iDim + + html = html.replace("'https://example.com/'; /*replace-target*/", makeURL(targetURL)) + html = html.replace("'SDC_PHX_A7'; /*replace-target-detailed*/", makeURL(targetDetailedURL)) + html = html.replace("100%; /*replace-width*/", cleanDim(width)) + html = html.replace("100%; /*replace-height*/", cleanDim(height)) + + return {'html': html} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/bc7085d875775fc0521716f15f13721a8a7304acf30b19b88d6fe2ea41ffbd22 b/Gateways/FE/projects/.resources/bc7085d875775fc0521716f15f13721a8a7304acf30b19b88d6fe2ea41ffbd22 new file mode 100644 index 0000000..cc64e1e Binary files /dev/null and b/Gateways/FE/projects/.resources/bc7085d875775fc0521716f15f13721a8a7304acf30b19b88d6fe2ea41ffbd22 differ diff --git a/Gateways/FE/projects/.resources/bcd64edf39fec1a15c199f04405db8886999dcbe27edf1b958ad1c196863f08a b/Gateways/FE/projects/.resources/bcd64edf39fec1a15c199f04405db8886999dcbe27edf1b958ad1c196863f08a new file mode 100644 index 0000000..4820435 --- /dev/null +++ b/Gateways/FE/projects/.resources/bcd64edf39fec1a15c199f04405db8886999dcbe27edf1b958ad1c196863f08a @@ -0,0 +1,243 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/bd1c1b7071fb5ada7998f7f4e2253ff4b57540aa839f9a9a6cafd36b877a442c b/Gateways/FE/projects/.resources/bd1c1b7071fb5ada7998f7f4e2253ff4b57540aa839f9a9a6cafd36b877a442c new file mode 100644 index 0000000..0aa9697 Binary files /dev/null and b/Gateways/FE/projects/.resources/bd1c1b7071fb5ada7998f7f4e2253ff4b57540aa839f9a9a6cafd36b877a442c differ diff --git a/Gateways/FE/projects/.resources/bd763caafab02c8a42857b8c86189385776b392cd008cf46b946b4ebf946e6fb b/Gateways/FE/projects/.resources/bd763caafab02c8a42857b8c86189385776b392cd008cf46b946b4ebf946e6fb new file mode 100644 index 0000000..d0c608a --- /dev/null +++ b/Gateways/FE/projects/.resources/bd763caafab02c8a42857b8c86189385776b392cd008cf46b946b4ebf946e6fb @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES02_TT02" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"HH:mm\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947368983 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947368983 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/bd9cf73c3411bfa658ce18c8fc0fc600836bcb9bb890b18456cf318cdbc5b4ff b/Gateways/FE/projects/.resources/bd9cf73c3411bfa658ce18c8fc0fc600836bcb9bb890b18456cf318cdbc5b4ff new file mode 100644 index 0000000..aa39c66 Binary files /dev/null and b/Gateways/FE/projects/.resources/bd9cf73c3411bfa658ce18c8fc0fc600836bcb9bb890b18456cf318cdbc5b4ff differ diff --git a/Gateways/FE/projects/.resources/bda0f84b5813ef1da8d92013906eda4919ff4c1b233d5b26410414a068c457cf b/Gateways/FE/projects/.resources/bda0f84b5813ef1da8d92013906eda4919ff4c1b233d5b26410414a068c457cf new file mode 100644 index 0000000..225c3ef Binary files /dev/null and b/Gateways/FE/projects/.resources/bda0f84b5813ef1da8d92013906eda4919ff4c1b233d5b26410414a068c457cf differ diff --git a/Gateways/FE/projects/.resources/bdfe75db4a407976eb4e212352e31e062de939f114ae485377076d1c1d859027 b/Gateways/FE/projects/.resources/bdfe75db4a407976eb4e212352e31e062de939f114ae485377076d1c1d859027 new file mode 100644 index 0000000..2efff4b --- /dev/null +++ b/Gateways/FE/projects/.resources/bdfe75db4a407976eb4e212352e31e062de939f114ae485377076d1c1d859027 @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "UT", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/be0d1f669ab3dddd19e395e48dfb00225195b507ac6858b92270bc11afcdb909 b/Gateways/FE/projects/.resources/be0d1f669ab3dddd19e395e48dfb00225195b507ac6858b92270bc11afcdb909 new file mode 100644 index 0000000..a3afcb7 Binary files /dev/null and b/Gateways/FE/projects/.resources/be0d1f669ab3dddd19e395e48dfb00225195b507ac6858b92270bc11afcdb909 differ diff --git a/Gateways/FE/projects/.resources/be410cdceead6ab4c9452bf8362aff06c5bb1e03db000fc59bdd1da124cb08bb b/Gateways/FE/projects/.resources/be410cdceead6ab4c9452bf8362aff06c5bb1e03db000fc59bdd1da124cb08bb new file mode 100644 index 0000000..b116329 Binary files /dev/null and b/Gateways/FE/projects/.resources/be410cdceead6ab4c9452bf8362aff06c5bb1e03db000fc59bdd1da124cb08bb differ diff --git a/Gateways/FE/projects/.resources/be9d5aab20634b4e45814367492aa7d0548dd5de26470d36252d703550faf34e b/Gateways/FE/projects/.resources/be9d5aab20634b4e45814367492aa7d0548dd5de26470d36252d703550faf34e new file mode 100644 index 0000000..1d4e12d --- /dev/null +++ b/Gateways/FE/projects/.resources/be9d5aab20634b4e45814367492aa7d0548dd5de26470d36252d703550faf34e @@ -0,0 +1,4652 @@ +{ + "custom": { + "ColorHandler": { + "Walls": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "ER1128": "#BAEDFF", + "ER1160": "#BAEDFF", + "ER1185": "#BAEDFF", + "ER1229": "#BAEDFF", + "ER1284": "#BAEDFF", + "ER1287": "#BAEDFF", + "FS1232": "#BAEDFF", + "FS1285": "#BAEDFF", + "IDF1122": "#BAEDFF", + "IDF1154": "#BAEDFF", + "IDF1174": "#BAEDFF", + "IDF1218": "#BAEDFF", + "IDF1264": "#BAEDFF", + "IDF1274": "#BAEDFF", + "IDF1286": "#BAEDFF", + "MDF1149": "#BAEDFF", + "MDF1187": "#BAEDFF", + "MR1125": "#BAEDFF", + "MR1132": "#BAEDFF" + }, + "rooms": [ + "ER1185", + "MDF1187", + "ER1160", + "IDF1174", + "IDF1154", + "MDF1149", + "FS1285", + "IDF1286", + "ER1287", + "ER1284", + "IDF1274", + "IDF1264", + "ER1128", + "MR1125", + "ER1229", + "IDF1218", + "IDF1122", + "FS1232", + "MR1132" + ], + "selected": "" + }, + "params": {}, + "propConfig": { + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.rooms}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\toutput[room] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Second Floor" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1284" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.FS1285" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1286" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1287" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1274" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1264" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1218" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1229" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.FS1232" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[128].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[129].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[130].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[131].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[132].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[133].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[134].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[135].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[136].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[137].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[138].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[139].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[140].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[141].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[142].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[143].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[144].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "51.095", + "id": "_1284-ELEC", + "name": "_1284-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.57" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "159", + "id": "_1285-FIRE---PLBG", + "name": "_1285-FIRE---PLBG", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "459" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.959", + "id": "_1286-STREAM-IDF", + "name": "_1286-STREAM-IDF", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "48.401", + "id": "_1287-ELEC", + "name": "_1287-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "715.959" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "413.89", + "id": "_1288-ANCILLARY-SPACE", + "name": "_1288-ANCILLARY-SPACE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "764.36" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "74.162", + "id": "_1290-STAIRS-C", + "name": "_1290-STAIRS-C", + "type": "rect", + "width": "203.609", + "x": "1515.79", + "y": "1178.24" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.034", + "id": "_1298-STAIRS-B", + "name": "_1298-STAIRS-B", + "type": "rect", + "width": "203.488", + "x": "3802.63", + "y": "1178.22" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "204.973", + "id": "_1283-STAIRS-D", + "name": "_1283-STAIRS-D", + "type": "rect", + "width": "85", + "x": "3.128", + "y": "359.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-2-CORRIDOR-D-2", + "name": "_1293-2-CORRIDOR-D-2", + "type": "rect", + "width": "1565.25", + "x": "88.378", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297-2-CORRIDOR-H-2", + "name": "_1297-2-CORRIDOR-H-2", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-CORRIDOR-D-1", + "name": "_1293-CORRIDOR-D-1", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.652", + "id": "_1297-1-CORRIDOR-H-1", + "name": "_1297-1-CORRIDOR-H-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "1134.59" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-1-CORRIDOR-C-1", + "name": "_1293-1-CORRIDOR-C-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "170.5" + }, + { + "d": "M2894.63,1135l165.5,0l0,-119.139l-89.5,0.035l2.66,-626.222l86.84,-0.439l0,-46.294l-84.5,0.05l0.136,-107.491l-81.136,-0l0,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1294-CORRIDOR-E", + "name": "_1294-CORRIDOR-E", + "type": "path" + }, + { + "d": "M183.628,1135l63.25,0l0,-792.225l-84.75,0l0,-107.275l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1296-CORRIDOR-G", + "name": "_1296-CORRIDOR-G", + "type": "path" + }, + { + "d": "M4372.13,641.334l0,94.166l105.352,0l-0,-27.647l107.148,-0l0,-66.519l-99.279,0.357l0.16,-34.158l-74.688,-0.533l-0,34.334l-38.693,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1290-CORRIDOR-A", + "name": "_1290-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.084", + "id": "_1291-CORRIDOR-B", + "name": "_1291-CORRIDOR-B", + "type": "rect", + "width": "64.5", + "x": "4307.63", + "y": "235.5" + }, + { + "d": "M1488.64,1135l164.992,0l0,-120.965l-89.5,0l0,-626.5l89.5,0l0,-44.535l-84.25,-0.059l-0.189,-107.441l-80.561,-0l0.008,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1295-CORRIDOR-F", + "name": "_1295-CORRIDOR-F", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297--1-CORRIDOR-H-1", + "name": "_1297--1-CORRIDOR-H-1", + "type": "rect", + "width": "1469.5", + "x": "184.128", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1223-STAIRS-A", + "name": "_1223-STAIRS-A", + "type": "rect", + "width": "58.258", + "x": "4477.13", + "y": "707.853" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "50", + "x": "4373.13", + "y": "735.5" + } + ], + "id": "Corridors-and-Stairs", + "name": "Corridors-and-Stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.24", + "id": "_1274-STREAM-IDF", + "name": "_1274-STREAM-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "948.76" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "561.225", + "id": "_1273-TENANT-IDF", + "name": "_1273-TENANT-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "387.535" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1271-GALLERY", + "name": "_1271-GALLERY", + "type": "rect", + "width": "1325.56", + "x": "1569.06", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1272-GALLERY", + "name": "_1272-GALLERY", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.245", + "id": "_1270-DATA-HALL-2", + "name": "_1270-DATA-HALL-2", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "342.941" + } + ], + "id": "DH2", + "name": "DH2", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "66.58", + "id": "_1264-STREAM-IDF", + "name": "_1264-STREAM-IDF", + "type": "rect", + "width": "88.5", + "x": "2971.13", + "y": "389.603" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "559.317", + "id": "_1263-TENANT-IDF", + "name": "_1263-TENANT-IDF", + "type": "rect", + "width": "89", + "x": "2971.13", + "y": "456.183" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1261-GALLERY", + "name": "_1261-GALLERY", + "type": "rect", + "width": "1331.87", + "x": "2975.76", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1262-GALLERY-", + "name": "_1262-GALLERY-", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1260-DATAHALL---1", + "name": "_1260-DATAHALL---1", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "342.775" + } + ], + "id": "DH1", + "name": "DH1", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1257-ER", + "name": "_1257-ER", + "type": "rect", + "width": "231.631", + "x": "329.128", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1258-ER", + "name": "_1258-ER", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1256-ER", + "name": "_1256-ER", + "type": "rect", + "width": "232.369", + "x": "560.759", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.5", + "id": "_1255-ER", + "name": "_1255-ER", + "type": "rect", + "width": "231.771", + "x": "793.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1254-ER", + "name": "_1254-ER", + "type": "rect", + "width": "233.733", + "x": "1024.9", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1253-MEP-ROOM", + "name": "_1253-MEP-ROOM", + "type": "rect", + "width": "237.71", + "x": "1258.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1252-ER", + "name": "_1252-ER", + "type": "rect", + "width": "238.786", + "x": "1496.34", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1251-ER", + "name": "_1251-ER", + "type": "rect", + "width": "232.058", + "x": "1735.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1250-ER", + "name": "_1250-ER", + "type": "rect", + "width": "232.442", + "x": "1967.19", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1249-ER", + "name": "_1249-ER", + "type": "rect", + "width": "232.5", + "x": "2199.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1248-ER", + "name": "_1248-ER", + "type": "rect", + "width": "231.642", + "x": "2432.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1247-ER", + "name": "_1247-ER", + "type": "rect", + "width": "239.226", + "x": "2663.77", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1246-ER", + "name": "_1246-ER", + "type": "rect", + "width": "238.331", + "x": "2903", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1245-ER", + "name": "_1245-ER", + "type": "rect", + "width": "232.897", + "x": "3141.33", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1244-ER", + "name": "_1244-ER", + "type": "rect", + "width": "231.5", + "x": "3374.22", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1243-ER", + "name": "_1243-ER", + "type": "rect", + "width": "231.5", + "x": "3606.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1242-ER", + "name": "_1242-ER", + "type": "rect", + "width": "231.5", + "x": "3838.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1241-MECH-POWER", + "name": "_1241-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4070.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1240-MECH-POWER", + "name": "_1240-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4301.63", + "y": "0.345" + } + ], + "id": "Elec-Mech-Rooms", + "name": "Elec-Mech-Rooms", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1218-STREAM-IDF", + "name": "_1218-STREAM-IDF", + "type": "rect", + "width": "90.036", + "x": "4372.13", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1179-Space", + "name": "_1179-Space", + "type": "rect", + "width": "61.464", + "x": "4462.16", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "116", + "id": "_1229-ELEC", + "name": "_1229-ELEC", + "type": "rect", + "width": "62", + "x": "4372.13", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1230-FREIGHT", + "name": "_1230-FREIGHT", + "type": "rect", + "width": "101", + "x": "4434.13", + "y": "815.754" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "91.008", + "id": "_132-PLBG-FP", + "name": "_132-PLBG-FP", + "type": "rect", + "width": "132", + "x": "4372.13", + "y": "1087.08" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "74.548", + "id": "_1292-VESTIBULE", + "name": "_1292-VESTIBULE", + "type": "rect", + "width": "217.056", + "x": "4419.07", + "y": "933" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1232-FREIGHT", + "name": "_1232-FREIGHT", + "type": "rect", + "width": "101", + "x": "4535.13", + "y": "816.127" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "_1225-PASS", + "name": "_1225-PASS", + "type": "rect", + "width": "54", + "x": "4423.13", + "y": "735.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1219-DAS", + "name": "_1219-DAS", + "type": "rect", + "width": "49.241", + "x": "4535.39", + "y": "707.853" + }, + { + "d": "M4372.43,468.5l-0.3,173.191l38.714,0.309l0.316,-35.019l37.175,-0l0,-138.481l-75.905,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1222-WRR", + "name": "_1222-WRR", + "type": "path" + }, + { + "d": "M4372.13,1087.5l0,-154.225l46.944,-0.275l0,74.548l85.056,0l0,79.952l-132,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1233-RECEIVING", + "name": "_1233-RECEIVING", + "type": "path" + }, + { + "d": "M4523.33,468.5l0.297,173.191l-38.252,0.309l0.132,-34.62l-37.176,-0.399l0,-138.481l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1221-MRR", + "name": "_1221-MRR", + "type": "path" + }, + { + "d": "M4372.13,170.944l161.521,-0.409l-0,-170.19l241.055,0l-0.026,417.527l33.233,0.171l-0,368.658l-33.257,-0.446l-0.026,393.745l-270.392,-1.913l0.071,-169.285l131.771,1.464l0,-192.326l-51.45,-3.725l0,-174.843l-60.43,-0.041l-1.014,-234.56l-151.056,-2.093l0,-231.734Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1200-TENANT-OFFICE-SHELL", + "name": "_1200-TENANT-OFFICE-SHELL", + "type": "path" + } + ], + "id": "Offices", + "name": "Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1281-GALLERY", + "name": "_1281-GALLERY", + "type": "rect", + "width": "1326.5", + "x": "162.128", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1282-GALLERY", + "name": "_1282-GALLERY", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1280-DATA-HALL-4", + "name": "_1280-DATA-HALL-4", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "342.775" + } + ], + "id": "DH4", + "name": "DH4", + "type": "group" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,368.223l-33.283,0l0,391.5l-787.5,0.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3967.13,1178.09l-2264.08,0.15", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1680.63,1178.24l-157,0.01", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4129.13,170.306l133,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,978.886l0,36.649l-88.5,0l0,-626.3l4.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3014.13,389.235l45.5,-0l0,100.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,527.535l0,413", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2971.13,456.183l88.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4317.63,170.306l-35.5,-0.021l20.397,0.021l-0,-169.961l-1399.13,0l0.04,170.19", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-41,0l20.835,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3586.39,170.5l40.213,-0l-20.874,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3565.92,170.5l-153.279,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3374.13,0.035l-0.25,170.465l19.081,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,90.184", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,24.301l0,-97.908", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,956.535l0,220.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.7,1130l-0,5l1247.92,0l0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1091.5l0,-32.5l0,4.798l-1247.92,-0l-0,-4.798l-0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2975.76,279.882l-0,-44.382l1331.86,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,319.166l0,23.775l-1331.67,0l-0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,1021.17l0,-559.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,423.535l0,-36l-89.5,0l0,575l0,-13.648l89.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1564.13,974.035l0,40l89.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1017.79l0,-633.291", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1020l0,-677.059", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M184.128,918.535l0,-159l0,5l-96,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4533.65,0.345l-0,170.19l-176.861,0l15.34,0l0,109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,298.432l0,109.5l0,-5.038l151.68,0l-0,238.345l-38.283,-0l0,-4.417l0,4.417l99.103,-0l0,4.785", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4584.63,667.425l0,149.11l51.45,0l0,136.168l0,-20.246l-8.65,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.08,972.948l0,34.587l-145.952,0l13.62,0l0,170.552", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1178.09l0,-22.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1117.98l0,-50.944l0,20.024l131.228,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1010.86l0,-37.914", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4433.13,1007.78l-14,0l0,-34.837", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.38,953.035l0.14,-25.363l0,5.363l71.412,0l-9.032,0l-0.439,-116.588l-11.395,-0.077l-0.116,-80.663l-19.82,0l36.569,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4381.72,735.785l-9.343,-0.25l0,172l0,-91.03l212.25,-0.24", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4476.97,817.035l0.655,-81.5l-10.409,0l10.409,0l0,-27.682l4.315,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4502.13,707.853l57.115,-0l-23.559,-0l0,225.182l-9.557,0l15.999,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.13,953.035l0,-20", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4410.88,637.035l-0,4.656l-38.448,0l0,-213.533", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,468.395l151.811,-0.471", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4461.67,468.395l-0.188,-64.361", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4448.33,467.924l-0.495,139.076l37.671,0.035l-0,9.778l-0,-9.778l-74.351,0l0,9.873", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Second-Floor-Walls", + "name": "Second-Floor-Walls", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMinYMin", + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4809 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "FS1285", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 12, + "width": 7, + "x": 9, + "y": 42.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1286", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 7, + "width": 10, + "x": 9, + "y": 56.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1287", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 5, + "width": 10, + "x": 9, + "y": 65.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1284", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 6, + "width": 10, + "x": 9, + "y": 34.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1274", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 6, + "width": 8, + "x": 140, + "y": 84.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1264", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 7, + "width": 8, + "x": 266, + "y": 33.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1229", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 7, + "width": 6, + "x": 390, + "y": 75.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1218", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 4, + "width": 8, + "x": 391, + "y": 36.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "FS1232", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 8, + "width": 8, + "x": 406, + "y": 73.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_02_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/beb7b9d8df81b47932ddecfaf435795546b114833ea1c13bba8e9494fc6daee5 b/Gateways/FE/projects/.resources/beb7b9d8df81b47932ddecfaf435795546b114833ea1c13bba8e9494fc6daee5 new file mode 100644 index 0000000..f9cb3eb --- /dev/null +++ b/Gateways/FE/projects/.resources/beb7b9d8df81b47932ddecfaf435795546b114833ea1c13bba8e9494fc6daee5 @@ -0,0 +1,197 @@ +{ + "custom": { + "endDate": "2025-04-18 23:59:59", + "location": null, + "startDate": "2025-04-16 00:00:00" + }, + "params": { + "endDate": "2025-04-18 23:59:59", + "location": null, + "startDate": "2025-04-16 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "38px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 15 + }, + "type": "ia.input.dropdown" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\ttoggleSelect \u003d self.parent.getChild(\"Toggles\").getChild(\"RadioGroup\").props.value\n\tsystem.perspective.download(\"%s-Raw.xls\"%toggleSelect, xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.CritPwrData": { + "binding": { + "config": { + "struct": { + "endDate": "{view.custom.endDate}", + "interval": "{../CalculatedFields/Actions/Dropdown.props.value}", + "location": "{view.custom.location}", + "startDate": "{view.custom.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\tlocation\u003d value[\"location\"]\n\tinterval \u003d value[\"interval\"]\n\treturn reports.MBR.criticalpower.doReportInterval(startDate, endDate, location, interval)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.CritPwrData.rawDS" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/bebd69c00ff71410fa68557775c0f55e3789141c90b816e9e57aee09e6c0fc73 b/Gateways/FE/projects/.resources/bebd69c00ff71410fa68557775c0f55e3789141c90b816e9e57aee09e6c0fc73 new file mode 100644 index 0000000..17aca15 --- /dev/null +++ b/Gateways/FE/projects/.resources/bebd69c00ff71410fa68557775c0f55e3789141c90b816e9e57aee09e6c0fc73 @@ -0,0 +1,791 @@ +{ + "custom": {}, + "params": { + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO6/Independent" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 250, + "width": 400 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Gateway |" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AgentName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "IO Gateway", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontStyle": "italic" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "style": { + "gap": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Version:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Version" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "8.3.4", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Status", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/IsApproved" + }, + "enabled": false, + "transforms": [ + { + "fallback": "error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Not Approved" + }, + { + "input": true, + "output": "Approved" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Approved", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/IsConnected" + }, + "enabled": false, + "transforms": [ + { + "fallback": "error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Not Connected" + }, + { + "input": true, + "output": "Connected" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Connected", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/IsApproved" + }, + "enabled": false, + "transforms": [ + { + "fallback": "error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Not Running" + }, + { + "input": true, + "output": "Running" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Running", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Browser URL", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/BrowserURL" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "http://ip_address:8088", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "props": { + "alignContent": "space-between", + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "State:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/RunningState" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Running", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_3" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Last Comms:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_4" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "75%" + }, + "props": { + "direction": "column", + "style": { + "gap": 3, + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "CPU_Gauge" + }, + "position": { + "basis": "75px" + }, + "propConfig": { + "props.arc.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Metrics/System/CPU Usage" + }, + "transforms": [ + { + "code": "\tif value\u003e 50:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.arcBackground.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Metrics/System/CPU Usage" + }, + "transforms": [ + { + "code": "\tif value\u003e 50:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Metrics/System/CPU Usage" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "arc": { + "width": 0 + }, + "arcBackground": {}, + "endAngle": 450, + "label": { + "offsetY": 12, + "visible": false + }, + "startAngle": 90, + "style": { + "overflow": "visible" + }, + "value": 30 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Metrics/System/CPU Usage" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##.##", + "type": "format" + }, + { + "expression": "{value}+\"% cpu\"", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "30 % cpu", + "textStyle": { + "color": "var(--tagvalue-color)", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CPU_Gauge_0" + }, + "position": { + "basis": "75px" + }, + "propConfig": { + "custom.memory": { + "binding": { + "config": { + "struct": { + "max": "{this.props.maxValue}", + "value": "{this.props.value}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d float(value[\"value\"]) / float(value[\"max\"])\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.arc.color": { + "binding": { + "config": { + "path": "this.props.value" + }, + "transforms": [ + { + "code": "\tif value\u003e 33.0:\n\t\toutput \u003d \"#F1E013\"\n\telif value \u003e66.0:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.arcBackground.color": { + "binding": { + "config": { + "path": "this.props.value" + }, + "transforms": [ + { + "code": "\tif value\u003e 33.0:\n\t\toutput \u003d \"#F1E013\"\n\telif value \u003e50.0:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Metrics/System/Memory Usage" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "arc": { + "width": 0 + }, + "arcBackground": {}, + "endAngle": 450, + "label": { + "color": "#F1E013", + "offsetY": 12, + "visible": false + }, + "startAngle": 90, + "style": { + "overflow": "visible" + }, + "value": 64 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Metrics/System/Memory Usage" + }, + "enabled": false, + "transforms": [ + { + "expression": "{value}+ \" %\"", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "64 %", + "textStyle": { + "color": "var(--tagvalue-color)", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "85%" + }, + "props": { + "style": { + "outlineStyle": "none" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "15%" + }, + "props": { + "style": { + "backgroundColor": "#143663" + }, + "text": "IO GATEWAY", + "textStyle": { + "color": "white", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "outlineColor": "#143663", + "outlineStyle": "solid", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/bef8446413337cc33f80acc99a746fe9fc35c3425df2390546c4e50a3a7a94eb b/Gateways/FE/projects/.resources/bef8446413337cc33f80acc99a746fe9fc35c3425df2390546c4e50a3a7a94eb new file mode 100644 index 0000000..1ce2aed --- /dev/null +++ b/Gateways/FE/projects/.resources/bef8446413337cc33f80acc99a746fe9fc35c3425df2390546c4e50a3a7a94eb @@ -0,0 +1,87 @@ +from datetime import datetime +def getBaseTagPaths(collection, location=None): + if location is not None: + return collection[location] + else: +# return [x for v in collection.values() for x in v] + return [value for key, values in collection.items() if key in ["Common","DH1","DH2","DH3","DH4","DH5"] for value in values] + + +def getHistory(paths, startDate, endDate, customArgs={}): + """ + Generic get history + Args: + paths: [] of strings/tagpaths + startDate: date start of range + endDate: date end of range + customArgs: dictionary of custom values if needed + returns: + PyDataSet + """ + intervalMin = customArgs.get("intervalMinutes",1) + noInterpol = customArgs.get("noInterpolation",True) + ignoreBad = customArgs.get("ignoreBadQuality",True) + aggMode = customArgs.get("aggregationMode","LastValue") + + histDS = system.tag.queryTagHistory(paths, startDate, endDate, aggregationMode = aggMode, intervalMinutes= intervalMin,noInterpolation= noInterpol, ignoreBadQuality= ignoreBad ) +# print "common.util.getHist", histDS.getRowCount(), paths + return system.dataset.toPyDataSet(histDS) + + +def generateSumCol(hist, sumColName="SumRealPwr"): + allHeaders = system.dataset.getColumnHeaders(hist) + + sumCol = [] + for row in hist: + try: + sumCol.append(sum([row[h] for h in allHeaders[1:] if row[h] is not None]) if len(allHeaders)>1 else 0) + except: + sumCol.append(0) + + return system.dataset.toPyDataSet(system.dataset.addColumn(hist, sumCol, sumColName, float)) + +def averageIntervalData(histDS, interval=15): + """ + Average values over time based on minute per minute data. + First column should be t_stamp + """ + timeUnitStr = "" + GroupDict= {} # represents {"datetime":{"col1":[], "col2":[]...}} + histDsCols = system.dataset.getColumnHeaders(histDS)[1:] + resultData = [] + for i,row in enumerate(histDS): + if i%interval == 0: + timeUnitStr = system.date.format(row["t_stamp"],"yyyy-MM-dd HH:mm") + GroupDict.setdefault(timeUnitStr, {}) + GroupDict[timeUnitStr]={col:[] for col in histDsCols} +# GroupDict[quarterHrStr].append(row["SumRealPwr"]) + for col in histDsCols: + GroupDict[timeUnitStr][col].append(row[col] if row[col] is not None else 0) + sortedDateKeys = sorted(GroupDict.keys(), key=lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M')) + for dt_str in sortedDateKeys: + oneRow = [system.date.parse(dt_str, "yyyy-MM-dd HH:mm")]+ [sum(GroupDict[dt_str][col])/len(GroupDict[dt_str][col]) for col in histDsCols] + resultData.append(oneRow) + + return system.dataset.toPyDataSet(system.dataset.toDataSet(["t_stamp"]+histDsCols, resultData)) + + +def mergeHistorianData(ds1, ds2): + """ + Expects 2 sets of historian data, sanity check . t_stamp should be column index 0, so we only need one + """ + if len(ds1) != len(ds2): + raise Exception("Mismatch on both datasets") + else: + ds1Header = system.dataset.getColumnHeaders(ds1) + ds2Header = system.dataset.getColumnHeaders(ds2)[1:] + + newHeader = ds1Header+ds2Header + + allRows = [] + for i,row in enumerate(ds1): + newRow = [c for c in row] + ([c for c in ds2[i]][1:]) + allRows.append(newRow) +# print len(newHeader), len(allRows[0]) + return system.dataset.toPyDataSet(system.dataset.toDataSet(newHeader, allRows)) + + \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/beff43e79f82e93672e52cc5b6b3cd1eec85b6b16d0c9d2ce1f78d1759da471e b/Gateways/FE/projects/.resources/beff43e79f82e93672e52cc5b6b3cd1eec85b6b16d0c9d2ce1f78d1759da471e new file mode 100644 index 0000000..caccfc0 --- /dev/null +++ b/Gateways/FE/projects/.resources/beff43e79f82e93672e52cc5b6b3cd1eec85b6b16d0c9d2ce1f78d1759da471e @@ -0,0 +1,100 @@ +{ + "custom": {}, + "params": { + "inPath": "[Ignition_Common_IO_Gtwy]Cables/DS_1A_1B", + "outPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3" + }, + "propConfig": { + "params.inPath": { + "paramDirection": "input", + "persistent": true + }, + "params.outPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 43 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "Label" + }, + "position": { + "basis": "76.7%" + }, + "propConfig": { + "custom.colorHandler.cable": { + "binding": { + "config": { + "struct": { + "in1": "{view.custom.In1}", + "in2": "{view.custom.In2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027in1\u0027]\u003e0:\n\t\treturn \u0027var(--olRed)\u0027\n\tif value[\u0027in2\u0027]\u003c0:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.style.borderLeftColor": { + "binding": { + "config": { + "path": "this.custom.colorHandler.cable" + }, + "type": "property" + } + }, + "props.style.borderRightColor": { + "binding": { + "config": { + "path": "this.custom.colorHandler.cable" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "this.custom.colorHandler.cable" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomWidth": 2, + "borderLeftStyle": "none", + "borderLeftWidth": 2, + "borderRightStyle": "none", + "borderRightWidth": 2, + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/bf1e00a4383ff764290c0478fa5bebf3727d023b3ff09acbaa0af0166d7fc1d9 b/Gateways/FE/projects/.resources/bf1e00a4383ff764290c0478fa5bebf3727d023b3ff09acbaa0af0166d7fc1d9 new file mode 100644 index 0000000..bf55ec5 Binary files /dev/null and b/Gateways/FE/projects/.resources/bf1e00a4383ff764290c0478fa5bebf3727d023b3ff09acbaa0af0166d7fc1d9 differ diff --git a/Gateways/FE/projects/.resources/bf4bc0b7a212e0126238744981d4412254f3808cbe8c3974b7c71aeea0d0b41d b/Gateways/FE/projects/.resources/bf4bc0b7a212e0126238744981d4412254f3808cbe8c3974b7c71aeea0d0b41d new file mode 100644 index 0000000..5b76d0d Binary files /dev/null and b/Gateways/FE/projects/.resources/bf4bc0b7a212e0126238744981d4412254f3808cbe8c3974b7c71aeea0d0b41d differ diff --git a/Gateways/FE/projects/.resources/bf8815ebf56def7824147863229765a6c1978d57cade35886ca382598a736673 b/Gateways/FE/projects/.resources/bf8815ebf56def7824147863229765a6c1978d57cade35886ca382598a736673 new file mode 100644 index 0000000..ad12c0c --- /dev/null +++ b/Gateways/FE/projects/.resources/bf8815ebf56def7824147863229765a6c1978d57cade35886ca382598a736673 @@ -0,0 +1,1148 @@ +{ + "custom": { + "MNumber": "M3", + "room": "MPR1241" + }, + "params": { + "pageId": "value" + }, + "propConfig": { + "custom.MNumber": { + "persistent": true + }, + "custom.room": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable" + }, + "position": { + "height": 990, + "width": 1250, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M2_to_UT-M3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M3_to_UT-M4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "UT-M2", + "right": "UT-M4" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M3", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 241, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 56, + "y": 235 + }, + "propConfig": { + "custom.MNumber": { + "binding": { + "config": { + "path": "view.custom.MNumber" + }, + "type": "property" + } + }, + "custom.room": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "type": "property" + } + }, + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M3", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 0, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 419, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD15" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 479, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD16" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_1" + }, + "position": { + "height": 255, + "width": 70, + "x": 539, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD17" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 424, + "y": 532.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 244, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M3" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/bfb67f58e1f26d2656b1ccfbbdbf771b7128e19afa2bfd257b7ebb50a22d2b83 b/Gateways/FE/projects/.resources/bfb67f58e1f26d2656b1ccfbbdbf771b7128e19afa2bfd257b7ebb50a22d2b83 new file mode 100644 index 0000000..422ecf3 Binary files /dev/null and b/Gateways/FE/projects/.resources/bfb67f58e1f26d2656b1ccfbbdbf771b7128e19afa2bfd257b7ebb50a22d2b83 differ diff --git a/Gateways/FE/projects/.resources/bfdfac5b8794a62c9f566c82fb7d8f3484f6b373f211ed7376886680d5d3911d b/Gateways/FE/projects/.resources/bfdfac5b8794a62c9f566c82fb7d8f3484f6b373f211ed7376886680d5d3911d new file mode 100644 index 0000000..f3a7a13 --- /dev/null +++ b/Gateways/FE/projects/.resources/bfdfac5b8794a62c9f566c82fb7d8f3484f6b373f211ed7376886680d5d3911d @@ -0,0 +1,1184 @@ +{ + "custom": { + "lineColor": "var(--olRed)" + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "DP-LP-HS", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "propConfig": { + "custom.lineColor": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 109, + "width": 258 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258 + }, + "propConfig": { + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.mainBreaker1" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.mainBreaker2" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1-1" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1-2" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2-1" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2-2" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3-1" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3-2" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4-1" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4-2" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.tagIdPlate2" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.tagIdPlate1" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.tagIdPlate3" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "193.375", + "x": "0", + "y": "14.25" + }, + { + "d": "M0,18.268l0,-4.018l3.837,0l-0,0.75l-3.087,-0l0,3.268l-0.75,-0Zm9.208,-4.018l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.744,0l-0,0.75l-7.674,0l0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.303,0l0,-0.75l2.303,0Zm10.743,0l-0,0.75l-7.674,0l-0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l-0,0.75l-7.674,0l0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.744,0l-0,0.75l-7.674,0l0,-0.75l7.674,0Zm5.371,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.303,0l0,-0.75l2.303,0Zm10.743,0l-0,0.75l-7.674,0l-0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm6.906,4.018l-0.75,-0l0,-3.268l-3.087,0l0,-0.75l3.837,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.837,7.232l0,-0.75l3.087,0l0,-3.268l0.75,0l0,4.018l-3.837,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.673,0l0,0.75l-7.673,0Zm-5.372,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.673,0l0,0.75l-7.673,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.673,0l0,0.75l-7.673,0Zm-5.372,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.372,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-6.906,-4.018l0.75,0l0,3.268l3.087,0l-0,0.75l-3.837,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M7.5,45.365l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M186.128,45.365l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,47.99l178.628,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,34.466l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M153.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M19.875,24.74c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "24.74", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "18.75", + "cy": "33.74", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M23.535,24.74c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,39.315,29.2448)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "27.348px", + "y": "29.245px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "27.169px", + "y": "33.033px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M19.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "62.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "18.75", + "cy": "71.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M23.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,38.9871,66.1388)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "36.442px ", + "y": "66.139px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "27.02px", + "y": "66.139px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "27.169px", + "y": "69.927px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M64.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "63.75", + "cy": "62.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "63.75", + "cy": "71.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M68.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,84.0081,66.1388)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "72.041px", + "y": "66.139px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "72.19px", + "y": "69.927px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "62.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "108.75", + "cy": "71.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M113.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,129.029,66.1388)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "126.484px ", + "y": "66.139px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "117.062px", + "y": "66.139px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "117.211px", + "y": "69.927px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "d": "M154.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "153.75", + "cy": "62.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "153.75", + "cy": "71.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M158.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,173.921,66.1388)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "171.376px ", + "y": "66.139px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "161.954px", + "y": "66.139px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "162.103px", + "y": "69.927px" + } + ], + "id": "Text4", + "name": "Text4", + "type": "group" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,179.821,6.74479)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ",", + "type": "tspan", + "x": "178.664px ", + "y": "6.745px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "149.159px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,174.857,2.99479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "x": "149.159px", + "y": "2.995px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "148.98px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 194 82" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c00a489bd50faee9566e0f7588cd1de637b09a7d5feebc2e621bb5efd9382493 b/Gateways/FE/projects/.resources/c00a489bd50faee9566e0f7588cd1de637b09a7d5feebc2e621bb5efd9382493 new file mode 100644 index 0000000..6d888ed --- /dev/null +++ b/Gateways/FE/projects/.resources/c00a489bd50faee9566e0f7588cd1de637b09a7d5feebc2e621bb5efd9382493 @@ -0,0 +1,2 @@ +select id, settingname, settingvalue from user_settings +where username= :username \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c06984602d4e11d7f861da5129fe439acd94880a15e24690da552b5c9aab39c8 b/Gateways/FE/projects/.resources/c06984602d4e11d7f861da5129fe439acd94880a15e24690da552b5c9aab39c8 new file mode 100644 index 0000000..534da97 --- /dev/null +++ b/Gateways/FE/projects/.resources/c06984602d4e11d7f861da5129fe439acd94880a15e24690da552b5c9aab39c8 @@ -0,0 +1,5961 @@ +{ + "custom": { + "Src01": 1, + "Src02": 0 + }, + "params": { + "pageId": "" + }, + "propConfig": { + "custom.Src01": { + "persistent": true + }, + "custom.Src02": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1310, + "width": 1801 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "HS1 Cables" + }, + "position": { + "height": 1290, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.CamOut": { + "binding": { + "config": { + "path": "../CAM-HS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.FP": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB1": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._1" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB10": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB11": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._11" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB12": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB13": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._13" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB14": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._14" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB15": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._15" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB16": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._16" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB2": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB3": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB4": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._4" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB5": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._5" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB6": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._6" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB7": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._7" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB8": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._8" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB9": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._9" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS_Out": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT-HS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UTOut" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UTOut" + }, + "type": "property" + } + }, + "props.elements[10].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB3" + }, + "type": "property" + } + }, + "props.elements[10].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB3" + }, + "type": "property" + } + }, + "props.elements[11].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB4" + }, + "type": "property" + } + }, + "props.elements[11].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB5" + }, + "type": "property" + } + }, + "props.elements[11].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB6" + }, + "type": "property" + } + }, + "props.elements[11].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB7" + }, + "type": "property" + } + }, + "props.elements[11].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB7" + }, + "type": "property" + } + }, + "props.elements[11].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB8" + }, + "type": "property" + } + }, + "props.elements[11].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB9" + }, + "type": "property" + } + }, + "props.elements[11].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB8" + }, + "type": "property" + } + }, + "props.elements[11].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB9" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-HS1_to_UT-P1-1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-HS1_to_UT-P1-1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-HS1_to_UT-P1-1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.FP" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.FP" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.FP" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.FP" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[3].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.FP" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.FP" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GenOut" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GenOut" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GenOut" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GenOut" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[4].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CamOut" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[4].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CamOut" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[4].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CamOut" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[4].elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CamOut" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB10" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB10" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB10" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB10" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB10" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB10" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB12" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB15" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB13" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB14" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB15" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB15" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB11" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB11" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB12" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB13" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB14" + }, + "type": "property" + } + }, + "props.elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB16" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M63.75,99.532l-45,0l0,290.468l36.075,0l-0.029,66.339", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,86.23l0,105.793", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "UT_OUT", + "name": "UT", + "type": "group" + }, + { + "d": "M198.75,245.226l0,23.274", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M39.78,12.734l1.477,2.257l-1.477,2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M56.257,14.991l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M41.257,14.991l15,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M87.727,17.248l-1.477,-2.257l1.477,-2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.25,14.991l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M71.25,14.991l15,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,38.583,16.4823)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": "4.167px", + "textAlign": "right" + }, + "text": "DS-1A1 W4", + "type": "text", + "x": "15px", + "y": "16.482px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,116.679,16.4823)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": "4.167px" + }, + "text": "UT P1.1", + "type": "text", + "x": "88.887px", + "y": "16.482px" + } + ], + "id": "SRC", + "name": "SRC", + "type": "group" + }, + { + "elements": [ + { + "d": "M72.511,456.339l-0,-28.819l36.239,0l0.029,-56.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M121.2,313.523l-2.257,1.477l-2.256,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "var(--olGreen)", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M121.2,311.349l-2.257,1.477l-2.256,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "var(--olGreen)", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M118.943,315l0,32.118", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "var(--olGreen)", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M98.702,371.25l0,-56.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M101.515,305.257l2.812,4.872l-2.812,4.871l-5.625,0l-2.813,-4.871l2.813,-4.872l5.625,0Zm-0.481,0.834l-4.663,-0l-2.331,4.038l2.331,4.038l4.663,-0l2.331,-4.038l-2.331,-4.038Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,101.727,311.62)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "PF", + "type": "text", + "x": "96.403px", + "y": "311.62px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,124.772,306.733)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "TEMP", + "type": "text", + "x": "113.198px", + "y": "306.733px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,123.5,310.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "GEN", + "type": "text", + "x": "114.471px", + "y": "310.533px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "FP", + "name": "FP", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M153.75,57l0,64.165", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M196.343,114.099l-1.477,-2.256l1.477,-2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "purple", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M198.517,114.099l-1.477,-2.256l1.477,-2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "var(--olRed)", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M194.866,111.843l-41.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "var(--olRed)", + "width": "0.83px" + }, + "type": "path", + "visibility": "hidden" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,222.411,113.334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOADBANK", + "type": "text", + "x": "199.718px", + "y": "113.334px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,248.728,139.141)", + "type": "group" + }, + { + "elements": [], + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "TO PORTABLE GENERATOR", + "type": "text", + "x": "199.718px", + "y": "139.141px" + } + ], + "name": "group", + "type": "group", + "visibility": "hidden" + }, + { + "elements": [ + { + "d": "M196.343,139.906l-1.477,-2.256l1.477,-2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "purple", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M198.517,139.906l-1.477,-2.256l1.477,-2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "purple", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M194.866,137.65l-41.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "purple", + "width": "0.83px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M153.75,132l0,88.125", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DS", + "name": "DS", + "type": "group" + }, + { + "elements": [ + { + "d": "M288.75,309.419l0,-64.193", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,358.008l0,63.867", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M198.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M243.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M333.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M378.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M423.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M468.75,470.625l0,74.81", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M513.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M198.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M243.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M333.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M378.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M423.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M513.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M468.75,557.617l0,110.766", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M468.75,674.117l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M468.75,817.5l0,56.227", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "DP-UPS", + "name": "DP-UPS", + "type": "group" + }, + { + "elements": [ + { + "d": "M738.75,583.125l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M783.75,583.125l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M828.75,583.125l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M873.75,583.125l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M828.758,330.784l0,-85.558", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M828.758,534.375l0,-197.758", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "DP-LP", + "name": "DP-LP", + "type": "group" + }, + { + "elements": [ + { + "d": "M963.75,336.617l0,87.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M1008.75,336.617l0,87.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M1053.75,336.617l0,87.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M1098.75,336.617l0,96.318", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M1098.75,445.117l0,91.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M918.761,336.617l-0,87.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M918.75,330.883l0,-85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M963.766,330.883l0,-85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M1008.75,330.883l0,-85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M1053.75,330.883l0,-85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M1098.75,330.883l0,-85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "RP-HS1", + "name": "RP-HS1", + "type": "group" + }, + { + "d": "M1188.75,328.125l0,-82.5", + "fill": { + "paint": "transparent" + }, + "id": "RTU", + "name": "RTU", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M333.75,292.5l0,-47.274", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M333.75,300l-4.132,-7.5l8.264,0l-4.132,7.5Zm-0,-1.727l2.722,-4.94l-5.444,0l2.722,4.94Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,342.605,303.033)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "MPZ-HS1", + "type": "text", + "x": "324.317px", + "y": "303.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,342.914,306.783)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "GEN-AUX", + "type": "text", + "x": "324px", + "y": "306.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,340.032,310.535)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "POWER", + "type": "text", + "x": "324.291px", + "y": "310.535px" + } + ], + "id": "GEN-AUX", + "name": "GEN-AUX", + "type": "group" + }, + { + "elements": [ + { + "d": "M468.75,311.227l0,-66.001", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M513.75,311.227l0,-66.001", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M558.75,311.227l0,-66.001", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M603.718,318.273l-0,-73.047", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M603.718,412.5l-0,-61.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M648.75,412.5l0,-61.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M693.75,412.5l0,-61.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M648.75,318.273l0,-73.047", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M693.75,318.273l0,-73.047", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "FE", + "name": "FE", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "square", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1343 968" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "SWBD_HS1" + }, + "position": { + "height": 110, + "width": 1743, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.genPower": { + "binding": { + "config": { + "path": "../CAM-HS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPower": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1/Data/isEnergized" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "OutputPower": { + "_1": 0, + "_10": 1, + "_11": 1, + "_12": 1, + "_13": 1, + "_14": 1, + "_15": 1, + "_16": 1, + "_17": 1, + "_2": 1, + "_3": 1, + "_4": 1, + "_5": 1, + "_6": 1, + "_7": 1, + "_8": 1, + "_9": 1 + }, + "boxColor": "--olGray", + "tagPath": "" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD HS1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT-HS1" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1", + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM-HS1" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-HS1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-HS1", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 339 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_ER1151_HS1_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FP" + }, + "position": { + "height": 143, + "width": 115, + "x": 60, + "y": 590 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UT-HS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inPower2": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/FP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FP_DS" + }, + "position": { + "height": 90, + "width": 109, + "x": 120, + "y": 450 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "tagPath": "", + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/FP_DS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-UPS-HS1" + }, + "position": { + "height": 105, + "width": 486, + "x": 240, + "y": 535 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP_UPS_HS1", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-1" + }, + "position": { + "height": 102, + "width": 59, + "x": 240, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-2" + }, + "position": { + "height": 102, + "width": 59, + "x": 300, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-3" + }, + "position": { + "height": 102, + "width": 59, + "x": 360, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-3" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-4" + }, + "position": { + "height": 102, + "width": 59, + "x": 420, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-4" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-5" + }, + "position": { + "height": 102, + "width": 59, + "x": 480, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-5" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-6" + }, + "position": { + "height": 102, + "width": 59, + "x": 540, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-6" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-7" + }, + "position": { + "height": 102, + "width": 59, + "x": 600, + "y": 838 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-8" + }, + "position": { + "height": 102, + "width": 59, + "x": 660, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-8" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX LP-HS1-1" + }, + "position": { + "height": 102, + "width": 59, + "x": 1080, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-1" + }, + "position": { + "height": 102, + "width": 59, + "x": 1200, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._11" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-2" + }, + "position": { + "height": 102, + "width": 59, + "x": 1260, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-3" + }, + "position": { + "height": 102, + "width": 59, + "x": 1320, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._13" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-4" + }, + "position": { + "height": 102, + "width": 59, + "x": 1380, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._14" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-5" + }, + "position": { + "height": 102, + "width": 59, + "x": 1440, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._15" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 240, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 300, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 360, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-4" + }, + "position": { + "height": 107, + "width": 75, + "x": 420, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-5" + }, + "position": { + "height": 107, + "width": 75, + "x": 480, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-6" + }, + "position": { + "height": 107, + "width": 75, + "x": 540, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-7" + }, + "position": { + "height": 107, + "width": 75, + "x": 600, + "y": 983 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-8" + }, + "position": { + "height": 107, + "width": 75, + "x": 660, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-9" + }, + "position": { + "height": 107, + "width": 75, + "x": 600, + "y": 1133 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PP-HS1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 600, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._4" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PP-HS1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 660, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._5" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PP-HS1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 720, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._6" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 960, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 1020, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 1080, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-4" + }, + "position": { + "height": 107, + "width": 75, + "x": 1140, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 1200, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._11" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 1260, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 1320, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._13" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-4" + }, + "position": { + "height": 107, + "width": 75, + "x": 1380, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._14" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-5" + }, + "position": { + "height": 107, + "width": 75, + "x": 1440, + "y": 683 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._15" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FE-PNL-1" + }, + "position": { + "height": 155, + "width": 56, + "x": 780, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._7" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/FE-PNL" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FE-PNL-2" + }, + "position": { + "height": 155, + "width": 56, + "x": 840, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._8" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/FE-PNL" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FE-PNL-3" + }, + "position": { + "height": 155, + "width": 56, + "x": 900, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._9" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/FE-PNL" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FE-DS-1" + }, + "position": { + "height": 107, + "width": 72, + "x": 780, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._7" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/FE-DS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FE-DS-2" + }, + "position": { + "height": 107, + "width": 72, + "x": 840, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._8" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/FE-DS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FE-DS-3" + }, + "position": { + "height": 107, + "width": 72, + "x": 900, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._9" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/FE-DS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS1-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 960, + "y": 681 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX-UPS-HS1-DS-7" + }, + "position": { + "height": 107, + "width": 60, + "x": 600, + "y": 683 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-7" + }, + "path": "Pages/Dev/D_Electrical/Equipment/DS SW" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HS1-R" + }, + "position": { + "height": 107, + "width": 60, + "x": 1440, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._15" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DS SW" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 110, + "width": 80, + "x": 1555, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._16" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "objectName": "RTU01", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RTU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS wCB" + }, + "position": { + "height": 160, + "width": 180, + "x": 245, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._2" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "objectName": "UPS_HS", + "outPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_UPS" + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS wCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 133, + "x": 155.5, + "y": 1 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 182, + "x": 16.687000000000012, + "y": 904.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + }, + "text": "*NM - Not Monitored" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 14, + "width": 21, + "x": 661.685, + "y": 849.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 14, + "width": 21, + "x": 601, + "y": 850 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 14, + "width": 21, + "x": 540, + "y": 850 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 14, + "width": 21, + "x": 481, + "y": 850 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 14, + "width": 21, + "x": 421, + "y": 850 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 14, + "width": 21, + "x": 361, + "y": 850 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 14, + "width": 21, + "x": 301, + "y": 850 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_7" + }, + "position": { + "height": 14, + "width": 21, + "x": 241, + "y": 850 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_8" + }, + "position": { + "height": 14, + "width": 21, + "x": 240.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_9" + }, + "position": { + "height": 14, + "width": 21, + "x": 300.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_10" + }, + "position": { + "height": 14, + "width": 21, + "x": 360.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_11" + }, + "position": { + "height": 14, + "width": 21, + "x": 420.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_12" + }, + "position": { + "height": 14, + "width": 21, + "x": 480.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_13" + }, + "position": { + "height": 14, + "width": 21, + "x": 539.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_14" + }, + "position": { + "height": 14, + "width": 21, + "x": 600.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_15" + }, + "position": { + "height": 14, + "width": 21, + "x": 661.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_16" + }, + "position": { + "height": 14, + "width": 21, + "x": 601, + "y": 1002 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_17" + }, + "position": { + "height": 14, + "width": 21, + "x": 241, + "y": 552 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_18" + }, + "position": { + "height": 14, + "width": 21, + "x": 601.669, + "y": 399.167 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_19" + }, + "position": { + "height": 14, + "width": 21, + "x": 660.669, + "y": 399.167 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_20" + }, + "position": { + "height": 14, + "width": 21, + "x": 721.669, + "y": 399.167 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_21" + }, + "position": { + "height": 14, + "width": 21, + "x": 780.669, + "y": 399.167 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_22" + }, + "position": { + "height": 14, + "width": 21, + "x": 841.669, + "y": 399.167 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_23" + }, + "position": { + "height": 14, + "width": 21, + "x": 902.669, + "y": 399.167 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_24" + }, + "position": { + "height": 14, + "width": 21, + "x": 780.67, + "y": 550.17 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_25" + }, + "position": { + "height": 14, + "width": 21, + "x": 841.67, + "y": 550.17 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_26" + }, + "position": { + "height": 14, + "width": 21, + "x": 902.67, + "y": 550.17 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_27" + }, + "position": { + "height": 14, + "width": 21, + "x": 963, + "y": 849 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_28" + }, + "position": { + "height": 14, + "width": 21, + "x": 1023, + "y": 849 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_29" + }, + "position": { + "height": 14, + "width": 21, + "x": 1083, + "y": 849 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_30" + }, + "position": { + "height": 14, + "width": 21, + "x": 1143, + "y": 849 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_31" + }, + "position": { + "height": 14, + "width": 21, + "x": 963, + "y": 701 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_32" + }, + "position": { + "height": 14, + "width": 21, + "x": 1202.99, + "y": 549.99 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_33" + }, + "position": { + "height": 14, + "width": 21, + "x": 1262.99, + "y": 549.99 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_34" + }, + "position": { + "height": 14, + "width": 21, + "x": 1322.99, + "y": 549.99 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_35" + }, + "position": { + "height": 14, + "width": 21, + "x": 1382.99, + "y": 549.99 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_36" + }, + "position": { + "height": 14, + "width": 21, + "x": 1081.666748046875, + "y": 400 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_37" + }, + "position": { + "height": 14, + "width": 21, + "x": 1443, + "y": 550 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_38" + }, + "position": { + "height": 14, + "width": 21, + "x": 1382.99, + "y": 399.98 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_39" + }, + "position": { + "height": 14, + "width": 21, + "x": 1442.99, + "y": 399.98 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_40" + }, + "position": { + "height": 14, + "width": 21, + "x": 1322.99, + "y": 399.98 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_41" + }, + "position": { + "height": 14, + "width": 21, + "x": 1262.99, + "y": 399.98 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_42" + }, + "position": { + "height": 14, + "width": 21, + "x": 1202.99, + "y": 399.98 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_43" + }, + "position": { + "height": 14, + "width": 21, + "x": 1443, + "y": 702.1112060546875 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_44" + }, + "position": { + "height": 14, + "width": 21, + "x": 601, + "y": 1152 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "rotate": { + "anchor": "50% 36%" + }, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 425.2496092224121, + "y": 431 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_UPS" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_HS", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PQM" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-82% 116%" + }, + "width": 50, + "x": 420, + "y": 481 + }, + "props": { + "params": { + "objectName": "H2 HS", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_ER1151_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "custom": { + "inputPower1": 1, + "inputPower2": 1 + }, + "meta": { + "name": "root" + }, + "position": { + "x": -11, + "y": -103 + }, + "props": { + "aspectRatio": "3050:2100" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c0ce1b7cd2d8a090bba01cd2996da3f8ef1e88206584115efaeb087499827f14 b/Gateways/FE/projects/.resources/c0ce1b7cd2d8a090bba01cd2996da3f8ef1e88206584115efaeb087499827f14 new file mode 100644 index 0000000..355b8a4 --- /dev/null +++ b/Gateways/FE/projects/.resources/c0ce1b7cd2d8a090bba01cd2996da3f8ef1e88206584115efaeb087499827f14 @@ -0,0 +1,13 @@ +{ + "base": { + "style": { + "backgroundColor": "#F5F5F5", + "borderColor": "#CCCCCC", + "borderStyle": "solid", + "borderWidth": "1px", + "borderRadius": "4px", + "color": "#555555", + "cursor": "pointer" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c110138b1bcbe9c4bf93a6294fcce07fec3060eb292bf4deed9824f2692a041c b/Gateways/FE/projects/.resources/c110138b1bcbe9c4bf93a6294fcce07fec3060eb292bf4deed9824f2692a041c new file mode 100644 index 0000000..280fffb --- /dev/null +++ b/Gateways/FE/projects/.resources/c110138b1bcbe9c4bf93a6294fcce07fec3060eb292bf4deed9824f2692a041c @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "SEL-735", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/SEL-735 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c167d1bf260f3e3a0d475217bc2c032a17d77673c56a58f1c0c073561f45e3b0 b/Gateways/FE/projects/.resources/c167d1bf260f3e3a0d475217bc2c032a17d77673c56a58f1c0c073561f45e3b0 new file mode 100644 index 0000000..603a35c Binary files /dev/null and b/Gateways/FE/projects/.resources/c167d1bf260f3e3a0d475217bc2c032a17d77673c56a58f1c0c073561f45e3b0 differ diff --git a/Gateways/FE/projects/.resources/c19b521314e195eeaf1b12af2cd0fea07cc3e61712176702584e937f09afa0a0 b/Gateways/FE/projects/.resources/c19b521314e195eeaf1b12af2cd0fea07cc3e61712176702584e937f09afa0a0 new file mode 100644 index 0000000..5f15848 Binary files /dev/null and b/Gateways/FE/projects/.resources/c19b521314e195eeaf1b12af2cd0fea07cc3e61712176702584e937f09afa0a0 differ diff --git a/Gateways/FE/projects/.resources/c1ab6f50c7819c61ebef7cd862172a9f494d650de6594fec885629fb43af9fcb b/Gateways/FE/projects/.resources/c1ab6f50c7819c61ebef7cd862172a9f494d650de6594fec885629fb43af9fcb new file mode 100644 index 0000000..b28bbbb --- /dev/null +++ b/Gateways/FE/projects/.resources/c1ab6f50c7819c61ebef7cd862172a9f494d650de6594fec885629fb43af9fcb @@ -0,0 +1,771 @@ +{ + "custom": { + "data": [ + { + "power": 28.491136310948196, + "t_stamp": 1758675959835 + }, + { + "power": 28.475597595436277, + "t_stamp": 1758676031835 + }, + { + "power": 28.469703674316406, + "t_stamp": 1758676103835 + }, + { + "power": 28.493675231933594, + "t_stamp": 1758676175835 + }, + { + "power": 28.534833908081055, + "t_stamp": 1758676247835 + }, + { + "power": 28.488161087036133, + "t_stamp": 1758676319835 + }, + { + "power": 28.521841049194336, + "t_stamp": 1758676391835 + }, + { + "power": 28.495252235854533, + "t_stamp": 1758676463835 + }, + { + "power": 28.491363525390625, + "t_stamp": 1758676535835 + }, + { + "power": 28.51979683526415, + "t_stamp": 1758676607835 + }, + { + "power": 28.53113555908203, + "t_stamp": 1758676679835 + }, + { + "power": 28.4451847076416, + "t_stamp": 1758676751835 + }, + { + "power": 28.52183011106277, + "t_stamp": 1758676823835 + }, + { + "power": 28.533044815063477, + "t_stamp": 1758676895835 + }, + { + "power": 28.548046112060547, + "t_stamp": 1758676967835 + }, + { + "power": 28.514476776123047, + "t_stamp": 1758677039835 + }, + { + "power": 28.57921028137207, + "t_stamp": 1758677111835 + }, + { + "power": 28.5916565095451, + "t_stamp": 1758677183835 + }, + { + "power": 28.593481063842773, + "t_stamp": 1758677255835 + }, + { + "power": 28.53420639038086, + "t_stamp": 1758677327835 + }, + { + "power": 28.62860107421875, + "t_stamp": 1758677399835 + }, + { + "power": 28.631607055664062, + "t_stamp": 1758677471835 + }, + { + "power": 28.588659286499023, + "t_stamp": 1758677543835 + }, + { + "power": 28.604841178655626, + "t_stamp": 1758677615835 + }, + { + "power": 28.605300903320312, + "t_stamp": 1758677687835 + }, + { + "power": 28.614164864886934, + "t_stamp": 1758677759835 + }, + { + "power": 28.616641998291016, + "t_stamp": 1758677831835 + }, + { + "power": 28.55630111694336, + "t_stamp": 1758677903835 + }, + { + "power": 28.587173491541545, + "t_stamp": 1758677975835 + }, + { + "power": 28.649255752563477, + "t_stamp": 1758678047835 + }, + { + "power": 28.63207244873047, + "t_stamp": 1758678119835 + }, + { + "power": 28.656673431396484, + "t_stamp": 1758678191835 + }, + { + "power": 28.625307083129883, + "t_stamp": 1758678263835 + }, + { + "power": 28.658588409423828, + "t_stamp": 1758678335835 + }, + { + "power": 28.640701293945312, + "t_stamp": 1758678407835 + }, + { + "power": 28.549243927001953, + "t_stamp": 1758678479835 + }, + { + "power": 28.636775970458984, + "t_stamp": 1758678551835 + }, + { + "power": 28.616222381591797, + "t_stamp": 1758678623835 + }, + { + "power": 28.308494567871094, + "t_stamp": 1758678695835 + }, + { + "power": 28.522099163926654, + "t_stamp": 1758678767835 + }, + { + "power": 28.648223876953125, + "t_stamp": 1758678839835 + }, + { + "power": 28.668643951416016, + "t_stamp": 1758678911835 + }, + { + "power": 28.640989303588867, + "t_stamp": 1758678983835 + }, + { + "power": 28.703964233398438, + "t_stamp": 1758679055835 + }, + { + "power": 28.651222229003906, + "t_stamp": 1758679127835 + }, + { + "power": 28.662123259550295, + "t_stamp": 1758679199835 + }, + { + "power": 28.665847778320312, + "t_stamp": 1758679271835 + }, + { + "power": 28.557416313424035, + "t_stamp": 1758679343835 + }, + { + "power": 28.533287048339844, + "t_stamp": 1758679415835 + }, + { + "power": 28.616060256958008, + "t_stamp": 1758679487835 + }, + { + "power": 28.514129638671875, + "t_stamp": 1758679559835 + }, + { + "power": 28.59821891784668, + "t_stamp": 1758679631835 + }, + { + "power": 28.59140396118164, + "t_stamp": 1758679703835 + }, + { + "power": 28.522823333740234, + "t_stamp": 1758679775835 + }, + { + "power": 28.59061661240877, + "t_stamp": 1758679847835 + }, + { + "power": 28.62272071838379, + "t_stamp": 1758679919835 + }, + { + "power": 28.61822509765625, + "t_stamp": 1758679991835 + }, + { + "power": 28.645343780517578, + "t_stamp": 1758680063835 + }, + { + "power": 28.564895629882812, + "t_stamp": 1758680135835 + }, + { + "power": 28.578948974609375, + "t_stamp": 1758680207835 + }, + { + "power": 28.525196075439453, + "t_stamp": 1758680279835 + }, + { + "power": 28.595237731933594, + "t_stamp": 1758680351835 + }, + { + "power": 28.551042556762695, + "t_stamp": 1758680423835 + }, + { + "power": 28.610729217529297, + "t_stamp": 1758680495835 + }, + { + "power": 28.55870246887207, + "t_stamp": 1758680567835 + }, + { + "power": 28.570991198698678, + "t_stamp": 1758680639835 + }, + { + "power": 28.578588485717773, + "t_stamp": 1758680711835 + }, + { + "power": 28.549306869506836, + "t_stamp": 1758680783835 + }, + { + "power": 28.594905853271484, + "t_stamp": 1758680855835 + }, + { + "power": 28.60809326171875, + "t_stamp": 1758680927835 + }, + { + "power": 28.50653839111328, + "t_stamp": 1758680999835 + }, + { + "power": 28.581340789794922, + "t_stamp": 1758681071835 + }, + { + "power": 28.551450303450938, + "t_stamp": 1758681143835 + }, + { + "power": 28.529525071253875, + "t_stamp": 1758681215835 + }, + { + "power": 28.60228157043457, + "t_stamp": 1758681287835 + }, + { + "power": 28.582502608535645, + "t_stamp": 1758681359835 + }, + { + "power": 28.570274353027344, + "t_stamp": 1758681431835 + }, + { + "power": 28.582969665527344, + "t_stamp": 1758681503835 + }, + { + "power": 28.5413875579834, + "t_stamp": 1758681575835 + }, + { + "power": 28.587844848632812, + "t_stamp": 1758681647835 + }, + { + "power": 28.55695915222168, + "t_stamp": 1758681719835 + }, + { + "power": 28.580080032348633, + "t_stamp": 1758681791835 + }, + { + "power": 28.564483424582253, + "t_stamp": 1758681863835 + }, + { + "power": 28.561012268066406, + "t_stamp": 1758681935835 + }, + { + "power": 28.6016902923584, + "t_stamp": 1758682007835 + }, + { + "power": 28.539165496826172, + "t_stamp": 1758682079835 + }, + { + "power": 28.548025131225586, + "t_stamp": 1758682151835 + }, + { + "power": 28.590129852294922, + "t_stamp": 1758682223835 + }, + { + "power": 28.53024673461914, + "t_stamp": 1758682295835 + }, + { + "power": 28.53032875061035, + "t_stamp": 1758682367835 + }, + { + "power": 28.592792510986328, + "t_stamp": 1758682439835 + }, + { + "power": 28.58839988708496, + "t_stamp": 1758682511835 + }, + { + "power": 28.52210235595703, + "t_stamp": 1758682583835 + }, + { + "power": 28.5828121823053, + "t_stamp": 1758682655835 + }, + { + "power": 28.621307373046875, + "t_stamp": 1758682727835 + }, + { + "power": 28.52875328063965, + "t_stamp": 1758682799835 + }, + { + "power": 28.562522888183594, + "t_stamp": 1758682871835 + }, + { + "power": 28.551809310913086, + "t_stamp": 1758682943835 + }, + { + "power": 28.581287384033203, + "t_stamp": 1758683015835 + }, + { + "power": 28.645061492919922, + "t_stamp": 1758683087835 + } + ], + "key": "value", + "path": [ + { + "aggregate": "LastValue", + "alias": "power", + "path": "[Ignition_hist/ignition-satb1-io6:default]mpr1240/satb1_mpr1240_m1_pqm/real power" + } + ] + }, + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM" + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{view.custom.path}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + }, + "persistent": true + }, + "custom.key": { + "persistent": true + }, + "custom.path": { + "binding": { + "config": { + "path": "view.params.tagpath" + }, + "transforms": [ + { + "code": "\tdh \u003d value.lower()\n\ttag \u003d dh.split(\u0027]\u0027)\n\tpath \u003d \"[Ignition_hist/ignition-satb1-io6:default]\" + tag[1] + \"/real power\"\n\toutput \u003d {}\n\toutput[\u0027path\u0027] \u003d path\n\toutput[\u0027alias\u0027] \u003d \u0027power\u0027\n\toutput[\u0027aggregate\u0027] \u003d \u0027LastValue\u0027\n\toutputArray \u003d []\n\toutputArray.append(output)\n\treturn outputArray", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.tagpath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 244, + "width": 233 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagpath" + }, + "transforms": [ + { + "code": "\ttxt_items \u003d value.split(\u0027_\u0027)\n\toutput \u003d txt_items[-2]+\" - \"+txt_items[-1]\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 18, + "fontWeight": "bold", + "paddingLeft": 15 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Sparkline" + }, + "position": { + "height": 0.7509, + "width": 0.6103, + "x": 0.075, + "y": 0.1136 + }, + "propConfig": { + "props.points": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor item in value:\n\t\toutput.append(item[\u0027power\u0027])\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.range.high": { + "binding": { + "config": { + "path": "this.props.points" + }, + "transforms": [ + { + "expression": "max({value})+10", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.range.low": { + "binding": { + "config": { + "path": "this.props.points" + }, + "transforms": [ + { + "expression": "min({value})-10", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "range": {} + }, + "type": "ia.display.sparkline" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 0.1657, + "width": 0.2347, + "x": 0.72, + "y": 0.2959 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagpath": "{view.params.tagpath}" + }, + "tagPath": "{tagpath}/Real Power" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 25, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 0.1657, + "width": 0.2347, + "x": 0.72, + "y": 0.4741 + }, + "props": { + "alignVertical": "top", + "text": "kW", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 0.0933, + "width": 0.1831, + "x": 0.638, + "y": 0.8746 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 0.0933, + "width": 0.1831, + "x": 0.0372, + "y": 0.874 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-7200000\r\n" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 0.0933, + "width": 0.1831, + "x": 0.3376, + "y": 0.8746 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-3600000\r\n" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CoordinateContainer" + }, + "position": { + "basis": "200px" + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "#E3E3E3", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3, + "marginBottom": 10, + "marginLeft": 10, + "marginRight": 10, + "marginTop": 10, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c1d27a03a2a131bae4ecee09d100ae0683517d9c4a4cafb377725713740aa595 b/Gateways/FE/projects/.resources/c1d27a03a2a131bae4ecee09d100ae0683517d9c4a4cafb377725713740aa595 new file mode 100644 index 0000000..bff53d0 --- /dev/null +++ b/Gateways/FE/projects/.resources/c1d27a03a2a131bae4ecee09d100ae0683517d9c4a4cafb377725713740aa595 @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B301 Chillers LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*MPR1140/CHWP_LLS*" + }, + "deviceName": "CHW", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/VFD", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_Rotation" + } + }, + "path": "Library/Templates/Graphics/LLS/Device LLS V1" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c1ea0370cc8f316d288c97e3c3baae55c90d3aa25cde140fe8dba8b5a2f4ba05 b/Gateways/FE/projects/.resources/c1ea0370cc8f316d288c97e3c3baae55c90d3aa25cde140fe8dba8b5a2f4ba05 new file mode 100644 index 0000000..c223149 Binary files /dev/null and b/Gateways/FE/projects/.resources/c1ea0370cc8f316d288c97e3c3baae55c90d3aa25cde140fe8dba8b5a2f4ba05 differ diff --git a/Gateways/FE/projects/.resources/c2832c235c6d6020f199e7209b2f71ab21f1b49c4e30ab29c767fd8501a2161d b/Gateways/FE/projects/.resources/c2832c235c6d6020f199e7209b2f71ab21f1b49c4e30ab29c767fd8501a2161d new file mode 100644 index 0000000..69b888d --- /dev/null +++ b/Gateways/FE/projects/.resources/c2832c235c6d6020f199e7209b2f71ab21f1b49c4e30ab29c767fd8501a2161d @@ -0,0 +1,130 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "options": [ + "Not Available", + "Available" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Open-Closed", + "options": [ + "Closed", + "Open", + "Transitioning", + "Error" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_CV13" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c284d259bb9e5ed206437f6c399f1f148946a2302077683348a33e5fe18cf95b b/Gateways/FE/projects/.resources/c284d259bb9e5ed206437f6c399f1f148946a2302077683348a33e5fe18cf95b new file mode 100644 index 0000000..e6b832d --- /dev/null +++ b/Gateways/FE/projects/.resources/c284d259bb9e5ed206437f6c399f1f148946a2302077683348a33e5fe18cf95b @@ -0,0 +1,124 @@ +{ + "custom": { + "data": "value" + }, + "params": {}, + "propConfig": { + "custom.data": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1000, + "width": 1700 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "props": { + "path": "Library/Cards/Card_CH_Overview", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "grow": 1 + }, + "props": { + "path": "Library/Diagrams/Mechanical/Chiller_Skid", + "style": { + "classes": "containers/card" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "basis": "200px" + }, + "props": { + "style": { + "classes": "containers/card" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "400px" + }, + "props": { + "style": { + "classes": "containers/card" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c2bdd97f079d8a57f57280e7dcdf3cdb57fde6fcd95d797314d733eace81e21c b/Gateways/FE/projects/.resources/c2bdd97f079d8a57f57280e7dcdf3cdb57fde6fcd95d797314d733eace81e21c new file mode 100644 index 0000000..3c9af4d Binary files /dev/null and b/Gateways/FE/projects/.resources/c2bdd97f079d8a57f57280e7dcdf3cdb57fde6fcd95d797314d733eace81e21c differ diff --git a/Gateways/FE/projects/.resources/c2dd275058ff1164a0b1052929630987395f471ae87cd1b3f3ef8e50bd10477c b/Gateways/FE/projects/.resources/c2dd275058ff1164a0b1052929630987395f471ae87cd1b3f3ef8e50bd10477c new file mode 100644 index 0000000..b127cf5 --- /dev/null +++ b/Gateways/FE/projects/.resources/c2dd275058ff1164a0b1052929630987395f471ae87cd1b3f3ef8e50bd10477c @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-20)", + "paddingBottom": "2px", + "paddingLeft": "8px", + "paddingRight": "16px", + "paddingTop": "2px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c3018b294ad037a152cca8b859d37cd5cbb67a86f5b8aa3c15205bf95cdb42a2 b/Gateways/FE/projects/.resources/c3018b294ad037a152cca8b859d37cd5cbb67a86f5b8aa3c15205bf95cdb42a2 new file mode 100644 index 0000000..50abf6e Binary files /dev/null and b/Gateways/FE/projects/.resources/c3018b294ad037a152cca8b859d37cd5cbb67a86f5b8aa3c15205bf95cdb42a2 differ diff --git a/Gateways/FE/projects/.resources/c350e82d851e4e32fa5fb25c833dc450a0768b43aea67243ce2df8b982566a40 b/Gateways/FE/projects/.resources/c350e82d851e4e32fa5fb25c833dc450a0768b43aea67243ce2df8b982566a40 new file mode 100644 index 0000000..fb72f4c --- /dev/null +++ b/Gateways/FE/projects/.resources/c350e82d851e4e32fa5fb25c833dc450a0768b43aea67243ce2df8b982566a40 @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_SYSTEM" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c396f72b464ab825cfa55ab1db8ec0527b4a785ce765ae89b0eeb8dafdc12a13 b/Gateways/FE/projects/.resources/c396f72b464ab825cfa55ab1db8ec0527b4a785ce765ae89b0eeb8dafdc12a13 new file mode 100644 index 0000000..6c0aa97 Binary files /dev/null and b/Gateways/FE/projects/.resources/c396f72b464ab825cfa55ab1db8ec0527b4a785ce765ae89b0eeb8dafdc12a13 differ diff --git a/Gateways/FE/projects/.resources/c3b4ed8632538e19413eeb5430ab18d7552c46225d174914561499fbb6c37370 b/Gateways/FE/projects/.resources/c3b4ed8632538e19413eeb5430ab18d7552c46225d174914561499fbb6c37370 new file mode 100644 index 0000000..ca2bbf1 Binary files /dev/null and b/Gateways/FE/projects/.resources/c3b4ed8632538e19413eeb5430ab18d7552c46225d174914561499fbb6c37370 differ diff --git a/Gateways/FE/projects/.resources/c3b81ffe63db92fd99ffc310e2903251f53460ec7b6fcd84264d823207d7fd07 b/Gateways/FE/projects/.resources/c3b81ffe63db92fd99ffc310e2903251f53460ec7b6fcd84264d823207d7fd07 new file mode 100644 index 0000000..34c7d03 --- /dev/null +++ b/Gateways/FE/projects/.resources/c3b81ffe63db92fd99ffc310e2903251f53460ec7b6fcd84264d823207d7fd07 @@ -0,0 +1,699 @@ +{ + "custom": {}, + "params": { + "Positon": true + }, + "propConfig": { + "params.Positon": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "PLCA" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.Positon" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M28.52,237.639l0,260.677l395.251,228.424l-0,-260.677l-395.251,-228.424Z", + "fill": { + "paint": "#b9bbbd" + }, + "name": "path", + "type": "path" + }, + { + "d": "M423.771,466.061l-0,260.679l196.361,-113.411l0,-260.679l-196.361,113.411Z", + "fill": { + "paint": "#a3a6a9" + }, + "name": "path", + "type": "path" + }, + { + "d": "M226.146,125.883l-197.626,112.847l395.32,227.333l197.626,-112.847l-395.32,-227.333Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M83.089,326.446l-0,155.744", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M154.497,370.048l0,155.744", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M226.146,404.318l-0,155.744", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M381.728,482.138c-7.642,0.218 -13.599,9.047 -13.295,19.703c0.303,10.657 6.754,19.132 14.396,18.914c7.641,-0.217 13.599,-9.046 13.295,-19.703c-0.304,-10.656 -6.754,-19.131 -14.396,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M381.728,482.138c7.642,-0.217 14.092,8.258 14.396,18.914c0.304,10.657 -5.654,19.486 -13.295,19.703c-7.642,0.218 -14.093,-8.257 -14.396,-18.914c-0.304,-10.656 5.653,-19.485 13.295,-19.703Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + }, + { + "d": "M324.443,457.538c-7.642,0.217 -13.599,9.046 -13.296,19.703c0.304,10.656 6.755,19.132 14.396,18.914c7.642,-0.218 13.599,-9.047 13.295,-19.703c-0.303,-10.657 -6.754,-19.132 -14.395,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M324.443,457.538c7.641,-0.218 14.092,8.257 14.395,18.914c0.304,10.656 -5.653,19.485 -13.295,19.703c-7.641,0.218 -14.092,-8.258 -14.396,-18.914c-0.303,-10.657 5.654,-19.486 13.296,-19.703Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "659.888", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "710.79", + "x": "0", + "y": "83.333" + }, + { + "d": "M710.79,83.333l0,659.889l-710.79,-0l0,-659.889l710.79,0Zm-9.259,9.26l-692.272,-0c0,-0 0,641.37 0,641.37l692.272,-0l0,-641.37Z", + "fill": { + "paint": "#f00" + }, + "name": "path", + "type": "path" + }, + { + "d": "M714.77,7.199l72.101,72.102c2.211,2.211 2.211,5.801 0,8.011l-72.101,72.102c-2.211,2.211 -5.801,2.211 -8.012,0l-72.102,-72.102c-2.21,-2.21 -2.21,-5.8 0,-8.011l72.102,-72.102c2.211,-2.211 5.801,-2.211 8.012,0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M707.047,99.553l-3.899,-52.607l15.231,-0l-3.777,52.607l-7.555,0Zm-3.533,20.115l-0,-12.275l14.5,-0l-0,12.275l-14.5,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M703.623,20.549c1.488,-2.531 4.205,-4.085 7.141,-4.085c2.936,-0 5.653,1.554 7.14,4.085c15.679,26.678 52.978,90.145 68.833,117.122c1.505,2.561 1.523,5.732 0.048,8.31c-1.475,2.578 -4.218,4.169 -7.188,4.169l-137.666,-0c-2.97,-0 -5.713,-1.591 -7.188,-4.169c-1.476,-2.578 -1.457,-5.749 0.048,-8.31c15.854,-26.977 53.154,-90.444 68.832,-117.122Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M706.638,110.465l-4.328,-55.419l16.908,-0l-4.193,55.419l-8.387,-0Zm-3.922,21.189l-0,-12.931l16.096,0l0,12.931l-16.096,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M764.198,13.127l-0,140.359c-0,2.949 -2.394,5.344 -5.344,5.344l-96.181,-0c-2.949,-0 -5.343,-2.395 -5.343,-5.344l-0,-140.359c-0,-2.949 2.394,-5.343 5.343,-5.343l96.181,-0c2.95,-0 5.344,2.394 5.344,5.343Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M706.638,100.468l-4.328,-55.571l16.908,0l-4.193,55.571l-8.387,0Zm-3.922,21.248l-0,-12.967l16.096,0l0,12.967l-16.096,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "710.764", + "cy": "83.307", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "79.974", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M690.925,102.583l-4.329,-62.419l16.909,-0l-4.194,62.419l-8.386,0Zm-3.923,23.866l0,-14.564l16.097,-0l-0,14.564l-16.097,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M722.983,102.583l-4.329,-62.419l16.908,-0l-4.193,62.419l-8.386,0Zm-3.923,23.866l-0,-14.564l16.096,-0l0,14.564l-16.096,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 795 744" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "PLCB" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.Positon" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": false + }, + { + "input": false, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M630.152,219.847l-0,260.677l-395.251,228.424l-0,-260.677l395.251,-228.424Z", + "fill": { + "paint": "#b9bbbd" + }, + "name": "path", + "type": "path" + }, + { + "d": "M234.901,448.269l-0,260.679l-196.361,-113.411l-0,-260.679l196.361,113.411Z", + "fill": { + "paint": "#a3a6a9" + }, + "name": "path", + "type": "path" + }, + { + "d": "M432.526,108.09l197.626,112.848l-395.32,227.333l-197.626,-112.848l395.32,-227.333Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M575.583,308.654l-0,155.743", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M504.175,352.256l-0,155.744", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M432.526,386.526l0,155.743", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M276.944,464.346c7.641,0.218 13.599,9.046 13.295,19.703c-0.304,10.657 -6.754,19.132 -14.396,18.914c-7.641,-0.218 -13.599,-9.046 -13.295,-19.703c0.304,-10.657 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M276.944,464.346c7.641,0.218 13.599,9.046 13.295,19.703c-0.304,10.657 -6.754,19.132 -14.396,18.914c-7.641,-0.218 -13.599,-9.046 -13.295,-19.703c0.304,-10.657 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + }, + { + "d": "M334.229,439.745c7.642,0.218 13.599,9.047 13.295,19.703c-0.303,10.657 -6.754,19.132 -14.395,18.914c-7.642,-0.217 -13.599,-9.046 -13.296,-19.703c0.304,-10.656 6.755,-19.131 14.396,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M334.229,439.745c7.642,0.218 13.599,9.047 13.295,19.703c-0.303,10.657 -6.754,19.132 -14.395,18.914c-7.642,-0.217 -13.599,-9.046 -13.296,-19.703c0.304,-10.656 6.755,-19.131 14.396,-18.914Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "659.888", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "673.923", + "x": "-0", + "y": "83.333" + }, + { + "d": "M673.923,83.333l-0,659.889l-673.923,-0l-0,-659.889l673.923,0Zm-9.26,9.26l-655.404,-0l0,641.37l655.404,-0l0,-641.37Z", + "fill": { + "paint": "#f00" + }, + "name": "path", + "type": "path" + }, + { + "d": "M677.902,7.199l72.102,72.102c2.21,2.211 2.21,5.801 -0,8.011l-72.102,72.102c-2.211,2.211 -5.801,2.211 -8.012,0l-72.101,-72.102c-2.211,-2.21 -2.211,-5.8 -0,-8.011l72.101,-72.102c2.211,-2.211 5.801,-2.211 8.012,0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M670.18,99.553l-3.9,-52.607l15.232,-0l-3.778,52.607l-7.554,0Zm-3.534,20.115l0,-12.275l14.5,-0l-0,12.275l-14.5,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M666.756,20.549c1.487,-2.531 4.204,-4.085 7.14,-4.085c2.936,-0 5.653,1.554 7.14,4.085c15.679,26.678 52.979,90.145 68.833,117.122c1.505,2.561 1.524,5.732 0.048,8.31c-1.475,2.578 -4.218,4.169 -7.188,4.169l-137.666,-0c-2.97,-0 -5.713,-1.591 -7.188,-4.169c-1.475,-2.578 -1.457,-5.749 0.048,-8.31c15.855,-26.977 53.154,-90.444 68.833,-117.122Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M669.771,110.465l-4.329,-55.419l16.908,-0l-4.193,55.419l-8.386,-0Zm-3.923,21.189l-0,-12.931l16.096,0l0,12.931l-16.096,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M727.33,13.127l0,140.359c0,2.949 -2.394,5.344 -5.343,5.344l-96.182,-0c-2.949,-0 -5.343,-2.395 -5.343,-5.344l-0,-140.359c-0,-2.949 2.394,-5.343 5.343,-5.343l96.182,-0c2.949,-0 5.343,2.394 5.343,5.343Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M669.771,100.468l-4.329,-55.571l16.908,0l-4.193,55.571l-8.386,0Zm-3.923,21.248l-0,-12.967l16.096,0l0,12.967l-16.096,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "673.896", + "cy": "83.307", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "79.974", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M654.057,102.583l-4.328,-62.419l16.908,-0l-4.193,62.419l-8.387,0Zm-3.923,23.866l0,-14.564l16.097,-0l-0,14.564l-16.097,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M686.115,102.583l-4.329,-62.419l16.909,-0l-4.194,62.419l-8.386,0Zm-3.923,23.866l0,-14.564l16.097,-0l-0,14.564l-16.097,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 758 744" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c40eb10fce84888efe9ec8c23c6d2015b1fa21d967ddddf01da89389316d4b6a b/Gateways/FE/projects/.resources/c40eb10fce84888efe9ec8c23c6d2015b1fa21d967ddddf01da89389316d4b6a new file mode 100644 index 0000000..c0473ca Binary files /dev/null and b/Gateways/FE/projects/.resources/c40eb10fce84888efe9ec8c23c6d2015b1fa21d967ddddf01da89389316d4b6a differ diff --git a/Gateways/FE/projects/.resources/c47f5d668c566ba6d454f45a48778b03b24285f5ba6b7f27d3a9b57e6c009cb1 b/Gateways/FE/projects/.resources/c47f5d668c566ba6d454f45a48778b03b24285f5ba6b7f27d3a9b57e6c009cb1 new file mode 100644 index 0000000..10dcd44 --- /dev/null +++ b/Gateways/FE/projects/.resources/c47f5d668c566ba6d454f45a48778b03b24285f5ba6b7f27d3a9b57e6c009cb1 @@ -0,0 +1,1248 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 123, + "width": 1600 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "CH Flex 1" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 2" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 3" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 4" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 5" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 6" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 7" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 8" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 9" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 10" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 11" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 12" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 13" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 14" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 15" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 16" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 17" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 18" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 19" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 20" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 21" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 22" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 23" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 24" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 25" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 26" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 27" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 28" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 29" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 30" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 31" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/card", + "gap": "var(--space-sm)", + "overflow": "visible", + "padding": "var(--space-sm)" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c495b5340c14828708a465ba1f2f993359e5191f89227d681c8d3ca59a661dc4 b/Gateways/FE/projects/.resources/c495b5340c14828708a465ba1f2f993359e5191f89227d681c8d3ca59a661dc4 new file mode 100644 index 0000000..b6ddde1 --- /dev/null +++ b/Gateways/FE/projects/.resources/c495b5340c14828708a465ba1f2f993359e5191f89227d681c8d3ca59a661dc4 @@ -0,0 +1,122 @@ +{ + "custom": {}, + "params": { + "enabled": true, + "format": "###.##", + "max": 9999999, + "min": -9999999, + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_HUM_03/Config/Relative Humidity Setpoint" + }, + "propConfig": { + "params.enabled": { + "paramDirection": "input", + "persistent": true + }, + "params.format": { + "paramDirection": "input", + "persistent": true + }, + "params.max": { + "paramDirection": "input", + "persistent": true + }, + "params.min": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "type": "property" + } + }, + "props.format": { + "binding": { + "config": { + "path": "view.params.format" + }, + "type": "property" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "path": "view.params.max" + }, + "type": "property" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "path": "view.params.min" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignItems": "center", + "justify": "center" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c4b5285b94970034ac88fc66c2a6d760e4c21ecc09f6c2185acadfe47b31c996 b/Gateways/FE/projects/.resources/c4b5285b94970034ac88fc66c2a6d760e4c21ecc09f6c2185acadfe47b31c996 new file mode 100644 index 0000000..8672361 Binary files /dev/null and b/Gateways/FE/projects/.resources/c4b5285b94970034ac88fc66c2a6d760e4c21ecc09f6c2185acadfe47b31c996 differ diff --git a/Gateways/FE/projects/.resources/c4b593572878455c65f9ffff3587accb9da0b895e78dad3eca6c8cca6d98d73a b/Gateways/FE/projects/.resources/c4b593572878455c65f9ffff3587accb9da0b895e78dad3eca6c8cca6d98d73a new file mode 100644 index 0000000..476a7e4 --- /dev/null +++ b/Gateways/FE/projects/.resources/c4b593572878455c65f9ffff3587accb9da0b895e78dad3eca6c8cca6d98d73a @@ -0,0 +1,580 @@ +{ + "custom": { + "AlarmSeverity": 0, + "colorHandler": { + "line": "var(--text-muted)", + "text": "var(--text-muted)" + } + }, + "params": { + "embedded": false, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_HUM_03" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 500 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "HUM_Detail" + }, + "position": { + "height": 100, + "width": 500, + "y": 20 + }, + "propConfig": { + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.line" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.line" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.line" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + }, + "props.elements[3].elements[4].elements[1].style.fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M26.953,75.9l1017.49,-0l79.147,120.243l-79.147,120.244l-1017.49,-0l81.177,-120.244l-81.177,-120.243Z", + "fill": { + "paint": "#f0f0f0" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1123.59,196.143l246.998,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1370.59,196.143l-37.666,-58.476", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1370.59,196.143l-37.666,58.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Humidifier-Box", + "name": "Humidifier-Box", + "type": "group" + }, + { + "d": "M887.998,196.143c0,63.24 -51.343,114.583 -114.583,114.583c-63.24,0 -114.584,-51.343 -114.584,-114.583c0,-63.24 51.344,-114.583 114.584,-114.583l174.266,-0l-0,114.583l-59.683,0Z", + "fill": { + "paint": "#f0f0f0" + }, + "id": "Fan", + "name": "Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "fill": { + "paint": "#f0f0f0" + }, + "height": "240.487", + "id": "Humidity-Pad", + "name": "Humidity-Pad", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "283.118", + "x": "282.383", + "y": "75.9" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,109.009,54.2636)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "HUM", + "type": "text", + "x": "22.852px", + "y": "54.264px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,819.062,195.557)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "732.905px", + "y": "195.557px" + }, + { + "elements": [ + { + "fill": "red", + "name": "group", + "transform": "matrix(50,0,0,50,1528.85,188.929)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Supply", + "type": "text", + "x": "1375.97px", + "y": "188.929px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,1439.4,239.759)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "1378.29px", + "y": "239.759px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,519.401,185.556)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Humidity", + "type": "text", + "x": "324.919px", + "y": "185.556px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,414.03,241.325)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Pad", + "type": "text", + "x": "325.065px", + "y": "241.325px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1530 338" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "UnitCapacity" + }, + "position": { + "height": 40, + "width": 150, + "x": 226, + "y": 130 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Relative Humidity Setpoint" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "% RH SP", + "EU_Pos": 1, + "Size": 12, + "Value": 40 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UnitCapacity_0" + }, + "position": { + "height": 40, + "width": 150, + "x": 55, + "y": 130 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Relative Humidity" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "% RH", + "EU_Pos": 1, + "Size": 12, + "Value": 24.7 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 87, + "width": 335, + "x": 27, + "y": 33 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 0, + "width": 0, + "x": 351, + "y": 26 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c4f73008d3b13f4cfce6e071896dc255d9096e437e795e8f4960ee59a4d47e5d b/Gateways/FE/projects/.resources/c4f73008d3b13f4cfce6e071896dc255d9096e437e795e8f4960ee59a4d47e5d new file mode 100644 index 0000000..817e4d0 Binary files /dev/null and b/Gateways/FE/projects/.resources/c4f73008d3b13f4cfce6e071896dc255d9096e437e795e8f4960ee59a4d47e5d differ diff --git a/Gateways/FE/projects/.resources/c54f44b3e0d34c45884f9660379c16244a6c2b0f7161c86cd7fcf8a4cbc27060 b/Gateways/FE/projects/.resources/c54f44b3e0d34c45884f9660379c16244a6c2b0f7161c86cd7fcf8a4cbc27060 new file mode 100644 index 0000000..4a1cd74 Binary files /dev/null and b/Gateways/FE/projects/.resources/c54f44b3e0d34c45884f9660379c16244a6c2b0f7161c86cd7fcf8a4cbc27060 differ diff --git a/Gateways/FE/projects/.resources/c581cc999456249b1761cf7a2f4e8d76d66581148dc6e81c3713899945eea524 b/Gateways/FE/projects/.resources/c581cc999456249b1761cf7a2f4e8d76d66581148dc6e81c3713899945eea524 new file mode 100644 index 0000000..6ef9821 Binary files /dev/null and b/Gateways/FE/projects/.resources/c581cc999456249b1761cf7a2f4e8d76d66581148dc6e81c3713899945eea524 differ diff --git a/Gateways/FE/projects/.resources/c5e3ff619522d1c62f692869df1c049b3f19994b84b02f6c11849a76c0e6f06f b/Gateways/FE/projects/.resources/c5e3ff619522d1c62f692869df1c049b3f19994b84b02f6c11849a76c0e6f06f new file mode 100644 index 0000000..0cebea2 Binary files /dev/null and b/Gateways/FE/projects/.resources/c5e3ff619522d1c62f692869df1c049b3f19994b84b02f6c11849a76c0e6f06f differ diff --git a/Gateways/FE/projects/.resources/c5ea6e77a83c4a8ce0debb58555b5a3f55c781f0f48b1efe4a49f8361dbba508 b/Gateways/FE/projects/.resources/c5ea6e77a83c4a8ce0debb58555b5a3f55c781f0f48b1efe4a49f8361dbba508 new file mode 100644 index 0000000..3665238 --- /dev/null +++ b/Gateways/FE/projects/.resources/c5ea6e77a83c4a8ce0debb58555b5a3f55c781f0f48b1efe4a49f8361dbba508 @@ -0,0 +1,406 @@ +{ + "custom": { + "endDate": "2025-05-15 23:59:59", + "location": "Common", + "startDate": "2025-05-13 00:00:00" + }, + "params": { + "endDate": "2025-05-15 23:59:59", + "location": "Common", + "startDate": "2025-05-13 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Total Load Summary", + "textStyle": { + "fontWeight": "700" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.calculated.ResultData" + }, + "transforms": [ + { + "code": "\treturn \"Daily Avgs: \" + str([round(v[1],2) for v in value])", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Min Avg: \", round({parent.custom.calculated.MinAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Max Avg: \", round({parent.custom.calculated.MaxAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "TotalLoad" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "custom.calculated": { + "binding": { + "config": { + "path": ".../Table.custom.PUEData.TotalLoad" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Critical Load Summary", + "textStyle": { + "fontWeight": "700" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.calculated.ResultData" + }, + "transforms": [ + { + "code": "\treturn \"Daily Avgs: \" + str([round(v[1],2) for v in value])", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Min Avg: \", round({parent.custom.calculated.MinAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Max Avg: \", round({parent.custom.calculated.MaxAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CriticalLoad" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "custom.calculated": { + "binding": { + "config": { + "path": ".../Table.custom.PUEData.CriticalLoad" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "RadioGroup" + }, + "position": { + "basis": "200px" + }, + "props": { + "radios": [ + { + "selected": true, + "text": "Total Load", + "value": "TotalLoad" + }, + { + "selected": false, + "text": "Critical Load", + "value": "CriticalLoad" + } + ], + "value": "TotalLoad" + }, + "type": "ia.input.radio-group" + } + ], + "meta": { + "name": "Toggles" + }, + "position": { + "basis": "84px" + }, + "type": "ia.container.flex" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\ttoggleSelect \u003d self.parent.getChild(\"Toggles\").getChild(\"RadioGroup\").props.value\n\tsystem.perspective.download(\"%s-Raw.xls\"%toggleSelect, xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.PUEData": { + "binding": { + "config": { + "struct": { + "endDate": "{view.custom.endDate}", + "location": "{view.custom.location}", + "startDate": "{view.custom.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\tlocation\u003d value[\"location\"]\n\n\treturn reports.MBR.totalpower.doAllInterval(startDate, endDate, location, None)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "expression": "case({../CalculatedFields/Actions/Toggles/RadioGroup.props.value},\r\n\t\"TotalLoad\", {this.custom.PUEData.TotalLoad.RawDS},\r\n\t\"CriticalLoad\", {this.custom.PUEData.CriticalLoad.RawDS},\r\n\tNone)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c5eb6e42c0c2cda93acd33dfc16bf6a102edc90684b3be12d8fa4ec4495fc3d6 b/Gateways/FE/projects/.resources/c5eb6e42c0c2cda93acd33dfc16bf6a102edc90684b3be12d8fa4ec4495fc3d6 new file mode 100644 index 0000000..54de3bb --- /dev/null +++ b/Gateways/FE/projects/.resources/c5eb6e42c0c2cda93acd33dfc16bf6a102edc90684b3be12d8fa4ec4495fc3d6 @@ -0,0 +1,178 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Cable break alarm", + "options": [ + "Good", + "Broken" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 40, + "instanceStyle": { + "classes": "" + }, + "name": "Cable length", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 30, + "instanceStyle": { + "classes": "" + }, + "name": "Contamination detected", + "options": [ + "Good", + "Contaminated" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 20, + "instanceStyle": { + "classes": "" + }, + "name": "Leak Detected", + "options": [ + "Good", + "Leak" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Leak distance", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Unit of measure", + "options": [ + "meters", + "feet" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_DH1_LD1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c5f60b5233d1d2906d4f16c359d240e046c61a22dfbd0540095be3bb50867882 b/Gateways/FE/projects/.resources/c5f60b5233d1d2906d4f16c359d240e046c61a22dfbd0540095be3bb50867882 new file mode 100644 index 0000000..f792a12 Binary files /dev/null and b/Gateways/FE/projects/.resources/c5f60b5233d1d2906d4f16c359d240e046c61a22dfbd0540095be3bb50867882 differ diff --git a/Gateways/FE/projects/.resources/c607d9c10df20d54cc3e9584f50469b8a76b838d772f2bcc33d6c32a2f7ca232 b/Gateways/FE/projects/.resources/c607d9c10df20d54cc3e9584f50469b8a76b838d772f2bcc33d6c32a2f7ca232 new file mode 100644 index 0000000..e689611 --- /dev/null +++ b/Gateways/FE/projects/.resources/c607d9c10df20d54cc3e9584f50469b8a76b838d772f2bcc33d6c32a2f7ca232 @@ -0,0 +1 @@ +def doPatch(request, session): diff --git a/Gateways/FE/projects/.resources/c628b8d267d9691206f6284ee93618f32bff723673deb85195395dd0b45b094e b/Gateways/FE/projects/.resources/c628b8d267d9691206f6284ee93618f32bff723673deb85195395dd0b45b094e new file mode 100644 index 0000000..41f6161 --- /dev/null +++ b/Gateways/FE/projects/.resources/c628b8d267d9691206f6284ee93618f32bff723673deb85195395dd0b45b094e @@ -0,0 +1,141 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Value AVG", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Value MAX", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Value MIN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Value OUT", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/DH5_DP_AvgObj" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c68f28dee2560557363c23dfaade58172be47e561a2ee19b3c5cb9c2ed6a856d b/Gateways/FE/projects/.resources/c68f28dee2560557363c23dfaade58172be47e561a2ee19b3c5cb9c2ed6a856d new file mode 100644 index 0000000..c07e7d9 --- /dev/null +++ b/Gateways/FE/projects/.resources/c68f28dee2560557363c23dfaade58172be47e561a2ee19b3c5cb9c2ed6a856d @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO5_default]SATB1_DH5_P5_SWBD5_XA_SPD" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 4 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c6e7d2d978c2039625c93e0ec673a421d21be7391b2c758e965b198acebb4983 b/Gateways/FE/projects/.resources/c6e7d2d978c2039625c93e0ec673a421d21be7391b2c758e965b198acebb4983 new file mode 100644 index 0000000..021e4bb Binary files /dev/null and b/Gateways/FE/projects/.resources/c6e7d2d978c2039625c93e0ec673a421d21be7391b2c758e965b198acebb4983 differ diff --git a/Gateways/FE/projects/.resources/c70574458bd92c03506073afa1cd9bafa31255d4e9757959576243592a720248 b/Gateways/FE/projects/.resources/c70574458bd92c03506073afa1cd9bafa31255d4e9757959576243592a720248 new file mode 100644 index 0000000..b2f57e5 Binary files /dev/null and b/Gateways/FE/projects/.resources/c70574458bd92c03506073afa1cd9bafa31255d4e9757959576243592a720248 differ diff --git a/Gateways/FE/projects/.resources/c712077348b138dea5fab9bb73d5317a797e75431b249dfc8f606079c5b11fb3 b/Gateways/FE/projects/.resources/c712077348b138dea5fab9bb73d5317a797e75431b249dfc8f606079c5b11fb3 new file mode 100644 index 0000000..37d7531 --- /dev/null +++ b/Gateways/FE/projects/.resources/c712077348b138dea5fab9bb73d5317a797e75431b249dfc8f606079c5b11fb3 @@ -0,0 +1,2770 @@ +{ + "custom": { + "DH": 3, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 5, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P3.5", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "custom.utpowered": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-5/Data/isEnergized" + }, + "type": "tag" + } + }, + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "this.custom.utpowered" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 0, + "breaker11": 1, + "breaker12": 0, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P3.5", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P3.5", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -130, + "y": 31 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c79490fdb200f0700c9d96f1c8745560b93d96cc14794efe71c028ba6fcd029e b/Gateways/FE/projects/.resources/c79490fdb200f0700c9d96f1c8745560b93d96cc14794efe71c028ba6fcd029e new file mode 100644 index 0000000..952b565 --- /dev/null +++ b/Gateways/FE/projects/.resources/c79490fdb200f0700c9d96f1c8745560b93d96cc14794efe71c028ba6fcd029e @@ -0,0 +1,4832 @@ +{ + "custom": { + "global": 75 + }, + "params": { + "pageId": "" + }, + "permissions": { + "securityLevels": [], + "type": "AllOf" + }, + "propConfig": { + "custom.global": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/OPC Tags/SATB1_DH4_STU_T_SP" + }, + "type": "tag" + }, + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1150, + "width": 2244 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": { + "racks": "var(--olGray)", + "walls": "var(--olGray)" + } + }, + "meta": { + "name": "DH4" + }, + "position": { + "height": 1109, + "width": 2000, + "x": -80.01, + "y": 4.01 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M143.531,42.131l0,-40.464l1161.22,-0l-0,24.079m-0,30.958l-0,34.963", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M216.956,91.667l-73.425,-0l0,-10.581", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1304.75,773.558l-0,17.306l-1087.8,-0l-0,-5.3m-0,-46.068l-0,-38.632", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1304.75,700.864l-0,37.411", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1304.75,694.567l-0,6.297l-1087.8,-0l-0,-4.689m1087.8,-576.163l-0,538.666m-1087.8,-567.011l1087.8,-0l-0,5m-1087.8,569.67l-0,-539.455", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M162.462,443.552l0,6.626l-80.641,-0l0,-42.841", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,407.337l0,20.211", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,351.017l0,56.32l-80.641,0l0,-82.74", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,324.597l0,6.822", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,278.46l0,46.137l-80.641,-0l0,-132.301", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,192.296l0,53.024", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,169.46l0,22.836l-80.641,-0l0,-45.361l80.641,0l0,4.688", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M81.821,790.864l0,-340.686m80.641,166.885l0,173.801", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,450.178l0,122.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M81.821,136.95l0,154.624l-80.154,0l-0,-184.276l80.154,0l0,13.255", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "82.957", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "165.769" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "82.957", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "165.769" + }, + { + "d": "M81.821,107.298l0,-105.631", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "173.725" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "173.725" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "192.475" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "192.475" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "211.225" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "211.225" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "229.975" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "229.975" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "248.725" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "248.725" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "48.562", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "18.924", + "x": "32.329", + "y": "208.335" + } + ], + "id": "Walls", + "name": "Walls", + "opacity": "50%", + "type": "group" + }, + { + "elements": [ + { + "d": "M269.752,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M269.752,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M373.252,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M373.252,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M476.752,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M476.752,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M580.252,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M580.252,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M683.752,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M683.752,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M787.252,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M787.252,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M890.752,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M890.752,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M994.252,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M994.252,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1097.75,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1097.75,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M311.752,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M311.752,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M415.252,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M415.252,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M518.752,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M518.752,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M622.252,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M622.252,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M725.752,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M725.752,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M829.252,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M829.252,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M932.752,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M932.752,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1036.25,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1036.25,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1139.75,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1139.75,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1201.25,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1242.77,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1201.25,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1242.77,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + } + ], + "id": "Racks", + "name": "Racks", + "opacity": "50%", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1307 793" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "STU" + }, + "position": { + "height": 69, + "width": 121, + "x": 350, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_0" + }, + "position": { + "height": 69, + "width": 120, + "x": 496, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU03" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_1" + }, + "position": { + "height": 69, + "width": 120, + "x": 643, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU05" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_2" + }, + "position": { + "height": 69, + "width": 120, + "x": 789, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU07" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_3" + }, + "position": { + "height": 69, + "width": 120, + "x": 936, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU09" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_4" + }, + "position": { + "height": 69, + "width": 120, + "x": 1083, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU11" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_5" + }, + "position": { + "height": 69, + "width": 120, + "x": 1229, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU13" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_6" + }, + "position": { + "height": 69, + "width": 120, + "x": 1376, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU15" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_7" + }, + "position": { + "height": 69, + "width": 120, + "x": 1522, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU17" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_8" + }, + "position": { + "height": 69, + "width": 120, + "x": 1668, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU19" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_9" + }, + "position": { + "height": 69, + "width": 120, + "x": 349, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_10" + }, + "position": { + "height": 69, + "width": 120, + "x": 495, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU04" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_11" + }, + "position": { + "height": 69, + "width": 120, + "x": 642, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_12" + }, + "position": { + "height": 69, + "width": 120, + "x": 788, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU08" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_13" + }, + "position": { + "height": 69, + "width": 120, + "x": 935, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU10" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_14" + }, + "position": { + "height": 69, + "width": 120, + "x": 1081.43, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU12" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_15" + }, + "position": { + "height": 69, + "width": 120, + "x": 1229, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU14" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_16" + }, + "position": { + "height": 69, + "width": 120, + "x": 1376, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU16" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_17" + }, + "position": { + "height": 69, + "width": 120, + "x": 1523, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU18" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_18" + }, + "position": { + "height": 69, + "width": 120, + "x": 1669, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU20" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM" + }, + "position": { + "height": 64, + "width": 165, + "x": 349, + "y": 7.49737 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_HUM_03" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_0" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 1670.02, + "y": 1045.5 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_HUM_02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_2" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 350.01599999999996, + "y": 1045.5 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_HUM_01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_75" + }, + "position": { + "height": 25, + "width": 60, + "x": 391.4, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_156_154_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_76" + }, + "position": { + "height": 25, + "width": 60, + "x": 535.7, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_152_150_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_77" + }, + "position": { + "height": 25, + "width": 60, + "x": 684.4, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_148_146_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_78" + }, + "position": { + "height": 25, + "width": 60, + "x": 831.7, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_144_142_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_79" + }, + "position": { + "height": 25, + "width": 60, + "x": 971.7, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_140_138_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_81" + }, + "position": { + "height": 25, + "width": 60, + "x": 1265.7, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_132_130_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_82" + }, + "position": { + "height": 25, + "width": 60, + "x": 1411.7, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_128_126_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_83" + }, + "position": { + "height": 25, + "width": 60, + "x": 1554.7, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_124_122_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_84" + }, + "position": { + "height": 25, + "width": 60, + "x": 1698.01, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_120_118_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_85" + }, + "position": { + "height": 25, + "width": 60, + "x": 391.4, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_156_154_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_86" + }, + "position": { + "height": 25, + "width": 60, + "x": 535.7, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_152_150_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_87" + }, + "position": { + "height": 25, + "width": 60, + "x": 684.4, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_148_146_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_88" + }, + "position": { + "height": 25, + "width": 60, + "x": 831.7, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_144_142_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_89" + }, + "position": { + "height": 25, + "width": 60, + "x": 971.7, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_140_138_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_91" + }, + "position": { + "height": 25, + "width": 60, + "x": 1265.7, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_132_130_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_92" + }, + "position": { + "height": 25, + "width": 60, + "x": 1411.7, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_128_126_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_93" + }, + "position": { + "height": 25, + "width": 60, + "x": 1554.7, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_124_122_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_94" + }, + "position": { + "height": 25, + "width": 60, + "x": 1698.01, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_120_118_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_95" + }, + "position": { + "height": 25, + "width": 60, + "x": 391.4, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_157_155_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_96" + }, + "position": { + "height": 25, + "width": 60, + "x": 535.7, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_153_151_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_97" + }, + "position": { + "height": 25, + "width": 60, + "x": 684.4, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_149_147_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_98" + }, + "position": { + "height": 25, + "width": 60, + "x": 831.7, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_145_143_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_99" + }, + "position": { + "height": 25, + "width": 60, + "x": 971.7, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_141_139_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_100" + }, + "position": { + "height": 25, + "width": 60, + "x": 1121.7, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_137_135_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_101" + }, + "position": { + "height": 25, + "width": 60, + "x": 1265.7, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_133_131_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_102" + }, + "position": { + "height": 25, + "width": 60, + "x": 1411.7, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_129_127_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_103" + }, + "position": { + "height": 25, + "width": 60, + "x": 1554.7, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_125_123_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_104" + }, + "position": { + "height": 25, + "width": 60, + "x": 1698.01, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_121_119_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_181" + }, + "position": { + "height": 25, + "width": 60, + "x": 391.4, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_157_155_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_182" + }, + "position": { + "height": 25, + "width": 60, + "x": 535.7, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_153_151_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_183" + }, + "position": { + "height": 25, + "width": 60, + "x": 684.4, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_149_147_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_184" + }, + "position": { + "height": 25, + "width": 60, + "x": 831.7, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_145_143_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_185" + }, + "position": { + "height": 25, + "width": 60, + "x": 971.7, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_141_139_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_186" + }, + "position": { + "height": 25, + "width": 60, + "x": 1121.7, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_137_135_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_187" + }, + "position": { + "height": 25, + "width": 60, + "x": 1265.7, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_133_131_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_188" + }, + "position": { + "height": 25, + "width": 60, + "x": 1411.7, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_129_127_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_189" + }, + "position": { + "height": 25, + "width": 60, + "x": 1554.7, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_125_123_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_190" + }, + "position": { + "height": 25, + "width": 60, + "x": 1698.01, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_121_119_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_170" + }, + "position": { + "height": 25, + "width": 150, + "x": 1499, + "y": 1042.42 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO4_default]GAL1282/SATB1_DH4_LD2_CTRL" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_171" + }, + "position": { + "height": 25, + "width": 150, + "x": 1504, + "y": 6.49737146911621 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_DH4_LD1_CTRL" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FCU-15" + }, + "position": { + "height": 69, + "width": 121, + "x": 120.296, + "y": 212.988 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1284/SATB1_HS2_EL1284_FCU13" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_80" + }, + "position": { + "height": 25, + "width": 60, + "x": 1121.7, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_136_134_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_90" + }, + "position": { + "height": 25, + "width": 60, + "x": 1121.7, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_136_134_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 71, + "x": 310.5, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 156, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 383, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "156_154", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 526.6, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "152_150", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 473.011, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "154_152", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 671.7, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "148_146", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 617.6, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "150_148", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 816.7, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "144_142", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 761.7, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "146_144", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 963.7, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "140_138", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 907.6, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "142_140", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1105.7, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "136_134", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1053.7, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "138_136", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1251.5, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "132_130", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1195.5, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "134_132", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H8" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1396.6, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "128_126", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C8" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 1341.6, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "130_128", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1486.6, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "126_124", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1540.5, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "124_122", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1631.62, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "122_120", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1685.5, + "y": 178.2 + }, + "propConfig": { + "props.params.Aisle": { + "access": "PUBLIC" + }, + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "120_118", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C11" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 71, + "x": 310.5, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 157, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H11" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 383, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "157_155", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 526.6, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "153_151", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 473.011, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "155_153", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 671.7, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "149_147", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 617.6, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "151_149", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 816.7, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "145_143", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 761.7, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "147_145", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 963.7, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "141_139", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 907.6, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "143_141", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1105.7, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "137_135", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1053.7, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "139_137", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H17" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1251.5, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "133_131", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1396.6, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "129_127", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 1341.6, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "131_129", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1540.5, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "125_123", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1486.6, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "127_125", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1631.62, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "123_121", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1685.5, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "121_119", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C21" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 1775, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 118, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C22" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 1775, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 119, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH controls" + }, + "position": { + "height": 1000, + "width": 350, + "x": 1880, + "y": 5.321771469116211 + }, + "props": { + "params": { + "dh": 4 + }, + "path": "Pages/Dev/C_AirSystem/Widgets/DH_Control", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_105" + }, + "position": { + "height": 25, + "width": 60, + "x": 241.2, + "y": 543.475 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_COR_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 172, + "width": 145, + "x": 156.23558911132812, + "y": 21.267353259277343 + }, + "props": { + "params": { + "DH": "DH4" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/Dewpoint", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FCU-16" + }, + "position": { + "height": 69, + "width": 121, + "x": 120.27603149414062, + "y": 398 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]FS1285/SATB1_HS2_FS1285_FCU09" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FCU-17" + }, + "position": { + "height": 69, + "width": 121, + "x": 120.276, + "y": 449 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1286/SATB1_HS2_IDF1286_FCU10" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FCU-18" + }, + "position": { + "height": 69, + "width": 121, + "x": 120, + "y": 514 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1286/SATB1_HS2_IDF1286_FCU11" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FCU-19" + }, + "position": { + "height": 69, + "width": 121, + "x": 120, + "y": 574 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1287/SATB1_HS2_EL1287_FCU12" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C23" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1195.5, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "135_133", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 148.28125, + "y": 328 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "LLSPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.LLSPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c7a8a9786547a22a018ebb8b8a8dd4d0be2788d375e4424db2d20074476639f2 b/Gateways/FE/projects/.resources/c7a8a9786547a22a018ebb8b8a8dd4d0be2788d375e4424db2d20074476639f2 new file mode 100644 index 0000000..5bf44e2 --- /dev/null +++ b/Gateways/FE/projects/.resources/c7a8a9786547a22a018ebb8b8a8dd4d0be2788d375e4424db2d20074476639f2 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_H1_TT01" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947393186 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947393186 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c7f2f75c1e50c63225f4601ba40442954aa599a371877514a8378c517d7a4cd0 b/Gateways/FE/projects/.resources/c7f2f75c1e50c63225f4601ba40442954aa599a371877514a8378c517d7a4cd0 new file mode 100644 index 0000000..9394061 --- /dev/null +++ b/Gateways/FE/projects/.resources/c7f2f75c1e50c63225f4601ba40442954aa599a371877514a8378c517d7a4cd0 @@ -0,0 +1,265 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Air Flow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Air Flow Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Control SP", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Cooling Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Damper Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Heat Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max allowed Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min allowed Temperature", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Mode", + "options": [ + "No Mode", + "Occupancy", + "Unoccupied", + "Standby Mode" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Occupancy Sensor", + "options": [ + "No Movement", + "Activity" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Space Temperature", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Stage-1 Heater Sts", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Stage-2 Heater Sts", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]RM1109/SATB1_HS1_RM1109_VAV06" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c81177302639f19c722f1b268efe4e16a048d9b82eaee91e2b3ed34cb97e8bc5 b/Gateways/FE/projects/.resources/c81177302639f19c722f1b268efe4e16a048d9b82eaee91e2b3ed34cb97e8bc5 new file mode 100644 index 0000000..48e2ada Binary files /dev/null and b/Gateways/FE/projects/.resources/c81177302639f19c722f1b268efe4e16a048d9b82eaee91e2b3ed34cb97e8bc5 differ diff --git a/Gateways/FE/projects/.resources/c8c62dd6deee121308ac20985a1cd7efaada237163ee74eeaca603104c1f8f12 b/Gateways/FE/projects/.resources/c8c62dd6deee121308ac20985a1cd7efaada237163ee74eeaca603104c1f8f12 new file mode 100644 index 0000000..8d51a26 --- /dev/null +++ b/Gateways/FE/projects/.resources/c8c62dd6deee121308ac20985a1cd7efaada237163ee74eeaca603104c1f8f12 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948381171 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948381171 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c92a73dc87cbc5de960506812593d35a63dcefd13d6433883c77e5e5fcde02fa b/Gateways/FE/projects/.resources/c92a73dc87cbc5de960506812593d35a63dcefd13d6433883c77e5e5fcde02fa new file mode 100644 index 0000000..a20cd47 --- /dev/null +++ b/Gateways/FE/projects/.resources/c92a73dc87cbc5de960506812593d35a63dcefd13d6433883c77e5e5fcde02fa @@ -0,0 +1,3810 @@ +{ + "custom": { + "c1": "value", + "c2": "value", + "global": 75 + }, + "params": { + "pageId": "" + }, + "permissions": { + "securityLevels": [], + "type": "AllOf" + }, + "propConfig": { + "custom.c1": { + "persistent": true + }, + "custom.c2": { + "persistent": true + }, + "custom.global": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/OPC Tags/SATB1_DH3_STU_T_SP" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1388, + "width": 2214 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DH201" + }, + "position": { + "height": 1264, + "width": 1736, + "x": 87.875, + "y": 36 + }, + "props": { + "elements": [ + { + "d": "M292.594,26.999l0,5.503l-276.536,-0l-0,-5.498m-0,-20.826l-0,-5.78l276.536,-0l0,5.833m0,209.161l-276.536,-0m-0,-23.474l-0,-6.881l276.536,-0l0,6.434m-263.855,-158.969l0,1.573m0,8.074l0,134.332m263.855,-134.332l0,134.332m-268.415,-127.238l4.56,-0l0,19.721l-17.557,-0l0,-19.721l5.194,-0m-13.074,122.476l-2.904,-0l-0,-102.755l28.341,-0l0,102.755l-16.796,-0m-11.545,-122.476l10.784,-0l0,19.721l-10.784,-0l-0,-14.741", + "fill": { + "paint": "transparent" + }, + "id": "_2ndFloor", + "name": "_2ndFloor", + "stroke": { + "opacity": "0.95", + "paint": "var(--text-muted)", + "width": "0.8px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(30.5184,0,0,30.5184,225.217,115.44)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "30.518px" + }, + "text": "DH201", + "type": "text", + "visibility": "hidden", + "x": "130.22px", + "y": "115.44px" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 293 216" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "STU" + }, + "position": { + "height": 69, + "width": 121, + "x": 300, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU01" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_0" + }, + "position": { + "height": 69, + "width": 120, + "x": 451, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU03" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_1" + }, + "position": { + "height": 69, + "width": 120, + "x": 601, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU05" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_2" + }, + "position": { + "height": 69, + "width": 120, + "x": 751, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU07" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_3" + }, + "position": { + "height": 69, + "width": 120, + "x": 901, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU09" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_4" + }, + "position": { + "height": 69, + "width": 120, + "x": 1051, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU11" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_5" + }, + "position": { + "height": 69, + "width": 120, + "x": 1201, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU13" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_6" + }, + "position": { + "height": 69, + "width": 120, + "x": 1351, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU15" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_7" + }, + "position": { + "height": 69, + "width": 120, + "x": 1501, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU17" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_8" + }, + "position": { + "height": 69, + "width": 120, + "x": 1651, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU19" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_9" + }, + "position": { + "height": 69, + "width": 120, + "x": 300, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU02" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_10" + }, + "position": { + "height": 69, + "width": 120, + "x": 450, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU04" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_11" + }, + "position": { + "height": 69, + "width": 120, + "x": 600, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU06" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_12" + }, + "position": { + "height": 69, + "width": 120, + "x": 750, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU08" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_13" + }, + "position": { + "height": 69, + "width": 120, + "x": 900, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU10" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_14" + }, + "position": { + "height": 69, + "width": 120, + "x": 1050, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU12" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_15" + }, + "position": { + "height": 69, + "width": 120, + "x": 1200, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU14" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_16" + }, + "position": { + "height": 69, + "width": 120, + "x": 1350, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU16" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_17" + }, + "position": { + "height": 69, + "width": 120, + "x": 1500, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU18" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_18" + }, + "position": { + "height": 69, + "width": 120, + "x": 1650, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU20" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_0" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 1645.7, + "y": 1234.4 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_HUM_02" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_2" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 310.703, + "y": 1234.4 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_HUM_01" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_75" + }, + "position": { + "height": 25, + "width": 70, + "x": 376, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_116_114_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_76" + }, + "position": { + "height": 25, + "width": 70, + "x": 516, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_112_110_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_77" + }, + "position": { + "height": 25, + "width": 70, + "x": 656, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_108_106_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_78" + }, + "position": { + "height": 25, + "width": 70, + "x": 796, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_104_102_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_79" + }, + "position": { + "height": 25, + "width": 70, + "x": 936, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_100_98_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_81" + }, + "position": { + "height": 25, + "width": 70, + "x": 1216, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_92_90_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_82" + }, + "position": { + "height": 25, + "width": 70, + "x": 1356, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_88_86_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_83" + }, + "position": { + "height": 25, + "width": 70, + "x": 1496, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_84_82_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_84" + }, + "position": { + "height": 25, + "width": 70, + "x": 1636, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_80_78_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_85" + }, + "position": { + "height": 25, + "width": 70, + "x": 376, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_116_114_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_86" + }, + "position": { + "height": 25, + "width": 70, + "x": 516, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_112_110_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_87" + }, + "position": { + "height": 25, + "width": 70, + "x": 656, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_108_106_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_88" + }, + "position": { + "height": 25, + "width": 70, + "x": 796, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_104_102_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_89" + }, + "position": { + "height": 25, + "width": 70, + "x": 936, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_100_98_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_91" + }, + "position": { + "height": 25, + "width": 70, + "x": 1216, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_92_90_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_92" + }, + "position": { + "height": 25, + "width": 70, + "x": 1356, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_88_86_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_93" + }, + "position": { + "height": 25, + "width": 70, + "x": 1496, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_84_82_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_94" + }, + "position": { + "height": 25, + "width": 70, + "x": 1636, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_80_78_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_95" + }, + "position": { + "height": 25, + "width": 70, + "x": 376, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_117_115_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_96" + }, + "position": { + "height": 25, + "width": 70, + "x": 516, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_113_111_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_97" + }, + "position": { + "height": 25, + "width": 70, + "x": 656, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_109_107_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_98" + }, + "position": { + "height": 25, + "width": 70, + "x": 796, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_105_103_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_99" + }, + "position": { + "height": 25, + "width": 70, + "x": 936, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_101_99_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_100" + }, + "position": { + "height": 25, + "width": 70, + "x": 1076, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_97_95_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_101" + }, + "position": { + "height": 25, + "width": 70, + "x": 1216, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_93_91_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_102" + }, + "position": { + "height": 25, + "width": 70, + "x": 1356, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_89_87_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_103" + }, + "position": { + "height": 25, + "width": 70, + "x": 1496, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_85_83_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_104" + }, + "position": { + "height": 25, + "width": 70, + "x": 1636, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_81_79_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_181" + }, + "position": { + "height": 25, + "width": 70, + "x": 376, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_117_115_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_182" + }, + "position": { + "height": 25, + "width": 70, + "x": 516, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_113_111_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_183" + }, + "position": { + "height": 25, + "width": 70, + "x": 656, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_109_107_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_184" + }, + "position": { + "height": 25, + "width": 70, + "x": 796, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_105_103_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_185" + }, + "position": { + "height": 25, + "width": 70, + "x": 936, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_101_99_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_186" + }, + "position": { + "height": 25, + "width": 70, + "x": 1076, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_97_95_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_187" + }, + "position": { + "height": 25, + "width": 70, + "x": 1216, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_93_91_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_188" + }, + "position": { + "height": 25, + "width": 70, + "x": 1356, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_89_87_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_189" + }, + "position": { + "height": 25, + "width": 70, + "x": 1496, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_85_83_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_190" + }, + "position": { + "height": 25, + "width": 70, + "x": 1636, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_81_79_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LR2" + }, + "position": { + "height": 85, + "width": 72, + "x": 1767.38, + "y": 1154.44 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO3_default]GAL1172/SATB1_DH3_LD2_CTRL" + }, + "path": "Library/Symbols/HVAC/Sym_LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LD_North" + }, + "position": { + "height": 88, + "width": 79, + "x": 213.35, + "y": 128.135 + }, + "props": { + "params": { + "TagPosition": false, + "layout": 2, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_DH3_LD1_CTRL" + }, + "path": "Library/Symbols/HVAC/Sym_LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_80" + }, + "position": { + "height": 25, + "width": 70, + "x": 1076, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_96_94_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_90" + }, + "position": { + "height": 25, + "width": 70, + "x": 1076, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_96_94_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 306.026, + "y": 288.032 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 116, + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 376, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "116_114", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 516, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "112_110", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 446.021, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "114_112", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 656, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "108_106", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 586.021, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "110_108", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 796, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "104_102", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 726.021, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "106_104", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 936, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "100_98", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 866.021, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "102_100", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1076, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "96_94", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1006.02, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "98_96", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1216, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "92_90", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1146.02, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "94_92", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H8" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1356, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "88_86", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C8" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1286.02, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "90_88", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1426.02, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "86_84", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1496, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "84_82", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1566.02, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "82_80", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1636, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "80_78", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C11" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 306.026, + "y": 697.932 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 117, + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H11" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 376, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "117_115", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 516, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "113_111", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 446.021, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "115_113", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 656, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "109_107", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 586.021, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "111_109", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 796, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "105_103", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 726.021, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "107_105", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 936, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "101_99", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 866.021, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "103_101", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1076, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "97_95", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1006.02, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "99_97", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H17" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1216, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "93_91", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C17" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1146.02, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "95_93", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1356.02, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "89_87", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1286.02, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "91_89", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1496, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "85_83", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1426.02, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "87_85", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1566.02, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "83_81", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1636, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "81_79", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C21" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1706.02, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 78, + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C22" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1706.02, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 79, + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH controls" + }, + "position": { + "height": 1000, + "width": 350, + "x": 1814, + "y": 34.8426 + }, + "props": { + "params": { + "dh": 201 + }, + "path": "Library/Cards/Card_DH_Control", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_105" + }, + "position": { + "height": 37, + "width": 77, + "x": 279.48, + "y": 652.2 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 172, + "width": 145, + "x": 14.950878247070314, + "y": 43.92978912353516 + }, + "props": { + "params": { + "DH": "DH3" + }, + "path": "Library/Widgets/HVAC/Wdg_Dewpoint", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_3" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 755.7, + "y": 1234.4 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_HUM_01" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_4" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 1200.7, + "y": 1234.4 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_HUM_01" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LD_North_0" + }, + "position": { + "height": 94, + "width": 84, + "x": 180, + "y": 338 + }, + "props": { + "params": { + "TagPosition": false, + "layout": 2, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_DH3_LD1_CTRL" + }, + "path": "Library/Symbols/HVAC/Sym_LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LD_North_1" + }, + "position": { + "height": 17, + "width": 1481, + "x": 284.91, + "y": 148.8 + }, + "props": { + "params": { + "TagPosition": false, + "layout": 2, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_DH3_LD1_CTRL" + }, + "path": "Library/Symbols/HVAC/Sym_LR", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LD_North_2" + }, + "position": { + "height": 17, + "width": 1458, + "x": 310, + "y": 1178 + }, + "props": { + "params": { + "NS": false, + "leak": 15, + "stops": [ + 10, + 15, + 20, + 25, + 30, + 35, + 40, + 45, + 50, + 60 + ] + }, + "path": "Library/Symbols/HVAC/Sym_LR", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LD_North_3" + }, + "position": { + "height": 74, + "width": 99, + "x": 1111, + "y": 50 + }, + "props": { + "params": { + "Layout": 2, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_LD_DI" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LD_North_4" + }, + "position": { + "height": 74, + "rotate": { + "anchor": "40% 50%" + }, + "width": 99, + "x": 1111, + "y": 1208 + }, + "props": { + "params": { + "Layout": 2, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_LD_DI" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_106" + }, + "position": { + "height": 37, + "width": 77, + "x": 215, + "y": 53 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_107" + }, + "position": { + "height": 37, + "width": 77, + "x": 215, + "y": 93 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_108" + }, + "position": { + "height": 37, + "width": 77, + "x": 315, + "y": 92.99 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_109" + }, + "position": { + "height": 37, + "width": 77, + "x": 315, + "y": 52.99 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_110" + }, + "position": { + "height": 37, + "width": 77, + "x": 1597, + "y": 51.14708587646484 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_111" + }, + "position": { + "height": 37, + "width": 77, + "x": 1597, + "y": 91.14708587646484 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_112" + }, + "position": { + "height": 37, + "width": 77, + "x": 1697, + "y": 91.14708587646484 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_113" + }, + "position": { + "height": 37, + "width": 77, + "x": 1697, + "y": 51.14708587646484 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_114" + }, + "position": { + "height": 37, + "width": 77, + "x": 10, + "y": 652 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Sym_FCU" + }, + "position": { + "height": 70, + "width": 120, + "x": 60, + "y": 318.982 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1128/SATB1_HS2_EL1128_FCU16" + }, + "path": "Library/Symbols/HVAC/Sym_FCU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Sym_FCU_0" + }, + "position": { + "height": 70, + "width": 120, + "x": 60, + "y": 375 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1128/SATB1_HS2_EL1128_FCU16" + }, + "path": "Library/Symbols/HVAC/Sym_FCU" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -8.015625, + "y": 5 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "LLSPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.LLSPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c976df166dbad9706670efc5833dd71d06127aac025dac189737621b3787240c b/Gateways/FE/projects/.resources/c976df166dbad9706670efc5833dd71d06127aac025dac189737621b3787240c new file mode 100644 index 0000000..07b47fb Binary files /dev/null and b/Gateways/FE/projects/.resources/c976df166dbad9706670efc5833dd71d06127aac025dac189737621b3787240c differ diff --git a/Gateways/FE/projects/.resources/c99d653c3f1048247273ee3a4c687a46036e77d10a5a29166720c0cfab713fb9 b/Gateways/FE/projects/.resources/c99d653c3f1048247273ee3a4c687a46036e77d10a5a29166720c0cfab713fb9 new file mode 100644 index 0000000..b9a74f7 Binary files /dev/null and b/Gateways/FE/projects/.resources/c99d653c3f1048247273ee3a4c687a46036e77d10a5a29166720c0cfab713fb9 differ diff --git a/Gateways/FE/projects/.resources/c99f84b7d16c30eb3ba96c837728fc54af37b5587822ba6c2874c5a63a38e87d b/Gateways/FE/projects/.resources/c99f84b7d16c30eb3ba96c837728fc54af37b5587822ba6c2874c5a63a38e87d new file mode 100644 index 0000000..8c48a5e Binary files /dev/null and b/Gateways/FE/projects/.resources/c99f84b7d16c30eb3ba96c837728fc54af37b5587822ba6c2874c5a63a38e87d differ diff --git a/Gateways/FE/projects/.resources/c9bd3747b33707782cb70fe5ca57c8acc487da3f8b3e522be8c8762732a28c21 b/Gateways/FE/projects/.resources/c9bd3747b33707782cb70fe5ca57c8acc487da3f8b3e522be8c8762732a28c21 new file mode 100644 index 0000000..2e282b5 --- /dev/null +++ b/Gateways/FE/projects/.resources/c9bd3747b33707782cb70fe5ca57c8acc487da3f8b3e522be8c8762732a28c21 @@ -0,0 +1,74 @@ +{ + "custom": {}, + "params": { + "SRC": "01", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1" + }, + "propConfig": { + "params.SRC": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 25, + "width": 150 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Equipment Name" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "{value} + \" SRC \" + {view.params.SRC}", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontSize": 15, + "fontWeight": "bold", + "overflow": "visible", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/c9d279f34625c24b4eb913d68d937969bc7dd5c169fad3f49595ef7f926c82cd b/Gateways/FE/projects/.resources/c9d279f34625c24b4eb913d68d937969bc7dd5c169fad3f49595ef7f926c82cd new file mode 100644 index 0000000..b5c58d1 --- /dev/null +++ b/Gateways/FE/projects/.resources/c9d279f34625c24b4eb913d68d937969bc7dd5c169fad3f49595ef7f926c82cd @@ -0,0 +1,932 @@ +{ + "custom": { + "AlarmSeverity": 1, + "DepletingTime": null, + "Mode": null, + "TES_Color": "var(--state-faulted)", + "shownTime": 0 + }, + "params": { + "TES": [ + "TES01", + "TES02", + "TES03" + ], + "objectName": "TES", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.DepletingTime": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Depleting Elapsed Time" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.ElapsedTime": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Recharge Fail Elapsed Time" + }, + "type": "tag" + } + }, + "custom.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Mode" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.TES_Color": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e0, 5, {view.custom.Mode})" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + }, + { + "input": 3, + "output": "var(--hpBlue)" + }, + { + "input": 5, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + }, + "persistent": true + }, + "custom.shownTime": { + "binding": { + "config": { + "struct": { + "depleting": "{view.custom.DepletingTime}", + "elapsed": "{view.custom.ElapsedTime}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\"depleting\"] \u003e 0:\n\t\toutput \u003d value[\"depleting\"]\n\telif value[\"elapsed\"] \u003e 0:\n\t\toutput \u003d value[\"elapsed\"]\n\telse:\n\t\toutput \u003d 0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.TES": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 97, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 17, + "rotate": { + "anchor": "25% 25%" + }, + "width": 50, + "x": 228, + "y": -2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Mode" + }, + "transforms": [ + { + "fallback": "Unknown", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Off" + }, + { + "input": 1, + "output": "Normal" + }, + { + "input": 2, + "output": "Depleted" + }, + { + "input": 3, + "output": "Recharging" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "Arial", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Text" + }, + "position": { + "height": 17, + "rotate": { + "anchor": "25% 25%" + }, + "width": 50, + "x": 239, + "y": 21 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.shownTime" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\toutput \u003d True\n\telse:\n\t\toutput \u003d False\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.Mode" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": "Depleting" + }, + { + "input": 2, + "output": "" + }, + { + "input": 3, + "output": "Fail Elapsed" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 17, + "rotate": { + "anchor": "25% 25%" + }, + "width": 25, + "x": 262.99, + "y": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.shownTime" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\toutput \u003d True\n\telse:\n\t\toutput \u003d False\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "sec", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Variable" + }, + "position": { + "height": 17, + "rotate": { + "anchor": "25% 25%" + }, + "width": 33, + "x": 233, + "y": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.shownTime" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\toutput \u003d True\n\telse:\n\t\toutput \u003d False\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.shownTime" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TES" + }, + "position": { + "height": 70, + "width": 55, + "x": -2, + "y": 10 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "40.833", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "rect", + "width": "37.5", + "x": "0.417", + "y": "6.25" + }, + { + "d": "M37.911,5.978C37.673,2.896 29.365,0.417 19.167,0.417C8.968,0.417 0.66,2.896 0.422,5.978L37.911,5.978Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M37.906,47.083C37.668,50.165 29.36,52.644 19.161,52.644C8.963,52.644 0.655,50.165 0.417,47.083L37.906,47.083Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TES", + "name": "TES", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 39 54" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "TES_0" + }, + "position": { + "height": 70, + "width": 55, + "x": 88, + "y": 10 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "40.833", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "rect", + "width": "37.5", + "x": "0.417", + "y": "6.25" + }, + { + "d": "M37.911,5.978C37.673,2.896 29.365,0.417 19.167,0.417C8.968,0.417 0.66,2.896 0.422,5.978L37.911,5.978Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M37.906,47.083C37.668,50.165 29.36,52.644 19.161,52.644C8.963,52.644 0.655,50.165 0.417,47.083L37.906,47.083Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TES", + "name": "TES", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 39 54" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "TES_1" + }, + "position": { + "height": 70, + "width": 55, + "x": 177, + "y": 10 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "40.833", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "rect", + "width": "37.5", + "x": "0.417", + "y": "6.25" + }, + { + "d": "M37.911,5.978C37.673,2.896 29.365,0.417 19.167,0.417C8.968,0.417 0.66,2.896 0.422,5.978L37.911,5.978Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M37.906,47.083C37.668,50.165 29.36,52.644 19.161,52.644C8.963,52.644 0.655,50.165 0.417,47.083L37.906,47.083Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TES", + "name": "TES", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 39 54" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 17, + "rotate": { + "anchor": "25% 25%" + }, + "width": 50, + "x": 37.9988, + "y": 79 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.TES[0]" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 17, + "rotate": { + "anchor": "25% 25%" + }, + "width": 50, + "x": 126.995, + "y": 79 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.TES[1]" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 17, + "rotate": { + "anchor": "25% 25%" + }, + "width": 50, + "x": 216.995, + "y": 79 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.TES[2]" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AlarmBorder" + }, + "position": { + "height": 72, + "width": 230, + "y": 9 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": "auto", + "width": "auto", + "x": 222, + "y": -10 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 20, + "y": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ca05443208fa1b66f3563336e2f9842c209843762a6229bc4d92956be541b873 b/Gateways/FE/projects/.resources/ca05443208fa1b66f3563336e2f9842c209843762a6229bc4d92956be541b873 new file mode 100644 index 0000000..39f300c Binary files /dev/null and b/Gateways/FE/projects/.resources/ca05443208fa1b66f3563336e2f9842c209843762a6229bc4d92956be541b873 differ diff --git a/Gateways/FE/projects/.resources/ca2cde0ed6a6f7ef0920dbbf9e0a75567304a5959db0819661a764319939596a b/Gateways/FE/projects/.resources/ca2cde0ed6a6f7ef0920dbbf9e0a75567304a5959db0819661a764319939596a new file mode 100644 index 0000000..080b7e5 --- /dev/null +++ b/Gateways/FE/projects/.resources/ca2cde0ed6a6f7ef0920dbbf9e0a75567304a5959db0819661a764319939596a @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "0px", + "borderTopRightRadius": "4px", + "borderBottomLeftRadius": "0px", + "borderBottomRightRadius": "4px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/caad7c00c165446ed2c2bc80b5cb6d22c5a65d2bfd6f6deb1d9c73fd9246aeba b/Gateways/FE/projects/.resources/caad7c00c165446ed2c2bc80b5cb6d22c5a65d2bfd6f6deb1d9c73fd9246aeba new file mode 100644 index 0000000..1a67a5b Binary files /dev/null and b/Gateways/FE/projects/.resources/caad7c00c165446ed2c2bc80b5cb6d22c5a65d2bfd6f6deb1d9c73fd9246aeba differ diff --git a/Gateways/FE/projects/.resources/cb16bb9c64bf964f99ebca530f71eeb98d8af59af8fa34cda032a4b51aaec852 b/Gateways/FE/projects/.resources/cb16bb9c64bf964f99ebca530f71eeb98d8af59af8fa34cda032a4b51aaec852 new file mode 100644 index 0000000..711c375 Binary files /dev/null and b/Gateways/FE/projects/.resources/cb16bb9c64bf964f99ebca530f71eeb98d8af59af8fa34cda032a4b51aaec852 differ diff --git a/Gateways/FE/projects/.resources/cb4243667e6df5f673acd90736d4f2307f4923bea85fb3566be7f9046dd81795 b/Gateways/FE/projects/.resources/cb4243667e6df5f673acd90736d4f2307f4923bea85fb3566be7f9046dd81795 new file mode 100644 index 0000000..05467e8 --- /dev/null +++ b/Gateways/FE/projects/.resources/cb4243667e6df5f673acd90736d4f2307f4923bea85fb3566be7f9046dd81795 @@ -0,0 +1,121 @@ +{ + "custom": { + "colorHandler": { + "auto": "#27669C", + "manual": "#9C6427", + "none": "#FFFFFF" + } + }, + "params": { + "Mode": 1, + "Options": [ + "A", + "M" + ] + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "params.Mode": { + "paramDirection": "input", + "persistent": true + }, + "params.Options": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 20 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "code": "\tif value \u003c 1:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\tif value \u003d\u003d 1:\n\t\toutput \u003d self.view.custom.colorHandler.auto\n\tif value \u003d\u003d 2:\n\t\toutput \u003d self.view.custom.colorHandler.manual\n\tif value \u003e 2:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\t\n\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "{view.params.Options[0]}" + }, + { + "input": 2, + "output": "{view.params.Options[1]}" + } + ], + "outputType": "expression", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "paddingLeft": 5, + "paddingRight": 5 + }, + "textStyle": { + "color": "#FFFFFF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/cba5cfd4b22d0cbc0bf8187525d6fb75166ff1b8f6289434d6c6d1e3328ef690 b/Gateways/FE/projects/.resources/cba5cfd4b22d0cbc0bf8187525d6fb75166ff1b8f6289434d6c6d1e3328ef690 new file mode 100644 index 0000000..f707122 --- /dev/null +++ b/Gateways/FE/projects/.resources/cba5cfd4b22d0cbc0bf8187525d6fb75166ff1b8f6289434d6c6d1e3328ef690 @@ -0,0 +1,2754 @@ +{ + "custom": { + "DH": 4, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_SATB1_IO4_default]", + "in1": true, + "in2": true, + "lineup": 3, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5 or value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telse:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P4.3", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-3/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO4_default]ER1256/SATB1_ER1256_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/cc03c83696751bb665971534da9e54ad31932c20f7e4e568fc14d8e8feb4fa0b b/Gateways/FE/projects/.resources/cc03c83696751bb665971534da9e54ad31932c20f7e4e568fc14d8e8feb4fa0b new file mode 100644 index 0000000..186d8bb --- /dev/null +++ b/Gateways/FE/projects/.resources/cc03c83696751bb665971534da9e54ad31932c20f7e4e568fc14d8e8feb4fa0b @@ -0,0 +1,918 @@ +{ + "custom": { + "FLT_Codes": [ + "0: No Fault", + "1: Low Ambient Temperature", + "2: High Ambient Temperature", + "3: Low Chilled Liquid Temperature", + "4: VSD Initialization Failure", + "5: Low RTC Battery Voltage", + "6: Invalid Number of Compressors Selected", + "7: VSD Communications Failure", + "8: Pre-charge Low DC Bus Voltage", + "9: Pre-charge DC Bus Voltage Imbalance", + "10: High DC Bus Voltage", + "11: Low DC Bus Voltage", + "12: DC Bus Voltage Imbalance", + "13: High VSD Ambien Temperature", + "14: Single Phase Input", + "15: VSD Power Supply Fault", + "16: VSD Logic Board Fault", + "17: Motor Current Overload (Hardware)", + "18: CT Plug Fault", + "19: High Harmonic Filter Temperature", + "20: Evap Anti-Freeze Pump Fault", + "21: Low Heat Exchange Temperature", + "22: Replace RTC Battery", + "23: N/A", + "24: N/A", + "25: N/A", + "26: N/A", + "27: High Discharge Pressure", + "28: High Differential Oil Pressure", + "29: Low Differential Oil Pressure", + "30: Low Suction Pressure", + "31: High Discharge Temperature", + "32: N/A", + "33: Eductor Clog Fault", + "34: Sensor Failure", + "35: Low Motor Current", + "36: High Motor Temperature", + "37: Pre-charge Low DC Bus Voltage Immbalance", + "38: Pre-charge DC Bus Voltage Imbalance", + "39: High DC Bus Voltage", + "40: Low DC Bus Voltage", + "41: DC Bus Voltage Imbalance", + "42: High Motor Current", + "43: Motor Current Overload", + "44: IGBT Gate Driver Fault", + "45: High Baseplate Temperature", + "46: Single Phase Input", + "47: VSD Run Signal Fault", + "48: High Discharge Press (HPCO)", + "49: Low Suction Superheat", + "50: Control Valve Fault", + "51: Low Discharge Superheat", + "52: Low Suction PRessure Smart Freeze", + "53: Isolation Valve Failed to Close Warning", + "54: Isolation Valve failed to Open Fault", + "55: High Discharge Pressure Rate", + "56: Condenser Fan VSD Fault Warning", + "57: N/A", + "58: N/A", + "59: N/A", + "60: N/A", + "61: N/A", + "62: N/A" + ], + "OP_Codes": [ + "0: No code", + "1: No code", + "2: No code", + "3: No code", + "4: No code", + "5: No code", + "6: No code", + "7: No code", + "8: No code", + "9: No code", + "10: No code", + "11: No code", + "12: No code", + "13: No code", + "14: 1No code", + "15: No code", + "16: No code", + "17: No code", + "18: No code", + "19: No code", + "20: No code", + "21: No code", + "22: No code", + "23: No code", + "24: No code", + "25: No code", + "26: No code", + "27: No code", + "28: No code", + "29: No code", + "30: No code", + "31: No code", + "32: No code", + "33: No code", + "34: No code", + "35: No code", + "36: No code", + "37: No code", + "38: No code", + "39: No code", + "40: No code", + "41: No code", + "42: No code", + "43: No code", + "44: No code", + "45: No code", + "46: No code", + "47: No code", + "48: No code", + "49: No code", + "50: No code", + "51: No code", + "52: No code", + "53: No code", + "54: No code", + "55: No code", + "56: No code", + "57: No code", + "58: No code", + "59: No code", + "60: No code", + "61: No code", + "62: No code", + "63: Manual Override", + "64: Daily Schedule Shutdown", + "65: Unit Switch Off", + "66: Remote Controlled Shutdown", + "67: Loss of External Communications", + "68: Flow Switch Shutdown", + "69: VSD Cooling Shutdown", + "70: Serial Number Shutdown", + "71: N/A", + "72: Discharge Spuerheat Recovery", + "73: N/A", + "74: No Run Permissive", + "75: Anti-Recycle Timer Active", + "76: System Switch Off", + "77: System Not Running", + "78: System Running", + "79: Discharge Pressure Limiting", + "80: Suction Pressure Limiting", + "81: Motor Current Limiting", + "82: Free Cooliong", + "83:BAS Motor Current Limiting", + "84: Remote Motor Current Limiting", + "85: System Pumping Down", + "86: VSD Pre-Charging", + "87: VSD Baseplate Temp Limiting", + "88: VSD Internal Ambient Temp Limiting", + "89: Sounf Limiting", + "90: BAS Sounf Limiting", + "91: Remote Sound Limiting", + "92: Pulldown Motor Current Limiting", + "93: Cooling Demand Shutdown", + "94: Input Current Limiting", + "95: BAS Input Current Limiting", + "96: Remote Input Current Limiting", + "97: Pulldown Input Current Limiting" + ], + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 20, + "instanceStyle": { + "classes": "" + }, + "name": "Comm Interface Percentage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 43, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Economizer Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 44, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Economizer Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 51, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 1 Fan Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 52, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 2 Fan Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 29, + "instanceStyle": { + "classes": "" + }, + "name": "FLA Motor 1 Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 30, + "instanceStyle": { + "classes": "" + }, + "name": "FLA Motor 2 Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Load", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 31, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 32, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 27, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Fan Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 28, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Fan Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 17, + "instanceStyle": { + "classes": "" + }, + "name": "VSD CMD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 19, + "instanceStyle": { + "classes": "" + }, + "name": "VSD Output", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Ambient Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 37, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Eductor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 39, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Motor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 38, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Eductor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 40, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Motor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 53, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 1 Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 54, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 2 Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 16, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator In Water Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 18, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator Out Water Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 22, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Discharge Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Flow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 45, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Runtime", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 46, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Runtime", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Active Setpoint", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Chiller System Available", + "options": [ + "Not ready", + "Ready" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 47, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Starts", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 33, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Status", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 48, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Starts", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 34, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Status", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 49, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 1 Fan Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 50, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 2 Fan Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator Heater Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator Pump Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Flow Switch", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": -3, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 OpCode" + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": 0, + "instancePosition": 0, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Fault Code" + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": 0, + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Fault Code" + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": 0, + "instancePosition": -2, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 OpCode" + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "System HOA", + "options": [ + "Local", + "Remote" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "System Interlock Active", + "options": [ + "Not Tripped", + "Tripped" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "System Permissive OK", + "options": [ + "Not Ready", + "Ready" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 41, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Oil Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 42, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Oil Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 23, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Discharge Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 21, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Discharge Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 25, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Suction Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 24, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Discharge Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 26, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Suction Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "System Suction Cutout", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 20, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Discharge Pressure", + "options": [], + "visible": false + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_SYSTEM" + }, + "propConfig": { + "custom.FLT_Codes": { + "persistent": true + }, + "custom.OP_Codes": { + "persistent": true + }, + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.allTags[38].options": { + "binding": { + "config": { + "path": "view.custom.OP_Codes" + }, + "type": "property" + } + }, + "custom.allTags[39].options": { + "binding": { + "config": { + "path": "view.custom.FLT_Codes" + }, + "type": "property" + } + }, + "custom.allTags[40].options": { + "binding": { + "config": { + "path": "view.custom.FLT_Codes" + }, + "type": "property" + } + }, + "custom.allTags[41].options": { + "binding": { + "config": { + "path": "view.custom.OP_Codes" + }, + "type": "property" + } + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/cc27c213e9959cade7da9ba0ab3c4e5fdb10f16e707276175e0b13aaea94d7e4 b/Gateways/FE/projects/.resources/cc27c213e9959cade7da9ba0ab3c4e5fdb10f16e707276175e0b13aaea94d7e4 new file mode 100644 index 0000000..2ca9909 --- /dev/null +++ b/Gateways/FE/projects/.resources/cc27c213e9959cade7da9ba0ab3c4e5fdb10f16e707276175e0b13aaea94d7e4 @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "marginBottom": "16px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/cc9e8d773c33412370b8990f39056ec6538d1795b6fa7566438b20a9d512a643 b/Gateways/FE/projects/.resources/cc9e8d773c33412370b8990f39056ec6538d1795b6fa7566438b20a9d512a643 new file mode 100644 index 0000000..0cb0f3d --- /dev/null +++ b/Gateways/FE/projects/.resources/cc9e8d773c33412370b8990f39056ec6538d1795b6fa7566438b20a9d512a643 @@ -0,0 +1,69 @@ +from datetime import datetime + +def getTagPaths(location=None): + """ + Get all the relvant tagpaths needed for the historian query + """ + baseTagPaths = reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getUtilitySES(), location) + return baseTagPaths + +def getEnergyHistory(startDate, endDate, location=None): + tagpaths = ["%s/Real Energy"%(path) for path in getTagPaths(location)] + return reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={}) + +def getRealPowerHistory(startDate,endDate, location=None): + tagpaths = ["%s/Real Power"%(path) for path in getTagPaths(location)] + return reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={"intervalMinutes":60}) + + +def generateEnergyData(startDate, endDate, location=None): + """ + We'll take the actual start and end dates, but because we only care about the first entry and last entry we'll do + 2 queries to get the head and tail of the range + """ + qStart = startDate + qEnd = system.date.addMinutes(startDate, 10) + hist = getEnergyHistory(qStart, qEnd, location) + energyStart, energyEnd = (), () + if len(hist)>0: + energyStart= (hist[0][1], hist[0][2]) + + qStart = system.date.addMinutes(endDate, -10) + qEnd = endDate + hist = getEnergyHistory(qStart, qEnd, location) + if len(hist)>0: + energyEnd= (hist[-1][1], hist[-1][2]) + return energyStart, energyEnd + +def generateRealPowerTrend(startDate,endDate, location=None): + hist = getRealPowerHistory(startDate, endDate, location) + return reports.MBR.common.util.generateSumCol(hist, "SumRealPwr") + +def getRawData(startDate,endDate, intervalMins = 15, location=None): + # Try doing this the direct way through historian + tagpaths = ["%s/Real Power"%(path) for path in getTagPaths(location)] + ["%s/Real Energy"%(path) for path in getTagPaths(location)] + return system.dataset.toPyDataSet( + system.tag.queryTagHistory(tagpaths, startDate, endDate, intervalMinutes= intervalMins, + columnNames= ["SES-1A Pwr","SES-1B Pwr", "SES-1A Energy", "SES-1B Energy"], + aggregationModes=["SimpleAverage","SimpleAverage","LastValue","LastValue"], noInterpolation=True, + ignoreBadQuality=True) + ) + +def doReport(startDate, endDate, intervalMin= 15): + """ + This report runs only for the SES1A and SES1B yard. + """ + res= {"RealPower":None, "RealEnergy":{}} + sEnergy, eEnergy= generateEnergyData(startDate,endDate, "Yard") + res["RealEnergy"]["1A"] = {"Start":sEnergy[0], "End":eEnergy[0]} + res["RealEnergy"]["1B"] = {"Start":sEnergy[1], "End":eEnergy[1]} + + powerChart = generateRealPowerTrend(startDate, endDate, "Yard") + oldHeader = system.dataset.getColumnHeaders(powerChart) + newHeader = ["t_stamp", "SES_1A", "SES_1B", "SumPower"] + allRows = [[row[c] for c in oldHeader] for row in powerChart] + + res["RealPower"] = system.dataset.toDataSet(newHeader, allRows) + res["RawData"] = reports.MBR.utility.getRawData(startDate,endDate, intervalMin, "Yard") + return res + diff --git a/Gateways/FE/projects/.resources/cd11b7e49b2fb269e6dc387530a9c00544a50881a3d86de62ac06d207718698f b/Gateways/FE/projects/.resources/cd11b7e49b2fb269e6dc387530a9c00544a50881a3d86de62ac06d207718698f new file mode 100644 index 0000000..68d6841 Binary files /dev/null and b/Gateways/FE/projects/.resources/cd11b7e49b2fb269e6dc387530a9c00544a50881a3d86de62ac06d207718698f differ diff --git a/Gateways/FE/projects/.resources/cd14e112d45fd71192fbb03d1d3b7d79b7712087038381b0de6e021b9e3e3a45 b/Gateways/FE/projects/.resources/cd14e112d45fd71192fbb03d1d3b7d79b7712087038381b0de6e021b9e3e3a45 new file mode 100644 index 0000000..19281d4 --- /dev/null +++ b/Gateways/FE/projects/.resources/cd14e112d45fd71192fbb03d1d3b7d79b7712087038381b0de6e021b9e3e3a45 @@ -0,0 +1,94 @@ +{ + "custom": {}, + "params": { + "ch": "", + "current_op": "", + "new_op": "" + }, + "propConfig": { + "params.ch": { + "paramDirection": "input", + "persistent": true + }, + "params.current_op": { + "paramDirection": "input", + "persistent": true + }, + "params.new_op": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 75, + "width": 75 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "ch": "{view.params.ch}", + "val": "{view.params.current_op}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\ttitle \u003d \"CH{:02d}\".format(value[\u0027ch\u0027]) + \" - \" + \"{:02d}\".format(value[\u0027val\u0027])\n\treturn title", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.new_op" + }, + "type": "property" + } + } + }, + "props": { + "inputBounds": { + "maximum": 48, + "minimum": 0 + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/cd1ab40c79cf3acd1b5a521b2a915e56039178c3a938d5ef9348ae96ec63efb1 b/Gateways/FE/projects/.resources/cd1ab40c79cf3acd1b5a521b2a915e56039178c3a938d5ef9348ae96ec63efb1 new file mode 100644 index 0000000..41d364a Binary files /dev/null and b/Gateways/FE/projects/.resources/cd1ab40c79cf3acd1b5a521b2a915e56039178c3a938d5ef9348ae96ec63efb1 differ diff --git a/Gateways/FE/projects/.resources/cd4a54f470d94136cb92741d429e41c57cc2c2f14d60a0c4c6b80fb83c29e3a4 b/Gateways/FE/projects/.resources/cd4a54f470d94136cb92741d429e41c57cc2c2f14d60a0c4c6b80fb83c29e3a4 new file mode 100644 index 0000000..9ea4cd5 --- /dev/null +++ b/Gateways/FE/projects/.resources/cd4a54f470d94136cb92741d429e41c57cc2c2f14d60a0c4c6b80fb83c29e3a4 @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_MOTOR" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/cd82ff7ef30378ae1108135b21b6b6e2beb02a9d59449ef0ca19ad910b18d8b5 b/Gateways/FE/projects/.resources/cd82ff7ef30378ae1108135b21b6b6e2beb02a9d59449ef0ca19ad910b18d8b5 new file mode 100644 index 0000000..d7095a2 --- /dev/null +++ b/Gateways/FE/projects/.resources/cd82ff7ef30378ae1108135b21b6b6e2beb02a9d59449ef0ca19ad910b18d8b5 @@ -0,0 +1,9 @@ +{ + "base": { + "style": { + "fontSize": "12px", + "fontWeight": "bold", + "textAlign": "right" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/cdbcef2547d8862962f77f703a3cc119331241aebff77bbdffd22dfbf999f336 b/Gateways/FE/projects/.resources/cdbcef2547d8862962f77f703a3cc119331241aebff77bbdffd22dfbf999f336 new file mode 100644 index 0000000..12a0050 Binary files /dev/null and b/Gateways/FE/projects/.resources/cdbcef2547d8862962f77f703a3cc119331241aebff77bbdffd22dfbf999f336 differ diff --git a/Gateways/FE/projects/.resources/cdfc1aaeb8d8071ca6ddc7d40a8685660d6a7165af03652ff1e0c86f03378318 b/Gateways/FE/projects/.resources/cdfc1aaeb8d8071ca6ddc7d40a8685660d6a7165af03652ff1e0c86f03378318 new file mode 100644 index 0000000..b20b550 Binary files /dev/null and b/Gateways/FE/projects/.resources/cdfc1aaeb8d8071ca6ddc7d40a8685660d6a7165af03652ff1e0c86f03378318 differ diff --git a/Gateways/FE/projects/.resources/ce37ad0087926aa78ea7ff6040aa09fbc02a79bae53e7c17e19a5f6a25abb07b b/Gateways/FE/projects/.resources/ce37ad0087926aa78ea7ff6040aa09fbc02a79bae53e7c17e19a5f6a25abb07b new file mode 100644 index 0000000..8241a14 --- /dev/null +++ b/Gateways/FE/projects/.resources/ce37ad0087926aa78ea7ff6040aa09fbc02a79bae53e7c17e19a5f6a25abb07b @@ -0,0 +1,9 @@ +SELECT + id, + body, + last_updated, + last_updated_by +FROM + wiki_notes +WHERE + model_no = :modelNo \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ce630717b1a8b6f450fdd5a696056cbbd799304d28922582ba29eb16e2c59c06 b/Gateways/FE/projects/.resources/ce630717b1a8b6f450fdd5a696056cbbd799304d28922582ba29eb16e2c59c06 new file mode 100644 index 0000000..96b213a --- /dev/null +++ b/Gateways/FE/projects/.resources/ce630717b1a8b6f450fdd5a696056cbbd799304d28922582ba29eb16e2c59c06 @@ -0,0 +1,13 @@ +from org.jfree.chart.plot import ValueMarker,XYPlot +from org.jfree.ui import RectangleAnchor,TextAnchor +from java.awt import Color, BasicStroke + + +def newMarker(y, labelText, colorStr): + marker = ValueMarker(y) + marker.setPaint(Color.decode(colorStr)) + marker.setLabel(labelText) + marker.setLabelTextAnchor(TextAnchor.CENTER_LEFT) + marker.setStroke(BasicStroke(2.5)) + + return marker \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ce89da00e194e9862b6c4a7f798a1a329f6b6d71af4362425eb23efd18d6f2d5 b/Gateways/FE/projects/.resources/ce89da00e194e9862b6c4a7f798a1a329f6b6d71af4362425eb23efd18d6f2d5 new file mode 100644 index 0000000..407a8c3 Binary files /dev/null and b/Gateways/FE/projects/.resources/ce89da00e194e9862b6c4a7f798a1a329f6b6d71af4362425eb23efd18d6f2d5 differ diff --git a/Gateways/FE/projects/.resources/ce9279223dc135d357d49b7ee8d93465e943a0ba5015b8e66ea7d813fc0adcc7 b/Gateways/FE/projects/.resources/ce9279223dc135d357d49b7ee8d93465e943a0ba5015b8e66ea7d813fc0adcc7 new file mode 100644 index 0000000..bc43883 Binary files /dev/null and b/Gateways/FE/projects/.resources/ce9279223dc135d357d49b7ee8d93465e943a0ba5015b8e66ea7d813fc0adcc7 differ diff --git a/Gateways/FE/projects/.resources/ce9bd50eb7650ec6481fbb078a8d6409ca9790453b9112e5414892fca214ba49 b/Gateways/FE/projects/.resources/ce9bd50eb7650ec6481fbb078a8d6409ca9790453b9112e5414892fca214ba49 new file mode 100644 index 0000000..73f5025 Binary files /dev/null and b/Gateways/FE/projects/.resources/ce9bd50eb7650ec6481fbb078a8d6409ca9790453b9112e5414892fca214ba49 differ diff --git a/Gateways/FE/projects/.resources/ced9c5560f9bfc892260d721738b31560440ef0affd21b9a891a3cfeb155948d b/Gateways/FE/projects/.resources/ced9c5560f9bfc892260d721738b31560440ef0affd21b9a891a3cfeb155948d new file mode 100644 index 0000000..a57e09c Binary files /dev/null and b/Gateways/FE/projects/.resources/ced9c5560f9bfc892260d721738b31560440ef0affd21b9a891a3cfeb155948d differ diff --git a/Gateways/FE/projects/.resources/cefa110347b62aef135e5defba7e5ab386a382e3cef0ca7b9007b82ef799218c b/Gateways/FE/projects/.resources/cefa110347b62aef135e5defba7e5ab386a382e3cef0ca7b9007b82ef799218c new file mode 100644 index 0000000..2d4151a --- /dev/null +++ b/Gateways/FE/projects/.resources/cefa110347b62aef135e5defba7e5ab386a382e3cef0ca7b9007b82ef799218c @@ -0,0 +1,262 @@ +{ + "custom": {}, + "params": { + "dataType": "Boolean", + "display": true, + "displaySelection": 0, + "format": "0,0", + "heart": false, + "instancePosition": 2, + "name": "OpenClosed", + "numDecimals": 4, + "options": [ + "closed", + "open" + ], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[0]", + "visible": true + }, + "propConfig": { + "params.dataType": { + "paramDirection": "input", + "persistent": true + }, + "params.display": { + "paramDirection": "input", + "persistent": true + }, + "params.displaySelection": { + "paramDirection": "input", + "persistent": true + }, + "params.format": { + "paramDirection": "input", + "persistent": true + }, + "params.heart": { + "paramDirection": "input", + "persistent": true + }, + "params.instancePosition": { + "paramDirection": "input", + "persistent": true + }, + "params.name": { + "paramDirection": "input", + "persistent": true + }, + "params.numDecimals": { + "paramDirection": "input", + "persistent": true + }, + "params.options": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.visible": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Name", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "path": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value[\u0027path\u0027]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.name" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value", + "tooltip": { + "enabled": true + } + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.OpcItemPath" + }, + "type": "tag" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{view.params.heart}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "struct": { + "current": "tag({view.params.tagPath})", + "displaySelection": "toBoolean({view.params.displaySelection})", + "numDecimals": "{view.params.numDecimals}", + "options": "{view.params.options}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toption \u003d value[\"options\"]\t\n\tif not self.view.params.displaySelection:\n\t\tif value[\"current\"] is None:\n\t\t\ttag \u003d str(value[\"current\"])\n\t\telse:\n\t\t\t\n\t\t\tformat_specifier \u003d \"%%.%df\" % value[\u0027numDecimals\u0027]\n\t\t\ttag \u003d format_specifier % value[\"current\"]\n\t\t\ttag \u003d tag.rstrip(\u00270\u0027).rstrip(\u0027.\u0027)\n\telse:\n\t\ttag \u003d option[value[\"current\"]]\n\treturn tag", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "type": "tag" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "{view.params.heart}" + }, + "type": "expr" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "if({this.custom.tag},\"material/favorite\",\"material/favorite_border\")" + }, + "type": "expr" + } + } + }, + "props": { + "color": "#E42626", + "style": { + "strokeWidth": "1px" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Units" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}.engUnit" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.visible" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "gap": "10px", + "padding": "0 10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/cf2f31a77d8f9bd47d1c6e894cb75e74c4f960404ffd3c46c99d4a91f5bd8db9 b/Gateways/FE/projects/.resources/cf2f31a77d8f9bd47d1c6e894cb75e74c4f960404ffd3c46c99d4a91f5bd8db9 new file mode 100644 index 0000000..f3a6dde --- /dev/null +++ b/Gateways/FE/projects/.resources/cf2f31a77d8f9bd47d1c6e894cb75e74c4f960404ffd3c46c99d4a91f5bd8db9 @@ -0,0 +1,1309 @@ +{ + "custom": { + "AlarmSummary": -1 + }, + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "propConfig": { + "custom.AlarmSummary": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "BreakerEmergency": "{/root/GEN_TypB.custom.BreakerEmergency}", + "GenRunning": "{/root/GEN_TypB.custom.GeneratorRunning}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "if({value}[\"GenRunning\"] \u0026\u0026 !{value}[\"BreakerEmergency\"], 1,0)", + "type": "expression" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "struct": { + "value": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "overlayOptOut": true, + "transforms": [ + { + "code": "\ttagPath \u003d value[\u0027value\u0027]\n\tif tagPath is None:\n\t\treturn \u0027tagName\u0027\n\telse:\n\t\treturn system.tag.getConfiguration(tagPath)[0][\u0027name\u0027]\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "defaultSize": { + "height": 95, + "width": 133 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 82, + "x": 78, + "y": 4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGary)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "AlarmSummary": "value", + "ColorHandler": {}, + "TextHandler": { + "Breaker": {}, + "Generator": {} + } + }, + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132 + }, + "propConfig": { + "custom.BreakerEmergency": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Output Breaker Status" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.ColorHandler.breaker": { + "binding": { + "config": { + "struct": { + "BreakerEmergency": "{this.custom.BreakerEmergency}", + "GeneratorRunning": "{this.custom.GeneratorRunning}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "if({value}[\"GeneratorRunning\"] \u0026\u0026 !{value}[\u0027BreakerEmergency\u0027],\u0027var(--olRed)\u0027,\u0027var(--olGreen)\u0027)", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "custom.ColorHandler.runstatus": { + "binding": { + "config": { + "path": "this.custom.GeneratorRunning" + }, + "transforms": [ + { + "fallback": "black", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.GeneratorRunning": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Run Status" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.TextHandler.Breaker.breaker1": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker.breaker1" + }, + "type": "property" + } + }, + "custom.TextHandler.Breaker.breaker2": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker.breaker2" + }, + "type": "property" + } + }, + "custom.TextHandler.Breaker.breaker3": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker.breaker3" + }, + "type": "property" + } + }, + "custom.TextHandler.Breaker.breaker4": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker.breaker4" + }, + "type": "property" + } + }, + "custom.TextHandler.Breaker.breaker5": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker.breaker5" + }, + "type": "property" + } + }, + "custom.TextHandler.Generator.Gen1": { + "binding": { + "config": { + "path": "view.params.textHandler.Generator.Gen1" + }, + "type": "property" + } + }, + "custom.TextHandler.Generator.Gen2": { + "binding": { + "config": { + "path": "view.params.textHandler.Generator.Gen2" + }, + "type": "property" + } + }, + "custom.TextHandler.Generator.Gen3": { + "binding": { + "config": { + "path": "view.params.textHandler.Generator.Gen3" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerEmergency" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + }, + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.runstatus" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \"var(--olGreen)\"\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "publishInitial": true, + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Output Breaker Status" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "props.elements[3].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Breaker.breaker1" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Breaker.breaker2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[5].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Breaker.breaker4" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[7].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Breaker.breaker3" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[9].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[9].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Breaker.breaker5" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.runstatus" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \"var(--olGray)\"\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.runstatus" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \"var(--olGreen)\"\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.runstatus" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Generator.Gen1" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Generator.Gen2" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Generator.Gen3" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.AlarmSummary" + }, + "transforms": [ + { + "fallback": "transparent", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSummary" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSummary" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSummary" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSummary" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[6].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSummary" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[7].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSummary" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": 0, + "paint": "transparent" + }, + "id": "Box", + "name": "Box", + "type": "rect" + }, + { + "fill": { + "opacity": "0" + }, + "height": 21.495, + "name": "rect", + "stroke": { + "width": "0.38px" + }, + "type": "rect", + "width": "22.558", + "x": "31.727", + "y": "39.375" + }, + { + "d": "M3.696,15.714l0,-4.464l4.171,-0l0,0.75c0,-0 -3.421,-0 -3.421,-0l0,3.714l-0.75,0Zm10.01,-4.464l0,0.75l-2.502,-0l-0,-0.75l2.502,-0Zm11.679,-0l-0,0.75l-8.342,-0l0,-0.75l8.342,-0Zm5.839,-0l0,0.75l-2.502,-0l-0,-0.75l2.502,-0Zm11.679,-0l-0,0.75l-8.342,-0l0,-0.75l8.342,-0Zm5.839,-0l0,0.75l-2.502,-0l-0,-0.75l2.502,-0Zm7.508,4.464l-0.75,0l-0,-3.714l-3.421,-0l0,-0.75l4.171,-0l0,4.464Zm0,6.25l-0.75,0l0,-2.678l0.75,-0l0,2.678Zm0,12.5l-0.75,0l0,-8.928l0.75,-0l0,8.928Zm0,6.25l-0.75,0l0,-2.678l0.75,-0l0,2.678Zm0,12.5l-0.75,0l0,-8.928l0.75,-0l0,8.928Zm0,6.25l-0.75,0l0,-2.678l0.75,-0l0,2.678Zm-4.171,8.036l0,-0.75c0,-0 3.421,-0 3.421,0l0,-3.714l0.75,-0l0,4.464l-4.171,-0Zm-5.839,-0l-0,-0.75l2.502,-0l0,0.75l-2.502,-0Zm-11.679,-0l0,-0.75l8.342,-0l0,0.75l-8.342,-0Zm-5.839,-0l-0,-0.75l2.502,-0l0,0.75l-2.502,-0Zm-11.679,-0l0,-0.75l8.342,-0l0,0.75l-8.342,-0Zm-5.839,-0l-0,-0.75l2.502,-0l0,0.75l-2.502,-0Zm-7.508,-4.464l0.75,-0l0,3.714l3.421,-0l0,0.75l-4.171,-0l0,-4.464Zm0,-6.25l0.75,-0l0,2.678l-0.75,0l0,-2.678Zm0,-12.5l0.75,-0l0,8.928l-0.75,0l0,-8.928Zm0,-6.25l0.75,-0l0,2.678l-0.75,0l0,-2.678Zm0,-12.5l0.75,-0l0,8.928l-0.75,0l0,-8.928Zm0,-6.25l0.75,-0l0,2.678l-0.75,0l0,-2.678Z", + "name": "path", + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M38.625,46.875c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "visible" + }, + { + "cx": "37.5", + "cy": "46.875", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "37.5", + "cy": "55.875", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M42.285,46.875c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.5623,45.7448)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "4.969px", + "y": "45.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.253,49.4948)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "4.969px", + "y": "49.495px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,29.8243,57.0334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "4.814px", + "y": "57.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,22.6669,53.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "4.839px", + "y": "53.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,49.7218,44.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "39.067px", + "y": "44.283px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "d": "M37.5,33.948l0,11.802", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "37.5", + "cy": "23.646", + "fill": { + "opacity": "0" + }, + "name": "circle", + "r": "10.302", + "stroke": { + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M29.625,23.688c0.406,-2.31 1.135,-3.951 3.895,-3.99c2.255,-0.032 3.98,1.562 3.98,3.99c0.284,2.135 1.288,3.686 3.938,3.906c2.273,-0.227 3.577,-1.539 3.937,-3.906", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "GEN", + "name": "GEN", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,69.9142,14.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "12px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "57.18px", + "y": "14.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,93.7711,18.0334)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "A,", + "type": "tspan", + "x": "89.834px 92.613px ", + "y": "18.033px 18.033px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "57.254px", + "y": "18.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,96.5499,21.7834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "57.327px", + "y": "21.783px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "black" + }, + "height": "63.75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "60", + "x": "0", + "y": "7.5" + }, + { + "d": "M60,7.5l-0,63.75l-60,0l0,-63.75l60,-0Zm-0.75,0.75l-58.5,0c0,0 0,62.25 0,62.25l58.5,-0l0,-62.25Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M60.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M59.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M59.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M59.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M64.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M59.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "59.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M58.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M61.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": 0 + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 99 72" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/cf3b312ece6714413161ee57dbb66a4d3b96e961f43572007ff3e8fdda960c86 b/Gateways/FE/projects/.resources/cf3b312ece6714413161ee57dbb66a4d3b96e961f43572007ff3e8fdda960c86 new file mode 100644 index 0000000..508dcfe Binary files /dev/null and b/Gateways/FE/projects/.resources/cf3b312ece6714413161ee57dbb66a4d3b96e961f43572007ff3e8fdda960c86 differ diff --git a/Gateways/FE/projects/.resources/cf42f67e7bee97f6edff9deb95c7ee47d113d04da10fff1a1a70412737c1108f b/Gateways/FE/projects/.resources/cf42f67e7bee97f6edff9deb95c7ee47d113d04da10fff1a1a70412737c1108f new file mode 100644 index 0000000..1528bda Binary files /dev/null and b/Gateways/FE/projects/.resources/cf42f67e7bee97f6edff9deb95c7ee47d113d04da10fff1a1a70412737c1108f differ diff --git a/Gateways/FE/projects/.resources/cf49f35aedff3a95b9f6d68abc5d57334d5e2ffc871eed05945cb183ece467af b/Gateways/FE/projects/.resources/cf49f35aedff3a95b9f6d68abc5d57334d5e2ffc871eed05945cb183ece467af new file mode 100644 index 0000000..da93699 Binary files /dev/null and b/Gateways/FE/projects/.resources/cf49f35aedff3a95b9f6d68abc5d57334d5e2ffc871eed05945cb183ece467af differ diff --git a/Gateways/FE/projects/.resources/cf79b7209b9c09c24ea5411c137752a7348e76ea182303bd014bf09c091633aa b/Gateways/FE/projects/.resources/cf79b7209b9c09c24ea5411c137752a7348e76ea182303bd014bf09c091633aa new file mode 100644 index 0000000..f0f539a --- /dev/null +++ b/Gateways/FE/projects/.resources/cf79b7209b9c09c24ea5411c137752a7348e76ea182303bd014bf09c091633aa @@ -0,0 +1,97 @@ +{ + "custom": {}, + "params": { + "enabled": true, + "isArray": false, + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-4/Vacuum Fault Interrupter2 Tripped/Config/Target" + }, + "propConfig": { + "params.enabled": { + "paramDirection": "input", + "persistent": true + }, + "params.isArray": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 200 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif self.view.params.enabled is True:\n\t\tif self.view.params.isArray is True:\n\t\t\ttagPath \u003d self.view.params.tagPath.rsplit(\u0027[\u0027,1)[0]\n\t\t\tindex \u003d int(self.view.params.tagPath.rsplit(\u0027[\u0027,1)[1].split(\u0027]\u0027)[0])\n\t\t\treadArray \u003d system.tag.readBlocking(tagPath)[0].value\n\t\t\treadArray[index] \u003d not readArray[index]\n\t\t\tlastArray \u003d system.tag.writeBlocking([tagPath][0], [readArray])\n\t\telse:\n\t\t\tself.custom.value \u003d not self.custom.value\n\t\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "BooleanValue" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "custom.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "type": "tag" + } + }, + "props.color": { + "binding": { + "config": { + "expression": "if({view.params.enabled},\r\n\"var(--tagvalue-color)\", \"var(--lightgray)\")" + }, + "type": "expr" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "if(coalesce({this.custom.value},0) \u003d 1, \r\n\u0027material/check_box\u0027,\r\n\u0027material/check_box_outline_blank\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignItems": "center", + "justify": "center" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/cf832b7b83d094f810172119b842d7eb2ef2d026f4be6d60da27869cc0e2daa2 b/Gateways/FE/projects/.resources/cf832b7b83d094f810172119b842d7eb2ef2d026f4be6d60da27869cc0e2daa2 new file mode 100644 index 0000000..bb4ccb9 Binary files /dev/null and b/Gateways/FE/projects/.resources/cf832b7b83d094f810172119b842d7eb2ef2d026f4be6d60da27869cc0e2daa2 differ diff --git a/Gateways/FE/projects/.resources/cf9220e933b1591bf9ded09e8860a8603b19c5ad05de477c81efaa25ac2419a3 b/Gateways/FE/projects/.resources/cf9220e933b1591bf9ded09e8860a8603b19c5ad05de477c81efaa25ac2419a3 new file mode 100644 index 0000000..e771299 --- /dev/null +++ b/Gateways/FE/projects/.resources/cf9220e933b1591bf9ded09e8860a8603b19c5ad05de477c81efaa25ac2419a3 @@ -0,0 +1,163 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CWS Temperature High SP" + }, + { + "dataType": "Float8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CWS Temperature High Tmr SP" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Fail Tmr Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low Tmr Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Flow Difference Deadband" + }, + { + "dataType": "Float8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Quantity Fail Setpoint" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/cfaab52e33e05fc75c15c6a02edbeeaff6a7104969a7afcf7566e5722f559773 b/Gateways/FE/projects/.resources/cfaab52e33e05fc75c15c6a02edbeeaff6a7104969a7afcf7566e5722f559773 new file mode 100644 index 0000000..4b0702f --- /dev/null +++ b/Gateways/FE/projects/.resources/cfaab52e33e05fc75c15c6a02edbeeaff6a7104969a7afcf7566e5722f559773 @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "RTU02", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/RTU-2 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/cfb3917cb0c707c7cf3a5968c432f4f7dc3df6463eb7b50238107f9e2899f040 b/Gateways/FE/projects/.resources/cfb3917cb0c707c7cf3a5968c432f4f7dc3df6463eb7b50238107f9e2899f040 new file mode 100644 index 0000000..2242a8e --- /dev/null +++ b/Gateways/FE/projects/.resources/cfb3917cb0c707c7cf3a5968c432f4f7dc3df6463eb7b50238107f9e2899f040 @@ -0,0 +1,526 @@ +{ + "custom": { + "OCmd": { + "OOS": null + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_SYSTEM" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Maint": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Maintenance" + }, + "type": "tag" + } + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/MODE" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Run" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False\n\tprint \"PRIME Manual button pressed\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StartBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode},True,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StopBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode}, True,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Maintenance", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.Maint" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "Maintenance" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Expiration date and time" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "DateTimeInput_0" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/ExpirationTime" + }, + "type": "tag" + } + } + }, + "props": { + "formattedValue": null, + "style": { + "paddingLeft": 100, + "paddingRight": 100 + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/cfbb7370ee0df7c313f3e99a5386990e19718bfe9b2b20b9e65e28d312f2ad04 b/Gateways/FE/projects/.resources/cfbb7370ee0df7c313f3e99a5386990e19718bfe9b2b20b9e65e28d312f2ad04 new file mode 100644 index 0000000..3579ab9 Binary files /dev/null and b/Gateways/FE/projects/.resources/cfbb7370ee0df7c313f3e99a5386990e19718bfe9b2b20b9e65e28d312f2ad04 differ diff --git a/Gateways/FE/projects/.resources/cfe11f18141d02759bdba83b0d30831d563849d42c057ee68d1de30e17c6d3c5 b/Gateways/FE/projects/.resources/cfe11f18141d02759bdba83b0d30831d563849d42c057ee68d1de30e17c6d3c5 new file mode 100644 index 0000000..d17d372 --- /dev/null +++ b/Gateways/FE/projects/.resources/cfe11f18141d02759bdba83b0d30831d563849d42c057ee68d1de30e17c6d3c5 @@ -0,0 +1,28 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderColor": "var(--neutral-100)", + "borderStyle": "solid", + "borderWidth": "1px", + "fontWeight": "normal" + } + }, + "variants": [ + { + "pseudo": "hover", + "animation": { + "duration": "0.2s", + "direction": "normal", + "iterationCount": "1", + "timingFunction": "ease", + "keyframes": { + "0%": {}, + "100%": { + "borderWidth": "2px" + } + } + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/cffaeffafe05f6b32b8b72d5ef60f0b11a664db44abb764e76f575cf36d9bb10 b/Gateways/FE/projects/.resources/cffaeffafe05f6b32b8b72d5ef60f0b11a664db44abb764e76f575cf36d9bb10 new file mode 100644 index 0000000..8457d0b Binary files /dev/null and b/Gateways/FE/projects/.resources/cffaeffafe05f6b32b8b72d5ef60f0b11a664db44abb764e76f575cf36d9bb10 differ diff --git a/Gateways/FE/projects/.resources/d00b9981a31be59612e39edcdb5dfd8a971e1964319f19b3ff3fa213b1742102 b/Gateways/FE/projects/.resources/d00b9981a31be59612e39edcdb5dfd8a971e1964319f19b3ff3fa213b1742102 new file mode 100644 index 0000000..be3872c Binary files /dev/null and b/Gateways/FE/projects/.resources/d00b9981a31be59612e39edcdb5dfd8a971e1964319f19b3ff3fa213b1742102 differ diff --git a/Gateways/FE/projects/.resources/d06cfc188092512a2f680657fa03152b69fb66edfd86edd1f5f3c36b1f878d68 b/Gateways/FE/projects/.resources/d06cfc188092512a2f680657fa03152b69fb66edfd86edd1f5f3c36b1f878d68 new file mode 100644 index 0000000..4ba3cba Binary files /dev/null and b/Gateways/FE/projects/.resources/d06cfc188092512a2f680657fa03152b69fb66edfd86edd1f5f3c36b1f878d68 differ diff --git a/Gateways/FE/projects/.resources/d08e141ff608b5846448890ad52218fedf7e244c451c83563ee3baba553be6c5 b/Gateways/FE/projects/.resources/d08e141ff608b5846448890ad52218fedf7e244c451c83563ee3baba553be6c5 new file mode 100644 index 0000000..783d3a1 Binary files /dev/null and b/Gateways/FE/projects/.resources/d08e141ff608b5846448890ad52218fedf7e244c451c83563ee3baba553be6c5 differ diff --git a/Gateways/FE/projects/.resources/d13b6bcb2d1fad0baa8ec96a7dbbd18be07331acde1d1ef4c1714ba667505389 b/Gateways/FE/projects/.resources/d13b6bcb2d1fad0baa8ec96a7dbbd18be07331acde1d1ef4c1714ba667505389 new file mode 100644 index 0000000..4b97ecf Binary files /dev/null and b/Gateways/FE/projects/.resources/d13b6bcb2d1fad0baa8ec96a7dbbd18be07331acde1d1ef4c1714ba667505389 differ diff --git a/Gateways/FE/projects/.resources/d15f26e73af9852d94b7a0c8c54235095f95139c3dfd7e69443a5656b0b4658f b/Gateways/FE/projects/.resources/d15f26e73af9852d94b7a0c8c54235095f95139c3dfd7e69443a5656b0b4658f new file mode 100644 index 0000000..d943482 Binary files /dev/null and b/Gateways/FE/projects/.resources/d15f26e73af9852d94b7a0c8c54235095f95139c3dfd7e69443a5656b0b4658f differ diff --git a/Gateways/FE/projects/.resources/d23835f10fc146e3ade0d296f5ef990a49a4fe32a05f910606e2140c8c298c1c b/Gateways/FE/projects/.resources/d23835f10fc146e3ade0d296f5ef990a49a4fe32a05f910606e2140c8c298c1c new file mode 100644 index 0000000..962276f --- /dev/null +++ b/Gateways/FE/projects/.resources/d23835f10fc146e3ade0d296f5ef990a49a4fe32a05f910606e2140c8c298c1c @@ -0,0 +1,431 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Faulted": false, + "Running": 1, + "Status": 1 + }, + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1262/SATB1_GAL1262_HUM_01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "enabled": false, + "transforms": [ + { + "expression": "{value}[\u0027Alarms\u0027][\u0027Alarm Critical\u0027] ||\r\n{value}[\u0027Alarms\u0027][\u0027Danger\u0027] ||\r\n{value}[\u0027Alarms\u0027][\u0027Low\u0027] ||\r\n{value}[\u0027Alarms\u0027][\u0027Warning\u0027]", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Unit Status" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "struct": { + "fault": "{view.custom.Faulted}", + "run": "{view.custom.Running}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d 0\n\tif value[\"fault\"]:\n\t\toutput \u003d 2\n\telse:\n\t\tif value[\"run\"]:\n\t\t\toutput \u003d 1\n\t\telse:\n\t\t\toutput \u003d 0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.TagPosition": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 70, + "width": 120 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 74, + "width": 110, + "x": 10 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.TagPosition" + }, + "transforms": [ + { + "fallback": "top", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "bottom" + }, + { + "input": true, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "HUM 01", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Container" + }, + "position": { + "height": 41, + "width": 92, + "x": 10, + "y": 17 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var01" + }, + "position": { + "height": 23, + "width": 44, + "x": 17, + "y": 25 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Relative Humidity Setpoint" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 20.4, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "fontWeight": "bold", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 01" + }, + "position": { + "height": 23, + "width": 33, + "x": 68, + "y": 25 + }, + "props": { + "text": "%", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Box" + }, + "position": { + "height": 50, + "width": 102, + "x": 5, + "y": 9.5 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineWidth": 3 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 21, + "width": 21, + "x": 97.99, + "y": -1.01 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d26e65f858ca136306802dfbc45beb87aadfb1cdc720e217cd6a9ccfa6cffddc b/Gateways/FE/projects/.resources/d26e65f858ca136306802dfbc45beb87aadfb1cdc720e217cd6a9ccfa6cffddc new file mode 100644 index 0000000..b9cf66d Binary files /dev/null and b/Gateways/FE/projects/.resources/d26e65f858ca136306802dfbc45beb87aadfb1cdc720e217cd6a9ccfa6cffddc differ diff --git a/Gateways/FE/projects/.resources/d277f369a37c38aa2a0b29a7561a853caa5a774a936e5e24dba25c7edfad0d6f b/Gateways/FE/projects/.resources/d277f369a37c38aa2a0b29a7561a853caa5a774a936e5e24dba25c7edfad0d6f new file mode 100644 index 0000000..897b5e1 --- /dev/null +++ b/Gateways/FE/projects/.resources/d277f369a37c38aa2a0b29a7561a853caa5a774a936e5e24dba25c7edfad0d6f @@ -0,0 +1,108 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Val", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PD43" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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])\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d28d9864828c998e478296af887694532aff58d6a054f34ae4512d65d1161ee8 b/Gateways/FE/projects/.resources/d28d9864828c998e478296af887694532aff58d6a054f34ae4512d65d1161ee8 new file mode 100644 index 0000000..1bc0cdf --- /dev/null +++ b/Gateways/FE/projects/.resources/d28d9864828c998e478296af887694532aff58d6a054f34ae4512d65d1161ee8 @@ -0,0 +1,36 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--info)", + "boxShadow": "none" + } + }, + "variants": [ + { + "pseudo": "hover", + "animation": { + "duration": "0.2s", + "direction": "normal", + "iterationCount": "1", + "timingFunction": "ease", + "keyframes": { + "0%": { + "backgroundColor": "var(--info)", + "boxShadow": "none" + }, + "100%": { + "backgroundColor": "#448BB7", + "boxShadow": "none" + } + } + } + }, + { + "pseudo": "active", + "style": { + "backgroundColor": "var(--info)", + "boxShadow": "none" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d2ad8a4d980ebd82fc674e316b317defa9002a77d00e2b03956028ab5d70e8a7 b/Gateways/FE/projects/.resources/d2ad8a4d980ebd82fc674e316b317defa9002a77d00e2b03956028ab5d70e8a7 new file mode 100644 index 0000000..3be1e8b --- /dev/null +++ b/Gateways/FE/projects/.resources/d2ad8a4d980ebd82fc674e316b317defa9002a77d00e2b03956028ab5d70e8a7 @@ -0,0 +1,827 @@ +{ + "custom": { + "OP_Codes": [ + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "Manual Override", + "Daily Schedule Shutdown", + "Unit Switch Off", + "Remote Controlled Shutdown", + "Reserved", + "Flow Switch Shutdown", + "VSD Cooling Shutdown", + "Serial Number Shutdown", + "Reserved", + "Discharge Spuerheat Recovery", + "Reserved", + "No Run Permissive", + "Anti-Recycle Timer Active", + "System Switch Off", + "System Not Running", + "System Running", + "Discharge Pressure Limiting", + "Suction Pressure Limiting", + "Motor Current Limiting", + "Free Cooliong", + "ISN/BAS Motor Current Limiting", + "Remote Motor Current Limiting", + "System Shutting Down", + "VSD Pre-Charging", + "VSD Baseplate Temp Limiting", + "VSD Internal Ambient Temp Limiting", + "Sounf Limiting", + "ISN Sounf Limiting", + "Remote Sound Limiting", + "Pulldown Motor Current Limiting", + "Cooling Demand Shutdown", + "Input Current Limiting", + "ISN Input Current Limiting", + "Remote Input Current Limiting", + "Pulldown Input Current Limiting" + ], + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Comm Interface Percentage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Economizer Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Economizer Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 1 Fan Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 2 Fan Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "FLA Motor 1 Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "FLA Motor 2 Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Compressor 1", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Compressor 2", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power System 1 Fan", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power System 2 Fan", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "VSD CMD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "VSD Output", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Ambient Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Eductor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Motor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Eductor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Motor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 1 Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 2 Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator In Water Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator Out Water Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Discharge Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Flow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Runtime", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Runtime", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Active Setpoint", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Chiller System Available", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Starts", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Starts", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 1 Fan Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 2 Fan Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator Heater Status", + "options": [ + "Off", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator Pump Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Flow Switch", + "options": [ + "OFF", + "Activated" + ] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 0, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 OpCode" + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 OpCode" + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System HOA", + "options": [ + "LOCAL", + "REMOTE" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System Interlock Active", + "options": [ + "OK", + "Interlocked" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System Permissive OK", + "options": [ + "Not OK", + "value" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Oil Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Oil Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Discharge Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Discharge Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Suction Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Discharge Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Suction Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System Suction Cutout", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_SYSTEM" + }, + "propConfig": { + "custom.OP_Codes": { + "persistent": true + }, + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.allTags[40].options": { + "binding": { + "config": { + "path": "view.custom.OP_Codes" + }, + "type": "property" + } + }, + "custom.allTags[41].options": { + "binding": { + "config": { + "path": "view.custom.OP_Codes" + }, + "type": "property" + } + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d2b13d7a711ca3afd2fb4cd4d886ca9b221102f671d8c5bc064b65dab27c9865 b/Gateways/FE/projects/.resources/d2b13d7a711ca3afd2fb4cd4d886ca9b221102f671d8c5bc064b65dab27c9865 new file mode 100644 index 0000000..846076c Binary files /dev/null and b/Gateways/FE/projects/.resources/d2b13d7a711ca3afd2fb4cd4d886ca9b221102f671d8c5bc064b65dab27c9865 differ diff --git a/Gateways/FE/projects/.resources/d2c1cc0c2a425d3dcfab296971b29c67d7eeb9a025ba8fde5294dfd7693ac860 b/Gateways/FE/projects/.resources/d2c1cc0c2a425d3dcfab296971b29c67d7eeb9a025ba8fde5294dfd7693ac860 new file mode 100644 index 0000000..0b23bee Binary files /dev/null and b/Gateways/FE/projects/.resources/d2c1cc0c2a425d3dcfab296971b29c67d7eeb9a025ba8fde5294dfd7693ac860 differ diff --git a/Gateways/FE/projects/.resources/d323e3dd12aa67549342a9a02011a2326e568e338008cb3d1f8da9280dc9e063 b/Gateways/FE/projects/.resources/d323e3dd12aa67549342a9a02011a2326e568e338008cb3d1f8da9280dc9e063 new file mode 100644 index 0000000..5144ac5 Binary files /dev/null and b/Gateways/FE/projects/.resources/d323e3dd12aa67549342a9a02011a2326e568e338008cb3d1f8da9280dc9e063 differ diff --git a/Gateways/FE/projects/.resources/d337aa5393f10f1f827c41b50f8fcff8fe57e20aaae08efd4ae72e2ca17d415d b/Gateways/FE/projects/.resources/d337aa5393f10f1f827c41b50f8fcff8fe57e20aaae08efd4ae72e2ca17d415d new file mode 100644 index 0000000..5218d9d --- /dev/null +++ b/Gateways/FE/projects/.resources/d337aa5393f10f1f827c41b50f8fcff8fe57e20aaae08efd4ae72e2ca17d415d @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M3433.33,191.897c0,2.3 1.867,4.167 4.167,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal16", + "name": "Terminal16", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3437.5,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3431.25,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In8", + "name": "In8", + "type": "path" + }, + { + "d": "M3437.5,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3441.67,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal17", + "name": "Terminal17", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3437.5,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3445.24,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed8", + "name": "Closed8", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3464.24,193.729c8.447,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open8", + "name": "Open8", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB09", + "name": "CB09", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1266, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1217,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1217,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1217,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1217,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d345334b2fac2aadb1a73733d3e2d5da14ca4e63c32e3e8a78879f7a5ad6f377 b/Gateways/FE/projects/.resources/d345334b2fac2aadb1a73733d3e2d5da14ca4e63c32e3e8a78879f7a5ad6f377 new file mode 100644 index 0000000..2d78a0f Binary files /dev/null and b/Gateways/FE/projects/.resources/d345334b2fac2aadb1a73733d3e2d5da14ca4e63c32e3e8a78879f7a5ad6f377 differ diff --git a/Gateways/FE/projects/.resources/d374b4ec5960a88cae8f9337e900a2567d9479cb19f71b73f71b8f83b212df1b b/Gateways/FE/projects/.resources/d374b4ec5960a88cae8f9337e900a2567d9479cb19f71b73f71b8f83b212df1b new file mode 100644 index 0000000..911b860 Binary files /dev/null and b/Gateways/FE/projects/.resources/d374b4ec5960a88cae8f9337e900a2567d9479cb19f71b73f71b8f83b212df1b differ diff --git a/Gateways/FE/projects/.resources/d37ed7d486592e4cb73552b96f2a80463600ee21c5ceb537a3741af7f46ac9c4 b/Gateways/FE/projects/.resources/d37ed7d486592e4cb73552b96f2a80463600ee21c5ceb537a3741af7f46ac9c4 new file mode 100644 index 0000000..bcecf10 --- /dev/null +++ b/Gateways/FE/projects/.resources/d37ed7d486592e4cb73552b96f2a80463600ee21c5ceb537a3741af7f46ac9c4 @@ -0,0 +1,229 @@ +{ + "custom": { + "endDate": { + "$": [ + "ts", + 0, + 1746122920108 + ], + "$ts": 1745798399000 + }, + "location": null, + "startDate": { + "$": [ + "ts", + 0, + 1746122916750 + ], + "$ts": 1745539200000 + } + }, + "params": { + "endDate": "2025-04-27 23:59:59", + "location": null, + "startDate": "2025-04-25 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "expression": "toDate({view.params.endDate})" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "expression": "toDate({view.params.startDate})" + }, + "type": "expr" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "30px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + }, + { + "label": "daily", + "value": 1440 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 1440 + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Import" + }, + "position": { + "basis": "34px", + "display": false + }, + "props": { + "enabled": false, + "text": "Import" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\tsystem.perspective.download(\"Total Power Data.xls\", xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.PUEData": { + "binding": { + "config": { + "struct": { + "endDate": "{view.custom.endDate}", + "intervalMins": "{../CalculatedFields/Actions/Dropdown.props.value}", + "location": "{view.custom.location}", + "startDate": "{view.custom.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\tlocation\u003d value[\"location\"]\n\tintMins \u003d value[\"intervalMins\"]\n\treturn reports.MBR.data.totalpower.beginReport(startDate, endDate, intMins, location)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.PUEData.summaryData" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d386e93b1c25ea202ad95677e4936813d9008db1685a44f3670fb043b19e499b b/Gateways/FE/projects/.resources/d386e93b1c25ea202ad95677e4936813d9008db1685a44f3670fb043b19e499b new file mode 100644 index 0000000..97bd2df --- /dev/null +++ b/Gateways/FE/projects/.resources/d386e93b1c25ea202ad95677e4936813d9008db1685a44f3670fb043b19e499b @@ -0,0 +1,228 @@ +{ + "custom": {}, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/DH1_DP_AvgObj1" + }, + "propConfig": { + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Auto Reject Enable", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Ocmd_AutoReject" + }, + "type": "tag" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "Auto Reject" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Output", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Select" + }, + "type": "tag" + } + } + }, + "props": { + "options": [ + { + "label": "Average", + "value": 0 + }, + { + "label": "Maximum", + "value": 1 + }, + { + "label": "Minimum", + "value": 2 + } + ], + "wrapMultiSelectValues": false + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Auto Reject_0" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d391d3f3e577770033f2988056b25d6e2a8000ac92fdbeedf0238ee83affa8fc b/Gateways/FE/projects/.resources/d391d3f3e577770033f2988056b25d6e2a8000ac92fdbeedf0238ee83affa8fc new file mode 100644 index 0000000..c585d80 Binary files /dev/null and b/Gateways/FE/projects/.resources/d391d3f3e577770033f2988056b25d6e2a8000ac92fdbeedf0238ee83affa8fc differ diff --git a/Gateways/FE/projects/.resources/d394de445b3a8e3971f72ba8d90228c3ad3ac43cba80932a0e09399a372a0500 b/Gateways/FE/projects/.resources/d394de445b3a8e3971f72ba8d90228c3ad3ac43cba80932a0e09399a372a0500 new file mode 100644 index 0000000..cdef63f --- /dev/null +++ b/Gateways/FE/projects/.resources/d394de445b3a8e3971f72ba8d90228c3ad3ac43cba80932a0e09399a372a0500 @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2/Device Fault" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 4 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d39e2d7dac08f15990cafaeb5528dc0c00290e1f0e38d1688c68ed9df92e82a8 b/Gateways/FE/projects/.resources/d39e2d7dac08f15990cafaeb5528dc0c00290e1f0e38d1688c68ed9df92e82a8 new file mode 100644 index 0000000..f738713 Binary files /dev/null and b/Gateways/FE/projects/.resources/d39e2d7dac08f15990cafaeb5528dc0c00290e1f0e38d1688c68ed9df92e82a8 differ diff --git a/Gateways/FE/projects/.resources/d3a0c92577587d8ef86c54c39da1d91af245ca9625a7182bac1041e1c43aa019 b/Gateways/FE/projects/.resources/d3a0c92577587d8ef86c54c39da1d91af245ca9625a7182bac1041e1c43aa019 new file mode 100644 index 0000000..ddbd48c --- /dev/null +++ b/Gateways/FE/projects/.resources/d3a0c92577587d8ef86c54c39da1d91af245ca9625a7182bac1041e1c43aa019 @@ -0,0 +1,374 @@ +{ + "custom": { + "AlarmSeverity": 0 + }, + "params": { + "embedded": true, + "format": "##.##", + "objectName": "PID_Loop", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWST_AvgObj", + "title": "value" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.format": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.title": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 100, + "width": 200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.title" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Select" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Out", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Avg" + }, + { + "input": 1, + "output": "Max" + }, + { + "input": 2, + "output": "Min" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Avg", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "propConfig": { + "props.format": { + "binding": { + "config": { + "path": "view.params.format" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Value OUT" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "align": "left", + "style": { + "backgroundColor": "transparent", + "borderStyle": "none", + "color": "var(--tagvalue-color)" + }, + "value": 53.365 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "48px" + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "0.1px" + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "path": "Library/Alarms/Icons", + "style": { + "marginLeft": -25, + "marginTop": -20, + "overflow": "visible", + "z-index": 0 + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "200px" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "None", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "None" + }, + { + "input": 0, + "output": "None" + }, + { + "input": 1, + "output": "Solid" + }, + { + "input": 2, + "output": "Solid" + }, + { + "input": 3, + "output": "Solid" + }, + { + "input": 4, + "output": "Solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "--containerNested", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d41b0c6da3c7278b9f867864da9524f7285863b7b8004fb9de057dae742333e6 b/Gateways/FE/projects/.resources/d41b0c6da3c7278b9f867864da9524f7285863b7b8004fb9de057dae742333e6 new file mode 100644 index 0000000..9a96b44 Binary files /dev/null and b/Gateways/FE/projects/.resources/d41b0c6da3c7278b9f867864da9524f7285863b7b8004fb9de057dae742333e6 differ diff --git a/Gateways/FE/projects/.resources/d424235c978cf9aaee9f16a44074adc9ef64bcbe71b4efb1798fe88c6b49c224 b/Gateways/FE/projects/.resources/d424235c978cf9aaee9f16a44074adc9ef64bcbe71b4efb1798fe88c6b49c224 new file mode 100644 index 0000000..2402d0a --- /dev/null +++ b/Gateways/FE/projects/.resources/d424235c978cf9aaee9f16a44074adc9ef64bcbe71b4efb1798fe88c6b49c224 @@ -0,0 +1,1052 @@ +{ + "custom": {}, + "params": { + "pageId": "value" + }, + "propConfig": { + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable" + }, + "position": { + "height": 990, + "width": 1250 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(-olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M7_to_UT-M8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "UT-M7", + "right": "DS-1B1 W4" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M8", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M8", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M8", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M8", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M8", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 0, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 417, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD01" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 477, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD02" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 422, + "y": 532.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 242, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M8" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d49cb95ea3a4fe0e36d8fb8f9748aa67a342d273ee6da0d59b44503e70c89722 b/Gateways/FE/projects/.resources/d49cb95ea3a4fe0e36d8fb8f9748aa67a342d273ee6da0d59b44503e70c89722 new file mode 100644 index 0000000..f4da450 Binary files /dev/null and b/Gateways/FE/projects/.resources/d49cb95ea3a4fe0e36d8fb8f9748aa67a342d273ee6da0d59b44503e70c89722 differ diff --git a/Gateways/FE/projects/.resources/d4a4cfa9d0ce803346631eef52f62b060e0b2224a0a6c389f3a0f05a1beab739 b/Gateways/FE/projects/.resources/d4a4cfa9d0ce803346631eef52f62b060e0b2224a0a6c389f3a0f05a1beab739 new file mode 100644 index 0000000..f3dae19 --- /dev/null +++ b/Gateways/FE/projects/.resources/d4a4cfa9d0ce803346631eef52f62b060e0b2224a0a6c389f3a0f05a1beab739 @@ -0,0 +1 @@ +def doHead(request, session): diff --git a/Gateways/FE/projects/.resources/d4c17f0cbed2236fcf5a613981b3dd516f7e2e5f2a3e52b36cdf65f957a827a2 b/Gateways/FE/projects/.resources/d4c17f0cbed2236fcf5a613981b3dd516f7e2e5f2a3e52b36cdf65f957a827a2 new file mode 100644 index 0000000..e0ee1c6 --- /dev/null +++ b/Gateways/FE/projects/.resources/d4c17f0cbed2236fcf5a613981b3dd516f7e2e5f2a3e52b36cdf65f957a827a2 @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M2225,191.897c0,2.3 1.867,4.167 4.167,4.167c2.299,-0 4.166,-1.867 4.166,-4.167c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal6", + "name": "Terminal6", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.17,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2222.92,149.892c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In3", + "name": "In3", + "type": "path" + }, + { + "d": "M2229.17,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2233.33,247.063c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c-0,2.299 1.867,4.166 4.167,4.166c2.299,0 4.166,-1.867 4.166,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal7", + "name": "Terminal7", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.17,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2236.91,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed3", + "name": "Closed3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2255.91,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open3", + "name": "Open3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 819, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(770,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(770,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(770,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(770,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d4f176d117a0895d869f711ead353c886cf96d1325b665061eae4e6e4d486367 b/Gateways/FE/projects/.resources/d4f176d117a0895d869f711ead353c886cf96d1325b665061eae4e6e4d486367 new file mode 100644 index 0000000..b4a8ef2 Binary files /dev/null and b/Gateways/FE/projects/.resources/d4f176d117a0895d869f711ead353c886cf96d1325b665061eae4e6e4d486367 differ diff --git a/Gateways/FE/projects/.resources/d530b45506e304ae99a8ace58e7c8865750e0d1e8809c56bae48afe15bad571a b/Gateways/FE/projects/.resources/d530b45506e304ae99a8ace58e7c8865750e0d1e8809c56bae48afe15bad571a new file mode 100644 index 0000000..c3b715f --- /dev/null +++ b/Gateways/FE/projects/.resources/d530b45506e304ae99a8ace58e7c8865750e0d1e8809c56bae48afe15bad571a @@ -0,0 +1,110 @@ +{ + "custom": { + "endDate": "2025-04-25 23:59:59", + "location": null, + "startDate": "2025-04-20 00:00:00" + }, + "params": { + "endDate": "2025-04-25 23:59:59", + "location": null, + "startDate": "2025-04-20 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "struct": { + "endDate": "toDate({view.custom.endDate})", + "location": "{view.custom.location}", + "startDate": "toDate({view.custom.startDate})" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n#\treturn reports.MBR.generators.getHistoryLastValues(\"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M1\",\"[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM\", startDate, endDate)\n\treturn reports.MBR.generators.buildFinalTable(startDate,endDate,location\u003dNone)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d547e985e4d0edb48e7dfb65f719adaa8b8cff8bb66b3ad58bc4078bdd177360 b/Gateways/FE/projects/.resources/d547e985e4d0edb48e7dfb65f719adaa8b8cff8bb66b3ad58bc4078bdd177360 new file mode 100644 index 0000000..583246a Binary files /dev/null and b/Gateways/FE/projects/.resources/d547e985e4d0edb48e7dfb65f719adaa8b8cff8bb66b3ad58bc4078bdd177360 differ diff --git a/Gateways/FE/projects/.resources/d56ac19e952bb3b9a385726c7873dd2b4cd51e307e00deb816c88352a5d148ec b/Gateways/FE/projects/.resources/d56ac19e952bb3b9a385726c7873dd2b4cd51e307e00deb816c88352a5d148ec new file mode 100644 index 0000000..157aea8 --- /dev/null +++ b/Gateways/FE/projects/.resources/d56ac19e952bb3b9a385726c7873dd2b4cd51e307e00deb816c88352a5d148ec @@ -0,0 +1,5 @@ +def updateTop3Alarms(): + alarmList = alarm.timers.getTop3Alarms() + + system.tag.writeAsync(["[default]System/Top3Alarms"], [alarmList]) + \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d58d21cfe387f9a22d3366ab33dab1aeca57b42a5ded317a9f28093d04c202a4 b/Gateways/FE/projects/.resources/d58d21cfe387f9a22d3366ab33dab1aeca57b42a5ded317a9f28093d04c202a4 new file mode 100644 index 0000000..32525e7 --- /dev/null +++ b/Gateways/FE/projects/.resources/d58d21cfe387f9a22d3366ab33dab1aeca57b42a5ded317a9f28093d04c202a4 @@ -0,0 +1,291 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_TT_RET" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.SubEn": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteEN" + }, + "type": "tag" + } + }, + "custom.OCmd.SubVal": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteVal" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OOSBtn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Enable" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubEn" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "SubEnable" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description" + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "struct": { + "Ocmd_En": "{view.custom.OCmd.SubEn}", + "auth": "{view.params.auth.control}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027auth\u0027] and value[\u0027Ocmd_En\u0027]:\n\t\treturn True\n\telse:\n\t\treturn False\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubVal" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "SubVal" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d5dd24f02253fb1a39f318a602befe0e2a020b30279e82ff060d12801c0916b2 b/Gateways/FE/projects/.resources/d5dd24f02253fb1a39f318a602befe0e2a020b30279e82ff060d12801c0916b2 new file mode 100644 index 0000000..1cdb467 Binary files /dev/null and b/Gateways/FE/projects/.resources/d5dd24f02253fb1a39f318a602befe0e2a020b30279e82ff060d12801c0916b2 differ diff --git a/Gateways/FE/projects/.resources/d61bd7b98ba57f08edda2bcbf3ec845b1be44dca170cb78ad78e452b43f5e210 b/Gateways/FE/projects/.resources/d61bd7b98ba57f08edda2bcbf3ec845b1be44dca170cb78ad78e452b43f5e210 new file mode 100644 index 0000000..5313da4 Binary files /dev/null and b/Gateways/FE/projects/.resources/d61bd7b98ba57f08edda2bcbf3ec845b1be44dca170cb78ad78e452b43f5e210 differ diff --git a/Gateways/FE/projects/.resources/d637ff102dbfeb141617c89792744e90ed2b95217a433dd751a87fa513a58fc7 b/Gateways/FE/projects/.resources/d637ff102dbfeb141617c89792744e90ed2b95217a433dd751a87fa513a58fc7 new file mode 100644 index 0000000..d8349e8 --- /dev/null +++ b/Gateways/FE/projects/.resources/d637ff102dbfeb141617c89792744e90ed2b95217a433dd751a87fa513a58fc7 @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M5558.33,191.897c0,2.3 1.867,4.167 4.167,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal28", + "name": "Terminal28", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5562.5,187.73l0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5556.25,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In14", + "name": "In14", + "type": "path" + }, + { + "d": "M5562.5,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5566.67,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal29", + "name": "Terminal29", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5562.5,251.229l0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5570.24,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed14", + "name": "Closed14", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5589.24,193.729c8.447,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open14", + "name": "Open14", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB15", + "name": "CB15", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 2053, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2004,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2004,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2004,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2004,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d6976f2713236e855d0df753be8eb171a9942e7d273b77e0d6906024724878f6 b/Gateways/FE/projects/.resources/d6976f2713236e855d0df753be8eb171a9942e7d273b77e0d6906024724878f6 new file mode 100644 index 0000000..0dcc39d --- /dev/null +++ b/Gateways/FE/projects/.resources/d6976f2713236e855d0df753be8eb171a9942e7d273b77e0d6906024724878f6 @@ -0,0 +1,165 @@ +{ + "custom": { + "Temp": 72, + "gradient": "40", + "inMax": 10, + "inMin": -10, + "outMax": 255, + "outMin": 0, + "sensor_tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_PNL22_H1_TT01" + }, + "params": { + "Aisle": "H1", + "SP": 77, + "TT": "TT01", + "embedded": true, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_PNL22_" + }, + "propConfig": { + "custom.Temp": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/DH/Temp4" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.gradient": { + "binding": { + "config": { + "expression": "{view.custom.Temp}-{view.params.SP}" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "toHex({value})", + "type": "expression" + } + ], + "type": "expr" + }, + "persistent": true + }, + "custom.inMax": { + "persistent": true + }, + "custom.inMin": { + "persistent": true + }, + "custom.outMax": { + "persistent": true + }, + "custom.outMin": { + "persistent": true + }, + "custom.sensor_tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_\",{view.params.TT})" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Aisle": { + "paramDirection": "input", + "persistent": true + }, + "params.SP": { + "paramDirection": "input", + "persistent": true + }, + "params.TT": { + "paramDirection": "input", + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "uppterTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_\",{view.params.TT})" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "°F", + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "concat(\"#D24E00\", {view.custom.gradient})" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible", + "paddingBottom": "2px", + "paddingLeft": "10px", + "paddingRight": "10px", + "paddingTop": "2px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d6a99e9d0721b7404b351ab5faff4ab3b79a061e3c383983640e007a81ae264f b/Gateways/FE/projects/.resources/d6a99e9d0721b7404b351ab5faff4ab3b79a061e3c383983640e007a81ae264f new file mode 100644 index 0000000..0430b39 Binary files /dev/null and b/Gateways/FE/projects/.resources/d6a99e9d0721b7404b351ab5faff4ab3b79a061e3c383983640e007a81ae264f differ diff --git a/Gateways/FE/projects/.resources/d6c8b9fa01e0544f06b548653dd201576f951bd42c13516732340be05c771231 b/Gateways/FE/projects/.resources/d6c8b9fa01e0544f06b548653dd201576f951bd42c13516732340be05c771231 new file mode 100644 index 0000000..950a9c3 --- /dev/null +++ b/Gateways/FE/projects/.resources/d6c8b9fa01e0544f06b548653dd201576f951bd42c13516732340be05c771231 @@ -0,0 +1,83 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 75, + "width": 150 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Button" + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginLeft": 3, + "marginRight": 3, + "marginTop": 3 + }, + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "children": [ + { + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "80px" + }, + "props": { + "primary": false, + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Button_1" + }, + "position": { + "basis": "80px" + }, + "props": { + "primary": false, + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginBottom": 3, + "marginLeft": 3, + "marginRight": 3, + "marginTop": 3 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d701564219cb82e16edf70c24afd4c41df80d420f8cde40952e93839fc510202 b/Gateways/FE/projects/.resources/d701564219cb82e16edf70c24afd4c41df80d420f8cde40952e93839fc510202 new file mode 100644 index 0000000..6c7166b --- /dev/null +++ b/Gateways/FE/projects/.resources/d701564219cb82e16edf70c24afd4c41df80d420f8cde40952e93839fc510202 @@ -0,0 +1,5413 @@ +{ + "custom": { + "editPriority": false, + "nUnits": 4, + "priority": [ + 2, + 3, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "runtime": [ + 605.29926, + 25.700062, + 0, + 1600.9562, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "status": [ + 1, + 1, + 1, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "statusBinary": [ + [ + 1, + 0, + 0 + ], + [ + 1, + 0, + 0 + ], + [ + 1, + 0, + 0 + ], + [ + 1, + 1, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "statusTranslation": [ + { + "index": 0, + "value": [ + "Not Avail", + "Available" + ] + }, + { + "index": 1, + "value": [ + "Stopped", + "Running" + ] + }, + { + "index": 2, + "value": [ + "Good", + "Failed" + ] + } + ], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/ASP_LLS", + "tagPath1": "[Ignition_Common_IO_Gtwy]MPR1140/ASP_Rotation" + }, + "params": { + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]MPR1140/ASP_LLS", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]MPR1140/ASP_Rotation" + } + }, + "permissions": { + "securityLevels": [], + "type": "AllOf" + }, + "propConfig": { + "custom.editPriority": { + "binding": { + "config": { + "expression": "false" + }, + "enabled": false, + "type": "expr" + }, + "persistent": true + }, + "custom.nUnits": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Number of Units" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.operatorPriority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices" + }, + "type": "tag" + }, + "persistent": false + }, + "custom.priority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.tagPath}" + }, + "tagPath": "{1}/Reference Devices" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.runtime": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.tagPath}" + }, + "tagPath": "{1}/Device Runtime" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.tagPath}" + }, + "tagPath": "{1}/Status Devices" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.statusBinary": { + "binding": { + "config": { + "path": "view.custom.status" + }, + "transforms": [ + { + "code": "\t\n\tdef int_to_bits(num):\n\t # Ensure the integer is formatted as a 3-bit binary string and then reversed\n\t binary_str \u003d format(num % 8, \u002703b\u0027) # % 8 ensures only the last 3 bits are considered\n\t return [int(bit) for bit in binary_str[::-1]]\n\t\n\treturn [int_to_bits(num) for num in value]", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.statusTranslation": { + "persistent": true + }, + "custom.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPaths.tagPath_LLS" + }, + "type": "property" + }, + "persistent": true + }, + "custom.tagPath1": { + "binding": { + "config": { + "path": "view.params.tagPaths.tagPath_Rotation" + }, + "type": "property" + }, + "persistent": true + }, + "params.tagPaths": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 897 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "Status", + "textStyle": { + "classes": "labels/section-title", + "text-indent": "10px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Gauge" + }, + "position": { + "basis": "142px", + "shrink": 0 + }, + "propConfig": { + "props.outerAxis.maxValue": { + "binding": { + "config": { + "path": "view.custom.nUnits" + }, + "type": "property" + } + }, + "props.outerAxis.ranges[1].end": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Avail" + }, + "type": "tag" + } + }, + "props.outerAxis.ranges[2].end": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Demand" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Feedback" + }, + "type": "tag" + } + } + }, + "props": { + "backgroundColor": "", + "innerAxis": { + "data": "secondaryValue", + "maxValue": 80, + "percentRadius": 85, + "show": false, + "width": 1 + }, + "outerAxis": { + "data": "value", + "needle": { + "color": "#555555", + "reach": 95 + }, + "percentRadius": 90, + "ranges": [ + { + "color": "#B4C0C6", + "end": 48, + "start": 0, + "width": 100 + }, + { + "color": "#77B6D8", + "start": 0, + "width": 100 + }, + { + "color": "#B46EED", + "start": 0, + "width": 4 + } + ], + "show": true, + "tickMarks": { + "length": 2 + }, + "width": 1 + } + }, + "type": "ia.chart.gauge" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "#77B6D8", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Available" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Avail" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Available" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "#B46EED", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Demand" + }, + "type": "tag" + } + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Demand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "#555555", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Feedback" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Feedback" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Feedback" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "propConfig": { + "props.params.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Status LineUp Adjusting" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "transparent" + }, + { + "input": true, + "output": "gray" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "path": "Testing/Border CSS", + "style": { + "marginLeft": 2 + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Status LineUp Adjusting" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Adjusting Line Up" + }, + { + "input": false, + "output": "Line Up Complete" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "LineUp Adjusting" + }, + "position": { + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "propConfig": { + "props.params.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Stage Mode" + }, + "transforms": [ + { + "fallback": "gray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "transparent" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "path": "Testing/Border CSS", + "style": { + "marginLeft": 2 + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Stage Mode" + }, + "transforms": [ + { + "fallback": "State Out Of Sequence", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Normal Mode" + }, + { + "input": 1, + "output": "Staging Up" + }, + { + "input": 2, + "output": "Staging Down" + }, + { + "input": 3, + "output": "Checking Stability" + }, + { + "input": 4, + "output": "Operator Priority Changing" + }, + { + "input": 5, + "output": "Runtime Rotations" + }, + { + "input": 6, + "output": "Position Rotations" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Trans Active" + }, + "position": { + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "transparent", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label", + "tooltip": { + "text": "Rotation indication, 1 Hour notice flag." + } + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Rotation Aproaching" + }, + "transforms": [ + { + "fallback": "-", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Rotation Approaching" + }, + { + "input": false, + "output": "" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Rotation Approaching" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Rotation Aproaching" + }, + "type": "tag" + } + } + }, + "props": { + "justify": "center", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "borderLeft": "1px solid var(--border)", + "borderRight": "1px solid var(--border)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Status" + }, + "position": { + "basis": "247px", + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "Controls", + "textStyle": { + "classes": "labels/section-title", + "text-indent": "10px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Auto/Manual" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Auto" + }, + { + "input": false, + "output": "Manual" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "21%" + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode" + }, + "type": "tag" + } + } + }, + "type": "ia.input.toggle-switch" + } + ], + "meta": { + "name": "Auto-Manual" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "On/Off" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "On" + }, + { + "input": false, + "output": "Off" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "height": 33, + "width": 48, + "x": 1 + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "type": "tag" + } + } + }, + "type": "ia.input.toggle-switch" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\t\tutils.Alerts.showAlert(\"info\", \"Turn On-Off\", \"Are you sure you wan to change the state of the Chillwater Pumps LLS?\", \"true\" , \"Continue\" , \"Cancel\" , \"\" , \"\" , \"\" , \"setONOFFBtn\", \"CloseAlertDialog\", \"CloseAlertDialog\")\n\t\t\t\t\t\t #\"state\", \"title\"\t\t , \"message\"\t\t\t\t\t\t\t\t\t\t\t\t\t\t , \"showCloseBtn\", \"btnTextPrimary\", \"btnTextSecondary\", \"btnIconPrimary\", \"btnIconSecondary\", \"btnIconAlignment\", \"btnActionPrimary\" , \"btnActionSecondary\" , \"btnActionClose\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 28, + "width": 43, + "x": 5.73, + "y": 3 + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CoordinateContainer" + }, + "position": { + "basis": 19, + "grow": 1, + "shrink": 0 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "On-Off" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "enabled": false, + "transforms": [ + { + "expression": "\u0027Demand SP: \u0027+ tostr({value})", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Demand SP:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.props.tag \u003d self.props.tag + 1\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "18%" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "lineUpComplete": "tag({view.custom.tagPath}+\u0027/Status LineUp Complete\u0027)", + "mode": "tag({view.custom.tagPath}+\u0027/Control/Mode\u0027)", + "stageMode": "tag({view.custom.tagPath}+\u0027/Value Stage Mode\u0027)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027mode\u0027]\u003d\u003dFalse and value[\u0027lineUpComplete\u0027]\u003d\u003dTrue and value[\u0027stageMode\u0027]\u003d\u003d0:\n\t\tdisplay \u003d True\n\telse:\n\t\tdisplay \u003d False\n\treturn display", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.image.icon": { + "persistent": false + }, + "props.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "type": "tag" + } + } + }, + "props": { + "align": "stretch", + "image": { + "position": "right" + }, + "style": { + "overflow": "hidden" + }, + "text": "Up" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.props.tag \u003d self.props.tag - 1\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "18%" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "lineUpComplete": "tag({view.custom.tagPath}+\u0027/Status LineUp Complete\u0027)", + "mode": "tag({view.custom.tagPath}+\u0027/Control/Mode\u0027)", + "stageMode": "tag({view.custom.tagPath}+\u0027/Value Stage Mode\u0027)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027mode\u0027]\u003d\u003dFalse and value[\u0027lineUpComplete\u0027]\u003d\u003dTrue and value[\u0027stageMode\u0027]\u003d\u003d0:\n\t\tdisplay \u003d True\n\telse:\n\t\tdisplay \u003d False\n\treturn display", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.image.icon": { + "persistent": false + }, + "props.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "type": "tag" + } + } + }, + "props": { + "image": {}, + "style": { + "overflow": "hidden" + }, + "text": "Dn" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Demand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Operator Priority" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Accept", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "25%", + "shrink": 0 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Accept" + }, + "type": "tag" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "Cfg_DuplicateNum": "tag({view.custom.tagPath}+\u0027/Alarms/Alm_Cfg_DuplicateNumber\u0027)", + "Cfg_Error": "tag({view.custom.tagPath}+\u0027/Alarms/Alm_Cfg_Error\u0027)", + "authentication": "{session.props.auth.authenticated}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027authentication\u0027]:\n\t\tText \u003d \u0027No user is logged in\u0027\n\telif value[\u0027Cfg_Error\u0027]:\n\t\tText \u003d \u0027Operator priority has a duplicate number. Number: \u0027 + str(value[\u0027Cfg_DuplicateNum\u0027])\n\telse:\n\t\tText \u003d \u0027\u0027\n\treturn Text", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{session.props.auth.authenticated}\r\n\u0026\u0026 !tag({view.custom.tagPath}+\u0027/Alarms/Alarm Cfg Error\u0027)\r\n\u0026\u0026 !tag({view.custom.tagPath}+\u0027/Status LineUp Adjusting\u0027)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "padding": "0 10px" + }, + "text": "Accept" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Operator Priority" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "alignVertical": "top", + "text": "Rotation Control", + "textStyle": { + "fontWeight": "600", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Rotation Control" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "borderTop": "1px solid var(--border)", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Auto/Manual" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Auto Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Auto Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Auto" + }, + { + "input": false, + "output": "Manual" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "21%" + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Auto Mode" + }, + "type": "tag" + } + } + }, + "type": "ia.input.toggle-switch" + } + ], + "meta": { + "name": "Rotation AutoMAn" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Rotation Type" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Rotation Type" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Rotation Type" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Positions" + }, + { + "input": false, + "output": "Runtime" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "21%" + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Rotation Type" + }, + "type": "tag" + } + } + }, + "type": "ia.input.toggle-switch" + } + ], + "meta": { + "name": "Rotation Type" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Rotate Now" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Accept", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "25%", + "shrink": 0 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/OCmd Rotate Now" + }, + "type": "tag" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "authentication": "{session.props.auth.authenticated}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027authentication\u0027]:\n\t\tText \u003d \u0027No user is logged in\u0027\n\telse:\n\t\tText \u003d \u0027\u0027\n\treturn Text", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "!tag({view.custom.tagPath1}+\u0027/Auto Mode\u0027)\r\n\u0026\u0026 tag({view.custom.tagPath}+\u0027/Status LineUp Complete\u0027)\r\n\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "padding": "0 10px" + }, + "text": "Rotate" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Rotate Now" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Skip Rotation" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Accept", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "25%", + "shrink": 0 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/OCmd Skip Rotation" + }, + "type": "tag" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "Cfg_DuplicateNum": "tag({view.custom.tagPath}+\u0027/Alarms/Alm_Cfg_DuplicateNumber\u0027)", + "Cfg_Error": "tag({view.custom.tagPath}+\u0027/Alarms/Alm_Cfg_Error\u0027)", + "authentication": "{session.props.auth.authenticated}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027authentication\u0027]:\n\t\tText \u003d \u0027No user is logged in\u0027\n\telif value[\u0027Cfg_Error\u0027]:\n\t\tText \u003d \u0027Operator priority has a duplicate number. Number: \u0027 + str(value[\u0027Cfg_DuplicateNum\u0027])\n\telse:\n\t\tText \u003d \u0027\u0027\n\treturn Text", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "\r\ntag({view.custom.tagPath1}+\u0027/Rotation Aproaching\u0027)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "padding": "0 10px" + }, + "text": "Skip" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Skip rotation" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "borderRight": "1px solid var(--border)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Controls" + }, + "position": { + "basis": "263px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "Config", + "textStyle": { + "classes": "labels/section-title", + "text-indent": "10px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Stage Up Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Stage Up Delay Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_StageUpDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Stage Down Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Stage Down Delay Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_StageDownDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Transition Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Transition Delay Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_TransitionDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Off Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Off Delay Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_OffDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Max Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Max Demand" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_MaxDemand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Min Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Min Demand" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_MinDemand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Fail to Run Delay" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Fail To Run Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_FTR_SP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Fail to Stop Delay" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Fail To Stop Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_FTS_SP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "alignVertical": "top", + "text": "Rotation Config", + "textStyle": { + "fontWeight": "600", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Rotation Control" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "borderTop": "1px solid var(--border)", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Hour Rotate" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Hour" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true, + "text": "1\u003d1am ... 13\u003d1pm, etc." + } + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Hour Rotate" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_Hour_Rotate" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Day of Week" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Day of Week" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true, + "text": "1\u003dMonday, 2\u003dTuesday ... 7\u003dSunday." + } + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg DayOfWeek Rotate" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_DayOfWeek_Rotate" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Day of Week" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Number Of Weeks" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true, + "text": "1\u003dWeekly, 2\u003dBiWeekly, etc." + } + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_NumberOfWeeks_Rotate" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "borderRight": "1px solid var(--border)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Config" + }, + "position": { + "basis": "290px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "events": { + "component": { + "onEditCellCommit": { + "config": { + "script": "\tvalueToSet \u003d int(event.value)\n\teventRow \u003d int(event.row)\n\tself.props.data[event.row][event.column] \u003d valueToSet\n\ttagPath \u003d self.view.custom.tagPath + \u0027/Control/ORef_Devices\u0027 #\"[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Control/ORef_Devices\"\n\t\n\tav \u003d system.tag.readBlocking([tagPath])[0].value\n\tav[eventRow] \u003d valueToSet\n\tsystem.tag.writeBlocking([tagPath], [av])\n\t" + }, + "scope": "G", + "type": "script" + }, + "onEditCellStart": { + "config": { + "script": "\tself.custom.clear()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.columns": { + "persistent": true + }, + "props.data": { + "binding": { + "config": { + "struct": { + "nUnits": "{view.custom.nUnits}", + "oPriority": "{view.custom.operatorPriority}", + "priority": "{view.custom.priority}", + "runtime": "{view.custom.runtime}", + "status": "{view.custom.statusBinary}", + "statusTranslation": "{view.custom.statusTranslation}" + }, + "waitOnAll": false + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor i, priority in enumerate(value[\u0027priority\u0027]):\n\t\tchillerName \u003d \u0027ASP {}\u0027.format(i+1)\n\t\tnewRow \u003d {\n\t\t\t\t\u0027index\u0027: i, # index\n\t\t\t\t\u0027chillerName\u0027: {\n\t\t\t\t\t\u0027value\u0027: chillerName, # chillerName\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027margin-left\u0027: 10\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027available\u0027: {\n\t\t\t\t\t\u0027value\u0027: value[\u0027statusTranslation\u0027][0].value[value[\u0027status\u0027][i][0]], # available\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027backgroundColor\u0027: \u0027transparent\u0027 if value[\u0027status\u0027][i][0] \u003d\u003d 1 else \u0027var(--input--disabled)\u0027\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027running\u0027: {\n\t\t\t\t\t\u0027value\u0027: value[\u0027statusTranslation\u0027][1].value[value[\u0027status\u0027][i][1]], # running\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027backgroundColor\u0027: \u0027transparent\u0027 if value[\u0027status\u0027][i][1] \u003d\u003d 1 else \u0027var(--input--disabled)\u0027\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027failed\u0027: {\n\t\t\t\t\t\u0027value\u0027: value[\u0027statusTranslation\u0027][2].value[value[\u0027status\u0027][i][2]], # failed\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027backgroundColor\u0027: \u0027transparent\u0027 if value[\u0027status\u0027][i][2] \u003d\u003d 0 else \u0027var(--error)\u0027\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027priority\u0027: value[\u0027priority\u0027][i], # priority\n\t\t\t\t\u0027oPriority\u0027: {\u0027value\u0027:value[\u0027oPriority\u0027][i], \u0027editable\u0027: True}, # oPriority\n\t\t\t\t\u0027runtime\u0027: value[\u0027runtime\u0027][i], #runtime\n\t\t\t\t\u0027reset\u0027:\u0027[Ignition_Common_IO_Gtwy]RT_Tags/ASP/ASP%s_RT_Reset\u0027%(i+1)\n\t\t\t}\n\t\toutput.append(newRow)\n\t\tif i \u003d\u003d value[\u0027nUnits\u0027]-1:\n\t\t\tbreak\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.data[0].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[0]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[10].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[10]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[11].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[11]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[12].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[12]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[13].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[13]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[14].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[14]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[15].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[15]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[16].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[16]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[17].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[17]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[18].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[18]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[19].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[19]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[1].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[1]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[20].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[20]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[21].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[21]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[22].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[22]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[23].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[23]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[24].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[24]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[25].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[25]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[26].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[26]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[27].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[27]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[28].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[28]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[29].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[29]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[2].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[2]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[30].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[30]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[31].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[31]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[32].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[32]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[33].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[33]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[34].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[34]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[35].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[35]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[36].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[36]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[37].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[37]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[38].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[38]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[39].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[39]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[3].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[3]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[40].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[40]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[41].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[41]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[42].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[42]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[43].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[43]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[44].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[44]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[45].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[45]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[46].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[46]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[47].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[47]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[4].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[4]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[5].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[5]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[6].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[6]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[7].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[7]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[8].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[8]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[9].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[9]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.pager.bottom": { + "binding": { + "config": { + "expression": "len({this.props.data}) \u003e {this.props.pager.initialOption}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "cells": { + "allowEditOn": "single-click" + }, + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "index", + "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": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "chillerName", + "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": "Chiller" + }, + "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": { + "border-right": "1px solid var(--border)", + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "available", + "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": "Available" + }, + "justify": "center", + "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": { + "border-right": "1px solid var(--border)", + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "running", + "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": "Running" + }, + "justify": "center", + "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": { + "border-right": "1px solid var(--border)", + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "failed", + "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": "Failed" + }, + "justify": "center", + "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": { + "border-right": "1px solid var(--border)", + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "priority", + "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": "center", + "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": "oPriority", + "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": "center", + "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": { + "border-left": "1px solid var(--border)", + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "runtime", + "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": "Priority" + }, + "justify": "center", + "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": { + "border-left": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "reset", + "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": "center", + "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": "Library/CommonObjects/resetButton", + "visible": true, + "width": "" + } + ], + "dragOrderable": false, + "enableHeader": false, + "enableHeaderGroups": true, + "headerGroups": [ + [ + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Chiller" + }, + { + "align": "center", + "justify": "left", + "span": 3, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Status" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Priority" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Operator Priority" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Runtime Hrs" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Runtime Reset" + } + ] + ], + "pager": { + "bottom": false, + "initialOption": 48 + }, + "rows": { + "striped": { + "color": { + "even": "#FFFFFF", + "odd": "#F4F4F4" + } + }, + "style": { + "borderBottomColor": "#ADA7A7", + "borderBottomStyle": "solid", + "borderBottomWidth": 0.1 + }, + "subviewExpansionMode": "single" + }, + "selection": { + "enableColumnSelection": true + }, + "style": { + "marginBottom": 5 + }, + "virtualized": false + }, + "type": "ia.display.table" + } + ], + "events": { + "dom": { + "onDoubleClick": { + "config": { + "script": "\ttable \u003d self.getChild(\"Table\")\n\tdata \u003d table.props.data\n\tpriorityTagPath \u003d self.view.custom.tagPath + \u0027/Ref_Chillers\u0027\n\toPriorityTagPath \u003d self.view.custom.tagPath + \u0027/ORef_Chillers\u0027\n\tpriority \u003d []\n\tfor i, rowData in enumerate(data):\n\t\toPriority \u003d rowData[\u0027oPriority\u0027]\n\t\tpriority.append(oPriority)\n\t\n\tdef myCallback(asyncReturn):\n\t for result in asyncReturn:\n\t # Do something if a bad qualified value was returned\n\t if not result.good:\n\t system.perspective.print(repr([\u0027result\u0027, result]))\n\t\n\tsystem.perspective.print(repr([\u0027priority\u0027, priority]))\n\tsystem.tag.writeBlocking([priorityTagPath, oPriorityTagPath], [priority, priority])\n\tself.view.custom.editPriority \u003d False" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "setONOFFBtn", + "pageScope": false, + "script": "\tenablePath \u003d self.view.custom.tagPath + \u0027/Control/System_EnableCMD\u0027\n\tenableTag \u003d system.tag.readBlocking([enablePath])[0].value\n\tif enableTag\u003d\u003dTrue:\n\t\tsystem.tag.writeBlocking([enablePath], [False])\n\telse:\n\t\tsystem.tag.writeAsync([enablePath], [True])\n\t\t\n\tsystem.perspective.closePopup(\u0027alertDialog\u0027)", + "sessionScope": true, + "viewScope": false + }, + { + "messageType": "CloseAlertDialog", + "pageScope": false, + "script": "\n\tsystem.perspective.closePopup(\u0027alertDialog\u0027)", + "sessionScope": true, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d776900d65441a30e6914179a6b051039c972d9893469b981f99577e1859c322 b/Gateways/FE/projects/.resources/d776900d65441a30e6914179a6b051039c972d9893469b981f99577e1859c322 new file mode 100644 index 0000000..28d665c --- /dev/null +++ b/Gateways/FE/projects/.resources/d776900d65441a30e6914179a6b051039c972d9893469b981f99577e1859c322 @@ -0,0 +1,157 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 150, + "width": 150 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Sparkline" + }, + "position": { + "height": 0.9724, + "width": 0.8061 + }, + "props": { + "points": [ + 59, + 80, + 80, + 100, + 68, + 62, + 87, + 72, + 42, + 49, + 58, + 53, + 57, + 51, + 42, + 32, + 37, + 30, + 24, + 38, + 57, + 29, + 18, + 32, + 38, + 24, + 24, + 24, + 20, + 21, + 29, + 32, + 26, + 18, + 32, + 36, + 30, + 36, + 29, + 32, + 29, + 28, + 41, + 20, + 28, + 58, + 18, + 24, + 16, + 2, + 22, + 17, + 22, + 21, + 12, + 22, + 14, + 13, + 11, + 20, + 16, + 16, + 18, + 12, + 28, + 28, + 32, + 16, + 16, + 24, + 16, + 20, + 14, + 18, + 12, + 26, + 17, + 11, + 30, + 16, + 9, + 20, + 42, + 13, + 13, + 24, + 17, + 13, + 20, + 12, + 14, + 13, + 14, + 71, + 82, + 20, + 16, + 20, + 22, + 17, + 5 + ] + }, + "type": "ia.display.sparkline" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "height": 0.9933, + "width": 0.3, + "x": 0.689 + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d777e93cf92669c61411064877c3a07d28142f0dc1da39326ff70dd4853353ea b/Gateways/FE/projects/.resources/d777e93cf92669c61411064877c3a07d28142f0dc1da39326ff70dd4853353ea new file mode 100644 index 0000000..48d9b2c Binary files /dev/null and b/Gateways/FE/projects/.resources/d777e93cf92669c61411064877c3a07d28142f0dc1da39326ff70dd4853353ea differ diff --git a/Gateways/FE/projects/.resources/d7d552f747d2e5671a0e402dc47b759e73757f3e581b189523616f3dd4174890 b/Gateways/FE/projects/.resources/d7d552f747d2e5671a0e402dc47b759e73757f3e581b189523616f3dd4174890 new file mode 100644 index 0000000..4153bab Binary files /dev/null and b/Gateways/FE/projects/.resources/d7d552f747d2e5671a0e402dc47b759e73757f3e581b189523616f3dd4174890 differ diff --git a/Gateways/FE/projects/.resources/d7d6eeae88a749653fe9dfc718d576f470f9ea95a30872a4037b854c9277d773 b/Gateways/FE/projects/.resources/d7d6eeae88a749653fe9dfc718d576f470f9ea95a30872a4037b854c9277d773 new file mode 100644 index 0000000..0f10263 Binary files /dev/null and b/Gateways/FE/projects/.resources/d7d6eeae88a749653fe9dfc718d576f470f9ea95a30872a4037b854c9277d773 differ diff --git a/Gateways/FE/projects/.resources/d8199f7e4768ac72cb43848409712800c9b69d634023964410ebb64fdd75304e b/Gateways/FE/projects/.resources/d8199f7e4768ac72cb43848409712800c9b69d634023964410ebb64fdd75304e new file mode 100644 index 0000000..8615fad --- /dev/null +++ b/Gateways/FE/projects/.resources/d8199f7e4768ac72cb43848409712800c9b69d634023964410ebb64fdd75304e @@ -0,0 +1,1129 @@ +{ + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/PQM_Main" + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "SEL-735", + "outputPower_1": 0, + "outputPower_2": 0, + "outputPower_3": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B", + "textColor": "var(--olGray)" + }, + "propConfig": { + "custom.tagPath": { + "binding": { + "config": { + "expression": "toStr({view.params.tagPath}+\u0027/PQM_Main\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower_1": { + "binding": { + "config": { + "path": "/root/FDR-1.props.params.outputPower" + }, + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.outputPower_2": { + "binding": { + "config": { + "path": "/root/FDR-2.props.params.outputPower" + }, + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.outputPower_3": { + "binding": { + "config": { + "path": "/root/FDR-3.props.params.outputPower" + }, + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 111, + "width": 479 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 58, + "x": 360, + "y": -8 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\ttext \u003d value.split(\u0027_\u0027)\n\treturn str(text[-2]) + \" \" + str(text[-1])", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "colorHandler": {} + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.parent.custom.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SES" + }, + "position": { + "height": 111, + "rotate": { + "anchor": "0% 0%" + }, + "width": 479 + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "type": "property" + } + }, + "custom.colorHandler.busIn": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../Main.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "custom.colorHandler.busOut": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../Main.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{this.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[2].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({this.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[2].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({this.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[2].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({this.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[2].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({this.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[2].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({this.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[2].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({this.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.busIn" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.busIn" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.busIn" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.busIn" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.busIn" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.busIn" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.busIn" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\treturn \"SES \" + str(value.split(\u0027_\u0027)[6])", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "307.5", + "x": "3.75", + "y": "11.235" + }, + { + "d": "M3.75,15.253l0,-4.018l3.853,-0l0,0.75l-3.103,-0l0,3.268l-0.75,-0Zm9.248,-4.018l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.789,-0l0,0.75l-7.706,-0l-0,-0.75l7.706,-0Zm5.395,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l-0,-0.75l7.707,-0Zm5.395,-0l-0,0.75l-2.312,-0l-0,-0.75l2.312,-0Zm10.789,-0l-0,0.75l-7.707,-0l0,-0.75l7.707,-0Zm5.395,-0l-0,0.75l-2.312,-0l-0,-0.75l2.312,-0Zm10.789,-0l0,0.75l-7.706,-0l-0,-0.75l7.706,-0Zm5.395,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.789,-0l0,0.75l-7.706,-0l-0,-0.75l7.706,-0Zm5.395,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l-0,-0.75l7.707,-0Zm5.395,-0l-0,0.75l-2.313,-0l0,-0.75l2.313,-0Zm10.788,-0l0,0.75l-7.706,-0l-0,-0.75l7.706,-0Zm5.396,-0l-0,0.75l-2.313,-0l0,-0.75l2.313,-0Zm10.789,-0l-0,0.75l-7.707,-0l-0,-0.75l7.707,-0Zm5.395,-0l-0,0.75l-2.312,-0l-0,-0.75l2.312,-0Zm10.789,-0l-0,0.75l-7.707,-0l0,-0.75l7.707,-0Zm5.394,-0l0,0.75l-2.311,-0l-0,-0.75l2.311,-0Zm10.79,-0l0,0.75l-7.706,-0l-0,-0.75l7.706,-0Zm5.395,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l0,-0.75l7.707,-0Zm5.394,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l-0,-0.75l7.707,-0Zm5.395,-0l-0,0.75l-2.313,-0l0,-0.75l2.313,-0Zm10.789,-0l0,0.75l-7.707,-0l0,-0.75l7.707,-0Zm5.395,-0l0,0.75l-2.312,-0l-0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l-0,-0.75l7.707,-0Zm5.394,-0l-0,0.75l-2.312,-0l-0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l-0,-0.75l7.707,-0Zm5.394,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l0,-0.75l7.707,-0Zm5.394,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l0,-0.75l7.707,-0Zm5.394,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.79,-0l0,0.75l-7.707,-0l0,-0.75l7.707,-0Zm5.395,-0l-0,0.75l-2.312,-0l-0,-0.75l2.312,-0Zm6.936,4.018l-0.75,-0c0,-0 0,-3.268 0,-3.268l-3.103,-0l-0,-0.75l3.853,-0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,-0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,-0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.853,7.232l-0,-0.75l3.103,-0l0,-3.268l0.75,0l0,4.018l-3.853,-0Zm-5.395,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.789,-0l-0,-0.75l7.706,-0l0,0.75l-7.706,-0Zm-5.395,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l0,0.75l-7.707,-0Zm-5.395,-0l0,-0.75l2.312,-0l0,0.75l-2.312,-0Zm-10.789,-0l0,-0.75l7.707,-0l-0,0.75l-7.707,-0Zm-5.395,-0l0,-0.75l2.312,-0l0,0.75l-2.312,-0Zm-10.789,-0l-0,-0.75l7.706,-0l0,0.75l-7.706,-0Zm-5.395,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.789,-0l-0,-0.75l7.706,-0l0,0.75l-7.706,-0Zm-5.395,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l0,0.75l-7.707,-0Zm-5.395,-0l0,-0.75l2.313,-0l-0,0.75l-2.313,-0Zm-10.788,-0l-0,-0.75l7.706,-0l0,0.75l-7.706,-0Zm-5.396,-0l0,-0.75l2.313,-0l-0,0.75l-2.313,-0Zm-10.789,-0l0,-0.75l7.707,-0l0,0.75l-7.707,-0Zm-5.395,-0l0,-0.75l2.312,-0l0,0.75l-2.312,-0Zm-10.789,-0l0,-0.75l7.707,-0l-0,0.75l-7.707,-0Zm-5.394,-0l-0,-0.75l2.311,-0l0,0.75l-2.311,-0Zm-10.79,-0l-0,-0.75l7.706,-0l0,0.75l-7.706,-0Zm-5.395,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l-0,0.75l-7.707,-0Zm-5.394,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l0,0.75l-7.707,-0Zm-5.395,-0l0,-0.75l2.313,-0l-0,0.75l-2.313,-0Zm-10.789,-0l-0,-0.75l7.707,-0l-0,0.75l-7.707,-0Zm-5.395,-0l-0,-0.75l2.312,-0l0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l0,0.75l-7.707,-0Zm-5.394,-0l0,-0.75l2.312,-0l0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l0,0.75l-7.707,-0Zm-5.394,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l-0,0.75l-7.707,-0Zm-5.394,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l-0,0.75l-7.707,-0Zm-5.394,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.79,-0l-0,-0.75l7.707,-0l-0,0.75l-7.707,-0Zm-5.395,-0l0,-0.75l2.312,-0l0,0.75l-2.312,-0Zm-6.936,-4.018l0.75,0c-0,0 -0,3.268 -0,3.268l3.103,-0l0,0.75l-3.853,-0l-0,-4.018Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,-0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "visibility": "visible", + "width": "315.74", + "x": "0", + "y": "7.485" + }, + { + "d": "M315.74,7.485l-0,75l-315.74,-0l0,-75l315.74,-0Zm-0.75,0.75l-314.24,-0c0,-0 0,73.5 -0,73.5l314.24,-0l-0,-73.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M315.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M314.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M314.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M314.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M319.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M314.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": 314.998, + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M313.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M316.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + }, + { + "elements": [ + { + "d": "M9.345,42.36l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M304.485,42.36l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M9.345,44.985l295.14,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M35.248,36.735l0,8.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,44.985l-0,4.522", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M157.5,44.985l-0,4.522", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M247.5,44.985l-0,4.522", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,329.901,14.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "314.849px", + "y": "14.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,356.939,17.9948)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "341.499px 342.657px ", + "y": "17.995px 17.995px " + }, + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "348.374px 349.532px ", + "y": "17.995px 17.995px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1200A, 34.5kV, 3P, 3W", + "type": "text", + "x": "314.546px", + "y": "17.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,349.145,21.7834)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": " 3", + "type": "tspan", + "x": "342.661px 343.819px ", + "y": "21.783px 21.783px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "25kAIC, NEMA 3R", + "type": "text", + "x": "314.874px", + "y": "21.783px" + } + ], + "id": "TAgID-Plate", + "name": "TAgID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd" + }, + "viewBox": "0 0 360 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Main" + }, + "position": { + "height": 56, + "width": 89, + "x": 23.2, + "y": 5.5 + }, + "propConfig": { + "props.params.boxColor": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.params.inputPower": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "type": "property" + } + }, + "props.params.outputPower": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed" + }, + "transforms": [ + { + "code": "\tif value and self.view.params.inputPower \u003d\u003d 1:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "toStr({view.params.tagPath}+\u0027/SEL_Main\u0027)" + }, + "type": "expr" + } + }, + "props.params.textColor": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "objectName": "SEL-751", + "outputPower": 0, + "textHandler": { + "txt1": "MAIN", + "txt2": "1200A", + "txt3": "NC" + } + }, + "path": "Library/Symbols/Electrical/Sym_SES_CB" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FDR-1" + }, + "position": { + "height": 59, + "width": 77, + "x": 66, + "y": 50 + }, + "propConfig": { + "props.params.boxColor": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.params.inputPower": { + "binding": { + "config": { + "path": "../Main.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.outputPower": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value and self.getSibling(\"Main\").props.params.outputPower \u003d\u003d 1:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "toStr({view.params.tagPath}+\u0027/SEL_FDR-1\u0027)" + }, + "type": "expr" + } + }, + "props.params.textColor": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "objectName": "SEL-751", + "outputPower": 0, + "textHandler": { + "txt1": "FDR-1", + "txt2": "1200A", + "txt3": "NC" + } + }, + "path": "Library/Symbols/Electrical/Sym_SES_CB" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FDR-2" + }, + "position": { + "height": 56, + "width": 77, + "x": 186, + "y": 50 + }, + "propConfig": { + "props.params.boxColor": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.params.inputPower": { + "binding": { + "config": { + "path": "../Main.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.outputPower": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value and self.getSibling(\"Main\").props.params.outputPower \u003d\u003d 1:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "toStr({view.params.tagPath}+\u0027/SEL_FDR-2\u0027)" + }, + "type": "expr" + } + }, + "props.params.textColor": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "objectName": "SEL-751", + "outputPower": 0, + "textHandler": { + "txt1": "FDR-2", + "txt2": "1200A", + "txt3": "NC" + } + }, + "path": "Library/Symbols/Electrical/Sym_SES_CB" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FDR-3" + }, + "position": { + "height": 60, + "width": 79, + "x": 306, + "y": 50 + }, + "propConfig": { + "props.params.boxColor": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.params.inputPower": { + "binding": { + "config": { + "path": "../Main.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.outputPower": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value and self.getSibling(\"Main\").props.params.outputPower \u003d\u003d 1:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "toStr({view.params.tagPath}+\u0027/SEL_FDR-3\u0027)" + }, + "type": "expr" + } + }, + "props.params.textColor": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "objectName": "SEL-751", + "outputPower": 0, + "textHandler": { + "txt1": "FDR-3", + "txt2": "1200A", + "txt3": "NC" + } + }, + "path": "Library/Symbols/Electrical/Sym_SES_CB" + }, + "type": "ia.display.view" + }, + { + "custom": { + "objectName": "SEL-735", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/PQM_Main" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.custom.tagPath\n\tobjectName \u003d self.custom.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD PQM1" + }, + "position": { + "height": 18, + "rotate": { + "anchor": "25% 50%" + }, + "width": 32, + "x": 96.2, + "y": 20.5 + }, + "props": { + "style": { + "backgroundColor": "#27669C", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "white", + "overflow": "visible" + }, + "text": "PQM", + "textStyle": { + "fontSize": 6, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root", + "tooltip": { + "width": 1 + } + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/PQM_Main/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.custom.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.tagPath": { + "binding": { + "config": { + "expression": "toStr({view.params.tagPath}+\u0027/PQM_Main\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d855380bb688fb1b0f226f17e3be476f72ac15ccd53dcc97b8745118a9802883 b/Gateways/FE/projects/.resources/d855380bb688fb1b0f226f17e3be476f72ac15ccd53dcc97b8745118a9802883 new file mode 100644 index 0000000..e8f9047 Binary files /dev/null and b/Gateways/FE/projects/.resources/d855380bb688fb1b0f226f17e3be476f72ac15ccd53dcc97b8745118a9802883 differ diff --git a/Gateways/FE/projects/.resources/d895ab1cc3093d6b6c36fe16569d08542aaf8b8b7fe74a8149c540f17945f211 b/Gateways/FE/projects/.resources/d895ab1cc3093d6b6c36fe16569d08542aaf8b8b7fe74a8149c540f17945f211 new file mode 100644 index 0000000..fc8434f --- /dev/null +++ b/Gateways/FE/projects/.resources/d895ab1cc3093d6b6c36fe16569d08542aaf8b8b7fe74a8149c540f17945f211 @@ -0,0 +1,21 @@ +control = ["L2 Operator", "L3 Operator", "Designer Development"] +config = ["L3 Operator", "Designer Development"] +almAck = ["L2 Operator", "L3 Operator", "Designer Development"] +almShelve = ["L3 Operator", "Designer Development"] + +def validate(currentRoles): + output = {} + output['control'] = False + output['config'] = False + output['almAck'] = False + output['almShelve'] = False + for role in currentRoles: + if role in control: + output['control'] = True + if role in config: + output['config'] = True + if role in almAck: + output['almAck'] = True + if role in almShelve: + output['almShelve'] = True + return output \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d89aedd96f291851d2e993794f938dd56913a4773017f5336443b1be41d9aef2 b/Gateways/FE/projects/.resources/d89aedd96f291851d2e993794f938dd56913a4773017f5336443b1be41d9aef2 new file mode 100644 index 0000000..eea27cf Binary files /dev/null and b/Gateways/FE/projects/.resources/d89aedd96f291851d2e993794f938dd56913a4773017f5336443b1be41d9aef2 differ diff --git a/Gateways/FE/projects/.resources/d8aac67ae059f88a81fe480d8b3415a9b9b5e4eb30cf62a4c0324f9b9b865f60 b/Gateways/FE/projects/.resources/d8aac67ae059f88a81fe480d8b3415a9b9b5e4eb30cf62a4c0324f9b9b865f60 new file mode 100644 index 0000000..627e5a8 Binary files /dev/null and b/Gateways/FE/projects/.resources/d8aac67ae059f88a81fe480d8b3415a9b9b5e4eb30cf62a4c0324f9b9b865f60 differ diff --git a/Gateways/FE/projects/.resources/d8cc47136fa084f2735c53d069953cb604178d4e7cfdcb533b79c65eb01cbb1e b/Gateways/FE/projects/.resources/d8cc47136fa084f2735c53d069953cb604178d4e7cfdcb533b79c65eb01cbb1e new file mode 100644 index 0000000..a91b344 Binary files /dev/null and b/Gateways/FE/projects/.resources/d8cc47136fa084f2735c53d069953cb604178d4e7cfdcb533b79c65eb01cbb1e differ diff --git a/Gateways/FE/projects/.resources/d8f8d046f3eda91f448039652cefacd783138937212dc4853070c5cbc4596b0a b/Gateways/FE/projects/.resources/d8f8d046f3eda91f448039652cefacd783138937212dc4853070c5cbc4596b0a new file mode 100644 index 0000000..41dc867 Binary files /dev/null and b/Gateways/FE/projects/.resources/d8f8d046f3eda91f448039652cefacd783138937212dc4853070c5cbc4596b0a differ diff --git a/Gateways/FE/projects/.resources/d934cae2029c0909fa0511a4343f1584effc52291c08489e1470c33beafe7469 b/Gateways/FE/projects/.resources/d934cae2029c0909fa0511a4343f1584effc52291c08489e1470c33beafe7469 new file mode 100644 index 0000000..0a74829 Binary files /dev/null and b/Gateways/FE/projects/.resources/d934cae2029c0909fa0511a4343f1584effc52291c08489e1470c33beafe7469 differ diff --git a/Gateways/FE/projects/.resources/d93fdb9d5bf9b5f4770401b021f7e31beb6781203aa08775284fa1f394013a30 b/Gateways/FE/projects/.resources/d93fdb9d5bf9b5f4770401b021f7e31beb6781203aa08775284fa1f394013a30 new file mode 100644 index 0000000..086a8fe --- /dev/null +++ b/Gateways/FE/projects/.resources/d93fdb9d5bf9b5f4770401b021f7e31beb6781203aa08775284fa1f394013a30 @@ -0,0 +1,315 @@ +{ + "custom": { + "alarm": true, + "alarmSeverity": 2, + "key": true, + "running": true + }, + "params": { + "embedded": false, + "ht_tp": "value", + "label": "value", + "objectName": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_DHUM3", + "tt_tp": "value" + }, + "propConfig": { + "custom.alarm": { + "binding": { + "config": { + "expression": "if({view.custom.alarmSeverity}\u003e0, true, false)" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.ht_tp": { + "paramDirection": "input", + "persistent": true + }, + "params.label": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.tt_tp": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 95, + "width": 100 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\t#tagPath \u003d self.view.params.tagPath\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({view.custom.alarm} \u003d true, \"var(--state-faulted)\", \r\nif({view.custom.running} \u003d true, \"var(--state-running)\",\t\"var(--state-standby)\"))" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.label" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "if({view.custom.alarm} \u003d true, \"white\", \"black\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "overflow": "visible" + }, + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tt_tp\n\tobjectName \u003d \"AnalogInROCRS485\"\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "uppterTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "enabled": false, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tt_tp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "EU": "degF", + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.ht_tp\n\tobjectName \u003d \"AnalogInROCRS485\"\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "upperHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.ht_tp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInROCRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "upperTransmitters" + }, + "position": { + "basis": "75px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d9a830c194d78e9b36a1bad81b3ec6c0ad80c74beb141ff4d854e761805660e8 b/Gateways/FE/projects/.resources/d9a830c194d78e9b36a1bad81b3ec6c0ad80c74beb141ff4d854e761805660e8 new file mode 100644 index 0000000..381baf7 --- /dev/null +++ b/Gateways/FE/projects/.resources/d9a830c194d78e9b36a1bad81b3ec6c0ad80c74beb141ff4d854e761805660e8 @@ -0,0 +1,456 @@ +{ + "custom": { + "Temp": [ + null, + null, + null + ], + "gradient": [ + null, + null, + null + ], + "inMax": 5, + "inMin": -5, + "paths": [ + null, + null, + null + ] + }, + "params": { + "Aisle": "H11", + "SP": 65, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_" + }, + "propConfig": { + "custom.Temp": { + "persistent": true + }, + "custom.Temp[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Val" + }, + "type": "tag" + } + }, + "custom.Temp[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.paths[1]}" + }, + "tagPath": "{1}/Val" + }, + "type": "tag" + } + }, + "custom.Temp[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "2": "{view.custom.paths[2]}" + }, + "tagPath": "{2}/Val" + }, + "type": "tag" + } + }, + "custom.gradient": { + "persistent": true + }, + "custom.gradient[0]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[0]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 5\n\tif value\u003cself.custom.inMin: value \u003d -5\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[1]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[1]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[2]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[2]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.inMax": { + "persistent": true + }, + "custom.inMin": { + "persistent": true + }, + "custom.paths": { + "persistent": true + }, + "custom.paths[0]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT01\")" + }, + "type": "expr" + } + }, + "custom.paths[1]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT02\")" + }, + "type": "expr" + } + }, + "custom.paths[2]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT03\")" + }, + "type": "expr" + } + }, + "params.Aisle": { + "paramDirection": "input", + "persistent": true + }, + "params.SP": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "uppterTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT01\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "upperTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "midTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[1]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT02\")" + }, + "type": "expr" + } + } + }, + "props": { + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "midTransmitters" + }, + "position": { + "basis": "60%" + }, + "props": { + "alignContent": "space-between", + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "lowerTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[2]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT03\")" + }, + "type": "expr" + } + } + }, + "props": { + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "lowerTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.backgroundImage": { + "binding": { + "config": { + "expression": "concat(\"linear-gradient(to bottom, rgba(210.0, 78.0,0.0, \",{view.custom.gradient[0]},\"), rgba(210.0, 78.0, 0.0, \",{view.custom.gradient[1]},\"),rgba(210.0, 78.0, 0.0, \",{view.custom.gradient[2]},\"))\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible", + "paddingBottom": "2px", + "paddingLeft": "2px", + "paddingRight": "2px", + "paddingTop": "2px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/d9d89cf0252596157fc6953900200246b795503b9c71f67ad5462f8b1e53a3c5 b/Gateways/FE/projects/.resources/d9d89cf0252596157fc6953900200246b795503b9c71f67ad5462f8b1e53a3c5 new file mode 100644 index 0000000..8031de4 --- /dev/null +++ b/Gateways/FE/projects/.resources/d9d89cf0252596157fc6953900200246b795503b9c71f67ad5462f8b1e53a3c5 @@ -0,0 +1 @@ +def doTrace(request, session): diff --git a/Gateways/FE/projects/.resources/d9de68aeb5245da05bafbb5f5213649f78a40a01aa77fb2d04d2fa0007861fc9 b/Gateways/FE/projects/.resources/d9de68aeb5245da05bafbb5f5213649f78a40a01aa77fb2d04d2fa0007861fc9 new file mode 100644 index 0000000..d3f1178 --- /dev/null +++ b/Gateways/FE/projects/.resources/d9de68aeb5245da05bafbb5f5213649f78a40a01aa77fb2d04d2fa0007861fc9 @@ -0,0 +1,467 @@ +{ + "custom": { + "XA": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2/Device Fault", + "XAH": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2/Alarm High", + "XAHH": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2/Alarm High High" + }, + "params": { + "embedded": false, + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "propConfig": { + "custom.XA": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value} + \u0027/Device Fault\u0027", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.XAH": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value} + \u0027/Alarm High\u0027", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.XAHH": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value} + \u0027/Alarm High High\u0027", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d \n\tobjectName \u003d \u0027DiscreteIn\u0027\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.XA}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.XA}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Device Fault", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.custom.XAH\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.XAH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.XAH}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Alarm High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.custom.XAHH\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.XAHH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.XAHH}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA03}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Alarm High High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "132px" + }, + "props": { + "justify": "space-around", + "style": { + "gap": 5, + "padding": 5 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/da4c3867e491c0c13538d3ccd30281242d583c08c13ce7f800db53e585176fb9 b/Gateways/FE/projects/.resources/da4c3867e491c0c13538d3ccd30281242d583c08c13ce7f800db53e585176fb9 new file mode 100644 index 0000000..820f86e --- /dev/null +++ b/Gateways/FE/projects/.resources/da4c3867e491c0c13538d3ccd30281242d583c08c13ce7f800db53e585176fb9 @@ -0,0 +1,843 @@ +{ + "custom": {}, + "params": { + "inPower": 1, + "inPower2": 1 + }, + "propConfig": { + "params.inPower": { + "paramDirection": "input", + "persistent": true + }, + "params.inPower2": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 143, + "width": 115 + } + }, + "root": { + "children": [ + { + "custom": { + "ColorHandler": { + "Box": "var(--olGray)" + } + }, + "meta": { + "name": "FP" + }, + "position": { + "height": 143, + "width": 115 + }, + "propConfig": { + "custom.ColorHandler.ATS_Out": { + "binding": { + "config": { + "expression": "{view.params.inPower} || {view.params.inPower2}" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "custom.ColorHandler.ATS_Src01": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.ATS_Src02": { + "binding": { + "config": { + "path": "view.params.inPower2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.CB": { + "binding": { + "config": { + "expression": "{view.params.inPower} || {view.params.inPower2}" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "custom.ColorHandler.Out": { + "binding": { + "config": { + "expression": "{view.params.inPower} || {view.params.inPower2}" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Out" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[7].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.ATS_Src01" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.ATS_Src02" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].visibility": { + "binding": { + "config": { + "expression": "{view.params.inPower2} \u0026\u0026 !{view.params.inPower}" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.ATS_Src02" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.ATS_Src02" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.ATS_Src01" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.ATS_Src01" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.ATS_Out" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Out" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Out" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Out" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Out" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "75", + "id": "Ext", + "name": "Ext", + "type": "rect", + "width": "37.5", + "x": "0", + "y": "-0" + }, + { + "d": "M0,4.464l0,-4.464l4.464,-0l0,0.75l-3.714,0l-0,3.714l-0.75,0Zm10.714,-4.464l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm12.5,-0l0,0.75l-8.928,-0l-0,-0.75l8.928,-0Zm6.25,-0l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm8.036,4.464l-0.75,0l0,-3.714l-3.714,-0l-0,-0.75l4.464,-0l-0,4.464Zm-0,6.25l-0.75,0l-0,-2.678l0.75,-0l-0,2.678Zm-0,12.5l-0.75,0l-0,-8.928l0.75,-0l-0,8.928Zm-0,6.25l-0.75,0l-0,-2.678l0.75,-0l-0,2.678Zm-0,12.5l-0.75,0l-0,-8.928l0.75,-0l-0,8.928Zm-0,6.25l-0.75,0l-0,-2.678l0.75,-0l-0,2.678Zm-0,12.5l-0.75,0l-0,-8.928l0.75,-0l-0,8.928Zm-0,6.25l-0.75,0l-0,-2.678l0.75,-0l-0,2.678Zm-4.464,8.036l-0,-0.75l3.714,-0l-0,-3.714l0.75,-0l-0,4.464l-4.464,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-12.5,-0l-0,-0.75l8.928,-0l0,0.75l-8.928,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-8.036,-4.464l0.75,-0l-0,3.714l3.714,-0l0,0.75l-4.464,-0l-0,-4.464Zm-0,-6.25l0.75,-0l-0,2.678l-0.75,0l-0,-2.678Zm-0,-12.5l0.75,-0l-0,8.928l-0.75,0l-0,-8.928Zm-0,-6.25l0.75,-0l-0,2.678l-0.75,0l-0,-2.678Zm-0,-12.5l0.75,-0l-0,8.928l-0.75,0l-0,-8.928Zm-0,-6.25l0.75,-0l-0,2.678l-0.75,0l-0,-2.678Zm-0,-12.5l0.75,-0l-0,8.928l-0.75,0l-0,-8.928Zm-0,-6.25l0.75,-0l-0,2.678l-0.75,0l-0,-2.678Z", + "name": "path", + "type": "path" + }, + { + "d": "M0,37.875l-0,-0.75l4.464,0l0,0.75l-4.464,0Zm8.036,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm6.25,0l-0,-0.75l8.928,0l0,0.75l-8.928,0Zm12.5,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm6.25,0l-0,-0.75l4.464,0l-0,0.75l-4.464,0Z", + "id": "Int", + "name": "Int", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "d": "M23.546,55.469c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M19.886,55.469c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.761,54.344c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M18.761,63.344c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M18.75,65.226l0,28.464", + "fill": { + "paint": "transparent" + }, + "id": "Out", + "name": "Out", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,62.0887,55.4771)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px", + "fontWeight": "700" + }, + "text": "FIRE PUMP", + "type": "text", + "x": "39.443px", + "y": "55.477px" + }, + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,68.4329,59.2779)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px", + "fontWeight": "700" + }, + "text": "CONTROLLER", + "type": "text", + "x": "39.553px", + "y": "59.278px" + }, + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,63.5021,62.9893)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "51.478px 52.633px ", + "y": "62.989px 62.989px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px" + }, + "text": "125HP480V", + "type": "text", + "x": "39.297px", + "y": "62.989px" + }, + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,63.6158,66.7779)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px" + }, + "text": "3PH, 65kAIC", + "type": "text", + "x": "39.575px", + "y": "66.778px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "d": "M18.75,29.047l-7.812,-16.217", + "fill": { + "paint": "transparent" + }, + "id": "SRC01", + "name": "SRC01", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,29.148l7.598,-16.318", + "fill": { + "paint": "transparent" + }, + "id": "SRC02", + "name": "SRC02", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "27.511", + "cy": "13.839", + "id": "T21", + "name": "T21", + "r": "1.125", + "type": "circle" + }, + { + "d": "M27.511,12.714c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "9.796", + "cy": "13.839", + "id": "T11", + "name": "T11", + "r": "1.125", + "type": "circle" + }, + { + "d": "M9.796,12.714c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M18.75,29.047l0,25.713", + "fill": { + "paint": "transparent" + }, + "id": "Out1", + "name": "Out1", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,71.0241,21.7779)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "ATS", + "type": "tspan", + "x": "63.015px 65.71px 68.25px ", + "y": "21.778px 21.778px 21.778px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px", + "fontWeight": "700" + }, + "text": "FIRE PUMP ", + "type": "text", + "x": "39.443px", + "y": "21.778px" + }, + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,74.907,25.5279)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px" + }, + "text": "125HP/250A, 480V", + "type": "text", + "x": "39.297px", + "y": "25.528px" + }, + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,80.7212,29.2799)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px" + }, + "text": "3PH, 3-POLE, 65kAIC", + "type": "text", + "x": "39.575px", + "y": "29.28px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "ATS", + "name": "ATS", + "type": "group" + }, + { + "elements": [ + { + "cx": "18.75", + "cy": "97.5", + "fill": { + "paint": "transparent" + }, + "name": "ellipse", + "rx": "3.857", + "ry": "3.81", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "ellipse" + }, + { + "d": "M25.468,96.062l-3.494,3.522", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M15.736,95.083l-3.377,3.635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,30.0148,105.56)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px", + "fontWeight": "700" + }, + "text": "FIRE PUMP", + "type": "text", + "x": "7.369px", + "y": "105.56px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,21.416,98.6776)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "125", + "type": "text", + "x": "15.854px", + "y": "98.678px" + } + ], + "id": "Motor", + "name": "Motor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 87 108" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/da5aad54977128c341cbbc97dd072314d05d3e1385e3a4bc5a37799860cf3714 b/Gateways/FE/projects/.resources/da5aad54977128c341cbbc97dd072314d05d3e1385e3a4bc5a37799860cf3714 new file mode 100644 index 0000000..e109359 --- /dev/null +++ b/Gateways/FE/projects/.resources/da5aad54977128c341cbbc97dd072314d05d3e1385e3a4bc5a37799860cf3714 @@ -0,0 +1,627 @@ +{ + "custom": { + "OCmd": {}, + "OCmd_MB": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_DHUM3" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Run" + }, + "type": "tag" + } + }, + "custom.OCmd_MB": { + "persistent": true + }, + "custom.OCmd_MB.DHUM_Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/DHUM Reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StartBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StopBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd_MB.DHUM_Reset \u003d True\n\tself.view.custom.OCmd.Reset \u003d True\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RstBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd_MB.Reset" + }, + "type": "property" + } + } + }, + "props": { + "text": "Alarm Reset" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "EnableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd_MB.Enable" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.OCmd_MB.Enable" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Disable" + }, + { + "input": 0, + "output": "Enable" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px", + "display": false + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/da5b87f08b310ee65981df01b5e22962f992cf9fbbe20a25144fa36b639d2ac6 b/Gateways/FE/projects/.resources/da5b87f08b310ee65981df01b5e22962f992cf9fbbe20a25144fa36b639d2ac6 new file mode 100644 index 0000000..c38c298 Binary files /dev/null and b/Gateways/FE/projects/.resources/da5b87f08b310ee65981df01b5e22962f992cf9fbbe20a25144fa36b639d2ac6 differ diff --git a/Gateways/FE/projects/.resources/da8e544fabe0a240fe38aac1b2b1225f3ea0da8a1c2b545c782395abeac16d01 b/Gateways/FE/projects/.resources/da8e544fabe0a240fe38aac1b2b1225f3ea0da8a1c2b545c782395abeac16d01 new file mode 100644 index 0000000..f49faa5 --- /dev/null +++ b/Gateways/FE/projects/.resources/da8e544fabe0a240fe38aac1b2b1225f3ea0da8a1c2b545c782395abeac16d01 @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947461621 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947461621 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/db5619d1988ac7c5676488090e1bd52418c2484d273834aba18d5c08a9065007 b/Gateways/FE/projects/.resources/db5619d1988ac7c5676488090e1bd52418c2484d273834aba18d5c08a9065007 new file mode 100644 index 0000000..0378505 Binary files /dev/null and b/Gateways/FE/projects/.resources/db5619d1988ac7c5676488090e1bd52418c2484d273834aba18d5c08a9065007 differ diff --git a/Gateways/FE/projects/.resources/db778a245e7311029ded96982b11274a9963bcb71be63547c31356d0a3ce1bbb b/Gateways/FE/projects/.resources/db778a245e7311029ded96982b11274a9963bcb71be63547c31356d0a3ce1bbb new file mode 100644 index 0000000..e4b7029 --- /dev/null +++ b/Gateways/FE/projects/.resources/db778a245e7311029ded96982b11274a9963bcb71be63547c31356d0a3ce1bbb @@ -0,0 +1,354 @@ +{ + "custom": { + "Mode": null, + "OCmd_Reset": null, + "OCmd_Run": null, + "System_HOA": null + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_SYSTEM" + }, + "propConfig": { + "custom.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/MODE" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.OCmd_Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Reset" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.OCmd_Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Run" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.System_HOA": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/System HOA" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd_Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.custom.System_HOA} \u003d True,\r\n\tif({view.custom.Mode}\u003d False ,\r\n\t\tif({view.params.auth.control}\u003dTrue,True,False),\r\n\tFalse),\r\nFalse)" + }, + "type": "expr" + } + } + }, + "props": { + "primary": false, + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd_Run \u003d False\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.custom.System_HOA} \u003d True ,\r\n\tif({view.custom.Mode}\u003d False,\r\n\t\tif({view.params.auth.control} \u003d True ,True, False),\r\n\tFalse),\r\nFalse)" + }, + "type": "expr" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd_Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.custom.System_HOA} \u003d True ,if({view.custom.Mode}\u003d False ,if({view.params.auth.control} \u003d True,True,False),False),False)" + }, + "type": "expr" + } + } + }, + "props": { + "primary": false, + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd_Run \u003d False\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.custom.System_HOA} \u003d True ,if({view.custom.Mode}\u003d False ,if({view.params.auth.control} \u003d True , True, False),False),False)" + }, + "type": "expr" + } + } + }, + "props": { + "primary": false, + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd_Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.custom.System_HOA} \u003d True ,if({view.custom.Mode}\u003d False , if({view.params.auth.control} \u003d True,True,False),False),False)" + }, + "type": "expr" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/db93b2930dd6a8fd7657110ebfab66320b329c64463957da715502818d5e4a5c b/Gateways/FE/projects/.resources/db93b2930dd6a8fd7657110ebfab66320b329c64463957da715502818d5e4a5c new file mode 100644 index 0000000..2f66fda --- /dev/null +++ b/Gateways/FE/projects/.resources/db93b2930dd6a8fd7657110ebfab66320b329c64463957da715502818d5e4a5c @@ -0,0 +1,99 @@ +{ + "custom": {}, + "params": { + "column": "", + "rowIndex": "", + "source": "", + "value": 0 + }, + "propConfig": { + "params.column": { + "paramDirection": "input", + "persistent": true + }, + "params.rowIndex": { + "paramDirection": "input", + "persistent": true + }, + "params.source": { + "paramDirection": "input", + "persistent": true + }, + "params.value": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "\"transparent\"" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "path": "view.params.value" + }, + "type": "property" + }, + "onChange": { + "enabled": null, + "script": "\t#if origin \u003d\u003d \u0027Browser\u0027:\n\t\tsystem.perspective.sendMessage(\u0027updateTableCell\u0027, payload\u003d{\n\t\t\t\u0027source\u0027: self.view.params.source, \n\t\t\t\u0027value\u0027: currentValue.value,\n\t\t\t\u0027rowIndex\u0027: self.view.params.rowIndex, \n\t\t\t\u0027column\u0027: self.view.params.column\n\t\t})\n\t\tself.props.style.backgroundColor \u003d \u0027lightBlue\u0027" + } + } + }, + "props": { + "align": "center", + "spinner": { + "enabled": false + }, + "style": { + "borderColor": "#FFFFFF00" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "refreshTable", + "pageScope": true, + "script": "\tself.refreshBinding(\"props.style.backgroundColor\")", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "padding": "1px 2px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/db94295906046fc4960df06ec9e8ab7d2d8e7d2dd1406b990c7b11318b8c1267 b/Gateways/FE/projects/.resources/db94295906046fc4960df06ec9e8ab7d2d8e7d2dd1406b990c7b11318b8c1267 new file mode 100644 index 0000000..61d99c0 Binary files /dev/null and b/Gateways/FE/projects/.resources/db94295906046fc4960df06ec9e8ab7d2d8e7d2dd1406b990c7b11318b8c1267 differ diff --git a/Gateways/FE/projects/.resources/dc4d650a1059c185f648cb975805453472a9a0786dd3de22d13514f1bff0b027 b/Gateways/FE/projects/.resources/dc4d650a1059c185f648cb975805453472a9a0786dd3de22d13514f1bff0b027 new file mode 100644 index 0000000..75e6ebb Binary files /dev/null and b/Gateways/FE/projects/.resources/dc4d650a1059c185f648cb975805453472a9a0786dd3de22d13514f1bff0b027 differ diff --git a/Gateways/FE/projects/.resources/dc5311db8fcef67d20689c8f4af29c99cc3be049072b2effea3c948241418973 b/Gateways/FE/projects/.resources/dc5311db8fcef67d20689c8f4af29c99cc3be049072b2effea3c948241418973 new file mode 100644 index 0000000..9c4ca15 Binary files /dev/null and b/Gateways/FE/projects/.resources/dc5311db8fcef67d20689c8f4af29c99cc3be049072b2effea3c948241418973 differ diff --git a/Gateways/FE/projects/.resources/dc63ec22b91ff2480ed6fc288e481d4531b5df53d19f39eab3d7abdddc7997ee b/Gateways/FE/projects/.resources/dc63ec22b91ff2480ed6fc288e481d4531b5df53d19f39eab3d7abdddc7997ee new file mode 100644 index 0000000..6adfae8 Binary files /dev/null and b/Gateways/FE/projects/.resources/dc63ec22b91ff2480ed6fc288e481d4531b5df53d19f39eab3d7abdddc7997ee differ diff --git a/Gateways/FE/projects/.resources/dc77ef6f4a32da80f9b125f1354a9d5b7eb78026b57075e1efb08069ca688d3c b/Gateways/FE/projects/.resources/dc77ef6f4a32da80f9b125f1354a9d5b7eb78026b57075e1efb08069ca688d3c new file mode 100644 index 0000000..46f25dc --- /dev/null +++ b/Gateways/FE/projects/.resources/dc77ef6f4a32da80f9b125f1354a9d5b7eb78026b57075e1efb08069ca688d3c @@ -0,0 +1,854 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "inputPower_E": 1, + "inputPower_N": 0, + "objectName": "ATS", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_ATS", + "textColor": "var(--olGray)", + "textHandler": { + "ATS1": "N", + "ATS2": "E", + "ATS3": "L" + } + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower_E": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower_N": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "S1": "{/root/SWBD_ATS.custom.ATSOnS1}", + "S2": "{/root/SWBD_ATS.custom.ATSOnS2}", + "inPowerE": "{view.params.inputPower_E}", + "inPowerN": "{view.params.inputPower_N}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t#if value[\u0027inPowerN\u0027] or value[\u0027inPowerE\u0027] or value[\u0027S1\u0027] or (value[\u0027S2\u0027] is None):\n\t#\treturn 0\n\tif (value[\u0027inPowerN\u0027]\u003d\u003d1) and (value[\u0027S1\u0027]\u003d\u003dTrue):\n\t\treturn 1\n\telif (value[\u0027inPowerE\u0027]\u003d\u003d1) and (value[\u0027S2\u0027]\u003d\u003dTrue):\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 65 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "SWBD_ATS" + }, + "position": { + "height": 50, + "width": 65 + }, + "propConfig": { + "custom.ATSOnS1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/On Source 1" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.ATSOnS2": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\u0027/On Source 2\u0027) \u0026\u0026 !tag({view.params.tagPath}+\u0027/On Source 1\u0027)" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "custom.colorHandler.ATSOut": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.inputPower_N} \u0026\u0026 {this.custom.ATSOnS1},\u0027--olRed\u0027,\r\nif({view.params.inputPower_E} \u0026\u0026 {this.custom.ATSOnS2},\u0027--olRed\u0027,\u0027--olGreen\u0027))\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "custom.colorHandler.emergencyIn": { + "binding": { + "config": { + "expression": "{view.params.inputPower_E}" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "custom.colorHandler.normalIn": { + "binding": { + "config": { + "expression": "{view.params.inputPower_N}" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.normalIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "struct": { + "S1": "{this.custom.ATSOnS1}", + "S2": "{this.custom.ATSOnS2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027S1\u0027] or value[\u0027S2\u0027]) is None:\n\t\treturn \u0027hidden\u0027\n\tif value[\u0027S1\u0027] and not value[\u0027S2\u0027]:\n\t\treturn \u0027visible\u0027\n\treturn \u0027hidden\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.emergencyIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].visibility": { + "binding": { + "config": { + "struct": { + "S1": "{this.custom.ATSOnS1}", + "S2": "{this.custom.ATSOnS2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027S1\u0027] or value[\u0027S2\u0027]) is None:\n\t\treturn \u0027hidden\u0027\n\tif value[\u0027S2\u0027] and not value[\u0027S1\u0027]:\n\t\treturn \u0027visible\u0027\n\treturn \u0027hidden\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.normalIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.normalIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.emergencyIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.emergencyIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.ATSOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[7].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.ATSOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[8].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.ATS3" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.ATS1" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.ATS2" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.ATSOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.ATSOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.ATSOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[2].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[2].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[2].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[2].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[2].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[2].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M13.845,26.153l-7.91,-12.202", + "fill": { + "paint": "transparent" + }, + "id": "SRC01", + "name": "SRC01", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M13.845,26.153l7.694,-12.278", + "fill": { + "paint": "transparent" + }, + "id": "SRC02", + "name": "SRC02", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "4.875", + "cy": "15", + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "d": "M4.875,13.875c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "22.5", + "cy": "15", + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,13.875c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "13.845", + "cy": "26.153", + "id": "T3", + "name": "T3", + "r": "1.125", + "type": "circle" + }, + { + "d": "M13.845,25.028c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,17.3646,28.4814)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "15.047px", + "y": "28.481px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,9.86509,14.5291)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "6.856px", + "y": "14.529px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,26.9647,14.5291)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "24.186px", + "y": "14.529px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "ATS", + "name": "ATS", + "type": "group" + }, + { + "elements": [ + { + "cx": "35.977", + "cy": "15", + "id": "T11", + "name": "T11", + "r": "1.125", + "type": "circle" + }, + { + "d": "M35.977,13.875c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M35.977,15l-0,19.716l-22.132,0l0,-8.563", + "fill": { + "paint": "transparent" + }, + "id": "Bar", + "name": "Bar", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "30", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "41.25", + "x": "0", + "y": "7.5" + }, + { + "d": "M41.25,7.5l-0,30l-41.25,0l0,-30l41.25,0Zm-0.75,0.75l-39.75,0l-0,28.5l39.75,-0l0,-28.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M41.608,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M40.913,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M40.605,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M40.876,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M46.057,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M40.876,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "41.248", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M39.462,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M42.347,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 49 38" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/dc971ca50f8b19b5874b8a5d80dd972d800de523ecc08c646aab690aee174bac b/Gateways/FE/projects/.resources/dc971ca50f8b19b5874b8a5d80dd972d800de523ecc08c646aab690aee174bac new file mode 100644 index 0000000..1e74136 --- /dev/null +++ b/Gateways/FE/projects/.resources/dc971ca50f8b19b5874b8a5d80dd972d800de523ecc08c646aab690aee174bac @@ -0,0 +1,122 @@ +{ + "custom": {}, + "params": { + "GoTo": "/DH101", + "zoom": "115%" + }, + "propConfig": { + "params.GoTo": { + "paramDirection": "input", + "persistent": true + }, + "params.zoom": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1310, + "width": 1750 + } + }, + "root": { + "children": [ + { + "meta": { + "contextMenu": { + "style": { + "overflow": "hidden" + } + }, + "name": "Pan Zoom iFrame" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.inputs.height": { + "binding": { + "config": { + "path": "view.params.zoom" + }, + "type": "property" + } + }, + "props.params.inputs.pageId": { + "binding": { + "config": { + "path": "page.props.pageId" + }, + "type": "property" + } + }, + "props.params.inputs.targetURL": { + "binding": { + "config": { + "path": "view.params.GoTo" + }, + "type": "property" + } + }, + "props.params.inputs.width": { + "binding": { + "config": { + "path": "view.params.zoom" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "inputs": { + "targetDetailedURL": "/Oneline-UT/37d94815" + } + }, + "path": "Library/Layouts/iFrame/Pan Zoom iFrame/Pan Zoom iFrame" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden", + "touch-action": "none" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopup", + "pageScope": true, + "script": "\tutils.nav.eqPopup(self, payload)", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "LLSPopup", + "pageScope": true, + "script": "\tutils.nav.LLSPopup(self, payload)", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "iFrameNav", + "pageScope": true, + "script": "\t# change the tree selection, breadcrumb, and navigate\n\tutils.nav._nav(payload[\"target\"], payload[\"params\"], breadcrumb\u003d payload[\"breadcrumb\"])", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/dce46af0310a6fa1e111dada20b0721567e4d5e17db651cc31de5f3510b6744c b/Gateways/FE/projects/.resources/dce46af0310a6fa1e111dada20b0721567e4d5e17db651cc31de5f3510b6744c new file mode 100644 index 0000000..4f153e0 Binary files /dev/null and b/Gateways/FE/projects/.resources/dce46af0310a6fa1e111dada20b0721567e4d5e17db651cc31de5f3510b6744c differ diff --git a/Gateways/FE/projects/.resources/dd24c6b58781d1443387a124e6e3810c53e42c3d49729dc2aedcf1955da3ff82 b/Gateways/FE/projects/.resources/dd24c6b58781d1443387a124e6e3810c53e42c3d49729dc2aedcf1955da3ff82 new file mode 100644 index 0000000..a6c29b7 Binary files /dev/null and b/Gateways/FE/projects/.resources/dd24c6b58781d1443387a124e6e3810c53e42c3d49729dc2aedcf1955da3ff82 differ diff --git a/Gateways/FE/projects/.resources/dd80514a23168dc5561d2c92ddb32d34bd1690aa46a6a3da0174fb83b38a661d b/Gateways/FE/projects/.resources/dd80514a23168dc5561d2c92ddb32d34bd1690aa46a6a3da0174fb83b38a661d new file mode 100644 index 0000000..e584f93 Binary files /dev/null and b/Gateways/FE/projects/.resources/dd80514a23168dc5561d2c92ddb32d34bd1690aa46a6a3da0174fb83b38a661d differ diff --git a/Gateways/FE/projects/.resources/de162657017afbd6aabd21d91c90b108dc425fa49653122eafe5dedf01b788d9 b/Gateways/FE/projects/.resources/de162657017afbd6aabd21d91c90b108dc425fa49653122eafe5dedf01b788d9 new file mode 100644 index 0000000..751253f --- /dev/null +++ b/Gateways/FE/projects/.resources/de162657017afbd6aabd21d91c90b108dc425fa49653122eafe5dedf01b788d9 @@ -0,0 +1,6026 @@ +{ + "custom": { + "Available": [ + "ER1185", + "MDF1187", + "ER1160", + "IDF1174", + "IDF1154", + "MDF1149", + "FS1285", + "IDF1286", + "ER1287", + "ER1284", + "IDF1274", + "IDF1264", + "ER1128", + "MR1125", + "ER1229", + "IDF1218", + "IDF1122", + "FS1232", + "MR1132" + ], + "ColorHandler": { + "Wall": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "ER1128": "#BAEDFF", + "ER1160": "#BAEDFF", + "ER1185": "#BAEDFF", + "ER1229": "#BAEDFF", + "ER1284": "#BAEDFF", + "ER1287": "#BAEDFF", + "FS1232": "#BAEDFF", + "FS1285": "#BAEDFF", + "IDF1122": "#BAEDFF", + "IDF1154": "#BAEDFF", + "IDF1174": "#BAEDFF", + "IDF1218": "#BAEDFF", + "IDF1264": "#BAEDFF", + "IDF1274": "#BAEDFF", + "IDF1286": "#BAEDFF", + "MDF1149": "#BAEDFF", + "MDF1187": "#BAEDFF", + "MR1125": "#BAEDFF", + "MR1132": "#BAEDFF" + }, + "selected": "" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\toutput[room] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "custom": { + "data": "value" + }, + "meta": { + "name": "First Floor" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1154" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MDF1149" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1160" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1185" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MDF1187" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1174" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1128" + }, + "type": "property" + } + }, + "props.elements[5].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MR1125" + }, + "type": "property" + } + }, + "props.elements[5].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1122" + }, + "type": "property" + } + }, + "props.elements[5].elements[19].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[20].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[21].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MR1132" + }, + "type": "property" + } + }, + "props.elements[5].elements[22].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[23].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[24].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[25].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[26].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[27].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[28].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[29].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[30].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[31].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[32].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[33].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[34].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[35].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[36].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[37].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[38].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[39].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[40].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1199-STAIR-C", + "name": "_1199-STAIR-C", + "type": "rect", + "width": "203.609", + "x": "1515.85", + "y": "1178.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.399", + "id": "_1197-2-CORRIDOR-H-2", + "name": "_1197-2-CORRIDOR-H-2", + "type": "rect", + "width": "1467.31", + "x": "183.815", + "y": "1134.85" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "41.332", + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": "1996.06", + "x": "1651.13", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.25", + "id": "_1194-1-CORRIDOR-E-2", + "name": "_1194-1-CORRIDOR-E-2", + "type": "rect", + "width": "2592.5", + "x": "1567.63", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1198-STAIR-B", + "name": "_1198-STAIR-B", + "type": "rect", + "width": "203.609", + "x": "3802.52", + "y": "1177.63" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "206.163", + "id": "_1183-STAIRS-D", + "name": "_1183-STAIRS-D", + "type": "rect", + "width": "86.751", + "x": "1.377", + "y": "358.889" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "169.655", + "id": "_1194-1-CORRIDOR-E-3", + "name": "_1194-1-CORRIDOR-E-3", + "type": "rect", + "width": "48.02", + "x": "3607.37", + "y": "1.095" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "899.5", + "id": "_1193-CORRIDOR-D", + "name": "_1193-CORRIDOR-D", + "type": "rect", + "width": "84", + "x": "2894.63", + "y": "235.5" + }, + { + "d": "M1488.64,1134.85l164.275,0.149l-0.034,-139.5l-83.689,0.074l0,-608.074l83.689,0.105l0,-44.605l-83.689,0l0,-107.649l-80.561,0l0.009,899.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1195-CORRIDOR-F", + "name": "_1195-CORRIDOR-F", + "type": "path" + }, + { + "d": "M183.628,1134.85l63.25,0l0,-792.224l-84.75,-0l0,-107.276l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1196-CORRIDOR-G", + "name": "_1196-CORRIDOR-G", + "type": "path" + }, + { + "d": "M3647.19,1178.01l-0.308,-42.395l-35.25,-0l0,-428.611l65,-0l0,329.711l163.5,0.433l-0.113,141.356l-192.829,-0.494Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1192-CORRIDOR-C", + "name": "_1192-CORRIDOR-C", + "type": "path" + }, + { + "d": "M4160.13,138.5l0,96.851l68.5,0l0,406.899l73.372,0l-0,-173.99l58.628,-0l0,-38.859l-58.628,-0l-0.372,-141.301l228.25,-0.1l0,-48.75l-222.014,-0l-0,-100.75l-147.736,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1191-CORRIDOR-B", + "name": "_1191-CORRIDOR-B", + "type": "path" + }, + { + "d": "M4478.59,735.5l-118.361,-0l-0.38,-28.5l-748.22,-0l0,-65.105l690.372,0.427l-0,5.178l44.403,0l0,-43.801l74.63,0l0.308,43.801l56.816,-0.335l0.432,88.335Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1190-CORRIDOR-A", + "name": "_1190-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.101", + "id": "_1194-1-CORRIDOR-E-1", + "name": "_1194-1-CORRIDOR-E-1", + "type": "rect", + "width": "1479.25", + "x": "88.378", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1123-STAIR-A", + "name": "_1123-STAIR-A", + "type": "rect", + "width": "58.434", + "x": "4477.3", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "288" + } + ], + "id": "Corridors-and-stairs", + "name": "Corridors-and-stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1165-elec", + "name": "_1165-elec", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1164-ER", + "name": "_1164-ER", + "type": "rect", + "width": "232", + "x": "329.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1163-ER", + "name": "_1163-ER", + "type": "rect", + "width": "232", + "x": "561.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1162-ER", + "name": "_1162-ER", + "type": "rect", + "width": "232", + "x": "793.628", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1161-ER", + "name": "_1161-ER", + "type": "rect", + "width": "232", + "x": "1025.63", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1160-ER", + "name": "_1160-ER", + "type": "rect", + "width": "238.155", + "x": "1258.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1159-MEP-ROOM", + "name": "_1159-MEP-ROOM", + "type": "rect", + "width": "239.508", + "x": "1496.28", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1158-ER", + "name": "_1158-ER", + "type": "rect", + "width": "231.337", + "x": "1735.79", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1157ER", + "name": "_1157ER", + "type": "rect", + "width": "233.123", + "x": "1967.13", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1156-ER", + "name": "_1156-ER", + "type": "rect", + "width": "231.803", + "x": "2200.25", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1155-ER", + "name": "_1155-ER", + "type": "rect", + "width": "232.461", + "x": "2432.05", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1151-ELEC", + "name": "_1151-ELEC", + "type": "rect", + "width": "183.5", + "x": "3655.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1150-MECH-POWER", + "name": "_1150-MECH-POWER", + "type": "rect", + "width": "232.348", + "x": "3838.63", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "137.655", + "id": "_1120-MMR1", + "name": "_1120-MMR1", + "type": "rect", + "width": "260.5", + "x": "4160.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1152-TAPE-LIBRARY", + "name": "_1152-TAPE-LIBRARY", + "type": "rect", + "width": "476.566", + "x": "2664.63", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "64.565", + "id": "_1154-SDC-IDF", + "name": "_1154-SDC-IDF", + "type": "rect", + "width": "88.333", + "x": "3388.41", + "y": "105.935" + }, + { + "d": "M3141.63,170.25l0,-169.947l464.001,0.042l-0,169.905l-128.69,0l-0,-64.25l-89.212,-0l0.338,64.25l-246.437,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1153-SD-STORAGE", + "name": "_1153-SD-STORAGE", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.155", + "id": "_1149-MDF", + "name": "_1149-MDF", + "type": "rect", + "width": "89.5", + "x": "4070.63", + "y": "1.095" + } + ], + "id": "ELEC---MECH", + "name": "ELEC---MECH", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": 0.5 + }, + "height": "51.46", + "id": "_1185-ELEC", + "name": "_1185-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "458.859" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1184-POE", + "name": "_1184-POE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "109.021", + "id": "_1186-FIRE-PLBG", + "name": "_1186-FIRE-PLBG", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "508.227" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.5", + "id": "_1187-MDF-2", + "name": "_1187-MDF-2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "407.5", + "id": "_1188-MMR2", + "name": "_1188-MMR2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "715.5" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "55.25", + "id": "_1189-POE-4", + "name": "_1189-POE-4", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "1123" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1171-GALLERY", + "name": "_1171-GALLERY", + "type": "rect", + "width": "1325.44", + "x": "1569.19", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1172-GALLERY", + "name": "_1172-GALLERY", + "type": "rect", + "width": "1241.72", + "x": "1652.91", + "y": "1064" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.182", + "id": "_1174-SDC-IDF", + "name": "_1174-SDC-IDF", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "930" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "542.5", + "id": "_1173-SDC-STORAGE", + "name": "_1173-SDC-STORAGE", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "387.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1170-DATAHALL-3", + "name": "_1170-DATAHALL-3", + "type": "rect", + "width": "1241.75", + "x": "1652.88", + "y": "343" + } + ], + "id": "DH3", + "name": "DH3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1181-GALLERY-", + "name": "_1181-GALLERY-", + "type": "rect", + "width": "1326.41", + "x": "162.215", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1182-GALLERY-", + "name": "_1182-GALLERY-", + "type": "rect", + "width": "1241.72", + "x": "246.911", + "y": "1065.51" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1181-1-DATAHALL-1180-1", + "name": "_1181-1-DATAHALL-1180-1", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "344.795" + } + ], + "id": "DH5", + "name": "DH5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1119-POE1", + "name": "_1119-POE1", + "type": "rect", + "width": "51.764", + "x": "4307.86", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.401", + "id": "_1109-MOT", + "name": "_1109-MOT", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "359" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "77.088", + "id": "_1113-HUDDLE", + "name": "_1113-HUDDLE", + "type": "rect", + "width": "86.707", + "x": "4544.16", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "68.485", + "id": "_1104-RR", + "name": "_1104-RR", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "365.023" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.992", + "id": "_1105-JAN", + "name": "_1105-JAN", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "433.508" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "78.218", + "id": "_1102.3-SOC-OFFICE", + "name": "_1102.3-SOC-OFFICE", + "type": "rect", + "width": "66.118", + "x": "4459.01", + "y": "489.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1126-JAN", + "name": "_1126-JAN", + "type": "rect", + "width": "57", + "x": "4303.13", + "y": "707" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1134.2-AM-OFFICE", + "name": "_1134.2-AM-OFFICE", + "type": "rect", + "width": "65.5", + "x": "4063.63", + "y": "850" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61.387", + "id": "_1136-RR", + "name": "_1136-RR", + "type": "rect", + "width": "81.653", + "x": "4063.63", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.218", + "id": "_1142-POE", + "name": "_1142-POE", + "type": "rect", + "width": "101.369", + "x": "3840.13", + "y": "1123.79" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.5-SHRED-ROOM", + "name": "_1133.5-SHRED-ROOM", + "type": "rect", + "width": "125.5", + "x": "3938.13", + "y": "932.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.6-HIGH-VALUE-STORAGE", + "name": "_1133.6-HIGH-VALUE-STORAGE", + "type": "rect", + "width": "261.5", + "x": "3676.63", + "y": "932.697" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "59.838", + "id": "_1133.2-CABLE-STORAGE", + "name": "_1133.2-CABLE-STORAGE", + "type": "rect", + "width": "163.5", + "x": "3676.63", + "y": "708.197" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "110.035", + "id": "_1135-WAITING", + "name": "_1135-WAITING", + "type": "rect", + "width": "62.384", + "x": "4145.28", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "119.5", + "id": "_1133.4-SECURE-STORAGE", + "name": "_1133.4-SECURE-STORAGE", + "type": "rect", + "width": "223.5", + "x": "3840.13", + "y": "813" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1128-ELEC", + "name": "_1128-ELEC", + "type": "rect", + "width": "57", + "x": "4302", + "y": "761.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1125-MECH", + "name": "_1125-MECH", + "type": "rect", + "width": "63.811", + "x": "4359", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1124-PASS", + "name": "_1124-PASS", + "type": "rect", + "width": "54.491", + "x": "4422.81", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1122-SDC-IDF", + "name": "_1122-SDC-IDF", + "type": "rect", + "width": "72.661", + "x": "4535.43", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1130-FREIGHT", + "name": "_1130-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4433.86", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1131-FREIGHT", + "name": "_1131-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4535.36", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1132-MECH", + "name": "_1132-MECH", + "type": "rect", + "width": "138.911", + "x": "4636.63", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61", + "id": "_1100.1-VESTIBULE", + "name": "_1100.1-VESTIBULE", + "type": "rect", + "width": "41.5", + "x": "4767.63", + "y": "499" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "130.798", + "id": "_1103-EXECUTIVE-CONFERENCE", + "name": "_1103-EXECUTIVE-CONFERENCE", + "type": "rect", + "width": "145.497", + "x": "4630.13", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1114-RECORDS", + "name": "_1114-RECORDS", + "type": "rect", + "width": "61", + "x": "4359.63", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1117-OFFICE", + "name": "_1117-OFFICE", + "type": "rect", + "width": "64.5", + "x": "4530.13", + "y": "2.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "237.952", + "id": "_1116-CONFERENCE", + "name": "_1116-CONFERENCE", + "type": "rect", + "width": "109.5", + "x": "4420.63", + "y": "1.298" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1118-OFFICE", + "name": "_1118-OFFICE", + "type": "rect", + "width": "65.274", + "x": "4594.63", + "y": "2.5" + }, + { + "d": "M4775.02,288l0.609,-285l-115.1,-2.655l-0.626,84.155l-130.024,-0.441l0,203.941l245.141,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1110-STREAM-OFFICE", + "name": "_1110-STREAM-OFFICE", + "type": "path" + }, + { + "d": "M4525.13,489.5l-0.162,157.719l33.495,0.137l0,-40.856l41.98,0l-0.008,11.157l52.695,0.479l-1.174,-128.636l-126.826,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1102.1-SOC", + "name": "_1102.1-SOC", + "type": "path" + }, + { + "d": "M4558.46,606.223l0,41.133l-80.452,-0l0.693,57.633l329.676,-0l0,-86.979l-207.164,0l0,-11.51l-42.753,-0.277Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1101-SECURE-LOBBY", + "name": "_1101-SECURE-LOBBY", + "type": "path" + }, + { + "d": "M4607.63,705l0,110.159l167.782,-0.651l0.693,-26.905l32.275,-0.433l0,-82.181l-200.75,0.011Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1121-CONFERENCE", + "name": "_1121-CONFERENCE", + "type": "path" + }, + { + "d": "M4207.55,706.868l0.073,379.082l23.565,0.081l75.845,39.795l19.744,-35.334l77.574,39.904l25.252,-44.509l94.628,0.083l76.334,39.209l19.102,-34.955l75.254,39.426l80.59,-0.024l-0,-197.372l-341.468,-0l-0,-115.82l-131.16,-1.275l0,-108.159l-95.333,-0.132Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1127-LOADING-DOCK", + "name": "_1127-LOADING-DOCK", + "type": "path" + }, + { + "d": "M4598.13,364.5l0,125l55.275,0l-0.13,128.5l155.105,0.01l0,-58.01l-40.75,0l0,-61.698l40.283,-0.037l-0,-79.467l-177.783,-0l0,-54.298l-32,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1100.0-LOBBY", + "name": "_1100.0-LOBBY", + "type": "path" + }, + { + "d": "M3676.63,932l0,-163.965l163.5,0l0,-61.035l367.5,-0l0,143l-144,-0l0,-37l-223.5,-0l0,119.5l-163.5,-0.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1133.1-RECEIVING", + "name": "_1133.1-RECEIVING", + "type": "path" + }, + { + "d": "M4457.98,468l0.296,179.18l-37.243,0.32l-0,-43.801l-38.163,0l0.111,-135.699l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1107-MMR", + "name": "_1107-MMR", + "type": "path" + }, + { + "d": "M4542.91,288l0.721,201.141l-84.617,0.359l-0,-21.24l-98.383,-0l-0.136,-180.26l182.415,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1111-BREAK-ROOM", + "name": "_1111-BREAK-ROOM", + "type": "path" + }, + { + "d": "M4302,468.26l2.333,179.853l42.045,-0.613l0,-42.868l37.34,-0l-0.117,-135.7l-81.601,-0.672Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1108-WRR", + "name": "_1108-WRR", + "type": "path" + }, + { + "d": "M4144.93,1037.5l1.203,140.499l-204.5,0.501l0,-52.454l-101.5,-1.355l0.451,-87.191l304.346,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1141-PLBG-FP", + "name": "_1141-PLBG-FP", + "type": "path" + }, + { + "d": "M4207.55,975.505l-143.66,0.495l-0.257,-44l65.5,-0l0,-82l78.417,0.185l0,125.32Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1134.1-ASSET-MANAGEMENT", + "name": "_1134.1-ASSET-MANAGEMENT", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "79.448", + "id": "_1102.2-SOC-STORAGE", + "name": "_1102.2-SOC-STORAGE", + "type": "rect", + "width": "65.955", + "x": "4459.01", + "y": "567.718" + } + ], + "id": "Stream-Offices", + "name": "Stream-Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "133.25", + "id": "_1138.2-SER", + "name": "_1138.2-SER", + "type": "rect", + "width": "79.5", + "x": "3937.13", + "y": "509" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "88.512", + "id": "_1138.3-FCR", + "name": "_1138.3-FCR", + "type": "rect", + "width": "73", + "x": "3864.13", + "y": "553.738" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.649", + "id": "_1139-TENANT-STORAGE", + "name": "_1139-TENANT-STORAGE", + "type": "rect", + "width": "389.821", + "x": "3222.13", + "y": "235.351" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "406.899", + "id": "_1137-OPS-STORAGE", + "name": "_1137-OPS-STORAGE", + "type": "rect", + "width": "163.5", + "x": "4065.13", + "y": "235.351" + }, + { + "d": "M3611.63,235.5l0,407l252.5,-0.25l0,-88.75l73,-0l0.198,-44.292l79.459,0l0.308,133.042l48.035,0l-0.309,-407.076l-453.191,0.326Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1138.1-TENANT-OFFICE", + "name": "_1138.1-TENANT-OFFICE", + "type": "path" + } + ], + "id": "Tenant-Offices", + "name": "Tenant-Offices", + "type": "group" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1140-MECH---PUMP", + "name": "_1140-MECH---PUMP", + "type": "rect", + "width": "243.5", + "x": "2978.63", + "y": "235.5" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,101.188l-0,-21.233l-40.298,-0l-0,21.233", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1544.41,1178.25l2262.71,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3828.13,1178l315.66,0.25l-0,-92.3l8.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4173.51,1086l57.373,0l76.749,40l19.362,-35.865l77.638,41.156l24.903,-45.608l94.597,0.035l76,40.135l19.39,-36.353l75.428,40l80.682,0l-0.395,-342.218l33.145,0l0,-250.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1035.5l0,94.842l0,-5.357l101.5,0.015l0,53.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1151.75l0,26.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4207.86,1085.95l-0.243,-84.421", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4145.28,1085.95l-0,-84.421l-0,35.614l-468.653,0.357l0,-330.5l294.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4027.95,707l179.674,-0l0,19.825l0,-19.825l127.139,-0l-31.655,-0l-0,59.272l-0,-4.626l56.736,-0l-0,-54.646l-0,109.434", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302.88,786.5l0,29.934l472.628,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4359.85,735.573l33.572,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4413.87,735.573l22.597,-0l-13.636,-0l0.293,80.861", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4477.13,816.434l-0,-80.861l-12.996,-0.323l12.996,0.323l-0,-30.584l7.264,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4504.26,704.989l31.169,-0l-0,111.445", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4608.09,816.434l-0,-111.445l-42.464,0.011", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4653.05,705l110.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4434.04,816.434l-0,115.82l9.934,-0.195", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4535.43,816.434l-0,115.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.63,816.434l0,116.066", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4661.9,932.5l113.729,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,932l185.781,-0l-22.281,-0l0,-119l39.813,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3918.12,813l145.506,-0l0,224.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4020.13,932l108.575,-0l0.156,-55.929", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.63,849.89l70.501,0.36", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.57,850.25l53.056,0l0,25.821l0,-92.073", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,768.035l163.5,0l0,-12.467", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3888.63,932.25l93,0l-43.433,0l-0.067,105.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.67,975.52l144.348,0.195l-0.195,-80.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3647.19,1178.71l0,-14.854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3646.88,1143l0,-7.389l-399.644,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,1135.61l0,-441.611", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3265.63,235.5l755.122,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,235.5l0,419.979l0,-13.175l299.892,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3962.63,642.25l59.351,0l-4.987,0l-0,-133.042l-79.666,0l-0,133.042", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3937.13,553.5l-73,-0l0,88.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.63,642.25l8,0l0,-362.294", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4228.63,241.158l0,-5.685l-168.451,-0.299l4.887,0.008l0,407.068l-23.196,0l140.671,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4160.13,235.351l0,-12.621", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3216.3,1135l10.348,0l-5.018,0l-0,-899.649l5.477,0l-23.327,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3165.48,235.351l-186.856,0l0,899.649l218.001,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4775.02,288l-148.777,-0l4.19,-0l-0.067,130.798l5.052,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4675.13,418.798l56.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4586.88,288l-48.457,-0l5.207,-0l0,201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,365.023l86.5,0.065", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,433.38l54.476,-0l0.16,8.138l0,-52.018", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4598.26,461.785l-0.136,27.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4558.88,622.5l0,-30.591l0,14.936l41.643,0.079l-0.079,10.901l66.663,-0l-13.916,-0l0,-128.325l-194.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4420.88,637l0,10.165l38.133,0l-0,-178.905l-157.011,-0l-0,179.24l44.325,0l-0,-10.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4346.38,617l0.025,-13.192l37.315,-0.235l-0.377,-135.313", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4421.03,616.625l-0.064,-12.926l-74.566,0.109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,239.25l4.674,-0l-0,-105.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4529.88,94l0,-9.5l20.662,-0l-20.662,-0l0.25,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4615.63,84.5l-25.999,-0l4.999,-0l0,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4656.52,84.25l3.384,0l0,-83.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.01,647.165l99.45,0l0,-7.237", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.13,567.191l65.999,-0.128l0,54.768l0,-62.3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,489l0,53.977", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4808.38,617.85l-44.723,0.16", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4743.13,617.85l-18.093,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4705.63,618.01l-17.935,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4360.63,468.067l0,-180.067l-4.8,-0l9.498,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4336.13,288.1l-34.134,-0l-0,141.301l32.686,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302,359l58.577,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4405.13,288l94.191,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.89,234.699l-0.021,11.078l0.012,-6.277l67.252,0l-15.5,0l0,-101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.86,213.705l-0,-75.205l-7.609,0l119.686,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.94,0.345l0,238.853l-5.317,-0.025l71.004,0.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4767.63,539.283l0,20.717l40.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.63,170.632l27.175,-0l-0,13.059l-0,-183.346", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4159.8,138.5l102.161,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-24.506,0l4.341,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3589.63,170.5l16.103,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3551.63,170.5l-138.99,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3476.94,170.5l-0,-64.5l-89.311,-0l0,64.5l5.331,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,50.149", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,508l95.313,-0l0,-5.217l0,10.007", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,5.893l0,-79.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,759.5l0,371.5l0,-7.955l-95.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1039l0,-18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1001l0,-616.527l0,3.027l-83.939,-0l0,37.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,463.614l0,471.386l0,-4.5l83.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,955.5l0,40l83.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1020l0,-635.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "First-Floor", + "name": "First-Floor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMaxYMax", + "stroke": { + "linejoin": "bevel" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1185", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 9, + "width": 15, + "x": 5.19, + "y": 47 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MDF1187", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 9, + "x": 8.19, + "y": 62 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1160", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 19, + "width": 23, + "x": 112.19, + "y": 7 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1174", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 10, + "width": 14, + "x": 137.19, + "y": 89 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1154", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 9, + "width": 12, + "x": 300.19, + "y": 16 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MDF1149", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 18, + "width": 9, + "x": 364.19, + "y": 5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1128", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 9, + "width": 12, + "x": 377.19, + "y": 74 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MR1125", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 9, + "width": 8, + "x": 390.19, + "y": 74 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1122", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 12, + "width": 10, + "x": 404.19, + "y": 70 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MR1132", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 10, + "width": 11, + "x": 415.19, + "y": 81 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_01_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]\n\t", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/de4aac5304f02cce7af60a200ccbc674547387ab16c59c491cc20f75a89795d3 b/Gateways/FE/projects/.resources/de4aac5304f02cce7af60a200ccbc674547387ab16c59c491cc20f75a89795d3 new file mode 100644 index 0000000..3e5c488 --- /dev/null +++ b/Gateways/FE/projects/.resources/de4aac5304f02cce7af60a200ccbc674547387ab16c59c491cc20f75a89795d3 @@ -0,0 +1 @@ +UPDATE wiki_notes SET body = :body, last_updated = CURRENT_TIMESTAMP, last_updated_by = :user WHERE id = :id \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/de9151b7197684bb5491f6bc9478051bf076b28c82ed0d578e8ca808de766005 b/Gateways/FE/projects/.resources/de9151b7197684bb5491f6bc9478051bf076b28c82ed0d578e8ca808de766005 new file mode 100644 index 0000000..613e5ad Binary files /dev/null and b/Gateways/FE/projects/.resources/de9151b7197684bb5491f6bc9478051bf076b28c82ed0d578e8ca808de766005 differ diff --git a/Gateways/FE/projects/.resources/decdc9f625bf3b17459672b6dc763063e8738c997411f715a09a88e982797d62 b/Gateways/FE/projects/.resources/decdc9f625bf3b17459672b6dc763063e8738c997411f715a09a88e982797d62 new file mode 100644 index 0000000..f17da82 --- /dev/null +++ b/Gateways/FE/projects/.resources/decdc9f625bf3b17459672b6dc763063e8738c997411f715a09a88e982797d62 @@ -0,0 +1,503 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_PID" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Mode Cmd" + }, + "type": "tag" + } + }, + "custom.OCmd.Override": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OverrideMode" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Output Override Mode", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.Override" + }, + "type": "property" + } + } + }, + "props": { + "checkedIcon": { + "color": { + "enabled": "var(--tagvalue-color)" + } + }, + "text": "", + "uncheckedIcon": { + "color": { + "enabled": "var(--tagvalue-color)" + } + } + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Operator Control Value", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.custom.OCmd.Override} \u0026\u0026 {view.params.auth.control}" + }, + "type": "expr" + } + }, + "props.style.color": { + "binding": { + "config": { + "path": "this.props.enabled" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--tagvalue-color)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OSet_CV" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 100, + "minimum": 0 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "PositionSP" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Operator Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "struct": { + "auth": "{view.params.auth.control}", + "auto": "{view.custom.OCmd.Mode}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027auth\u0027] and not value[\u0027auto\u0027]:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.style.color": { + "binding": { + "config": { + "path": "this.props.enabled" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--tagvalue-color)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OSet_SP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 100, + "minimum": 0 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "PositionSP_0" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/df614e83b5c65ec5f9ba3b2b95919847d6b616e9be6f2bdba5ab3fb58e185b9a b/Gateways/FE/projects/.resources/df614e83b5c65ec5f9ba3b2b95919847d6b616e9be6f2bdba5ab3fb58e185b9a new file mode 100644 index 0000000..57f9390 --- /dev/null +++ b/Gateways/FE/projects/.resources/df614e83b5c65ec5f9ba3b2b95919847d6b616e9be6f2bdba5ab3fb58e185b9a @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderColor": "#CCCCCC", + "borderStyle": "solid", + "borderWidth": "1px", + "borderRadius": "4px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/df737d44760c7513602f5ba87706562c7271e3e2d0e2e13bb2a4605c684997d2 b/Gateways/FE/projects/.resources/df737d44760c7513602f5ba87706562c7271e3e2d0e2e13bb2a4605c684997d2 new file mode 100644 index 0000000..7b04d44 Binary files /dev/null and b/Gateways/FE/projects/.resources/df737d44760c7513602f5ba87706562c7271e3e2d0e2e13bb2a4605c684997d2 differ diff --git a/Gateways/FE/projects/.resources/e083b3161d1a87680f47f002bc8f65ad62fa4c04bbe9d58b7ce87ee030e733b0 b/Gateways/FE/projects/.resources/e083b3161d1a87680f47f002bc8f65ad62fa4c04bbe9d58b7ce87ee030e733b0 new file mode 100644 index 0000000..40f71d3 --- /dev/null +++ b/Gateways/FE/projects/.resources/e083b3161d1a87680f47f002bc8f65ad62fa4c04bbe9d58b7ce87ee030e733b0 @@ -0,0 +1,334 @@ +{ + "custom": {}, + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 12.34, + "color": "var(--tagvalue-color)" + }, + "propConfig": { + "params.EU": { + "paramDirection": "input", + "persistent": true + }, + "params.EU_Pos": { + "paramDirection": "input", + "persistent": true + }, + "params.Size": { + "paramDirection": "input", + "persistent": true + }, + "params.Value": { + "paramDirection": "input", + "persistent": true + }, + "params.color": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 54, + "width": 124 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Var", + "tooltip": { + "width": "100%" + } + }, + "position": { + "align": "center", + "grow": 1 + }, + "propConfig": { + "position.basis": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": "75%", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "75%" + }, + { + "input": 1, + "output": "50%" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": "center", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "center" + }, + { + "input": 1, + "output": "bottom" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.Value" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.color" + }, + "type": "property" + } + }, + "props.textStyle.fontSize": { + "binding": { + "config": { + "path": "view.params.Size" + }, + "type": "property" + } + }, + "props.textStyle.textAlign": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": "end", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "end" + }, + { + "input": 1, + "output": "center" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": "center", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "center" + }, + { + "input": 1, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.EU" + }, + "type": "property" + } + }, + "props.textStyle.fontSize": { + "binding": { + "config": { + "path": "view.params.Size" + }, + "type": "property" + } + }, + "props.textStyle.textAlign": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": "start", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "start" + }, + { + "input": 1, + "output": "center" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "color": "var(--units-color)", + "marginLeft": 1 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "props.direction": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": "row", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "row" + }, + { + "input": 1, + "output": "column" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.gap": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": 2, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": 2 + }, + { + "input": 1, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "#00000000", + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e09f8cf467ab634dc84d4b6ccc0d53b4409b02b02b9e43fe7bae24bcc2092b2c b/Gateways/FE/projects/.resources/e09f8cf467ab634dc84d4b6ccc0d53b4409b02b02b9e43fe7bae24bcc2092b2c new file mode 100644 index 0000000..ed73a5d Binary files /dev/null and b/Gateways/FE/projects/.resources/e09f8cf467ab634dc84d4b6ccc0d53b4409b02b02b9e43fe7bae24bcc2092b2c differ diff --git a/Gateways/FE/projects/.resources/e110166ff9572bb3aa6a652d24c965b5594b24dc12c7f6b549644e9d286056ac b/Gateways/FE/projects/.resources/e110166ff9572bb3aa6a652d24c965b5594b24dc12c7f6b549644e9d286056ac new file mode 100644 index 0000000..4e58f22 Binary files /dev/null and b/Gateways/FE/projects/.resources/e110166ff9572bb3aa6a652d24c965b5594b24dc12c7f6b549644e9d286056ac differ diff --git a/Gateways/FE/projects/.resources/e1107d81badacb0e2683a2546d91f953de954597ed0009aed22ddf365bb97f1a b/Gateways/FE/projects/.resources/e1107d81badacb0e2683a2546d91f953de954597ed0009aed22ddf365bb97f1a new file mode 100644 index 0000000..30c3f3b Binary files /dev/null and b/Gateways/FE/projects/.resources/e1107d81badacb0e2683a2546d91f953de954597ed0009aed22ddf365bb97f1a differ diff --git a/Gateways/FE/projects/.resources/e208198304e4d7099798a964a341db3c4cd43080871642da1c68f83312dc77a1 b/Gateways/FE/projects/.resources/e208198304e4d7099798a964a341db3c4cd43080871642da1c68f83312dc77a1 new file mode 100644 index 0000000..e2a548f Binary files /dev/null and b/Gateways/FE/projects/.resources/e208198304e4d7099798a964a341db3c4cd43080871642da1c68f83312dc77a1 differ diff --git a/Gateways/FE/projects/.resources/e20d4c8ba25cb598501a786f9a4a4ebb9d5a8ff6108cc8e06c7520d66ec92502 b/Gateways/FE/projects/.resources/e20d4c8ba25cb598501a786f9a4a4ebb9d5a8ff6108cc8e06c7520d66ec92502 new file mode 100644 index 0000000..f7c86d2 --- /dev/null +++ b/Gateways/FE/projects/.resources/e20d4c8ba25cb598501a786f9a4a4ebb9d5a8ff6108cc8e06c7520d66ec92502 @@ -0,0 +1,233 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Max Output", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Relative Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Run Hours", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Comm percent", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Drain Valve Status", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "EquipCounts", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fill Valve Status", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "options": [ + "Not Ready", + "Ready" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Stopped", + "Running" + ] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Unit Status", + "options": [ + "Not Enabled", + "Enabled" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_02" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\t\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e2edef7b2946fdc1e54dc8da74516520093ea5e2a37e020be7dc2915371b6d56 b/Gateways/FE/projects/.resources/e2edef7b2946fdc1e54dc8da74516520093ea5e2a37e020be7dc2915371b6d56 new file mode 100644 index 0000000..fdae150 --- /dev/null +++ b/Gateways/FE/projects/.resources/e2edef7b2946fdc1e54dc8da74516520093ea5e2a37e020be7dc2915371b6d56 @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M3191.67,191.897c-0,2.3 1.867,4.167 4.166,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,0 -4.166,1.867 -4.166,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal14", + "name": "Terminal14", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3195.83,187.73l0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3189.58,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.45,0 6.25,2.801 6.25,6.25c0,3.45 -2.8,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In7", + "name": "In7", + "type": "path" + }, + { + "d": "M3195.83,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3200,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,-0 -4.166,1.867 -4.166,4.167c-0,2.299 1.867,4.166 4.166,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal15", + "name": "Terminal15", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3195.83,251.229l0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3203.58,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed7", + "name": "Closed7", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3222.58,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open7", + "name": "Open7", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB08", + "name": "CB08", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1176, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1127,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1127,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1127,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1127,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e3543484637d8ddef0e5a86aa8b033a99efe09ea24f873930cf84bcbe6a5ee7a b/Gateways/FE/projects/.resources/e3543484637d8ddef0e5a86aa8b033a99efe09ea24f873930cf84bcbe6a5ee7a new file mode 100644 index 0000000..e176f19 Binary files /dev/null and b/Gateways/FE/projects/.resources/e3543484637d8ddef0e5a86aa8b033a99efe09ea24f873930cf84bcbe6a5ee7a differ diff --git a/Gateways/FE/projects/.resources/e35725b359d28e41717c1bf83ab7f721840452526267135f92b95412eef69a88 b/Gateways/FE/projects/.resources/e35725b359d28e41717c1bf83ab7f721840452526267135f92b95412eef69a88 new file mode 100644 index 0000000..e14a27d --- /dev/null +++ b/Gateways/FE/projects/.resources/e35725b359d28e41717c1bf83ab7f721840452526267135f92b95412eef69a88 @@ -0,0 +1,1027 @@ +{ + "custom": { + "AlarmSeverity": 0, + "anyFan": false, + "colorHandler": { + "lines": "var(--olGray)", + "text": "var(--olGray)" + }, + "fan_1": 1, + "fan_2": 1, + "fan_3": 1 + }, + "params": { + "embedded": false, + "objectName": "CRAH", + "tagPath": "[Ignition_SATB1_IO1_default]ER1243/SATB1_P1_2_ER1243_CRAH_01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d alarm.summary.calcMaxPriority(self.view.params.tagPath)\n\tif output is None:\n\t\toutput \u003d 1\n\treturn output", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.anyFan": { + "binding": { + "config": { + "struct": { + "Fan1": "{view.custom.fan_1}", + "Fan2": "{view.custom.fan_2}", + "Fan3": "{view.custom.fan_3}", + "update": "now(5000)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tf1 \u003d value[\u0027Fan1\u0027]\n\tf2 \u003d value[\u0027Fan2\u0027]\n\tf3 \u003d value[\u0027Fan3\u0027]\n\tif (f1 is True) or (f2 is True) or (f3 is True):\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.fan_1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan 1 Status" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.fan_2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan 2 Status" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.fan_3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan 3 Status" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 600, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "CRAH" + }, + "position": { + "height": 546, + "width": 184, + "x": 82, + "y": 27 + }, + "propConfig": { + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.anyFan" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-running)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M69.021,2237.92l389.773,0l77.531,-116.085l-77.531,-116.084l-154.638,-0l-0,-1783.85l-117.568,79.967l-117.567,-79.967l-0,2016.02Z", + "fill": { + "paint": "var(--containerNested)" + }, + "id": "CRAH-Box", + "name": "CRAH-Box", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "fill": { + "paint": "#ebebeb" + }, + "height": "262.671", + "name": "rect", + "stroke": { + "width": "4.17px" + }, + "type": "rect", + "width": "233.652", + "x": "69.021", + "y": "824.952" + } + ], + "id": "CHW-Cooling-Coil", + "name": "CHW-Cooling-Coil", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#ebebeb" + }, + "height": "80.497", + "name": "rect", + "stroke": { + "width": "4.17px" + }, + "type": "rect", + "width": "233.652", + "x": "69.021", + "y": "530.189" + }, + { + "d": "M185.847,610.685l58.413,-80.496l58.413,80.496", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M69.021,610.685l58.413,-80.496l58.413,80.496", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M69.021,570.437l233.652,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Heater", + "name": "Heater", + "type": "group" + }, + { + "d": "M187.771,1795.36c-63.241,-0 -114.584,-51.343 -114.584,-114.584c0,-63.24 51.343,-114.583 114.584,-114.583c63.24,0 114.583,51.343 114.583,114.583l0,174.266l-114.583,0l-0,-59.682Z", + "fill": { + "paint": "var(--state-running)" + }, + "id": "Fan", + "name": "Fan", + "stroke": { + "paint": "black", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,666.922,268.877)", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,205.595,911.638)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "CHW", + "type": "text", + "x": "86.186px", + "y": "911.638px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,257.042,969.413)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Cooling", + "type": "text", + "x": "87.486px", + "y": "969.413px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,173.619,1036.19)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Coil", + "type": "text", + "x": "87.486px", + "y": "1036.19px" + } + ], + "name": "group", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,735.72,930.793)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,738.479,1137.05)", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,232.928,1666.75)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "146.771px", + "y": "1666.75px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,239.788,1717.62)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(SF)", + "type": "text", + "x": "142.596px", + "y": "1717.62px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Elements", + "name": "Text-Elements", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 767 2275" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "CHW Valve" + }, + "position": { + "height": 93, + "width": "auto", + "x": 161, + "y": 182 + }, + "props": { + "params": { + "Layout": true, + "objectName": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]Common/Roof/CV31" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RA Humidity" + }, + "position": { + "height": 25, + "width": 90, + "x": 7, + "y": 243.018 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/CHW Valve Command" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%", + "EU_Pos": 0, + "Size": 12, + "Value": 27.1 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RA Temp" + }, + "position": { + "height": 25, + "width": 90, + "x": 7, + "y": 125.02 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 70.5 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RA DP" + }, + "position": { + "height": 25, + "width": 90, + "x": 7, + "y": 98.0023 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Humidity" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%RH", + "EU_Pos": 0, + "Size": 12, + "Value": 46.1, + "color": "var(--tagvalue-color)" + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Fan Speed" + }, + "position": { + "height": 25, + "width": 90, + "x": 7, + "y": 420.1 + }, + "propConfig": { + "custom.s1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Speed 1" + }, + "type": "tag" + } + }, + "custom.s2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Speed 2" + }, + "type": "tag" + } + }, + "custom.s3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Speed 3" + }, + "type": "tag" + } + }, + "props.params.Value": { + "binding": { + "config": { + "struct": { + "s1": "{this.custom.s1}", + "s2": "{this.custom.s2}", + "s3": "{this.custom.s3}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tarray \u003d []\n\tarray.append(value[\u0027s1\u0027])\n\tarray.append(value[\u0027s2\u0027])\n\tarray.append(value[\u0027s3\u0027])\n\treturn max(array)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "EU": "%", + "EU_Pos": 0, + "Size": 12, + "Value": 60 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SA Temp" + }, + "position": { + "height": 25, + "width": 90, + "x": 196, + "y": 481.031 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 69.7 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 25, + "width": 93, + "x": 161, + "y": 420.1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.anyFan" + }, + "transforms": [ + { + "fallback": "error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Fan Stopped" + }, + { + "input": true, + "output": "Fan Running" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 35, + "width": 93, + "x": 4, + "y": 483 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Leak Detected" + }, + "enabled": false, + "transforms": [ + { + "fallback": "error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No Leak detected" + }, + { + "input": true, + "output": "Leak detected" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "No leak detected", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 25, + "width": 93, + "x": 167, + "y": 145 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Dirty Filter" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Filter OK" + }, + { + "input": true, + "output": "Filter Dirty" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Filter OK", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 510, + "width": 140, + "x": 82, + "y": 67.02 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 45, + "width": 38, + "x": 204, + "y": 42.5156 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "params": { + "AlarmSeverity": 0 + }, + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 32, + "width": 207, + "x": 52, + "y": 35.02 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "CRAH01" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e415b0086502b427e11d9813855d48c6a59d76e34ee64ca3c8b0eb06cb242a66 b/Gateways/FE/projects/.resources/e415b0086502b427e11d9813855d48c6a59d76e34ee64ca3c8b0eb06cb242a66 new file mode 100644 index 0000000..c8336d1 Binary files /dev/null and b/Gateways/FE/projects/.resources/e415b0086502b427e11d9813855d48c6a59d76e34ee64ca3c8b0eb06cb242a66 differ diff --git a/Gateways/FE/projects/.resources/e438258560d678ea434db03fbe9cf1a35af5d23dd03d536723c8813d470d3a3e b/Gateways/FE/projects/.resources/e438258560d678ea434db03fbe9cf1a35af5d23dd03d536723c8813d470d3a3e new file mode 100644 index 0000000..647a30d --- /dev/null +++ b/Gateways/FE/projects/.resources/e438258560d678ea434db03fbe9cf1a35af5d23dd03d536723c8813d470d3a3e @@ -0,0 +1,1260 @@ +{ + "custom": {}, + "params": { + "Objects": { + "ATS_1": 1, + "ATS_2": 0, + "GEN": 0, + "PDU1": 2, + "PDU2": 2, + "PDU3": 2, + "PDU4": 2, + "UPS1": 1, + "UPS2": 1, + "UT": 1 + }, + "Room": "P1.1", + "tagPath": { + "ATS": "[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-1", + "PDU1": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-1", + "PDU2": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-2", + "PDU3": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-3", + "PDU4": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-4", + "UPS1": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-1", + "UPS2": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-2", + "UT": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-1" + } + }, + "propConfig": { + "params.Objects": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 125, + "width": 220 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Room ID" + }, + "position": { + "basis": "21px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.params.Room}" + }, + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 18, + "fontWeight": "bold", + "paddingBottom": 2, + "paddingLeft": 5, + "paddingTop": 2 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.UT\n\tobjectName \u003d \"UT\"\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": "UT" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.UT" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.UT" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 5, + "marginLeft": 2, + "marginRight": 2, + "marginTop": 5 + }, + "text": "UT", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.GEN\n\tobjectName \u003d \"GEN\"\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": "Gen STS" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.GEN" + }, + "transforms": [ + { + "fallback": "#D3D3D3", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "#D3D3D3" + }, + { + "input": 1, + "output": "#FFFF47" + }, + { + "input": 2, + "output": "#FF0000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.GEN" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 5, + "marginLeft": 2, + "marginRight": 2, + "marginTop": 5 + }, + "text": "GEN", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Column1" + }, + "position": { + "basis": "25%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.ATS\n\tobjectName \u003d \"ATS\"\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": "SRC 1" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.ATS_1" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.ATS_1" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + }, + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 5, + "marginLeft": 2, + "marginRight": 2, + "marginTop": 5 + }, + "text": "ATS SRC1 Utility", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.ATS\n\tobjectName \u003d \"ATS\"\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": "SRC 2" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.ATS_2" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.ATS_2" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 5, + "marginLeft": 2, + "marginRight": 2, + "marginTop": 5 + }, + "text": "ATS SRC2 Gen.", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Column2" + }, + "position": { + "basis": "25%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.UPS1\n\tobjectName \u003d \"UPS\"\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": "UPS1_Lbl" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.UPS1" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.UPS1" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 2, + "marginLeft": 3, + "marginRight": 3, + "marginTop": 2, + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + }, + "text": "UPS1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.UPS2\n\tobjectName \u003d \"UPS\"\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": "UPS2_Lbl" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.UPS2" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.UPS2" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 2, + "marginLeft": 3, + "marginRight": 3, + "marginTop": 2, + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + }, + "text": "UPS2", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.PDU1\n\tobjectName \u003d \"PDU\"\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": "PDU1_Lbl" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.PDU1" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.PDU1" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 2, + "marginLeft": 3, + "marginRight": 3, + "marginTop": 2, + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + }, + "text": "PDU1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.PDU2\n\tobjectName \u003d \"PDU\"\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": "PDU2_Lbl" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.PDU2" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.PDU2" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 2, + "marginLeft": 3, + "marginRight": 3, + "marginTop": 2, + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + }, + "text": "PDU2", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.PDU3\n\tobjectName \u003d \"PDU\"\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": "PDU3_Lbl" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.PDU3" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.PDU3" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 2, + "marginLeft": 3, + "marginRight": 3, + "marginTop": 2, + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + }, + "text": "PDU3", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.PDU4\n\tobjectName \u003d \"PDU\"\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": "PDU4_Lbl" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.PDU4" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.PDU4" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 2, + "marginLeft": 3, + "marginRight": 3, + "marginTop": 2, + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + }, + "text": "PDU4", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row3" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Column3" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Devices" + }, + "position": { + "basis": "128px" + }, + "props": { + "style": { + "borderStyle": "none" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "#E5E5E5", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginTop": 10, + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e46b19f6f9f0436d97989dfff94520b0ad01136a4d3e068ef793a861bb22b84b b/Gateways/FE/projects/.resources/e46b19f6f9f0436d97989dfff94520b0ad01136a4d3e068ef793a861bb22b84b new file mode 100644 index 0000000..d7d10ad --- /dev/null +++ b/Gateways/FE/projects/.resources/e46b19f6f9f0436d97989dfff94520b0ad01136a4d3e068ef793a861bb22b84b @@ -0,0 +1,5197 @@ +{ + "custom": { + "Color": "#007FD2", + "ColorHandler": { + "Auxiliary": {}, + "Corridors": { + "StairA_1223": "lightgray", + "StairB_1298": "lightgray", + "StairC_1290": "lightgray", + "StairD_1283": "lightgray", + "UNKNOWN": "lightgray" + }, + "DH1": {}, + "DH2": {}, + "DH4": {}, + "Elec-Mech": {}, + "Offices": { + "DAS_1219": "lightgray", + "Freight_1230": "lightgray", + "Freight_1232": "lightgray", + "MRR_1221": "lightgray", + "Pass_1225": "lightgray", + "Receiving_1233": "lightgray", + "Space_1179": "lightgray", + "Vestibule_1292": "lightgray", + "WRR_1222": "lightgray" + }, + "Walls": "var(--olGray)" + }, + "inMax": 10, + "inMin": -10, + "outMax": 250, + "outMin": 50 + }, + "params": { + "CRAH": [ + -9, + 0, + 9 + ], + "DH": [ + -5, + 0, + -3, + 5, + -5 + ], + "DOAS": [ + 1, + 2, + 3, + 4 + ], + "FCU": [ + -9, + -8, + -7, + -6, + -5, + -4, + -3, + -2, + -1, + 0, + -5, + 5, + -5, + 5, + -5, + 5, + -5, + 5, + -5, + 5, + -5, + 5 + ], + "RTU": [ + -1, + -2, + -3 + ] + }, + "propConfig": { + "custom.Color": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.ColorHandler.Auxiliary.AncilliarySpace_1288": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.ER_1284": { + "binding": { + "config": { + "path": "view.params.FCU[13]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.ER_1287": { + "binding": { + "config": { + "path": "view.params.FCU[12]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.FirePblg_1285": { + "binding": { + "config": { + "path": "view.params.FCU[9]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.StreamIDF_1286": { + "binding": { + "config": { + "path": "view.params.FCU[10]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorA_1290": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorB_1291": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorC1_1293_1": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorD1_1293": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorD2_1293_2": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorE_1294": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorF_1295": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorG_1296": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorH1_1297_1": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorH2_1297_2": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH1.DH1_1260": { + "binding": { + "config": { + "path": "view.params.DH[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH1.Gallery_1261": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH1.Gallery_1262": { + "binding": { + "config": { + "path": "view.params.DH[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH1.StreamIDF_1264": { + "binding": { + "config": { + "path": "view.params.FCU[15]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH1.TenantIDF_1263": { + "binding": { + "config": { + "path": "view.params.CRAH[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH2.DH2_1270": { + "binding": { + "config": { + "path": "view.params.DH[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH2.Gallery_1271": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH2.Gallery_1272": { + "binding": { + "config": { + "path": "view.params.DH[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH2.StreamIDF_1274": { + "binding": { + "config": { + "path": "view.params.FCU[14]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH2.TenantIDF_1273": { + "binding": { + "config": { + "path": "view.params.CRAH[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH4.DH4_1280": { + "binding": { + "config": { + "path": "view.params.DH[4]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH4.Gallery_1281": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH4.Gallery_1282": { + "binding": { + "config": { + "path": "view.params.DH[4]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1242": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1243": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1244": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1245": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1246": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1247": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1248": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1249": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1250": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1251": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1252": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1254": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1255": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1256": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1257": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1258": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.MEP_1253": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.MechPower_1240": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.MehcPower_1241": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Offices.ER_1229": { + "binding": { + "config": { + "path": "view.params.FCU[18]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Offices.PblgFP_132": { + "binding": { + "config": { + "path": "view.params.FCU[21]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Offices.StreamIDF_1218": { + "binding": { + "config": { + "path": "view.params.FCU[19]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Offices.TenantOfficeShell_1200": { + "binding": { + "config": { + "path": "view.params.RTU[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.inMax": { + "persistent": true + }, + "custom.inMin": { + "persistent": true + }, + "custom.outMax": { + "persistent": true + }, + "custom.outMin": { + "persistent": true + }, + "params.CRAH": { + "paramDirection": "input", + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.DOAS": { + "paramDirection": "input", + "persistent": true + }, + "params.FCU": { + "paramDirection": "input", + "persistent": true + }, + "params.RTU": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 312, + "width": 1155 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Second Floor" + }, + "position": { + "height": 300, + "width": 1155 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.ER_1284" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.FirePblg_1285" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.StreamIDF_1286" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.ER_1287" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.AncilliarySpace_1288" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairC_1290" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorA_1290" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorB_1291" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorF_1295" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorH1_1297_1" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairA_1223" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.UNKNOWN" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairB_1298" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairD_1283" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorD2_1293_2" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorH2_1297_2" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorD1_1293" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorH1_1297_1" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorC1_1293_1" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorE_1294" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorG_1296" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH2.StreamIDF_1274" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH2.TenantIDF_1273" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH2.Gallery_1271" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH2.Gallery_1272" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH2.DH2_1270" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH1.StreamIDF_1264" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH1.TenantIDF_1263" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH1.Gallery_1261" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH1.Gallery_1262" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH1.DH1_1260" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1257" + }, + "type": "property" + } + }, + "props.elements[4].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1248" + }, + "type": "property" + } + }, + "props.elements[4].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1247" + }, + "type": "property" + } + }, + "props.elements[4].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1246" + }, + "type": "property" + } + }, + "props.elements[4].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1245" + }, + "type": "property" + } + }, + "props.elements[4].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1244" + }, + "type": "property" + } + }, + "props.elements[4].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1243" + }, + "type": "property" + } + }, + "props.elements[4].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1242" + }, + "type": "property" + } + }, + "props.elements[4].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.MehcPower_1241" + }, + "type": "property" + } + }, + "props.elements[4].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.MechPower_1240" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1258" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1256" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1255" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1254" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.MEP_1253" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1252" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1251" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1250" + }, + "type": "property" + } + }, + "props.elements[4].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1249" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.StreamIDF_1218" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.Receiving_1233" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.MRR_1221" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.TenantOfficeShell_1200" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.Space_1179" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.ER_1229" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.Freight_1230" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.PblgFP_132" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.Vestibule_1292" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.Freight_1232" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.Pass_1225" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.DAS_1219" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.WRR_1222" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH4.Gallery_1281" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH4.Gallery_1282" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH4.DH4_1280" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[128].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[129].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[130].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[131].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[132].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[133].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[134].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[135].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[136].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[137].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[138].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[139].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[140].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[141].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[142].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[143].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[144].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "51.095", + "id": "_1284-ELEC", + "name": "_1284-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.57" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "159", + "id": "_1285-FIRE---PLBG", + "name": "_1285-FIRE---PLBG", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "459" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.959", + "id": "_1286-STREAM-IDF", + "name": "_1286-STREAM-IDF", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "48.401", + "id": "_1287-ELEC", + "name": "_1287-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "715.959" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "413.89", + "id": "_1288-ANCILLARY-SPACE", + "name": "_1288-ANCILLARY-SPACE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "764.36" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "74.162", + "id": "_1290-STAIRS-C", + "name": "_1290-STAIRS-C", + "type": "rect", + "width": "203.609", + "x": "1515.79", + "y": "1178.24" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.034", + "id": "_1298-STAIRS-B", + "name": "_1298-STAIRS-B", + "type": "rect", + "width": "203.488", + "x": "3802.63", + "y": "1178.22" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "204.973", + "id": "_1283-STAIRS-D", + "name": "_1283-STAIRS-D", + "type": "rect", + "width": "85", + "x": "3.128", + "y": "359.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-2-CORRIDOR-D-2", + "name": "_1293-2-CORRIDOR-D-2", + "type": "rect", + "width": "1565.25", + "x": "88.378", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297-2-CORRIDOR-H-2", + "name": "_1297-2-CORRIDOR-H-2", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-CORRIDOR-D-1", + "name": "_1293-CORRIDOR-D-1", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.652", + "id": "_1297-1-CORRIDOR-H-1", + "name": "_1297-1-CORRIDOR-H-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "1134.59" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-1-CORRIDOR-C-1", + "name": "_1293-1-CORRIDOR-C-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "170.5" + }, + { + "d": "M2894.63,1135l165.5,0l0,-119.139l-89.5,0.035l2.66,-626.222l86.84,-0.439l0,-46.294l-84.5,0.05l0.136,-107.491l-81.136,-0l0,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1294-CORRIDOR-E", + "name": "_1294-CORRIDOR-E", + "type": "path" + }, + { + "d": "M183.628,1135l63.25,0l0,-792.225l-84.75,0l0,-107.275l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1296-CORRIDOR-G", + "name": "_1296-CORRIDOR-G", + "type": "path" + }, + { + "d": "M4372.13,641.334l0,94.166l105.352,0l-0,-27.647l107.148,-0l0,-66.519l-99.279,0.357l0.16,-34.158l-74.688,-0.533l-0,34.334l-38.693,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1290-CORRIDOR-A", + "name": "_1290-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.084", + "id": "_1291-CORRIDOR-B", + "name": "_1291-CORRIDOR-B", + "type": "rect", + "width": "64.5", + "x": "4307.63", + "y": "235.5" + }, + { + "d": "M1488.64,1135l164.992,0l0,-120.965l-89.5,0l0,-626.5l89.5,0l0,-44.535l-84.25,-0.059l-0.189,-107.441l-80.561,-0l0.008,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1295-CORRIDOR-F", + "name": "_1295-CORRIDOR-F", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297--1-CORRIDOR-H-1", + "name": "_1297--1-CORRIDOR-H-1", + "type": "rect", + "width": "1469.5", + "x": "184.128", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1223-STAIRS-A", + "name": "_1223-STAIRS-A", + "type": "rect", + "width": "58.258", + "x": "4477.13", + "y": "707.853" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "50", + "x": "4373.13", + "y": "735.5" + } + ], + "id": "Corridors-and-Stairs", + "name": "Corridors-and-Stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.24", + "id": "_1274-STREAM-IDF", + "name": "_1274-STREAM-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "948.76" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "561.225", + "id": "_1273-TENANT-IDF", + "name": "_1273-TENANT-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "387.535" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1271-GALLERY", + "name": "_1271-GALLERY", + "type": "rect", + "width": "1325.56", + "x": "1569.06", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1272-GALLERY", + "name": "_1272-GALLERY", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.245", + "id": "_1270-DATA-HALL-2", + "name": "_1270-DATA-HALL-2", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "342.941" + } + ], + "id": "DH2", + "name": "DH2", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "66.58", + "id": "_1264-STREAM-IDF", + "name": "_1264-STREAM-IDF", + "type": "rect", + "width": "88.5", + "x": "2971.13", + "y": "389.603" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "559.317", + "id": "_1263-TENANT-IDF", + "name": "_1263-TENANT-IDF", + "type": "rect", + "width": "89", + "x": "2971.13", + "y": "456.183" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1261-GALLERY", + "name": "_1261-GALLERY", + "type": "rect", + "width": "1331.87", + "x": "2975.76", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1262-GALLERY-", + "name": "_1262-GALLERY-", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1260-DATAHALL---1", + "name": "_1260-DATAHALL---1", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "342.775" + } + ], + "id": "DH1", + "name": "DH1", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1257-ER", + "name": "_1257-ER", + "type": "rect", + "width": "231.631", + "x": "329.128", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1258-ER", + "name": "_1258-ER", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1256-ER", + "name": "_1256-ER", + "type": "rect", + "width": "232.369", + "x": "560.759", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.5", + "id": "_1255-ER", + "name": "_1255-ER", + "type": "rect", + "width": "231.771", + "x": "793.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1254-ER", + "name": "_1254-ER", + "type": "rect", + "width": "233.733", + "x": "1024.9", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1253-MEP-ROOM", + "name": "_1253-MEP-ROOM", + "type": "rect", + "width": "237.71", + "x": "1258.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1252-ER", + "name": "_1252-ER", + "type": "rect", + "width": "238.786", + "x": "1496.34", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1251-ER", + "name": "_1251-ER", + "type": "rect", + "width": "232.058", + "x": "1735.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1250-ER", + "name": "_1250-ER", + "type": "rect", + "width": "232.442", + "x": "1967.19", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1249-ER", + "name": "_1249-ER", + "type": "rect", + "width": "232.5", + "x": "2199.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1248-ER", + "name": "_1248-ER", + "type": "rect", + "width": "231.642", + "x": "2432.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1247-ER", + "name": "_1247-ER", + "type": "rect", + "width": "239.226", + "x": "2663.77", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1246-ER", + "name": "_1246-ER", + "type": "rect", + "width": "238.331", + "x": "2903", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1245-ER", + "name": "_1245-ER", + "type": "rect", + "width": "232.897", + "x": "3141.33", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1244-ER", + "name": "_1244-ER", + "type": "rect", + "width": "231.5", + "x": "3374.22", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1243-ER", + "name": "_1243-ER", + "type": "rect", + "width": "231.5", + "x": "3606.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1242-ER", + "name": "_1242-ER", + "type": "rect", + "width": "231.5", + "x": "3838.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1241-MECH-POWER", + "name": "_1241-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4070.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1240-MECH-POWER", + "name": "_1240-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4301.63", + "y": "0.345" + } + ], + "id": "Elec-Mech-Rooms", + "name": "Elec-Mech-Rooms", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1218-STREAM-IDF", + "name": "_1218-STREAM-IDF", + "type": "rect", + "width": "90.036", + "x": "4372.13", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1179-Space", + "name": "_1179-Space", + "type": "rect", + "width": "61.464", + "x": "4462.16", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "116", + "id": "_1229-ELEC", + "name": "_1229-ELEC", + "type": "rect", + "width": "62", + "x": "4372.13", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1230-FREIGHT", + "name": "_1230-FREIGHT", + "type": "rect", + "width": "101", + "x": "4434.13", + "y": "815.754" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "91.008", + "id": "_132-PLBG-FP", + "name": "_132-PLBG-FP", + "type": "rect", + "width": "132", + "x": "4372.13", + "y": "1087.08" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "74.548", + "id": "_1292-VESTIBULE", + "name": "_1292-VESTIBULE", + "type": "rect", + "width": "217.056", + "x": "4419.07", + "y": "933" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1232-FREIGHT", + "name": "_1232-FREIGHT", + "type": "rect", + "width": "101", + "x": "4535.13", + "y": "816.127" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "_1225-PASS", + "name": "_1225-PASS", + "type": "rect", + "width": "54", + "x": "4423.13", + "y": "735.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1219-DAS", + "name": "_1219-DAS", + "type": "rect", + "width": "49.241", + "x": "4535.39", + "y": "707.853" + }, + { + "d": "M4372.43,468.5l-0.3,173.191l38.714,0.309l0.316,-35.019l37.175,-0l0,-138.481l-75.905,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1222-WRR", + "name": "_1222-WRR", + "type": "path" + }, + { + "d": "M4372.13,1087.5l0,-154.225l46.944,-0.275l0,74.548l85.056,0l0,79.952l-132,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1233-RECEIVING", + "name": "_1233-RECEIVING", + "type": "path" + }, + { + "d": "M4523.33,468.5l0.297,173.191l-38.252,0.309l0.132,-34.62l-37.176,-0.399l0,-138.481l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1221-MRR", + "name": "_1221-MRR", + "type": "path" + }, + { + "d": "M4372.13,170.944l161.521,-0.409l-0,-170.19l241.055,0l-0.026,417.527l33.233,0.171l-0,368.658l-33.257,-0.446l-0.026,393.745l-270.392,-1.913l0.071,-169.285l131.771,1.464l0,-192.326l-51.45,-3.725l0,-174.843l-60.43,-0.041l-1.014,-234.56l-151.056,-2.093l0,-231.734Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1200-TENANT-OFFICE-SHELL", + "name": "_1200-TENANT-OFFICE-SHELL", + "type": "path" + } + ], + "id": "Offices", + "name": "Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1281-GALLERY", + "name": "_1281-GALLERY", + "type": "rect", + "width": "1326.5", + "x": "162.128", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1282-GALLERY", + "name": "_1282-GALLERY", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1280-DATA-HALL-4", + "name": "_1280-DATA-HALL-4", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "342.775" + } + ], + "id": "DH4", + "name": "DH4", + "type": "group" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "style": { + "transition": "fill 0.25s linear" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,368.223l-33.283,0l0,391.5l-787.5,0.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3967.13,1178.09l-2264.08,0.15", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1680.63,1178.24l-157,0.01", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4129.13,170.306l133,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,978.886l0,36.649l-88.5,0l0,-626.3l4.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3014.13,389.235l45.5,-0l0,100.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,527.535l0,413", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2971.13,456.183l88.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4317.63,170.306l-35.5,-0.021l20.397,0.021l-0,-169.961l-1399.13,0l0.04,170.19", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-41,0l20.835,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3586.39,170.5l40.213,-0l-20.874,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3565.92,170.5l-153.279,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3374.13,0.035l-0.25,170.465l19.081,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,90.184", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,24.301l0,-97.908", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,956.535l0,220.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.7,1130l-0,5l1247.92,0l0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1091.5l0,-32.5l0,4.798l-1247.92,-0l-0,-4.798l-0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2975.76,279.882l-0,-44.382l1331.86,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,319.166l0,23.775l-1331.67,0l-0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,1021.17l0,-559.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,423.535l0,-36l-89.5,0l0,575l0,-13.648l89.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1564.13,974.035l0,40l89.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1017.79l0,-633.291", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1020l0,-677.059", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M184.128,918.535l0,-159l0,5l-96,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4533.65,0.345l-0,170.19l-176.861,0l15.34,0l0,109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,298.432l0,109.5l0,-5.038l151.68,0l-0,238.345l-38.283,-0l0,-4.417l0,4.417l99.103,-0l0,4.785", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4584.63,667.425l0,149.11l51.45,0l0,136.168l0,-20.246l-8.65,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.08,972.948l0,34.587l-145.952,0l13.62,0l0,170.552", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1178.09l0,-22.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1117.98l0,-50.944l0,20.024l131.228,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1010.86l0,-37.914", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4433.13,1007.78l-14,0l0,-34.837", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.38,953.035l0.14,-25.363l0,5.363l71.412,0l-9.032,0l-0.439,-116.588l-11.395,-0.077l-0.116,-80.663l-19.82,0l36.569,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4381.72,735.785l-9.343,-0.25l0,172l0,-91.03l212.25,-0.24", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4476.97,817.035l0.655,-81.5l-10.409,0l10.409,0l0,-27.682l4.315,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4502.13,707.853l57.115,-0l-23.559,-0l0,225.182l-9.557,0l15.999,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.13,953.035l0,-20", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4410.88,637.035l-0,4.656l-38.448,0l0,-213.533", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,468.395l151.811,-0.471", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4461.67,468.395l-0.188,-64.361", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4448.33,467.924l-0.495,139.076l37.671,0.035l-0,9.778l-0,-9.778l-74.351,0l0,9.873", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Second-Floor-Walls", + "name": "Second-Floor-Walls", + "style": { + "transition": "fill 0.25s linear" + }, + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "pointer-events": "none" + }, + "viewBox": "0 0 4809 1255" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e4b8ac35dd15d1332f516384e773a8d6597314b473473fcd71989a2698f0117a b/Gateways/FE/projects/.resources/e4b8ac35dd15d1332f516384e773a8d6597314b473473fcd71989a2698f0117a new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/.resources/e4b8ac35dd15d1332f516384e773a8d6597314b473473fcd71989a2698f0117a differ diff --git a/Gateways/FE/projects/.resources/e4c6715fa7ebad4335cf4cc810331ef6656a036c5e4c52ca33bf53f836f14520 b/Gateways/FE/projects/.resources/e4c6715fa7ebad4335cf4cc810331ef6656a036c5e4c52ca33bf53f836f14520 new file mode 100644 index 0000000..7b61f82 --- /dev/null +++ b/Gateways/FE/projects/.resources/e4c6715fa7ebad4335cf4cc810331ef6656a036c5e4c52ca33bf53f836f14520 @@ -0,0 +1,74 @@ +{ + "custom": {}, + "propConfig": { + "props.auth": { + "access": "PRIVATE", + "persistent": false + }, + "props.device.accelerometer": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.identifier": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.timezone": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.type": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.userAgent": { + "access": "SYSTEM", + "persistent": false + }, + "props.gateway": { + "access": "SYSTEM", + "persistent": false + }, + "props.geolocation.data": { + "access": "SYSTEM", + "persistent": false + }, + "props.geolocation.permissionGranted": { + "access": "SYSTEM", + "persistent": false + }, + "props.host": { + "access": "SYSTEM", + "persistent": false + }, + "props.id": { + "access": "SYSTEM", + "persistent": false + }, + "props.lastActivity": { + "access": "SYSTEM", + "persistent": false + }, + "props.offline.capable": { + "access": "SYSTEM", + "persistent": false + }, + "props.offline.enabled": { + "access": "SYSTEM", + "persistent": false + }, + "props.offline.lastSynced": { + "access": "SYSTEM", + "persistent": false + } + }, + "props": { + "address": "172.30.47.17", + "device": {}, + "geolocation": {}, + "locale": "en-US", + "offline": {}, + "theme": "stream-light", + "timeZoneId": "Etc/UTC" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e4d23c5ec4bd5f2e8d3ab110780e469be6b07c142e4d28d88abc5d95908251a1 b/Gateways/FE/projects/.resources/e4d23c5ec4bd5f2e8d3ab110780e469be6b07c142e4d28d88abc5d95908251a1 new file mode 100644 index 0000000..23e96f0 Binary files /dev/null and b/Gateways/FE/projects/.resources/e4d23c5ec4bd5f2e8d3ab110780e469be6b07c142e4d28d88abc5d95908251a1 differ diff --git a/Gateways/FE/projects/.resources/e528f3544b48b6d40292e0822122b42a97e7264b9b075b9b9adb28faca921aa8 b/Gateways/FE/projects/.resources/e528f3544b48b6d40292e0822122b42a97e7264b9b075b9b9adb28faca921aa8 new file mode 100644 index 0000000..447e08f --- /dev/null +++ b/Gateways/FE/projects/.resources/e528f3544b48b6d40292e0822122b42a97e7264b9b075b9b9adb28faca921aa8 @@ -0,0 +1,80 @@ +# Find ALL the devices with a String, set 1 to Enable, 0 to Disable them +def UpdateAllDevices(target): + deviceDataset = system.device.listDevices() + for i in range(0, deviceDataset.getRowCount()): + deviceName = deviceDataset.getValueAt(i, "Name") + if target == 0: + system.device.setDeviceEnabled(deviceName, target) + print "Device: Disabled %s"%(deviceName) + if target == 1: + system.device.setDeviceEnabled(deviceName, target) + print "Device: Enabled %s"%(deviceName) + +#Update the devices with a specific string in the name. 1 to enable - 0 to disable +def UpdateDeviceType(taget, deviceType): + deviceDataset = system.device.listDevices() + for i in range(0, deviceDataset.getRowCount()): + deviceName = deviceDataset.getValueAt(i, "Name") + if deviceName.find(deviceType)>-1: + if target == 0: + system.device.setDeviceEnabled(deviceName, target) + print "Device: Disabled %s"%(deviceName) + if target == 1: + system.device.setDeviceEnabled(deviceName, target) + print "Device: Enabled %s"%(deviceName) + +def UpdatePanelParams(path, namespace, opc, tagname): + subpaths = [{'name':'/AC Primary Power Fault', 'ext':'.JA_01'}, + {'name':'/AC Secondary Power Fault', 'ext':'.JA_02'}, + {'name':'/DC Power Supply 1 Fault', 'ext':'.JA_03'}, + {'name':'/DC Power Supply 2 Fault', 'ext':'.JA_04'}, + {'name':'/High Temperature', 'ext':'.TAH'}, + {'name':'/Panel Intrusion', 'ext':'.XA'}] + print "===== Updating Panel Parameters =====" + for subtag in subpaths: + tagpath = str(path) + str(subtag['name']) + tag = system.tag.getConfiguration(tagpath) + name = str(tagname) + str(subtag['ext']) + tag[0]['parameters']['Namespace'] = namespace + tag[0]['parameters']['OPC'] = opc + tag[0]['parameters']['Tag'] = name + system.tag.configure(path, tag, "o") + print "updating: " + str(subtag) + print "===== Panel Parameters Updated =====" + +def UpdateUTParams(path, namespace, opc, tagname): + subpaths = [{'name':'/Liquid Level Alarm', 'ext':'.LA'}, + {'name':'/Liquid Temperature Alarm High', 'ext':'.TAH'}, + {'name':'/Liquid Temperature Alarm High High', 'ext':'.TAHH'}, + {'name':'/Pressure Relief Device Alarm', 'ext':'.PRD_ALM'}, + {'name':'/Pressure Switch', 'ext':'.PSW'}, + {'name':'/Rapid Rise Relay Tripped', 'ext':'.RRR_TRIP'}, + {'name':'/Rapid Rise Relay Warning', 'ext':'.RRR_ALM'}, + {'name':'/Source 1 Switch', 'ext':'.ZSO01'}, + {'name':'/Source 2 Switch', 'ext':'.ZSO02'}, + {'name':'/Vacuum Fault Interrupter1 Tripped', 'ext':'.VFI01'}, + {'name':'/Vacuum Fault Interrupter2 Tripped', 'ext':'.VFI02'}, + {'name':'/Vacuum Switch', 'ext':'.VSW'}] + + for subtag in subpaths: + tagpath = str(path) + str(subtag['name']) + tag = system.tag.getConfiguration(tagpath) + name = str(tagname) + str(subtag['ext']) + tag[0]['parameters']['Namespace'] = namespace + tag[0]['parameters']['OPC'] = opc + tag[0]['parameters']['Tag'] = name + system.tag.configure(path, tag, "o") + +#def setHistory(UDTNAme): + #parentPath = "[default]_types_/Objects/TEST" + #configs = system.tag.getConfiguration(parentPath, True) + +#for folder in configs[0]['tags']: +# UDTName = [folder['name']][0] +# print UDTName +# UDTs = system.tag.getConfiguration(parentPath +'/'+ UDTName, True) +# for tag in UDTs[0]['tags']: +# if str(tag['tagType']) == 'AtomicTag': +# tag['historyEnabled'] = True +# print tag + \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e5705c41c3cf15b9af2632a290c902e012dd779ec50d8dab204d8241b95fd1e3 b/Gateways/FE/projects/.resources/e5705c41c3cf15b9af2632a290c902e012dd779ec50d8dab204d8241b95fd1e3 new file mode 100644 index 0000000..4a40239 --- /dev/null +++ b/Gateways/FE/projects/.resources/e5705c41c3cf15b9af2632a290c902e012dd779ec50d8dab204d8241b95fd1e3 @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "UT", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e59eca1f22a420e2c3ab6f3dec04ae6ed656cc86aded64024836625894413d52 b/Gateways/FE/projects/.resources/e59eca1f22a420e2c3ab6f3dec04ae6ed656cc86aded64024836625894413d52 new file mode 100644 index 0000000..4598261 Binary files /dev/null and b/Gateways/FE/projects/.resources/e59eca1f22a420e2c3ab6f3dec04ae6ed656cc86aded64024836625894413d52 differ diff --git a/Gateways/FE/projects/.resources/e5f4734555f44169bbbc8d7363a54b7b8e18917b7d61ffde2424f202c01f9fab b/Gateways/FE/projects/.resources/e5f4734555f44169bbbc8d7363a54b7b8e18917b7d61ffde2424f202c01f9fab new file mode 100644 index 0000000..7d92060 --- /dev/null +++ b/Gateways/FE/projects/.resources/e5f4734555f44169bbbc8d7363a54b7b8e18917b7d61ffde2424f202c01f9fab @@ -0,0 +1,35 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.path": { + "binding": { + "config": { + "path": "session.custom.user_settings.Homepage" + }, + "type": "property" + } + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e6117dd4fea53b2cbfdb6ea4e6c9bb2f060dc17316d4b4a44f3616f00fa68ec7 b/Gateways/FE/projects/.resources/e6117dd4fea53b2cbfdb6ea4e6c9bb2f060dc17316d4b4a44f3616f00fa68ec7 new file mode 100644 index 0000000..6ab64aa --- /dev/null +++ b/Gateways/FE/projects/.resources/e6117dd4fea53b2cbfdb6ea4e6c9bb2f060dc17316d4b4a44f3616f00fa68ec7 @@ -0,0 +1,132 @@ +def trace_power_flow(): + """ + Traces power flow through a series of connected transformers (UTs). + - Reads the state of all switches. + - Determines which components are energized and from which source. + - Writes the results back to memory tags. + """ + + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + # [Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1 + ut_names = ["UT-P2-1", "UT-P2-2", "UT-P2-3", "UT-P2-4", "UT-P2-5"] + providers = ["[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_"] + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/DS2A_W4', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/DS2B_W4'] + idx = 0 + for name in ut_names: + # Assuming your UDT instances are in a folder named 'UTs' + base_path = providers[idx] + name + tag_paths_to_read.append("{}/Source 1 Switch".format(base_path)) + tag_paths_to_read.append("{}/Source 2 Switch".format(base_path)) + idx+=1 + + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['DS-2A_Live'] = tag_values[0].value + values['DS-2B_Live'] = tag_values[1].value + + read_idx = 2 + for name in ut_names: + values[name] = { + 'Switch_L_Status': tag_values[read_idx].value, + 'Switch_R_Status': tag_values[read_idx + 1].value} + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['DS-2A_Live']: + q.append( ("UT-P2-1", "DS-1A2") ) + if values['DS-2B_Live']: + q.append( ("UT-P2-5", "DS-1B2") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ut_name, source = q.pop(0) + + if current_ut_name in visited: + continue + + visited.add(current_ut_name) + energized_state[current_ut_name] = source + current_ut_index = ut_names.index(current_ut_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ut_names) - 1: + neighbor_name = ut_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ut_name]['Switch_R_Status']['Value'] and values[neighbor_name]['Switch_L_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ut_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ut_name]['Switch_L_Status']['Value'] and values[neighbor_name]['Switch_R_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source)) + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + idx = 0 + for name in ut_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + tag_paths_to_write.append(providers[idx] + name + "/Data/isEnergized") + values_to_write.append(is_energized) + tag_paths_to_write.append(providers[idx] + name + "/Data/PowerSource") + values_to_write.append(power_source) + idx += 1 + + line_tags_base_path = "[Ignition_Common_IO_Gtwy]Cables/UT/" + #print energized_state + # Loop through each connection between UTs + for i in range(len(ut_names) - 1): + ut1_name = ut_names[i] + ut2_name = ut_names[i+1] + line_energized = (ut1_name in energized_state and + ut2_name in energized_state and + #energized_state[ut1_name] == energized_state[ut2_name] and + values[ut1_name]['Switch_R_Status']['Value'] and + values[ut2_name]['Switch_L_Status']['Value']) + #print ut1_name + " : " + str(ut1_name in energized_state) +" & "+str(values[ut1_name]['Switch_R_Status']['Value']) + #print energized_state[ut1_name] + " = " + energized_state[ut2_name] + #print ut2_name + " : " + str(ut2_name in energized_state) +" & "+str(values[ut1_name]['Switch_L_Status']['Value']) + line_tag_name = "Line_{}_to_{}".format(ut1_name, ut2_name) + # Construct the full tag path directly to the boolean tag + full_tag_path = line_tags_base_path + line_tag_name + # Add the path and the calculated value to our list for writing + tag_paths_to_write.append(full_tag_path) + values_to_write.append(line_energized) + #print full_tag_path + " : " + str(line_energized) + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e695fff81be4dbdb72391ab6c6e28fce0c008a3fab047381d3ba8cb9579e8118 b/Gateways/FE/projects/.resources/e695fff81be4dbdb72391ab6c6e28fce0c008a3fab047381d3ba8cb9579e8118 new file mode 100644 index 0000000..58ec370 --- /dev/null +++ b/Gateways/FE/projects/.resources/e695fff81be4dbdb72391ab6c6e28fce0c008a3fab047381d3ba8cb9579e8118 @@ -0,0 +1,2056 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": true + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 105, + "width": 381 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DP-UPS-HS2" + }, + "position": { + "height": 105, + "width": 381 + }, + "propConfig": { + "props.elements[10].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[10].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[10].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[9].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[9].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[9].elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "284.992", + "x": "0", + "y": "11.25" + }, + { + "d": "M0,15.268l0,-4.018l3.77,0l-0,0.75l-3.02,-0l0,3.268l-0.75,-0Zm9.047,-4.018l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.556,0l-0,0.75l-7.54,0l-0,-0.75l7.54,0Zm5.277,0l-0,0.75l-2.262,0l-0,-0.75l2.262,0Zm10.555,0l-0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.277,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.278,0l-0,0.75l-2.262,0l-0,-0.75l2.262,0Zm10.555,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l-0,0.75l-2.262,0l-0,-0.75l2.262,0Zm10.555,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.278,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm6.786,4.018l-0.75,-0c-0,-0 -0,-3.268 -0,-3.268l-3.02,0l-0,-0.75l3.77,0l-0,4.018Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-3.77,7.232l-0,-0.75l3.02,0l-0,-3.268l0.75,0l-0,4.018l-3.77,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l-0,-0.75l2.261,0l0,0.75l-2.261,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l-0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.261,0l0,0.75l-2.261,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.278,0l0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.277,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-6.785,-4.018l0.75,0c0,0 0,3.268 0,3.268l3.02,0l-0,0.75l-3.77,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M279.394,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l271.894,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M198.75,31.476l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M153.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M198.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M243.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M199.875,21.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "198.75", + "cy": "21.75", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,20.625c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "198.75", + "cy": "30.75", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,29.625c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M203.535,21.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,218.881,22.4932)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "800AF", + "type": "text", + "x": "206.604px", + "y": "22.493px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,218.439,26.2819)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "700AT", + "type": "text", + "x": "206.472px", + "y": "26.282px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,221.06,30.0339)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI, NC", + "type": "text", + "x": "206.472px", + "y": "30.034px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,217.129,34.0134)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "100%", + "type": "text", + "x": "206.472px", + "y": "34.013px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M19.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "18.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M23.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,36.2221,61.2735)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "26.572px", + "y": "61.274px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,32.6943,65.0622)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "26.44px", + "y": "65.062px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,48.4414,68.8142)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "26.44px", + "y": "68.814px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M64.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "63.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "63.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M68.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,81.5764,61.2735)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "71.927px", + "y": "61.274px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,78.0485,65.0622)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "71.794px", + "y": "65.062px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,93.7956,68.8142)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "71.794px", + "y": "68.814px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "108.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M113.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,126.365,61.2735)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "116.715px", + "y": "61.274px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,122.837,65.0622)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "116.583px", + "y": "65.062px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,138.584,68.8142)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "116.583px", + "y": "68.814px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "d": "M154.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "153.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M153.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "153.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M153.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M158.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,170.997,61.2735)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "161.348px", + "y": "61.274px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,167.47,65.0622)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "161.215px", + "y": "65.062px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,183.217,68.8142)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "161.215px", + "y": "68.814px" + } + ], + "id": "Text4", + "name": "Text4", + "type": "group" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + }, + { + "elements": [ + { + "d": "M199.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "198.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "198.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M203.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,216.254,61.2735)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "206.604px", + "y": "61.274px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,212.726,65.0622)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "206.472px", + "y": "65.062px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,228.473,68.8142)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "206.472px", + "y": "68.814px" + } + ], + "id": "Text5", + "name": "Text5", + "type": "group" + } + ], + "id": "CB05", + "name": "CB05", + "type": "group" + }, + { + "elements": [ + { + "d": "M244.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "243.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M243.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "243.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M243.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M248.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": 1.5, + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,261.277,61.2735)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "251.627px", + "y": "61.274px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,257.749,65.0622)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "251.495px", + "y": "65.062px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,273.496,68.8142)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "251.495px", + "y": "68.814px" + } + ], + "id": "Text6", + "name": "Text6", + "type": "group" + } + ], + "id": "CB06", + "name": "CB06", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,272.22,2.99479)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DP-UPS-HS2", + "type": "text", + "x": "246.984px", + "y": "2.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,278.668,6.78345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "800A, 480V3PH", + "type": "text", + "x": "246.852px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,268.851,10.5355)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3W65kAIC", + "type": "text", + "x": "246.852px", + "y": "10.535px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 286 79" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e6be6515171366c3b45b64b8b2b59c0f01ea24b785197a865dd9562a03c7b61f b/Gateways/FE/projects/.resources/e6be6515171366c3b45b64b8b2b59c0f01ea24b785197a865dd9562a03c7b61f new file mode 100644 index 0000000..8f76b9f --- /dev/null +++ b/Gateways/FE/projects/.resources/e6be6515171366c3b45b64b8b2b59c0f01ea24b785197a865dd9562a03c7b61f @@ -0,0 +1,1634 @@ +{ + "custom": { + "LA": "/Liquid Level Alarm", + "PRD": "/Pressure Relief Device Alarm", + "PSW": "/Pressure Switch", + "RRR_TRIP": "/Rapid Rise Relay Tripped", + "RRR_WRN": "/Rapid Rise Relay Warning", + "TAH": "/Liquid Temperature Alarm High", + "TAHH": "/Liquid Temperature Alarm High High", + "VFI01": "/Vacuum Fault Interrupter1 Tripped", + "VFI02": "/Vacuum Fault Interrupter2 Tripped", + "VSW": "/Vacuum Switch", + "ZSO01": "/Source 1 Switch", + "ZSO02": "/Source 2 Switch", + "inTagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1" + }, + "params": { + "embedded": false, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1" + }, + "propConfig": { + "custom.LA": { + "persistent": true + }, + "custom.PRD": { + "persistent": true + }, + "custom.PSW": { + "persistent": true + }, + "custom.RRR_TRIP": { + "persistent": true + }, + "custom.RRR_WRN": { + "persistent": true + }, + "custom.TAH": { + "persistent": true + }, + "custom.TAHH": { + "persistent": true + }, + "custom.VFI01": { + "persistent": true + }, + "custom.VFI02": { + "persistent": true + }, + "custom.VSW": { + "persistent": true + }, + "custom.ZSO01": { + "persistent": true + }, + "custom.ZSO02": { + "persistent": true + }, + "custom.inTagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.ZSO01\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.ZSO01}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "150PX" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.ZSO01} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Source 1 Switch", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.ZSO02\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.ZSO02}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "150PX" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.ZSO02} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Source 2 Switch", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "150px" + }, + "props": { + "justify": "space-around", + "style": { + "gap": 5, + "padding": 5 + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.LA\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.LA}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.LA} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA03}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Liquid Level Alarm", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.TAH\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.TAH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.TAH} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA04}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Liquid Temperature Alarm High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.TAHH\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.TAHH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.TAHH} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.TAH}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Liquid Temperature Alarm High High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.VSW\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.VSW}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_5" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.VSW} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Vacuum Switch", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.PSW\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.PSW}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_6" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.PSW} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Pressure Switch", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.RRR_WRN\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.RRR_WRN}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_7" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.RRR_WRN} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Rapid Rise Relay Warning", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.RRR_TRIP\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.RRR_TRIP}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_8" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.RRR_TRIP} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Rapid Rise Realy Tripped", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.PRD\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.PRD}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_9" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.PRD} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Pressure Relief Device Alarm", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.VFI01\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.VFI01}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_10" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.VFI01} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Vacuum Fault Interrupter 1 Tripped", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.VFI02\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.VFI02}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_11" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.VFI02} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Vacuum Fault Interrupter 2 Tripped", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "310px" + }, + "props": { + "justify": "space-around", + "style": { + "gap": 15, + "padding": 10 + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e6d7f4b3c7c05e373e4f7db2ead55588d7c2257851846b9f6fbc8179bf05847c b/Gateways/FE/projects/.resources/e6d7f4b3c7c05e373e4f7db2ead55588d7c2257851846b9f6fbc8179bf05847c new file mode 100644 index 0000000..db8e34e Binary files /dev/null and b/Gateways/FE/projects/.resources/e6d7f4b3c7c05e373e4f7db2ead55588d7c2257851846b9f6fbc8179bf05847c differ diff --git a/Gateways/FE/projects/.resources/e7030c13d6e4a79dfe4a1c47b0ed72f460caad76217360f308cd7a6d74a89e9d b/Gateways/FE/projects/.resources/e7030c13d6e4a79dfe4a1c47b0ed72f460caad76217360f308cd7a6d74a89e9d new file mode 100644 index 0000000..284bab1 Binary files /dev/null and b/Gateways/FE/projects/.resources/e7030c13d6e4a79dfe4a1c47b0ed72f460caad76217360f308cd7a6d74a89e9d differ diff --git a/Gateways/FE/projects/.resources/e725d5abb1beb852a015b8d420aad03a829711e51c3a22e8a6f1af3e98353dfb b/Gateways/FE/projects/.resources/e725d5abb1beb852a015b8d420aad03a829711e51c3a22e8a6f1af3e98353dfb new file mode 100644 index 0000000..b05bfba Binary files /dev/null and b/Gateways/FE/projects/.resources/e725d5abb1beb852a015b8d420aad03a829711e51c3a22e8a6f1af3e98353dfb differ diff --git a/Gateways/FE/projects/.resources/e75acca21af2de50531e6a05c8a8db4edd06c1f9f7fa96b9d7388c6b5f6443de b/Gateways/FE/projects/.resources/e75acca21af2de50531e6a05c8a8db4edd06c1f9f7fa96b9d7388c6b5f6443de new file mode 100644 index 0000000..cd9f779 --- /dev/null +++ b/Gateways/FE/projects/.resources/e75acca21af2de50531e6a05c8a8db4edd06c1f9f7fa96b9d7388c6b5f6443de @@ -0,0 +1,172 @@ +{ + "custom": { + "name": "CRAH-123", + "status": "Disabled" + }, + "params": { + "rowData": { + "Name": "CRAH-123", + "State": "Disabled" + }, + "server": "value" + }, + "propConfig": { + "custom.name": { + "binding": { + "config": { + "path": "view.params.rowData" + }, + "transforms": [ + { + "code": "\treturn value[\u0027Name\u0027]", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.status": { + "binding": { + "config": { + "path": "view.params.rowData" + }, + "transforms": [ + { + "code": "\treturn value[\u0027State\u0027]", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.rowData": { + "paramDirection": "input", + "persistent": true + }, + "params.server": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 26, + "width": 177 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tstringName \u003d self.view.params.server\n\tremoteGatewayName \u003d [stringName] # As configured in the Gateway Network\n\tdeviceName \u003d self.view.custom.name # The name of the device on the remote gateway\n\tenableDevice \u003d True # Or False to disable\n\t\n\tpayload \u003d {\n\t \"deviceName\": deviceName,\n\t \"enabled\": enableDevice\n\t}\n\t\n\ttry:\n\t system.util.sendMessage(\n\t project\u003d\"global\", # Optional, but good practice if handler is project-specific\n\t messageHandler\u003d\"DeviceControl\", # Must match the message handler name on the remote gateway\n\t payload\u003dpayload,\n\t scope\u003d\"G\", # Gateway scope for remote execution\n\t remoteServers\u003dremoteGatewayName\n\t )\n\t msg \u003d \"Sent request to \u0027\"+ remoteGatewayName +\"\u0027 to set device \u0027\"+ deviceName +\"\u0027 to enabled\u003d\"+ str(enableDevice) +\".\"\n\t system.util.getLogger(\"LocalDeviceControl\").info(msg)\n\texcept Exception as e:\n\t\tmsg \u003d \"Error sending message to remote gateway: \" + str(e)\n\t\tsystem.util.getLogger(\"LocalDeviceControl\").error(msg)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "80px" + }, + "propConfig": { + "props.primary": { + "binding": { + "config": { + "path": "view.custom.status" + }, + "enabled": false, + "transforms": [ + { + "fallback": true, + "inputType": "scalar", + "mappings": [ + { + "input": "Disabled", + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Enable" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tstringName \u003d self.view.params.server\n\tremoteGatewayName \u003d [stringName] # As configured in the Gateway Network\n\tdeviceName \u003d self.view.custom.name # The name of the device on the remote gateway\n\tenableDevice \u003d False # Or False to disable\n\t\n\tpayload \u003d {\n\t \"deviceName\": deviceName,\n\t \"enabled\": enableDevice\n\t}\n\t\n\ttry:\n\t system.util.sendMessage(\n\t project\u003d\"global\", # Optional, but good practice if handler is project-specific\n\t messageHandler\u003d\"DeviceControl\", # Must match the message handler name on the remote gateway\n\t payload\u003dpayload,\n\t scope\u003d\"G\", # Gateway scope for remote execution\n\t remoteServers\u003d remoteGatewayName\n\t )\n\t msg \u003d \"Sent request to \u0027\"+ remoteGatewayName +\"\u0027 to set device \u0027\"+ deviceName +\"\u0027 to enabled\u003d\"+ str(enableDevice) +\".\"\n\t system.util.getLogger(\"LocalDeviceControl\").info(msg)\n\texcept Exception as e:\n\t\tmsg \u003d \"Error sending message to remote gateway: \" + str(e)\n\t\tsystem.util.getLogger(\"LocalDeviceControl\").error(msg)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "80px" + }, + "propConfig": { + "props.primary": { + "binding": { + "config": { + "path": "view.params.rowData.State" + }, + "enabled": false, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": "Disabled", + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Disabled" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "gap": "5px", + "paddingLeft": "5px", + "paddingRight": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e770147c9eec10c003830e31bd0096969d3c89b6f144dcd7409fffdbe5299864 b/Gateways/FE/projects/.resources/e770147c9eec10c003830e31bd0096969d3c89b6f144dcd7409fffdbe5299864 new file mode 100644 index 0000000..c029a84 --- /dev/null +++ b/Gateways/FE/projects/.resources/e770147c9eec10c003830e31bd0096969d3c89b6f144dcd7409fffdbe5299864 @@ -0,0 +1,164 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Limit Disch Air Temp Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Limit Ret Air Temp Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Low Limit Disch Air Temp Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Low Limit Ret Air Temp Setpoint" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FTR Delay Setpoint" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FTS Delay Setpoint" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/STU-8" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e77d3bafbbf7f83f593149c3c3621bacc75a7f7a7ce1d46d3a006b59df0b33f4 b/Gateways/FE/projects/.resources/e77d3bafbbf7f83f593149c3c3621bacc75a7f7a7ce1d46d3a006b59df0b33f4 new file mode 100644 index 0000000..44cdeab Binary files /dev/null and b/Gateways/FE/projects/.resources/e77d3bafbbf7f83f593149c3c3621bacc75a7f7a7ce1d46d3a006b59df0b33f4 differ diff --git a/Gateways/FE/projects/.resources/e7933498606f513b6c60feeb226cb2b47018826c6e408cd7f3f89b5e201a2583 b/Gateways/FE/projects/.resources/e7933498606f513b6c60feeb226cb2b47018826c6e408cd7f3f89b5e201a2583 new file mode 100644 index 0000000..65c1343 Binary files /dev/null and b/Gateways/FE/projects/.resources/e7933498606f513b6c60feeb226cb2b47018826c6e408cd7f3f89b5e201a2583 differ diff --git a/Gateways/FE/projects/.resources/e7bca9b9d50382c4851447d9311c1a55e2311b9379cfb0565b970366e61395fd b/Gateways/FE/projects/.resources/e7bca9b9d50382c4851447d9311c1a55e2311b9379cfb0565b970366e61395fd new file mode 100644 index 0000000..61fd848 --- /dev/null +++ b/Gateways/FE/projects/.resources/e7bca9b9d50382c4851447d9311c1a55e2311b9379cfb0565b970366e61395fd @@ -0,0 +1,2023 @@ +{ + "custom": { + "pageName": "P1.1" + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P1-1", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-HS1", + "source2": "UT-P1.2" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../UPS woCB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../UPS woCB_0.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../UPS woCB_0.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../UPS woCB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "../UPS woCB_0.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "../UPS woCB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "d": "M6604.19,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "d": "M6854.09,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "d": "M6604.09,2916.67l-3145.76,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "d": "M6854.09,3083.33l-4145.76,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group", + "visibility": "visible" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_G-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_CAM-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P1.1", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_UT-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_PDU-\u0027+tostr({view.params.pageName})+\u0027-1\u0027\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_PDU-\u0027+tostr({view.params.pageName})+\u0027-2\u0027\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_PDU-\u0027+tostr({view.params.pageName})+\u0027-2\u0027\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_PDU-\u0027+tostr({view.params.pageName})+\u0027-4\u0027\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS woCB" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.outputPower": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Operation Modes" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": 1 + }, + { + "input": 5, + "output": 1 + }, + { + "input": 6, + "output": 1 + }, + { + "input": 8, + "output": null + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_UPS-\u0027+tostr({view.params.pageName})+\u0027-1\u0027\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS woCB_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_UPS-\u0027+tostr({view.params.pageName})+\u0027-2\u0027\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SWBD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 0, + "breaker11": 0, + "breaker12": 0, + "breaker13": 0, + "breaker14": 1, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 0, + "breaker7": 0, + "breaker8": 0, + "breaker9": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD-P1.1", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "SPD", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EPMS_Nav" + }, + "position": { + "height": 140, + "width": 288, + "x": 1437, + "y": 10 + }, + "props": { + "params": { + "Room": "UT-P1.1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/EPMS_Nav" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e7bdde24e2721ffd95c2c7e0def5e867107c68103f2fcdd1b2ea725eed447b54 b/Gateways/FE/projects/.resources/e7bdde24e2721ffd95c2c7e0def5e867107c68103f2fcdd1b2ea725eed447b54 new file mode 100644 index 0000000..ed539ff Binary files /dev/null and b/Gateways/FE/projects/.resources/e7bdde24e2721ffd95c2c7e0def5e867107c68103f2fcdd1b2ea725eed447b54 differ diff --git a/Gateways/FE/projects/.resources/e7cd3f329305d7e6c9726dc1fd38b40456870d453a60de41242a0a30e7a94bfe b/Gateways/FE/projects/.resources/e7cd3f329305d7e6c9726dc1fd38b40456870d453a60de41242a0a30e7a94bfe new file mode 100644 index 0000000..b0e8c57 --- /dev/null +++ b/Gateways/FE/projects/.resources/e7cd3f329305d7e6c9726dc1fd38b40456870d453a60de41242a0a30e7a94bfe @@ -0,0 +1 @@ +INSERT INTO tag_notes (tag_path, body, last_updated, last_updated_by) VALUES (:tagPath, :body, CURRENT_TIMESTAMP, :user) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e7e707a4152f23865a5223a8b9f8d6745172f1948d31c5acaa7f0b3c2c0799be b/Gateways/FE/projects/.resources/e7e707a4152f23865a5223a8b9f8d6745172f1948d31c5acaa7f0b3c2c0799be new file mode 100644 index 0000000..34c26b9 --- /dev/null +++ b/Gateways/FE/projects/.resources/e7e707a4152f23865a5223a8b9f8d6745172f1948d31c5acaa7f0b3c2c0799be @@ -0,0 +1,621 @@ +{ + "custom": { + "trendConfig": { + "allPens": [ + { + "group": "misc", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Demand_SP", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Demand_SP" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Enable_ChillerCMDS", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Enable_ChillerCMDS" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ORef_Chillers", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/ORef_Chillers" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ref_Chillers", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Ref_Chillers" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_Avail_Chiller", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Sts_Avail_Chiller" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_Chillers", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Sts_Chillers" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_LineUp_Adjusting", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Sts_LineUp_Adjusting" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_LineUp_Complete", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Sts_LineUp_Complete" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_TransActive", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Sts_TransActive" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Val_Avail", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Val_Avail" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Val_Demand", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Val_Demand" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Val_Fdbk", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Val_Fdbk" + } + ] + } + ] + } + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947775165 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947775165 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e8730acf82c5ff9444f7906e07796c7982dc956bd2ce954b3a15807322f25f82 b/Gateways/FE/projects/.resources/e8730acf82c5ff9444f7906e07796c7982dc956bd2ce954b3a15807322f25f82 new file mode 100644 index 0000000..4a89763 --- /dev/null +++ b/Gateways/FE/projects/.resources/e8730acf82c5ff9444f7906e07796c7982dc956bd2ce954b3a15807322f25f82 @@ -0,0 +1,8 @@ +{ + "base": { + "style": { + "fontSize": "18px", + "fontWeight": "bold" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e8cef1f06ac40ad9b922abaa2b24074d867c28adc746754cdac42801531d8d16 b/Gateways/FE/projects/.resources/e8cef1f06ac40ad9b922abaa2b24074d867c28adc746754cdac42801531d8d16 new file mode 100644 index 0000000..fd84872 Binary files /dev/null and b/Gateways/FE/projects/.resources/e8cef1f06ac40ad9b922abaa2b24074d867c28adc746754cdac42801531d8d16 differ diff --git a/Gateways/FE/projects/.resources/e90760869f78935844c072360aea2ea10ee11238f580ce8cc309b01e9dd872fd b/Gateways/FE/projects/.resources/e90760869f78935844c072360aea2ea10ee11238f580ce8cc309b01e9dd872fd new file mode 100644 index 0000000..b96ba1a --- /dev/null +++ b/Gateways/FE/projects/.resources/e90760869f78935844c072360aea2ea10ee11238f580ce8cc309b01e9dd872fd @@ -0,0 +1,2342 @@ +{ + "custom": { + "pageName": "P1.5" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1261", + "IO1": "[Ignition_SATB1_IO1_default]", + "Room": "ER1246", + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P1-5", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-4_to_UT-P1-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-5_to_UT-M7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P1-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../DP-P.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "enabled": false, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-5" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO1_default]ER1246/SWBD/SATB1_ER1246_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 1, + "Gallery": "GAL1261", + "Gateway": "[Ignition_SATB1_IO1_default]", + "Linuep": 5 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 324, + "y": 33 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e9b66d67120910a632eb8a9833ac42a60b06ca4edf143f0ef0edf2ccac1afcb3 b/Gateways/FE/projects/.resources/e9b66d67120910a632eb8a9833ac42a60b06ca4edf143f0ef0edf2ccac1afcb3 new file mode 100644 index 0000000..a7e1f68 --- /dev/null +++ b/Gateways/FE/projects/.resources/e9b66d67120910a632eb8a9833ac42a60b06ca4edf143f0ef0edf2ccac1afcb3 @@ -0,0 +1,2758 @@ +{ + "custom": { + "DH": 5, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 5, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P5.5", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-5/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P5.5", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P5.5", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1165/SATB1_ER1165_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e9e6f3e8ed51908d47f3c3c52f7802414c579821aefcd685e5adf62ac1190795 b/Gateways/FE/projects/.resources/e9e6f3e8ed51908d47f3c3c52f7802414c579821aefcd685e5adf62ac1190795 new file mode 100644 index 0000000..bbc3bc8 --- /dev/null +++ b/Gateways/FE/projects/.resources/e9e6f3e8ed51908d47f3c3c52f7802414c579821aefcd685e5adf62ac1190795 @@ -0,0 +1,563 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Faulted": 0, + "Status": 1, + "StatusRunning": 1, + "colorHandler": { + "text": "var(--text-muted)" + } + }, + "params": { + "embedded": false, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]SR1133/SATB1_HS1_SR1136_EF01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Alarm Summary" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "struct": { + "faulted": "{view.custom.Faulted}", + "running": "{view.custom.StatusRunning}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d 0\n\tif value[\"faulted\"]:\n\t\toutput \u003d 2\n\telse:\n\t\tif value[\"running\"]:\n\t\t\toutput \u003d 1\n\t\telse:\n\t\t\toutput \u003d 0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.StatusRunning": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "EX Fan" + }, + "position": { + "height": 180, + "width": 180, + "x": 10, + "y": 10 + }, + "propConfig": { + "props.elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M275.352,356.545c0,63.241 -51.343,114.584 -114.583,114.584c-63.24,-0 -114.583,-51.343 -114.583,-114.584c-0,-63.24 51.343,-114.583 114.583,-114.583l174.266,0l-0,114.583l-59.683,0Z", + "fill": {}, + "id": "Fan", + "name": "Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,208.277,342.19)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "122.12px", + "y": "342.19px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,213.514,396.17)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(EF)", + "type": "text", + "x": "116.322px", + "y": "396.17px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,562.866,35.791)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Exhaust", + "type": "text", + "x": "382.202px", + "y": "35.791px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,504.578,86.6217)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "443.469px", + "y": "86.622px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + }, + { + "elements": [ + { + "d": "M335.035,294.949l139.294,-0l-0,-198.085", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M474.329,96.864l32.842,21.162", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M474.329,96.864l-32.842,21.162", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Arrow", + "name": "Arrow", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 563 496" + }, + "type": "ia.shapes.svg" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 92, + "width": 117, + "x": 10.000001907348633, + "y": 87 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 45, + "width": 38, + "x": 108.997, + "y": 62.4973 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 32, + "width": 80, + "x": 58.98, + "y": 69 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "EF" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 115, + "x": 5, + "y": 5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Room" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Room" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/e9ed7edecd89520eea3d8d513bc99a4c38eeb70225c26236e4e5e3a32a115ecb b/Gateways/FE/projects/.resources/e9ed7edecd89520eea3d8d513bc99a4c38eeb70225c26236e4e5e3a32a115ecb new file mode 100644 index 0000000..e54c21e Binary files /dev/null and b/Gateways/FE/projects/.resources/e9ed7edecd89520eea3d8d513bc99a4c38eeb70225c26236e4e5e3a32a115ecb differ diff --git a/Gateways/FE/projects/.resources/ea2e447ff63d2a14c99804b2016897841c488bc933ff09373bdccd1fbabb8dac b/Gateways/FE/projects/.resources/ea2e447ff63d2a14c99804b2016897841c488bc933ff09373bdccd1fbabb8dac new file mode 100644 index 0000000..d98626e Binary files /dev/null and b/Gateways/FE/projects/.resources/ea2e447ff63d2a14c99804b2016897841c488bc933ff09373bdccd1fbabb8dac differ diff --git a/Gateways/FE/projects/.resources/ea40791734050b3aec44d9ad14d77683a7879ea5525cf6bd02806b0efb098f61 b/Gateways/FE/projects/.resources/ea40791734050b3aec44d9ad14d77683a7879ea5525cf6bd02806b0efb098f61 new file mode 100644 index 0000000..94abe83 --- /dev/null +++ b/Gateways/FE/projects/.resources/ea40791734050b3aec44d9ad14d77683a7879ea5525cf6bd02806b0efb098f61 @@ -0,0 +1,33 @@ +def getHexColorFromInt(num, total=100): + import colorsys + + # Calculate the hue by evenly spacing values around the full 360-degree color wheel + hue = (float(num) / total) * 360 # Ensure hue varies between 0 and 360 degrees + hue = hue / 360 # Convert to range [0, 1] for colorsys compatibility + saturation = 0.8 # High saturation for vibrant colors + lightness = 0.5 # Moderate lightness for balanced colors + + # Convert HSL to RGB using the colorsys module + r, g, b = colorsys.hls_to_rgb(hue, lightness, saturation) + + # Convert RGB values to the 0-255 range and format as a hex color + r = int(r * 255) + g = int(g * 255) + b = int(b * 255) + + # Return the color as a hex string + color_hex = "#{:02x}{:02x}{:02x}".format(r, g, b) + return color_hex + +def getComplimentaryLabelColor(backgroundColor): + # Convert hex color to RGB components + r = int(backgroundColor[1:3], 16) + g = int(backgroundColor[3:5], 16) + b = int(backgroundColor[5:7], 16) + + # Calculate luminance (perceived brightness) using the formula + # Luminance formula adjusted for human perception + luminance = 0.299 * r + 0.587 * g + 0.114 * b + + # If the luminance is greater than 128, use black text; otherwise, use white text + return '#000000' if luminance > 128 else '#FFFFFF' \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ea5f431094334e61f73f356105cf758ed9c05878c78222bc474827074bcd53a4 b/Gateways/FE/projects/.resources/ea5f431094334e61f73f356105cf758ed9c05878c78222bc474827074bcd53a4 new file mode 100644 index 0000000..b3b3b5b Binary files /dev/null and b/Gateways/FE/projects/.resources/ea5f431094334e61f73f356105cf758ed9c05878c78222bc474827074bcd53a4 differ diff --git a/Gateways/FE/projects/.resources/ea92f6fbcc310fbc3f473d50dcb9ab648e4fe7b321044975e750f797ba95ac50 b/Gateways/FE/projects/.resources/ea92f6fbcc310fbc3f473d50dcb9ab648e4fe7b321044975e750f797ba95ac50 new file mode 100644 index 0000000..74a4bd9 --- /dev/null +++ b/Gateways/FE/projects/.resources/ea92f6fbcc310fbc3f473d50dcb9ab648e4fe7b321044975e750f797ba95ac50 @@ -0,0 +1,2150 @@ +{ + "custom": { + "colorHandler": { + "box": "var(--olGray)" + }, + "key": 0, + "swbd": "[Ignition_Common_IO_Gtwy]MPR1247", + "tagPaths": {} + }, + "params": { + "InPower_Src1": 0, + "InPower_Src2": 1, + "lineup": "M8", + "outputPower": {}, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247" + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.ATS": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027] + \u0027SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]+\u0027_BKR1\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "custom.colorHandler.box": { + "binding": { + "config": { + "path": "view.params.colorHandler.box" + }, + "enabled": false, + "type": "property" + } + }, + "custom.colorHandler.inputBus": { + "binding": { + "config": { + "path": "/root/SWBD_CB_Main.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.outputBus": { + "binding": { + "config": { + "path": "/root/SWBD_ATS.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.key": { + "binding": { + "config": { + "path": "/root/SWBD_ATS.props.params.outputPower" + }, + "type": "property" + }, + "persistent": true + }, + "custom.swbd": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + }, + "persistent": true + }, + "custom.tagPaths": { + "persistent": true + }, + "custom.tagPaths.ATS": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_ATS\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR1": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR1\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR2": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR2\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR3": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR3\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR4": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR4\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR6": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR6\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR7": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR7\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR8": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR8\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR9": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR9\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.PQM": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_PQM\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.mainBkr": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR_Main\u0027" + }, + "type": "expr" + } + }, + "params.InPower_Src1": { + "paramDirection": "input", + "persistent": true + }, + "params.InPower_Src2": { + "paramDirection": "input", + "persistent": true + }, + "params.lineup": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "paramDirection": "output", + "persistent": true + }, + "params.outputPower._1": { + "binding": { + "config": { + "path": "/root/SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._2": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_2.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._3": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_3.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._4": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_4.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._5": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_5.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._6": { + "binding": { + "config": { + "path": "/root/SWBD_CB_B_6.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._7": { + "binding": { + "config": { + "path": "/root/SWBD_CB_B_7.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._8": { + "binding": { + "config": { + "path": "/root/SWBD_CB_B_8.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._9": { + "binding": { + "config": { + "path": "/root/SWBD_CB_B_9.props.params.outputPower" + }, + "type": "property" + } + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 111, + "width": 1128 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "SWBD_Frame_M" + }, + "position": { + "height": 111, + "width": 1128 + }, + "propConfig": { + "props.elements[0].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inputBus" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M120,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M820.44,42.375l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M120,45l700.44,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M157.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M247.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M292.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M337.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M427.5,45l0,8.273", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M562.5,45l0,8.273", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M742.5,45l0,8.273", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M202.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M383,45l0,8.273", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Output", + "name": "Output", + "type": "group" + }, + { + "elements": [ + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l87.296,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,36.75l0,8.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Input", + "name": "Input", + "type": "group" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "red" + }, + "height": "67.5", + "name": "rect", + "type": "rect", + "width": "828.75", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l3.795,-0l-0,0.75l-3.045,-0l0,3.268l-0.75,-0Zm9.107,-4.018l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.627,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l-0,0.75l-7.59,-0l-0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l-0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.627,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.313,-0l-0,0.75l-2.278,-0l0,-0.75l2.278,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.311,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.624,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.626,-0l0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l-0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l-0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l-0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.627,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.278,-0l0,-0.75l2.278,-0Zm10.624,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.314,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.278,-0l0,-0.75l2.278,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.315,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.588,-0l-0,-0.75l7.588,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.588,-0l-0,-0.75l7.588,-0Zm5.314,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.31,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm6.831,4.018l-0.75,-0c0,-0 0,-3.268 0,-3.268l-3.045,-0l0,-0.75l3.795,-0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.795,7.232l0,-0.75l3.045,0l0,-3.268l0.75,0l0,4.018l-3.795,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.627,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l0,-0.75l7.59,0l0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.627,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.313,0l0,-0.75l2.278,0l-0,0.75l-2.278,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l-0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.311,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.624,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.626,0l-0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l-0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.627,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.278,0l-0,0.75l-2.278,0Zm-10.624,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.314,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.278,0l-0,0.75l-2.278,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.315,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.588,0l0,0.75l-7.588,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.588,0l0,0.75l-7.588,0Zm-5.314,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.31,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-6.831,-4.018l0.75,0c0,0 0,3.268 -0,3.268l3.045,0l-0,0.75l-3.795,0l-0,-4.018Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "d": "M60.375,78.75l-0.75,0l0,-4.018l0.75,0l0,4.018Zm0,-7.232l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-4.018l0.75,0l0,4.018Z", + "name": "path", + "type": "path" + }, + { + "d": "M139.125,78.75l-0.75,0l0,-4.018l0.75,0l0,4.018Zm0,-7.232l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-4.018l0.75,0l0,4.018Z", + "name": "path", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "837.845", + "x": "0", + "y": "7.5" + }, + { + "d": "M837.845,7.5l0,75l-837.845,-0l0,-75l837.845,0Zm-0.75,0.75l-836.345,0l0,73.5l836.345,-0l0,-73.5Z", + "fill": { + "paint": "#f00" + }, + "name": "path", + "type": "path" + }, + { + "d": "M838.203,0.648l6.49,6.489c0.198,0.199 0.198,0.522 -0,0.721l-6.49,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M837.508,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M837.2,1.849c0.134,-0.227 0.379,-0.367 0.643,-0.367c0.264,-0 0.509,0.14 0.642,0.367c1.412,2.401 4.769,8.113 6.195,10.541c0.136,0.231 0.138,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.267,0 -0.514,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M837.472,9.942l-0.39,-4.988l1.522,0l-0.378,4.988l-0.754,-0Zm-0.353,1.907l-0,-1.164l1.448,0l0,1.164l-1.448,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M842.652,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.656,-0c-0.266,-0 -0.481,-0.216 -0.481,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.481,-0.48l8.656,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M837.472,9.042l-0.39,-5.001l1.522,-0l-0.378,5.001l-0.754,0Zm-0.353,1.912l-0,-1.167l1.448,0l0,1.167l-1.448,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "837.843", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M836.057,9.232l-0.389,-5.617l1.522,-0l-0.378,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M838.943,9.232l-0.39,-5.617l1.522,-0l-0.378,5.617l-0.754,0Zm-0.353,2.148l-0,-1.31l1.448,-0l0,1.31l-1.448,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,795.305,3.03345)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "SWBD-M1", + "type": "text", + "visibility": "hidden", + "x": "775.4px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,832.665,6.78345)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "799.087px 800.245px ", + "y": "6.783px 6.783px " + }, + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "816.686px 817.843px ", + "y": "6.783px 6.783px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3000A, 480V3PH,3W65kAIC", + "type": "text", + "x": "775.375px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,787.501,10.4948)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "UL891", + "type": "text", + "x": "775.223px", + "y": "10.495px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 846 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "SWBD_CB_Main" + }, + "position": { + "height": 50, + "width": 52, + "x": 15, + "y": 7 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "view.params.InPower_Src1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.mainBkr" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "mainBkr": "{view.custom.tagPaths.mainBkr}" + }, + "tagPath": "{mainBkr}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Breaker X", + "outputPower": 0, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_ATS" + }, + "position": { + "height": 50, + "width": 65, + "x": 120, + "y": 40 + }, + "propConfig": { + "props.params.inputPower_E": { + "binding": { + "config": { + "path": "view.params.InPower_Src2" + }, + "type": "property" + } + }, + "props.params.inputPower_N": { + "binding": { + "config": { + "path": "../SWBD_CB_Main.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.ATS" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_ATS" + }, + "type": "ia.display.view" + }, + { + "custom": { + "objectName": "SWBDPQM" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.custom.tagPath\n\t\n\tobjectName \u003d self.custom.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD PQM1" + }, + "position": { + "height": 18, + "rotate": { + "anchor": "25% 50%" + }, + "width": 39, + "x": 191, + "y": 19 + }, + "propConfig": { + "custom.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.PQM" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#27669C", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "white", + "overflow": "visible" + }, + "text": "PQM", + "textStyle": { + "fontSize": 6, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SWBD Name" + }, + "position": { + "height": 20, + "width": 82, + "x": 1033, + "y": -13.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.lineup" + }, + "transforms": [ + { + "expression": "\"SWBD \"+{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGary)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.custom.tagPaths.BKR2\n\t\n\tobjectName \u003d self.custom.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD BKR 52F3" + }, + "position": { + "height": 10, + "rotate": { + "anchor": "25% 50%" + }, + "width": 35, + "x": 208.6, + "y": 65 + }, + "props": { + "style": { + "backgroundColor": "", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "", + "color": "", + "overflow": "visible" + }, + "text": "BKR 52F5", + "textStyle": { + "fontSize": 6, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "BreakerClosed": 1, + "colorHandler": { + "breakerIn": "black", + "breakerOut": "black" + } + }, + "meta": { + "name": "SWBD_CB_B_1" + }, + "position": { + "height": 51, + "width": 43, + "x": 195.5, + "y": 55.5 + }, + "propConfig": { + "custom.BreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Open-Closed" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.colorHandler.breakerIn": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.breakerOut": { + "binding": { + "config": { + "expression": "{view.params.inputPower} \u0026\u0026 {this.custom.BreakerClosed}\r\n" + }, + "enabled": false, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None: \n\t\treturn \"hidden\"\n\treturn value", + "type": "script" + }, + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker5" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M12.375,18c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.75px" + }, + "type": "path", + "visibility": "visible" + }, + { + "d": "M16.035,18c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "cx": "11.25", + "cy": "27", + "fill": {}, + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M11.25,25.875c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "11.25", + "cy": "18", + "fill": {}, + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "elements": [ + { + "id": "Line4", + "name": "Line4", + "transform": "matrix(4.16667,0,0,4.16667,29.5634,29.5687)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "", + "type": "text", + "x": "18.907px", + "y": "29.569px" + }, + { + "id": "Line3", + "name": "Line3", + "transform": "matrix(4.16667,0,0,4.16667,28.5503,25.8853)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "", + "type": "text", + "x": "19.055px", + "y": "25.885px" + }, + { + "id": "Line2", + "name": "Line2", + "transform": "matrix(4.16667,0,0,4.16667,31.1585,22.4233)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "60AT", + "type": "text", + "x": "19.192px", + "y": "22.423px" + }, + { + "id": "Line1", + "name": "Line1", + "transform": "matrix(4.16667,0,0,4.16667,31.4677,18.3302)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "150AF", + "type": "text", + "x": "19.192px", + "y": "18.33px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "backgroundColor": "#00000000", + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "clipRule": "evenodd" + }, + "viewBox": "0 0 33 39" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "SWBD_CB_A_2" + }, + "position": { + "height": 51, + "width": 43, + "x": 255, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR4" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_3" + }, + "position": { + "height": 51, + "width": 43, + "x": 315, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR3" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_4" + }, + "position": { + "height": 51, + "width": 43, + "x": 376, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR2" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_5" + }, + "position": { + "height": 51, + "width": 43, + "x": 435, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR1" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_6" + }, + "position": { + "height": 50, + "width": 52, + "x": 496, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR6" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_7" + }, + "position": { + "height": 50, + "width": 52, + "x": 555, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR7" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_8" + }, + "position": { + "height": 50, + "width": 52, + "x": 735, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR8" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_9" + }, + "position": { + "height": 50, + "width": 52, + "x": 975, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR9" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ea9e6232310745a5e65abf1c26cb6a54ce63761005f877837837c1ed44d3a2d4 b/Gateways/FE/projects/.resources/ea9e6232310745a5e65abf1c26cb6a54ce63761005f877837837c1ed44d3a2d4 new file mode 100644 index 0000000..d36a97b Binary files /dev/null and b/Gateways/FE/projects/.resources/ea9e6232310745a5e65abf1c26cb6a54ce63761005f877837837c1ed44d3a2d4 differ diff --git a/Gateways/FE/projects/.resources/eacb7e16657f8cb36f54de56fb770e25ee49fd5fd107b7ec57b72b962dca2d0b b/Gateways/FE/projects/.resources/eacb7e16657f8cb36f54de56fb770e25ee49fd5fd107b7ec57b72b962dca2d0b new file mode 100644 index 0000000..fff8a7b --- /dev/null +++ b/Gateways/FE/projects/.resources/eacb7e16657f8cb36f54de56fb770e25ee49fd5fd107b7ec57b72b962dca2d0b @@ -0,0 +1,162 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Cold Aisle Space Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Hot Aisle Differential Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Space Differential Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Cold Aisle Space Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Hot Aisle Space Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Space Dew Point Setpoint", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/eaf903d46838275613c8ed13a653accbef9c9f0f0f8c7ae982269a7ff48c3d33 b/Gateways/FE/projects/.resources/eaf903d46838275613c8ed13a653accbef9c9f0f0f8c7ae982269a7ff48c3d33 new file mode 100644 index 0000000..fe496f8 --- /dev/null +++ b/Gateways/FE/projects/.resources/eaf903d46838275613c8ed13a653accbef9c9f0f0f8c7ae982269a7ff48c3d33 @@ -0,0 +1,449 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 200, + "width": 600 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "alignContent": "space-around", + "alignItems": "center", + "direction": "column", + "elementPosition": { + "shrink": 0 + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + } + ], + "justify": "space-around", + "path": "Library/Symbols/HVAC/Sym_RTU_Status", + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 70, + "desiredLow": 50, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 40, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 32, + "processValue": 58.3 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 70, + "desiredLow": 50, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 40, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 32, + "processValue": 58.3 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 70, + "desiredLow": 50, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 40, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 32, + "processValue": 58.3, + "setpointValue": "" + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexRepeater_0" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "alignContent": "space-around", + "alignItems": "center", + "direction": "column", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "RTU01", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "RTU02", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + } + ], + "justify": "space-around", + "path": "Library/Symbols/HVAC/Sym_RTU_Status", + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 70, + "desiredLow": 50, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 40, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 32, + "processValue": 58.3 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 70, + "desiredLow": 50, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 40, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 32, + "processValue": 58.3 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "25%", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/eaffb4ba7160769c95bb31eb2e3dc1627349841395f20adae7ef664d2f3403c0 b/Gateways/FE/projects/.resources/eaffb4ba7160769c95bb31eb2e3dc1627349841395f20adae7ef664d2f3403c0 new file mode 100644 index 0000000..62663ec Binary files /dev/null and b/Gateways/FE/projects/.resources/eaffb4ba7160769c95bb31eb2e3dc1627349841395f20adae7ef664d2f3403c0 differ diff --git a/Gateways/FE/projects/.resources/eb0326d41844f6a2bb955be5c80fd17588a0127f2fc26b6b00d2227209a9d8e2 b/Gateways/FE/projects/.resources/eb0326d41844f6a2bb955be5c80fd17588a0127f2fc26b6b00d2227209a9d8e2 new file mode 100644 index 0000000..88a1517 --- /dev/null +++ b/Gateways/FE/projects/.resources/eb0326d41844f6a2bb955be5c80fd17588a0127f2fc26b6b00d2227209a9d8e2 @@ -0,0 +1,382 @@ +{ + "custom": { + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + } + }, + "params": { + "objectName": "VSD", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1/Source 1 Switch" + }, + "propConfig": { + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.auth_almShelve": { + "access": "PUBLIC" + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 835 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "transforms": [ + { + "code": "\treturn \u0027%s\u0027%(value)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.perspective.closePopup(\u0027\u0027)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_1" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "image": { + "height": 20, + "icon": { + "path": "material/close" + }, + "width": 20 + }, + "primary": false, + "style": { + "classes": "buttons/circle-icon" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)", + "border-top": "1px solid var(--border)", + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "36px", + "shrink": 0 + }, + "props": { + "text": "Alarms" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmStatusTable" + }, + "position": { + "basis": "400px" + }, + "propConfig": { + "props.enableAcknowledge": { + "binding": { + "config": { + "path": "view.custom.auth.almAck" + }, + "type": "property" + } + }, + "props.enableShelve": { + "binding": { + "config": { + "path": "view.custom.auth.almShelve" + }, + "type": "property" + } + }, + "props.enableUnshelve": { + "binding": { + "config": { + "path": "view.custom.auth.almShelve" + }, + "type": "property" + } + }, + "props.filters.active.conditions": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\tpathArr \u003d value.split(\"]\")\n\t\n\treturn {\"provider\":pathArr[0].replace(\"[\",\"\"), \"source\":\"*\"+pathArr[1]+\"*\"}", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "columns": { + "active": { + "activeTime": { + "width": 90 + }, + "displayPath": { + "width": 300 + }, + "name": { + "enabled": false + }, + "priority": { + "width": 50 + }, + "source": { + "enabled": false + }, + "state": { + "width": "auto" + } + } + }, + "filters": { + "active": { + "priorities": { + "critical": false, + "high": false, + "low": false, + "medium": false + }, + "states": { + "clearUnacked": false + } + } + }, + "pager": { + "enabled": false + }, + "rowStyles": { + "activeAcked": { + "priorities": { + "critical": { + "backgroundColor": "#e2202888" + }, + "high": { + "backgroundColor": "#de7c3388" + }, + "low": { + "backgroundColor": "#7266b788" + }, + "medium": { + "backgroundColor": "#f4b83488" + } + } + }, + "activeUnacked": { + "priorities": { + "critical": { + "backgroundColor": "var(--alarmred)" + }, + "high": { + "backgroundColor": "var(--sunsetorange)" + }, + "low": { + "backgroundColor": "var(--coolpurple)" + }, + "medium": { + "backgroundColor": "var(--goldenyellow)" + } + } + } + }, + "toolbar": { + "enablePreFilters": false + } + }, + "type": "ia.display.alarmstatustable" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "250px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.objectName" + }, + "transforms": [ + { + "fallback": true, + "inputType": "scalar", + "mappings": [ + { + "input": "FltCodeEnables", + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Body" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "props.params.auth": { + "binding": { + "config": { + "path": "view.custom.auth" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "path": "view.params.objectName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\"Library/Templates/\",{view.params.objectName},\"/Body\")" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "margin": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/eb18ac8ab072ccbf5c9fb4e0a18da798ca50fb28d09f30e48093290d168eef2c b/Gateways/FE/projects/.resources/eb18ac8ab072ccbf5c9fb4e0a18da798ca50fb28d09f30e48093290d168eef2c new file mode 100644 index 0000000..78750a1 Binary files /dev/null and b/Gateways/FE/projects/.resources/eb18ac8ab072ccbf5c9fb4e0a18da798ca50fb28d09f30e48093290d168eef2c differ diff --git a/Gateways/FE/projects/.resources/eb9324654b56b84ef92fb6d4735f3d5012fa45d233230ffca98103d87009ad34 b/Gateways/FE/projects/.resources/eb9324654b56b84ef92fb6d4735f3d5012fa45d233230ffca98103d87009ad34 new file mode 100644 index 0000000..328edfe Binary files /dev/null and b/Gateways/FE/projects/.resources/eb9324654b56b84ef92fb6d4735f3d5012fa45d233230ffca98103d87009ad34 differ diff --git a/Gateways/FE/projects/.resources/eb9662db4ccc1a970c8de48d8b4d1ee96819f17a9a15b0e0d9f7fd9f46e2778d b/Gateways/FE/projects/.resources/eb9662db4ccc1a970c8de48d8b4d1ee96819f17a9a15b0e0d9f7fd9f46e2778d new file mode 100644 index 0000000..b6e98cd Binary files /dev/null and b/Gateways/FE/projects/.resources/eb9662db4ccc1a970c8de48d8b4d1ee96819f17a9a15b0e0d9f7fd9f46e2778d differ diff --git a/Gateways/FE/projects/.resources/ebd7e84c81643f705e3b4412981c60b3eaf15d56976ffd2df5202fda304d2bc4 b/Gateways/FE/projects/.resources/ebd7e84c81643f705e3b4412981c60b3eaf15d56976ffd2df5202fda304d2bc4 new file mode 100644 index 0000000..0f09262 Binary files /dev/null and b/Gateways/FE/projects/.resources/ebd7e84c81643f705e3b4412981c60b3eaf15d56976ffd2df5202fda304d2bc4 differ diff --git a/Gateways/FE/projects/.resources/ebdd0e0c16c0397b2bc13847959a3c5e2a3f4ace719c33afc94b96e27d3ada47 b/Gateways/FE/projects/.resources/ebdd0e0c16c0397b2bc13847959a3c5e2a3f4ace719c33afc94b96e27d3ada47 new file mode 100644 index 0000000..359b21e --- /dev/null +++ b/Gateways/FE/projects/.resources/ebdd0e0c16c0397b2bc13847959a3c5e2a3f4ace719c33afc94b96e27d3ada47 @@ -0,0 +1,325 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "DX Cooling Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Dehumidifier State", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Heater 1 Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Heater 2 Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Humidifier Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Unit Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Operation Status", + "options": [ + "Primary", + "Stand by" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Ckt1 Compressor 1 Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Ckt2 Compressor 1 Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Heater 1 Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Humidifier Runtime", + "numDecimals": 1, + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ebfa19020896b1ace24c392992af45a05d0865b7cf4c11c0f453e1872e42aa54 b/Gateways/FE/projects/.resources/ebfa19020896b1ace24c392992af45a05d0865b7cf4c11c0f453e1872e42aa54 new file mode 100644 index 0000000..acaa160 --- /dev/null +++ b/Gateways/FE/projects/.resources/ebfa19020896b1ace24c392992af45a05d0865b7cf4c11c0f453e1872e42aa54 @@ -0,0 +1,96 @@ +{ + "custom": {}, + "params": { + "objectName": "FltCodeEnables", + "tagPath": "value" + }, + "propConfig": { + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 90 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Hiddn BTN" + }, + "position": { + "height": 41, + "rotate": { + "anchor": "25% 50%" + }, + "width": 139 + }, + "props": { + "style": { + "backgroundColor": "#27669C", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "white", + "overflow": "visible", + "padding": 10 + }, + "text": "FltCodes", + "textStyle": { + "fontSize": 16, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{session.props.auth.user.roles}" + }, + "transforms": [ + { + "code": "\troles \u003d value\n\tvisible \u003d False\n\tfor role in roles:\n\t\tif role \u003d\u003d \u0027Prime User\u0027:\n\t\t\tvisible \u003d True\n\t\t\treturn visible", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ec70d8035d3db6f3af65cf8d7f57b0a79b78a69e8d99c1eb4ceb7bd94632848b b/Gateways/FE/projects/.resources/ec70d8035d3db6f3af65cf8d7f57b0a79b78a69e8d99c1eb4ceb7bd94632848b new file mode 100644 index 0000000..3b8495e --- /dev/null +++ b/Gateways/FE/projects/.resources/ec70d8035d3db6f3af65cf8d7f57b0a79b78a69e8d99c1eb4ceb7bd94632848b @@ -0,0 +1,639 @@ +{ + "custom": { + "Temp": [ + null, + null, + null + ], + "gradient": [ + null, + null, + null + ], + "inMax": 5, + "inMin": -5, + "paths": [ + null, + null, + null + ] + }, + "params": { + "SP": 65, + "embedded": true, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200" + }, + "propConfig": { + "custom.Temp": { + "persistent": true + }, + "custom.Temp[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Val" + }, + "type": "tag" + } + }, + "custom.Temp[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.paths[1]}" + }, + "tagPath": "{1}/Val" + }, + "type": "tag" + } + }, + "custom.Temp[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "2": "{view.custom.paths[2]}" + }, + "tagPath": "{2}/Val" + }, + "type": "tag" + } + }, + "custom.gradient": { + "persistent": true + }, + "custom.gradient[0]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[0]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 5\n\tif value\u003cself.custom.inMin: value \u003d -5\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[1]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[1]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[2]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[2]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.inMax": { + "persistent": true + }, + "custom.inMin": { + "persistent": true + }, + "custom.paths": { + "persistent": true + }, + "custom.paths[0]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_TT01_C\")" + }, + "type": "expr" + } + }, + "custom.paths[1]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_TT02_C\")" + }, + "type": "expr" + } + }, + "custom.paths[2]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_TT03_C\")" + }, + "type": "expr" + } + }, + "params.SP": { + "paramDirection": "input", + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "uppterTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_TT01_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "upperHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_HT01_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInROCRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "upperTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "midTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[1]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_TT02_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "midHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_HT02_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInROCRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "midTransmitters" + }, + "position": { + "basis": "60%" + }, + "props": { + "alignContent": "space-between", + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "lowerTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[2]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_TT03_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "lowerHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_HT03_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInROCRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "lowerTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.backgroundImage": { + "binding": { + "config": { + "expression": "concat(\"linear-gradient(to bottom, rgba(00.0, 127.0,210.0, \",{view.custom.gradient[0]},\"), rgba(00.0, 127.0,210.0, \",{view.custom.gradient[1]},\"),rgba(00.0, 127.0,210.0, \",{view.custom.gradient[2]},\"))\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible", + "paddingBottom": "2px", + "paddingLeft": "2px", + "paddingRight": "2px", + "paddingTop": "2px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ec83ca7d5503cf41f2575b99b74b832c2ef1aa92ff21e8744638f06edcd42fa7 b/Gateways/FE/projects/.resources/ec83ca7d5503cf41f2575b99b74b832c2ef1aa92ff21e8744638f06edcd42fa7 new file mode 100644 index 0000000..2268685 --- /dev/null +++ b/Gateways/FE/projects/.resources/ec83ca7d5503cf41f2575b99b74b832c2ef1aa92ff21e8744638f06edcd42fa7 @@ -0,0 +1,2386 @@ +{ + "custom": { + "pageName": "P2.5" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1271", + "IO1": "[Ignition_SATB1_IO2_default]", + "Room": "ER1252", + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P2-5", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-4_to_UT-P2-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS2B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P2-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../DP-P.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "ER1252", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-5" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO2_default]ER1252/SWBD/SATB1_ER1252_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 2, + "Gallery": "GAL1271", + "Gateway": "[Ignition_SATB1_IO2_default]", + "Linuep": 5 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView", + "visible": false + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7", + "visible": false + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_8" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_9" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1136, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1256, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -3, + "y": 6 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ecab8255c1d6dccfac69cd03ec12440f414d5cd961805504b5125f84965661aa b/Gateways/FE/projects/.resources/ecab8255c1d6dccfac69cd03ec12440f414d5cd961805504b5125f84965661aa new file mode 100644 index 0000000..234e162 --- /dev/null +++ b/Gateways/FE/projects/.resources/ecab8255c1d6dccfac69cd03ec12440f414d5cd961805504b5125f84965661aa @@ -0,0 +1,601 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Faulted": 0, + "Status": 1, + "StatusRunning": 1, + "colorHandler": { + "text": "var(--text-muted)" + } + }, + "params": { + "embedded": false, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_ER1229_EF4_VFD" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Faulted": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "code": "\tif value\u003e0:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "struct": { + "faulted": "{view.custom.Faulted}", + "running": "{view.custom.StatusRunning}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d 0\n\tif value[\"faulted\"]:\n\t\toutput \u003d 2\n\telse:\n\t\tif value[\"running\"]:\n\t\t\toutput \u003d 1\n\t\telse:\n\t\t\toutput \u003d 0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.StatusRunning": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Motor/Status Running" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "EX Fan" + }, + "position": { + "height": 180, + "width": 180, + "x": 10, + "y": 10 + }, + "propConfig": { + "props.elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M275.352,356.545c0,63.241 -51.343,114.584 -114.583,114.584c-63.24,-0 -114.583,-51.343 -114.583,-114.584c-0,-63.24 51.343,-114.583 114.583,-114.583l174.266,0l-0,114.583l-59.683,0Z", + "fill": {}, + "id": "Fan", + "name": "Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,208.277,342.19)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "122.12px", + "y": "342.19px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,213.514,396.17)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(EF)", + "type": "text", + "x": "116.322px", + "y": "396.17px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,562.866,35.791)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Exhaust", + "type": "text", + "x": "382.202px", + "y": "35.791px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,504.578,86.6217)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "443.469px", + "y": "86.622px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + }, + { + "elements": [ + { + "d": "M335.035,294.949l139.294,-0l-0,-198.085", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M474.329,96.864l32.842,21.162", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M474.329,96.864l-32.842,21.162", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Arrow", + "name": "Arrow", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 563 496" + }, + "type": "ia.shapes.svg" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 92, + "width": 117, + "x": 10.000001907348633, + "y": 87 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 45, + "width": 38, + "x": 108.997, + "y": 62.4973 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 32, + "width": 80, + "x": 58.98, + "y": 69 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "EF" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 115, + "x": 5, + "y": 5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Room" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Room" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 35, + "width": 81, + "x": 87, + "y": 138.98 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Motor/Speed Feedback" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%", + "EU_Pos": 0, + "Size": 14, + "Value": 45, + "color": "var(--tagvalue-color)" + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ecf920e14033996f88deadad4d496e630a3d9f14e7229ec97700593ff4b160cf b/Gateways/FE/projects/.resources/ecf920e14033996f88deadad4d496e630a3d9f14e7229ec97700593ff4b160cf new file mode 100644 index 0000000..81ed117 Binary files /dev/null and b/Gateways/FE/projects/.resources/ecf920e14033996f88deadad4d496e630a3d9f14e7229ec97700593ff4b160cf differ diff --git a/Gateways/FE/projects/.resources/ecf943226e474d98498f9189f36203555861c3fa421bf697d9e7dfed0a62acc7 b/Gateways/FE/projects/.resources/ecf943226e474d98498f9189f36203555861c3fa421bf697d9e7dfed0a62acc7 new file mode 100644 index 0000000..9495da2 Binary files /dev/null and b/Gateways/FE/projects/.resources/ecf943226e474d98498f9189f36203555861c3fa421bf697d9e7dfed0a62acc7 differ diff --git a/Gateways/FE/projects/.resources/ed3e84f1725151b2a77a682b61a7ee8ba7c5eceadd73e3e7c814b50f430e934a b/Gateways/FE/projects/.resources/ed3e84f1725151b2a77a682b61a7ee8ba7c5eceadd73e3e7c814b50f430e934a new file mode 100644 index 0000000..7d64d38 Binary files /dev/null and b/Gateways/FE/projects/.resources/ed3e84f1725151b2a77a682b61a7ee8ba7c5eceadd73e3e7c814b50f430e934a differ diff --git a/Gateways/FE/projects/.resources/ed5e539d79d92ee2c8be66f84af6228d7a73c29ba8888e822e4782bbbc112e13 b/Gateways/FE/projects/.resources/ed5e539d79d92ee2c8be66f84af6228d7a73c29ba8888e822e4782bbbc112e13 new file mode 100644 index 0000000..055ffbe Binary files /dev/null and b/Gateways/FE/projects/.resources/ed5e539d79d92ee2c8be66f84af6228d7a73c29ba8888e822e4782bbbc112e13 differ diff --git a/Gateways/FE/projects/.resources/ee134ce7ca4b8bb266661af0a2f39812eb90f3fb3f8a8756fb455a0eb74ef04b b/Gateways/FE/projects/.resources/ee134ce7ca4b8bb266661af0a2f39812eb90f3fb3f8a8756fb455a0eb74ef04b new file mode 100644 index 0000000..215e429 Binary files /dev/null and b/Gateways/FE/projects/.resources/ee134ce7ca4b8bb266661af0a2f39812eb90f3fb3f8a8756fb455a0eb74ef04b differ diff --git a/Gateways/FE/projects/.resources/eec0e2b9582232ec048ff069a76a1339bf28747818695dcaaf842f71d6860796 b/Gateways/FE/projects/.resources/eec0e2b9582232ec048ff069a76a1339bf28747818695dcaaf842f71d6860796 new file mode 100644 index 0000000..021b56d --- /dev/null +++ b/Gateways/FE/projects/.resources/eec0e2b9582232ec048ff069a76a1339bf28747818695dcaaf842f71d6860796 @@ -0,0 +1,275 @@ +{ + "custom": { + "AlarmSeverity": null + }, + "params": { + "embeded": false, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_DP" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.embeded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 100 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "fontSize": 12, + "overflow": "visible" + }, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "format": "##0.0#", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "basis": "35px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "alignContent": "flex-start", + "style": { + "gap": "3px", + "overflow": "visible", + "paddingLeft": 3, + "paddingRight": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "basis": "0.1%" + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "style": { + "marginLeft": -10, + "marginTop": -15, + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif self.view.params.embeded:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\t\t\t\u0027top\u0027:\u00270\u0027,\n\t\t\t\t\u0027width\u0027: \u00271000px\u0027,\n\t\t\t\t\u0027height\u0027: \u0027800px\u0027\n\t\t\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\telse:\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible", + "padding": "3px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/eed242b6ec57f04805e5c1f1af87bf9aded7335554e15229d8d0b6ad8fbab72a b/Gateways/FE/projects/.resources/eed242b6ec57f04805e5c1f1af87bf9aded7335554e15229d8d0b6ad8fbab72a new file mode 100644 index 0000000..db6c1e0 Binary files /dev/null and b/Gateways/FE/projects/.resources/eed242b6ec57f04805e5c1f1af87bf9aded7335554e15229d8d0b6ad8fbab72a differ diff --git a/Gateways/FE/projects/.resources/eef06e7ed3c633519b195f9326b418fe419868264a7e910cf3cea9e0dd7d5397 b/Gateways/FE/projects/.resources/eef06e7ed3c633519b195f9326b418fe419868264a7e910cf3cea9e0dd7d5397 new file mode 100644 index 0000000..7ac7613 --- /dev/null +++ b/Gateways/FE/projects/.resources/eef06e7ed3c633519b195f9326b418fe419868264a7e910cf3cea9e0dd7d5397 @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/MV SWGR 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ef112a1f5e4b4a121810302369905f4fb96343363cf2914a42c424d008a6dc92 b/Gateways/FE/projects/.resources/ef112a1f5e4b4a121810302369905f4fb96343363cf2914a42c424d008a6dc92 new file mode 100644 index 0000000..398a356 --- /dev/null +++ b/Gateways/FE/projects/.resources/ef112a1f5e4b4a121810302369905f4fb96343363cf2914a42c424d008a6dc92 @@ -0,0 +1,336 @@ +{ + "custom": {}, + "params": {}, + "permissions": { + "securityLevels": [ + { + "children": [], + "name": "Authenticated" + } + ], + "type": "AllOf" + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "58px" + }, + "props": { + "text": "Configure your user preferences here:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "45%" + }, + "props": { + "text": "Homepage" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "256px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "path": "session.custom.user_settings.Homepage" + }, + "type": "property" + } + } + }, + "props": { + "options": [ + { + "label": "A101 Building Overview", + "value": "Pages/Dev/A_Building/L1/A101 Building Overview" + }, + { + "label": "B101 Chillers Dashboards", + "value": "Pages/Dev/B_Mechanical/L1/B101 ChillersDashboard" + }, + { + "label": "B102 Mech Layout", + "value": "Pages/Dev/B_Mechanical/L1/B102 Mech Layout" + }, + { + "label": "B201 CHW Pumps", + "value": "Pages/Dev/B_Mechanical/L2/B201 CHW Pumps" + }, + { + "label": "B202 Chillers", + "value": "Pages/Dev/B_Mechanical/L2/B202 Chillers" + }, + { + "label": "B203 Mechanical Overview", + "value": "Pages/Dev/B_Mechanical/L2/B203 Mech Overview" + }, + { + "label": "C101 Overview", + "value": "Pages/Dev/C_AirSystem/L1/C101 Overview" + }, + { + "label": "C102 Air Layout", + "value": "Pages/Dev/C_AirSystem/L1/C102 Layout" + }, + { + "label": "C201 DH01", + "value": "Pages/Dev/C_AirSystem/L2/C201 DH01" + }, + { + "label": "C202 DH02", + "value": "Pages/Dev/C_AirSystem/L2/C202 DH02" + }, + { + "label": "C203 DH03", + "value": "Pages/Dev/C_AirSystem/L2/C203 DH03" + }, + { + "label": "C204 DH204", + "value": "Pages/Dev/C_AirSystem/L2/C204 DH04" + }, + { + "label": "C205 DH205", + "value": "Pages/Dev/C_AirSystem/L2/C205 DH05" + }, + { + "label": "D101 Electrical Overview", + "value": "Pages/Dev/D_Electrical/L1/D101 Overview" + }, + { + "label": "D102 Electrical Layout", + "value": "Pages/Dev/D_Electrical/L1/D102 Layout" + }, + { + "label": "D103 Electrical Oneline", + "value": "Pages/Dev/D_Electrical/L1/D103 L1 Oneline" + } + ], + "style": { + "marginBottom": "5px", + "marginTop": "5px" + } + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "HomePage" + }, + "position": { + "basis": "34px" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "45%" + }, + "props": { + "text": "Theme" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RadioGroup" + }, + "position": { + "basis": "214.5px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "path": "session.custom.user_settings.Theme" + }, + "type": "property" + } + } + }, + "props": { + "radios": [ + { + "selected": true, + "text": "Light", + "value": "stream-light" + }, + { + "selected": false, + "text": "Dark", + "value": "stream-dark" + } + ] + }, + "type": "ia.input.radio-group" + } + ], + "meta": { + "name": "Light-Dark" + }, + "position": { + "basis": "37px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "45%" + }, + "props": { + "text": "Layout" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Layout" + }, + "position": { + "basis": "37px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "325px", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Settings" + }, + "position": { + "basis": "682px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\thomepage \u003d self.parent.parent.getChild(\"Settings\").getChild(\"FlexContainer\").getChild(\"HomePage\").getChild(\"Dropdown\").props.value\n\ttheme \u003d self.parent.parent.getChild(\"Settings\").getChild(\"FlexContainer\").getChild(\"Light-Dark\").getChild(\"RadioGroup\").props.value\n\tusername \u003d self.session.props.auth.user.userName\n\t\n\tutils.admin.user.saveAllSettings(homepage, theme, username)\n\t\n\tself.session.refreshBinding(\"custom.user_settings\")\n\tsystem.perspective.navigate(\"/\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "157px" + }, + "props": { + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "LastRow" + }, + "position": { + "basis": "44px" + }, + "props": { + "justify": "flex-end" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "setHomepage", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "Set Homepage", + "type": "method" + } + ] + }, + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "gap": "5px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ef2348e74ba034c10de3b6cb90d9c869d1916c68689a022da3f2fe40d604d439 b/Gateways/FE/projects/.resources/ef2348e74ba034c10de3b6cb90d9c869d1916c68689a022da3f2fe40d604d439 new file mode 100644 index 0000000..816690a Binary files /dev/null and b/Gateways/FE/projects/.resources/ef2348e74ba034c10de3b6cb90d9c869d1916c68689a022da3f2fe40d604d439 differ diff --git a/Gateways/FE/projects/.resources/f00c81887a52e372174601552d0308fbd7d6db35120054edb48e8c0cc428fab3 b/Gateways/FE/projects/.resources/f00c81887a52e372174601552d0308fbd7d6db35120054edb48e8c0cc428fab3 new file mode 100644 index 0000000..949c28a --- /dev/null +++ b/Gateways/FE/projects/.resources/f00c81887a52e372174601552d0308fbd7d6db35120054edb48e8c0cc428fab3 @@ -0,0 +1,785 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "Breaker", + "outputPower": 1, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "CB": "{/root/SWBD_CB.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027inputPower\u0027]:\n\t\treturn 1\n\telse: \n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 55, + "width": 57 + } + }, + "root": { + "children": [ + { + "custom": { + "BreakerClosed": true, + "colorHandler": { + "breakerIn": "var(--olGray)", + "breakerOut": "var(--olGray)" + } + }, + "meta": { + "name": "SWBD_CB" + }, + "position": { + "height": 51, + "width": 43 + }, + "propConfig": { + "custom.BreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Open-Closed" + }, + "enabled": false, + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif( value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027purple\u0027\n\tif value[\u0027inputPower\u0027] and value[\u0027CB\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "code": "\tif value is None: \n\t\treturn \"hidden\"\n\treturn value", + "type": "script" + }, + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027var(--olGray)\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027var(--olGray)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[1].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + }, + { + "code": "\tif value is None:\n\t\treturn \u0027hidden\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027var(--olGray)\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[3].fill": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027purple\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "expression": "{view.params.inputPower}" + }, + "overlayOptOut": true, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[5].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill": { + "binding": { + "config": { + "expression": "{view.params.textColor}" + }, + "type": "expr" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[1].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M12.375,18c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M16.035,18c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "11.25", + "cy": "27", + "fill": {}, + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M11.25,25.875c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "11.25", + "cy": "18", + "fill": {}, + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "elements": [ + { + "id": "Line4", + "name": "Line4", + "transform": "matrix(4.16667,0,0,4.16667,29.5634,29.5687)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "18.907px", + "y": "29.569px" + }, + { + "id": "Line3", + "name": "Line3", + "transform": "matrix(4.16667,0,0,4.16667,28.5503,25.8853)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "19.055px", + "y": "25.885px" + }, + { + "id": "Line2", + "name": "Line2", + "transform": "matrix(4.16667,0,0,4.16667,31.1585,22.4233)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "19.192px", + "y": "22.423px" + }, + { + "id": "Line1", + "name": "Line1", + "transform": "matrix(4.16667,0,0,4.16667,31.4677,18.3302)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "19.192px", + "y": "18.33px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "30", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "22.5", + "x": "0", + "y": "7.5" + }, + { + "d": "M22.5,7.5l0,30l-22.5,-0l0,-30l22.5,-0Zm-0.75,0.75l-21,0l-0,28.5l21,-0l0,-28.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M22.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M21.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M27.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "22.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M20.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M23.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "backgroundColor": "#00000000", + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "clipRule": "evenodd" + }, + "viewBox": "0 0 33 39" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 35, + "x": 16.4, + "y": 11.4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.textHandler.DeviceLabel" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmSeverity": -1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\n\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f0102b9cb3d2ac226cfe29cbc5ceb6dcafa26c0b0a6bed0dccb652934e7e7fdf b/Gateways/FE/projects/.resources/f0102b9cb3d2ac226cfe29cbc5ceb6dcafa26c0b0a6bed0dccb652934e7e7fdf new file mode 100644 index 0000000..e02791d --- /dev/null +++ b/Gateways/FE/projects/.resources/f0102b9cb3d2ac226cfe29cbc5ceb6dcafa26c0b0a6bed0dccb652934e7e7fdf @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/PID_Loop" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948226158 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948226158 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f0703c8da9aac662fcfe6889ff4546f887dcbdb1d9866d9c82e73133e2a3c058 b/Gateways/FE/projects/.resources/f0703c8da9aac662fcfe6889ff4546f887dcbdb1d9866d9c82e73133e2a3c058 new file mode 100644 index 0000000..1770873 --- /dev/null +++ b/Gateways/FE/projects/.resources/f0703c8da9aac662fcfe6889ff4546f887dcbdb1d9866d9c82e73133e2a3c058 @@ -0,0 +1,153 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "Slider" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SDC_IO1_default]New Tag1.CanWrite" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SDC_IO1_default]New Tag1" + }, + "type": "tag" + } + } + }, + "type": "ia.input.slider" + }, + { + "meta": { + "name": "PowerChart" + }, + "position": { + "basis": "600px" + }, + "props": { + "config": { + "rangeEndDate": { + "$": [ + "ts", + 0, + 1758720229448 + ], + "$ts": 1758720217429 + }, + "rangeStartDate": { + "$": [ + "ts", + 0, + 1758720229448 + ], + "$ts": 1758716629429 + }, + "tagBrowserStartPath": "[Ignition_SDC_IO1_default]", + "unitOfTime": 1, + "visibility": { + "showTagBrowser": true + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "pens": [ + { + "axis": "", + "data": { + "aggregateMode": "default", + "source": "histprov:Ignition_Hist:/drv:ignition-sdc-io1:default:/tag:new tag1" + }, + "display": { + "breakLine": true, + "interpolation": "curveLinear", + "radius": 3, + "styles": { + "highlighted": { + "fill": { + "color": "#63BEA2", + "opacity": 1 + }, + "stroke": { + "color": "#63BEA2", + "dashArray": 0, + "opacity": 1, + "width": 1 + } + }, + "muted": { + "fill": { + "color": "#63BEA2", + "opacity": 0.4 + }, + "stroke": { + "color": "#63BEA2", + "dashArray": 0, + "opacity": 0.4, + "width": 1 + } + }, + "normal": { + "fill": { + "color": "#63BEA2", + "opacity": 0.8 + }, + "stroke": { + "color": "#63BEA2", + "dashArray": 0, + "opacity": 0.8, + "width": 1 + } + }, + "selected": { + "fill": { + "color": "#63BEA2", + "opacity": 1 + }, + "stroke": { + "color": "#63BEA2", + "dashArray": 0, + "opacity": 1, + "width": 1 + } + } + }, + "type": "line" + }, + "enabled": true, + "name": "new tag1", + "plot": 0, + "selectable": true, + "visible": true + } + ] + }, + "type": "ia.chart.powerchart" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f0b4b8f3fd0871c2b087dcdbad445133b9f1aea9dc14a18b4c25d2838329ee3b b/Gateways/FE/projects/.resources/f0b4b8f3fd0871c2b087dcdbad445133b9f1aea9dc14a18b4c25d2838329ee3b new file mode 100644 index 0000000..dac625a Binary files /dev/null and b/Gateways/FE/projects/.resources/f0b4b8f3fd0871c2b087dcdbad445133b9f1aea9dc14a18b4c25d2838329ee3b differ diff --git a/Gateways/FE/projects/.resources/f111a38137141ce868be149ae01a7f6494ce6cf3983f524d0cb211f4d622b9c3 b/Gateways/FE/projects/.resources/f111a38137141ce868be149ae01a7f6494ce6cf3983f524d0cb211f4d622b9c3 new file mode 100644 index 0000000..e613023 --- /dev/null +++ b/Gateways/FE/projects/.resources/f111a38137141ce868be149ae01a7f6494ce6cf3983f524d0cb211f4d622b9c3 @@ -0,0 +1,184 @@ +{ + "custom": {}, + "params": { + "TagId": "value" + }, + "propConfig": { + "params.TagId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 264, + "width": 397 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "UTs Status", + "textStyle": { + "fontSize": 18, + "fontWeight": "bold", + "paddingLeft": 15 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "SimpleGauge" + }, + "position": { + "grow": 1 + }, + "props": { + "arc": { + "cornerRadius": 5 + }, + "endAngle": 425, + "label": { + "maxDecimal": 0, + "offsetY": 22, + "units": "/35" + }, + "maxValue": 35, + "startAngle": 120, + "value": 33 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Running", + "textStyle": { + "fontSize": 18, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer", + "tooltip": { + "width": "75%" + } + }, + "position": { + "basis": "268px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "alignVertical": "bottom", + "text": 2, + "textStyle": { + "color": "#F72A2A", + "fontSize": 40, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "50%" + }, + "props": { + "alignVertical": "top", + "text": "Faulted", + "textStyle": { + "fontSize": 18, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0", + "tooltip": { + "width": "25%" + } + }, + "position": { + "basis": "109px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "212px" + }, + "props": { + "justify": "space-evenly", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "#E3E3E3", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3, + "marginBottom": 10, + "marginLeft": 10, + "marginRight": 10, + "marginTop": 10, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f14049bf1995808dc9366b7548bb56d4c75d5a1bce6f9e0af8d6d39de01385de b/Gateways/FE/projects/.resources/f14049bf1995808dc9366b7548bb56d4c75d5a1bce6f9e0af8d6d39de01385de new file mode 100644 index 0000000..2774180 --- /dev/null +++ b/Gateways/FE/projects/.resources/f14049bf1995808dc9366b7548bb56d4c75d5a1bce6f9e0af8d6d39de01385de @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\t\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f1742153e6f8a1f393c46e4aadce52065df731bae6ebe7800ba11781ed1cf82b b/Gateways/FE/projects/.resources/f1742153e6f8a1f393c46e4aadce52065df731bae6ebe7800ba11781ed1cf82b new file mode 100644 index 0000000..080c40b Binary files /dev/null and b/Gateways/FE/projects/.resources/f1742153e6f8a1f393c46e4aadce52065df731bae6ebe7800ba11781ed1cf82b differ diff --git a/Gateways/FE/projects/.resources/f184d7e8c413c497698e2783670d8b82af78e5887e3fe0cfa16a39f12de33542 b/Gateways/FE/projects/.resources/f184d7e8c413c497698e2783670d8b82af78e5887e3fe0cfa16a39f12de33542 new file mode 100644 index 0000000..0f58d57 --- /dev/null +++ b/Gateways/FE/projects/.resources/f184d7e8c413c497698e2783670d8b82af78e5887e3fe0cfa16a39f12de33542 @@ -0,0 +1,195 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Close Delay Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Open Delay Setpoint" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Position Command Raw Maximum" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Position Command Raw Minimum" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Position Feedback Raw Maximum" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Position Feedback Raw Minimum" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Stall Deadband" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Stall Delay Setpoint" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Use Limit Switches" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Use Position Feedback" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES14_MOV67" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f1bad971cf81e73a2e132f13b64d1e2b3178491741a3fb1423083c1dca6cd03d b/Gateways/FE/projects/.resources/f1bad971cf81e73a2e132f13b64d1e2b3178491741a3fb1423083c1dca6cd03d new file mode 100644 index 0000000..c5028a7 Binary files /dev/null and b/Gateways/FE/projects/.resources/f1bad971cf81e73a2e132f13b64d1e2b3178491741a3fb1423083c1dca6cd03d differ diff --git a/Gateways/FE/projects/.resources/f2054140791eae4c48394d9156c3838667cb4ec4dbd1db3a5c80f521cdfd4d88 b/Gateways/FE/projects/.resources/f2054140791eae4c48394d9156c3838667cb4ec4dbd1db3a5c80f521cdfd4d88 new file mode 100644 index 0000000..242ea0e --- /dev/null +++ b/Gateways/FE/projects/.resources/f2054140791eae4c48394d9156c3838667cb4ec4dbd1db3a5c80f521cdfd4d88 @@ -0,0 +1,848 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Deadband" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Celcius To Farenheit" + }, + { + "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": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + } + ], + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_H0_TT01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "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 + }, + "custom.auth": { + "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", + "name": "HiHi 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/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_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" + }, + { + "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/Celcius To Farenheit\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Boolean", + "name": "Celcius to Farenheit", + "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/PV Decimal Places\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "name": "Decimal Places", + "options": [] + }, + "path": "Library/Framework/Tag ConfigV2" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_6" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f212ae805474e90bc6dedc601ae4e26f368f9ac4d714fea4a9bc40beb47c0c26 b/Gateways/FE/projects/.resources/f212ae805474e90bc6dedc601ae4e26f368f9ac4d714fea4a9bc40beb47c0c26 new file mode 100644 index 0000000..94a7acc --- /dev/null +++ b/Gateways/FE/projects/.resources/f212ae805474e90bc6dedc601ae4e26f368f9ac4d714fea4a9bc40beb47c0c26 @@ -0,0 +1,378 @@ +{ + "custom": { + "OCmd": { + "Reset": 0 + }, + "StsAuto": false + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_HS1_RM1152_CRAC2" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Enable": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Command Enable" + }, + "type": "tag" + } + }, + "custom.StsAuto": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Unit Status" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Enable \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "EnableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Enable" + }, + "type": "property" + } + } + }, + "props": { + "text": "Enable" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Enable \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "DisableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Enable" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": false + }, + { + "input": false, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Disable" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "375px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ResetBtn" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row02" + }, + "position": { + "basis": "375px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%", + "grow": 2 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Tag Config_0" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Return Air Temp Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Int4", + "format": "\u00270,0.##\u0027", + "name": "Return Air Temp Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Tag Config" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Return Air Hum Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "0,0.##", + "name": "Return Air Hum Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50%", + "grow": 12 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f2237341f132743e3885cfacff141801034bdaac03ffafb4310105af4291b2e0 b/Gateways/FE/projects/.resources/f2237341f132743e3885cfacff141801034bdaac03ffafb4310105af4291b2e0 new file mode 100644 index 0000000..c487aeb --- /dev/null +++ b/Gateways/FE/projects/.resources/f2237341f132743e3885cfacff141801034bdaac03ffafb4310105af4291b2e0 @@ -0,0 +1 @@ +UPDATE tag_notes SET body = :body, last_updated = CURRENT_TIMESTAMP, last_updated_by = :user WHERE id = :id \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f2627a01c70ac426d6ad664237bb4220c49e764d47fea5388784ec38f7884cc7 b/Gateways/FE/projects/.resources/f2627a01c70ac426d6ad664237bb4220c49e764d47fea5388784ec38f7884cc7 new file mode 100644 index 0000000..c50bc5e Binary files /dev/null and b/Gateways/FE/projects/.resources/f2627a01c70ac426d6ad664237bb4220c49e764d47fea5388784ec38f7884cc7 differ diff --git a/Gateways/FE/projects/.resources/f28986d6881a6bac5122f04b20aba2cad01bcc6a8646a57dbf2bdcee33132010 b/Gateways/FE/projects/.resources/f28986d6881a6bac5122f04b20aba2cad01bcc6a8646a57dbf2bdcee33132010 new file mode 100644 index 0000000..7038289 --- /dev/null +++ b/Gateways/FE/projects/.resources/f28986d6881a6bac5122f04b20aba2cad01bcc6a8646a57dbf2bdcee33132010 @@ -0,0 +1,678 @@ +{ + "custom": { + "Selected": { + "G1": "[Ignition_Common_IO_Gtwy]GAL1281", + "G2": "[Ignition_Common_IO_Gtwy]GAL1282", + "s1": "SATB1_CHW_TT05", + "s2": "SATB1_CHW_TT06", + "valve": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH1280_FCV72" + }, + "dps": [ + null, + null, + null, + null + ], + "fts": [ + null, + null + ], + "ret_tts": [ + null, + null + ], + "sup_tts": [ + null, + null + ] + }, + "params": { + "DH": "DH4" + }, + "propConfig": { + "custom.Selected": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "code": "\tdata \u003d {\n\t\t \"DH1\": {\n\t\t \"G1\": \"[Ignition_Common_IO_Gtwy]GAL1261\",\n\t\t \"G2\": \"[Ignition_Common_IO_Gtwy]GAL1262\",\n\t\t \"s1\": \"SATB1_CHW_TT03\",\n\t\t \"s2\": \"SATB1_CHW_TT04\",\n\t\t \"valve\": \"[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1260_FCV69\",\n\t\t },\n\t\t \"DH2\": {\n\t\t \"G1\": \"[Ignition_Common_IO_Gtwy]GAL1271\",\n\t\t \"G2\": \"[Ignition_Common_IO_Gtwy]GAL1272\",\n\t\t \"s1\": \"SATB1_CHW_TT07\",\n\t\t \"s2\": \"SATB1_CHW_TT08\",\n\t\t \"valve\": \"[Ignition_Common_IO_Gtwy]DH2/SATB1_DH1270_FCV70\",\n\t\t },\n\t\t \"DH3\": {\n\t\t \"G1\": \"[Ignition_Common_IO_Gtwy]GAL1171\",\n\t\t \"G2\": \"[Ignition_Common_IO_Gtwy]GAL1172\",\n\t\t \"s1\": \"SATB1_CHW_TT09\",\n\t\t \"s2\": \"SATB1_CHW_TT10\",\n\t\t \"valve\": \"[Ignition_Common_IO_Gtwy]DH3/SATB1_DH1170_FCV71\",\n\t\t },\n\t\t \"DH4\": {\n\t\t \"G1\": \"[Ignition_Common_IO_Gtwy]GAL1281\",\n\t\t \"G2\": \"[Ignition_Common_IO_Gtwy]GAL1282\",\n\t\t \"s1\": \"SATB1_CHW_TT05\",\n\t\t \"s2\": \"SATB1_CHW_TT06\",\n\t\t \"valve\": \"[Ignition_Common_IO_Gtwy]DH4/SATB1_DH1280_FCV72\",\n\t\t },\n\t\t \"DH5\": {\n\t\t \"G1\": \"[Ignition_Common_IO_Gtwy]GAL1181\",\n\t\t \"G2\": \"[Ignition_Common_IO_Gtwy]GAL1182\",\n\t\t \"s1\": \"SATB1_CHW_TT01\",\n\t\t \"s2\": \"SATB1_CHW_TT02\",\n\t\t \"valve\": \"[Ignition_Common_IO_Gtwy]DH5/SATB1_DH1180_FCV73\",\n\t\t }\n\t\t}\n\treturn data[value]", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.dps": { + "persistent": true + }, + "custom.dps[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_DP01/Val" + }, + "type": "tag" + } + }, + "custom.dps[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_DP02/Val" + }, + "type": "tag" + } + }, + "custom.dps[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_DP03/Val" + }, + "type": "tag" + } + }, + "custom.dps[3]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_DP04/Val" + }, + "type": "tag" + } + }, + "custom.fts": { + "persistent": true + }, + "custom.fts[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_FT01/Val" + }, + "type": "tag" + } + }, + "custom.fts[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_FT02/Val" + }, + "type": "tag" + } + }, + "custom.ret_tts": { + "persistent": true + }, + "custom.ret_tts[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_TT01/Val" + }, + "type": "tag" + } + }, + "custom.ret_tts[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_TT02/Val" + }, + "type": "tag" + } + }, + "custom.sup_tts": { + "persistent": true + }, + "custom.sup_tts[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "s1": "{view.custom.Selected.s1}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/{s1}/Val" + }, + "type": "tag" + } + }, + "custom.sup_tts[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "s2": "{view.custom.Selected.s2}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/{s2}/Val" + }, + "type": "tag" + } + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 110, + "width": 400 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Transmitter_24" + }, + "position": { + "height": 40, + "width": 60, + "x": 325, + "y": 69 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH} Tonnage Demand" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "tons", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_B" + }, + "position": { + "height": 75, + "width": 120, + "x": 260, + "y": 18 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.Selected.valve" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Layout": 4, + "objectName": "ValveC" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "MovingAnalogIndicator_36" + }, + "position": { + "height": 85, + "width": 70, + "x": 214, + "y": 5.99 + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "path": "view.custom.dps" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "desiredHigh": 25, + "desiredLow": 15, + "highAlarm": 28, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 12, + "lowInterlock": null, + "lowLowAlarm": null, + "maxValue": 34, + "minValue": 8 + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Transmitter_38" + }, + "position": { + "height": 15, + "width": 65, + "x": 214, + "y": 86 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "path": "view.custom.dps" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "EU": "psid", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_39" + }, + "position": { + "height": 15, + "width": 57, + "x": 158, + "y": 86 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "struct": { + "ft1": "{view.custom.fts[0]}", + "ft2": "{view.custom.fts[1]}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027ft1\u0027] + {value}[\u0027ft2\u0027] ", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "EU": "gpm", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "MovingAnalogIndicator_35" + }, + "position": { + "height": 85, + "width": 70, + "x": 152, + "y": 5.99 + }, + "propConfig": { + "props.desiredHigh": { + "binding": { + "config": { + "struct": { + "ft1": "{view.custom.fts[0]}", + "ft2": "{view.custom.fts[1]}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027ft1\u0027] + {value}[\u0027ft2\u0027] ", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.processValue": { + "binding": { + "config": { + "struct": { + "ft1": "{view.custom.fts[0]}", + "ft2": "{view.custom.fts[1]}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027ft1\u0027] + {value}[\u0027ft2\u0027] ", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "desiredLow": 0, + "highAlarm": 4500, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 0, + "lowInterlock": null, + "lowLowAlarm": null, + "maxValue": 4250 + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "MovingAnalogIndicator_34" + }, + "position": { + "height": 75, + "width": 70, + "x": 92, + "y": 15.99 + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "path": "view.custom.ret_tts" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "desiredHigh": 69, + "desiredLow": 65, + "highAlarm": 100, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 0, + "lowInterlock": null, + "lowLowAlarm": null, + "maxValue": 75, + "minValue": 60, + "reverseIndicator": true + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "MovingAnalogIndicator_33" + }, + "position": { + "height": 75, + "width": 70, + "x": 78, + "y": 15.99 + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "path": "view.custom.sup_tts" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "desiredHigh": 69, + "desiredLow": 65, + "highAlarm": 72, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 62, + "lowInterlock": null, + "lowLowAlarm": null, + "maxValue": 75, + "minValue": 60 + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Transmitter_41" + }, + "position": { + "height": 15, + "width": 60, + "x": 93, + "y": 4.99 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "path": "view.custom.ret_tts" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "EU": "°F", + "EU_Pos": 0, + "Size": 12, + "color": "limegreen" + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_40" + }, + "position": { + "height": 15, + "width": 56, + "x": 93, + "y": 86 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "path": "view.custom.sup_tts" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "EU": "°F", + "EU_Pos": 0, + "Size": 12, + "color": "var(--tagvalue-color)" + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_36" + }, + "position": { + "height": 97, + "width": 90 + }, + "propConfig": { + "custom.counts": { + "access": "PUBLIC" + }, + "props.params.tagPath1": { + "binding": { + "config": { + "path": "view.custom.Selected.G1" + }, + "type": "property" + } + }, + "props.params.tagPath2": { + "binding": { + "config": { + "path": "view.custom.Selected.G2" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 23, + "width": 41, + "x": 358, + "y": 4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f28bd06d46209b1e63842638bda15f52bf4eda1026343699f10e584785f6bb6f b/Gateways/FE/projects/.resources/f28bd06d46209b1e63842638bda15f52bf4eda1026343699f10e584785f6bb6f new file mode 100644 index 0000000..577c22c --- /dev/null +++ b/Gateways/FE/projects/.resources/f28bd06d46209b1e63842638bda15f52bf4eda1026343699f10e584785f6bb6f @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f2b6d6fb36c4c1f214b9ba5e597b06fae227d8f1d21c887683e69b7031987829 b/Gateways/FE/projects/.resources/f2b6d6fb36c4c1f214b9ba5e597b06fae227d8f1d21c887683e69b7031987829 new file mode 100644 index 0000000..7c0aa84 --- /dev/null +++ b/Gateways/FE/projects/.resources/f2b6d6fb36c4c1f214b9ba5e597b06fae227d8f1d21c887683e69b7031987829 @@ -0,0 +1,93 @@ +{ + "custom": {}, + "params": { + "AlarmSeverity": 1 + }, + "propConfig": { + "params.AlarmSeverity": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 150 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmBorder Vertical" + }, + "position": { + "basis": "300px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}\u003e0,True, False)" + }, + "type": "expr" + } + }, + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\ncase(\r\n\t{view.params.AlarmSeverity},\r\n\t1, \"--coolpurple\",\r\n\t2, \"--goldenyellow\",\r\n\t3, \"--sunsetorange\",\r\n\t4, \"--alarmred\",\r\n\t\"white\"\r\n)\r\n,\u0027)\u0027)\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "725", + "id": "Box", + "name": "Box", + "stroke": { + "width": "10px" + }, + "type": "rect", + "width": 350, + "x": 2.083, + "y": 2.083 + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "square", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 355 730" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f2e409bc47d2b1748328201a73b99d9a351c33faaa3cf255c7616e4bd8e0e360 b/Gateways/FE/projects/.resources/f2e409bc47d2b1748328201a73b99d9a351c33faaa3cf255c7616e4bd8e0e360 new file mode 100644 index 0000000..5aa438f --- /dev/null +++ b/Gateways/FE/projects/.resources/f2e409bc47d2b1748328201a73b99d9a351c33faaa3cf255c7616e4bd8e0e360 @@ -0,0 +1,639 @@ +{ + "custom": { + "OCmd": {}, + "OCmd_MB": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Run" + }, + "type": "tag" + } + }, + "custom.OCmd_MB": { + "persistent": true + }, + "custom.OCmd_MB.Enable": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Enable" + }, + "type": "tag" + } + }, + "custom.OCmd_MB.Reset": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Alarm Reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StartBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StopBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True\n\tself.view.custom.OCmd_MB.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RstBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd_MB.Reset" + }, + "type": "property" + } + } + }, + "props": { + "text": "Alarm Reset" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "EnableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd_MB.Enable" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.OCmd_MB.Enable" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Disable" + }, + { + "input": 0, + "output": "Enable" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px", + "display": false + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f2fcf7b1da13fc7b316749b2a30ef552e680a6c2082835a685b3635d0d4a1df2 b/Gateways/FE/projects/.resources/f2fcf7b1da13fc7b316749b2a30ef552e680a6c2082835a685b3635d0d4a1df2 new file mode 100644 index 0000000..fb52454 --- /dev/null +++ b/Gateways/FE/projects/.resources/f2fcf7b1da13fc7b316749b2a30ef552e680a6c2082835a685b3635d0d4a1df2 @@ -0,0 +1,1710 @@ +{ + "custom": { + "data": [], + "tagPath": [ + "[Ignition_Common_IO_Gtwy]", + "[Ignition_SATB1_IO1_default]", + "[Ignition_SATB1_IO2_default]", + "[Ignition_SATB1_IO3_default]", + "[Ignition_SATB1_IO4_default]", + "[Ignition_SATB1_IO5_default]" + ] + }, + "params": {}, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "struct": { + "tagPaths": "{view.custom.tagPath}", + "time": "now(3000)" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tpaths \u003d value[\u0027tagPaths\u0027]\n\tfor path in paths:\n\t\ttags \u003d system.tag.browse(path,{\"typeId\":\"Objects/Network/PLC_Data\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags:\n\t\t\toutput.append(str(item[\"fullPath\"]))\n\t\ttags_v2 \u003d system.tag.browse(path,{\"typeId\":\"Objects/Network/PLC_Data v2\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags_v2:\n\t\t\toutput.append(str(item[\"fullPath\"]))\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.tagPath": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "70%" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "30%" + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "struct": { + "paths": "{view.custom.data}", + "time": "now(3000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tdata \u003d [\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL01\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL03\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL04\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL05\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL06\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL07\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL08\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL09\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL10\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL11\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL12\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL13\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL14\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL15\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL16\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL18\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL20\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL22\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL24\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL60\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL26\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL27\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL28\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL29\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL30\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL31\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL32\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL33\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL34\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL35\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL37\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL38\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL45\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL51\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL57\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL58\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL61\",\n\t\"[Ignition_SATB1_IO1_default]PLC/SATB1_PLCData_PNL52\",\n\t\"[Ignition_SATB1_IO1_default]PLC/SATB1_PLCData_PNL53\",\n\t\"[Ignition_SATB1_IO1_default]PLC/SATB1_PLCData_PNL54\",\n\t\"[Ignition_SATB1_IO1_default]PLC/SATB1_PLCData_PNL55\",\n\t\"[Ignition_SATB1_IO1_default]PLC/SATB1_PLCData_PNL56\",\n\t\"[Ignition_SATB1_IO2_default]PLC/SATB1_PLCData_PNL46\",\n\t\"[Ignition_SATB1_IO2_default]PLC/SATB1_PLCData_PNL47\",\n\t\"[Ignition_SATB1_IO2_default]PLC/SATB1_PLCData_PNL48\",\n\t\"[Ignition_SATB1_IO2_default]PLC/SATB1_PLCData_PNL49\",\n\t\"[Ignition_SATB1_IO2_default]PLC/SATB1_PLCData_PNL50\",\n\t\"[Ignition_SATB1_IO4_default]PLC/SATB1_PLCData_PNL40\",\n\t\"[Ignition_SATB1_IO4_default]PLC/SATB1_PLCData_PNL41\",\n\t\"[Ignition_SATB1_IO4_default]PLC/SATB1_PLCData_PNL42\",\n\t\"[Ignition_SATB1_IO4_default]PLC/SATB1_PLCData_PNL43\",\n\t\"[Ignition_SATB1_IO4_default]PLC/SATB1_PLCData_PNL44\"]\n\toutput \u003d []\n\t#data \u003d value[\"paths\"]\n\tfor item in data:\n\t\tpanel \u003d item.split(\u0027_\u0027)\n\t\tinstance \u003d system.tag.readBlocking(item)[0].value\n\t\tpanelName \u003d panel[-1]\n\t\tmeta \u003d instance[\u0027Meta\u0027]\n\t\tdesc \u003d meta[\u0027EqName\u0027]\n\t\troom \u003d meta[\u0027Room\u0027]\n\t\tqPname \u003d system.tag.readBlocking(item+\"/Project Name\")\n\t\tname \u003d instance[\"Project Name\"]\n\t\tload \u003d instance[\"Processor Load\"]\n\t\tversion \u003d instance[\"OS Version\"]\n\t\tyear \u003d instance[\"Year\"]\n\t\tmonth \u003d instance[\"Month\"]\n\t\tday \u003d instance[\"Day\"]\n\t\thour \u003d instance[\"Hour\"]\n\t\tminute \u003d instance[\"Minute\"]\n\t\tdate \u003d str(month) + \"/\" + str(day) + \"/\" + str(year)\n\t\ttime \u003d str(hour) + \":\" + str(minute)\n\t\ttry:\n\t\t\thb \u003d instance[\"PLC Heartbeat\"]\n\t\texcept:\n\t\t\thb \u003d False\n\t\tif str(qPname[0].quality) !\u003d \u0027Good\u0027:\n\t\t\toutput.append({ \"Panel\": panelName,\n\t\t\t\t\t\t\"Description\": desc,\n\t\t\t\t\t\t\"ProjectName\": name,\n\t\t\t\t\t\t\"Room\": room,\n\t\t\t\t\t\t\"ProcessorLoad\": \"Offline\",\n\t\t\t\t\t\t\"OSVersion\": \"Offline\",\n\t\t\t\t\t\t\"date\": \"Offline\",\n\t\t\t\t\t\t\"time\": \"Offline\",\n\t\t\t\t\t\t\"hb\": hb})\n\t\t\tcontinue\n\t\toutput.append({ \"Panel\": panelName,\n\t\t\t\t\t\t\"Description\": desc,\n\t\t\t\t\t\t\"ProjectName\": name,\n\t\t\t\t\t\t\"Room\": room,\n\t\t\t\t\t\t\"ProcessorLoad\": str(load) + \"%\",\n\t\t\t\t\t\t\"OSVersion\": version,\n\t\t\t\t\t\t\"date\": date,\n\t\t\t\t\t\t\"time\":time,\n\t\t\t\t\t\t\"hb\": hb})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "plc", + "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": "PLC" + }, + "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": "", + "paddingLeft": "10px" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "25px" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "pnl", + "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": "Panel" + }, + "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": true, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "25px" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "desc", + "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": "Description" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "Offline", + "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": "20%" + }, + { + "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": "Room" + }, + "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": "20%" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "hb", + "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": "Heartbeat" + }, + "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": "load", + "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": "Processor Load" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "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": "date", + "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": "PLC Date" + }, + "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": "time", + "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": "PLC Time" + }, + "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": "ver", + "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": "OS Version" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "OS Version" + }, + "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": [ + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "89%", + "plc": "PLC01", + "pnl": "PNL04", + "room": "RM1272", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "57%", + "plc": "PLC02", + "pnl": "PNL64", + "room": "RM1434", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "24%", + "plc": "PLC03", + "pnl": "PNL32", + "room": "RM1241", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "13%", + "plc": "PLC04", + "pnl": "PNL32", + "room": "RM1354", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "33%", + "plc": "PLC05", + "pnl": "PNL12", + "room": "RM1168", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "23%", + "plc": "PLC06", + "pnl": "PNL15", + "room": "RM1136", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "63%", + "plc": "PLC07", + "pnl": "PNL69", + "room": "RM1485", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "71%", + "plc": "PLC08", + "pnl": "PNL60", + "room": "RM1356", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "81%", + "plc": "PLC09", + "pnl": "PNL15", + "room": "RM1302", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "50%", + "plc": "PLC10", + "pnl": "PNL35", + "room": "RM1237", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "47%", + "plc": "PLC11", + "pnl": "PNL30", + "room": "RM1294", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "77%", + "plc": "PLC12", + "pnl": "PNL57", + "room": "RM1403", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "87%", + "plc": "PLC13", + "pnl": "PNL60", + "room": "RM1220", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "29%", + "plc": "PLC14", + "pnl": "PNL58", + "room": "RM1198", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "23%", + "plc": "PLC15", + "pnl": "PNL27", + "room": "RM1415", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "45%", + "plc": "PLC16", + "pnl": "PNL35", + "room": "RM1207", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "57%", + "plc": "PLC17", + "pnl": "PNL39", + "room": "RM1279", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "12%", + "plc": "PLC18", + "pnl": "PNL52", + "room": "RM1202", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "32%", + "plc": "PLC19", + "pnl": "PNL49", + "room": "RM1494", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "74%", + "plc": "PLC20", + "pnl": "PNL66", + "room": "RM1122", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "67%", + "plc": "PLC21", + "pnl": "PNL48", + "room": "RM1180", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "34%", + "plc": "PLC22", + "pnl": "PNL47", + "room": "RM1155", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "41%", + "plc": "PLC23", + "pnl": "PNL56", + "room": "RM1347", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "76%", + "plc": "PLC24", + "pnl": "PNL20", + "room": "RM1496", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "41%", + "plc": "PLC25", + "pnl": "PNL16", + "room": "RM1225", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "68%", + "plc": "PLC26", + "pnl": "PNL63", + "room": "RM1250", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "79%", + "plc": "PLC27", + "pnl": "PNL47", + "room": "RM1448", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "55%", + "plc": "PLC28", + "pnl": "PNL37", + "room": "RM1289", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "31%", + "plc": "PLC29", + "pnl": "PNL22", + "room": "RM1279", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "76%", + "plc": "PLC30", + "pnl": "PNL38", + "room": "RM1489", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "89%", + "plc": "PLC31", + "pnl": "PNL10", + "room": "RM1225", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "89%", + "plc": "PLC32", + "pnl": "PNL59", + "room": "RM1367", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "44%", + "plc": "PLC33", + "pnl": "PNL18", + "room": "RM1259", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "22%", + "plc": "PLC34", + "pnl": "PNL12", + "room": "RM1178", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "74%", + "plc": "PLC35", + "pnl": "PNL55", + "room": "RM1378", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "70%", + "plc": "PLC36", + "pnl": "PNL45", + "room": "RM1442", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "32%", + "plc": "PLC37", + "pnl": "PNL34", + "room": "RM1325", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "65%", + "plc": "PLC38", + "pnl": "PNL28", + "room": "RM1386", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "18%", + "plc": "PLC39", + "pnl": "PNL04", + "room": "RM1200", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "32%", + "plc": "PLC40", + "pnl": "PNL61", + "room": "RM1285", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "85%", + "plc": "PLC41", + "pnl": "PNL66", + "room": "RM1189", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "68%", + "plc": "PLC42", + "pnl": "PNL09", + "room": "RM1357", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "40%", + "plc": "PLC43", + "pnl": "PNL03", + "room": "RM1127", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "70%", + "plc": "PLC44", + "pnl": "PNL17", + "room": "RM1208", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "63%", + "plc": "PLC45", + "pnl": "PNL32", + "room": "RM1143", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "13%", + "plc": "PLC46", + "pnl": "PNL55", + "room": "RM1500", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "74%", + "plc": "PLC47", + "pnl": "PNL35", + "room": "RM1490", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "42%", + "plc": "PLC48", + "pnl": "PNL50", + "room": "RM1201", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "65%", + "plc": "PLC49", + "pnl": "PNL30", + "room": "RM1397", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "60%", + "plc": "PLC50", + "pnl": "PNL18", + "room": "RM1131", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "16%", + "plc": "PLC51", + "pnl": "PNL37", + "room": "RM1281", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "75%", + "plc": "PLC52", + "pnl": "PNL55", + "room": "RM1335", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "25%", + "plc": "PLC53", + "pnl": "PNL46", + "room": "RM1121", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "46%", + "plc": "PLC54", + "pnl": "PNL44", + "room": "RM1193", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "60%", + "plc": "PLC55", + "pnl": "PNL31", + "room": "RM1144", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "47%", + "plc": "PLC56", + "pnl": "PNL10", + "room": "RM1234", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "64%", + "plc": "PLC57", + "pnl": "PNL32", + "room": "RM1428", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "16%", + "plc": "PLC58", + "pnl": "PNL58", + "room": "RM1322", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "35%", + "plc": "PLC59", + "pnl": "PNL24", + "room": "RM1170", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "33%", + "plc": "PLC60", + "pnl": "PNL09", + "room": "RM1206", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "38%", + "plc": "PLC61", + "pnl": "PNL49", + "room": "RM1237", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "25%", + "plc": "PLC62", + "pnl": "PNL07", + "room": "RM1494", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "60%", + "plc": "PLC63", + "pnl": "PNL63", + "room": "RM1309", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "48%", + "plc": "PLC64", + "pnl": "PNL29", + "room": "RM1241", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "19%", + "plc": "PLC65", + "pnl": "PNL34", + "room": "RM1480", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "80%", + "plc": "PLC66", + "pnl": "PNL04", + "room": "RM1225", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "49%", + "plc": "PLC67", + "pnl": "PNL52", + "room": "RM1395", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "30%", + "plc": "PLC68", + "pnl": "PNL48", + "room": "RM1273", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "42%", + "plc": "PLC69", + "pnl": "PNL35", + "room": "RM1401", + "time": "17:08", + "ver": "3.6" + } + ], + "pager": { + "activeOption": 7, + "options": [ + 7, + 10, + 25, + 50, + 100 + ] + }, + "virtualized": false + }, + "type": "ia.display.table" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\toutput \u003d []\n\tpaths \u003d self.view.custom.tagPath\n\tfor path in paths:\n\t\ttags \u003d system.tag.browse(path,{\"typeId\":\"Objects/Network/PLC_Data\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags:\n\t\t\toutput.append(str(item[\"fullPath\"]))\n\tself.view.custom.data \u003d output" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f31ac26193aab05fcf851f3a9ff511754da2bc33b13e4b4ea56bca5d49551dd2 b/Gateways/FE/projects/.resources/f31ac26193aab05fcf851f3a9ff511754da2bc33b13e4b4ea56bca5d49551dd2 new file mode 100644 index 0000000..bcd1b2c Binary files /dev/null and b/Gateways/FE/projects/.resources/f31ac26193aab05fcf851f3a9ff511754da2bc33b13e4b4ea56bca5d49551dd2 differ diff --git a/Gateways/FE/projects/.resources/f31f93afcda565ef1a6bea2b2eddf830fe67cad6482566ea571f95ea60fcefdb b/Gateways/FE/projects/.resources/f31f93afcda565ef1a6bea2b2eddf830fe67cad6482566ea571f95ea60fcefdb new file mode 100644 index 0000000..1ea8821 --- /dev/null +++ b/Gateways/FE/projects/.resources/f31f93afcda565ef1a6bea2b2eddf830fe67cad6482566ea571f95ea60fcefdb @@ -0,0 +1,8 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "color": "var(--neutral-90)" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f325920efee96a3b808abf86211d732d29fbd9271b28623ad42b3ab00cdde54c b/Gateways/FE/projects/.resources/f325920efee96a3b808abf86211d732d29fbd9271b28623ad42b3ab00cdde54c new file mode 100644 index 0000000..9925c14 Binary files /dev/null and b/Gateways/FE/projects/.resources/f325920efee96a3b808abf86211d732d29fbd9271b28623ad42b3ab00cdde54c differ diff --git a/Gateways/FE/projects/.resources/f350dfab25c720a12e5b338d21289212dcb37ee084e5c44522c8a44f9c91ae53 b/Gateways/FE/projects/.resources/f350dfab25c720a12e5b338d21289212dcb37ee084e5c44522c8a44f9c91ae53 new file mode 100644 index 0000000..efce426 --- /dev/null +++ b/Gateways/FE/projects/.resources/f350dfab25c720a12e5b338d21289212dcb37ee084e5c44522c8a44f9c91ae53 @@ -0,0 +1,19 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--container)", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "outlineColor": "var(--border)", + "outlineStyle": "solid", + "outlineWidth": "1px", + "overflow": "visible", + "paddingBottom": "2px", + "paddingLeft": "2px", + "paddingRight": "2px", + "paddingTop": "2px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f35991f4863aa4e309e27b6ab4bbb02b1a51d020e01415a9ad4a3927ef39355a b/Gateways/FE/projects/.resources/f35991f4863aa4e309e27b6ab4bbb02b1a51d020e01415a9ad4a3927ef39355a new file mode 100644 index 0000000..a2529a4 Binary files /dev/null and b/Gateways/FE/projects/.resources/f35991f4863aa4e309e27b6ab4bbb02b1a51d020e01415a9ad4a3927ef39355a differ diff --git a/Gateways/FE/projects/.resources/f359cdef43c3931a4cc3730d22be4b87c88898a7801000b062cd407c555c6032 b/Gateways/FE/projects/.resources/f359cdef43c3931a4cc3730d22be4b87c88898a7801000b062cd407c555c6032 new file mode 100644 index 0000000..18bbcc4 Binary files /dev/null and b/Gateways/FE/projects/.resources/f359cdef43c3931a4cc3730d22be4b87c88898a7801000b062cd407c555c6032 differ diff --git a/Gateways/FE/projects/.resources/f40f276d8f535f8b8c917b48f68b3e68256a8a157cd6ef35d8375acccff74639 b/Gateways/FE/projects/.resources/f40f276d8f535f8b8c917b48f68b3e68256a8a157cd6ef35d8375acccff74639 new file mode 100644 index 0000000..9f268a9 --- /dev/null +++ b/Gateways/FE/projects/.resources/f40f276d8f535f8b8c917b48f68b3e68256a8a157cd6ef35d8375acccff74639 @@ -0,0 +1,506 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Amps A", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Amps B", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Amps C", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage AB", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage AN", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage BC", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage BN", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage CA", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage CN", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps Avg", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps G", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "AB Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "AN Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "BC Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "BN Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "CA Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "CN Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "L-L Voltage Avg", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "L-N Voltage Avg", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power Total", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Demand KW", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Energy", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Boolean", + "display": true, + "displaySelection": 1, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Status", + "numDecimals": 1, + "options": [ + "Open", + "Closed" + ], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Boolean", + "display": true, + "displaySelection": 1, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Tripped", + "numDecimals": 1, + "options": [ + "Not Tripped", + "Tripped" + ], + "visible": true + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52U" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n if system.tag.read(tagPath).value \u003d\u003d None:\n \tdisplay \u003d False\n else:\n \tdisplay \u003d True\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"numDecimals\":1,\n \"options\": [],\n \"visible\": True,\n \"display\": display,\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f41eaf7560a7ecb7eb04c6cab4237f904b8d0ff329cd8c1ed8d86961fe1b8489 b/Gateways/FE/projects/.resources/f41eaf7560a7ecb7eb04c6cab4237f904b8d0ff329cd8c1ed8d86961fe1b8489 new file mode 100644 index 0000000..6e05f51 Binary files /dev/null and b/Gateways/FE/projects/.resources/f41eaf7560a7ecb7eb04c6cab4237f904b8d0ff329cd8c1ed8d86961fe1b8489 differ diff --git a/Gateways/FE/projects/.resources/f41efb55a4e240dd6a9b7dd65314a738d0bd240df640d9d77b28d9bc23e26cd9 b/Gateways/FE/projects/.resources/f41efb55a4e240dd6a9b7dd65314a738d0bd240df640d9d77b28d9bc23e26cd9 new file mode 100644 index 0000000..b6ec2c0 --- /dev/null +++ b/Gateways/FE/projects/.resources/f41efb55a4e240dd6a9b7dd65314a738d0bd240df640d9d77b28d9bc23e26cd9 @@ -0,0 +1,403 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Breaker", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Breaker P/Info" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f455e550d988517d7c4507592ffcff5bb89993e41e8b539da2796509bd2bb8c8 b/Gateways/FE/projects/.resources/f455e550d988517d7c4507592ffcff5bb89993e41e8b539da2796509bd2bb8c8 new file mode 100644 index 0000000..c914516 Binary files /dev/null and b/Gateways/FE/projects/.resources/f455e550d988517d7c4507592ffcff5bb89993e41e8b539da2796509bd2bb8c8 differ diff --git a/Gateways/FE/projects/.resources/f467ff08e378f1847de2b21621807588982ef655a8aa2906abee797ac0ce0d7f b/Gateways/FE/projects/.resources/f467ff08e378f1847de2b21621807588982ef655a8aa2906abee797ac0ce0d7f new file mode 100644 index 0000000..c9d2bdf Binary files /dev/null and b/Gateways/FE/projects/.resources/f467ff08e378f1847de2b21621807588982ef655a8aa2906abee797ac0ce0d7f differ diff --git a/Gateways/FE/projects/.resources/f4769e6ea143732ecb76ee9cd2028e952a2eda7e2eb880ffa52eeb9ec97c6a2a b/Gateways/FE/projects/.resources/f4769e6ea143732ecb76ee9cd2028e952a2eda7e2eb880ffa52eeb9ec97c6a2a new file mode 100644 index 0000000..2559ae7 Binary files /dev/null and b/Gateways/FE/projects/.resources/f4769e6ea143732ecb76ee9cd2028e952a2eda7e2eb880ffa52eeb9ec97c6a2a differ diff --git a/Gateways/FE/projects/.resources/f47ed2be3dadd74df1bfaf84946c905c4d6bad20d77c56ca8da9d6b25831b59b b/Gateways/FE/projects/.resources/f47ed2be3dadd74df1bfaf84946c905c4d6bad20d77c56ca8da9d6b25831b59b new file mode 100644 index 0000000..9d400e9 --- /dev/null +++ b/Gateways/FE/projects/.resources/f47ed2be3dadd74df1bfaf84946c905c4d6bad20d77c56ca8da9d6b25831b59b @@ -0,0 +1,125 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f499e960322d73e4502c9830665dac32562e9f3cc58a54aa4138e26a3eb5e7f6 b/Gateways/FE/projects/.resources/f499e960322d73e4502c9830665dac32562e9f3cc58a54aa4138e26a3eb5e7f6 new file mode 100644 index 0000000..eed15bb --- /dev/null +++ b/Gateways/FE/projects/.resources/f499e960322d73e4502c9830665dac32562e9f3cc58a54aa4138e26a3eb5e7f6 @@ -0,0 +1,133 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 2400, + "width": 1400 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DH FlexRepeater" + }, + "position": { + "basis": "600px", + "shrink": 0 + }, + "props": { + "elementPosition": { + "basis": "100%" + }, + "instances": [ + { + "DH": 1, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1" + }, + { + "DH": 2, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2" + }, + { + "DH": 3, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH3" + }, + { + "DH": 4, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4" + }, + { + "DH": 5, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5" + } + ], + "path": "Library/Cards/Card_DH", + "style": { + "gap": 10, + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "setHomepage", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "Set Homepage", + "type": "method" + } + ] + }, + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": 10, + "overflow": "scroll", + "padding": 10 + } + }, + "scripts": { + "customMethods": [ + { + "name": "setHomepage", + "params": [], + "script": "\t# implement your method here\n\tview \u003d \"Pages/Dev/C_AirSystem/L1/C101 L1 Overview\"\n\t\n\tuser \u003d self.session.props.auth.user.userName\n\tif user !\u003d \"\":\n\t\tutils.admin.user.saveSettings({\"Homepage\":view}, user)\n\t\tself.session.refreshBinding(\"custom.user_settings\")" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f4b4abbfb92271fc3c50fe0302f5f914768d6bf7c0421931cf25642954e4f967 b/Gateways/FE/projects/.resources/f4b4abbfb92271fc3c50fe0302f5f914768d6bf7c0421931cf25642954e4f967 new file mode 100644 index 0000000..32c801d --- /dev/null +++ b/Gateways/FE/projects/.resources/f4b4abbfb92271fc3c50fe0302f5f914768d6bf7c0421931cf25642954e4f967 @@ -0,0 +1,2762 @@ +{ + "custom": { + "DH": 5, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 2, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P5.2", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-2/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P5.2", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P5.2", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1162/SATB1_ER1162_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -35, + "y": -11.5 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f4d7adcf2dee57dbd6319a79f688b373325d2bb174a413f65de35070ec5e1f58 b/Gateways/FE/projects/.resources/f4d7adcf2dee57dbd6319a79f688b373325d2bb174a413f65de35070ec5e1f58 new file mode 100644 index 0000000..1ed92e2 --- /dev/null +++ b/Gateways/FE/projects/.resources/f4d7adcf2dee57dbd6319a79f688b373325d2bb174a413f65de35070ec5e1f58 @@ -0,0 +1,438 @@ +{ + "custom": { + "TagID": "TAG", + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "Tag": "value", + "inPower": true + }, + "propConfig": { + "custom.TagID": { + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.Tag": { + "paramDirection": "input", + "persistent": true + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 102, + "width": 59 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "TX" + }, + "position": { + "height": 102, + "width": 59 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].text": { + "binding": { + "config": { + "path": "view.params.Tag" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "37.5", + "x": "0", + "y": "8.964" + }, + { + "d": "M0,12.982l0,-4.018l4.464,-0l0,0.675l-3.789,-0l-0,3.343l-0.675,-0Zm10.714,-4.018l0,0.675l-2.678,-0l-0,-0.675l2.678,-0Zm12.5,-0l0,0.675l-8.928,-0l-0,-0.675l8.928,-0Zm6.25,-0l0,0.675l-2.678,-0l-0,-0.675l2.678,-0Zm8.036,4.018l-0.675,-0l0,-3.343l-3.789,-0l-0,-0.675l4.464,-0l0,4.018Zm0,5.625l-0.675,-0l0,-2.411l0.675,-0l0,2.411Zm0,11.25l-0.675,-0l0,-8.036l0.675,0l0,8.036Zm0,5.625l-0.675,-0l0,-2.411l0.675,-0l0,2.411Zm0,11.25l-0.675,-0l0,-8.036l0.675,-0l0,8.036Zm0,5.625l-0.675,-0l0,-2.411l0.675,0l0,2.411Zm0,11.25l-0.675,-0l0,-8.036l0.675,-0l0,8.036Zm0,5.625l-0.675,-0l0,-2.411l0.675,-0l0,2.411Zm-4.464,7.232l-0,-0.675l3.789,-0l0,-3.343l0.675,-0l0,4.018l-4.464,-0Zm-6.25,-0l-0,-0.675l2.678,-0l0,0.675l-2.678,-0Zm-12.5,-0l-0,-0.675l8.928,-0l0,0.675l-8.928,-0Zm-6.25,-0l-0,-0.675l2.678,-0l0,0.675l-2.678,-0Zm-8.036,-4.018l0.675,-0l-0,3.343l3.789,-0l0,0.675l-4.464,-0l-0,-4.018Zm-0,-5.625l0.675,-0l-0,2.411l-0.675,-0l-0,-2.411Zm-0,-11.25l0.675,-0l-0,8.036l-0.675,-0l-0,-8.036Zm-0,-5.625l0.675,0l-0,2.411l-0.675,-0l-0,-2.411Zm-0,-11.25l0.675,0l-0,8.036l-0.675,-0l-0,-8.036Zm-0,-5.625l0.675,-0l-0,2.411l-0.675,-0l-0,-2.411Zm-0,-11.25l0.675,0l-0,8.036l-0.675,-0l-0,-8.036Zm-0,-5.625l0.675,-0l-0,2.411l-0.675,-0l-0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,16.2084,36.1051)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "480V", + "type": "text", + "x": "8.424px", + "y": "36.105px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,14.8529,51.1361)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "208/", + "type": "text", + "x": "8.365px", + "y": "51.136px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,15.8878,54.8551)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "120V", + "type": "text", + "x": "8.103px", + "y": "54.855px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,25.7904,51.1458)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "45", + "type": "text", + "x": "22.083px", + "y": "51.146px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,28.3034,54.8958)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "KVA", + "type": "text", + "x": "21.881px", + "y": "54.896px" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "K13", + "type": "text", + "x": "21.881px", + "y": "58.656px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + }, + { + "elements": [ + { + "d": "M32.166,45.004l-0.926,0.892l-0.927,-0.892", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.42px" + }, + "type": "path" + }, + { + "d": "M31.24,45.896l-0,1.177", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.42px" + }, + "type": "path" + }, + { + "d": "M31.222,38.355l1.309,2.391l-2.619,0l1.31,-2.391Zm-0,0.867c-0,0 -0.607,1.108 -0.607,1.108l1.213,-0l-0.606,-1.108Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "Detail", + "name": "Detail", + "type": "group" + }, + { + "d": "M10.039,47.674l-0,-2.298c0.287,-1.348 1.04,-1.931 2.181,-1.884c1.08,-0.059 1.822,0.549 2.18,1.884c0.382,-1.263 1.077,-1.934 2.181,-1.884c1.226,-0.039 1.875,0.692 2.181,1.884c0.344,-1.182 0.984,-1.932 2.181,-1.884c1.149,-0.064 1.886,0.553 2.181,1.884c0.32,-1.1 0.941,-1.851 2.181,-1.884c0.643,0.045 1.124,0.264 1.48,0.616c0.328,0.322 0.551,0.756 0.701,1.268l-0,2.298", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "round", + "width": "0.37px" + }, + "type": "path" + }, + { + "d": "M10.014,37.754l0,2.298c0.287,1.347 1.04,1.931 2.181,1.884c1.081,0.059 1.823,-0.549 2.181,-1.884c0.382,1.262 1.077,1.933 2.181,1.884c1.225,0.038 1.875,-0.693 2.181,-1.884c0.343,1.182 0.983,1.932 2.181,1.884c1.148,0.064 1.886,-0.554 2.181,-1.884c0.32,1.099 0.941,1.85 2.18,1.884c0.644,-0.045 1.124,-0.265 1.481,-0.616c0.327,-0.323 0.551,-0.756 0.7,-1.268l0,-2.298", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "round", + "width": "0.37px" + }, + "type": "path" + } + ], + "id": "TX", + "name": "TX", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,27.4125,2.98258)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "", + "type": "text", + "x": "22.088px", + "y": "2.983px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,43.5911,6.78345)", + "type": "group" + }, + { + "fill": { + "paint": "var(--olGray)" + }, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "x": "21.826px", + "y": "6.783px" + } + ], + "id": "TagIDPlate", + "name": "TagIDPlate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 45 77" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f4fc38678d67d0b7978cbc3b435d7b0a5b19859f8e4b3ccfe7a54201ba83c1bd b/Gateways/FE/projects/.resources/f4fc38678d67d0b7978cbc3b435d7b0a5b19859f8e4b3ccfe7a54201ba83c1bd new file mode 100644 index 0000000..e155d9d Binary files /dev/null and b/Gateways/FE/projects/.resources/f4fc38678d67d0b7978cbc3b435d7b0a5b19859f8e4b3ccfe7a54201ba83c1bd differ diff --git a/Gateways/FE/projects/.resources/f599026bece906091bf6fa2fa22e402ab11c547bf5637377f71ee11f8f73cea1 b/Gateways/FE/projects/.resources/f599026bece906091bf6fa2fa22e402ab11c547bf5637377f71ee11f8f73cea1 new file mode 100644 index 0000000..18d2f5f --- /dev/null +++ b/Gateways/FE/projects/.resources/f599026bece906091bf6fa2fa22e402ab11c547bf5637377f71ee11f8f73cea1 @@ -0,0 +1,210 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Communication Percent", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Contactor Status", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 50, + "instanceStyle": { + "classes": "" + }, + "name": "Current A THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 60, + "instanceStyle": { + "classes": "" + }, + "name": "Current B THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 70, + "instanceStyle": { + "classes": "" + }, + "name": "Current C THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 30, + "instanceStyle": { + "classes": "" + }, + "name": "Filter Controls Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 20, + "instanceStyle": { + "classes": "" + }, + "name": "Load Real Power Total", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 51, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AB THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 67, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BC THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 70, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CA THD", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_HF" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f5e9820bd2e06ceaa5eabe86610760bee153a082dd90bc91eea553c76e8d639e b/Gateways/FE/projects/.resources/f5e9820bd2e06ceaa5eabe86610760bee153a082dd90bc91eea553c76e8d639e new file mode 100644 index 0000000..4d77235 --- /dev/null +++ b/Gateways/FE/projects/.resources/f5e9820bd2e06ceaa5eabe86610760bee153a082dd90bc91eea553c76e8d639e @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "0px", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "0px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f66bb75fca82cecdca632fef92a7b221aa97adbf43e7945954f4e0707ef60655 b/Gateways/FE/projects/.resources/f66bb75fca82cecdca632fef92a7b221aa97adbf43e7945954f4e0707ef60655 new file mode 100644 index 0000000..6bfdcc5 --- /dev/null +++ b/Gateways/FE/projects/.resources/f66bb75fca82cecdca632fef92a7b221aa97adbf43e7945954f4e0707ef60655 @@ -0,0 +1,874 @@ +{ + "custom": { + "Mode": 1, + "OCmd": {}, + "damperCmd": 4 + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1109/SATB1_HS1_RM1109_VAV06" + }, + "propConfig": { + "custom.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/User Control Mode" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.ModeCMD": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Mode" + }, + "type": "tag" + } + }, + "custom.OCmd.Occupied": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Cmd_OccMode" + }, + "type": "tag" + } + }, + "custom.OCmd.Unoccupied": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Cmd_UnOccMode" + }, + "type": "tag" + } + }, + "custom.damperCmd": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Damper Override mode" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.ModeCMD \u003d True\n\t\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoModeBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Mode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.auth.control}" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.ModeCMD" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto/Schedule" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.ModeCMD \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ManualOccBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Mode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.auth.control}" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "expression": "!{view.custom.OCmd.ModeCMD}" + }, + "type": "expr" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row0" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Unoccupied \u003d False\t\n\tself.view.custom.OCmd.Occupied \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OccModeBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Cmd_OccMode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if({view.custom.OCmd.ModeCMD},false,true),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Occupied" + }, + "type": "property" + } + } + }, + "props": { + "text": "Occupied Mode" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Occupied \u003d False\n\tself.view.custom.OCmd.Unoccupied \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "UnOccBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Cmd_UnOccMode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if({view.custom.OCmd.ModeCMD},false,true),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Unoccupied" + }, + "type": "property" + } + } + }, + "props": { + "text": "Unoccupied Mode" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "User Control Command" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/User Control Mode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.Mode" + }, + "type": "property" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 1 + }, + { + "label": "Heat", + "value": 2 + }, + { + "label": "Cool", + "value": 3 + }, + { + "label": "Off", + "value": 4 + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Damper Override Command" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown_0", + "tooltip": { + "enabled": true, + "text": "Min or Max airflow depends on Current Mode. Example: If heat demand \u003e0 then Min or Max Heating Airflow." + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Damper Override mode.OpcItemPath" + }, + "enabled": false, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.damperCmd" + }, + "type": "property" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 1 + }, + { + "label": "Full OPEN", + "value": 2 + }, + { + "label": "Full CLOSE", + "value": 3 + }, + { + "label": "Min Airflow", + "value": 4 + }, + { + "label": "Max Air Flow", + "value": 5 + } + ], + "placeholder": { + "text": "Damper Override Command of Current Mode" + } + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Row3" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Left control Container" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Occupied Temperature Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "35%", + "grow": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Occupied Temp Setpoint.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Occupied Temp Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 104, + "minimum": 50 + }, + "spinner": { + "enabled": false + }, + "style": { + "fontWeight": "bold", + "max-height": "40px", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "10%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Occupied Temp Setpoint.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--units-color)", + "textAlign": "left" + }, + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Unoccupied Temperature Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "35%", + "grow": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Temperature SP.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Temperature SP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 104, + "minimum": 50 + }, + "spinner": { + "enabled": false + }, + "style": { + "fontWeight": "bold", + "max-height": "40px", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "10%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Temperature SP.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--units-color)", + "textAlign": "left" + }, + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row5" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right control Container" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f682c6f170666c76751499d39949eaad836abefac117fcb578a20ffaf3100fd4 b/Gateways/FE/projects/.resources/f682c6f170666c76751499d39949eaad836abefac117fcb578a20ffaf3100fd4 new file mode 100644 index 0000000..57037dd --- /dev/null +++ b/Gateways/FE/projects/.resources/f682c6f170666c76751499d39949eaad836abefac117fcb578a20ffaf3100fd4 @@ -0,0 +1,128 @@ +import pprint, time +from com.inductiveautomation.ignition.common.tags.config.types import TagObjectType +defaultTgtProvider= utils.admin.tags.helper.defaultProvider +defaultSrcProv = utils.admin.tags.helper.defaultSourceProvider +thisTenant = "Valley" + +Logger = system.util.getLogger("utils.admin.tags.utils.instances") + + +def transformObjects(startPath): + logger = Logger.createSubLogger("transformObjects") + newTags = [] + for udtInst in recBrowse(startPath): + newTags.append(createSingleInstance(udtInst)) + + system.tag.configure(defaultTgtProvider, newTags, "o") + +def recBrowse(path): + """ Recursively process the folder + """ + logger = Logger.createSubLogger("recBrowse") + _tStartTime = time.time() + + + listOfPaths = [] + for tag in system.tag.browse(path): + if tag["tagType"] == TagObjectType.Folder: + if tag["name"] not in ["Parent", "AlarmSummary"]: # don't browse the parent folder when we're doing the root Objects folder + listOfPaths.extend(recBrowse(str(tag["fullPath"]))) + elif tag["tagType"] == TagObjectType.UdtInstance: + listOfPaths.append(str(tag["fullPath"])) + logger.trace("recursive browse completed in : %s"%(time.time()-_tStartTime)) + + return listOfPaths + + +def createSingleInstance(udtPath): + """ create a reference tag equiavalent of a UDT found + udtPath: str the udt instance path + + """ + logger = Logger.createSubLogger("createSingleInstance") + + tagConfig = system.tag.getConfiguration(udtPath, False)[0] + + path = tagConfig["path"] + udtType = tagConfig["typeId"] + refPath = str(tagConfig["path"]) + pathSegments = refPath.split("/") + prov = refPath[refPath.find("[")+1 : refPath.find("]")] + tagName = tagConfig["name"] + if len(tagConfig["name"].split("_")) < 3: +# tagName = "%s_%s_%s"%(prov.replace("_","-"), pathSegments[-2],tagName) + tagName = "%s_%s"%(pathSegments[-2],tagName) + else: + tagName = "%s"%(tagName) + + newTag= {"name":tagName, + "typeId":tagConfig["typeId"], "tagType":"UdtInstance", + "parameters":{"srcPath":{"dataType":"String", "value":refPath}} + } + + return newTag + + +def generateTagExport(): + """ Generate a dataset representing all of the discovered tags in the MQTT provider + + """ + def transformRow(path): + metaProps = getMetaProp(path, ["EqName"]) + def buildRow(udtDefPath, path, tagdict, srcPath=""): + instNameArr = path.split("/")[0].split("_") + hasProvInPath= True if "Ignition_" in path else False + if hasProvInPath: + loc = instNameArr[5] + devName = "_".join(instNameArr[4:]) + else: + loc = instNameArr[1] + devName = "_".join(instNameArr[2:]) + +# return [udtDefPath[-2], udtDefPath[-1], "%s/%s"%(path, tagdict["name"]), tagdict.get("engUnit",""), devName, loc, tagdict["name"].replace("_"," "), +# tagdict["name"].replace(" ","_"), path] + localPath = "%s/%s"%(path, tagdict["name"]) + remotePath, tagTenant = getCustomTenantProp(localPath) + return [udtDefPath[-2], udtDefPath[-1], remotePath, tagdict.get("engUnit",""), + devName if metaProps.get("EqName","") == "" else metaProps["EqName"], # DeviceName + loc, + tagTenant if tagTenant is not None else tagdict["name"].replace("_"," "), # Description + tagdict["name"].replace(" ","_"), + remotePath] # Notes + + rows = [] + config = system.tag.getConfiguration(path, True)[0] + udtDefPath = str(config.get("typeId","/")).split("/") + srcPath = config["parameters"].get("srcPath").value + for tag in config["tags"]: + if tag["tagType"] == TagObjectType.Folder and tag["name"] not in ["Meta"]: + for fTag in tag["tags"]: +# rows.append(buildRow(udtDefPath, "%s/%s"%(path, tag["name"]), fTag)) + rows.append(buildRow(udtDefPath, "%s/%s"%(path, tag["name"]), fTag, "%s/%s"%(srcPath, tag["name"]))) + else: + if tag["name"] not in ["Meta"]: + rows.append(buildRow(udtDefPath, path, tag, srcPath)) + + return rows + _udtInstList= utils.admin.tags.utils.instances.recBrowse(defaultTgtProvider) + header = ["componentType", "topic", "tag", "units", "deviceName", "hallId", "description", "dataPointType", "Notes"] + allRows = [] + for udtInstPath in _udtInstList: + allRows.extend(transformRow(udtInstPath)) + + fullDS = system.dataset.toDataSet(header, allRows) + return fullDS +# return system.dataset.toExcel(True, [fullDS], ["All Points"]) + +def getMetaProp(instPath, propNames): + """ Get the meta properties of a tag + returns: dictionary of the propertyname and value + """ + pathsToRead = ["%s/Meta/%s"%(instPath,p) for p in propNames] + qvs = system.tag.readBlocking(pathsToRead) + return {p:qv.value for p,qv in zip(propNames, qvs)} + +def getCustomTenantProp(localTagPath): + print localTagPath + tagpath = system.tag.readBlocking("%s.%s"%(localTagPath,"SourceTagPath"))[0].value + return tagpath, system.tag.readBlocking("%s.%s"%(tagpath,thisTenant))[0].value \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f6e4f336a451da5962f6fd120a2a210e1def6c540702eb4a4dec7653a97050dd b/Gateways/FE/projects/.resources/f6e4f336a451da5962f6fd120a2a210e1def6c540702eb4a4dec7653a97050dd new file mode 100644 index 0000000..289ace3 --- /dev/null +++ b/Gateways/FE/projects/.resources/f6e4f336a451da5962f6fd120a2a210e1def6c540702eb4a4dec7653a97050dd @@ -0,0 +1,181 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Application Matches", + "options": [ + "no Match", + "Match" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Primary PLC", + "options": [ + "A", + "B" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "PLC A Fail", + "options": [ + "Not Failed", + "Failed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "PLC A Online", + "options": [ + "Offline", + "Online" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "PLC B Fail", + "options": [ + "Not Failed", + "Failed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "PLC B Online", + "options": [ + "Offline", + "Online" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_PNL23/Hot Standby Status" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f6e923b9d573248090f4d1f865ea9eca1cedb67bb309010bd9c51ad188ac6fa3 b/Gateways/FE/projects/.resources/f6e923b9d573248090f4d1f865ea9eca1cedb67bb309010bd9c51ad188ac6fa3 new file mode 100644 index 0000000..1502b78 Binary files /dev/null and b/Gateways/FE/projects/.resources/f6e923b9d573248090f4d1f865ea9eca1cedb67bb309010bd9c51ad188ac6fa3 differ diff --git a/Gateways/FE/projects/.resources/f71ca6d2d9553309298d9d3143f2ce1fafbbcaa8fc7b7f006ffe8a58f02def57 b/Gateways/FE/projects/.resources/f71ca6d2d9553309298d9d3143f2ce1fafbbcaa8fc7b7f006ffe8a58f02def57 new file mode 100644 index 0000000..0e4a29a --- /dev/null +++ b/Gateways/FE/projects/.resources/f71ca6d2d9553309298d9d3143f2ce1fafbbcaa8fc7b7f006ffe8a58f02def57 @@ -0,0 +1,32 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderColor": "var(--error)", + "borderStyle": "solid", + "borderWidth": "1px", + "boxShadow": "none", + "color": "var(--error)", + "fontWeight": "normal", + "textTransform": "uppercase", + "fill": "var(--error)" + } + }, + "variants": [ + { + "pseudo": "hover", + "animation": { + "duration": "0.2s", + "direction": "normal", + "iterationCount": "1", + "timingFunction": "ease", + "keyframes": { + "0%": {}, + "100%": { + "backgroundColor": "var(--neutral-20)" + } + } + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f725fec08d4c08b3d187f864b4806c47d1df1be8a53857257146aaaa6a2c66e8 b/Gateways/FE/projects/.resources/f725fec08d4c08b3d187f864b4806c47d1df1be8a53857257146aaaa6a2c66e8 new file mode 100644 index 0000000..17938b8 Binary files /dev/null and b/Gateways/FE/projects/.resources/f725fec08d4c08b3d187f864b4806c47d1df1be8a53857257146aaaa6a2c66e8 differ diff --git a/Gateways/FE/projects/.resources/f76bc45f05b0ba1ea5656c5e71ac1953c79b705e7f8285902e56000173cd599a b/Gateways/FE/projects/.resources/f76bc45f05b0ba1ea5656c5e71ac1953c79b705e7f8285902e56000173cd599a new file mode 100644 index 0000000..2060f11 --- /dev/null +++ b/Gateways/FE/projects/.resources/f76bc45f05b0ba1ea5656c5e71ac1953c79b705e7f8285902e56000173cd599a @@ -0,0 +1,415 @@ +{ + "custom": { + "OCmd_Run": true, + "Schedule_Force_Occupied": 1 + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + "propConfig": { + "custom.Schedule_Force_Occupied": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Schedule Force Occupied" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.Schedule_Force_Occupied \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.Schedule_Force_Occupied" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "OFF" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.Schedule_Force_Occupied \u003d 1\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.Schedule_Force_Occupied" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Occupied" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.Schedule_Force_Occupied \u003d 2\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_1" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.Schedule_Force_Occupied" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Unoccupied" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Tag Config" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Supply Air Temperature Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "0,0.##", + "min": 1, + "name": "Supply Air Temperature Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Tag Config_0" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Supply Air Dewpoint Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "0,0.##", + "min": 1, + "name": "Supply Air Dewpoint Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%", + "grow": 4 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Enable" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Controls/Schedule Force Occupied" + }, + "type": "tag" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "SubEnable", + "visible": false + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "grow": 1, + "shrink": 2 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f7c08830549666633d83e94f8f2ffafad717f8cb494a07cbf205ff2cb6b91e90 b/Gateways/FE/projects/.resources/f7c08830549666633d83e94f8f2ffafad717f8cb494a07cbf205ff2cb6b91e90 new file mode 100644 index 0000000..c83c664 Binary files /dev/null and b/Gateways/FE/projects/.resources/f7c08830549666633d83e94f8f2ffafad717f8cb494a07cbf205ff2cb6b91e90 differ diff --git a/Gateways/FE/projects/.resources/f7eedcac65cc91aabd0efcc011b33c7157eec9c6675944c07a0d31a190a40896 b/Gateways/FE/projects/.resources/f7eedcac65cc91aabd0efcc011b33c7157eec9c6675944c07a0d31a190a40896 new file mode 100644 index 0000000..d7422df Binary files /dev/null and b/Gateways/FE/projects/.resources/f7eedcac65cc91aabd0efcc011b33c7157eec9c6675944c07a0d31a190a40896 differ diff --git a/Gateways/FE/projects/.resources/f89008aa9d955888b55c0b1235fbfc11223d8ba191f9495c1a43b3b1047380d2 b/Gateways/FE/projects/.resources/f89008aa9d955888b55c0b1235fbfc11223d8ba191f9495c1a43b3b1047380d2 new file mode 100644 index 0000000..10bcd2f --- /dev/null +++ b/Gateways/FE/projects/.resources/f89008aa9d955888b55c0b1235fbfc11223d8ba191f9495c1a43b3b1047380d2 @@ -0,0 +1,359 @@ +{ + "custom": {}, + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tend \u003d system.date.now()\n\tstart \u003d system.date.addDays(end, -1)\n\tself.getChild(\"root\").getChild(\"AlarmJournalTable\").props.dateRange.historical.startDate \u003d start\n\tself.getChild(\"root\").getChild(\"AlarmJournalTable\").props.dateRange.historical.endDate \u003d end" + }, + "scope": "G", + "type": "script" + } + } + }, + "params": {}, + "props": { + "defaultSize": { + "height": 1163, + "width": 1290 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "80%", + "grow": 1 + }, + "props": { + "placeholder": "Use * for wildcard - e.g. *SomeTag/Alarm*" + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Source Filter" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "style": { + "paddingBottom": "10px", + "paddingLeft": "10px", + "paddingRight": "10px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "80%", + "grow": 1 + }, + "props": { + "placeholder": "Use * for wildcard - e.g. *CHWP\n*" + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Display Path Filter" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "style": { + "paddingBottom": "10px", + "paddingLeft": "10px", + "paddingRight": "10px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "AlarmJournalTable" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.filter.conditions.displayPath": { + "binding": { + "config": { + "path": "../Header/Display Path Filter/TextField.props.text" + }, + "type": "property" + } + }, + "props.filter.conditions.source": { + "binding": { + "config": { + "path": "../Header/Source Filter/TextField.props.text" + }, + "type": "property" + } + } + }, + "props": { + "columns": { + "displayPath": { + "enabled": true + }, + "eventId": { + "enabled": false + }, + "state": { + "enabled": true + } + }, + "dateRange": { + "historical": { + "endDate": { + "$": [ + "ts", + 192, + 1776899144055 + ], + "$ts": 1776899144053 + }, + "startDate": { + "$": [ + "ts", + 192, + 1776899144055 + ], + "$ts": 1776812744053 + } + }, + "realtime": { + "interval": 1 + } + }, + "filter": { + "conditions": {}, + "events": { + "acked": false, + "active": false, + "cleared": false + }, + "priorities": { + "critical": false, + "high": false, + "low": false, + "medium": false + } + }, + "pager": { + "initialOption": 100 + }, + "rowStyles": { + "acked": { + "base": { + "color": "#000000" + }, + "priorities": { + "critical": { + "backgroundColor": "#e2202888" + }, + "diagnostic": { + "backgroundColor": "#7166b788" + }, + "high": { + "backgroundColor": "#de7c3388" + }, + "low": { + "backgroundColor": "#7266b788" + }, + "medium": { + "backgroundColor": "#f4b83488" + } + } + }, + "active": { + "base": { + "color": "#000000" + }, + "priorities": { + "critical": { + "backgroundColor": "#ed1c24" + }, + "diagnostic": { + "backgroundColor": "#7166b7", + "color": "#FFFFFF" + }, + "high": { + "backgroundColor": "#de7c33" + }, + "low": { + "backgroundColor": "#7166b7", + "color": "#FFFFFF" + }, + "medium": { + "backgroundColor": "#f4b834" + } + } + }, + "cleared": { + "base": { + "color": "#FFFFFF" + }, + "priorities": { + "critical": { + "backgroundColor": "#2E5EAA" + }, + "diagnostic": { + "backgroundColor": "#FFFFFF" + }, + "high": { + "backgroundColor": "#507ABF" + }, + "low": { + "backgroundColor": "#A0BEEF" + }, + "medium": { + "backgroundColor": "#7198D6" + } + } + } + }, + "toolbar": { + "enableFilter": false, + "enableFilterResults": false, + "toggleableFilter": false + } + }, + "type": "ia.display.alarmjournaltable" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\t\n\tdateRange \u003d self.parent.parent.getChild(\"AlarmJournalTable\").props.dateRange\n\tif dateRange[\u0027mode\u0027] \u003d\u003d \u0027historical\u0027:\n\t\thist \u003d dateRange[\u0027historical\u0027]\n\t\tstartDate \u003d hist[\u0027startDate\u0027]\n\t\tendDate \u003d hist[\u0027endDate\u0027]\n\telse:\n\t\treal \u003d dateRange[\u0027realtime\u0027]\n\t\t\n\t\tendDate \u003d system.date.now()\n\t\tunit \u003d real[\u0027unit\u0027]\n\t\tinterval \u003d real[\u0027interval\u0027]\n\t\t\n\t\tif unit \u003d\u003d \"seconds\":\n\t\t\tstartDate \u003d system.date.addSeconds(endDate, -interval)\n\t\telif unit \u003d\u003d \"minutes\":\n\t\t\tstartDate \u003d system.date.addMinutes(endDate, -interval)\n\t\telif unit \u003d\u003d \"hours\":\n\t\t\tstartDate \u003d system.date.addHours(endDate, -interval)\n\t\telif unit \u003d\u003d \"days\":\n\t\t\tstartDate \u003d system.date.addDays(endDate, -interval)\n\t\telif unit \u003d\u003d \"weeks\":\n\t\t\tstartDate \u003d system.date.addWeeks(endDate, -interval)\n\t\telif unit \u003d\u003d \"months\":\n\t\t\tstartDate \u003d system.date.addMonths(endDate, -interval)\n\t\telif unit \u003d\u003d \"years\":\n\t\t\tstartDate \u003d system.date.addYears(endDate, -interval)\n\t\n\t\n\tfilter \u003d self.parent.parent.getChild(\"AlarmJournalTable\").props.filter\n\tpriority \u003d helper.util.true_keys(filter[\u0027priorities\u0027])\n\tevents \u003d helper.util.true_keys(filter[\u0027events\u0027])\n\tstate \u003d helper.util.parse_event_filter_to_query_states(events)\n\tsource \u003d filter[\u0027conditions\u0027][\u0027source\u0027]\n\tdisplayPath \u003d filter[\u0027conditions\u0027][\u0027displayPath\u0027]\n\t\n\n\talarms \u003d system.alarm.queryJournal(startDate \u003d startDate, endDate\u003dendDate, priority\u003dpriority, state\u003dstate, includeData\u003dTrue, source\u003dsource, displaypath\u003ddisplayPath)\n\t\n\theaders \u003d [\u0027eventTime\u0027, \u0027source\u0027, \u0027eventState\u0027, \u0027eventValue\u0027, \u0027displayPath\u0027, \u0027label\u0027, \u0027id\u0027]\n\trows \u003d []\n\t\n\tfor alarm in alarms:\n\t\trows.append([str(alarm[header]) for header in headers])\n\t\t\n\talarmData \u003d system.dataset.toDataSet(headers, rows)\n\tsummaryDS \u003d helper.journal.groupJournalByPathAndState(alarms)\n\t\n\texcelBytes \u003d system.dataset.toExcel(True, [alarmData, summaryDS], sheetNames\u003d[\"Journal\", \"Counts\"])\n\t# Trigger download on the client\n\tend_str \u003d system.date.format(endDate, \u0027yyMMddHHmmss\u0027)\n\tstart_str \u003d system.date.format(startDate, \u0027yyMMddHHmmss\u0027)\n\tfname \u003d \u0027_\u0027.join([\u0027AlarmHist\u0027,end_str, start_str,\u0027.xlsx\u0027])\n\t\n\tsystem.perspective.download(fname, excelBytes, \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\")\n\t\n\treturn\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "DirectExport" + }, + "position": { + "basis": "205px" + }, + "props": { + "style": { + "marginBottom": "10px", + "marginTop": "10px" + }, + "text": "Export Summary" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "58px" + }, + "props": { + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f89d155b8f49532b01c172b293bb701a0efa5c94b6cc1e2db894f823fec30b49 b/Gateways/FE/projects/.resources/f89d155b8f49532b01c172b293bb701a0efa5c94b6cc1e2db894f823fec30b49 new file mode 100644 index 0000000..cca6ebb --- /dev/null +++ b/Gateways/FE/projects/.resources/f89d155b8f49532b01c172b293bb701a0efa5c94b6cc1e2db894f823fec30b49 @@ -0,0 +1,914 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 1020, + "width": 1750 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Ignition Network Architecture", + "textStyle": { + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "meta": { + "name": "NetworkFloor" + }, + "position": { + "height": 586, + "width": 1054, + "x": 80, + "y": 260.04668749999996 + }, + "propConfig": { + "custom.colorHandler.zones": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": "stream-light", + "output": "#ebebeb" + }, + { + "input": "stream-dark", + "output": "#12121280" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.zones" + }, + "type": "property" + } + }, + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.zones" + }, + "type": "property" + } + }, + "props.elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.zones" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M3226.58,282.538c12.932,7.43 20.907,21.206 20.91,36.12c0.003,14.915 -7.966,28.693 -20.895,36.128c-385.651,221.779 -2423.16,1393.5 -2651.22,1524.65c-12.855,7.393 -28.671,7.396 -41.529,0.009c-76.864,-44.162 -347.139,-199.446 -470.997,-270.607c-12.932,-7.43 -20.907,-21.206 -20.91,-36.12c-0.003,-14.915 7.966,-28.693 20.895,-36.128c385.651,-221.779 2423.16,-1393.5 2651.22,-1524.65c12.855,-7.393 28.671,-7.396 41.529,-0.009c76.863,44.162 347.139,199.446 470.997,270.607Z", + "fill": {}, + "id": "Zone01", + "name": "Zone01", + "type": "path" + }, + { + "d": "M3169.28,1567.04c12.932,7.43 20.907,21.205 20.91,36.12c0.003,14.914 -7.966,28.693 -20.895,36.128c-213.14,122.572 -903.927,519.828 -1059.11,609.072c-19.283,11.089 -43.006,11.094 -62.293,0.012c-91.889,-52.793 -363.12,-208.626 -486.884,-279.734c-12.932,-7.43 -20.907,-21.205 -20.91,-36.12c-0.003,-14.914 7.966,-28.693 20.895,-36.128c218.337,-125.56 937.895,-539.362 1069.49,-615.042c12.855,-7.392 28.671,-7.396 41.529,-0.008c79.764,45.827 368.424,211.674 497.267,285.7Z", + "fill": {}, + "id": "Zone011", + "name": "Zone011", + "type": "path" + }, + { + "d": "M4235.68,1129.82c12.932,7.43 20.906,21.205 20.909,36.12c0.003,14.914 -7.966,28.693 -20.895,36.128c-112.575,64.74 -343.453,197.513 -413.742,237.934c-12.855,7.393 -28.671,7.396 -41.529,0.009c-116.596,-66.989 -691.421,-397.249 -883.798,-507.778c-12.932,-7.43 -20.907,-21.205 -20.91,-36.12c-0.003,-14.914 7.966,-28.693 20.895,-36.128c112.576,-64.74 343.454,-197.513 413.743,-237.934c12.855,-7.393 28.671,-7.396 41.529,-0.009c116.596,66.99 691.42,397.249 883.798,507.778Z", + "fill": {}, + "id": "Zone03", + "name": "Zone03", + "type": "path" + }, + { + "elements": [ + { + "d": "M609.683,1759.37l-150.586,-86.941", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M1301.94,1354.31l-150.586,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M2488.01,1366.11l-749.764,-432.876", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M2428.76,707.843l-150.585,-86.941", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M3000.96,380.318l-150.585,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M612.372,1759.37l2388.59,-1379.05", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M3107.97,973.119l150.586,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M2943.48,1384.12l562.301,-349.589", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M2030.45,1983.38l478.231,-276.107", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M3723.15,1331.16l150.585,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M3723.2,1331.16l-615.237,-355.206", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path", + "visibility": "hidden" + } + ], + "id": "Connections", + "name": "Connections", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4299 2267" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "IO1-M" + }, + "position": { + "height": 120, + "width": 155, + "x": -83.0844, + "y": 644.056 + }, + "props": { + "params": { + "ipAddr": "10.239.152.191", + "tagProvider": "[Ignition SATB1 IO1 default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO2-M" + }, + "position": { + "height": 120, + "width": 155, + "x": -83.0844, + "y": 508.006 + }, + "props": { + "params": { + "ipAddr": "10.239.152.181", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO3-M" + }, + "position": { + "height": 120, + "width": 124.01, + "x": 122.0211875, + "y": 267.9815 + }, + "props": { + "params": { + "ipAddr": "10.239.152.182", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO4-M" + }, + "position": { + "height": 120, + "width": 124.01, + "x": 122.00118750000001, + "y": 404.0315 + }, + "props": { + "params": { + "ipAddr": "10.239.152.192", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO5-M" + }, + "position": { + "height": 120, + "width": 170, + "x": 1065.96, + "y": 260.031375 + }, + "props": { + "params": { + "ipAddr": "10.239.152.180", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO6-M" + }, + "position": { + "height": 120, + "width": 170, + "x": 1066, + "y": 396.009375 + }, + "props": { + "params": { + "ipAddr": "10.239.152.190", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 130, + "width": 130, + "x": 901.305, + "y": 422.9136875 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 130, + "width": 130, + "x": 705.54, + "y": 237.0346875 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 130, + "width": 130, + "x": 566, + "y": 317.0546875 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 130, + "width": 130, + "x": 433, + "y": 394.0546875 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 130, + "width": 130, + "x": 289, + "y": 476.0546875 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 130, + "width": 130, + "x": 119, + "y": 575.0546875 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Database" + }, + "position": { + "height": 130, + "width": 130, + "x": 513.234, + "y": 666.9696875 + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M352.242,171.978c-0,-26.76 -62.353,-48.485 -139.155,-48.485c-76.801,-0 -139.154,21.725 -139.154,48.485l-0,264.243c-0,26.759 62.353,48.485 139.154,48.485c76.802,-0 139.155,-21.726 139.155,-48.485l-0,-264.243Z", + "fill": { + "paint": "#bfc0c2" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M73.933,183.91c-0,26.7 62.353,48.377 139.154,48.377c76.802,-0 139.155,-21.677 139.155,-48.377", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M73.933,268.05c-0,26.7 62.353,48.376 139.154,48.376c76.802,0 139.155,-21.676 139.155,-48.376", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M73.933,352.189c-0,26.7 62.353,48.377 139.154,48.377c76.802,0 139.155,-21.677 139.155,-48.377", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 500 516" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 200, + "width": 200, + "x": 652, + "y": 524.0546875 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HMI-M" + }, + "position": { + "height": 118, + "width": 170, + "x": 880.299375, + "y": 646.047 + }, + "props": { + "params": { + "ipAddr": "10.239.152.189", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HMI-M_0" + }, + "position": { + "height": 118, + "width": 170, + "x": 1080.259375, + "y": 646.047 + }, + "props": { + "params": { + "ipAddr": "10.239.152.199", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO4-M_0" + }, + "position": { + "height": 120, + "width": 143, + "x": 315.89, + "y": 290.909 + }, + "props": { + "params": { + "ipAddr": "10.239.152.193", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO3-M_0" + }, + "position": { + "height": 120, + "width": 143, + "x": 315.89, + "y": 154.909 + }, + "props": { + "params": { + "ipAddr": "10.239.152.183", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO3-M_1" + }, + "position": { + "height": 120, + "width": 143, + "x": 510.509, + "y": 54.11189999999999 + }, + "props": { + "params": { + "ipAddr": "10.239.152.184", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO4-M_1" + }, + "position": { + "height": 120, + "width": 143, + "x": 510.509, + "y": 191.9085 + }, + "props": { + "params": { + "ipAddr": "10.239.152.194", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO4-M_2" + }, + "position": { + "height": 120, + "width": 143, + "x": 844.51, + "y": 185.908 + }, + "props": { + "params": { + "ipAddr": "10.239.152.195", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO3-M_2" + }, + "position": { + "height": 120, + "width": 143, + "x": 844.51, + "y": 48.1075 + }, + "props": { + "params": { + "ipAddr": "10.239.152.185", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f8a5a2c711f1587b7660beef332cd58938c6880c9ad6f6610bd592e9e178afad b/Gateways/FE/projects/.resources/f8a5a2c711f1587b7660beef332cd58938c6880c9ad6f6610bd592e9e178afad new file mode 100644 index 0000000..e0174b3 Binary files /dev/null and b/Gateways/FE/projects/.resources/f8a5a2c711f1587b7660beef332cd58938c6880c9ad6f6610bd592e9e178afad differ diff --git a/Gateways/FE/projects/.resources/f922946435fbd05fd88d7de55907469be176a5cdf2078bb07f2aa1cb762ae920 b/Gateways/FE/projects/.resources/f922946435fbd05fd88d7de55907469be176a5cdf2078bb07f2aa1cb762ae920 new file mode 100644 index 0000000..4ea8638 Binary files /dev/null and b/Gateways/FE/projects/.resources/f922946435fbd05fd88d7de55907469be176a5cdf2078bb07f2aa1cb762ae920 differ diff --git a/Gateways/FE/projects/.resources/f93da76dea0e9b868d281b9028f58796a55a2af68a6b74a084403779b1ec1618 b/Gateways/FE/projects/.resources/f93da76dea0e9b868d281b9028f58796a55a2af68a6b74a084403779b1ec1618 new file mode 100644 index 0000000..5135cd7 Binary files /dev/null and b/Gateways/FE/projects/.resources/f93da76dea0e9b868d281b9028f58796a55a2af68a6b74a084403779b1ec1618 differ diff --git a/Gateways/FE/projects/.resources/f942fd63107e70132685e041e091f5cc03bda4431505962bcaf98cf657de19f4 b/Gateways/FE/projects/.resources/f942fd63107e70132685e041e091f5cc03bda4431505962bcaf98cf657de19f4 new file mode 100644 index 0000000..b7b621a --- /dev/null +++ b/Gateways/FE/projects/.resources/f942fd63107e70132685e041e091f5cc03bda4431505962bcaf98cf657de19f4 @@ -0,0 +1,206 @@ +{ + "custom": { + "EU": "tons", + "Tag": "DH1" + }, + "params": { + "DH": 1, + "tagPath": "[default]simulator/CHW_System/Ton1" + }, + "propConfig": { + "custom.EU": { + "persistent": true + }, + "custom.Tag": { + "binding": { + "config": { + "expression": "concat(\"DH\",{view.params.DH})" + }, + "type": "expr" + }, + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 63, + "width": 128 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.Tag" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "basis": "60%" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "path": "view.custom.EU" + }, + "type": "property" + } + }, + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.value" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "60%" + }, + "props": { + "style": { + "fontSize": 12, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "40%" + }, + "propConfig": { + "props.desiredHigh": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.value" + }, + "transforms": [ + { + "expression": "{value} + 100", + "type": "expression" + } + ], + "type": "tag" + } + }, + "props.desiredLow": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.value" + }, + "transforms": [ + { + "expression": "{value} - 100", + "type": "expression" + } + ], + "type": "tag" + } + }, + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.value" + }, + "type": "tag" + } + } + }, + "props": { + "desiredRangeColor": "var(--state-running)", + "highAlarm": 1900, + "highHighAlarm": 1950, + "highInterlock": null, + "inactiveAlarmColor": "var(--alarm-high)", + "lowAlarm": 100, + "lowInterlock": 0, + "lowLowAlarm": 0, + "maxValue": 2000, + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/f9502ec4e3eb9a7bae176e83f3c01d56ff81f93eb5c0199a7ad2575c9823ab6c b/Gateways/FE/projects/.resources/f9502ec4e3eb9a7bae176e83f3c01d56ff81f93eb5c0199a7ad2575c9823ab6c new file mode 100644 index 0000000..dd2018e Binary files /dev/null and b/Gateways/FE/projects/.resources/f9502ec4e3eb9a7bae176e83f3c01d56ff81f93eb5c0199a7ad2575c9823ab6c differ diff --git a/Gateways/FE/projects/.resources/f99f40074e71de82dceb6999fe2111d86698c7bc1c5ff04265944679b27c4418 b/Gateways/FE/projects/.resources/f99f40074e71de82dceb6999fe2111d86698c7bc1c5ff04265944679b27c4418 new file mode 100644 index 0000000..476c86b Binary files /dev/null and b/Gateways/FE/projects/.resources/f99f40074e71de82dceb6999fe2111d86698c7bc1c5ff04265944679b27c4418 differ diff --git a/Gateways/FE/projects/.resources/f9c7cf95a817a0c334bad3be413a8c9c40acdc947df5563150def72257c5b4cd b/Gateways/FE/projects/.resources/f9c7cf95a817a0c334bad3be413a8c9c40acdc947df5563150def72257c5b4cd new file mode 100644 index 0000000..7ce569f --- /dev/null +++ b/Gateways/FE/projects/.resources/f9c7cf95a817a0c334bad3be413a8c9c40acdc947df5563150def72257c5b4cd @@ -0,0 +1,568 @@ +{ + "custom": { + "Alarm": false, + "AlarmSeverity": null, + "AvgSF": null, + "Running": false, + "SF1": null, + "SF2": null, + "SF3": null, + "Status": 0 + }, + "params": { + "TagPosition": true, + "objectName": "CRAH", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1263/SATB1_IDF1263_CRAH_01" + }, + "propConfig": { + "custom.Alarm": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.AvgSF": { + "binding": { + "config": { + "struct": { + "sf1": "{view.custom.SF1}", + "sf2": "{view.custom.SF2}", + "sf3": "{view.custom.SF3}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "({value}[\u0027sf1\u0027] + {value}[\u0027sf2\u0027] +{value}[\u0027sf3\u0027])/3", + "type": "expression" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.Running": { + "binding": { + "config": { + "struct": { + "fanSpeed_1": "tag({view.params.tagPath}+\u0027/Fan Speed 1\u0027)", + "fanSpeed_2": "tag({view.params.tagPath}+\u0027/Fan Speed 2\u0027)", + "fanSpeed_3": "tag({view.params.tagPath}+\u0027/Fan Speed 3\u0027)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027fanSpeed_1\u0027] \u003e 0)or(value[\u0027fanSpeed_2\u0027] \u003e 0)or(value[\u0027fanSpeed_3\u0027] \u003e 0):\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.SF1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Speed 1" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.SF2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Speed 2" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.SF3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Speed 3" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "expression": "if({view.custom.Alarm}, 2, if({view.custom.Running},1,0))" + }, + "type": "expr" + }, + "persistent": true + }, + "params.TagPosition": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 70, + "width": 120 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 70, + "width": 120 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.TagPosition" + }, + "transforms": [ + { + "fallback": "top", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "bottom" + }, + { + "input": true, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Container" + }, + "position": { + "height": 41, + "width": 92, + "x": 10, + "y": 13.5 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#4F4F4F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var01" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 01" + }, + "position": { + "height": 23, + "width": 44, + "x": 60, + "y": 15 + }, + "props": { + "text": "RA °F", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "contextMenu": { + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "menu-item", + "type": "link" + } + ] + }, + "name": "Var02" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 30 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.AvgSF" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 02" + }, + "position": { + "height": 23, + "width": 44, + "x": 60, + "y": 30 + }, + "props": { + "text": "SF %", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Box" + }, + "position": { + "height": 50, + "width": 102, + "x": 5, + "y": 9.5 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineWidth": 3 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 21, + "width": 21, + "x": 97.99, + "y": -1.01 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/fa102691d2c59c539265f8886e736eed3dbb943afbf07915b61af2f016cd0360 b/Gateways/FE/projects/.resources/fa102691d2c59c539265f8886e736eed3dbb943afbf07915b61af2f016cd0360 new file mode 100644 index 0000000..7347b30 --- /dev/null +++ b/Gateways/FE/projects/.resources/fa102691d2c59c539265f8886e736eed3dbb943afbf07915b61af2f016cd0360 @@ -0,0 +1,843 @@ +{ + "custom": { + "AlarmSeverity": { + "prov": 3 + }, + "CRAH_tagPaths": [], + "data": [ + "[Ignition_SATB1_IO1_default]ER1242/SATB1_P1_1_ER1242_CRAH_01", + "[Ignition_SATB1_IO1_default]ER1242/SATB1_P1_1_ER1242_CRAH_02", + "[Ignition_SATB1_IO1_default]ER1243/SATB1_P1_2_ER1243_CRAH_01", + "[Ignition_SATB1_IO1_default]ER1243/SATB1_P1_2_ER1243_CRAH_02", + "[Ignition_SATB1_IO1_default]ER1244/SATB1_P1_3_ER1244_CRAH_01", + "[Ignition_SATB1_IO1_default]ER1244/SATB1_P1_3_ER1244_CRAH_02", + "[Ignition_SATB1_IO1_default]ER1245/SATB1_P1_4_ER1245_CRAH_01", + "[Ignition_SATB1_IO1_default]ER1245/SATB1_P1_4_ER1245_CRAH_02", + "[Ignition_SATB1_IO1_default]ER1246/SATB1_P1_5_ER1246_CRAH_01", + "[Ignition_SATB1_IO1_default]ER1246/SATB1_P1_5_ER1246_CRAH_02", + "[Ignition_SATB1_IO2_default]ER1248/SATB1_P2_1_ER1248_CRAH_01", + "[Ignition_SATB1_IO2_default]ER1248/SATB1_P2_1_ER1248_CRAH_02", + "[Ignition_SATB1_IO2_default]ER1249/SATB1_P2_2_ER1249_CRAH_01", + "[Ignition_SATB1_IO2_default]ER1249/SATB1_P2_2_ER1249_CRAH_02", + "[Ignition_SATB1_IO2_default]ER1250/SATB1_P2_3_ER1250_CRAH_01", + "[Ignition_SATB1_IO2_default]ER1250/SATB1_P2_3_ER1250_CRAH_02", + "[Ignition_SATB1_IO2_default]ER1251/SATB1_P2_4_ER1251_CRAH_01", + "[Ignition_SATB1_IO2_default]ER1251/SATB1_P2_4_ER1251_CRAH_02", + "[Ignition_SATB1_IO2_default]ER1252/SATB1_P2_5_ER1252_CRAH_01", + "[Ignition_SATB1_IO2_default]ER1252/SATB1_P2_5_ER1252_CRAH_02", + "[Ignition_SATB1_IO3_default]ER1155/SATB1_P3_1_ER1155_CRAH_01", + "[Ignition_SATB1_IO3_default]ER1155/SATB1_P3_1_ER1155_CRAH_02", + "[Ignition_SATB1_IO3_default]ER1156/SATB1_P3_2_ER1156_CRAH_01", + "[Ignition_SATB1_IO3_default]ER1156/SATB1_P3_2_ER1156_CRAH_02", + "[Ignition_SATB1_IO3_default]ER1157/SATB1_P3_3_ER1157_CRAH_01", + "[Ignition_SATB1_IO3_default]ER1157/SATB1_P3_3_ER1157_CRAH_02", + "[Ignition_SATB1_IO3_default]ER1158/SATB1_P3_4_ER1158_CRAH_01", + "[Ignition_SATB1_IO3_default]ER1158/SATB1_P3_4_ER1158_CRAH_02", + "[Ignition_SATB1_IO3_default]ER1159/SATB1_P3_5_ER1159_CRAH_01", + "[Ignition_SATB1_IO3_default]ER1159/SATB1_P3_5_ER1159_CRAH_02", + "[Ignition_SATB1_IO4_default]ER1254/SATB1_P4_1_ER1254_CRAH_01", + "[Ignition_SATB1_IO4_default]ER1254/SATB1_P4_1_ER1254_CRAH_02", + "[Ignition_SATB1_IO4_default]ER1255/SATB1_P4_2_ER1255_CRAH_01", + "[Ignition_SATB1_IO4_default]ER1255/SATB1_P4_2_ER1255_CRAH_02", + "[Ignition_SATB1_IO4_default]ER1256/SATB1_P4_3_ER1256_CRAH_01", + "[Ignition_SATB1_IO4_default]ER1256/SATB1_P4_3_ER1256_CRAH_02", + "[Ignition_SATB1_IO4_default]ER1257/SATB1_P4_4_ER1257_CRAH_01", + "[Ignition_SATB1_IO4_default]ER1257/SATB1_P4_4_ER1257_CRAH_02", + "[Ignition_SATB1_IO4_default]ER1258/SATB1_P4_5_ER1258_CRAH_01", + "[Ignition_SATB1_IO4_default]ER1258/SATB1_P4_5_ER1258_CRAH_02", + "[Ignition_SATB1_IO5_default]ER1161/SATB1_P5_1_ER1161_CRAH_01", + "[Ignition_SATB1_IO5_default]ER1161/SATB1_P5_1_ER1161_CRAH_02", + "[Ignition_SATB1_IO5_default]ER1162/SATB1_P5_2_ER1162_CRAH_01", + "[Ignition_SATB1_IO5_default]ER1162/SATB1_P5_2_ER1162_CRAH_02", + "[Ignition_SATB1_IO5_default]ER1163/SATB1_P5_3_ER1163_CRAH_01", + "[Ignition_SATB1_IO5_default]ER1163/SATB1_P5_3_ER1163_CRAH_02", + "[Ignition_SATB1_IO5_default]ER1164/SATB1_P5_4_EL1164_CRAH_01", + "[Ignition_SATB1_IO5_default]ER1164/SATB1_P5_4_EL1164_CRAH_02", + "[Ignition_SATB1_IO5_default]ER1165/SATB1_P5_5_EL1165_CRAH_01", + "[Ignition_SATB1_IO5_default]ER1165/SATB1_P5_5_EL1165_CRAH_02", + "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_ER1151_CRAH_01", + "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_ER1151_CRAH_02", + "[Ignition_Common_IO_Gtwy]IDF1263/SATB1_IDF1263_CRAH_01", + "[Ignition_Common_IO_Gtwy]IDF1263/SATB1_IDF1263_CRAH_02", + "[Ignition_Common_IO_Gtwy]IDF1273/SATB1_IDF1273_CRAH_01", + "[Ignition_Common_IO_Gtwy]IDF1273/SATB1_IDF1273_CRAH_02", + "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_M5_6_MPR1150_CRAH_01", + "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_M5_6_MPR1150_CRAH_02", + "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_M1_2_MPR1240_CRAH_01", + "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_M1_2_MPR1240_CRAH_02", + "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_M3_4_MPR1241_CRAH_01", + "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_M3_4_MPR1241_CRAH_02", + "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_M7_8_MPR1247_CRAH_01", + "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_M7_8_MPR1247_CRAH_02", + "[Ignition_Common_IO_Gtwy]MR1253/SATB1_HS2_MR1253_CRAH_01", + "[Ignition_Common_IO_Gtwy]MR1253/SATB1_HS2_MR1253_CRAH_02" + ], + "key": "[Ignition_SATB1_IO1_default]ER1242/SATB1_P1_1_ER1242_CRAH_01", + "key_1": null, + "selectedRoom": "MPR1150", + "tagPath": [ + "[Ignition_SATB1_IO1_default]", + "[Ignition_SATB1_IO2_default]", + "[Ignition_SATB1_IO3_default]", + "[Ignition_SATB1_IO4_default]", + "[Ignition_SATB1_IO5_default]", + "[Ignition_Common_IO_Gtwy]" + ] + }, + "params": {}, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "struct": { + "paths": "{view.custom.data}", + "time": "now(5000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttags \u003d value[\u0027paths\u0027]\n\tfor tag in tags:\n\t\taggAlarmStatus \u003d system.tag.readBlocking([tag+\"/AlarmSummary/ActiveAlarms\"])[0].value\n\t\treturn aggAlarmStatus\n\t\tmaxState \u003d 0\n\t\tfor v in aggAlarmStatus:\n\t\t\tmaxState \u003d v if v \u003e maxState else maxState\n\t\toutput.append(maxState)\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.CRAH_tagPaths": { + "binding": { + "config": { + "struct": { + "selected": "{view.custom.selectedRoom}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tselected \u003d value[\"selected\"]\n\tproviders \u003d {\n\t\t\t\t\"MPR1240\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\"MPR1241\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\"MPR1247\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\"MPR1150\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\"ER1151\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\"MR1253\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\"IDF1263\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\"IDF1273\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\n\t\t\t\t\"ER1242\":\"[Ignition_SATB1_IO1_default]\",\n\t\t\t\t\"ER1243\":\"[Ignition_SATB1_IO1_default]\",\n\t\t\t\t\"ER1244\":\"[Ignition_SATB1_IO1_default]\",\n\t\t\t\t\"ER1245\":\"[Ignition_SATB1_IO1_default]\",\n\t\t\t\t\"ER1246\":\"[Ignition_SATB1_IO1_default]\",\n\t\t\t\t\n\t\t\t\t\"ER1248\":\"[Ignition_SATB1_IO2_default]\",\n\t\t\t\t\"ER1249\":\"[Ignition_SATB1_IO2_default]\",\n\t\t\t\t\"ER1250\":\"[Ignition_SATB1_IO2_default]\",\n\t\t\t\t\"ER1251\":\"[Ignition_SATB1_IO2_default]\",\n\t\t\t\t\"ER1252\":\"[Ignition_SATB1_IO2_default]\",\n\t\t\t\t\n\t\t\t\t\"ER1155\":\"[Ignition_SATB1_IO3_default]\",\n\t\t\t\t\"ER1156\":\"[Ignition_SATB1_IO3_default]\",\n\t\t\t\t\"ER1157\":\"[Ignition_SATB1_IO3_default]\",\n\t\t\t\t\"ER1158\":\"[Ignition_SATB1_IO3_default]\",\n\t\t\t\t\"ER1159\":\"[Ignition_SATB1_IO3_default]\",\n\t\t\t\t\n\t\t\t\t\"ER1254\":\"[Ignition_SATB1_IO4_default]\",\n\t\t\t\t\"ER1255\":\"[Ignition_SATB1_IO4_default]\",\n\t\t\t\t\"ER1256\":\"[Ignition_SATB1_IO4_default]\",\n\t\t\t\t\"ER1257\":\"[Ignition_SATB1_IO4_default]\",\n\t\t\t\t\"ER1258\":\"[Ignition_SATB1_IO4_default]\",\n\t\t\t\t\n\t\t\t\t\"ER1161\":\"[Ignition_SATB1_IO5_default]\",\n\t\t\t\t\"ER1162\":\"[Ignition_SATB1_IO5_default]\",\n\t\t\t\t\"ER1163\":\"[Ignition_SATB1_IO5_default]\",\n\t\t\t\t\"ER1164\":\"[Ignition_SATB1_IO5_default]\",\n\t\t\t\t\"ER1165\":\"[Ignition_SATB1_IO5_default]\",\n\t\t\t\t}\n\t\n\tpath \u003d providers[selected] + \u0027/\u0027 + selected\n\ttags \u003d system.tag.browse(path,{\"typeId\":\"Objects/Air/CRAH v2\", \"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.data": { + "binding": { + "config": { + "path": "view.custom.time" + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tdata \u003d self.custom.tagPath\n\tfor item in data:\n\t\ttags \u003d system.tag.browse(item,{\"typeId\":\"Objects/Air/CRAH\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags:\n\t\t\tCRAH_tagPath \u003d str(item[\"fullPath\"])\n\t\t\toutput.append(CRAH_tagPath)\n\toutput.append(value)\n\treturn output", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.key": { + "persistent": true + }, + "custom.key_1": { + "binding": { + "config": { + "path": "view.custom.key" + }, + "transforms": [ + { + "code": "\n\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.selectedRoom": { + "persistent": true + }, + "custom.tagPath": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1300 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.CRAH_tagPaths[0]" + }, + "enabled": false, + "transforms": [ + { + "code": "\timport re\n\ttag_path \u003d value\n\tpattern \u003d r\"]([^/]+)\" # Matches any characters between \u0027]\u0027 and \u0027/\u0027\n\tmatch \u003d re.search(pattern, tag_path)\n\tif match:\n\t\textracted_value \u003d match.group(1)\n\treturn extracted_value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 5, + "paddingLeft": 15, + "paddingRight": 15, + "paddingTop": 5 + }, + "text": "ER1242" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "path": "view.custom.CRAH_tagPaths" + }, + "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\": \"CRAH\",\n\t\t\t\t\t\t\"tagPath\": item})\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "row-reverse", + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "CRAH", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_M5_6_MPR1150_CRAH_01" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "CRAH", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_M5_6_MPR1150_CRAH_02" + } + ], + "path": "Library/Diagrams/HVAC/Dgrm_CRAH", + "style": { + "gap": 15, + "overflow": "visible" + } + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Diagrams" + }, + "position": { + "basis": "70%", + "grow": 1 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": 15, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Second Floor" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SecondFloor" + }, + "position": { + "basis": "20%", + "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" + }, + "position": { + "basis": "20%", + "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)\n\t\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "65%" + }, + "propConfig": { + "custom.selectedPaths": { + "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/CRAH\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\treturn tags", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.data": { + "binding": { + "config": { + "struct": { + "data": "{view.custom.data}", + "time": "now(5000)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor item in value[\u0027data\u0027]:\n\t\ttry:\n\t\t\tAlmS \u003d alarm.summary.calcMaxPriority(item)\n\t\texcept:\n\t\t\tAlmS \u003d -1\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\tRAT \u003d system.tag.readBlocking(item + \"/Return Air Temperature\")[0].value\n\t\t#SAT \u003d system.tag.readBlocking(item + \"/Supply Air Temperature\")[0].value\n\t\t#Name \u003d system.tag.readBlocking(item + \"/Meta/EqName\")[0].value\n\t\t#Room \u003d system.tag.readBlocking(item + \"/Meta/Room\")[0].value\n\t\tRoom \u003d item.split(\u0027/\u0027)[0].split(\u0027]\u0027)[1]\n\t\tName \u003d item.rsplit(\u0027_\u0027,2)\n\t\ttagPath \u003d item\n\t\toutput.append({ \"RAT\": RAT,\n\t\t\t\t\t\t#\"SAT\": SAT,\n\t\t\t\t\t\t\"Room\": Room,\n\t\t\t\t\t\t\"Name\": Name[1] + Name[2],\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": "RAT", + "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": "Return Air 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": false, + "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 + }, + "pager": { + "activeOption": 14, + "options": [ + 5, + 10, + 14, + 50, + 100 + ] + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "Location" + }, + "position": { + "basis": "450px", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around", + "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": "roomUpdate", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selectedRoom \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/fa2b73eced6a35ad1c667233178e69f3e841ae5ee940af09c28c79ee85fdea47 b/Gateways/FE/projects/.resources/fa2b73eced6a35ad1c667233178e69f3e841ae5ee940af09c28c79ee85fdea47 new file mode 100644 index 0000000..3631cbd --- /dev/null +++ b/Gateways/FE/projects/.resources/fa2b73eced6a35ad1c667233178e69f3e841ae5ee940af09c28c79ee85fdea47 @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_SYSTEM" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/fa2bb75252afd97a676b88f208daba6292901316e4bad04da4fa7a279648f910 b/Gateways/FE/projects/.resources/fa2bb75252afd97a676b88f208daba6292901316e4bad04da4fa7a279648f910 new file mode 100644 index 0000000..8d686ff --- /dev/null +++ b/Gateways/FE/projects/.resources/fa2bb75252afd97a676b88f208daba6292901316e4bad04da4fa7a279648f910 @@ -0,0 +1 @@ +def doDelete(request, session): diff --git a/Gateways/FE/projects/.resources/fa30ac606c6362dde03955542d8550dde9254a67aab05df91fb0efd57cad9e3d b/Gateways/FE/projects/.resources/fa30ac606c6362dde03955542d8550dde9254a67aab05df91fb0efd57cad9e3d new file mode 100644 index 0000000..1cb3c87 Binary files /dev/null and b/Gateways/FE/projects/.resources/fa30ac606c6362dde03955542d8550dde9254a67aab05df91fb0efd57cad9e3d differ diff --git a/Gateways/FE/projects/.resources/fa6109320dde2e072d8a2b18d714c25819f60ec1bc8f137c7bc1a2b162ed4a75 b/Gateways/FE/projects/.resources/fa6109320dde2e072d8a2b18d714c25819f60ec1bc8f137c7bc1a2b162ed4a75 new file mode 100644 index 0000000..da43120 Binary files /dev/null and b/Gateways/FE/projects/.resources/fa6109320dde2e072d8a2b18d714c25819f60ec1bc8f137c7bc1a2b162ed4a75 differ diff --git a/Gateways/FE/projects/.resources/fa92899f2145ae0723c2ca2699ef114793fe5945955f0e96875ae92ee1c29071 b/Gateways/FE/projects/.resources/fa92899f2145ae0723c2ca2699ef114793fe5945955f0e96875ae92ee1c29071 new file mode 100644 index 0000000..adff43c --- /dev/null +++ b/Gateways/FE/projects/.resources/fa92899f2145ae0723c2ca2699ef114793fe5945955f0e96875ae92ee1c29071 @@ -0,0 +1,138 @@ +def trace_power_flow(): + """ + Traces power flow through a series of connected transformers (UTs). + - Reads the state of all switches. + - Determines which components are energized and from which source. + - Writes the results back to memory tags. + """ + + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + # [Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1 + + #Temp suppres due to IO4 not available + ut_names = ["UT-P4-1", "UT-P4-2", "UT-P4-3", "UT-P4-4", "UT-P4-5", "UT-HS2"] + providers = [ "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_"] + + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/DS3A_W4', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/DS3B_W4'] + idx = 0 + for name in ut_names: + # Assuming your UDT instances are in a folder named 'UTs' + base_path = providers[idx] + name + tag_paths_to_read.append("{}/Source 1 Switch".format(base_path)) + tag_paths_to_read.append("{}/Source 2 Switch".format(base_path)) + idx+=1 + + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['DS-3A_Live'] = tag_values[0].value + values['DS-3B_Live'] = tag_values[1].value + + read_idx = 2 + for name in ut_names: + values[name] = { + 'Switch_L_Status': tag_values[read_idx].value, + 'Switch_R_Status': tag_values[read_idx + 1].value + } + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['DS-3A_Live']: + q.append( ("UT-P4-1", "DS-1A3") ) + if values['DS-3B_Live']: + q.append( ("UT-HS2", "DS-1B3") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ut_name, source = q.pop(0) + + if current_ut_name in visited: + continue + + visited.add(current_ut_name) + energized_state[current_ut_name] = source + current_ut_index = ut_names.index(current_ut_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ut_names) - 1: + neighbor_name = ut_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ut_name]['Switch_R_Status']['Value'] and values[neighbor_name]['Switch_L_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ut_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ut_name]['Switch_L_Status']['Value'] and values[neighbor_name]['Switch_R_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source)) + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + idx = 0 + for name in ut_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + tag_paths_to_write.append(providers[idx] + name + "/Data/isEnergized") + values_to_write.append(is_energized) + tag_paths_to_write.append(providers[idx] + name + "/Data/PowerSource") + values_to_write.append(power_source) + idx += 1 + + line_tags_base_path = "[Ignition_Common_IO_Gtwy]Cables/UT/" + #print energized_state + # Loop through each connection between UTs + for i in range(len(ut_names) - 1): + ut1_name = ut_names[i] + ut2_name = ut_names[i+1] + line_energized = (ut1_name in energized_state and + ut2_name in energized_state and + #energized_state[ut1_name] == energized_state[ut2_name] and + values[ut1_name]['Switch_R_Status']['Value'] and + values[ut2_name]['Switch_L_Status']['Value']) + #print ut1_name + " : " + str(ut1_name in energized_state) +" & "+str(values[ut1_name]['Switch_R_Status']['Value']) + #print energized_state[ut1_name] + " = " + energized_state[ut2_name] + #print ut2_name + " : " + str(ut2_name in energized_state) +" & "+str(values[ut1_name]['Switch_L_Status']['Value']) + line_tag_name = "Line_{}_to_{}".format(ut1_name, ut2_name) + # Construct the full tag path directly to the boolean tag + full_tag_path = line_tags_base_path + line_tag_name + # Add the path and the calculated value to our list for writing + tag_paths_to_write.append(full_tag_path) + values_to_write.append(line_energized) + #print full_tag_path + " : " + str(line_energized) + + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/fadbd77d41602ad558983069892b47a64658d733bb5b9665cd6170c3069314fe b/Gateways/FE/projects/.resources/fadbd77d41602ad558983069892b47a64658d733bb5b9665cd6170c3069314fe new file mode 100644 index 0000000..1b27915 Binary files /dev/null and b/Gateways/FE/projects/.resources/fadbd77d41602ad558983069892b47a64658d733bb5b9665cd6170c3069314fe differ diff --git a/Gateways/FE/projects/.resources/fb759f8bca5ac915f311ea5969e3e500e6d46b56dfbafedade58a9f8b0b99cf6 b/Gateways/FE/projects/.resources/fb759f8bca5ac915f311ea5969e3e500e6d46b56dfbafedade58a9f8b0b99cf6 new file mode 100644 index 0000000..bbfa27b Binary files /dev/null and b/Gateways/FE/projects/.resources/fb759f8bca5ac915f311ea5969e3e500e6d46b56dfbafedade58a9f8b0b99cf6 differ diff --git a/Gateways/FE/projects/.resources/fbdad4de54261c3a3d8c585e379c9320216e3c61963b6d694fa9140bb972f9fd b/Gateways/FE/projects/.resources/fbdad4de54261c3a3d8c585e379c9320216e3c61963b6d694fa9140bb972f9fd new file mode 100644 index 0000000..47ac10a --- /dev/null +++ b/Gateways/FE/projects/.resources/fbdad4de54261c3a3d8c585e379c9320216e3c61963b6d694fa9140bb972f9fd @@ -0,0 +1,563 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 VFD Speed", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 VFD Speed", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 3 Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Int8", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Control Mode", + "options": [ + "Supply Air Cooling Only", + "Supply Air Tempering", + "Outdoor Temperature Control", + "Return Air Constant Volume Mode", + "Space Temp Constant Volume Mode", + "Space Temp w/ High OA Content", + "Single Zone VAV" + ] + }, + { + "dataType": "Int8", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Control Status", + "options": [ + "Unoccupied", + "Occupied", + "Override Mode", + "Holiday Unoccupied", + "Holiday Occupied", + "Force Occupied", + "Force Unoccupied", + "Remote Contact Occupied" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Cooling Enabled", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.####", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Duct Static Pressure", + "numDecimals": 4, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Duct Static Pressure Control Signal", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Enabled Status", + "options": [ + "Disabled", + "Enabled" + ] + }, + { + "dataType": "Int8", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "HVAC Mode", + "options": [ + "Off", + "Vent Mode", + "Cooling Mode", + "Heating Mode", + "Ven RH Mode", + "Cooling RH Mode", + "Heating RH Mode", + "Warm UP Mode", + "Purge Mode", + "Defrost Mode", + "Cool Down Mode" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Heating Enabled Status", + "options": [ + "Disabled", + "Enabled" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Modulating Heat Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Modulation Hot Gas Reheat Valve Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Enthalpy", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.#", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Flow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Temperature", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Quantity Of Requests", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 3, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Remote Forced Occupied Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Damper", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Enthalpy", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Fan Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Fan Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Plenum Control Signal", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Plenum Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Plenum Pressure SP", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Runtime", + "numDecimals": 1, + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/fbfdabde74f0ec8798c2797fd26a982697d1668bc392e09c00967b98541b077c b/Gateways/FE/projects/.resources/fbfdabde74f0ec8798c2797fd26a982697d1668bc392e09c00967b98541b077c new file mode 100644 index 0000000..8db9ed7 --- /dev/null +++ b/Gateways/FE/projects/.resources/fbfdabde74f0ec8798c2797fd26a982697d1668bc392e09c00967b98541b077c @@ -0,0 +1,1053 @@ +{ + "custom": { + "RTU_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02", + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + }, + "data": [ + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + ], + "room": "SATB1_RF_RTU02", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof" + }, + "params": {}, + "propConfig": { + "custom.RTU_tagPath": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "transforms": [ + { + "code": "\treturn self.custom.tagPath + \"/\"+ value", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "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/RTU-1\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\ttagPath \u003d str(item[\"fullPath\"])\n\t\toutput.append(tagPath)\n\t\ttags \u003d system.tag.browse(value[\"tagPath\"],{\"typeId\":\"Objects/Air/RTU-2\", \"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": "RTU Diagram" + }, + "propConfig": { + "props.params.objectName": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "transforms": [ + { + "code": "\toutput \u003d value.split(\"_\")\n\treturn output[2]", + "type": "script" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.RTU_tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "enabled": false, + "transforms": [ + { + "code": "\tsplit \u003d value.split(\"_\")\n\treturn \"Pages/Dev/C_AirSystem/Diagrams/\" + split[2]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": false + }, + "path": "Library/Diagrams/HVAC/Dgrm_RTU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Diagram" + }, + "position": { + "basis": "70%", + "grow": 1 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "backgroundColor": "var(--containerRoot)", + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Roof" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FirstFloor Percent" + }, + "position": { + "grow": 1 + }, + "props": { + "path": "Library/Widgets/Layouts/RTU_Roof", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "Second Floor" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FirstFloor Percent_0" + }, + "position": { + "grow": 1 + }, + "props": { + "path": "Library/Widgets/Layouts/RTU_SecondFloor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_2" + }, + "props": { + "text": "First Floor" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FirstFloor Percent_1" + }, + "position": { + "grow": 1 + }, + "props": { + "path": "Library/Widgets/Layouts/RTU_FirstFloor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "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].Tag}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "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\tRAD \u003d system.tag.readBlocking(item + \"/Return Air Damper\")[0].value\n\t\tSAT \u003d system.tag.readBlocking(item + \"/Supply Air Temperature\")[0].value\n\t\tName \u003d system.tag.readBlocking(item + \"/Meta/EqName\")[0].value\n\t\ttag \u003d system.tag.readBlocking(item + \"/Meta/Ignition Tag Name\")[0].value\n\t\toutput.append({ \"RAD\": str(RAD) + \u0027 %\u0027,\n\t\t\t\t\t\t\"SAT\": str(round(SAT,3)) + \u0027 F\u0027,\n\t\t\t\t\t\t\"Tag\": tag,\n\t\t\t\t\t\t\"AlarmSeverity\": AlarmSeverity,\n\t\t\t\t\t\t\"Name\": Name})\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": "Device" + }, + "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": "string", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 75 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "SAT", + "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": "Supply Air 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": "RAD", + "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": "Return Air Damper Position" + }, + "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": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Tag", + "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": false, + "width": "" + } + ], + "data": [ + { + "AlarmSeverity": "Info", + "Name": "RTU_01", + "RAD": "48.0 %", + "SAT": "57.1 F", + "Tag": "SATB1_RF_RTU01" + }, + { + "AlarmSeverity": " ", + "Name": "RTU_02", + "RAD": "68.0 %", + "SAT": "69.8 F", + "Tag": "SATB1_RF_RTU02" + }, + { + "AlarmSeverity": " ", + "Name": "RTU_03", + "RAD": "68.0 %", + "SAT": "69.8 F", + "Tag": "SATB1_RF_RTU02" + }, + { + "AlarmSeverity": " ", + "Name": "RTU_04", + "RAD": "66.0 %", + "SAT": "70.1 F", + "Tag": "SATB1_RF_RTU02" + }, + { + "AlarmSeverity": " ", + "Name": "RTU_05", + "RAD": "69.0 %", + "SAT": "68.8 F", + "Tag": "SATB1_RF_RTU02" + } + ], + "style": { + "overflow": "auto" + } + }, + "type": "ia.display.table" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tClosed \u003d True\n\tself.custom.RTU1_Emergency_Override \u003d Closed\n\tself.custom.RTU2_Emergency_Override \u003d Closed" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.RTU1_Emergency_Override": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.data[0]}" + }, + "tagPath": "{0}/Control/Emergency Override" + }, + "type": "tag" + } + }, + "custom.RTU2_Emergency_Override": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.data[1]}" + }, + "tagPath": "{0}/Control/Emergency Override" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01/Control/Emergency Override" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "image": { + "style": { + "backgroundColor": "#D5D5D5", + "color": "#2B2B2B" + } + }, + "style": { + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderWidth": 1, + "margin": 2 + }, + "text": "Close Outside Dampers", + "textStyle": { + "color": "#2B2B2B" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tAuto \u003d False\n\tself.custom.RTU1_Emergency_Override \u003d Auto\n\tself.custom.RTU2_Emergency_Override \u003d Auto\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.RTU1_Emergency_Override": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.data[0]}" + }, + "tagPath": "{0}/Control/Emergency Override" + }, + "type": "tag" + } + }, + "custom.RTU2_Emergency_Override": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.data[1]}" + }, + "tagPath": "{0}/Control/Emergency Override" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01/Control/Emergency Override" + }, + "enabled": false, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "image": { + "style": { + "backgroundColor": "#D5D5D5", + "color": "#2B2B2B" + } + }, + "style": { + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderWidth": 1, + "margin": 2 + }, + "text": "Set Dampers In Auto", + "textStyle": { + "color": "#2B2B2B" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "style": { + "gap": "var(--space-sm)", + "margin": 5, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Location" + }, + "position": { + "basis": "450px", + "grow": 1 + }, + "props": { + "direction": "column", + "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": "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" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/fc2fd9fe9934700fe64058e5442d95513fc87adba4e505693adf5ed4deb5f864 b/Gateways/FE/projects/.resources/fc2fd9fe9934700fe64058e5442d95513fc87adba4e505693adf5ed4deb5f864 new file mode 100644 index 0000000..9bb2c40 --- /dev/null +++ b/Gateways/FE/projects/.resources/fc2fd9fe9934700fe64058e5442d95513fc87adba4e505693adf5ed4deb5f864 @@ -0,0 +1,2641 @@ +{ + "custom": {}, + "params": { + "DH": 5, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5" + }, + "propConfig": { + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 700, + "width": 248 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "22px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"DH\", {view.params.DH})" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "XYChart" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "20", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": {}, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\ttags \u003d system.tag.browse(self.view.params.tagPath, {\"name\":\"*C**_TT*\",\"typeId\":\"Objects/Basic/AnalogIn_RS485\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\trun_path \u003d str(item[\"fullPath\"]) + \"/Val\"\n\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Average": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tavgValue \u003d 0\n\titems \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tavgValue +\u003d item[key]\n\t\t\titems +\u003d 1\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Average\": avgValue/items})\n\t\titems \u003d 0\n\t\tavgValue \u003d 0\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Maximum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tmaxValue \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003e maxValue:\n\t\t\t\tmaxValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Maximum\": maxValue})\t\n\n\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Minimum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput, keys, values \u003d [], [],[]\n\tminValue \u003d 99999\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003c minValue:\n\t\t\t\tminValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Minimum\": minValue})\t\n\n\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "render": "gradient" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Average", + "x": "t_stamp", + "y": "Average" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Temperature" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "#F91111", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "#FA1616", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Average", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Temperature", + "zIndex": 1 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Minimum", + "x": "t_stamp", + "y": "Minimum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Minimum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Temperature", + "zIndex": 2 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Maximum", + "x": "t_stamp", + "y": "Maximum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Maximum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Temperature", + "zIndex": 3 + } + ], + "style": { + "marginBottom": -20, + "overflow": "visible" + }, + "title": { + "appearance": { + "color": "#828282", + "font": { + "size": 12 + }, + "padding": { + "bottom": 8, + "top": -10 + } + }, + "text": "Temp (Avg, Min, Max)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 15, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "minute" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Temperature" + }, + "name": "Temperature", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "###.#", + "logarithmic": false, + "range": { + "max": 100, + "min": 0, + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "meta": { + "name": "XYChart_0" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "20", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": {}, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\ttags \u003d system.tag.browse(self.view.params.tagPath, {\"name\":\"*C**_HT*\",\"typeId\":\"Objects/Basic/AnalogIn_RS485\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\trun_path \u003d str(item[\"fullPath\"]) + \"/Val\"\n\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Average": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tavgValue \u003d 0\n\titems \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tavgValue +\u003d item[key]\n\t\t\titems +\u003d 1\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Average\": avgValue/items})\n\t\titems \u003d 0\n\t\tavgValue \u003d 0\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Maximum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tmaxValue \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003e maxValue:\n\t\t\t\tmaxValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Maximum\": maxValue})\t\n\n\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Minimum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput, keys, values \u003d [], [],[]\n\tminValue \u003d 99999\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003c minValue:\n\t\t\t\tminValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Minimum\": minValue})\t\n\n\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "render": "gradient" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Average", + "x": "t_stamp", + "y": "Average" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Temperature" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "#F91111", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "#FA1616", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Average", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Humidity", + "zIndex": 1 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Minimum", + "x": "t_stamp", + "y": "Minimum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Minimum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Humidity", + "zIndex": 2 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Maximum", + "x": "t_stamp", + "y": "Maximum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Maximum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Humidity", + "zIndex": 3 + } + ], + "style": { + "marginBottom": -20, + "overflow": "visible" + }, + "title": { + "appearance": { + "color": "#828282", + "font": { + "size": 12 + }, + "padding": { + "bottom": 8, + "top": -10 + } + }, + "text": "Hum (Avg, Min, Max)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 15, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "minute" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Humidity" + }, + "name": "Humidity", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "Humidity" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "###.#", + "logarithmic": false, + "range": { + "max": 100, + "min": 0, + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "children": [ + { + "meta": { + "name": "STU PieChart" + }, + "position": { + "basis": "75%", + "grow": 1 + }, + "propConfig": { + "custom.tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_Common_IO_Gtwy]DH\",{view.params.DH})" + }, + "type": "expr" + } + }, + "props.params.Values": { + "binding": { + "config": { + "struct": {}, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\trunning \u003d 0\n\tstandby \u003d 0\n\tfaulted \u003d 0\n\ttags \u003d system.tag.browse(self.custom.tagPath,{\"typeId\":\"Objects/Air/STU\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\tunitStatus \u003d system.tag.readBlocking(str(item[\"fullPath\"]) + \"/Unit Status\")\n\t\tfailureAlarm \u003d system.tag.readBlocking(str(item[\"fullPath\"]) + \"/Alarms/Failure Alarm\")\n\t\tif(failureAlarm[0].value):\n\t\t\tfaulted+\u003d1\n\t\t\tcontinue\n\t\tif(unitStatus[0].value \u003d\u003d 1):\n\t\t\trunning+\u003d1\n\t\telse:\n\t\t\tstandby+\u003d1\n\t\t\n\toutput.append({\"Status\":\"Running\", \"count\": running})\n\toutput.append({\"Status\":\"Standby\", \"count\": standby})\n\toutput.append({\"Status\":\"Faulted\", \"count\": faulted})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "Tag": "STU" + }, + "path": "Library/CommonObjects/PieChartt", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "15%" + }, + "props": { + "style": { + "fontSize": 12, + "textAlign": "center" + }, + "text": "Dewpoint" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/DH{DH} Dewpoint" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "label": { + "style": { + "fontSize": 30, + "fontWeight": "normal", + "overflow": "visible", + "textAlign": "left" + } + }, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null, + "style": { + "bowShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "80%" + }, + "props": { + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/DH{DH} Dewpoint" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.00", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "--tagvalue-color", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "psi", + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "15%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0", + "tooltip": { + "width": "35%" + } + }, + "position": { + "basis": "55%" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "30%" + }, + "props": { + "text": "Source: ", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "params": { + "FalseText": "Utility", + "TrueText": "Generators", + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_TT_RET" + }, + "path": "Library/CommonObjects/BooleanIndicator", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "35px", + "grow": 1 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "75px", + "grow": 1 + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_SATB1_IO1_default]Yard/GEN-P\",{view.params.DH},\"_1\")" + }, + "type": "expr" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_SATB1_IO1_default]Yard/GEN-P\",{view.params.DH},\"_2\")" + }, + "type": "expr" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_SATB1_IO1_default]Yard/GEN-P\",{view.params.DH},\"_3\")" + }, + "type": "expr" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_SATB1_IO1_default]Yard/GEN-P\",{view.params.DH},\"_4\")" + }, + "type": "expr" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_SATB1_IO1_default]Yard/GEN-P\",{view.params.DH},\"_5\")" + }, + "type": "expr" + } + } + }, + "props": { + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tag": "value" + } + ], + "justify": "center", + "path": "Library/CommonObjects/DeviceStatus_Gen", + "style": { + "gap": "5px", + "overflow": "visible", + "padding": "5px 0" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/fc37c18cbd7f439ff37b0aa5807ec1e9c87fef03c1bb9e2a1daecb5f54c4b413 b/Gateways/FE/projects/.resources/fc37c18cbd7f439ff37b0aa5807ec1e9c87fef03c1bb9e2a1daecb5f54c4b413 new file mode 100644 index 0000000..a964aed --- /dev/null +++ b/Gateways/FE/projects/.resources/fc37c18cbd7f439ff37b0aa5807ec1e9c87fef03c1bb9e2a1daecb5f54c4b413 @@ -0,0 +1,946 @@ +{ + "custom": { + "alarmSeverity": -1, + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "VFD": { + "InputPower": 0, + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD01" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "path": "view.params.VFD.tagPath" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.VFD.InputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.VFD": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.taxtHandler": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 255, + "width": 70 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 15, + "width": 73, + "x": 2.7481, + "y": 254.364 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.VFD.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontSize": 12, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].text": { + "binding": { + "config": { + "path": "view.params.taxtHandler.CHWP2" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[0].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[6].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].text": { + "binding": { + "config": { + "path": "view.params.taxtHandler.VFD1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].text": { + "binding": { + "config": { + "path": "view.params.taxtHandler.VFD2" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].text": { + "binding": { + "config": { + "path": "view.params.taxtHandler.CHWP1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M16.574,151.875l-0,-73.125", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "cx": 16.574, + "cy": "157.5", + "fill": { + "opacity": 0 + }, + "name": "circle", + "r": "5.625", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M12.673,153.502l-6.229,5.897", + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M26.703,155.823l-6.301,5.832", + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.0137,158.991)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "14.379px", + "y": "158.991px" + } + ], + "id": "Motor", + "name": "Motor", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "fill": { + "opacity": 0 + }, + "height": 67.5, + "name": "rect", + "style": { + "classes": "containers/HoverOver" + }, + "type": "rect", + "width": "37.5", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l4.464,0l0,0.75l-3.714,-0l0,3.268l-0.75,-0Zm10.714,-4.018l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm12.5,0l0,0.75l-8.928,0l-0,-0.75l8.928,0Zm6.25,0l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm8.036,4.018l-0.75,-0l0,-3.268l-3.714,0l-0,-0.75l4.464,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-4.464,7.232l-0,-0.75l3.714,0l0,-3.268l0.75,0l0,4.018l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-12.5,0l-0,-0.75l8.928,0l0,0.75l-8.928,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-4.018l0.75,0l-0,3.268l3.714,0l0,0.75l-4.464,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "name": "rect", + "type": "rect", + "width": "37.5", + "x": "3.75", + "y": "123.75" + }, + { + "d": "M3.75,127.768l0,-4.018l4.464,0l0,0.75l-3.714,-0l0,3.268l-0.75,-0Zm10.714,-4.018l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm12.5,0l0,0.75l-8.928,0l-0,-0.75l8.928,0Zm6.25,0l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm8.036,4.018l-0.75,-0l0,-3.268l-3.714,0l-0,-0.75l4.464,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-4.464,7.232l-0,-0.75l3.714,0l0,-3.268l0.75,0l0,4.018l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-12.5,0l-0,-0.75l8.928,0l0,0.75l-8.928,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-4.018l0.75,0l-0,3.268l3.714,0l0,0.75l-4.464,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.405,0.01c-0.073,0 -0.136,-0.015 -0.189,-0.044c-0.052,-0.03 -0.092,-0.072 -0.12,-0.126c-0.028,-0.055 -0.042,-0.119 -0.042,-0.193c-0,-0.074 0.014,-0.138 0.042,-0.192c0.028,-0.054 0.068,-0.096 0.12,-0.125c0.053,-0.03 0.116,-0.045 0.189,-0.045c0.047,0 0.092,0.007 0.134,0.022c0.043,0.015 0.078,0.036 0.105,0.063l-0.042,0.102c-0.03,-0.025 -0.061,-0.044 -0.092,-0.055c-0.031,-0.012 -0.065,-0.018 -0.101,-0.018c-0.071,0 -0.126,0.022 -0.163,0.065c-0.037,0.043 -0.056,0.104 -0.056,0.183c0,0.079 0.019,0.141 0.056,0.184c0.037,0.043 0.092,0.065 0.163,0.065c0.036,0 0.07,-0.006 0.101,-0.017c0.031,-0.012 0.062,-0.031 0.092,-0.056l0.042,0.102c-0.027,0.027 -0.062,0.048 -0.105,0.063c-0.042,0.015 -0.087,0.022 -0.134,0.022Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,63.7053)", + "type": "group", + "visibility": "visible" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,45.4169,63.7053)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.077,-0l0,-0.705l0.128,0l0,0.294l0.363,-0l0,-0.294l0.128,0l0,0.705l-0.128,-0l0,-0.304l-0.363,0l-0,0.304l-0.128,-0Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,82.3466)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,47.1692,82.3466)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.271,-0l-0.249,-0.705l0.132,0l0.195,0.578l-0.04,0l0.204,-0.578l0.095,0l0.197,0.578l-0.035,0l0.198,-0.578l0.125,0l-0.251,0.705l-0.106,-0l-0.19,-0.542l0.023,0l-0.192,0.542l-0.106,-0Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,100.988)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,53.5073,100.988)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.077,-0l0,-0.705l0.306,0c0.052,0 0.096,0.009 0.132,0.026c0.036,0.017 0.063,0.042 0.082,0.075c0.019,0.033 0.028,0.072 0.028,0.119c0,0.046 -0.009,0.086 -0.028,0.119c-0.019,0.033 -0.046,0.058 -0.082,0.076c-0.036,0.017 -0.08,0.026 -0.132,0.026l-0.178,-0l0,0.264l-0.128,-0Zm0.128,-0.365l0.158,-0c0.045,-0 0.08,-0.01 0.103,-0.03c0.023,-0.021 0.035,-0.051 0.035,-0.09c0,-0.039 -0.012,-0.069 -0.035,-0.089c-0.023,-0.02 -0.058,-0.03 -0.103,-0.03l-0.158,-0l0,0.239Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,119.629)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,44.9136,119.629)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(0.654499,0,0,0.670554,6.47358,100.438)", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.303,-0l-0.314,-0.705l0.137,0l0.255,0.591l-0.043,-0l0.254,-0.591l0.132,0l-0.314,0.705l-0.107,-0Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,63.7053)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,46.0507,63.7053)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.077,-0l0,-0.705l0.461,0l0,0.102l-0.333,0l0,0.199l0.312,-0l0,0.102l-0.312,-0l0,0.302l-0.128,-0Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,82.3466)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,43.2359,82.3466)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.077,-0l0,-0.705l0.262,0c0.079,0 0.145,0.014 0.2,0.041c0.055,0.027 0.097,0.067 0.126,0.12c0.029,0.052 0.044,0.116 0.044,0.191c-0,0.075 -0.015,0.139 -0.044,0.192c-0.029,0.053 -0.071,0.093 -0.126,0.12c-0.055,0.027 -0.121,0.041 -0.2,0.041l-0.262,-0Zm0.128,-0.106l0.126,-0c0.082,-0 0.143,-0.02 0.183,-0.061c0.041,-0.041 0.061,-0.103 0.061,-0.186c0,-0.083 -0.02,-0.144 -0.061,-0.185c-0.041,-0.041 -0.102,-0.061 -0.183,-0.061l-0.126,0l0,0.493Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,100.988)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,46.9642,100.988)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(0.654499,0,0,0.670554,-3.48581,-6.46789)", + "type": "group", + "visibility": "visible" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,40.9489,10.2476)", + "type": "group", + "visibility": "visible" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "22.502px", + "y": "6.003px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "22.502px", + "y": "10.248px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,30.8354,6.00335)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,39.9683,123.033)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "21.216px", + "y": "123.033px" + }, + { + "type": "group" + } + ], + "id": "TagID", + "name": "TagID", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "45", + "x": "-0", + "y": "7.5" + }, + { + "d": "M45,7.5l-0,75l-45,-0l-0,-75l45,0Zm-0.75,0.75l-43.5,0c0,7.782 0,73.5 0,73.5l43.5,-0l-0,-73.5Z", + "fill": { + "paint": "#f00" + }, + "name": "path", + "type": "path" + }, + { + "d": "M45.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "round", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M44.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "round", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M49.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "round", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "44.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linecap": "round", + "linejoin": "round", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M43.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M46.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group", + "visibility": "hidden" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 53 192" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmBorder" + }, + "position": { + "height": 98, + "width": 57, + "x": 1.76, + "y": 10.26 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"solid\"\n\telse:\n\t\treturn \"none\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineWidth": "3" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 15, + "width": 15, + "x": 50.75, + "y": 2 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "ack": false + }, + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.VFD.tagPath\n\tobjectName \u003d self.view.params.VFD.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/fc5c80d32505519bc6560819f52160661346813b599d2ea6a235a321a17e49c6 b/Gateways/FE/projects/.resources/fc5c80d32505519bc6560819f52160661346813b599d2ea6a235a321a17e49c6 new file mode 100644 index 0000000..bc8e093 --- /dev/null +++ b/Gateways/FE/projects/.resources/fc5c80d32505519bc6560819f52160661346813b599d2ea6a235a321a17e49c6 @@ -0,0 +1,699 @@ +{ + "custom": { + "DOAS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03", + "data": [ + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + ], + "selectedRoom": "SATB1_RF_DOAS03", + "tagPath": "[Ignition_Common_IO_Gtwy]" + }, + "params": {}, + "propConfig": { + "custom.DOAS_tagPath": { + "binding": { + "config": { + "path": "view.custom.selectedRoom" + }, + "transforms": [ + { + "code": "\treturn self.custom.tagPath +\"Roof/\"+ value", + "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/DOAS\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\toutput.append(str(item[\"fullPath\"]))\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selectedRoom": { + "persistent": true + }, + "custom.tagPath": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "DOAS_Diagram" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.DOAS_tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": false, + "objectName": "DOAS" + }, + "path": "Library/Diagrams/HVAC/Dgrm_DOAS", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Diagram" + }, + "position": { + "basis": "70%", + "grow": 1 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Roof" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FirstFloor Percent" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "path": "Library/Widgets/Layouts/RTU_Roof", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "Second Floor" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FirstFloor Percent_0" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "path": "Library/Widgets/Layouts/RTU_SecondFloor", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_2" + }, + "props": { + "text": "First Floor" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FirstFloor Percent_1" + }, + "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].Tag}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "35%" + }, + "propConfig": { + "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\ttry:\n\t\t\tAlmS \u003d alarm.summary.calcMaxPriority(item)\n\t\texcept:\n\t\t\tAlmS \u003d -1\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\tRAT \u003d system.tag.readBlocking(item + \"/Return Air Temperature\")[0].value\n\t\tSAT \u003d system.tag.readBlocking(item + \"/Supply Air Temperature\")[0].value\n\t\t#Name \u003d system.tag.readBlocking(item + \"/Meta/EqName\")[0].value\n\t\tName \u003d item.split(\u0027_\u0027)[5]\n\t\t#Tag \u003d system.tag.readBlocking(item + \"/Meta/Ignition Tag Name\")[0].value\n\t\tTag \u003d item.split(\u0027/\u0027)[1]\n\t\ttagPath \u003d item\n\t\toutput.append({\n\t\t\t\t\t\t\"RAT\": RAT,\n\t\t\t\t\t\t\"SAT\": SAT,\n\t\t\t\t\t\t\"Name\": Name,\n\t\t\t\t\t\t\"Tag\": Tag,\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": "SAT", + "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": "Supply Air Temperature" + }, + "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": "Tag", + "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": "Tag" + }, + "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": false, + "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": "DOAS01", + "RAT": null, + "SAT": null, + "Tag": "SATB1_RF_DOAS01", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + { + "AlarmSeverity": " ", + "Name": "DOAS02", + "RAT": null, + "SAT": null, + "Tag": "SATB1_RF_DOAS02", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02" + }, + { + "AlarmSeverity": " ", + "Name": "DOAS03", + "RAT": null, + "SAT": null, + "Tag": "SATB1_RF_DOAS03", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + }, + { + "AlarmSeverity": " ", + "Name": "DOAS04", + "RAT": null, + "SAT": null, + "Tag": "SATB1_RF_DOAS04", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + }, + { + "AlarmSeverity": " ", + "Name": "DOAS05", + "RAT": null, + "SAT": null, + "Tag": "SATB1_RF_DOAS05", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + } + ] + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "Location" + }, + "position": { + "basis": "450px", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around", + "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": "roomUpdate", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selectedRoom \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/fccbf2a13b5b57b378e75d8ae00848b259e67b6aa41afd0a4f85837196d03dfc b/Gateways/FE/projects/.resources/fccbf2a13b5b57b378e75d8ae00848b259e67b6aa41afd0a4f85837196d03dfc new file mode 100644 index 0000000..4760c50 --- /dev/null +++ b/Gateways/FE/projects/.resources/fccbf2a13b5b57b378e75d8ae00848b259e67b6aa41afd0a4f85837196d03dfc @@ -0,0 +1,429 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_02" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "params": { + "tagPath_2": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_DH5_HS1_GA1182_HUM2" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/fe20ed2ce0f7bea80dedcc022d08fabfddc5a1f4f3c3bc131649aa997d08cefc b/Gateways/FE/projects/.resources/fe20ed2ce0f7bea80dedcc022d08fabfddc5a1f4f3c3bc131649aa997d08cefc new file mode 100644 index 0000000..3561c1a --- /dev/null +++ b/Gateways/FE/projects/.resources/fe20ed2ce0f7bea80dedcc022d08fabfddc5a1f4f3c3bc131649aa997d08cefc @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Yard/GEN-P1_1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/fe86ba58f222bd49476992ee33a22b1047a4cc4acb42b49d10e9b669ddd0cc83 b/Gateways/FE/projects/.resources/fe86ba58f222bd49476992ee33a22b1047a4cc4acb42b49d10e9b669ddd0cc83 new file mode 100644 index 0000000..405bd23 --- /dev/null +++ b/Gateways/FE/projects/.resources/fe86ba58f222bd49476992ee33a22b1047a4cc4acb42b49d10e9b669ddd0cc83 @@ -0,0 +1,2768 @@ +{ + "custom": { + "DH": 3, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 3, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P3.3", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "custom.ut_energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-3/Data/isEnergized" + }, + "type": "tag" + } + }, + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "this.custom.ut_energized" + }, + "enabled": false, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "inputPowerMain": 1, + "outputPower": { + "breaker1": 1, + "breaker10": 0, + "breaker11": 0, + "breaker12": 0, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P3.3", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P3.3", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1157/SATB1_ER1157_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/fec22e0ad53855c61f65911fb4d50905001820d264a1c201caebe0ff28887049 b/Gateways/FE/projects/.resources/fec22e0ad53855c61f65911fb4d50905001820d264a1c201caebe0ff28887049 new file mode 100644 index 0000000..1b58c4f Binary files /dev/null and b/Gateways/FE/projects/.resources/fec22e0ad53855c61f65911fb4d50905001820d264a1c201caebe0ff28887049 differ diff --git a/Gateways/FE/projects/.resources/ff063764fe60d74213609723018f6ed2165e9517974482702b253fd47571aaf3 b/Gateways/FE/projects/.resources/ff063764fe60d74213609723018f6ed2165e9517974482702b253fd47571aaf3 new file mode 100644 index 0000000..2d2200d --- /dev/null +++ b/Gateways/FE/projects/.resources/ff063764fe60d74213609723018f6ed2165e9517974482702b253fd47571aaf3 @@ -0,0 +1,2340 @@ +{ + "custom": { + "pageName": "P1.3" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1261", + "IO1": "[Ignition_SATB1_IO1_default]", + "Room": "ER1244", + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P1-3", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-2_to_UT-P1-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-3_to_UT-P1-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P1-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-3" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 1, + "Gallery": "GAL1261", + "Gateway": "[Ignition_SATB1_IO1_default]", + "Linuep": 3 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 10 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ff0c57cd40f48f042c42251a8193adf68ebe3322ec60ef27f6f4a28972b52842 b/Gateways/FE/projects/.resources/ff0c57cd40f48f042c42251a8193adf68ebe3322ec60ef27f6f4a28972b52842 new file mode 100644 index 0000000..9f30f05 --- /dev/null +++ b/Gateways/FE/projects/.resources/ff0c57cd40f48f042c42251a8193adf68ebe3322ec60ef27f6f4a28972b52842 @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M1500,191.897c0,2.3 1.867,4.167 4.167,4.167c2.299,-0 4.166,-1.867 4.166,-4.167c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal4", + "name": "Terminal4", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1504.17,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1497.92,149.892c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In2", + "name": "In2", + "type": "path" + }, + { + "d": "M1504.17,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1508.33,247.063c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.299,0 4.166,-1.867 4.166,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal5", + "name": "Terminal5", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1504.17,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1511.91,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed2", + "name": "Closed2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1530.91,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open2", + "name": "Open2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 550, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(501,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(501,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(501,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(501,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ff14dea95b7f5262cb077b0fe6f58591a8aa84f528a7f400fdf4c32c49fe5bb4 b/Gateways/FE/projects/.resources/ff14dea95b7f5262cb077b0fe6f58591a8aa84f528a7f400fdf4c32c49fe5bb4 new file mode 100644 index 0000000..1f2ff7b --- /dev/null +++ b/Gateways/FE/projects/.resources/ff14dea95b7f5262cb077b0fe6f58591a8aa84f528a7f400fdf4c32c49fe5bb4 @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "LV Feeder", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ff5f06632aea16ef5c22b64bead1f64d21045fa6f03ef21b9eb26a90adb93c17 b/Gateways/FE/projects/.resources/ff5f06632aea16ef5c22b64bead1f64d21045fa6f03ef21b9eb26a90adb93c17 new file mode 100644 index 0000000..7429b67 Binary files /dev/null and b/Gateways/FE/projects/.resources/ff5f06632aea16ef5c22b64bead1f64d21045fa6f03ef21b9eb26a90adb93c17 differ diff --git a/Gateways/FE/projects/.resources/ff98f750d3c2a9673247d663fafd238ac3eaaf339645f1f39ad73e2382cb343a b/Gateways/FE/projects/.resources/ff98f750d3c2a9673247d663fafd238ac3eaaf339645f1f39ad73e2382cb343a new file mode 100644 index 0000000..0a1707f Binary files /dev/null and b/Gateways/FE/projects/.resources/ff98f750d3c2a9673247d663fafd238ac3eaaf339645f1f39ad73e2382cb343a differ diff --git a/Gateways/FE/projects/.resources/ffbd05f1012bc1b283c313f4da4c649abb11f58ce050298659d72f2e247044ad b/Gateways/FE/projects/.resources/ffbd05f1012bc1b283c313f4da4c649abb11f58ce050298659d72f2e247044ad new file mode 100644 index 0000000..a36e46c --- /dev/null +++ b/Gateways/FE/projects/.resources/ffbd05f1012bc1b283c313f4da4c649abb11f58ce050298659d72f2e247044ad @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/SEL-751 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 4, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1732050757002 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1732050757002 + ], + "$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 + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/.resources/ffd4bf37c95939b8e1925e5a7dfd6d14202beb959879d06cd9f59a4f73a0348e b/Gateways/FE/projects/.resources/ffd4bf37c95939b8e1925e5a7dfd6d14202beb959879d06cd9f59a4f73a0348e new file mode 100644 index 0000000..3e04acb Binary files /dev/null and b/Gateways/FE/projects/.resources/ffd4bf37c95939b8e1925e5a7dfd6d14202beb959879d06cd9f59a4f73a0348e differ diff --git a/Gateways/FE/projects/.resources/fff5fc386ce13da901494e736ac716ac1ec4d117ec8d25ad42b5126d9f8efc89 b/Gateways/FE/projects/.resources/fff5fc386ce13da901494e736ac716ac1ec4d117ec8d25ad42b5126d9f8efc89 new file mode 100644 index 0000000..be9791f --- /dev/null +++ b/Gateways/FE/projects/.resources/fff5fc386ce13da901494e736ac716ac1ec4d117ec8d25ad42b5126d9f8efc89 @@ -0,0 +1,533 @@ +{ + "custom": { + "trendConfig": { + "allPens": [ + { + "group": "misc", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Depleting Elapsed Time", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System/Depleting Elapsed Time" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Mode", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System/Mode" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Recharge Fail Elapsed Time", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System/Recharge Fail Elapsed Time" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "System Not Ready", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System/System Not Ready" + } + ] + } + ] + } + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948590619 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948590619 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.alarm-notification/alarm-pipelines/Alarm_Active/data.bin b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.alarm-notification/alarm-pipelines/Alarm_Active/data.bin new file mode 100644 index 0000000..7d64d38 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.alarm-notification/alarm-pipelines/Alarm_Active/data.bin differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.alarm-notification/alarm-pipelines/Alarm_Active/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.alarm-notification/alarm-pipelines/Alarm_Active/resource.json new file mode 100644 index 0000000..58ee6f0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.alarm-notification/alarm-pipelines/Alarm_Active/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "11a1ece3e21414146a654fdac98c671f76064f1c02879eee5d752fb87644133f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:53:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/page-config/config.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/page-config/config.json new file mode 100644 index 0000000..8d98db1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/page-config/config.json @@ -0,0 +1,214 @@ +{ + "pages": { + "/": { + "docks": { + "cornerPriority": "left-right", + "left": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "hide", + "iconUrl": "", + "id": "mainNav", + "modal": false, + "resizable": false, + "show": "visible", + "size": 220, + "viewParams": {}, + "viewPath": "Library/Layouts/Docked/MainNav" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "hide", + "iconUrl": "", + "id": "", + "modal": false, + "resizable": false, + "show": "visible", + "size": 80, + "viewParams": {}, + "viewPath": "Library/Layouts/Docked/Header" + } + ] + }, + "title": "", + "viewPath": "Pages/Dashboards/Home" + }, + "/CHW_System/:pageId": { + "title": "", + "viewPath": "Pages/Mechanical/CHW_System" + }, + "/DH101/:pageId": { + "title": "", + "viewPath": "Pages/Datahall/DH101" + }, + "/DH102/:pageId": { + "title": "", + "viewPath": "Pages/Datahall/DH102" + }, + "/DH201/:pageId": { + "title": "", + "viewPath": "Pages/Datahall/DH201" + }, + "/DH202/:pageId": { + "title": "", + "viewPath": "Pages/Datahall/DH203" + }, + "/Oneline_DH101_P1/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH101_P1" + }, + "/Oneline_DH101_P2/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH101_P2" + }, + "/Oneline_DH101_P3/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH101_P3" + }, + "/Oneline_DH101_P4/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH101_P4" + }, + "/Oneline_DH101_P5/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH101_P5" + }, + "/Oneline_DH102_P1/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH102_P1" + }, + "/Oneline_DH102_P2/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH102_P2" + }, + "/Oneline_DH102_P3/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH102_P3" + }, + "/Oneline_DH102_P4/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH102_P4" + }, + "/Oneline_DH102_P5/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH102_P5" + }, + "/Oneline_DH201_P1/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH201_P1" + }, + "/Oneline_DH201_P2/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH201_P2" + }, + "/Oneline_DH201_P3/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH201_P3" + }, + "/Oneline_DH201_P4/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH201_P4" + }, + "/Oneline_DH201_P5/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH201_P5" + }, + "/Oneline_DH202_P1/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH202_P1" + }, + "/Oneline_DH202_P2/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH202_P2" + }, + "/Oneline_DH202_P3/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH202_P3" + }, + "/Oneline_DH202_P4/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH202_P4" + }, + "/Oneline_DH202_P5/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH202_P5" + }, + "/Oneline_DH203_P1/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH203_P1" + }, + "/Oneline_DH203_P2/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH203_P2" + }, + "/Oneline_DH203_P3/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH203_P3" + }, + "/Oneline_DH203_P4/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH203_P4" + }, + "/Oneline_DH203_P5/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_DH203_P5" + }, + "/Oneline_HS1/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_HS1" + }, + "/Oneline_HS2/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_HS2" + }, + "/Oneline_M1/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M1" + }, + "/Oneline_M2/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M2" + }, + "/Oneline_M3/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M3" + }, + "/Oneline_M4/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M4" + }, + "/Oneline_M5/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M5" + }, + "/Oneline_M6/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M6" + }, + "/Oneline_M7/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M7" + }, + "/Oneline_M8/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_M8" + }, + "/Oneline_SES/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_SES" + }, + "/Oneline_UT/:pageId": { + "title": "", + "viewPath": "Pages/Electrical/Oneline_UT" + } + }, + "sharedDocks": { + "cornerPriority": "top-bottom" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/page-config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/page-config/resource.json new file mode 100644 index 0000000..65c6c10 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/page-config/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "config.json" + ], + "attributes": { + "lastModificationSignature": "cf8816d06eade5b58cb59891bb00f71cfb5bb4068965a2e3cdf53337790ed15f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-20T15:56:03Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/session-props/props.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/session-props/props.json new file mode 100644 index 0000000..7b61f82 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/session-props/props.json @@ -0,0 +1,74 @@ +{ + "custom": {}, + "propConfig": { + "props.auth": { + "access": "PRIVATE", + "persistent": false + }, + "props.device.accelerometer": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.identifier": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.timezone": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.type": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.userAgent": { + "access": "SYSTEM", + "persistent": false + }, + "props.gateway": { + "access": "SYSTEM", + "persistent": false + }, + "props.geolocation.data": { + "access": "SYSTEM", + "persistent": false + }, + "props.geolocation.permissionGranted": { + "access": "SYSTEM", + "persistent": false + }, + "props.host": { + "access": "SYSTEM", + "persistent": false + }, + "props.id": { + "access": "SYSTEM", + "persistent": false + }, + "props.lastActivity": { + "access": "SYSTEM", + "persistent": false + }, + "props.offline.capable": { + "access": "SYSTEM", + "persistent": false + }, + "props.offline.enabled": { + "access": "SYSTEM", + "persistent": false + }, + "props.offline.lastSynced": { + "access": "SYSTEM", + "persistent": false + } + }, + "props": { + "address": "172.30.47.17", + "device": {}, + "geolocation": {}, + "locale": "en-US", + "offline": {}, + "theme": "stream-light", + "timeZoneId": "Etc/UTC" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/session-props/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/session-props/resource.json new file mode 100644 index 0000000..c819fe5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/session-props/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "props.json" + ], + "attributes": { + "lastModificationSignature": "54e7b298f238335555912ad3495a989204c9cf00d3f77129bd80494e22233d13", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-21T00:59:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButton/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButton/resource.json new file mode 100644 index 0000000..50916e1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButton/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "171319606239d741f66b6306785488f3d8e32a9089d60254b278f3201d811958", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButton/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButton/style.json new file mode 100644 index 0000000..4d77235 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButton/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "0px", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "0px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButtonMobile/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButtonMobile/resource.json new file mode 100644 index 0000000..ab8a14a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButtonMobile/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "8b03feec3e550012eaaa1b7e86b1958dcc7e15d6471d7071e8916d8617681745", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButtonMobile/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButtonMobile/style.json new file mode 100644 index 0000000..e1f1f25 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButtonMobile/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "8px", + "borderTopRightRadius": "0px", + "borderBottomLeftRadius": "8px", + "borderBottomRightRadius": "0px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/Control/resource.json new file mode 100644 index 0000000..c664745 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/Control/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "e9047c7be94d01a35c2c3a921a5d272f8380980729a266578bc2b0edefc069d4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/Control/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/Control/style.json new file mode 100644 index 0000000..8e50623 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/Control/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "padding": "1px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/ControlBar/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/ControlBar/resource.json new file mode 100644 index 0000000..e6e73e6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/ControlBar/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "547adc65e34ed1dbb6013c4f9abedd142b9edfa94e2d47468cd117b32dc9c0f6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/ControlBar/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/ControlBar/style.json new file mode 100644 index 0000000..4ac471d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/ControlBar/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "paddingBottom": "12px", + "paddingLeft": "14px", + "paddingRight": "16px", + "paddingTop": "12px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/DropDown/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/DropDown/resource.json new file mode 100644 index 0000000..39fba10 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/DropDown/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "fdcab9f1b7d0c32455d49316d3d2942a8b1d6188edad18c93e51a2d82a5e786a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/DropDown/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/DropDown/style.json new file mode 100644 index 0000000..1ea8821 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/DropDown/style.json @@ -0,0 +1,8 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "color": "var(--neutral-90)" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadius/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadius/resource.json new file mode 100644 index 0000000..a63bda4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadius/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "94558bcdd56f1a5a62085b7b0584959b13f3a317ac254d72acc46b67e0a1a47a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadius/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadius/style.json new file mode 100644 index 0000000..b7b9f77 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadius/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadiusMobile/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadiusMobile/resource.json new file mode 100644 index 0000000..670e2ba --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadiusMobile/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "4d3de707df3afec3f3819231dc3aac29aa4bf3901616f7a7c070131bd3bb7bd9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadiusMobile/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadiusMobile/style.json new file mode 100644 index 0000000..0d239df --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadiusMobile/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "8px", + "borderTopRightRadius": "8px", + "borderBottomLeftRadius": "8px", + "borderBottomRightRadius": "8px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionBar/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionBar/resource.json new file mode 100644 index 0000000..c4fe46a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionBar/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "964d0ba07bac951659c19c8d9a59e1af765cd207edd340d6fdd3d47a452695bd", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionBar/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionBar/style.json new file mode 100644 index 0000000..b127cf5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionBar/style.json @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-20)", + "paddingBottom": "2px", + "paddingLeft": "8px", + "paddingRight": "16px", + "paddingTop": "2px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionTitle/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionTitle/resource.json new file mode 100644 index 0000000..f04bd73 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionTitle/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "b274c100303be5ab619ebbc87d486e235df504323c7604d6f9f1634c998153df", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionTitle/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionTitle/style.json new file mode 100644 index 0000000..d7095a2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionTitle/style.json @@ -0,0 +1,9 @@ +{ + "base": { + "style": { + "fontSize": "12px", + "fontWeight": "bold", + "textAlign": "right" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/Header/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/Header/resource.json new file mode 100644 index 0000000..f45b08f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/Header/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "ed067cc13a72ff27fbfd79a79b93d62af9dd0873b22c25a1477a2416df062a52", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/Header/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/Header/style.json new file mode 100644 index 0000000..ec29520 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/Header/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-30)", + "borderColor": "var(--neutral-50)", + "borderStyle": "solid", + "borderWidth": "1px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/HeaderTitle/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/HeaderTitle/resource.json new file mode 100644 index 0000000..8e8db39 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/HeaderTitle/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "4debb6450033030d4fd3ce28c13902053795b4a40db343cfe0f121016bbb6a16", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/HeaderTitle/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/HeaderTitle/style.json new file mode 100644 index 0000000..b21b980 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/HeaderTitle/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "fontWeight": "bold" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadius/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadius/resource.json new file mode 100644 index 0000000..6a661bb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadius/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "72ecfb8c416356603e4a87ba06b53b2e63ef53f1c77b17a92d6f71650289a1b2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadius/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadius/style.json new file mode 100644 index 0000000..4d77235 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadius/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "0px", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "0px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadiusMobile/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadiusMobile/resource.json new file mode 100644 index 0000000..693ea26 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadiusMobile/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "b5d66646e40a15dbad219b4db964876cccda04768840fcf61269cc4b784d1893", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadiusMobile/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadiusMobile/style.json new file mode 100644 index 0000000..e1f1f25 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadiusMobile/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "8px", + "borderTopRightRadius": "0px", + "borderBottomLeftRadius": "8px", + "borderBottomRightRadius": "0px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControl/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControl/resource.json new file mode 100644 index 0000000..d2fe3c5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControl/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "ac30bc177970c067d32c15f10d5ef1000261c926ff59c7010fa8258d69a5a959", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControl/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControl/style.json new file mode 100644 index 0000000..8e50623 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControl/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "padding": "1px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControlBar/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControlBar/resource.json new file mode 100644 index 0000000..2ce2920 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControlBar/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "5b34589e0d474cf166b976eb86b6192d332d39a0ac9ab394a91c04dee1577f8d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControlBar/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControlBar/style.json new file mode 100644 index 0000000..bded29c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControlBar/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "paddingBottom": "6px", + "paddingLeft": "12px", + "paddingRight": "12px", + "paddingTop": "8px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileFunctionBar/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileFunctionBar/resource.json new file mode 100644 index 0000000..edb75c9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileFunctionBar/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "4fdc754b77ac3154fd38cd5bd0dcaf5e369dedf49b4ace17754ad66e57a6a0fa", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileFunctionBar/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileFunctionBar/style.json new file mode 100644 index 0000000..98cc0ee --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileFunctionBar/style.json @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-20)", + "paddingBottom": "8px", + "paddingLeft": "8px", + "paddingRight": "8px", + "paddingTop": "8px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadius/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadius/resource.json new file mode 100644 index 0000000..9672066 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadius/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "1a5400a485d357c5154909d05d10b2480de112983be9614a05d55480187174c3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadius/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadius/style.json new file mode 100644 index 0000000..080b7e5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadius/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "0px", + "borderTopRightRadius": "4px", + "borderBottomLeftRadius": "0px", + "borderBottomRightRadius": "4px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadiusMobile/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadiusMobile/resource.json new file mode 100644 index 0000000..3f96eb1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadiusMobile/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "8e45f1a6d97868a1fa53316d3f8c0fe5f6974c2727fd8520522cfb3036c9f7ad", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadiusMobile/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadiusMobile/style.json new file mode 100644 index 0000000..7eeaad8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadiusMobile/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "0px", + "borderTopRightRadius": "8px", + "borderBottomLeftRadius": "0px", + "borderBottomRightRadius": "8px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButton/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButton/resource.json new file mode 100644 index 0000000..51831ab --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButton/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "2c44d399afb1d80de36a6a036acef8eb4d5ab1b9c5790bfc8af4a2c38bd45210", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButton/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButton/style.json new file mode 100644 index 0000000..080b7e5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButton/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "0px", + "borderTopRightRadius": "4px", + "borderBottomLeftRadius": "0px", + "borderBottomRightRadius": "4px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButtonMobile/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButtonMobile/resource.json new file mode 100644 index 0000000..3f96eb1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButtonMobile/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "8e45f1a6d97868a1fa53316d3f8c0fe5f6974c2727fd8520522cfb3036c9f7ad", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButtonMobile/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButtonMobile/style.json new file mode 100644 index 0000000..7eeaad8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButtonMobile/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "0px", + "borderTopRightRadius": "8px", + "borderBottomLeftRadius": "0px", + "borderBottomRightRadius": "8px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertButton/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertButton/resource.json new file mode 100644 index 0000000..b4a5f52 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertButton/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "b030306651868e0ec5d6940f3684ba9c15937777cdd66cf560f39e30525b34d2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertButton/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertButton/style.json new file mode 100644 index 0000000..1bc0cdf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertButton/style.json @@ -0,0 +1,36 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--info)", + "boxShadow": "none" + } + }, + "variants": [ + { + "pseudo": "hover", + "animation": { + "duration": "0.2s", + "direction": "normal", + "iterationCount": "1", + "timingFunction": "ease", + "keyframes": { + "0%": { + "backgroundColor": "var(--info)", + "boxShadow": "none" + }, + "100%": { + "backgroundColor": "#448BB7", + "boxShadow": "none" + } + } + } + }, + { + "pseudo": "active", + "style": { + "backgroundColor": "var(--info)", + "boxShadow": "none" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertButtonSecondary/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertButtonSecondary/resource.json new file mode 100644 index 0000000..5dd449f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertButtonSecondary/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "b093bfed674ae847f9c437bbf475036492e325beb5b991f0a70ea1e987b93e35", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertButtonSecondary/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertButtonSecondary/style.json new file mode 100644 index 0000000..d17d372 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertButtonSecondary/style.json @@ -0,0 +1,28 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderColor": "var(--neutral-100)", + "borderStyle": "solid", + "borderWidth": "1px", + "fontWeight": "normal" + } + }, + "variants": [ + { + "pseudo": "hover", + "animation": { + "duration": "0.2s", + "direction": "normal", + "iterationCount": "1", + "timingFunction": "ease", + "keyframes": { + "0%": {}, + "100%": { + "borderWidth": "2px" + } + } + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertClose/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertClose/resource.json new file mode 100644 index 0000000..2de5717 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertClose/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "574fbd9766a3e1949271e6733138b66fcb91107f2846bc74954985fc6eb03a8b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertClose/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertClose/style.json new file mode 100644 index 0000000..54e8b9e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertClose/style.json @@ -0,0 +1,16 @@ +{ + "base": { + "style": { + "cursor": "pointer", + "fill": "var(--callToAction)" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "fill": "var(--callToAction--hover)" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertMessage/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertMessage/resource.json new file mode 100644 index 0000000..4466615 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertMessage/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "c359f2638010d04ca382c2beafd84e39703e59b0dbbacc84cf6a85fbf06ef88d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertMessage/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertMessage/style.json new file mode 100644 index 0000000..96ea046 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertMessage/style.json @@ -0,0 +1,8 @@ +{ + "base": { + "style": { + "color": "var(--neutral-100)", + "fontSize": "14px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertTitle/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertTitle/resource.json new file mode 100644 index 0000000..212b9f2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertTitle/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "035aad75db842bb65d2bdb55a2a67eba5dca7894a234bfc202279b2917a50e34", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertTitle/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertTitle/style.json new file mode 100644 index 0000000..70f1467 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/alertTitle/style.json @@ -0,0 +1,9 @@ +{ + "base": { + "style": { + "fontSize": "20px", + "fontWeight": "bold", + "lineHeight": "32px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/error/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/error/resource.json new file mode 100644 index 0000000..937397c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/error/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "7bb5c0d211bb180f58d151d4e74620bc5588aa9d70934c492dac4e76b237883c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/error/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/error/style.json new file mode 100644 index 0000000..1ab1a76 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/error/style.json @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderTopColor": "var(--error)", + "borderTopStyle": "solid", + "borderTopWidth": "4px", + "boxShadow": "0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22)" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/errorBtn1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/errorBtn1/resource.json new file mode 100644 index 0000000..01e901e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/errorBtn1/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "e60a5f5dec726595d4d0821e840700c1dd2ebec75832d42ee40398a5f2b65e09", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/errorBtn1/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/errorBtn1/style.json new file mode 100644 index 0000000..2e37bb5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/errorBtn1/style.json @@ -0,0 +1,24 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--error)", + "borderStyle": "none", + "boxShadow": "none", + "textTransform": "uppercase" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "var(--error)" + } + }, + { + "pseudo": "active", + "style": { + "color": "var(--neutral-30)" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/errorBtn2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/errorBtn2/resource.json new file mode 100644 index 0000000..362fb03 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/errorBtn2/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "31a0d52068b7447a862c8234f229449ceb358fb65d8689008b84a162b2e88818", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/errorBtn2/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/errorBtn2/style.json new file mode 100644 index 0000000..0e4a29a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/errorBtn2/style.json @@ -0,0 +1,32 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderColor": "var(--error)", + "borderStyle": "solid", + "borderWidth": "1px", + "boxShadow": "none", + "color": "var(--error)", + "fontWeight": "normal", + "textTransform": "uppercase", + "fill": "var(--error)" + } + }, + "variants": [ + { + "pseudo": "hover", + "animation": { + "duration": "0.2s", + "direction": "normal", + "iterationCount": "1", + "timingFunction": "ease", + "keyframes": { + "0%": {}, + "100%": { + "backgroundColor": "var(--neutral-20)" + } + } + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/info/resource.json new file mode 100644 index 0000000..4975706 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/info/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "e51899583f84f67719c0c2adc1cd87bfe08b35b7fd1f4cafaeda4306ecc6dfac", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/info/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/info/style.json new file mode 100644 index 0000000..18992b9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/info/style.json @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderTopColor": "var(--info)", + "borderTopStyle": "solid", + "borderTopWidth": "4px", + "boxShadow": "0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22)" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/infoBtn1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/infoBtn1/resource.json new file mode 100644 index 0000000..35999b7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/infoBtn1/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "b5d0176871198b8dc35cfc102d3d251b20e215c3496b29bfeb5f07e8c5c091c3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/infoBtn1/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/infoBtn1/style.json new file mode 100644 index 0000000..83738d0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/infoBtn1/style.json @@ -0,0 +1,24 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--info)", + "borderStyle": "none", + "boxShadow": "none", + "textTransform": "uppercase" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "var(--info)" + } + }, + { + "pseudo": "active", + "style": { + "color": "var(--neutral-30)" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/infoBtn2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/infoBtn2/resource.json new file mode 100644 index 0000000..b9a0b23 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/infoBtn2/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "692ee58d8becd973d3915f1dbbca4956610e96962f5d28e0ddeb47fc812246c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/infoBtn2/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/infoBtn2/style.json new file mode 100644 index 0000000..5fee597 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/infoBtn2/style.json @@ -0,0 +1,32 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderColor": "var(--info)", + "borderStyle": "solid", + "borderWidth": "1px", + "boxShadow": "none", + "color": "var(--info)", + "fontWeight": "normal", + "textTransform": "uppercase", + "fill": "var(--info)" + } + }, + "variants": [ + { + "pseudo": "hover", + "animation": { + "duration": "0.2s", + "direction": "normal", + "iterationCount": "1", + "timingFunction": "ease", + "keyframes": { + "0%": {}, + "100%": { + "backgroundColor": "var(--neutral-20)" + } + } + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/success/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/success/resource.json new file mode 100644 index 0000000..23fdb65 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/success/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "7756195baa9a262ff8279c2959ee0706330d35ba60f6fc7aaca1d42009c38caf", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/success/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/success/style.json new file mode 100644 index 0000000..f41dcbf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/success/style.json @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderTopColor": "var(--success)", + "borderTopStyle": "solid", + "borderTopWidth": "4px", + "boxShadow": "0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22)" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/successBtn1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/successBtn1/resource.json new file mode 100644 index 0000000..16a68cf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/successBtn1/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "af90b6581843325c0cad025440ab5cdc9142ed1046d43a716fb901950176a0c1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/successBtn1/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/successBtn1/style.json new file mode 100644 index 0000000..bd41600 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/successBtn1/style.json @@ -0,0 +1,24 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--success)", + "borderStyle": "none", + "boxShadow": "none", + "textTransform": "uppercase" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "var(--success)" + } + }, + { + "pseudo": "active", + "style": { + "color": "var(--neutral-30)" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/successBtn2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/successBtn2/resource.json new file mode 100644 index 0000000..4c59ae5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/successBtn2/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "afdd6cf04f556068fbb0327d53e57c4409b0870e52f06052d9905a6ae27949c6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/successBtn2/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/successBtn2/style.json new file mode 100644 index 0000000..72614af --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/successBtn2/style.json @@ -0,0 +1,32 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderColor": "var(--success)", + "borderStyle": "solid", + "borderWidth": "1px", + "boxShadow": "none", + "color": "var(--success)", + "fontWeight": "normal", + "textTransform": "uppercase", + "fill": "var(--success)" + } + }, + "variants": [ + { + "pseudo": "hover", + "animation": { + "duration": "0.2s", + "direction": "normal", + "iterationCount": "1", + "timingFunction": "ease", + "keyframes": { + "0%": {}, + "100%": { + "backgroundColor": "var(--neutral-20)" + } + } + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warning/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warning/resource.json new file mode 100644 index 0000000..4db2c06 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warning/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "9b18933dfe7a36143918abefb153be3294b23863d7d38e7d8ccd0ec1f0031a29", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warning/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warning/style.json new file mode 100644 index 0000000..ae2f723 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warning/style.json @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderTopColor": "var(--warning)", + "borderTopStyle": "solid", + "borderTopWidth": "4px", + "boxShadow": "0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22)" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warningBtn1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warningBtn1/resource.json new file mode 100644 index 0000000..9994e51 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warningBtn1/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "c83d0d2c042a32119083a97c61db2bfcea3acdf30cf5653ae7e2948525f17f58", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warningBtn1/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warningBtn1/style.json new file mode 100644 index 0000000..9c276b0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warningBtn1/style.json @@ -0,0 +1,24 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--warning)", + "borderStyle": "none", + "boxShadow": "none", + "textTransform": "uppercase" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "var(--warning)" + } + }, + { + "pseudo": "active", + "style": { + "color": "var(--neutral-30)" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warningBtn2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warningBtn2/resource.json new file mode 100644 index 0000000..1a6cc7d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warningBtn2/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "f9de970cf0843cccc898e5789b90bbbf4919f4f0f8506e276d09ce6ee773ca05", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warningBtn2/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warningBtn2/style.json new file mode 100644 index 0000000..0a4f239 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Alerts/states/warningBtn2/style.json @@ -0,0 +1,32 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "borderColor": "var(--warning)", + "borderStyle": "solid", + "borderWidth": "1px", + "boxShadow": "none", + "color": "var(--warning)", + "fontWeight": "normal", + "textTransform": "uppercase", + "fill": "var(--warning)" + } + }, + "variants": [ + { + "pseudo": "hover", + "animation": { + "duration": "0.2s", + "direction": "normal", + "iterationCount": "1", + "timingFunction": "ease", + "keyframes": { + "0%": {}, + "100%": { + "backgroundColor": "var(--neutral-20)" + } + } + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Action/data.bin b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Action/data.bin new file mode 100644 index 0000000..2cc6f01 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Action/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"cursor":"pointer","fill":"#59B1E8"}}} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Action/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Action/resource.json new file mode 100644 index 0000000..b8d7be9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Action/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "bf476f00a10759b621e5d2095546db7af551fa0e1f39e6de3833552ba7d4677d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Button/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Button/resource.json new file mode 100644 index 0000000..7759984 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Button/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "1b189528f78c8fe6e6a21fd71e7c9d62e1642b0c2e7396f228f732116356767c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Button/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Button/style.json new file mode 100644 index 0000000..355b8a4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Button/style.json @@ -0,0 +1,13 @@ +{ + "base": { + "style": { + "backgroundColor": "#F5F5F5", + "borderColor": "#CCCCCC", + "borderStyle": "solid", + "borderWidth": "1px", + "borderRadius": "4px", + "color": "#555555", + "cursor": "pointer" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Dock/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Dock/resource.json new file mode 100644 index 0000000..afb77d5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Dock/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "ad8e05350b1a0cffe19a878bc97c0065d5803ad42af932c8970be6209818c556", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Dock/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Dock/style.json new file mode 100644 index 0000000..47de66f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Dock/style.json @@ -0,0 +1,8 @@ +{ + "base": { + "style": { + "backgroundColor": "#002143", + "color": "#E6EAEE" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Field/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Field/resource.json new file mode 100644 index 0000000..87e599a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Field/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "b2f83f0eddc2b4350c8169f586e99cc903c5328b580c0a0d237879fa9687fd1f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Field/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Field/style.json new file mode 100644 index 0000000..822ddaf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Field/style.json @@ -0,0 +1,9 @@ +{ + "base": { + "style": { + "color": "#8E8E8E", + "fontWeight": "400", + "marginBottom": "4px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Header/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Header/resource.json new file mode 100644 index 0000000..070f4b2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Header/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "79c2c700005cc6d68c3d5b148637397ccad8ab528a6d43463c19a0f17c837beb", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Header/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Header/style.json new file mode 100644 index 0000000..b350adc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Header/style.json @@ -0,0 +1,12 @@ +{ + "base": { + "style": { + "borderBottomColor": "#003E69", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "color": "#E6EAEE", + "fontSize": "14px", + "lineHeight": "20px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Icon/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Icon/resource.json new file mode 100644 index 0000000..cee9b0f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Icon/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "466baee7ab38aa372855863df9025503bd3d438d39a7d2e85af75babd94c1050", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Icon/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Icon/style.json new file mode 100644 index 0000000..2fa1a78 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Icon/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "fill": "#FAFAFB" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Small_Text/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Small_Text/resource.json new file mode 100644 index 0000000..38feb74 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Small_Text/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "050f75abff5cf9d14f2a44a85dc244ed87476cfbd22fabd4799f1a07602e18e2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Small_Text/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Small_Text/style.json new file mode 100644 index 0000000..0f8d59d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Small_Text/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "fontSize": "12px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Standard_Button/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Standard_Button/resource.json new file mode 100644 index 0000000..fda1891 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Standard_Button/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "bbd9a260f7f3abf3dd2d70a54f9a89bbd6a606bce07614388fc4587323c7c849", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:31Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Standard_Button/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Standard_Button/style.json new file mode 100644 index 0000000..6ddd84f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Standard_Button/style.json @@ -0,0 +1,17 @@ +{ + "base": { + "style": { + "backgroundImage": "linear-gradient(180deg, #59B1E8 0%, #47A9E6 100%)", + "borderColor": "#47A9E6", + "borderStyle": "solid", + "borderWidth": "1px", + "borderRadius": "4px", + "color": "#FFFFFF", + "fontSize": "14px", + "fontWeight": "bold", + "lineHeight": "18px", + "textTransform": "uppercase", + "fill": "#FFFFFF" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Title/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Title/resource.json new file mode 100644 index 0000000..be99073 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Title/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "81bd92faa6a260c21f310591081dd7046c55b3cc1bfdf1dff705cb0d6700c3b0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Title/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Title/style.json new file mode 100644 index 0000000..e5f7623 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/ApplicationHelp/Title/style.json @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "fontSize": "16px", + "fontWeight": "bold", + "lineHeight": "19px", + "marginLeft": "6px", + "fill": "#FAFAFB" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Actions/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Actions/resource.json new file mode 100644 index 0000000..d85a9b2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Actions/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "e36f2738ca9ceb058927ad1a7f345413d9376506a8284731f3c7dce030283e2d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Actions/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Actions/style.json new file mode 100644 index 0000000..a91db06 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Actions/style.json @@ -0,0 +1,9 @@ +{ + "base": { + "style": { + "borderBottomColor": "#CCCCCC", + "borderBottomStyle": "solid", + "borderBottomWidth": "1px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Button/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Button/resource.json new file mode 100644 index 0000000..d2d39da --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Button/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "f9a499f27c9d4bc2689c6a06663e433c70b18cde9c6f227554ae4e0ff5e7ff57", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Button/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Button/style.json new file mode 100644 index 0000000..cc44422 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Button/style.json @@ -0,0 +1,23 @@ +{ + "base": { + "style": { + "backgroundColor": "#F5F5F5", + "borderColor": "#CCCCCC", + "borderStyle": "solid", + "borderWidth": "1px", + "borderRadius": "4px", + "color": "#555555", + "cursor": "pointer", + "marginBottom": "4px", + "marginRight": "4px" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "borderColor": "#AAAAAA" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Button_Selected/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Button_Selected/resource.json new file mode 100644 index 0000000..3078c56 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Button_Selected/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "52b0194f8daa4abe527ad012861020b1e24ee2cd93898b7aaf23e826b43b68d9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Button_Selected/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Button_Selected/style.json new file mode 100644 index 0000000..4b7e602 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Button_Selected/style.json @@ -0,0 +1,15 @@ +{ + "base": { + "style": { + "backgroundColor": "#D5D5D5", + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderWidth": "1px", + "borderRadius": "4px", + "color": "#555555", + "cursor": "pointer", + "marginBottom": "4px", + "marginRight": "4px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Editor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Editor/resource.json new file mode 100644 index 0000000..b990354 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Editor/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "6d1d1cf248b24ea13322de272b3da681f2c562ca3a9d8f94bbe93c0fc3dbb2b2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Editor/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Editor/style.json new file mode 100644 index 0000000..57f9390 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Markdown/Editor/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderColor": "#CCCCCC", + "borderStyle": "solid", + "borderWidth": "1px", + "borderRadius": "4px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/TagPicker/Button/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/TagPicker/Button/resource.json new file mode 100644 index 0000000..a1cf202 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/TagPicker/Button/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "9f0145bc634661ab19cd996e2d8ff67fcb0616d3bd1e8ab82f5a084f3b7a3a44", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/TagPicker/Button/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/TagPicker/Button/style.json new file mode 100644 index 0000000..6ddd84f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/TagPicker/Button/style.json @@ -0,0 +1,17 @@ +{ + "base": { + "style": { + "backgroundImage": "linear-gradient(180deg, #59B1E8 0%, #47A9E6 100%)", + "borderColor": "#47A9E6", + "borderStyle": "solid", + "borderWidth": "1px", + "borderRadius": "4px", + "color": "#FFFFFF", + "fontSize": "14px", + "fontWeight": "bold", + "lineHeight": "18px", + "textTransform": "uppercase", + "fill": "#FFFFFF" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/TagPicker/Container/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/TagPicker/Container/resource.json new file mode 100644 index 0000000..02eed94 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/TagPicker/Container/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "9058e38ea9b637ecfd16ac2dbad903d0f1056dd4d3de337971f67e80e21a5ec6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/TagPicker/Container/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/TagPicker/Container/style.json new file mode 100644 index 0000000..57f9390 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/TagPicker/Container/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderColor": "#CCCCCC", + "borderStyle": "solid", + "borderWidth": "1px", + "borderRadius": "4px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-b-16/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-b-16/resource.json new file mode 100644 index 0000000..4c24288 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-b-16/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "f427e54d753419752b5f3d0953c7068aac972b750dea4969b86c7a01a4e49379", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-b-16/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-b-16/style.json new file mode 100644 index 0000000..2ca9909 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-b-16/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "marginBottom": "16px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-r-16/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-r-16/resource.json new file mode 100644 index 0000000..63afe5f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-r-16/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "f4d21ec8eeb8e633d069349673bb00eb7ebe0717f6df9c547d2aa8d302b105da", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-r-16/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-r-16/style.json new file mode 100644 index 0000000..7ba26d5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-r-16/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "marginRight": "16px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-r-8/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-r-8/resource.json new file mode 100644 index 0000000..2ace9e4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-r-8/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "ee6273243f44ec98f9f326f3376ddcecd6ff2a5d97748944962345aee1330252", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-r-8/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-r-8/style.json new file mode 100644 index 0000000..4a0ff91 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/m-r-8/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "marginRight": "8px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-16/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-16/resource.json new file mode 100644 index 0000000..5694a71 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-16/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "c49576e5567f3d2790f3437ea108a0e50517ea5ff79bfa6446e2f86b1423a19b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-16/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-16/style.json new file mode 100644 index 0000000..3829f48 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-16/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "padding": "16px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-8/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-8/resource.json new file mode 100644 index 0000000..7527ae7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-8/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "1dcb9f0ca196932658e23bf5fbd19dfe09df9bcf125298b928f8d6e45e0b82f6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-8/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-8/style.json new file mode 100644 index 0000000..f242daf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-8/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "padding": "8px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-rl-8/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-rl-8/resource.json new file mode 100644 index 0000000..c1c8bd3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-rl-8/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "18660011f78f75232a046636a0c14fa09043d620e80f9016afc8e9061b71f4f7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-rl-8/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-rl-8/style.json new file mode 100644 index 0000000..e5e8bfa --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/Utilities/p-rl-8/style.json @@ -0,0 +1,8 @@ +{ + "base": { + "style": { + "paddingLeft": "8px", + "paddingRight": "8px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/circle-icon/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/circle-icon/resource.json new file mode 100644 index 0000000..1aa7957 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/circle-icon/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "26d61e107e51088e3814b3aa2726903a4a0dd751510b445ea4caeaaa16063ac8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/circle-icon/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/circle-icon/style.json new file mode 100644 index 0000000..6e27282 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/circle-icon/style.json @@ -0,0 +1,22 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--icon)", + "borderStyle": "none", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "color": "var(--neutral-10)" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "var(--neutral-60)", + "boxShadow": "rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px !important" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/hover-effect-selected/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/hover-effect-selected/resource.json new file mode 100644 index 0000000..4e84cda --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/hover-effect-selected/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "abe94b6ec0211844ca322da0902b9725104981b019a6653ed4ce28fccfa88754", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/hover-effect-selected/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/hover-effect-selected/style.json new file mode 100644 index 0000000..b259672 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/hover-effect-selected/style.json @@ -0,0 +1,16 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--callToAction)", + "color": "var(--contextBackground)" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "color-mix(in srgb, var(--contextBackground) 15%, var(--callToAction) 85%)" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/hover-effect-unselected/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/hover-effect-unselected/resource.json new file mode 100644 index 0000000..2f84e57 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/hover-effect-unselected/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "1f157409d9af9c4469fab47101ee43ee96630d5c181fab04da435dc95aa1e643", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/hover-effect-unselected/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/hover-effect-unselected/style.json new file mode 100644 index 0000000..889dc68 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/buttons/hover-effect-unselected/style.json @@ -0,0 +1,13 @@ +{ + "base": { + "style": {} + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "color-mix(in srgb, var(--callToAction) 5%, var(--contextBackground) 95%)" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/HoverOver/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/HoverOver/resource.json new file mode 100644 index 0000000..b86a3d8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/HoverOver/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "3571beae743a0b5abc2cce3290dfda7fa3c01fe15b3f2a25c07f29fe6d933658", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/HoverOver/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/HoverOver/style.json new file mode 100644 index 0000000..11ee4e0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/HoverOver/style.json @@ -0,0 +1,24 @@ +{ + "base": { + "style": { + "overflow": "hidden" + } + }, + "variants": [ + { + "pseudo": "hover", + "style": { + "backgroundColor": "#00000010", + "borderColor": "#00000020", + "borderStyle": "solid", + "borderWidth": "0.6px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "cursor": "pointer", + "overflow": "hidden" + } + } + ] +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/card/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/card/resource.json new file mode 100644 index 0000000..7463a82 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/card/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "ca2007adbba24701febf3749f1e229d418b8f8a0bc67cea8cafae5b72e7c2fa2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-20T20:00:25Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/card/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/card/style.json new file mode 100644 index 0000000..d5f2556 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/card/style.json @@ -0,0 +1,16 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--container)", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "outlineColor": "var(--border)", + "outlineStyle": "solid", + "outlineWidth": "1px", + "overflow": "visible" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/card_nested/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/card_nested/resource.json new file mode 100644 index 0000000..4304de0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/card_nested/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "8250e8d05376f4cd4490cd59ecb0865807533dcb793d75f7a6733500c08d8f79", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-20T22:49:28Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/card_nested/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/card_nested/style.json new file mode 100644 index 0000000..efce426 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/card_nested/style.json @@ -0,0 +1,19 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--container)", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "outlineColor": "var(--border)", + "outlineStyle": "solid", + "outlineWidth": "1px", + "overflow": "visible", + "paddingBottom": "2px", + "paddingLeft": "2px", + "paddingRight": "2px", + "paddingTop": "2px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/padded-container/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/padded-container/resource.json new file mode 100644 index 0000000..6e4b03a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/padded-container/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "7e430fb629be1b7e8eddee819f7b6b9ee016d522258c3d59a097451e461261b0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/padded-container/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/padded-container/style.json new file mode 100644 index 0000000..5cd096d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/containers/padded-container/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "padding": "10px" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/labels/section-title/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/labels/section-title/resource.json new file mode 100644 index 0000000..85ccd00 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/labels/section-title/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "cb30dd27d9a5c65804b15cc13716ca1823f18d13da0811461cbfce71dbc743e9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/labels/section-title/style.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/labels/section-title/style.json new file mode 100644 index 0000000..4a89763 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/labels/section-title/style.json @@ -0,0 +1,8 @@ +{ + "base": { + "style": { + "fontSize": "18px", + "fontWeight": "bold" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/toggle/data.bin b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/toggle/data.bin new file mode 100644 index 0000000..29a285e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/toggle/data.bin @@ -0,0 +1,5 @@ +{ + "base": { + "style": {} + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/toggle/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/toggle/resource.json new file mode 100644 index 0000000..4964e9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/style-classes/toggle/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "7671501987e223ff84c95cffd6d62d577afc6b4fda7b6a4d8ba9e10c71bc9f4c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T22:29:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/stylesheet/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/stylesheet/resource.json new file mode 100644 index 0000000..af3a784 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/stylesheet/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "stylesheet.css" + ], + "attributes": { + "lastModificationSignature": "e7b466c370c36659bd0232baa2d08c8b4f80a88c25e4fe5f412bd23aaeca5898", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T00:03:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/stylesheet/stylesheet.css b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/stylesheet/stylesheet.css new file mode 100644 index 0000000..3568abf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/stylesheet/stylesheet.css @@ -0,0 +1,46 @@ + +.psc-alarmbox { + position: absolute; + top: 0; + left: 0; + width: 90%; + height: 90%; +} + +.psc-alarmbox circle { + stroke-dasharray: 5; + stroke-dashoffset: 0; + padding: 10em; + vector-effect: non-scaling-stroke; + animation: trace-border 4s linear infinite; +} + +@keyframes trace-border { + from { + stroke-dashoffset: 100; + } + to { + stroke-dashoffset: 0; + } +} + +.psc-tglswch .ia_toggleSwitch__track { + background-color: var(--toggleSwitch--selected); + filter: none; + opacity: 0.25; + border-radius: 8px; + transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; +} + +.psc-tglswch .ia_toggleSwitch__thumb { + border-radius: 50%; + background-color: var(--toggleSwitch--selected); + border: none; + box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12); + transition: left 200ms cubic-bezier(0.4, 0, 0.2, 1), left 150ms cubic-bezier(0.4, 0, 0.2, 1); +} + +.psc-tglswch .ia_toggleSwitch__thumb:hover { + filter: brightness(1.2); +} + diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Air Separator Pumps LLS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Air Separator Pumps LLS/resource.json new file mode 100644 index 0000000..955cb3a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Air Separator Pumps LLS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a602ecc08693b1d9b8e33e3d894d2945c93b4494862594694ba39a2776c4c14d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T20:49:28Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Air Separator Pumps LLS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Air Separator Pumps LLS/thumbnail.png new file mode 100644 index 0000000..d488f32 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Air Separator Pumps LLS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Air Separator Pumps LLS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Air Separator Pumps LLS/view.json new file mode 100644 index 0000000..5c4160f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Air Separator Pumps LLS/view.json @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B301 Chillers LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*MPR1140/ASP_LLS*" + }, + "deviceName": "ASP", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]MPR1140/ASP_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/ASP", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]MPR1140/ASP_Rotation" + } + }, + "path": "Library/Templates/Graphics/LLS/Device LLS V1" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/HorizontalBorder/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/HorizontalBorder/resource.json new file mode 100644 index 0000000..249c97d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/HorizontalBorder/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3b331e873202ef5991ad006d9450667e5bfd8abd2a5c3b7593939ff5364d0650", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:22:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/HorizontalBorder/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/HorizontalBorder/thumbnail.png new file mode 100644 index 0000000..c0473ca Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/HorizontalBorder/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/HorizontalBorder/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/HorizontalBorder/view.json new file mode 100644 index 0000000..a2d2871 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/HorizontalBorder/view.json @@ -0,0 +1,89 @@ +{ + "custom": {}, + "params": { + "Severity": 1 + }, + "propConfig": { + "params.Severity": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 150, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmBorder Horizontal" + }, + "position": { + "basis": "300px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({view.params.Severity}\u003e0,True,False)" + }, + "type": "expr" + } + }, + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{view.params.Severity},\r\n\t1, \"#7166B7\",\r\n\t2, \"#F4B834\",\r\n\t3, \"#DE7C33\",\r\n\t4, \"#E22028\",\r\n\t\"#FFFFFF\"\r\n)\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "350", + "id": "Box", + "name": "Box", + "stroke": { + "width": "30px" + }, + "type": "rect", + "width": "725", + "x": "2.083", + "y": "2.083" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "square", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 730 355" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/Icon/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/Icon/resource.json new file mode 100644 index 0000000..0565d60 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/Icon/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7615c80314950aec59f202c10149f9a1e0849bca6a167802e6d3dcd9fa2e7c3b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:22:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/Icon/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/Icon/thumbnail.png new file mode 100644 index 0000000..283b684 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/Icon/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/Icon/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/Icon/view.json new file mode 100644 index 0000000..617f413 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/Icon/view.json @@ -0,0 +1,370 @@ +{ + "custom": {}, + "params": { + "AlarmSeverity": 1 + }, + "propConfig": { + "params.AlarmSeverity": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 50 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "basis": "300px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}!\u003d1,False,True)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M854.903,82.071l0,877.525c0,18.438 -14.969,33.407 -33.407,33.407l-601.326,-0c-18.437,-0 -33.407,-14.969 -33.407,-33.407l0,-877.525c0,-18.438 14.97,-33.407 33.407,-33.407l601.326,-0c18.438,-0 33.407,14.969 33.407,33.407Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1042 1042" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "basis": "300px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}!\u003d2,False,True)" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M476.192,128.475c9.301,-15.826 26.285,-25.544 44.641,-25.544c18.357,-0 35.341,9.718 44.641,25.544c98.023,166.79 331.22,563.583 430.343,732.245c9.409,16.011 9.524,35.834 0.301,51.952c-9.223,16.119 -26.371,26.064 -44.942,26.064c-197.149,-0 -663.536,-0 -860.685,-0c-18.571,-0 -35.719,-9.945 -44.942,-26.064c-9.223,-16.118 -9.109,-35.941 0.301,-51.952c99.123,-168.662 332.32,-565.455 430.342,-732.245Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1042 1042" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}!\u003d3,False,True)" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "d": "M545.877,45.009l450.78,450.781c13.822,13.822 13.822,36.265 0,50.087l-450.78,450.78c-13.822,13.822 -36.265,13.822 -50.087,0l-450.781,-450.78c-13.821,-13.822 -13.821,-36.265 0,-50.087l450.781,-450.781c13.822,-13.821 36.265,-13.821 50.087,0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1042 1042" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "basis": "300px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}!\u003d4,False,True)" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "cx": "520.833", + "cy": "520.833", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "500", + "stroke": { + "paint": "#000", + "width": "33.33px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(845.675,0,0,845.675,723.231,879.38)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.904825,0,-5.12274)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1042 1042" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/SquareBorder/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/SquareBorder/resource.json new file mode 100644 index 0000000..bad57cd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/SquareBorder/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a922ed59028ba1e6f28ac2ed388cd08b39bc9dba5087e9fbc2df1be3833da0e3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:22:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/SquareBorder/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/SquareBorder/thumbnail.png new file mode 100644 index 0000000..09bea61 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/SquareBorder/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/SquareBorder/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/SquareBorder/view.json new file mode 100644 index 0000000..7bb1c0f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/SquareBorder/view.json @@ -0,0 +1,90 @@ +{ + "custom": {}, + "params": { + "Severity": 1 + }, + "propConfig": { + "params.Severity": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 165, + "width": 160 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmBorder Square" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({view.params.Severity}\u003e0,True,False)" + }, + "type": "expr" + } + }, + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{view.params.Severity},\r\n\t1, \"#7166B7\",\r\n\t2, \"#F4B834\",\r\n\t3, \"#DE7C33\",\r\n\t4, \"#E22028\",\r\n\t\"#FFFFFF\"\r\n)\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": 720, + "id": "Box", + "name": "Box", + "stroke": { + "width": 10 + }, + "type": "rect", + "width": 720, + "x": 2, + "y": 2 + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMidYMin", + "stroke": { + "linecap": "square", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 730 355" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/VerticalBorder/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/VerticalBorder/resource.json new file mode 100644 index 0000000..896d890 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/VerticalBorder/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d840dbb7ec22f4e1bc391826a37706d4f1a180592d66e1a968e422659b951f28", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:22:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/VerticalBorder/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/VerticalBorder/thumbnail.png new file mode 100644 index 0000000..4e44ebd Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/VerticalBorder/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/VerticalBorder/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/VerticalBorder/view.json new file mode 100644 index 0000000..7c0aa84 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Alarms/VerticalBorder/view.json @@ -0,0 +1,93 @@ +{ + "custom": {}, + "params": { + "AlarmSeverity": 1 + }, + "propConfig": { + "params.AlarmSeverity": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 150 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmBorder Vertical" + }, + "position": { + "basis": "300px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}\u003e0,True, False)" + }, + "type": "expr" + } + }, + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\ncase(\r\n\t{view.params.AlarmSeverity},\r\n\t1, \"--coolpurple\",\r\n\t2, \"--goldenyellow\",\r\n\t3, \"--sunsetorange\",\r\n\t4, \"--alarmred\",\r\n\t\"white\"\r\n)\r\n,\u0027)\u0027)\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "725", + "id": "Box", + "name": "Box", + "stroke": { + "width": "10px" + }, + "type": "rect", + "width": 350, + "x": 2.083, + "y": 2.083 + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "square", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 355 730" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/B102 Mech Layout/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/B102 Mech Layout/resource.json new file mode 100644 index 0000000..0ef377a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/B102 Mech Layout/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8b2ee3c6fbb6dec0af4c474ad5626fd8106700092fe638f24d0d69984024d1ee", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:32:31Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/B102 Mech Layout/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/B102 Mech Layout/thumbnail.png new file mode 100644 index 0000000..4c14aff Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/B102 Mech Layout/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/B102 Mech Layout/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/B102 Mech Layout/view.json new file mode 100644 index 0000000..3ffcd5d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/B102 Mech Layout/view.json @@ -0,0 +1,45 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 610, + "width": 1155 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "SecondFloor_Layout" + }, + "position": { + "height": 300, + "width": 1155 + }, + "props": { + "path": "Library/Templates/Graphics/Layout/SecondFloor" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FirstFloor_Layout" + }, + "position": { + "height": 300, + "width": 1155, + "y": 310 + }, + "props": { + "path": "Library/Templates/Graphics/Layout/FirstFloor" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/C102 Layout/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/C102 Layout/resource.json new file mode 100644 index 0000000..7d4f2e5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/C102 Layout/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "784cb2535b0f4a436753f076ea926afddf784d0f56883c65d5db2c47f99ddb25", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T18:47:52Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/C102 Layout/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/C102 Layout/thumbnail.png new file mode 100644 index 0000000..1e4fef1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/C102 Layout/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/C102 Layout/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/C102 Layout/view.json new file mode 100644 index 0000000..9922f2b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/C102 Layout/view.json @@ -0,0 +1,597 @@ +{ + "custom": { + "CRAC": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ], + "CRAH": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ], + "DH": [ + 5, + "value", + "value", + "value", + "value" + ], + "DOAS": [ + "value", + "value", + "value", + "value" + ], + "FCU": [ + "[Ignition_Common_IO_Gtwy]ER1128/SATB1_HS2_EL1128_FCU16" + ], + "RTU": [ + 5, + "value", + "value" + ], + "VAV": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "params": {}, + "propConfig": { + "custom.CRAC": { + "persistent": true + }, + "custom.CRAH": { + "persistent": true + }, + "custom.DH": { + "persistent": true + }, + "custom.DOAS": { + "persistent": true + }, + "custom.FCU": { + "persistent": true + }, + "custom.RTU": { + "persistent": true + }, + "custom.VAV": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 900, + "width": 1155 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FirstFloor_Layout_0" + }, + "position": { + "height": 300, + "width": 1155 + }, + "props": { + "path": "Library/Templates/Graphics/Layout/Roof" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SecondFloor_Layout" + }, + "position": { + "height": 300, + "width": 1155, + "y": 300 + }, + "propConfig": { + "props.params.DH[1]": { + "binding": { + "config": { + "struct": { + "key": "now(5000)\r\n" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\timport random\n\trandom_integer \u003d random.randint(-90, 90)\n\toutput \u003d float(random_integer) / 10.0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.DH[2]": { + "binding": { + "config": { + "struct": { + "key": "now(5000)\r\n" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\timport random\n\trandom_integer \u003d random.randint(-90, 90)\n\toutput \u003d float(random_integer) / 10.0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.DH[4]": { + "binding": { + "config": { + "struct": { + "key": "now(5000)\r\n" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\timport random\n\trandom_integer \u003d random.randint(-90, 90)\n\toutput \u003d float(random_integer) / 10.0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "CRAH": [ + -9, + 0, + 9 + ], + "DH": [ + -5, + null, + null, + 5, + null + ], + "DOAS": [ + 1, + 2, + 3, + 4 + ], + "FCU": [ + -9, + -8, + -7, + -6, + -5, + -4, + -3, + -2, + -1, + 0, + -5, + 5, + -5, + 5, + -5, + 5, + -5, + 5, + -5, + 5, + -5, + 5 + ], + "RTU": [ + -1, + -2, + -3 + ] + }, + "path": "Library/Templates/Graphics/Layout/SecondFloor" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FirstFloor_Layout" + }, + "position": { + "height": 300, + "width": 1155, + "y": 600 + }, + "propConfig": { + "props.params.DH[3]": { + "binding": { + "config": { + "struct": { + "key": "now(5000)\r\n" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\timport random\n\trandom_integer \u003d random.randint(-90, 90)\n\toutput \u003d float(random_integer) / 10.0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.DH[5]": { + "binding": { + "config": { + "struct": { + "key": "now(5000)\r\n" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\timport random\n\trandom_integer \u003d random.randint(-90, 90)\n\toutput \u003d float(random_integer) / 10.0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "CRAC": [ + 4, + 1, + 2, + 3, + 4 + ], + "CRAH": [ + 0, + 1, + 2, + 3, + 4 + ], + "DH": [ + 4.1, + 3.4, + 6.7, + null, + 3.6, + null + ], + "DOAS": [ + 0, + 1, + 2, + 3 + ], + "FCU": [ + -9, + -8, + -7, + -6, + -5, + -4, + -3, + -2, + -1, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 8, + 7, + 6, + 5 + ], + "VAV": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1, + -1, + -2, + -3, + -4, + -5, + -6, + -7, + -8, + -9, + -8, + 0, + 1, + -5, + 4, + 5, + 6, + 7 + ] + }, + "path": "Library/Templates/Graphics/Layout/FirstFloor" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 81, + "x": 64.99000000000001, + "y": 384 + }, + "props": { + "text": "DH4", + "textStyle": { + "fontSize": 24, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 32, + "width": 81, + "x": 403, + "y": 384 + }, + "props": { + "text": "DH2", + "textStyle": { + "fontSize": 24, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "VAV": "VAV 1-01 HC", + "Zone_Status": 2, + "area": "Department 2", + "dept": 0, + "isDept": true + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\t# Call the root container\u0027s openDetailsPanel method to open the vav details\n\t# side panel, passing in vav name, bool denoting area/dept, and area/dept name.\n\t\n\tvav \u003d self.custom.VAV\n\tarea \u003d self.custom.area\n\tisDept \u003d self.custom.isDept\n\t\n\tself.parent.openDetailsPanel(vav,area,isDept)" + }, + "scope": "G", + "type": "script" + }, + "onMouseEnter": { + "config": { + "script": "\t# Set hover custom property equal to vav name. Then, binding on fill color\n\t# for this zone will set the color to be a little darker.\n\t\n\tself.parent.custom.hover \u003d self.custom.VAV" + }, + "scope": "G", + "type": "script" + }, + "onMouseLeave": { + "config": { + "script": "\t# Clear out hover custom property. Then, binding on fill color\n\t# for this zone will set back to the original color (color before\n\t# it was darkened).\n\t\n\tself.parent.custom.hover \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SV_Example", + "tooltip": { + "delay": 800, + "enabled": true, + "style": { + "backgroundColor": "var(--neutral-30)", + "color": "var(--neutral-100)" + } + }, + "visible": false + }, + "position": { + "height": 75, + "rotate": { + "anchor": "685% 167%" + }, + "width": 222, + "x": 34.984375, + "y": 16 + }, + "propConfig": { + "custom.Zone_Status": { + "binding": { + "config": { + "expression": "if({session.custom.FloorColorFromDesiredSP}\u003dtrue,tag(\u0027BMS/90BR/VAV/\u0027 + {this.custom.VAV} + \u0027/Temp_Zone\u0027)-tag(\u0027BMS/90BR/VAV/\u0027 + {this.custom.VAV} + \u0027/Temp_SP_Desired\u0027),\r\ntag(\u0027BMS/90BR/VAV/\u0027 + {this.custom.VAV} + \u0027/Temp_Zone\u0027)-74)" + }, + "enabled": false, + "type": "expr" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.custom.VAV" + }, + "type": "property" + } + }, + "props.elements[0].style.fill": { + "binding": { + "config": { + "struct": { + "color": "// three possible color schemes\r\n\r\nif({session.custom.ColorScheme}\u003d0,\r\nif({this.custom.Zone_Status}\u003c\u003d-4, gradient({this.custom.Zone_Status},-8,-4,color(0,72,200),color(0,82,255)),\r\nif({this.custom.Zone_Status}\u003c\u003d-3, gradient({this.custom.Zone_Status},-4,-3,color(0,82,255),color(11,150,255)),\r\nif({this.custom.Zone_Status}\u003c\u003d-2, gradient({this.custom.Zone_Status},-3,-2,color(11,150,255),color(138,255,255)),\r\nif({this.custom.Zone_Status}\u003c\u003d2, gradient({this.custom.Zone_Status},-2,2,color(85,194,48),color(255,255,138)),\r\nif({this.custom.Zone_Status}\u003c\u003d3, gradient({this.custom.Zone_Status},2,3,color(255,255,138),color(255,172,71)),\r\nif({this.custom.Zone_Status}\u003c\u003d4, gradient({this.custom.Zone_Status},3,4,color(255,172,71),color(255,71,71)),\r\ngradient({this.custom.Zone_Status},4,8,color(255,71,71),color(200,71,71))\r\n)))))),\r\n\r\nif({session.custom.ColorScheme}\u003d1,\r\nif({this.custom.Zone_Status}\u003c\u003d-4, gradient({this.custom.Zone_Status},-8,-4,color(18,60,142),color(44,103,212)),\r\nif({this.custom.Zone_Status}\u003c\u003d-3, gradient({this.custom.Zone_Status},-4,-3,color(44,103,212),color(121,168,249)),\r\nif({this.custom.Zone_Status}\u003c\u003d-2, gradient({this.custom.Zone_Status},-3,-2,color(121,168,249),color(238,243,252)),\r\nif({this.custom.Zone_Status}\u003c\u003d-1, gradient({this.custom.Zone_Status},-2,-1,color(238,243,252),color(250,250,250)),\r\nif({this.custom.Zone_Status}\u003c\u003d2, gradient({this.custom.Zone_Status},-1,2,color(250,250,250),color(249,206,206)),\r\nif({this.custom.Zone_Status}\u003c\u003d3, gradient({this.custom.Zone_Status},2,3,color(249,206,206),color(249,131,131)),\r\nif({this.custom.Zone_Status}\u003c\u003d4, gradient({this.custom.Zone_Status},3,4,color(249,131,131),color(217,26,26)),\r\ngradient({this.custom.Zone_Status},4,8,color(217,26,26),color(132,16,16))\r\n))))))),\r\n\r\nif({this.custom.Zone_Status}\u003c\u003d-4, gradient({this.custom.Zone_Status},-8,-4,color(89,38,147),color(139,76,208)),\r\nif({this.custom.Zone_Status}\u003c\u003d-3, gradient({this.custom.Zone_Status},-4,-3,color(139,76,208),color(192,144,240)),\r\nif({this.custom.Zone_Status}\u003c\u003d-2, gradient({this.custom.Zone_Status},-3,-2,color(192,144,240),color(231,212,249)),\r\nif({this.custom.Zone_Status}\u003c\u003d-1, gradient({this.custom.Zone_Status},-2,-1,color(231,212,249),color(250,250,250)),\r\nif({this.custom.Zone_Status}\u003c\u003d2, gradient({this.custom.Zone_Status},-1,2,color(250,250,250),color(120,240,232)),\r\nif({this.custom.Zone_Status}\u003c\u003d3, gradient({this.custom.Zone_Status},2,3,color(120,240,232),color(30,186,174)),\r\nif({this.custom.Zone_Status}\u003c\u003d4, gradient({this.custom.Zone_Status},3,4,color(30,186,174),color(12,119,111)),\r\ngradient({this.custom.Zone_Status},4,8,color(12,119,111),color(13,72,68))\r\n)))))))))", + "hover": "{parent.custom.hover}\u003d{this.custom.VAV}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Darken the zone if the user hovered mouse over the zone.\n\t\n\tif value[\u0027hover\u0027] \u003d\u003d True:\n\t\tcolor \u003d value[\u0027color\u0027].darker()\n\telse:\n\t\tcolor \u003d value[\u0027color\u0027]\n\t\t\n\treturn \u0027rgb(\u0027 + str(color.getRed()) + \u0027,\u0027 + str(color.getGreen()) + \u0027,\u0027 + str(color.getBlue()) + \u0027)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "height": "100%", + "style": {}, + "type": "rect", + "width": "100%", + "x": 0, + "y": 0 + } + ], + "style": { + "classes": "", + "transition": "fill 0.25s ease" + }, + "type": "group" + } + ], + "preserveAspectRatio": "none", + "style": { + "borderRightColor": "#000000", + "borderRightStyle": "solid", + "borderRightWidth": "0.5px", + "cursor": "pointer" + }, + "viewBox": "0 0 100 100" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 81, + "x": 739, + "y": 384 + }, + "props": { + "text": "DH1", + "textStyle": { + "fontSize": 24, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 32, + "width": 81, + "x": 64.99, + "y": 683 + }, + "props": { + "text": "DH5", + "textStyle": { + "fontSize": 24, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 32, + "width": 81, + "x": 403, + "y": 683 + }, + "props": { + "text": "DH3", + "textStyle": { + "fontSize": 24, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "hover": "" + }, + "meta": { + "name": "root" + }, + "position": { + "x": 82, + "y": -52 + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHW_Overview/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHW_Overview/resource.json new file mode 100644 index 0000000..70ca8c3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHW_Overview/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d3c366d902688e6b78f2aef04fa5322e3b7899c2b4c2de575749f0d677a2d0b5", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T21:14:01Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHW_Overview/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHW_Overview/thumbnail.png new file mode 100644 index 0000000..a97b067 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHW_Overview/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHW_Overview/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHW_Overview/view.json new file mode 100644 index 0000000..d5c599d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHW_Overview/view.json @@ -0,0 +1,4879 @@ +{ + "custom": {}, + "params": {}, + "permissions": { + "securityLevels": [], + "type": "AllOf" + }, + "props": { + "defaultSize": { + "height": 1018, + "width": 1504 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": { + "box": "var(--olGray)" + } + }, + "meta": { + "name": "Mechanical Overview" + }, + "position": { + "height": 597, + "width": 1300, + "x": -25, + "y": 8 + }, + "propConfig": { + "custom.pipesOpacity": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "fallback": "100%", + "inputType": "scalar", + "mappings": [ + { + "input": "stream-light", + "output": "30%" + }, + { + "input": "stream-dark", + "output": "50%" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.box" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.box" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.box" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.box" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.box" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[1].opacity": { + "binding": { + "config": { + "path": "this.custom.pipesOpacity" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[3].opacity": { + "binding": { + "config": { + "path": "this.custom.pipesOpacity" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M624.232,4.167c0,-0.995 0.395,-1.949 1.098,-2.652c0.704,-0.703 1.658,-1.098 2.652,-1.098l286.027,-0c0.995,-0 1.949,0.395 2.652,1.098c0.703,0.703 1.098,1.657 1.098,2.652l0,75.894c0,0.994 -0.395,1.948 -1.098,2.651c-0.703,0.704 -1.657,1.099 -2.652,1.099l-286.027,-0c-0.994,-0 -1.948,-0.395 -2.652,-1.099c-0.703,-0.703 -1.098,-1.657 -1.098,-2.651l0,-75.894Z", + "fill": { + "paint": "transparent" + }, + "id": "DH1", + "name": "DH1", + "stroke": { + "dasharray": "26.67,6.67,6.67,6.67,6.67,6.67", + "paint": "var(--olGray)", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M624.232,94.167c0,-0.995 0.395,-1.949 1.098,-2.652c0.704,-0.703 1.658,-1.098 2.652,-1.098l286.027,-0c0.995,-0 1.949,0.395 2.652,1.098c0.703,0.703 1.098,1.657 1.098,2.652l0,75.894c0,0.994 -0.395,1.948 -1.098,2.651c-0.703,0.704 -1.657,1.099 -2.652,1.099l-286.027,-0c-0.994,-0 -1.948,-0.395 -2.652,-1.099c-0.703,-0.703 -1.098,-1.657 -1.098,-2.651l0,-75.894Z", + "fill": { + "paint": "transparent" + }, + "id": "DH2", + "name": "DH2", + "stroke": { + "dasharray": "26.67,6.67,6.67,6.67,6.67,6.67", + "paint": "var(--olGray)", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M624.232,184.167c0,-2.071 1.679,-3.75 3.75,-3.75l286.027,-0c0.995,-0 1.949,0.395 2.652,1.098c0.703,0.703 1.098,1.657 1.098,2.652l0,75.894c0,0.994 -0.395,1.948 -1.098,2.651c-0.703,0.704 -1.657,1.099 -2.652,1.099l-286.027,-0c-2.071,-0 -3.75,-1.679 -3.75,-3.75c0,-15.069 0,-73.335 0,-75.894Z", + "fill": { + "paint": "transparent" + }, + "id": "DH3", + "name": "DH3", + "stroke": { + "dasharray": "26.67,6.67,6.67,6.67,6.67,6.67", + "paint": "var(--olGray)", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M624.232,274.167c0,-0.995 0.395,-1.949 1.098,-2.652c0.704,-0.703 1.658,-1.098 2.652,-1.098l286.027,-0c0.995,-0 1.949,0.395 2.652,1.098c0.703,0.703 1.098,1.657 1.098,2.652l0,75.894c0,0.994 -0.395,1.948 -1.098,2.651c-0.703,0.704 -1.657,1.099 -2.652,1.099l-286.027,-0c-0.994,-0 -1.948,-0.395 -2.652,-1.099c-0.703,-0.703 -1.098,-1.657 -1.098,-2.651l0,-75.894Z", + "fill": { + "paint": "transparent" + }, + "id": "DH4", + "name": "DH4", + "stroke": { + "dasharray": "26.67,6.67,6.67,6.67,6.67,6.67", + "paint": "var(--olGray)", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M624.232,364.167c0,-2.071 1.679,-3.75 3.75,-3.75c31.692,-0 254.336,-0 286.027,-0c2.072,-0 3.75,1.679 3.75,3.75c0,13.908 0,62.454 0,76.362c0,2.072 -1.678,3.75 -3.75,3.75c-31.691,0 -254.335,0 -286.027,0c-2.071,0 -3.75,-1.678 -3.75,-3.75c0,-13.908 0,-62.454 0,-76.362Z", + "fill": { + "paint": "transparent" + }, + "id": "DH5", + "name": "DH5", + "stroke": { + "dasharray": "26.67,6.67,6.67,6.67,6.67,6.67", + "paint": "var(--olGray)", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "DH-Rooms", + "name": "DH-Rooms", + "type": "group" + }, + { + "elements": [ + { + "d": "M572.2420000005513 375.804l0-256.2", + "fill": { + "paint": "transparent" + }, + "name": "path_1", + "stroke": { + "linecap": "square", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M158.468,119.6l375.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M158.468,375.91l375.307,-0.112", + "fill": { + "paint": "transparent" + }, + "name": "path_0", + "stroke": { + "linecap": "butt", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M571.275,375.804l12.585,0l17.666,63.931l244.108,-0.003l0.032,-22.251", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M571.275,314.679l17.701,0l10.388,35.649l246.27,0.015l0.032,-22.269", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M571.275,252.054l19.243,0l6.991,7.295l248.145,-0l0,-20.378", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M571.275,189.654l17.448,0l10.936,-20.12l245.995,-0.026l0,-22.303", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M571.275,119.623l13.462,-0.019l14.956,-41.359l245.961,-0.032l0,-20.935", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#0476df", + "width": "3.33px" + }, + "type": "path" + } + ], + "id": "Supply-Pipes", + "name": "Supply-Pipes", + "opacity": "100%", + "type": "group" + }, + { + "elements": [ + { + "d": "M158.468,105.337l252.635,-0.017l15.393,-38.03l180.958,-0.03l0,-61.819l238.2,0l0,29.142", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#079a31", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M158.468,390.878l252.682,0.001l13.297,28.873l183.007,-0l0,-368.549", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "#079a31", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M607.551,95.441l238.103,0l0,28.964", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "square", + "paint": "#079a31", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M607.551,185.061l238.103,0l0,30.316", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "square", + "paint": "#079a31", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M607.551,274.377l238.103,0l0,30.028", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "square", + "paint": "#079a31", + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M607.551,364.985l238.103,0l0,29.177", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "square", + "paint": "#079a31", + "width": "3.33px" + }, + "type": "path" + } + ], + "id": "Return-Pipes", + "name": "Return-Pipes", + "opacity": "100%", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 919 445" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Title Rooftop" + }, + "position": { + "height": 32, + "rotate": { + "anchor": "50% 37%" + }, + "width": 130, + "x": 18.9955, + "y": 110.982 + }, + "props": { + "text": "Rooftop Chillers" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Title Pump" + }, + "position": { + "height": 32, + "width": 130, + "x": 243.636, + "y": 111.976 + }, + "props": { + "text": "Pump Room" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\tviewPath \u003d \u0027Pages/Dev/B_Mechanical/L3/B301 Chillers LLS\u0027\n\ttitle \u003d \u0027Chillers LLS\u0027\n\tutils.nav.openLLSPopup(viewPath,title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Btn Chiller LLS" + }, + "position": { + "height": 40, + "width": 120, + "x": 1384, + "y": 491.5 + }, + "props": { + "text": "Chillers LLS" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\tviewPath \u003d \u0027Pages/Dev/B_Mechanical/L3/B302 CHW Pumps LLS\u0027\n\ttitle \u003d \u0027Chilled Water Pumps LLS\u0027\n\tutils.nav.openLLSPopup(viewPath,title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Btn CHWP LLS" + }, + "position": { + "height": 40, + "rotate": { + "anchor": "50% 40%" + }, + "width": 120, + "x": 1254, + "y": 491.5 + }, + "props": { + "style": { + "key": "value" + }, + "text": "CHWP LLS" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Divider 01" + }, + "position": { + "height": 1, + "width": 250, + "x": 1254, + "y": 243 + }, + "props": { + "style": { + "backgroundColor": "var(--olGray)" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CHWP PID Container" + }, + "position": { + "height": 131, + "width": 120, + "x": 1254, + "y": 538.1 + }, + "props": { + "params": { + "embedded": false, + "objectName": "PID_Loop", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_PID" + }, + "path": "Library/Cards/Card_PID", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP_SpdSP" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "67px" + }, + "props": { + "alignVertical": "top", + "text": "CHWP Speed Setpoint", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP_ADDLimit" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "CHWP Add Limit", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP SUB Limit" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "CHWP SuB Limit", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP_Demand" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "VFD", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "67px" + }, + "props": { + "alignVertical": "top", + "text": "CHWP Demand", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CHWP Calculation Container" + }, + "position": { + "height": 144, + "width": 250, + "x": 1254, + "y": 679 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_LLS/Value Feedback" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "67px" + }, + "props": { + "alignVertical": "top", + "text": "CHWP Ref Feedback", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "text": "1-3 \u003d 1 ASPs", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "text": "4-6 \u003d 2 ASPs", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "25%" + }, + "props": { + "text": "7-9 \u003d 3 ASPs", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "basis": "25%" + }, + "props": { + "text": "10+ \u003d 4 ASPs", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ASP Demand" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "67px" + }, + "props": { + "alignVertical": "top", + "text": "ASP Demand", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "ASP Calculation Container" + }, + "position": { + "height": 144, + "width": 250, + "x": 1254, + "y": 832 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "DHDP Avg Block" + }, + "position": { + "height": 60, + "width": 120, + "x": 1384, + "y": 609.1 + }, + "props": { + "params": { + "embedded": false, + "format": "###.##", + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/DHDP_AvgObj" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Chiller DP Block" + }, + "position": { + "height": 60, + "width": 120, + "x": 123.25, + "y": 23 + }, + "props": { + "params": { + "embedded": false, + "format": "##.##", + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/ChillerDP_AvgObj" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CHWST Avg Block" + }, + "position": { + "height": 60, + "width": 120, + "x": 1384, + "y": 539 + }, + "props": { + "params": { + "embedded": false, + "format": "###.##", + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWST_AvgObj" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Plan Failures Block" + }, + "position": { + "height": 61, + "width": 195, + "x": 600, + "y": 19 + }, + "props": { + "params": { + "embedded": false, + "objectName": "PlantFailure", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "path": "Library/Widgets/Wdg_PlantFailure", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VFD Pie Chart" + }, + "position": { + "height": 97, + "width": 113, + "x": 336.096875, + "y": 7 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Chillers Pie Chart" + }, + "position": { + "height": 97, + "width": 96, + "x": 4, + "y": 7 + }, + "propConfig": { + "custom.counts": { + "access": "PUBLIC" + } + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof" + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH3 Elements" + }, + "position": { + "height": 112, + "width": 402, + "x": 841, + "y": 12 + }, + "props": { + "params": { + "DH": "DH3" + }, + "path": "Library/Widgets/Mechanical/Wdg_DH_Overview", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH2 Elements" + }, + "position": { + "height": 112, + "width": 402, + "x": 841, + "y": 133 + }, + "props": { + "params": { + "DH": "DH2" + }, + "path": "Library/Widgets/Mechanical/Wdg_DH_Overview", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH4 Elements" + }, + "position": { + "height": 112, + "width": 402, + "x": 841, + "y": 253 + }, + "props": { + "params": { + "DH": "DH4" + }, + "path": "Library/Widgets/Mechanical/Wdg_DH_Overview", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH1 Elements" + }, + "position": { + "height": 112, + "width": 402, + "x": 841, + "y": 373 + }, + "props": { + "params": { + "DH": "DH1" + }, + "path": "Library/Widgets/Mechanical/Wdg_DH_Overview", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH5 Elements" + }, + "position": { + "height": 112, + "width": 402, + "x": 841, + "y": 495 + }, + "props": { + "params": { + "DH": "DH5" + }, + "path": "Library/Widgets/Mechanical/Wdg_DH_Overview", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "ChillerTagInfo": { + "chillerLLSPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS", + "statusTranslation": [ + { + "index": 0, + "value": [ + "Not Avail", + "Available" + ] + }, + { + "index": 1, + "value": [ + "Stopped", + "Running" + ] + }, + { + "index": 2, + "value": [ + "Good", + "Failed" + ] + } + ] + } + }, + "meta": { + "name": "Chiller LLS Table" + }, + "position": { + "height": 366.84, + "width": 610, + "x": 9, + "y": 611.16 + }, + "propConfig": { + "custom.ChillerTagInfo.nUnits": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{tagPath}/Config/Number of Units" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.priority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{1}/Reference Devices" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{1}/Status Devices" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.statusBinary": { + "binding": { + "config": { + "path": "this.custom.ChillerTagInfo.status" + }, + "transforms": [ + { + "code": "\t\n\tdef int_to_bits(num):\n\t # Ensure the integer is formatted as a 3-bit binary string and then reversed\n\t binary_str \u003d format(num % 8, \u002703b\u0027) # % 8 ensures only the last 3 bits are considered\n\t return [int(bit) for bit in binary_str[::-1]]\n\t\n\treturn [int_to_bits(num) for num in value]", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "struct": { + "nUnits": "{this.custom.ChillerTagInfo.nUnits}", + "priority": "{this.custom.ChillerTagInfo.priority}", + "status": "{this.custom.ChillerTagInfo.statusBinary}", + "statusTranslation": "{this.custom.ChillerTagInfo.statusTranslation}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor i, priority in enumerate(range(value[\u0027nUnits\u0027])):\n\t\tif i\u003c9:\n\t\t\tchillerName \u003d \u0027Chiller 0{}\u0027.format(i+1)\n\t\telse:\n\t\t\tchillerName \u003d \u0027Chiller {}\u0027.format(i+1)\n\t\tstatusTxt \u003d \"Available\"\n\t\tbgColor \u003d \"transparent\"\n\t\tif value[\u0027statusTranslation\u0027][2].value[value[\u0027status\u0027][i][2]] \u003d\u003d \"Failed\":\n\t\t\tstatusTxt\u003d \"Failed\"\n\t\t\tbgColor \u003d \u0027var(--error)\u0027\n\t\telif value[\u0027statusTranslation\u0027][1].value[value[\u0027status\u0027][i][1]]\u003d\u003d\"Running\":\n\t\t\tstatusTxt\u003d \"Running\"\t\t\n\t\t\n\t\t\n\t\tnewRow \u003d {\n\t\t\t\t\u0027index\u0027: i, # index\n\t\t\t\t\u0027chillerName\u0027: {\n\t\t\t\t\t\u0027value\u0027: chillerName, # chillerName\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027margin-left\u0027: 10\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\"status\": {\"value\":statusTxt,\n\t\t\t\t\t\t\t\"style\":{\n\t\t\t\t\t\t\t\t\"backgroundColor\":bgColor}\n\t\t\t\t\t\t},\n\t\t\t\t\u0027priority\u0027 : value[\u0027priority\u0027][i],\n\t\t\t\t\u0027priority2\u0027: value[\u0027priority\u0027][i] if value[\u0027priority\u0027][i] \u003e 0 else 999 , # priority\n\t\t\t}\n\t\toutput.append(newRow)\n\t\tif i \u003d\u003d value[\u0027nUnits\u0027]-1:\n\t\t\tbreak\n\treturn self.sortChillerData(output)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "index", + "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": false, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "chillerName", + "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": "Chiller" + }, + "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": "status", + "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": "Status" + }, + "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": "priority2", + "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": "number", + "resizable": true, + "sort": "ascending", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": false, + "width": 0 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "priority", + "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": "Priority" + }, + "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": [ + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 41" + }, + "index": 40, + "priority": 1, + "priority2": 1, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 26" + }, + "index": 25, + "priority": 2, + "priority2": 2, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 29" + }, + "index": 28, + "priority": 3, + "priority2": 3, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 08" + }, + "index": 7, + "priority": 4, + "priority2": 4, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 46" + }, + "index": 45, + "priority": 5, + "priority2": 5, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 44" + }, + "index": 43, + "priority": 6, + "priority2": 6, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 12" + }, + "index": 11, + "priority": 7, + "priority2": 7, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 11" + }, + "index": 10, + "priority": 8, + "priority2": 8, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 28" + }, + "index": 27, + "priority": 9, + "priority2": 9, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 40" + }, + "index": 39, + "priority": 10, + "priority2": 10, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 13" + }, + "index": 12, + "priority": 11, + "priority2": 11, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 36" + }, + "index": 35, + "priority": 12, + "priority2": 12, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 19" + }, + "index": 18, + "priority": 13, + "priority2": 13, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 24" + }, + "index": 23, + "priority": 14, + "priority2": 14, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 20" + }, + "index": 19, + "priority": 15, + "priority2": 15, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 17" + }, + "index": 16, + "priority": 16, + "priority2": 16, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 47" + }, + "index": 46, + "priority": 17, + "priority2": 17, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 38" + }, + "index": 37, + "priority": 18, + "priority2": 18, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 30" + }, + "index": 29, + "priority": 19, + "priority2": 19, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 07" + }, + "index": 6, + "priority": 20, + "priority2": 20, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 05" + }, + "index": 4, + "priority": 21, + "priority2": 21, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 27" + }, + "index": 26, + "priority": 22, + "priority2": 22, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 15" + }, + "index": 14, + "priority": 23, + "priority2": 23, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 34" + }, + "index": 33, + "priority": 24, + "priority2": 24, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 35" + }, + "index": 34, + "priority": 25, + "priority2": 25, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 22" + }, + "index": 21, + "priority": 26, + "priority2": 26, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 14" + }, + "index": 13, + "priority": 27, + "priority2": 27, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 33" + }, + "index": 32, + "priority": 28, + "priority2": 28, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 45" + }, + "index": 44, + "priority": 29, + "priority2": 29, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 21" + }, + "index": 20, + "priority": 30, + "priority2": 30, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 16" + }, + "index": 15, + "priority": 31, + "priority2": 31, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 48" + }, + "index": 47, + "priority": 32, + "priority2": 32, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 43" + }, + "index": 42, + "priority": 33, + "priority2": 33, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 39" + }, + "index": 38, + "priority": 34, + "priority2": 34, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 23" + }, + "index": 22, + "priority": 35, + "priority2": 35, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 31" + }, + "index": 30, + "priority": 36, + "priority2": 36, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 02" + }, + "index": 1, + "priority": 37, + "priority2": 37, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 03" + }, + "index": 2, + "priority": 38, + "priority2": 38, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 04" + }, + "index": 3, + "priority": 39, + "priority2": 39, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 32" + }, + "index": 31, + "priority": 40, + "priority2": 40, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 09" + }, + "index": 8, + "priority": 41, + "priority2": 41, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 06" + }, + "index": 5, + "priority": 42, + "priority2": 42, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 25" + }, + "index": 24, + "priority": 43, + "priority2": 43, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 42" + }, + "index": 41, + "priority": 44, + "priority2": 44, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 01" + }, + "index": 0, + "priority": 45, + "priority2": 45, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 18" + }, + "index": 17, + "priority": 46, + "priority2": 46, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 10" + }, + "index": 9, + "priority": 47, + "priority2": 47, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 37" + }, + "index": 36, + "priority": 48, + "priority2": 48, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + } + ], + "pager": { + "bottom": false + } + }, + "scripts": { + "customMethods": [ + { + "name": "sortChillerData", + "params": [ + "arrData" + ], + "script": "\tpriority_rows \u003d sorted([row for row in arrData if row[\"priority2\"] \u003c 999], key\u003dlambda x: x[\"priority2\"])\n\tnewArr \u003d [row for row in arrData if row[\"priority2\"] \u003d\u003d 999]\n\tfor row in priority_rows:\n\t\tif row[\"priority2\"] \u003c 999:\n#\t\t\tsystem.perspective.print(\"%s placed in position %s\"%(row[\"chillerName\"][\"value\"], row[\"priority2\"]-1))\n\t\t\tnewArr.insert(row[\"priority2\"]-1, row)\n\t\n\treturn newArr\n\t\t\t\n\t\n\t" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.display.table" + }, + { + "custom": { + "ChillerTagInfo": { + "chillerLLSPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_LLS", + "statusTranslation": [ + { + "index": 0, + "value": [ + "Not Avail", + "Available" + ] + }, + { + "index": 1, + "value": [ + "Stopped", + "Running" + ] + }, + { + "index": 2, + "value": [ + "Good", + "Failed" + ] + } + ] + } + }, + "meta": { + "name": "CHWP LLS Table" + }, + "position": { + "height": 367, + "width": 610, + "x": 629, + "y": 611 + }, + "propConfig": { + "custom.ChillerTagInfo.nUnits": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{tagPath}/Config/Number of Units" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.priority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{1}/Reference Devices" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{1}/Status Devices" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.statusBinary": { + "binding": { + "config": { + "path": "this.custom.ChillerTagInfo.status" + }, + "transforms": [ + { + "code": "\t\n\tdef int_to_bits(num):\n\t # Ensure the integer is formatted as a 3-bit binary string and then reversed\n\t binary_str \u003d format(num % 8, \u002703b\u0027) # % 8 ensures only the last 3 bits are considered\n\t return [int(bit) for bit in binary_str[::-1]]\n\t\n\treturn [int_to_bits(num) for num in value]", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "struct": { + "nUnits": "{this.custom.ChillerTagInfo.nUnits}", + "priority": "{this.custom.ChillerTagInfo.priority}", + "status": "{this.custom.ChillerTagInfo.statusBinary}", + "statusTranslation": "{this.custom.ChillerTagInfo.statusTranslation}" + }, + "waitOnAll": false + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor i, priority in enumerate(range(value[\u0027nUnits\u0027])):\n\t\tif i \u003c 9:\n\t\t\tchillerName \u003d \u0027CHWP 0{}\u0027.format(i+1)\n\t\telse:\n\t\t\tchillerName \u003d \u0027CHWP {}\u0027.format(i+1)\n\t\tstatusTxt \u003d \"Available\"\n\t\tbgColor \u003d \"transparent\"\n\t\tif value[\u0027statusTranslation\u0027][2].value[value[\u0027status\u0027][i][2]] \u003d\u003d \"Failed\":\n\t\t\tstatusTxt\u003d \"Failed\"\n\t\t\tbgColor \u003d \u0027var(--error)\u0027\n\t\telif value[\u0027statusTranslation\u0027][1].value[value[\u0027status\u0027][i][1]]\u003d\u003d\"Running\":\n\t\t\tstatusTxt\u003d \"Running\"\t\t\n\t\t\n\t\t\n\t\tnewRow \u003d {\n\t\t\t\t\u0027index\u0027: i, # index\n\t\t\t\t\u0027chillerName\u0027: {\n\t\t\t\t\t\u0027value\u0027: chillerName, # chillerName\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027margin-left\u0027: 10\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\"status\": {\"value\":statusTxt,\n\t\t\t\t\t\t\t\"style\":{\n\t\t\t\t\t\t\t\t\"backgroundColor\":bgColor}\n\t\t\t\t\t\t},\n\t\t\t\t\u0027priority\u0027 : value[\u0027priority\u0027][i],\n\t\t\t\t\u0027priority2\u0027: value[\u0027priority\u0027][i] if value[\u0027priority\u0027][i] \u003e 0 else 999 , # priority\n\t\t\t}\n\t\toutput.append(newRow)\n\t\tif i \u003d\u003d value[\u0027nUnits\u0027]-1:\n\t\t\tbreak\n\treturn self.sortChillerData(output)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "index", + "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": false, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "chillerName", + "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": "CHWP" + }, + "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": "status", + "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": "Status" + }, + "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": "priority2", + "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": "number", + "resizable": true, + "sort": "ascending", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": false, + "width": 0 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "priority", + "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": "Priority" + }, + "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": "" + } + ], + "pager": { + "bottom": false + } + }, + "scripts": { + "customMethods": [ + { + "name": "sortChillerData", + "params": [ + "arrData" + ], + "script": "\tpriority_rows \u003d sorted([row for row in arrData if row[\"priority2\"] \u003c 999], key\u003dlambda x: x[\"priority2\"])\n\tnewArr \u003d [row for row in arrData if row[\"priority2\"] \u003d\u003d 999]\n\tfor row in priority_rows:\n\t\tif row[\"priority2\"] \u003c 999:\n#\t\t\tsystem.perspective.print(\"%s placed in position %s\"%(row[\"chillerName\"][\"value\"], row[\"priority2\"]-1))\n\t\t\tnewArr.insert(row[\"priority2\"]-1, row)\n\t\n\treturn newArr\n\t\t\t\n\t\n\t" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.display.table" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof" + }, + "meta": { + "name": "Supply Chart" + }, + "position": { + "height": 366, + "width": 352, + "x": 212.97, + "y": 159.97 + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "60" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "120", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": {}, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\"}\n\ttags \u003d system.tag.browse(self.custom.tagPath, {\"name\":\"*SYSTEM\",\"typeId\":\"Objects/Mechanical/Chiller\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\ttagname \u003d str(item[\"fullPath\"]) + \"/Load\"\n\t\tnameparts \u003d tagname.split(\"]\")\n\t\tprovider\u003d histProvider[nameparts[0][1:]]\n\t\trun_path \u003d \"[{}]{}\".format(provider, nameparts[1])\n\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Tonnage": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\ttotal \u003d 0\n\tfor item in rawHist:\n\t\ttotal \u003d 0\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] is None:\n\t\t\t\ttotal +\u003d 0\n\t\t\telse:\n\t\t\t\ttotal +\u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"total\": total})\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "render": "color" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Tonnage", + "x": "t_stamp", + "y": "total" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Tonnage", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Tonnage", + "zIndex": 0 + } + ], + "style": { + "overflow": "visible", + "paddingRight": 5 + }, + "title": { + "text": "Supply (Tons)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": 10000, + "min": 0, + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "CHWS" + }, + "name": "Tonnage", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Load Add Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerLoad_ADDLimit" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 01 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 100.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Load \nSub Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerLoad_SUBLimit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 02 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 149.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Tonnage Rating" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerTonRating" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 03 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 198.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "CHWP Add Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP ADD Limit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 04 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 247.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "CHWP Sub Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP SUB Limit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 05 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 296.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Minimum Flow Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Chiller_MinFlow_SP" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 06 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 345.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Bypass Valve DP Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWBPV_DiffSP" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 07 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 394.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "CHWP Diff Press Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP DP Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 08 block" + }, + "position": { + "height": 40, + "width": 250, + "x": 1254, + "y": 443.5 + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Status Indicator 01", + "tooltip": { + "enabled": true, + "text": "Bypass, DPs Fail amd Qty Chiller permissive are all good" + } + }, + "position": { + "height": 40, + "width": 120, + "x": 1254, + "y": 5.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/PlantMgr Permissive OK", + "text": "Plant Manager Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Status Indicator 02", + "tooltip": { + "enabled": true, + "text": "At least 1 DH DP is not faulted" + } + }, + "position": { + "height": 40, + "width": 120, + "x": 1384, + "y": 5.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/DPs Fail Permissive OK", + "text": "DPs Fail Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Status Indicator 03", + "tooltip": { + "enabled": true, + "text": "At least 1 CH is available" + } + }, + "position": { + "height": 40, + "width": 120, + "x": 1254, + "y": 52.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/QtyChillers Permissive OK", + "text": "Qty Chillers Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Status Indicator 04", + "tooltip": { + "enabled": true, + "text": "At least 1 loop bypass valve available" + } + }, + "position": { + "height": 40, + "width": 120, + "x": 1384, + "y": 52.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Bypass Permissive OK", + "text": "Bypass Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "This as page is home now" + }, + "method": { + "name": "", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "Set as Home Page", + "type": "method" + } + ] + }, + "name": "root" + }, + "position": { + "x": 9, + "y": -13 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)", + "overflow": "visible" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "LLSPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.LLSPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHs_Layout/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHs_Layout/resource.json new file mode 100644 index 0000000..cc64044 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHs_Layout/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "be27d6653369b3315e7351966e334337a823307f5ee85dba96294ecacaae69a0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:22:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHs_Layout/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHs_Layout/thumbnail.png new file mode 100644 index 0000000..5163296 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHs_Layout/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHs_Layout/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHs_Layout/view.json new file mode 100644 index 0000000..81ea93c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/CHs_Layout/view.json @@ -0,0 +1,14410 @@ +{ + "custom": { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS", + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + } + }, + "params": { + "pageId": "" + }, + "propConfig": { + "custom.LLS_tagPath": { + "persistent": true + }, + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1372, + "width": 2750 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": { + "CHWR": "green", + "CHWS": "blue" + } + }, + "meta": { + "name": "Chiller Farm Pipes" + }, + "position": { + "height": 1047, + "width": 2530, + "x": 173, + "y": 5 + }, + "propConfig": { + "props.elements[0].elements[0].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[3].elements[2].stroke": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[2].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWS" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CHWR" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M5.787,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9.954,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M514.12,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH1", + "name": "CH1", + "type": "group" + }, + { + "elements": [ + { + "d": "M5.787,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9.954,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M514.12,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH11", + "name": "CH11", + "type": "group" + }, + { + "elements": [ + { + "d": "M5.787,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9.954,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M514.12,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH12", + "name": "CH12", + "type": "group" + }, + { + "elements": [ + { + "d": "M5.787,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9.954,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M514.12,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH13", + "name": "CH13", + "type": "group" + }, + { + "elements": [ + { + "d": "M5.787,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9.954,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M514.12,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH14", + "name": "CH14", + "type": "group" + }, + { + "elements": [ + { + "d": "M5.787,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9.954,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M514.12,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH15", + "name": "CH15", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1380.79,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1384.95,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1889.12,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH16", + "name": "CH16", + "type": "group" + }, + { + "elements": [ + { + "d": "M1380.79,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1384.95,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1889.12,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH17", + "name": "CH17", + "type": "group" + }, + { + "elements": [ + { + "d": "M1380.79,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1384.95,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1889.12,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH18", + "name": "CH18", + "type": "group" + }, + { + "elements": [ + { + "d": "M1380.79,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1384.95,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1889.12,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH19", + "name": "CH19", + "type": "group" + }, + { + "elements": [ + { + "d": "M1380.79,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1384.95,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1889.12,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH110", + "name": "CH110", + "type": "group" + }, + { + "elements": [ + { + "d": "M1380.79,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1384.95,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1889.12,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH111", + "name": "CH111", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M2755.79,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#5be0e8", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M2759.95,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3264.12,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH112", + "name": "CH112", + "type": "group" + }, + { + "elements": [ + { + "d": "M2755.79,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M2759.95,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3264.12,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH113", + "name": "CH113", + "type": "group" + }, + { + "elements": [ + { + "d": "M2755.79,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M2759.95,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3264.12,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH114", + "name": "CH114", + "type": "group" + }, + { + "elements": [ + { + "d": "M2755.79,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M2759.95,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3264.12,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "type": "path" + } + ], + "id": "CH115", + "name": "CH115", + "type": "group" + }, + { + "elements": [ + { + "d": "M2755.79,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M2759.95,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3264.12,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH116", + "name": "CH116", + "type": "group" + }, + { + "elements": [ + { + "d": "M2755.79,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M2759.95,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3264.12,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH117", + "name": "CH117", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M4380.79,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4384.95,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4889.12,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH118", + "name": "CH118", + "type": "group" + }, + { + "elements": [ + { + "d": "M4380.79,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#5be0e8", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4384.95,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4889.12,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH119", + "name": "CH119", + "type": "group" + }, + { + "elements": [ + { + "d": "M4380.79,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4384.95,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4889.12,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH120", + "name": "CH120", + "type": "group" + }, + { + "elements": [ + { + "d": "M4380.79,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4384.95,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4889.12,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH121", + "name": "CH121", + "type": "group" + }, + { + "elements": [ + { + "d": "M4380.79,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4384.95,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4889.12,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH122", + "name": "CH122", + "type": "group" + }, + { + "elements": [ + { + "d": "M4380.79,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4384.95,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4889.12,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH123", + "name": "CH123", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5755.79,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M5759.95,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6264.12,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH124", + "name": "CH124", + "type": "group" + }, + { + "elements": [ + { + "d": "M5755.79,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M5759.95,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6264.12,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH125", + "name": "CH125", + "type": "group" + }, + { + "elements": [ + { + "d": "M5755.79,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M5759.95,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6264.12,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH126", + "name": "CH126", + "type": "group" + }, + { + "elements": [ + { + "d": "M5755.79,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M5759.95,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6264.12,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH127", + "name": "CH127", + "type": "group" + }, + { + "elements": [ + { + "d": "M5755.79,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M5759.95,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6264.12,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH128", + "name": "CH128", + "type": "group" + }, + { + "elements": [ + { + "d": "M5755.79,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M5759.95,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6264.12,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH129", + "name": "CH129", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7130.79,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7134.95,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7639.12,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH130", + "name": "CH130", + "type": "group" + }, + { + "elements": [ + { + "d": "M7130.79,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7134.95,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7639.12,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH131", + "name": "CH131", + "type": "group" + }, + { + "elements": [ + { + "d": "M7130.79,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7134.95,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7639.12,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH132", + "name": "CH132", + "type": "group" + }, + { + "elements": [ + { + "d": "M7130.79,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7134.95,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7639.12,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH133", + "name": "CH133", + "type": "group" + }, + { + "elements": [ + { + "d": "M7130.79,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7134.95,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7639.12,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH134", + "name": "CH134", + "type": "group" + }, + { + "elements": [ + { + "d": "M7130.79,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7134.95,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7639.12,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH135", + "name": "CH135", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M8505.79,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M8509.95,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9014.12,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH136", + "name": "CH136", + "type": "group" + }, + { + "elements": [ + { + "d": "M8505.79,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M8509.95,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9014.12,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH137", + "name": "CH137", + "type": "group" + }, + { + "elements": [ + { + "d": "M8505.79,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M8509.95,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9014.12,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH138", + "name": "CH138", + "type": "group" + }, + { + "elements": [ + { + "d": "M8505.79,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M8509.95,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9014.12,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH139", + "name": "CH139", + "type": "group" + }, + { + "elements": [ + { + "d": "M8505.79,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M8509.95,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9014.12,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH140", + "name": "CH140", + "type": "group" + }, + { + "elements": [ + { + "d": "M8505.79,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M8509.95,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9014.12,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH141", + "name": "CH141", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M9880.79,564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9884.95,452.301l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10389.1,452.301l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH142", + "name": "CH142", + "type": "group" + }, + { + "elements": [ + { + "d": "M9880.79,1231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9884.95,1118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10389.1,1118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH143", + "name": "CH143", + "type": "group" + }, + { + "elements": [ + { + "d": "M9880.79,1897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9884.95,1785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10389.1,1785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH144", + "name": "CH144", + "type": "group" + }, + { + "elements": [ + { + "d": "M9880.79,2564.6l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9884.95,2452.3l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10389.1,2452.3l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH145", + "name": "CH145", + "type": "group" + }, + { + "elements": [ + { + "d": "M9880.79,3231.27l654.167,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9884.95,3118.97l366.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10389.1,3118.97l70.834,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH146", + "name": "CH146", + "type": "group" + }, + { + "elements": [ + { + "d": "M9880.79,3897.93l654.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9884.95,3785.63l366.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10389.1,3785.63l70.834,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CH147", + "name": "CH147", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CHillerCons", + "name": "CHillerCons", + "type": "group" + }, + { + "elements": [ + { + "d": "M659.954,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10535,4184.95l-9875,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M2034.95,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3409.95,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M5034.95,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M659.954,68.287l9875,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10535,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9159.95,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7784.95,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6409.95,4184.95l-0,-4116.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CHWS-Loop", + "name": "CHWS-Loop", + "type": "group" + }, + { + "elements": [ + { + "d": "M584.954,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M584.954,5.787l9875,0l-0,4241.67l-9875,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M9084.95,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M6334.95,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M7709.95,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M1959.95,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3334.95,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M4959.95,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M10460,4247.45l-0,-4241.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "11.57px" + }, + "type": "path" + } + ], + "id": "CHWR-Loop", + "name": "CHWR-Loop", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M3409.95,2739.12l266.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3695.37,2718.29c11.499,0 20.834,9.335 20.834,20.833c-0,11.499 -9.335,20.834 -20.834,20.834c-11.498,-0 -20.833,-9.335 -20.833,-20.834c0,-11.498 9.335,-20.833 20.833,-20.833Zm0,11.574c-5.11,0 -9.259,4.149 -9.259,9.259c0,5.111 4.149,9.26 9.259,9.26c5.111,-0 9.26,-4.149 9.26,-9.26c-0,-5.11 -4.149,-9.259 -9.26,-9.259Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M3334.95,2659.95l341.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3695.37,2639.12c11.499,0 20.834,9.335 20.834,20.834c-0,11.498 -9.335,20.833 -20.834,20.833c-11.498,0 -20.833,-9.335 -20.833,-20.833c0,-11.499 9.335,-20.834 20.833,-20.834Zm0,11.574c-5.11,0 -9.259,4.149 -9.259,9.26c0,5.11 4.149,9.259 9.259,9.259c5.111,-0 9.26,-4.149 9.26,-9.259c-0,-5.111 -4.149,-9.26 -9.26,-9.26Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3409.95,1451.62l266.666,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3695.37,1430.79c11.499,0 20.834,9.335 20.834,20.833c-0,11.499 -9.335,20.834 -20.834,20.834c-11.498,-0 -20.833,-9.335 -20.833,-20.834c0,-11.498 9.335,-20.833 20.833,-20.833Zm0,11.574c-5.11,0 -9.259,4.149 -9.259,9.259c0,5.111 4.149,9.26 9.259,9.26c5.111,-0 9.26,-4.149 9.26,-9.26c-0,-5.11 -4.149,-9.259 -9.26,-9.259Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M3334.95,1372.45l341.666,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "11.57px" + }, + "type": "path" + }, + { + "d": "M3695.37,1351.62c11.499,0 20.834,9.335 20.834,20.834c-0,11.498 -9.335,20.833 -20.834,20.833c-11.498,0 -20.833,-9.335 -20.833,-20.833c0,-11.499 9.335,-20.834 20.833,-20.834Zm0,11.574c-5.11,0 -9.259,4.149 -9.259,9.26c0,5.11 4.149,9.259 9.259,9.259c5.111,-0 9.26,-4.149 9.26,-9.259c-0,-5.111 -4.149,-9.26 -9.26,-9.26Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Drops", + "name": "Drops", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "opacity": 0.25 + }, + "viewBox": "0 0 10541 4254" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "CH29 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1035, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH48 System" + }, + "position": { + "height": 165, + "width": 345, + "x": -10, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH47 System" + }, + "position": { + "height": 165, + "width": 345, + "x": -10, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH46 System" + }, + "position": { + "height": 165, + "width": 345, + "x": -10, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH45 System" + }, + "position": { + "height": 165, + "width": 345, + "x": -10, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH44 System" + }, + "position": { + "height": 165, + "width": 345, + "x": -10, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH43 System" + }, + "position": { + "height": 165, + "width": 345, + "x": -10, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH41 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 317, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH42 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 317, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH40 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 317, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH39 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 317, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH38 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 317, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH37 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 317, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH31 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 645, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH32 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 645, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH33 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 645, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH34 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 645, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH35 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 645, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH36 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 645, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH25 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1034, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH26 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1034, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH27 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1034, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH28 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1034, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH30 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1035, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH19 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1364, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH20 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1364, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH21 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1364, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH22 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1364, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH23 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1364, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH24 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1364, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH13 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1694, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH14 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1694, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH15 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1694, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH16 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1694, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH17 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1694, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH18 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 1694, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH07 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2024, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH08 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2024, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH09 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2024, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH10 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2024, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH11 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2024, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH12 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2024, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH01 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2353, + "y": 828 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH02 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2353, + "y": 668 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH03 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2353, + "y": 508 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH04 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2353, + "y": 348 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH05 Systrem" + }, + "position": { + "height": 165, + "width": 345, + "x": 2353, + "y": 187 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH06 System" + }, + "position": { + "height": 165, + "width": 345, + "x": 2353, + "y": 28.5 + }, + "props": { + "params": { + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_SYSTEM" + }, + "path": "Library/Diagrams/Dgrm_ChillerSystem" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH48_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 92 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH47_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 251 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH47_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH47_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH46_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 411 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH46_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH46_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 471 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH45_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 570 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU_Pos": false, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH45_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH45_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH39_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH39_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 570 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH39_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH40_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.323, + "y": 473 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH40_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 411 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH40_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH41_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH41_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 251 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH41_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH42_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH42_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 92 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH42_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH36_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH36_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 91 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH36_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH35_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH35_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 251 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH35_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH34_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 473 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH34_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 411 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH34_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH33_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH33_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 570 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH33_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH27_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH27_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 570 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH27_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH28_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 473 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH28_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 411 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH28_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH29_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH29_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 251 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH29_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH30_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH30_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 91 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH30_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH24_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH24_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 91 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH24_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH23_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH23_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 251 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH23_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH22_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 473 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH22_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 411 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU_Pos": 1, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH22_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH21_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 570 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH21_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH21_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH20_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH20_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 792 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH20_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 760 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH18_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 91 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH18_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH18_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH17_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 251 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH17_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH17_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH16_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 411 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH16_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 473 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH16_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH15_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 570 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH15_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH15_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH14_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH14_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 792 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH14_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 760 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH12_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 91 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH12_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH12_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH11_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 251 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH11_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH11_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH10_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 411 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH10_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 473 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH10_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH09_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 570 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH09_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH09_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH08_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH08_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 792 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH08_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 760 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH06_TT_RET" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 90 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH06_DP" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH06_TT_SPLY" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH05_TT_RET" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 251 + }, + "props": { + "params": { + "AlarmEn": true, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH05_TT_SPLY" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 313 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH05_DP" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 282 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH04_TT_RET" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 411 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH04_TT_SPLY" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 473 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH04_DP" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 441 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH03_TT_RET" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 570 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH03_TT_SPLY" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 633 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH03_DP" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 601 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH02_TT_RET" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH02_TT_SPLY" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 792 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH02_DP" + }, + "position": { + "height": 40, + "width": 60, + "x": 2546, + "y": 760 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH01_TT_RET" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 886 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH01_TT_SPLY" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 950 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH01_DP" + }, + "position": { + "height": 40, + "width": 75, + "x": 2546, + "y": 920 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH07_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 888 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH07_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 2222, + "y": 951 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH07_DP" + }, + "position": { + "height": 40, + "width": 36, + "x": 2222, + "y": 920 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH13_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 951 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH13_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 888 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH13_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1892, + "y": 919 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH19_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 951 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH19_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 889 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH19_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1562, + "y": 920 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH25_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 920 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH25_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 951 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH25_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 889 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH31_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 920 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH31_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 951 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH31_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 889 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH37_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 920 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH37_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 951 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH37_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 889 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH43_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 889 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH44_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH44_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 758 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH44_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 787 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH38_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 760 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH38_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 792 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH38_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 514.32, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH32_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 760 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH32_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 792 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH32_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 843, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH26_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 760 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH26_TT_RET" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 729 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_TT_RET" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH26_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 1232, + "y": 792 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH47" + }, + "position": { + "height": 110, + "width": 150, + "x": 48, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH46" + }, + "position": { + "height": 110, + "width": 150, + "x": 48, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH45" + }, + "position": { + "height": 110, + "width": 150, + "x": 48, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH44" + }, + "position": { + "height": 110, + "width": 150, + "x": 48, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH43" + }, + "position": { + "height": 110, + "width": 150, + "x": 48, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH38" + }, + "position": { + "height": 110, + "width": 150, + "x": 378, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH37" + }, + "position": { + "height": 110, + "width": 150, + "x": 378, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH39" + }, + "position": { + "height": 110, + "width": 150, + "x": 378, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH40" + }, + "position": { + "height": 110, + "width": 150, + "x": 378, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH41" + }, + "position": { + "height": 110, + "width": 150, + "x": 378, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH42" + }, + "position": { + "height": 110, + "width": 150, + "x": 378, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH36" + }, + "position": { + "height": 110, + "width": 150, + "x": 708, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH35" + }, + "position": { + "height": 110, + "width": 150, + "x": 708, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH34" + }, + "position": { + "height": 110, + "width": 150, + "x": 708, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH33" + }, + "position": { + "height": 110, + "width": 150, + "x": 708, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH32" + }, + "position": { + "height": 110, + "width": 150, + "x": 708, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH31" + }, + "position": { + "height": 110, + "width": 150, + "x": 708, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH30" + }, + "position": { + "height": 110, + "width": 150, + "x": 1097, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH29" + }, + "position": { + "height": 110, + "width": 150, + "x": 1097, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH28" + }, + "position": { + "height": 110, + "width": 150, + "x": 1097, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH27" + }, + "position": { + "height": 110, + "width": 150, + "x": 1097, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH26" + }, + "position": { + "height": 110, + "width": 150, + "x": 1097, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH25" + }, + "position": { + "height": 110, + "width": 150, + "x": 1097, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH19" + }, + "position": { + "height": 110, + "width": 150, + "x": 1428, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH20" + }, + "position": { + "height": 110, + "width": 150, + "x": 1428, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH21" + }, + "position": { + "height": 110, + "width": 150, + "x": 1428, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH22" + }, + "position": { + "height": 110, + "width": 150, + "x": 1428, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH23" + }, + "position": { + "height": 110, + "width": 150, + "x": 1428, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH24" + }, + "position": { + "height": 110, + "width": 150, + "x": 1428, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH18" + }, + "position": { + "height": 110, + "width": 150, + "x": 1758, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH17" + }, + "position": { + "height": 110, + "width": 150, + "x": 1758, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH16" + }, + "position": { + "height": 110, + "width": 150, + "x": 1758, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH15" + }, + "position": { + "height": 110, + "width": 150, + "x": 1758, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH14" + }, + "position": { + "height": 110, + "width": 150, + "x": 1758, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH13" + }, + "position": { + "height": 110, + "width": 150, + "x": 1758, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH07" + }, + "position": { + "height": 110, + "width": 150, + "x": 2088, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH08" + }, + "position": { + "height": 110, + "width": 150, + "x": 2088, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH09" + }, + "position": { + "height": 110, + "width": 150, + "x": 2088, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH10" + }, + "position": { + "height": 110, + "width": 150, + "x": 2088, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH11" + }, + "position": { + "height": 110, + "width": 150, + "x": 2088, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH12" + }, + "position": { + "height": 110, + "width": 150, + "x": 2088, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH01" + }, + "position": { + "height": 110, + "width": 150, + "x": 2414, + "y": 855 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH02" + }, + "position": { + "height": 110, + "width": 150, + "x": 2414, + "y": 695 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH03" + }, + "position": { + "height": 110, + "width": 150, + "x": 2414, + "y": 535 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH04" + }, + "position": { + "height": 110, + "width": 150, + "x": 2414, + "y": 375 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH05" + }, + "position": { + "height": 110, + "width": 150, + "x": 2414, + "y": 215 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH06" + }, + "position": { + "height": 110, + "width": 150, + "x": 2414, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV31" + }, + "position": { + "height": 75, + "width": 101, + "x": 900, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_CV31" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV32" + }, + "position": { + "height": 75, + "width": 101, + "x": 900, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_CV32" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV33" + }, + "position": { + "height": 75, + "width": 101, + "x": 900, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_CV33" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV34" + }, + "position": { + "height": 75, + "width": 101, + "x": 900, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_CV34" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV35" + }, + "position": { + "height": 75, + "width": 101, + "x": 900, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_CV35" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV36" + }, + "position": { + "height": 75, + "width": 101, + "x": 900, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_CV36" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV42" + }, + "position": { + "height": 75, + "width": 101, + "x": 570, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_CV42" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV41" + }, + "position": { + "height": 75, + "width": 101, + "x": 570, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_CV41" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV40" + }, + "position": { + "height": 75, + "width": 101, + "x": 570, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_CV40" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV39" + }, + "position": { + "height": 75, + "width": 101, + "x": 570, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_CV39" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV38" + }, + "position": { + "height": 75, + "width": 101, + "x": 570, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_CV38" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV37" + }, + "position": { + "height": 75, + "width": 101, + "x": 570, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_CV37" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV43" + }, + "position": { + "height": 75, + "width": 101, + "x": 239, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_CV43" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV44" + }, + "position": { + "height": 75, + "width": 101, + "x": 239, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_CV44" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV45" + }, + "position": { + "height": 75, + "width": 101, + "x": 239, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_CV45" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV46" + }, + "position": { + "height": 75, + "width": 101, + "x": 239, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_CV46" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV47" + }, + "position": { + "height": 75, + "width": 101, + "x": 239, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_CV47" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV48", + "tooltip": { + "text": "ValveM" + } + }, + "position": { + "height": 75, + "width": 101, + "x": 239, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_CV48" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV25" + }, + "position": { + "height": 75, + "width": 101, + "x": 1290, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_CV25" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV26" + }, + "position": { + "height": 75, + "width": 101, + "x": 1290, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_CV26" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV27" + }, + "position": { + "height": 75, + "width": 101, + "x": 1290, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_CV27" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV28" + }, + "position": { + "height": 75, + "width": 101, + "x": 1290, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_CV28" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV29" + }, + "position": { + "height": 75, + "width": 101, + "x": 1290, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_CV29" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV30" + }, + "position": { + "height": 75, + "width": 101, + "x": 1290, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_CV30" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV19" + }, + "position": { + "height": 75, + "width": 101, + "x": 1620, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_CV19" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV20" + }, + "position": { + "height": 75, + "width": 101, + "x": 1620, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_CV20" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV21" + }, + "position": { + "height": 75, + "width": 101, + "x": 1620, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_CV21" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV22" + }, + "position": { + "height": 75, + "width": 101, + "x": 1620, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_CV22" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV23" + }, + "position": { + "height": 75, + "width": 101, + "x": 1620, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_CV23" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV24" + }, + "position": { + "height": 75, + "width": 101, + "x": 1620, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_CV24" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV13" + }, + "position": { + "height": 75, + "width": 101, + "x": 1950, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_CV13" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV14" + }, + "position": { + "height": 75, + "width": 101, + "x": 1950, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_CV14" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV15" + }, + "position": { + "height": 75, + "width": 101, + "x": 1950, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_CV15" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV16" + }, + "position": { + "height": 75, + "width": 101, + "x": 1950, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_CV16" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV17" + }, + "position": { + "height": 75, + "width": 101, + "x": 1950, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_CV17" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV18" + }, + "position": { + "height": 75, + "width": 101, + "x": 1950, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_CV18" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV07" + }, + "position": { + "height": 75, + "width": 101, + "x": 2279.9, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_CV07" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV08" + }, + "position": { + "height": 75, + "width": 101, + "x": 2279.9, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_CV08" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV09" + }, + "position": { + "height": 75, + "width": 101, + "x": 2279.9, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_CV09" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV10" + }, + "position": { + "height": 75, + "width": 101, + "x": 2279.9, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_CV10" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV11" + }, + "position": { + "height": 75, + "width": 101, + "x": 2279.9, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_CV11" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV12" + }, + "position": { + "height": 75, + "width": 101, + "x": 2279.9, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_CV12" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV01" + }, + "position": { + "height": 75, + "width": 101, + "x": 2610.9, + "y": 877.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_CV01" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV02" + }, + "position": { + "height": 75, + "width": 101, + "x": 2610.9, + "y": 717.2 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_CV02" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV03" + }, + "position": { + "height": 75, + "width": 101, + "x": 2610.9, + "y": 557 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_CV03" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV04" + }, + "position": { + "height": 75, + "width": 101, + "x": 2610.9, + "y": 397 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_CV04" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV05" + }, + "position": { + "height": 75, + "width": 101, + "x": 2610.9, + "y": 237 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_CV05" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CV06" + }, + "position": { + "height": 75, + "width": 101, + "x": 2610.9, + "y": 77 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_CV06" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH48" + }, + "position": { + "height": 110, + "width": 150, + "x": 48, + "y": 55 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH48_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 119 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH48_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 149 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH43_DP" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 920 + }, + "props": { + "params": { + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_DP" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CH43_TT_SPLY" + }, + "position": { + "height": 40, + "width": 80, + "x": 183, + "y": 950 + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_TT_SPLY" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Gauge" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerTotalSupply" + }, + "type": "tag" + } + } + }, + "props": { + "backgroundColor": "", + "innerAxis": { + "data": "secondaryValue", + "maxValue": 80, + "percentRadius": 85, + "show": false, + "width": 1 + }, + "outerAxis": { + "data": "value", + "maxValue": 16000, + "percentRadius": 90, + "ranges": [ + { + "color": "#77B6D8", + "end": 16000, + "start": 0, + "width": 8 + } + ], + "show": true, + "width": 1 + }, + "style": { + "overflow": "visible" + } + }, + "type": "ia.chart.gauge" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerTotalSupply" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "numberFormat": "###0.##", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "props": { + "text": "Tons Supply", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "marginTop": -20 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "GaugeTonnage" + }, + "position": { + "height": 200, + "width": 400, + "x": 10, + "y": 1150 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Gauge_0" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.outerAxis.ranges[1].end": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "LLS_tagPath": "{view.custom.LLS_tagPath}" + }, + "tagPath": "{LLS_tagPath}/Value Avail" + }, + "type": "tag" + } + }, + "props.outerAxis.ranges[2].end": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "LLS_tagPath": "{view.custom.LLS_tagPath}" + }, + "tagPath": "{LLS_tagPath}/Value Demand" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "LLS_tagPath": "{view.custom.LLS_tagPath}" + }, + "tagPath": "{LLS_tagPath}/Value Feedback" + }, + "type": "tag" + } + } + }, + "props": { + "backgroundColor": "", + "innerAxis": { + "data": "secondaryValue", + "maxValue": 80, + "percentRadius": 85, + "show": false, + "width": 1 + }, + "outerAxis": { + "data": "value", + "maxValue": 48, + "needle": { + "color": "#555555", + "reach": 95 + }, + "percentRadius": 90, + "ranges": [ + { + "color": "#B4C0C6", + "end": 48, + "start": 0, + "width": 100 + }, + { + "color": "#77B6D8", + "start": 0, + "width": 100 + }, + { + "color": "#B46EED", + "start": 0, + "width": 4 + } + ], + "show": true, + "tickMarks": { + "length": 2 + }, + "width": 1 + } + }, + "type": "ia.chart.gauge" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "LLS_tagPath": "{view.custom.LLS_tagPath}" + }, + "tagPath": "{LLS_tagPath}/Value Feedback" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "numberFormat": "###0.##", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "props": { + "text": "Chillers running in auto", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "marginTop": -20 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "GaugeNumCH" + }, + "position": { + "height": 200, + "width": 301, + "x": 432, + "y": 1150 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Avg CH Ton Demand" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "Tons", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "67px" + }, + "props": { + "alignVertical": "top", + "text": "Average Chiller Tonnage Demand", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerAddTonnageSP" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "Tons", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "Chiller Add Tonnage SP", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerSubTonnageSP" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "Tons", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "Chiller Sub Tonnage SP", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Chiller_Demand" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "Chillers", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px" + }, + "props": { + "alignVertical": "top", + "text": "Chiller Demand", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Recommended CH Demand" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "Chillers", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "34px" + }, + "props": { + "alignVertical": "top", + "text": "Recommended Chiller Demand", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "InfoTonnage" + }, + "position": { + "height": 200, + "width": 414, + "x": 750, + "y": 1150 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "CompStatus_CH01" + }, + "position": { + "height": "auto", + "width": "auto", + "x": 2436.22, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH1_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH02" + }, + "position": { + "height": 20, + "width": 111, + "x": 2436, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH2_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH03" + }, + "position": { + "height": 20, + "width": 111, + "x": 2436, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH3_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH04" + }, + "position": { + "height": 20, + "width": 111, + "x": 2436, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH4_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH05" + }, + "position": { + "height": 20, + "width": 111, + "x": 2436, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH5_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH06" + }, + "position": { + "height": 20, + "width": 111, + "x": 2436, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH6_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH08" + }, + "position": { + "height": 20, + "width": 111, + "x": 2107.98, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH8_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH07" + }, + "position": { + "height": 0, + "width": 0, + "x": 2107.98, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH7_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH09" + }, + "position": { + "height": 20, + "width": 111, + "x": 2107.98, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH9_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH10" + }, + "position": { + "height": 20, + "width": 111, + "x": 2107.98, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH10_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH11" + }, + "position": { + "height": 20, + "width": 111, + "x": 2107.98, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH11_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH12" + }, + "position": { + "height": 20, + "width": 111, + "x": 2107.98, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH12_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH14" + }, + "position": { + "height": 20, + "width": 111, + "x": 1773.97, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH14_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH13" + }, + "position": { + "height": 0, + "width": 0, + "x": 1773.97, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH13_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH15" + }, + "position": { + "height": 20, + "width": 111, + "x": 1773.97, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH15_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH16" + }, + "position": { + "height": 20, + "width": 111, + "x": 1773.97, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH16_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH17" + }, + "position": { + "height": 20, + "width": 111, + "x": 1773.97, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH17_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH18" + }, + "position": { + "height": 20, + "width": 111, + "x": 1773.97, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH18_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH19" + }, + "position": { + "height": 0, + "width": 0, + "x": 1446.96, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH19_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH20" + }, + "position": { + "height": 20, + "width": 111, + "x": 1446.96, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH20_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH21" + }, + "position": { + "height": 20, + "width": 111, + "x": 1446.96, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH21_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH22" + }, + "position": { + "height": 20, + "width": 111, + "x": 1446.96, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH22_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH23" + }, + "position": { + "height": 20, + "width": 111, + "x": 1446.96, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH23_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH24" + }, + "position": { + "height": 20, + "width": 111, + "x": 1446.96, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH24_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH25" + }, + "position": { + "height": 0, + "width": 0, + "x": 1116.95, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH25_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH26" + }, + "position": { + "height": 20, + "width": 111, + "x": 1116.95, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH26_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH27" + }, + "position": { + "height": 20, + "width": 111, + "x": 1116.95, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH27_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH28" + }, + "position": { + "height": 20, + "width": 111, + "x": 1116.95, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH28_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH29" + }, + "position": { + "height": 20, + "width": 111, + "x": 1116.95, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH29_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH30" + }, + "position": { + "height": 20, + "width": 111, + "x": 1116.95, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH30_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH31" + }, + "position": { + "height": 0, + "width": 0, + "x": 726.93, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH31_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH32" + }, + "position": { + "height": 20, + "width": 111, + "x": 726.93, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH32_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH33" + }, + "position": { + "height": 20, + "width": 111, + "x": 726.93, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH33_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH34" + }, + "position": { + "height": 20, + "width": 111, + "x": 726.93, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH34_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH35" + }, + "position": { + "height": 20, + "width": 111, + "x": 726.93, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH35_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH36" + }, + "position": { + "height": 20, + "width": 111, + "x": 726.93, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH36_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH37" + }, + "position": { + "height": 0, + "width": 0, + "x": 397.91, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH37_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH38" + }, + "position": { + "height": 20, + "width": 111, + "x": 397.91, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH38_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH39" + }, + "position": { + "height": 20, + "width": 111, + "x": 397.91, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH39_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH40" + }, + "position": { + "height": 20, + "width": 111, + "x": 397.91, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH40_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH41" + }, + "position": { + "height": 20, + "width": 111, + "x": 397.91, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH41_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH42" + }, + "position": { + "height": 20, + "width": 111, + "x": 397.91, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH42_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH48" + }, + "position": { + "height": 20, + "width": 111, + "x": 72.89, + "y": 165 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH48_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH47" + }, + "position": { + "height": 20, + "width": 111, + "x": 72.89, + "y": 324 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH47_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH46" + }, + "position": { + "height": 20, + "width": 111, + "x": 72.89, + "y": 484 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH46_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH45" + }, + "position": { + "height": 20, + "width": 111, + "x": 72.89, + "y": 645 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH45_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH44" + }, + "position": { + "height": 20, + "width": 111, + "x": 72.89, + "y": 805 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH44_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CompStatus_CH43" + }, + "position": { + "height": 0, + "width": 0, + "x": 72.89, + "y": 965 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/Compressors/STB1_CH43_COMP_ON" + }, + "type": "tag" + } + } + }, + "props": { + "path": "Library/Framework/Bdg_Compressor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_01" + }, + "position": { + "height": 81, + "width": 274, + "x": 2398, + "y": 1050 + }, + "props": { + "params": { + "ID": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_02" + }, + "position": { + "height": 81, + "width": 274, + "x": 2066, + "y": 1050 + }, + "props": { + "params": { + "ID": 2, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_03" + }, + "position": { + "height": 81, + "width": 274, + "x": 1734, + "y": 1050 + }, + "props": { + "params": { + "ID": 3, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_04" + }, + "position": { + "height": 81, + "width": 274, + "x": 1402, + "y": 1050 + }, + "props": { + "params": { + "ID": 4, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_05" + }, + "position": { + "height": 81, + "width": 274, + "x": 1070, + "y": 1050 + }, + "props": { + "params": { + "ID": 5, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_06" + }, + "position": { + "height": 81, + "width": 274, + "x": 687, + "y": 1050 + }, + "props": { + "params": { + "ID": 6, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_07" + }, + "position": { + "height": 81, + "rotate": { + "anchor": "36% 75%" + }, + "width": 274, + "x": 358, + "y": 1050 + }, + "props": { + "params": { + "ID": 7, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FreezeProtectionLineup_08" + }, + "position": { + "height": 81, + "width": 274, + "x": 29, + "y": 1050 + }, + "props": { + "params": { + "ID": 8, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "path": "Library/Widgets/Mechanical/Wdg_FreezeProtection", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Temperature Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Chiller_Load_SP" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "degF", + "textStyle": { + "color": "var(--units-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "height": 62, + "width": 291.5, + "x": 1180, + "y": 1150 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": 10 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "HiddnBttn_4" + }, + "position": { + "height": 41, + "width": 139, + "x": 2523.6, + "y": 1209.5 + }, + "props": { + "params": { + "objectName": "FltCodeEnables", + "tagPath": "value" + }, + "path": "Library/Framework/Fwk_HiddenButton", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d not self.custom.tag" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 41, + "width": 139, + "x": 2523.6, + "y": 1163.8 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Chiller Master Reset CMD" + }, + "type": "tag" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "{session.props.auth.user.roles}" + }, + "transforms": [ + { + "code": "\troles \u003d value\n\tvisible \u003d False\n\tfor role in roles:\n\t\tif role \u003d\u003d \u0027Prime User\u0027:\n\t\t\tvisible \u003d True\n\t\t\treturn visible", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "!{this.custom.tag}" + }, + "enabled": false, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "expression": "{this.custom.tag}" + }, + "type": "expr" + } + } + }, + "props": { + "text": "Master Reset CMD" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 154, + "width": 627, + "x": 1164.14, + "y": 1211 + }, + "props": { + "path": "Library/Widgets/Mechanical/wdg_CH_CountPanel" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_8" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 23, + "x": 155.99, + "y": 125 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_9" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 157, + "y": 289 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_10" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 157, + "y": 450 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_11" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 157, + "y": 609 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_12" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 157, + "y": 770 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_13" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 157, + "y": 930 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_14" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 23, + "x": 483.98, + "y": 125 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_15" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 484.98, + "y": 289 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_16" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 484.98, + "y": 450 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_17" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 484.98, + "y": 609 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_18" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 484.98, + "y": 770 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_19" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20, + "x": 484.98, + "y": 930 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_20" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 24, + "x": 813.98, + "y": 127 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_21" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 814.02, + "y": 291 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_22" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 814.02, + "y": 452 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_23" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 814.02, + "y": 611 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_24" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 814.02, + "y": 772 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_25" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 814.02, + "y": 932 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_26" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 24, + "x": 1203.44, + "y": 126.006 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_27" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 1203.48, + "y": 290.006 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_28" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 1203.48, + "y": 451.006 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_29" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 1203.48, + "y": 610.006 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_30" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 1203.48, + "y": 771.006 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_31" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 20.87, + "x": 1203.48, + "y": 931.006 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_32" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 24, + "x": 1535.44, + "y": 126 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_33" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1535.44, + "y": 290 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_34" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1535.44, + "y": 451 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_35" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1535.44, + "y": 610 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_36" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1535.44, + "y": 771 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_37" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1535.44, + "y": 931 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_38" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 24, + "x": 1865.44, + "y": 126 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_39" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1865.44, + "y": 290 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_40" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1865.44, + "y": 451 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_41" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1865.44, + "y": 610 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_42" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1865.44, + "y": 771 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_43" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 1865.44, + "y": 931 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_44" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2193.44, + "y": 931 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_45" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2193.44, + "y": 771 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_46" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2193.44, + "y": 610 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_47" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2193.44, + "y": 451 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_48" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2193.44, + "y": 290 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_49" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 24, + "x": 2193.44, + "y": 126 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_50" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2520.44, + "y": 931 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_51" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2520.44, + "y": 771 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_52" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2520.44, + "y": 610 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_53" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2520.44, + "y": 451 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_54" + }, + "position": { + "height": 24, + "rotate": { + "anchor": "25% 25%" + }, + "width": 21, + "x": 2520.44, + "y": 290 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_55" + }, + "position": { + "height": 34, + "rotate": { + "anchor": "25% 25%" + }, + "width": 24, + "x": 2520.44, + "y": 126 + }, + "props": { + "params": { + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_HF" + }, + "path": "Pages/Dev/B_Mechanical/Equipment/HarmonicFilter", + "style": { + "padding": "3px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 25, + "width": 90, + "x": 212, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M8 SES B", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 25, + "width": 90, + "x": 539, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M7 SES A", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 25, + "width": 90, + "x": 868, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M6 SES B", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 25, + "width": 90, + "x": 1260, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M5 SES B", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 25, + "width": 90, + "x": 1588, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M4 SES B", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 25, + "width": 90, + "x": 1914, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M3 SES A", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 25, + "width": 90, + "x": 2248, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M2 SES A", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 25, + "width": 90, + "x": 2580, + "y": 994 + }, + "props": { + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + }, + "text": "M1 SES A", + "textStyle": { + "backgroundColor": "var(--state-running)", + "fontSize": 14, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -713.0208435058594, + "y": -1090.0208435058594 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Card_HVAC/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Card_HVAC/resource.json new file mode 100644 index 0000000..9fd2f07 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Card_HVAC/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1647bdda96a253d808afd511be2ae555114a86641f7202a855834ddacf23f985", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T14:47:27Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Card_HVAC/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Card_HVAC/thumbnail.png new file mode 100644 index 0000000..3471557 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Card_HVAC/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Card_HVAC/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Card_HVAC/view.json new file mode 100644 index 0000000..2f76340 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Card_HVAC/view.json @@ -0,0 +1,434 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 200, + "width": 600 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "alignContent": "space-around", + "alignItems": "center", + "direction": "column", + "elementPosition": { + "shrink": 0 + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + } + ], + "justify": "space-around", + "path": "Library/Symbols/HVAC/Sym_DOAS_Status", + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 65, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 60, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 65, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 60, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 65, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 60, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50, + "setpointValue": "" + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexRepeater_0" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "alignContent": "space-around", + "alignItems": "center", + "direction": "column", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "RTU01", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "RTU02", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + } + ], + "justify": "space-around", + "path": "Library/Symbols/HVAC/Sym_RTU_Status", + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 60, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 55, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 60, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 55, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "25%", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Cards/PUE/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Cards/PUE/resource.json new file mode 100644 index 0000000..f4d6bf1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Cards/PUE/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "18dc75834732a8b074df294e2855df251e7c6e9e8a45dcfb2b81f8c88e90b136", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:25:09Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Cards/PUE/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Cards/PUE/thumbnail.png new file mode 100644 index 0000000..851aa26 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Cards/PUE/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Cards/PUE/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Cards/PUE/view.json new file mode 100644 index 0000000..cf0a22c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Cards/PUE/view.json @@ -0,0 +1,318 @@ +{ + "custom": {}, + "params": { + "DH": "value", + "PUE": 1.2, + "critical": 4, + "total": 5 + }, + "propConfig": { + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.PUE": { + "paramDirection": "input", + "persistent": true + }, + "params.critical": { + "paramDirection": "input", + "persistent": true + }, + "params.total": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 174 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "10%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.total" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.total" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Total Power", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Total" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.critical" + }, + "transforms": [ + { + "code": "\tif value\u003e1000:\n\t\treturn value /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.critical" + }, + "transforms": [ + { + "code": "\tif value\u003e1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Critical Power", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Critical" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.PUE" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "desc" + }, + "position": { + "basis": "10%" + }, + "props": { + "text": "PUE", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/D251 Oneline Px.x/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/D251 Oneline Px.x/resource.json new file mode 100644 index 0000000..3f950e5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/D251 Oneline Px.x/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "740186fc681d2b3b631de49ac8b626b5cd17e25ce958b9e4ee8d9a455d797349", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-20T15:55:43Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/D251 Oneline Px.x/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/D251 Oneline Px.x/thumbnail.png new file mode 100644 index 0000000..bb4ccb9 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/D251 Oneline Px.x/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/D251 Oneline Px.x/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/D251 Oneline Px.x/view.json new file mode 100644 index 0000000..61fd848 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/D251 Oneline Px.x/view.json @@ -0,0 +1,2023 @@ +{ + "custom": { + "pageName": "P1.1" + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P1-1", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-HS1", + "source2": "UT-P1.2" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../UPS woCB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../UPS woCB_0.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../UPS woCB_0.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../UPS woCB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "../UPS woCB_0.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "../UPS woCB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "d": "M6604.19,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "d": "M6854.09,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "d": "M6604.09,2916.67l-3145.76,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "d": "M6854.09,3083.33l-4145.76,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group", + "visibility": "visible" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_G-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_CAM-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P1.1", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_UT-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_PDU-\u0027+tostr({view.params.pageName})+\u0027-1\u0027\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_PDU-\u0027+tostr({view.params.pageName})+\u0027-2\u0027\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_PDU-\u0027+tostr({view.params.pageName})+\u0027-2\u0027\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_PDU-\u0027+tostr({view.params.pageName})+\u0027-4\u0027\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS woCB" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.outputPower": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Operation Modes" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": 1 + }, + { + "input": 5, + "output": 1 + }, + { + "input": 6, + "output": 1 + }, + { + "input": 8, + "output": null + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_UPS-\u0027+tostr({view.params.pageName})+\u0027-1\u0027\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS woCB_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_UPS-\u0027+tostr({view.params.pageName})+\u0027-2\u0027\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SWBD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 0, + "breaker11": 0, + "breaker12": 0, + "breaker13": 0, + "breaker14": 1, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 0, + "breaker7": 0, + "breaker8": 0, + "breaker9": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD-P1.1", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "SPD", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EPMS_Nav" + }, + "position": { + "height": 140, + "width": 288, + "x": 1437, + "y": 10 + }, + "props": { + "params": { + "Room": "UT-P1.1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/EPMS_Nav" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Device LLS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Device LLS/resource.json new file mode 100644 index 0000000..b5d39a8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Device LLS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3c2be7a28c0e71a3154e08e8805e7c54d6644bd392fa8f0937796c89b06ec5f9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-17T00:48:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Device LLS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Device LLS/thumbnail.png new file mode 100644 index 0000000..e1f08a1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Device LLS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Device LLS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Device LLS/view.json new file mode 100644 index 0000000..6c7166b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Device LLS/view.json @@ -0,0 +1,5413 @@ +{ + "custom": { + "editPriority": false, + "nUnits": 4, + "priority": [ + 2, + 3, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "runtime": [ + 605.29926, + 25.700062, + 0, + 1600.9562, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "status": [ + 1, + 1, + 1, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "statusBinary": [ + [ + 1, + 0, + 0 + ], + [ + 1, + 0, + 0 + ], + [ + 1, + 0, + 0 + ], + [ + 1, + 1, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ], + [ + 0, + 0, + 0 + ] + ], + "statusTranslation": [ + { + "index": 0, + "value": [ + "Not Avail", + "Available" + ] + }, + { + "index": 1, + "value": [ + "Stopped", + "Running" + ] + }, + { + "index": 2, + "value": [ + "Good", + "Failed" + ] + } + ], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/ASP_LLS", + "tagPath1": "[Ignition_Common_IO_Gtwy]MPR1140/ASP_Rotation" + }, + "params": { + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]MPR1140/ASP_LLS", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]MPR1140/ASP_Rotation" + } + }, + "permissions": { + "securityLevels": [], + "type": "AllOf" + }, + "propConfig": { + "custom.editPriority": { + "binding": { + "config": { + "expression": "false" + }, + "enabled": false, + "type": "expr" + }, + "persistent": true + }, + "custom.nUnits": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Number of Units" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.operatorPriority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices" + }, + "type": "tag" + }, + "persistent": false + }, + "custom.priority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.tagPath}" + }, + "tagPath": "{1}/Reference Devices" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.runtime": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.tagPath}" + }, + "tagPath": "{1}/Device Runtime" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.tagPath}" + }, + "tagPath": "{1}/Status Devices" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.statusBinary": { + "binding": { + "config": { + "path": "view.custom.status" + }, + "transforms": [ + { + "code": "\t\n\tdef int_to_bits(num):\n\t # Ensure the integer is formatted as a 3-bit binary string and then reversed\n\t binary_str \u003d format(num % 8, \u002703b\u0027) # % 8 ensures only the last 3 bits are considered\n\t return [int(bit) for bit in binary_str[::-1]]\n\t\n\treturn [int_to_bits(num) for num in value]", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.statusTranslation": { + "persistent": true + }, + "custom.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPaths.tagPath_LLS" + }, + "type": "property" + }, + "persistent": true + }, + "custom.tagPath1": { + "binding": { + "config": { + "path": "view.params.tagPaths.tagPath_Rotation" + }, + "type": "property" + }, + "persistent": true + }, + "params.tagPaths": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 897 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "Status", + "textStyle": { + "classes": "labels/section-title", + "text-indent": "10px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Gauge" + }, + "position": { + "basis": "142px", + "shrink": 0 + }, + "propConfig": { + "props.outerAxis.maxValue": { + "binding": { + "config": { + "path": "view.custom.nUnits" + }, + "type": "property" + } + }, + "props.outerAxis.ranges[1].end": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Avail" + }, + "type": "tag" + } + }, + "props.outerAxis.ranges[2].end": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Demand" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Feedback" + }, + "type": "tag" + } + } + }, + "props": { + "backgroundColor": "", + "innerAxis": { + "data": "secondaryValue", + "maxValue": 80, + "percentRadius": 85, + "show": false, + "width": 1 + }, + "outerAxis": { + "data": "value", + "needle": { + "color": "#555555", + "reach": 95 + }, + "percentRadius": 90, + "ranges": [ + { + "color": "#B4C0C6", + "end": 48, + "start": 0, + "width": 100 + }, + { + "color": "#77B6D8", + "start": 0, + "width": 100 + }, + { + "color": "#B46EED", + "start": 0, + "width": 4 + } + ], + "show": true, + "tickMarks": { + "length": 2 + }, + "width": 1 + } + }, + "type": "ia.chart.gauge" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "#77B6D8", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Available" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Avail" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Available" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "#B46EED", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Demand" + }, + "type": "tag" + } + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Demand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "#555555", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Feedback" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Feedback" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Feedback" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "propConfig": { + "props.params.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Status LineUp Adjusting" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "transparent" + }, + { + "input": true, + "output": "gray" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "path": "Testing/Border CSS", + "style": { + "marginLeft": 2 + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Status LineUp Adjusting" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Adjusting Line Up" + }, + { + "input": false, + "output": "Line Up Complete" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "LineUp Adjusting" + }, + "position": { + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "propConfig": { + "props.params.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Stage Mode" + }, + "transforms": [ + { + "fallback": "gray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "transparent" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "path": "Testing/Border CSS", + "style": { + "marginLeft": 2 + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Stage Mode" + }, + "transforms": [ + { + "fallback": "State Out Of Sequence", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Normal Mode" + }, + { + "input": 1, + "output": "Staging Up" + }, + { + "input": 2, + "output": "Staging Down" + }, + { + "input": 3, + "output": "Checking Stability" + }, + { + "input": 4, + "output": "Operator Priority Changing" + }, + { + "input": 5, + "output": "Runtime Rotations" + }, + { + "input": 6, + "output": "Position Rotations" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Trans Active" + }, + "position": { + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "transparent", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label", + "tooltip": { + "text": "Rotation indication, 1 Hour notice flag." + } + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Rotation Aproaching" + }, + "transforms": [ + { + "fallback": "-", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Rotation Approaching" + }, + { + "input": false, + "output": "" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Rotation Approaching" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Rotation Aproaching" + }, + "type": "tag" + } + } + }, + "props": { + "justify": "center", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "borderLeft": "1px solid var(--border)", + "borderRight": "1px solid var(--border)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Status" + }, + "position": { + "basis": "247px", + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "Controls", + "textStyle": { + "classes": "labels/section-title", + "text-indent": "10px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Auto/Manual" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Auto" + }, + { + "input": false, + "output": "Manual" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "21%" + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode" + }, + "type": "tag" + } + } + }, + "type": "ia.input.toggle-switch" + } + ], + "meta": { + "name": "Auto-Manual" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "On/Off" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "On" + }, + { + "input": false, + "output": "Off" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "height": 33, + "width": 48, + "x": 1 + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "type": "tag" + } + } + }, + "type": "ia.input.toggle-switch" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\t\tutils.Alerts.showAlert(\"info\", \"Turn On-Off\", \"Are you sure you wan to change the state of the Chillwater Pumps LLS?\", \"true\" , \"Continue\" , \"Cancel\" , \"\" , \"\" , \"\" , \"setONOFFBtn\", \"CloseAlertDialog\", \"CloseAlertDialog\")\n\t\t\t\t\t\t #\"state\", \"title\"\t\t , \"message\"\t\t\t\t\t\t\t\t\t\t\t\t\t\t , \"showCloseBtn\", \"btnTextPrimary\", \"btnTextSecondary\", \"btnIconPrimary\", \"btnIconSecondary\", \"btnIconAlignment\", \"btnActionPrimary\" , \"btnActionSecondary\" , \"btnActionClose\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 28, + "width": 43, + "x": 5.73, + "y": 3 + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CoordinateContainer" + }, + "position": { + "basis": 19, + "grow": 1, + "shrink": 0 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "On-Off" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "enabled": false, + "transforms": [ + { + "expression": "\u0027Demand SP: \u0027+ tostr({value})", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Demand SP:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.props.tag \u003d self.props.tag + 1\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "18%" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "lineUpComplete": "tag({view.custom.tagPath}+\u0027/Status LineUp Complete\u0027)", + "mode": "tag({view.custom.tagPath}+\u0027/Control/Mode\u0027)", + "stageMode": "tag({view.custom.tagPath}+\u0027/Value Stage Mode\u0027)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027mode\u0027]\u003d\u003dFalse and value[\u0027lineUpComplete\u0027]\u003d\u003dTrue and value[\u0027stageMode\u0027]\u003d\u003d0:\n\t\tdisplay \u003d True\n\telse:\n\t\tdisplay \u003d False\n\treturn display", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.image.icon": { + "persistent": false + }, + "props.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "type": "tag" + } + } + }, + "props": { + "align": "stretch", + "image": { + "position": "right" + }, + "style": { + "overflow": "hidden" + }, + "text": "Up" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.props.tag \u003d self.props.tag - 1\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "18%" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "lineUpComplete": "tag({view.custom.tagPath}+\u0027/Status LineUp Complete\u0027)", + "mode": "tag({view.custom.tagPath}+\u0027/Control/Mode\u0027)", + "stageMode": "tag({view.custom.tagPath}+\u0027/Value Stage Mode\u0027)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027mode\u0027]\u003d\u003dFalse and value[\u0027lineUpComplete\u0027]\u003d\u003dTrue and value[\u0027stageMode\u0027]\u003d\u003d0:\n\t\tdisplay \u003d True\n\telse:\n\t\tdisplay \u003d False\n\treturn display", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.image.icon": { + "persistent": false + }, + "props.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "type": "tag" + } + } + }, + "props": { + "image": {}, + "style": { + "overflow": "hidden" + }, + "text": "Dn" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Demand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Operator Priority" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Accept", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "25%", + "shrink": 0 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Accept" + }, + "type": "tag" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "Cfg_DuplicateNum": "tag({view.custom.tagPath}+\u0027/Alarms/Alm_Cfg_DuplicateNumber\u0027)", + "Cfg_Error": "tag({view.custom.tagPath}+\u0027/Alarms/Alm_Cfg_Error\u0027)", + "authentication": "{session.props.auth.authenticated}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027authentication\u0027]:\n\t\tText \u003d \u0027No user is logged in\u0027\n\telif value[\u0027Cfg_Error\u0027]:\n\t\tText \u003d \u0027Operator priority has a duplicate number. Number: \u0027 + str(value[\u0027Cfg_DuplicateNum\u0027])\n\telse:\n\t\tText \u003d \u0027\u0027\n\treturn Text", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{session.props.auth.authenticated}\r\n\u0026\u0026 !tag({view.custom.tagPath}+\u0027/Alarms/Alarm Cfg Error\u0027)\r\n\u0026\u0026 !tag({view.custom.tagPath}+\u0027/Status LineUp Adjusting\u0027)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "padding": "0 10px" + }, + "text": "Accept" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Operator Priority" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "alignVertical": "top", + "text": "Rotation Control", + "textStyle": { + "fontWeight": "600", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Rotation Control" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "borderTop": "1px solid var(--border)", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Auto/Manual" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Auto Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Auto Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Auto" + }, + { + "input": false, + "output": "Manual" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "21%" + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Auto Mode" + }, + "type": "tag" + } + } + }, + "type": "ia.input.toggle-switch" + } + ], + "meta": { + "name": "Rotation AutoMAn" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Rotation Type" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Rotation Type" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Rotation Type" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Positions" + }, + { + "input": false, + "output": "Runtime" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "21%" + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Rotation Type" + }, + "type": "tag" + } + } + }, + "type": "ia.input.toggle-switch" + } + ], + "meta": { + "name": "Rotation Type" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Rotate Now" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Accept", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "25%", + "shrink": 0 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/OCmd Rotate Now" + }, + "type": "tag" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "authentication": "{session.props.auth.authenticated}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027authentication\u0027]:\n\t\tText \u003d \u0027No user is logged in\u0027\n\telse:\n\t\tText \u003d \u0027\u0027\n\treturn Text", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "!tag({view.custom.tagPath1}+\u0027/Auto Mode\u0027)\r\n\u0026\u0026 tag({view.custom.tagPath}+\u0027/Status LineUp Complete\u0027)\r\n\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "padding": "0 10px" + }, + "text": "Rotate" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Rotate Now" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Skip Rotation" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Accept", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "25%", + "shrink": 0 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/OCmd Skip Rotation" + }, + "type": "tag" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "Cfg_DuplicateNum": "tag({view.custom.tagPath}+\u0027/Alarms/Alm_Cfg_DuplicateNumber\u0027)", + "Cfg_Error": "tag({view.custom.tagPath}+\u0027/Alarms/Alm_Cfg_Error\u0027)", + "authentication": "{session.props.auth.authenticated}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027authentication\u0027]:\n\t\tText \u003d \u0027No user is logged in\u0027\n\telif value[\u0027Cfg_Error\u0027]:\n\t\tText \u003d \u0027Operator priority has a duplicate number. Number: \u0027 + str(value[\u0027Cfg_DuplicateNum\u0027])\n\telse:\n\t\tText \u003d \u0027\u0027\n\treturn Text", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "\r\ntag({view.custom.tagPath1}+\u0027/Rotation Aproaching\u0027)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "padding": "0 10px" + }, + "text": "Skip" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Skip rotation" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "borderRight": "1px solid var(--border)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Controls" + }, + "position": { + "basis": "263px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "Config", + "textStyle": { + "classes": "labels/section-title", + "text-indent": "10px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Stage Up Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Stage Up Delay Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_StageUpDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Stage Down Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Stage Down Delay Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_StageDownDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Transition Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Transition Delay Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_TransitionDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Off Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Off Delay Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_OffDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Max Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Max Demand" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_MaxDemand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Min Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Min Demand" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_MinDemand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Fail to Run Delay" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Fail To Run Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_FTR_SP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Fail to Stop Delay" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Fail To Stop Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_FTS_SP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "alignVertical": "top", + "text": "Rotation Config", + "textStyle": { + "fontWeight": "600", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Rotation Control" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "borderTop": "1px solid var(--border)", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Hour Rotate" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Hour" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true, + "text": "1\u003d1am ... 13\u003d1pm, etc." + } + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Hour Rotate" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_Hour_Rotate" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Day of Week" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Day of Week" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true, + "text": "1\u003dMonday, 2\u003dTuesday ... 7\u003dSunday." + } + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg DayOfWeek Rotate" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_DayOfWeek_Rotate" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Day of Week" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Number Of Weeks" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true, + "text": "1\u003dWeekly, 2\u003dBiWeekly, etc." + } + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_NumberOfWeeks_Rotate" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "borderRight": "1px solid var(--border)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Config" + }, + "position": { + "basis": "290px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "events": { + "component": { + "onEditCellCommit": { + "config": { + "script": "\tvalueToSet \u003d int(event.value)\n\teventRow \u003d int(event.row)\n\tself.props.data[event.row][event.column] \u003d valueToSet\n\ttagPath \u003d self.view.custom.tagPath + \u0027/Control/ORef_Devices\u0027 #\"[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Control/ORef_Devices\"\n\t\n\tav \u003d system.tag.readBlocking([tagPath])[0].value\n\tav[eventRow] \u003d valueToSet\n\tsystem.tag.writeBlocking([tagPath], [av])\n\t" + }, + "scope": "G", + "type": "script" + }, + "onEditCellStart": { + "config": { + "script": "\tself.custom.clear()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.columns": { + "persistent": true + }, + "props.data": { + "binding": { + "config": { + "struct": { + "nUnits": "{view.custom.nUnits}", + "oPriority": "{view.custom.operatorPriority}", + "priority": "{view.custom.priority}", + "runtime": "{view.custom.runtime}", + "status": "{view.custom.statusBinary}", + "statusTranslation": "{view.custom.statusTranslation}" + }, + "waitOnAll": false + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor i, priority in enumerate(value[\u0027priority\u0027]):\n\t\tchillerName \u003d \u0027ASP {}\u0027.format(i+1)\n\t\tnewRow \u003d {\n\t\t\t\t\u0027index\u0027: i, # index\n\t\t\t\t\u0027chillerName\u0027: {\n\t\t\t\t\t\u0027value\u0027: chillerName, # chillerName\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027margin-left\u0027: 10\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027available\u0027: {\n\t\t\t\t\t\u0027value\u0027: value[\u0027statusTranslation\u0027][0].value[value[\u0027status\u0027][i][0]], # available\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027backgroundColor\u0027: \u0027transparent\u0027 if value[\u0027status\u0027][i][0] \u003d\u003d 1 else \u0027var(--input--disabled)\u0027\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027running\u0027: {\n\t\t\t\t\t\u0027value\u0027: value[\u0027statusTranslation\u0027][1].value[value[\u0027status\u0027][i][1]], # running\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027backgroundColor\u0027: \u0027transparent\u0027 if value[\u0027status\u0027][i][1] \u003d\u003d 1 else \u0027var(--input--disabled)\u0027\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027failed\u0027: {\n\t\t\t\t\t\u0027value\u0027: value[\u0027statusTranslation\u0027][2].value[value[\u0027status\u0027][i][2]], # failed\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027backgroundColor\u0027: \u0027transparent\u0027 if value[\u0027status\u0027][i][2] \u003d\u003d 0 else \u0027var(--error)\u0027\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027priority\u0027: value[\u0027priority\u0027][i], # priority\n\t\t\t\t\u0027oPriority\u0027: {\u0027value\u0027:value[\u0027oPriority\u0027][i], \u0027editable\u0027: True}, # oPriority\n\t\t\t\t\u0027runtime\u0027: value[\u0027runtime\u0027][i], #runtime\n\t\t\t\t\u0027reset\u0027:\u0027[Ignition_Common_IO_Gtwy]RT_Tags/ASP/ASP%s_RT_Reset\u0027%(i+1)\n\t\t\t}\n\t\toutput.append(newRow)\n\t\tif i \u003d\u003d value[\u0027nUnits\u0027]-1:\n\t\t\tbreak\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.data[0].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[0]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[10].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[10]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[11].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[11]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[12].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[12]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[13].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[13]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[14].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[14]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[15].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[15]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[16].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[16]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[17].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[17]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[18].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[18]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[19].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[19]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[1].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[1]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[20].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[20]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[21].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[21]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[22].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[22]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[23].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[23]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[24].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[24]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[25].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[25]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[26].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[26]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[27].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[27]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[28].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[28]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[29].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[29]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[2].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[2]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[30].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[30]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[31].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[31]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[32].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[32]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[33].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[33]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[34].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[34]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[35].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[35]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[36].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[36]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[37].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[37]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[38].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[38]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[39].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[39]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[3].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[3]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[40].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[40]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[41].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[41]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[42].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[42]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[43].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[43]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[44].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[44]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[45].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[45]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[46].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[46]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[47].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[47]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[4].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[4]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[5].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[5]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[6].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[6]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[7].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[7]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[8].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[8]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[9].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[9]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.pager.bottom": { + "binding": { + "config": { + "expression": "len({this.props.data}) \u003e {this.props.pager.initialOption}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "cells": { + "allowEditOn": "single-click" + }, + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "index", + "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": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "chillerName", + "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": "Chiller" + }, + "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": { + "border-right": "1px solid var(--border)", + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "available", + "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": "Available" + }, + "justify": "center", + "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": { + "border-right": "1px solid var(--border)", + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "running", + "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": "Running" + }, + "justify": "center", + "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": { + "border-right": "1px solid var(--border)", + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "failed", + "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": "Failed" + }, + "justify": "center", + "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": { + "border-right": "1px solid var(--border)", + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "priority", + "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": "center", + "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": "oPriority", + "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": "center", + "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": { + "border-left": "1px solid var(--border)", + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "runtime", + "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": "Priority" + }, + "justify": "center", + "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": { + "border-left": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "reset", + "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": "center", + "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": "Library/CommonObjects/resetButton", + "visible": true, + "width": "" + } + ], + "dragOrderable": false, + "enableHeader": false, + "enableHeaderGroups": true, + "headerGroups": [ + [ + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Chiller" + }, + { + "align": "center", + "justify": "left", + "span": 3, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Status" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Priority" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Operator Priority" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Runtime Hrs" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Runtime Reset" + } + ] + ], + "pager": { + "bottom": false, + "initialOption": 48 + }, + "rows": { + "striped": { + "color": { + "even": "#FFFFFF", + "odd": "#F4F4F4" + } + }, + "style": { + "borderBottomColor": "#ADA7A7", + "borderBottomStyle": "solid", + "borderBottomWidth": 0.1 + }, + "subviewExpansionMode": "single" + }, + "selection": { + "enableColumnSelection": true + }, + "style": { + "marginBottom": 5 + }, + "virtualized": false + }, + "type": "ia.display.table" + } + ], + "events": { + "dom": { + "onDoubleClick": { + "config": { + "script": "\ttable \u003d self.getChild(\"Table\")\n\tdata \u003d table.props.data\n\tpriorityTagPath \u003d self.view.custom.tagPath + \u0027/Ref_Chillers\u0027\n\toPriorityTagPath \u003d self.view.custom.tagPath + \u0027/ORef_Chillers\u0027\n\tpriority \u003d []\n\tfor i, rowData in enumerate(data):\n\t\toPriority \u003d rowData[\u0027oPriority\u0027]\n\t\tpriority.append(oPriority)\n\t\n\tdef myCallback(asyncReturn):\n\t for result in asyncReturn:\n\t # Do something if a bad qualified value was returned\n\t if not result.good:\n\t system.perspective.print(repr([\u0027result\u0027, result]))\n\t\n\tsystem.perspective.print(repr([\u0027priority\u0027, priority]))\n\tsystem.tag.writeBlocking([priorityTagPath, oPriorityTagPath], [priority, priority])\n\tself.view.custom.editPriority \u003d False" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "setONOFFBtn", + "pageScope": false, + "script": "\tenablePath \u003d self.view.custom.tagPath + \u0027/Control/System_EnableCMD\u0027\n\tenableTag \u003d system.tag.readBlocking([enablePath])[0].value\n\tif enableTag\u003d\u003dTrue:\n\t\tsystem.tag.writeBlocking([enablePath], [False])\n\telse:\n\t\tsystem.tag.writeAsync([enablePath], [True])\n\t\t\n\tsystem.perspective.closePopup(\u0027alertDialog\u0027)", + "sessionScope": true, + "viewScope": false + }, + { + "messageType": "CloseAlertDialog", + "pageScope": false, + "script": "\n\tsystem.perspective.closePopup(\u0027alertDialog\u0027)", + "sessionScope": true, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E301 IgnitionC/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E301 IgnitionC/resource.json new file mode 100644 index 0000000..e1a85cb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E301 IgnitionC/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "654bc3e29e4164d00f95ce04cb4dfe0e8eebfbbde5211be7a8b69e8a8b2db364", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-20T15:53:25Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E301 IgnitionC/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E301 IgnitionC/thumbnail.png new file mode 100644 index 0000000..e659f9f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E301 IgnitionC/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E301 IgnitionC/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E301 IgnitionC/view.json new file mode 100644 index 0000000..99eb8a0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E301 IgnitionC/view.json @@ -0,0 +1,711 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 1242 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "meta": { + "name": "NetworkFloor" + }, + "position": { + "height": 586, + "width": 1054, + "x": 84, + "y": 180.9921875 + }, + "propConfig": { + "custom.colorHandler.zones": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": "stream-light", + "output": "#ebebeb" + }, + { + "input": "stream-dark", + "output": "#12121280" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.zones" + }, + "type": "property" + } + }, + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.zones" + }, + "type": "property" + } + }, + "props.elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.zones" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M3226.58,282.538c12.932,7.43 20.907,21.206 20.91,36.12c0.003,14.915 -7.966,28.693 -20.895,36.128c-385.651,221.779 -2423.16,1393.5 -2651.22,1524.65c-12.855,7.393 -28.671,7.396 -41.529,0.009c-76.864,-44.162 -347.139,-199.446 -470.997,-270.607c-12.932,-7.43 -20.907,-21.206 -20.91,-36.12c-0.003,-14.915 7.966,-28.693 20.895,-36.128c385.651,-221.779 2423.16,-1393.5 2651.22,-1524.65c12.855,-7.393 28.671,-7.396 41.529,-0.009c76.863,44.162 347.139,199.446 470.997,270.607Z", + "fill": {}, + "id": "Zone01", + "name": "Zone01", + "type": "path" + }, + { + "d": "M3169.28,1567.04c12.932,7.43 20.907,21.205 20.91,36.12c0.003,14.914 -7.966,28.693 -20.895,36.128c-213.14,122.572 -903.927,519.828 -1059.11,609.072c-19.283,11.089 -43.006,11.094 -62.293,0.012c-91.889,-52.793 -363.12,-208.626 -486.884,-279.734c-12.932,-7.43 -20.907,-21.205 -20.91,-36.12c-0.003,-14.914 7.966,-28.693 20.895,-36.128c218.337,-125.56 937.895,-539.362 1069.49,-615.042c12.855,-7.392 28.671,-7.396 41.529,-0.008c79.764,45.827 368.424,211.674 497.267,285.7Z", + "fill": {}, + "id": "Zone011", + "name": "Zone011", + "type": "path" + }, + { + "d": "M4235.68,1129.82c12.932,7.43 20.906,21.205 20.909,36.12c0.003,14.914 -7.966,28.693 -20.895,36.128c-112.575,64.74 -343.453,197.513 -413.742,237.934c-12.855,7.393 -28.671,7.396 -41.529,0.009c-116.596,-66.989 -691.421,-397.249 -883.798,-507.778c-12.932,-7.43 -20.907,-21.205 -20.91,-36.12c-0.003,-14.914 7.966,-28.693 20.895,-36.128c112.576,-64.74 343.454,-197.513 413.743,-237.934c12.855,-7.393 28.671,-7.396 41.529,-0.009c116.596,66.99 691.42,397.249 883.798,507.778Z", + "fill": {}, + "id": "Zone03", + "name": "Zone03", + "type": "path" + }, + { + "elements": [ + { + "d": "M609.683,1759.37l-150.586,-86.941", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M1301.94,1354.31l-150.586,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M2488.01,1366.11l-749.764,-432.876", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M2428.76,707.843l-150.585,-86.941", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M3000.96,380.318l-150.585,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M612.372,1759.37l2388.59,-1379.05", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M3107.97,973.119l150.586,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M2943.48,1384.12l562.301,-349.589", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M2030.45,1983.38l478.231,-276.107", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M3723.15,1331.16l150.585,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M3723.2,1331.16l-615.237,-355.206", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path", + "visibility": "hidden" + } + ], + "id": "Connections", + "name": "Connections", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4299 2267" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "HMI-M" + }, + "position": { + "height": 140, + "width": 170, + "x": 823.938, + "y": 645 + }, + "props": { + "params": { + "ipAddr": "192.168.8.189", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO1-M" + }, + "position": { + "height": 140, + "width": 170, + "x": 14.9287, + "y": 644.976 + }, + "props": { + "params": { + "ipAddr": "192.168.8.181", + "tagProvider": "[Ignition SATB1 IO1 default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO2-M" + }, + "position": { + "height": 140, + "width": 170, + "x": 131.925, + "y": 301.882875 + }, + "props": { + "params": { + "ipAddr": "192.168.8.182", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO3-M" + }, + "position": { + "height": 140, + "width": 170, + "x": 321.96, + "y": 180.984375 + }, + "props": { + "params": { + "ipAddr": "192.168.8.183", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO4-M" + }, + "position": { + "height": 140, + "width": 170, + "x": 508.917, + "y": 93.984 + }, + "props": { + "params": { + "ipAddr": "192.168.8.184", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO5-M" + }, + "position": { + "height": 140, + "width": 170, + "x": 795.98, + "y": 48.95275 + }, + "props": { + "params": { + "ipAddr": "192.168.8.185", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO6-M" + }, + "position": { + "height": 140, + "width": 170, + "x": 1009.98, + "y": 237.925 + }, + "props": { + "params": { + "ipAddr": "192.168.8.180", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 130, + "width": 130, + "x": 905.305, + "y": 343.859375 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 130, + "width": 130, + "x": 709.54, + "y": 157.98 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 130, + "width": 130, + "x": 570, + "y": 238 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 130, + "width": 130, + "x": 437, + "y": 315 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 130, + "width": 130, + "x": 293, + "y": 397 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 130, + "width": 130, + "x": 123, + "y": 496 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Database" + }, + "position": { + "height": 130, + "width": 130, + "x": 517.234, + "y": 587.915 + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M352.242,171.978c-0,-26.76 -62.353,-48.485 -139.155,-48.485c-76.801,-0 -139.154,21.725 -139.154,48.485l-0,264.243c-0,26.759 62.353,48.485 139.154,48.485c76.802,-0 139.155,-21.726 139.155,-48.485l-0,-264.243Z", + "fill": { + "paint": "#bfc0c2" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M73.933,183.91c-0,26.7 62.353,48.377 139.154,48.377c76.802,-0 139.155,-21.677 139.155,-48.377", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M73.933,268.05c-0,26.7 62.353,48.376 139.154,48.376c76.802,0 139.155,-21.676 139.155,-48.376", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M73.933,352.189c-0,26.7 62.353,48.377 139.154,48.377c76.802,0 139.155,-21.677 139.155,-48.377", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 500 516" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 200, + "width": 200, + "x": 656, + "y": 445 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -8, + "y": 0 + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E310 PlantMgr DLR/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E310 PlantMgr DLR/resource.json new file mode 100644 index 0000000..41e6609 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E310 PlantMgr DLR/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d8f85d5db692fe8a8519e8a3dd64251456af77650f7dd8dac22eba2ec929e1f4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-20T15:53:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E310 PlantMgr DLR/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E310 PlantMgr DLR/thumbnail.png new file mode 100644 index 0000000..f792a12 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E310 PlantMgr DLR/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E310 PlantMgr DLR/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E310 PlantMgr DLR/view.json new file mode 100644 index 0000000..da1c197 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E310 PlantMgr DLR/view.json @@ -0,0 +1,544 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "PlantManager Floor" + }, + "position": { + "height": 700, + "width": 1100, + "x": 50, + "y": 50 + }, + "props": { + "elements": [ + { + "d": "M1821.26,1239.34c12.932,7.43 20.907,21.205 20.91,36.12c0.003,14.914 -7.966,28.693 -20.895,36.128c-245.1,140.951 -1130.6,650.181 -1277.65,734.747c-12.856,7.392 -28.671,7.396 -41.529,0.008c-73.265,-42.094 -321.57,-184.755 -439.249,-252.366c-12.932,-7.43 -20.907,-21.206 -20.91,-36.12c-0.003,-14.915 7.966,-28.693 20.895,-36.128c245.1,-140.952 1130.6,-650.181 1277.65,-734.747c12.855,-7.393 28.671,-7.396 41.529,-0.008c73.265,42.093 321.57,184.755 439.249,252.366Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + }, + { + "d": "M3502.61,264.298c12.932,7.43 20.906,21.205 20.909,36.119c0.003,14.915 -7.966,28.694 -20.895,36.129c-245.099,140.951 -1130.6,650.18 -1277.65,734.746c-12.855,7.393 -28.67,7.396 -41.529,0.009c-73.264,-42.094 -321.57,-184.755 -439.248,-252.366c-12.933,-7.43 -20.907,-21.206 -20.91,-36.12c-0.003,-14.915 7.966,-28.693 20.895,-36.129c245.099,-140.951 1130.6,-650.18 1277.65,-734.746c12.855,-7.393 28.671,-7.396 41.529,-0.009c73.265,42.094 321.57,184.755 439.249,252.367Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + }, + { + "d": "M2983.09,2395.76c12.932,7.43 20.906,21.206 20.91,36.12c0.003,14.915 -7.966,28.693 -20.895,36.129c-145.796,83.844 -502.822,289.161 -610.348,350.996c-19.282,11.089 -43.006,11.094 -62.293,0.013c-91.888,-52.794 -363.119,-208.627 -486.884,-279.734c-12.932,-7.43 -20.906,-21.206 -20.909,-36.12c-0.003,-14.915 7.966,-28.693 20.895,-36.129c150.913,-86.787 528.146,-303.725 620.728,-356.966c12.855,-7.393 28.671,-7.396 41.529,-0.009c79.763,45.828 368.424,211.675 497.267,285.7Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + }, + { + "d": "M3847.78,1883.55c12.932,7.43 20.907,21.205 20.91,36.12c0.003,14.914 -7.966,28.693 -20.895,36.128c-145.796,83.844 -502.822,289.161 -610.348,350.997c-19.282,11.089 -43.006,11.094 -62.293,0.012c-91.888,-52.793 -363.119,-208.626 -486.884,-279.734c-12.932,-7.43 -20.906,-21.205 -20.909,-36.12c-0.003,-14.914 7.966,-28.693 20.895,-36.128c150.914,-86.787 528.146,-303.725 620.728,-356.967c12.855,-7.393 28.671,-7.396 41.529,-0.008c79.763,45.827 368.424,211.674 497.267,285.7Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + }, + { + "d": "M4705.79,1375.61c12.932,7.43 20.907,21.206 20.91,36.12c0.003,14.915 -7.966,28.693 -20.895,36.129c-145.796,83.844 -502.821,289.161 -610.347,350.996c-19.283,11.089 -43.006,11.094 -62.293,0.013c-91.889,-52.794 -363.12,-208.627 -486.884,-279.734c-12.932,-7.43 -20.907,-21.206 -20.91,-36.12c-0.003,-14.915 7.966,-28.693 20.895,-36.129c150.914,-86.787 528.147,-303.725 620.728,-356.966c12.855,-7.393 28.671,-7.396 41.529,-0.009c79.764,45.828 368.424,211.675 497.267,285.7Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + }, + { + "d": "M3779.75,460.931c-12.932,7.43 -20.906,21.205 -20.909,36.12c-0.003,14.914 7.966,28.693 20.895,36.128c145.796,83.844 502.821,289.161 610.347,350.997c19.283,11.089 43.006,11.094 62.293,0.013c91.889,-52.794 363.12,-208.627 486.884,-279.735c12.932,-7.43 20.906,-21.205 20.909,-36.12c0.004,-14.914 -7.965,-28.693 -20.894,-36.128c-150.914,-86.787 -528.147,-303.725 -620.729,-356.967c-12.855,-7.392 -28.67,-7.395 -41.528,-0.008c-79.764,45.827 -368.425,211.675 -497.268,285.7Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M1214.79,1420.17l261.807,151.154", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2245.02,835.193l253.296,146.241", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2536.8,2566.4l195.933,113.122", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2438.77,2622.02l214.349,123.755", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M3336.95,2090.93l207.663,119.894", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M3476.72,2010.49l199.159,114.984", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M4197.67,1581.6l210.558,121.565", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M4347.92,1494.45l213.805,123.44", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M4025.96,870.676l914.984,528.266", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2409.42,739.823l251.01,144.921", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2919.16,431.562l263.104,151.903", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M3085.03,334.521l791.499,456.972", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1084.56,1495.85l269.63,155.671", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M615.475,1779.21l259.19,149.644", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M506.487,1842.93l710.316,410.101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1379.36,2349.8l979.275,565.384", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1354.37,1651.9l-479.708,276.96", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1216.8,2253.03l-352.326,203.416", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1378.37,2349.8l-350.391,202.298", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2498.32,981.434l-1021.72,589.892", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M3182.26,583.465l-521.829,301.279", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M4025.96,870.676l309.397,-178.63", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M3876.53,791.493l314.227,-181.419", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M4940.95,1398.94l-379.225,218.946", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M4408.23,1703.07l-731.615,422.398", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M3544.62,2210.83l-811.803,468.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2653.12,2745.78l-293.417,169.404", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + } + ], + "id": "Loop", + "name": "Loop", + "type": "group" + }, + { + "d": "M257.6,2678.33c-12.932,7.43 -20.907,21.206 -20.91,36.12c-0.003,14.915 7.966,28.693 20.895,36.128c145.796,83.844 502.821,289.162 610.347,350.997c19.283,11.089 43.006,11.094 62.293,0.013c91.889,-52.794 363.12,-208.627 486.884,-279.735c12.932,-7.43 20.907,-21.205 20.91,-36.119c0.003,-14.915 -7.966,-28.694 -20.895,-36.129c-150.914,-86.787 -528.147,-303.725 -620.728,-356.966c-12.855,-7.393 -28.671,-7.396 -41.529,-0.009c-79.764,45.828 -368.424,211.675 -497.267,285.7Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 5003 3120" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "PLC_A" + }, + "position": { + "height": 175, + "width": 175, + "x": 929, + "y": 62.5 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/PLC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PLC_C" + }, + "position": { + "height": 300, + "width": 300, + "x": 103, + "y": 215 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/RedundantPLC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PLC_C_0" + }, + "position": { + "height": 300, + "width": 300, + "x": 491.98663330078125 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/RedundantPLC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PLC_A_0" + }, + "position": { + "height": 175, + "width": 175, + "x": 165.49107360839844, + "y": 529 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/PLC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PLC_B" + }, + "position": { + "height": 175, + "width": 175, + "x": 504, + "y": 492 + }, + "props": { + "params": { + "Positon": false + }, + "path": "Pages/Dev/E_Network/Equipment/PLC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PLC_B_0" + }, + "position": { + "height": 175, + "width": 175, + "x": 695.487, + "y": 371.6358467407227 + }, + "props": { + "params": { + "Positon": false + }, + "path": "Pages/Dev/E_Network/Equipment/PLC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PLC_B_1" + }, + "position": { + "height": 175, + "width": 175, + "x": 883, + "y": 260.1430435180664 + }, + "props": { + "params": { + "Positon": false + }, + "path": "Pages/Dev/E_Network/Equipment/PLC" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E350 DH1 Mgr/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E350 DH1 Mgr/resource.json new file mode 100644 index 0000000..c1fdfd7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E350 DH1 Mgr/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b1e2c81383653b30c44b9af59f4839b4cb5ce6eca3fc4df9cae2c98047624f92", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-20T15:53:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E350 DH1 Mgr/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E350 DH1 Mgr/thumbnail.png new file mode 100644 index 0000000..d69d2d4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E350 DH1 Mgr/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E350 DH1 Mgr/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E350 DH1 Mgr/view.json new file mode 100644 index 0000000..dde374a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/E350 DH1 Mgr/view.json @@ -0,0 +1,192 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DH Manager Floor" + }, + "position": { + "height": 700, + "width": 1100, + "x": 50, + "y": 50 + }, + "props": { + "elements": [ + { + "d": "M1821.26,264.298c12.932,7.43 20.907,21.205 20.91,36.119c0.003,14.915 -7.966,28.694 -20.895,36.129c-245.1,140.951 -1130.6,650.18 -1277.65,734.746c-12.856,7.393 -28.671,7.396 -41.529,0.009c-73.265,-42.094 -321.57,-184.755 -439.249,-252.366c-12.932,-7.43 -20.907,-21.206 -20.91,-36.12c-0.003,-14.915 7.966,-28.693 20.895,-36.129c245.1,-140.951 1130.6,-650.18 1277.65,-734.746c12.855,-7.393 28.671,-7.396 41.529,-0.009c73.265,42.094 321.57,184.755 439.249,252.367Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M3786.52,1935.9l-280.178,-161.76", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M3267.51,2240.09l-283,-163.39", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M2984.51,2075.41l521.83,-301.278", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1361.25,357.914l2592.5,1496.78", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1218.46,443.112l267.201,154.269", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M775.104,711.443l256.624,148.162", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M574.585,825.287l2600.11,1501.18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1485.91,597.381l-454.187,262.224", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#01a900", + "width": "16.67px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M4618.55,2075.03c12.932,7.43 20.907,21.206 20.91,36.12c0.003,14.915 -7.966,28.693 -20.895,36.128c-245.1,140.952 -1130.6,650.181 -1277.65,734.747c-12.855,7.393 -28.671,7.396 -41.529,0.008c-73.265,-42.093 -321.57,-184.755 -439.249,-252.366c-12.932,-7.43 -20.907,-21.205 -20.91,-36.12c-0.003,-14.914 7.966,-28.693 20.895,-36.128c245.1,-140.951 1130.6,-650.181 1277.65,-734.747c12.855,-7.392 28.67,-7.396 41.528,-0.008c73.265,42.094 321.57,184.755 439.249,252.366Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "type": "path" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4682 2894" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "PLC_C" + }, + "position": { + "height": 300, + "width": 300, + "x": 118, + "y": 11 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/RedundantPLC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PLC_C_0" + }, + "position": { + "height": 300, + "width": 300, + "x": 773.987, + "y": 428 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/RedundantPLC" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/ATS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/ATS/resource.json new file mode 100644 index 0000000..0e7b803 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/ATS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "08447c1cc935b029db9029ff48ac218f9a1afafcba8f057bb156da331d33a846", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/ATS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/ATS/thumbnail.png new file mode 100644 index 0000000..38cdd8e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/ATS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/ATS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/ATS/view.json new file mode 100644 index 0000000..d2e4c3b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/ATS/view.json @@ -0,0 +1,814 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower_1": 0, + "InputPower_2": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/ATS\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower_1": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower_2": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\nif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].fill": { + "binding": { + "config": { + "expression": "case(\r\n\tif({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\n\tif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n\t)\r\n\t,1,\u0027var(--olRed)\u0027\r\n\t,0,\u0027var(--olGreen)\u0027\r\n\t,\u0027var(--olGray)\u0027\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].fill": { + "binding": { + "config": { + "expression": "case(\r\n\tif({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\n\tif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n\t)\r\n\t,1,\u0027var(--olRed)\u0027\r\n\t,0,\u0027var(--olGreen)\u0027\r\n\t,\u0027var(--olGray)\u0027\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\tif({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\n\tif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n\t)\r\n\t,1,\u0027var(--olRed)\u0027\r\n\t,0,\u0027var(--olGreen)\u0027\r\n\t,\u0027var(--olGray)\u0027\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].fill": { + "binding": { + "config": { + "expression": "case(\r\n\tif({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\n\tif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n\t)\r\n\t,1,\u0027var(--olRed)\u0027\r\n\t,0,\u0027var(--olGreen)\u0027\r\n\t,\u0027var(--olGray)\u0027\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\tif({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\n\tif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n\t)\r\n\t,1,\u0027var(--olRed)\u0027\r\n\t,0,\u0027var(--olGreen)\u0027\r\n\t,\u0027var(--olGray)\u0027\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\tif({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\n\tif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n\t)\r\n\t,1,\u0027var(--olRed)\u0027\r\n\t,0,\u0027var(--olGreen)\u0027\r\n\t,\u0027var(--olGray)\u0027\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].visibility": { + "binding": { + "config": { + "expression": "if(!tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027)),\u0027visible\u0027,\u0027hidden\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\tif({view.params.InputPower_1} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d0,1,\r\n\tif({view.params.InputPower_2} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027))\u003d1,1,0)\r\n\t)\r\n\t,1,\u0027var(--olRed)\u0027\r\n\t,0,\u0027var(--olGreen)\u0027\r\n\t,\u0027var(--olGray)\u0027\r\n)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "if(tag((tostr({view.params.tagPath})+\u0027/SwitchPosition\u0027)),\u0027visible\u0027,\u0027hidden\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M557.884,228.24c-0,-4.312 -3.501,-7.813 -7.813,-7.813c-4.312,0 -7.812,3.501 -7.812,7.813c-0,4.312 3.5,7.812 7.812,7.812c4.312,0 7.813,-3.5 7.813,-7.812Z", + "id": "Out1", + "name": "Out1", + "type": "path" + }, + { + "d": "M660.381,149.892c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25Z", + "name": "path", + "type": "path" + }, + { + "d": "M550.071,228.24l0,20.16l116.56,-0l-0,-98.508", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "cx": "595.833", + "cy": "149.892", + "id": "Terminal34", + "name": "Terminal34", + "r": "7.813", + "type": "circle" + }, + { + "d": "M595.833,149.892l0,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M550.071,227.293l-42.46,-90.654", + "fill": { + "paint": "transparent" + }, + "id": "SRC01", + "name": "SRC01", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M550.071,227.293l43.15,-90.654", + "fill": { + "paint": "transparent" + }, + "id": "SRC02", + "name": "SRC02", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "ATS", + "name": "ATS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 66, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 100, + "x": 170, + "y": 82 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(195,35)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(195,35)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(195,35)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(195,35)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 1/resource.json new file mode 100644 index 0000000..d3e35b6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "13512fb1daab1b190c54828bb38c94b0d5c95babc635d7935d77f2be78b6b681", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 1/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 1/thumbnail.png new file mode 100644 index 0000000..857858d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 1/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 1/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 1/view.json new file mode 100644 index 0000000..1233140 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 1/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 1, + "OutputPower": 1, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "if(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M812.519,247.063c0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,-0 -4.166,1.867 -4.166,4.167c-0,2.299 1.867,4.166 4.166,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal", + "name": "Terminal", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M808.352,251.229l0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M804.186,191.897c-0,2.3 1.867,4.167 4.166,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,0 -4.166,1.867 -4.166,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal1", + "name": "Terminal1", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M808.352,187.73l0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M802.102,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.45,0 6.25,2.801 6.25,6.25c0,3.45 -2.8,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In", + "name": "In", + "type": "path" + }, + { + "d": "M808.352,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M816.094,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M835.095,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "\r\ncase(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 292, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(243.00001,42.999998)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(243,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(243,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(243,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 10/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 10/resource.json new file mode 100644 index 0000000..eae5b39 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 10/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "30da18d3a28ae5d4d8bf6649da96fb36327d2249aef1f37b6cc8c2c2e9558c7f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 10/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 10/thumbnail.png new file mode 100644 index 0000000..beffd0d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 10/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 10/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 10/view.json new file mode 100644 index 0000000..626d0ce --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 10/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M3874.89,191.897c0,2.3 1.867,4.167 4.167,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal18", + "name": "Terminal18", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3879.05,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3872.8,149.892c-0,-3.449 2.801,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In9", + "name": "In9", + "type": "path" + }, + { + "d": "M3879.05,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3883.22,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal19", + "name": "Terminal19", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3879.05,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3886.79,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed9", + "name": "Closed9", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3905.8,193.729c8.447,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open9", + "name": "Open9", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB10", + "name": "CB10", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1430, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1381,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1381,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1381,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1381,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 11/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 11/resource.json new file mode 100644 index 0000000..a43a441 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 11/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0b56e54be229a4ce2dd99bdbb43420167c79d9e13f66a85a22f90591163196f2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 11/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 11/thumbnail.png new file mode 100644 index 0000000..8a7d940 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 11/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 11/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 11/view.json new file mode 100644 index 0000000..d8a90ea --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 11/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4591.67,191.897c-0,2.3 1.867,4.167 4.166,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,0 -4.166,1.867 -4.166,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal20", + "name": "Terminal20", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4595.83,187.73l0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4589.58,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.45,0 6.25,2.801 6.25,6.25c0,3.45 -2.8,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In10", + "name": "In10", + "type": "path" + }, + { + "d": "M4595.83,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4600,247.063c0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,-0 -4.166,1.867 -4.166,4.167c-0,2.299 1.867,4.166 4.166,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal21", + "name": "Terminal21", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4595.83,251.229l0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4603.57,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed10", + "name": "Closed10", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4622.58,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open10", + "name": "Open10", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB11", + "name": "CB11", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1695, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1646,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1646,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1646,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1646,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 12/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 12/resource.json new file mode 100644 index 0000000..c02e00a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 12/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e7a84d6fca5f6e5a1af56ec10822c1d297eaba0d0869047da676f6ca920fdd09", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 12/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 12/thumbnail.png new file mode 100644 index 0000000..beffd0d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 12/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 12/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 12/view.json new file mode 100644 index 0000000..1e0d56c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 12/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4833.33,191.897c0,2.3 1.867,4.167 4.167,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal22", + "name": "Terminal22", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4837.5,187.73l0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4831.25,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In11", + "name": "In11", + "type": "path" + }, + { + "d": "M4837.5,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4841.67,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal23", + "name": "Terminal23", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4837.5,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4845.24,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed11", + "name": "Closed11", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4864.24,193.729c8.447,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open11", + "name": "Open11", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB12", + "name": "CB12", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1785, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1736,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1736,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1736,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1736,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 13/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 13/resource.json new file mode 100644 index 0000000..d6e9472 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 13/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cd1a96e4c328551651353d4682660fc78820d691966566f2ce82091cb320158c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 13/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 13/thumbnail.png new file mode 100644 index 0000000..beffd0d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 13/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 13/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 13/view.json new file mode 100644 index 0000000..e5e4565 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 13/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M5075,191.897c0,2.3 1.867,4.167 4.167,4.167c2.299,-0 4.166,-1.867 4.166,-4.167c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal24", + "name": "Terminal24", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5079.17,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5072.92,149.892c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In12", + "name": "In12", + "type": "path" + }, + { + "d": "M5079.17,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5083.33,247.063c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.299,0 4.166,-1.867 4.166,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal25", + "name": "Terminal25", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5079.17,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5086.91,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed12", + "name": "Closed12", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5105.91,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open12", + "name": "Open12", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB13", + "name": "CB13", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1874, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1825,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1825,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1825,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1825,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 14/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 14/resource.json new file mode 100644 index 0000000..2afbcc9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 14/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6fe477663a67dd99d386e2ea1ac5a8c7ea96dfd43b5af9ed5c986ef1e6751562", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 14/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 14/thumbnail.png new file mode 100644 index 0000000..beffd0d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 14/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 14/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 14/view.json new file mode 100644 index 0000000..d761fae --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 14/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M5316.67,191.897c-0,2.3 1.867,4.167 4.166,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,0 -4.166,1.867 -4.166,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal26", + "name": "Terminal26", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5320.83,187.73l0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5314.58,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.45,0 6.25,2.801 6.25,6.25c0,3.45 -2.8,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In13", + "name": "In13", + "type": "path" + }, + { + "d": "M5320.83,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5325,247.063c0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,-0 -4.166,1.867 -4.166,4.167c-0,2.299 1.867,4.166 4.166,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal27", + "name": "Terminal27", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5320.83,251.229l0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5328.57,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed13", + "name": "Closed13", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5347.58,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open13", + "name": "Open13", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB14", + "name": "CB14", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1964, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1915,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1915,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1915,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1915,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 15/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 15/resource.json new file mode 100644 index 0000000..3347c5c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 15/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9a9da00bf25d538396153b7b943ca1d739984b55e646616284dd594cb56adb93", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 15/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 15/thumbnail.png new file mode 100644 index 0000000..48a6d86 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 15/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 15/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 15/view.json new file mode 100644 index 0000000..d8349e8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 15/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M5558.33,191.897c0,2.3 1.867,4.167 4.167,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal28", + "name": "Terminal28", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5562.5,187.73l0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5556.25,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In14", + "name": "In14", + "type": "path" + }, + { + "d": "M5562.5,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5566.67,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal29", + "name": "Terminal29", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5562.5,251.229l0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5570.24,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed14", + "name": "Closed14", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5589.24,193.729c8.447,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open14", + "name": "Open14", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB15", + "name": "CB15", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 2053, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2004,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2004,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2004,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2004,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 16/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 16/resource.json new file mode 100644 index 0000000..723a6f4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 16/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "58d2747dcc8889a6ab1be522b855d883cedd2e36f6167eca01ee6ed18e1df4f6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 16/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 16/thumbnail.png new file mode 100644 index 0000000..08e74b6 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 16/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 16/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 16/view.json new file mode 100644 index 0000000..e6e3872 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 16/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M6200,191.897c0,2.3 1.867,4.167 4.167,4.167c2.299,-0 4.166,-1.867 4.166,-4.167c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal30", + "name": "Terminal30", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6204.17,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6197.92,149.892c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In15", + "name": "In15", + "type": "path" + }, + { + "d": "M6204.17,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6208.33,247.063c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.299,0 4.166,-1.867 4.166,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal31", + "name": "Terminal31", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6204.17,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6211.91,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed15", + "name": "Closed15", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6230.91,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open15", + "name": "Open15", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB16", + "name": "CB16", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 2291, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2242,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2242,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2242,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2242,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 17/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 17/resource.json new file mode 100644 index 0000000..f6cc4d5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 17/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cfe3566f360fecbd5da8733d7ced9532677df76ce730bdd1ff6f9327acf0b956", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 17/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 17/thumbnail.png new file mode 100644 index 0000000..69b54c8 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 17/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 17/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 17/view.json new file mode 100644 index 0000000..94fc6a0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 17/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M6537.5,191.897c0,2.3 1.867,4.167 4.167,4.167c2.299,-0 4.166,-1.867 4.166,-4.167c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal32", + "name": "Terminal32", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6541.67,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6535.42,149.892c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In16", + "name": "In16", + "type": "path" + }, + { + "d": "M6541.67,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6545.83,247.063c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.299,0 4.166,-1.867 4.166,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal33", + "name": "Terminal33", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6541.67,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6549.41,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed16", + "name": "Closed16", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6568.41,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open16", + "name": "Open16", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB17", + "name": "CB17", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 2416, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2367,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2367,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2367,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(2367,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 2/resource.json new file mode 100644 index 0000000..9089f25 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "05e0a8fe962a7820c37837e03609e8a0bd06c260c5cb979141f664d797cbc080", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 2/thumbnail.png new file mode 100644 index 0000000..3bb5eb9 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 2/view.json new file mode 100644 index 0000000..9322ff4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 2/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M1045.83,191.897c0,2.3 1.867,4.167 4.167,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal2", + "name": "Terminal2", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1050,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1043.75,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c0,3.45 -2.801,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In1", + "name": "In1", + "type": "path" + }, + { + "d": "M1050,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1054.17,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal3", + "name": "Terminal3", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1050,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1057.74,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed1", + "name": "Closed1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1076.74,193.729c8.447,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open1", + "name": "Open1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 382, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(333,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(333,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(333,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(333,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 3/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 3/resource.json new file mode 100644 index 0000000..530cfa2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 3/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "92060f1792461efd9b03ee20880ecd786312f9f521bbfb29fb8044ae3fdcda68", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 3/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 3/thumbnail.png new file mode 100644 index 0000000..0449bac Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 3/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 3/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 3/view.json new file mode 100644 index 0000000..9f30f05 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 3/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M1500,191.897c0,2.3 1.867,4.167 4.167,4.167c2.299,-0 4.166,-1.867 4.166,-4.167c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal4", + "name": "Terminal4", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1504.17,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1497.92,149.892c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In2", + "name": "In2", + "type": "path" + }, + { + "d": "M1504.17,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1508.33,247.063c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.299,0 4.166,-1.867 4.166,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal5", + "name": "Terminal5", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1504.17,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1511.91,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed2", + "name": "Closed2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1530.91,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open2", + "name": "Open2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 550, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(501,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(501,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(501,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(501,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 4/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 4/resource.json new file mode 100644 index 0000000..3c00a6e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 4/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e94065b084d708674631e6e2ecc5a346169a65ad09b437dce699e1364bdb55f4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 4/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 4/thumbnail.png new file mode 100644 index 0000000..104b818 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 4/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 4/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 4/view.json new file mode 100644 index 0000000..e0ee1c6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 4/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M2225,191.897c0,2.3 1.867,4.167 4.167,4.167c2.299,-0 4.166,-1.867 4.166,-4.167c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal6", + "name": "Terminal6", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.17,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2222.92,149.892c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In3", + "name": "In3", + "type": "path" + }, + { + "d": "M2229.17,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2233.33,247.063c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c-0,2.299 1.867,4.166 4.167,4.166c2.299,0 4.166,-1.867 4.166,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal7", + "name": "Terminal7", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.17,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2236.91,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed3", + "name": "Closed3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2255.91,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open3", + "name": "Open3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 819, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(770,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(770,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(770,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(770,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 5/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 5/resource.json new file mode 100644 index 0000000..1991893 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 5/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f69bf1b3362a8404b8e48a3bee71080a571844e345f0ecc03791a17ed94c84da", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 5/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 5/thumbnail.png new file mode 100644 index 0000000..1528bda Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 5/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 5/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 5/view.json new file mode 100644 index 0000000..60fbb93 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 5/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M2466.67,191.897c-0,2.3 1.867,4.167 4.166,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,0 -4.166,1.867 -4.166,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal8", + "name": "Terminal8", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2470.83,187.73l0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2464.58,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.45,0 6.25,2.801 6.25,6.25c0,3.45 -2.8,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In4", + "name": "In4", + "type": "path" + }, + { + "d": "M2470.83,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,-0 -4.166,1.867 -4.166,4.167c-0,2.299 1.867,4.166 4.166,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal9", + "name": "Terminal9", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2470.83,251.229l0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2478.58,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed4", + "name": "Closed4", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2497.58,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open4", + "name": "Open4", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB05", + "name": "CB05", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 909, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(860,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(860,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(860,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(860,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 6/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 6/resource.json new file mode 100644 index 0000000..57a6be8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 6/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "38d099dee89ef24803c61e94e2067e628484cfb691181fd1b6a0b2e8862e78cd", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 6/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 6/thumbnail.png new file mode 100644 index 0000000..5313da4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 6/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 6/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 6/view.json new file mode 100644 index 0000000..52b7fa1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 6/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M2708.33,191.897c0,2.3 1.867,4.167 4.167,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal10", + "name": "Terminal10", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2712.5,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2706.25,149.892c-0,-3.449 2.801,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In5", + "name": "In5", + "type": "path" + }, + { + "d": "M2712.5,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2716.67,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal11", + "name": "Terminal11", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2712.5,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2720.24,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed5", + "name": "Closed5", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2739.24,193.729c8.447,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open5", + "name": "Open5", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB06", + "name": "CB06", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 997, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(948,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(948,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(948,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(948,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 7/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 7/resource.json new file mode 100644 index 0000000..9632bb0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 7/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b03f5326ddd409c1de6858f9fd0fd7d79a91f9bf519f3afc5fceedff31c5f0fc", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 7/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 7/thumbnail.png new file mode 100644 index 0000000..8a7d940 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 7/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 7/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 7/view.json new file mode 100644 index 0000000..70bea0b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 7/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M2950,191.897c0,2.3 1.867,4.167 4.167,4.167c2.299,-0 4.166,-1.867 4.166,-4.167c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal12", + "name": "Terminal12", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2954.17,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2947.92,149.892c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In6", + "name": "In6", + "type": "path" + }, + { + "d": "M2954.17,186.892l-0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2958.33,247.063c0,-2.3 -1.867,-4.167 -4.166,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c-0,2.299 1.867,4.166 4.167,4.166c2.299,0 4.166,-1.867 4.166,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal13", + "name": "Terminal13", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2954.17,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2961.91,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed6", + "name": "Closed6", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2980.91,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open6", + "name": "Open6", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB07", + "name": "CB07", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1087, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1038,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1038,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1038,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1038,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 8/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 8/resource.json new file mode 100644 index 0000000..06976e5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 8/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9ddb744b790b3436e81053d79e71b5deeec7bd18f034c4a4018b18ab1c76d6e5", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 8/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 8/thumbnail.png new file mode 100644 index 0000000..8a7d940 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 8/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 8/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 8/view.json new file mode 100644 index 0000000..fdae150 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 8/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M3191.67,191.897c-0,2.3 1.867,4.167 4.166,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,0 -4.166,1.867 -4.166,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal14", + "name": "Terminal14", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3195.83,187.73l0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3189.58,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.45,0 6.25,2.801 6.25,6.25c0,3.45 -2.8,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In7", + "name": "In7", + "type": "path" + }, + { + "d": "M3195.83,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3200,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.299,-0 -4.166,1.867 -4.166,4.167c-0,2.299 1.867,4.166 4.166,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal15", + "name": "Terminal15", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3195.83,251.229l0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3203.58,193.729c8.447,7.001 12.597,15.745 12.365,26.918c0.22,10.579 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed7", + "name": "Closed7", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3222.58,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open7", + "name": "Open7", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB08", + "name": "CB08", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1176, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1127,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1127,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1127,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1127,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 9/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 9/resource.json new file mode 100644 index 0000000..8c1b639 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 9/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "63787ffd1cdb79d7c3798c645c3553c454a16278e05304a85e0eb7d3fb3b746e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 9/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 9/thumbnail.png new file mode 100644 index 0000000..391dce4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 9/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 9/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 9/view.json new file mode 100644 index 0000000..5218d9d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB 9/view.json @@ -0,0 +1,851 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027visible\u0027,\u0027hidden\u0027)\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M3433.33,191.897c0,2.3 1.867,4.167 4.167,4.167c2.3,-0 4.167,-1.867 4.167,-4.167c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,0 -4.167,1.867 -4.167,4.167Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal16", + "name": "Terminal16", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3437.5,187.73l-0,-0.838", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3431.25,149.892c0,-3.449 2.801,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25c-0,3.45 -2.801,6.25 -6.25,6.25c-3.449,0 -6.25,-2.8 -6.25,-6.25Z", + "id": "In8", + "name": "In8", + "type": "path" + }, + { + "d": "M3437.5,186.892l0,-37", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3441.67,247.063c-0,-2.3 -1.867,-4.167 -4.167,-4.167c-2.3,-0 -4.167,1.867 -4.167,4.167c0,2.299 1.867,4.166 4.167,4.166c2.3,0 4.167,-1.867 4.167,-4.166Z", + "fill": { + "paint": "transparent" + }, + "id": "Terminal17", + "name": "Terminal17", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3437.5,251.229l-0,0.839", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3445.24,193.729c8.448,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.56,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed8", + "name": "Closed8", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3464.24,193.729c8.447,7.001 12.598,15.745 12.366,26.918c0.219,10.579 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open8", + "name": "Open8", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB09", + "name": "CB09", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 1266, + "y": 91 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g5", + "name": "g5", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g7", + "name": "g7", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1217,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1-7", + "name": "path1-7", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-8", + "name": "path2-8", + "type": "path" + } + ], + "id": "g2-6", + "name": "g2-6", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3-7", + "name": "g3-7", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4-1", + "name": "g4-1", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5-7", + "name": "g5-7", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g8", + "name": "g8", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1217,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g9", + "name": "g9", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1217,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g10", + "name": "g10", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "translate(1217,43)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB Main/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB Main/resource.json new file mode 100644 index 0000000..659e740 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB Main/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "17e6350eb17b32f71688ee7fcd05be45b8e5394a3e1504264622b7f657a26c22", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB Main/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB Main/thumbnail.png new file mode 100644 index 0000000..a15e752 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB Main/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB Main/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB Main/view.json new file mode 100644 index 0000000..9d9a67d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/CB Main/view.json @@ -0,0 +1,827 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 1, + "OutputPower": 1, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2468 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "CB_Main" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements": { + "access": "PUBLIC" + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].visibility": { + "binding": { + "config": { + "expression": "\r\nif(!tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].visibility": { + "binding": { + "config": { + "expression": "\r\nif(tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[8].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[0].elements[9].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.InputPower} \u0026\u0026 tag((tostr({view.params.tagPath})+\u0027/OpenClosed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M148.874,126.645l9.442,5.95l9.441,-5.95", + "fill": { + "paint": "transparent" + }, + "id": "Out01", + "name": "Out01", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M167.691,117.892l-9.375,6.25l-9.375,-6.25", + "fill": { + "paint": "transparent" + }, + "id": "Out02", + "name": "Out02", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M158.316,100.065l-0,24.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M161.891,50.395c8.447,7.001 12.597,15.745 12.365,26.919c0.22,10.578 -3.56,19.678 -12.365,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Closed17", + "name": "Closed17", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M180.892,50.395c8.448,7.001 12.598,15.745 12.366,26.919c0.219,10.578 -3.561,19.678 -12.366,26.918", + "fill": { + "paint": "transparent" + }, + "id": "Open17", + "name": "Open17", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M148.941,36.119l9.375,-6.25l9.375,6.25", + "fill": { + "paint": "transparent" + }, + "id": "In02", + "name": "In02", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M158.316,54.397l-0,-24.528", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M167.757,27.365l-9.441,-5.949l-9.442,5.949", + "fill": { + "paint": "transparent" + }, + "id": "In01", + "name": "In01", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M164.566,149.892c-0,3.45 -2.801,6.25 -6.25,6.25c-3.45,0 -6.25,-2.8 -6.25,-6.25c-0,-3.449 2.8,-6.25 6.25,-6.25c3.449,0 6.25,2.801 6.25,6.25Z", + "id": "Out", + "name": "Out", + "type": "path" + }, + { + "d": "M158.316,132.595l-0,17.297", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB_Main", + "name": "CB_Main", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "children": [ + { + "meta": { + "name": "rectangle" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.AlarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "fill": { + "opacity": "1", + "paint": "transparent" + }, + "height": 58, + "id": "rect1", + "name": "rect1", + "stroke": { + "dasharray": "none", + "dashoffset": "0", + "opacity": "1", + "width": 1.5 + }, + "type": "rect", + "width": 26, + "x": 49, + "y": 48.5 + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmPurple Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d1,false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "m 854.903,82.071 v 877.525 c 0,18.438 -14.969,33.407 -33.407,33.407 H 220.17 c -18.437,0 -33.407,-14.969 -33.407,-33.407 V 82.071 c 0,-18.438 14.97,-33.407 33.407,-33.407 h 601.326 c 18.438,0 33.407,14.969 33.407,33.407 z", + "fill": { + "paint": "#7166b7" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "id": "g5", + "name": "g5", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02454845,0,0,0.02454819,62.214355,34.214484)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmYellow Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d2, false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "d": "m 476.192,128.475 c 9.301,-15.826 26.285,-25.544 44.641,-25.544 18.357,0 35.341,9.718 44.641,25.544 98.023,166.79 331.22,563.583 430.343,732.245 9.409,16.011 9.524,35.834 0.301,51.952 -9.223,16.119 -26.371,26.064 -44.942,26.064 -197.149,0 -663.536,0 -860.685,0 -18.571,0 -35.719,-9.945 -44.942,-26.064 C 36.326,896.554 36.44,876.731 45.85,860.72 144.973,692.058 378.17,295.265 476.192,128.475 Z", + "fill": { + "paint": "#f4b834" + }, + "id": "path1", + "name": "path1", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "id": "g3", + "name": "g3", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "g5", + "name": "g5", + "transform": "matrix(0.02405886,0,0,0.02405895,62.469344,34.469531)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmOrange Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d3, false,true)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs5", + "name": "defs5", + "type": "defs" + }, + { + "elements": [ + { + "d": "m 545.877,45.009 450.78,450.781 c 13.822,13.822 13.822,36.265 0,50.087 l -450.78,450.78 c -13.822,13.822 -36.265,13.822 -50.087,0 L 45.009,545.877 c -13.821,-13.822 -13.821,-36.265 0,-50.087 L 495.79,45.009 c 13.822,-13.821 36.265,-13.821 50.087,0 z", + "fill": { + "paint": "#de7c33" + }, + "id": "path1-9", + "name": "path1-9", + "stroke": { + "paint": "#000000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2-9", + "name": "path2-9", + "type": "path" + } + ], + "id": "g2-2", + "name": "g2-2", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "id": "g3-3", + "name": "g3-3", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "id": "g4-9", + "name": "g4-9", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "id": "g6", + "name": "g6", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "transform": "matrix(0.02386836,0,0,0.02386836,62.568564,34.568564)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2469 200" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmRed Icon" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({/root.custom.AlarmSeverity}!\u003d4,false,true)" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "id": "defs4", + "name": "defs4", + "type": "defs" + }, + { + "cx": "75", + "cy": "47", + "fill": { + "paint": "#e22028" + }, + "id": "circle1", + "name": "circle1", + "rx": "11.612939", + "ry": "11.612941", + "stroke": { + "paint": "#000000", + "width": "0.774118px" + }, + "type": "ellipse" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path1", + "name": "path1", + "type": "path" + } + ], + "id": "g1", + "name": "g1", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M 0.088,-0.195 0.056,-0.705 H 0.181 L 0.15,-0.195 Z M 0.059,0 V -0.119 H 0.178 V 0 Z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "path2", + "name": "path2", + "type": "path" + } + ], + "id": "g2", + "name": "g2", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + } + ], + "id": "g4", + "name": "g4", + "transform": "matrix(0.02322588,0,0,0.02101536,62.903178,34.784214)", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2468 200" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "Alarm block" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "expression": "tag(tostr({view.params.tagPath})+\u0027/AlarmSeverity\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Bidirect/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Bidirect/resource.json new file mode 100644 index 0000000..1bbc27b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Bidirect/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "671f9413769e6203e8ac8ce85747d6db9778dbc2964ac9e8d501f5eecd14f426", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:49:25Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Bidirect/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Bidirect/thumbnail.png new file mode 100644 index 0000000..f3fa872 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Bidirect/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Bidirect/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Bidirect/view.json new file mode 100644 index 0000000..ca289a2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Bidirect/view.json @@ -0,0 +1,245 @@ +{ + "custom": { + "Config1": null, + "Config2": null, + "DSA_Bus": null, + "DSA_W2_Closed": null, + "DSB_Bus": null, + "DSB_W2_Closed": null, + "cable": null + }, + "params": { + "L_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2", + "R_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B2", + "cable": false, + "path": "[Ignition_Common_IO_Gtwy]Cables/DS_2" + }, + "propConfig": { + "custom.Config1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "path1": "{view.params.L_Path}" + }, + "tagPath": "{path1}/Data/Config" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.Config2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "path2": "{view.params.R_Path}" + }, + "tagPath": "{path2}/Data/Config" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.DSA_Bus": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "L_Path": "{view.params.L_Path}" + }, + "tagPath": "{L_Path}/Data/Bus" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.DSA_W2_Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "L_Path": "{view.params.L_Path}" + }, + "tagPath": "{L_Path}/Breaker Closed Way 02" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.DSB_Bus": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "R_Path": "{view.params.R_Path}" + }, + "tagPath": "{R_Path}/Data/Bus" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.DSB_W2_Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "R_Path": "{view.params.R_Path}" + }, + "tagPath": "{R_Path}/Breaker Closed Way 02" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cable": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "path": "{view.params.path}" + }, + "tagPath": "{path}" + }, + "type": "tag" + }, + "persistent": true + }, + "params.L_Path": { + "paramDirection": "input", + "persistent": true + }, + "params.R_Path": { + "paramDirection": "input", + "persistent": true + }, + "params.cable": { + "binding": { + "config": { + "struct": { + "BA": "{view.custom.DSA_Bus}", + "BB": "{view.custom.DSB_Bus}", + "CA": "{view.custom.Config1}", + "CB": "{view.custom.Config2}", + "WA": "{view.custom.DSA_W2_Closed}", + "WB": "{view.custom.DSB_W2_Closed}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027CA\u0027]\u003d\u003d3 and value[\u0027BA\u0027] and value[\u0027WA\u0027]:\n\t\tself.custom.cable \u003d True\n\t\treturn True\n\telif value[\u0027CB\u0027]\u003d\u003d3 and value[\u0027BB\u0027] and value[\u0027WB\u0027]:\n\t\tself.custom.cable \u003d True\n\t\treturn True\n\telse:\n\t\tself.custom.cable \u003d False\n\t\treturn False", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.path": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 43 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "custom.colorHandler.cable": { + "binding": { + "config": { + "path": "view.params.cable" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.borderLeftColor": { + "binding": { + "config": { + "path": "this.custom.colorHandler.cable" + }, + "type": "property" + } + }, + "props.style.borderRightColor": { + "binding": { + "config": { + "path": "this.custom.colorHandler.cable" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "this.custom.colorHandler.cable" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "solid", + "borderRightWidth": 2, + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Simple/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Simple/resource.json new file mode 100644 index 0000000..bf8b9c7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Simple/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "696ea9aa1acc2b360fce702b338629b362e970db682e10a098eb99088cb23e4b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:49:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Simple/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Simple/thumbnail.png new file mode 100644 index 0000000..0660ffc Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Simple/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Simple/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Simple/view.json new file mode 100644 index 0000000..caccfc0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/Cable Simple/view.json @@ -0,0 +1,100 @@ +{ + "custom": {}, + "params": { + "inPath": "[Ignition_Common_IO_Gtwy]Cables/DS_1A_1B", + "outPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3" + }, + "propConfig": { + "params.inPath": { + "paramDirection": "input", + "persistent": true + }, + "params.outPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 43 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "Label" + }, + "position": { + "basis": "76.7%" + }, + "propConfig": { + "custom.colorHandler.cable": { + "binding": { + "config": { + "struct": { + "in1": "{view.custom.In1}", + "in2": "{view.custom.In2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027in1\u0027]\u003e0:\n\t\treturn \u0027var(--olRed)\u0027\n\tif value[\u0027in2\u0027]\u003c0:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.style.borderLeftColor": { + "binding": { + "config": { + "path": "this.custom.colorHandler.cable" + }, + "type": "property" + } + }, + "props.style.borderRightColor": { + "binding": { + "config": { + "path": "this.custom.colorHandler.cable" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "this.custom.colorHandler.cable" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomWidth": 2, + "borderLeftStyle": "none", + "borderLeftWidth": 2, + "borderRightStyle": "none", + "borderRightWidth": 2, + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/M-Cable/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/M-Cable/resource.json new file mode 100644 index 0000000..fe25d6f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/M-Cable/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "55383f0737b53b47e08dc550c3aae56127a2fd45c49922f009e714e893188cd8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:49:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/M-Cable/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/M-Cable/thumbnail.png new file mode 100644 index 0000000..0bca818 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/M-Cable/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/M-Cable/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/M-Cable/view.json new file mode 100644 index 0000000..0278b59 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/Cables/M-Cable/view.json @@ -0,0 +1,654 @@ +{ + "custom": {}, + "params": { + "colorHandler": { + "BKR5Out": "var(--olGray)", + "BKR7Out": "var(--olGray)", + "BKR8Out": "var(--olGray)", + "CAMOut": "var(--olRed)", + "GenOut": "var(--olRed)", + "SPDIn": "var(--olGray)", + "Text": "var(--olGray)", + "UTOut": "var(--olGray)", + "VFD1OUT": "var(--olGray)", + "VFD2OUT": "var(--olGray)", + "VFD3OUT": "var(--olGray)", + "hb": "value", + "inputLeft": "red", + "inputRight": "yellow" + }, + "hb": "value", + "textHandler": { + "left": "UT-P5.1", + "right": "Ut-P5.2" + } + }, + "propConfig": { + "params.colorHandler": { + "paramDirection": "input", + "persistent": true + }, + "params.hb": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "contextMenu": { + "enabled": true + }, + "name": "M-Cables", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 990, + "width": 1250 + }, + "propConfig": { + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.SPDIn" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.inputLeft" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.inputRight" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.inputLeft" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.inputRight" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.inputRight" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.inputLeft" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.colorHandler.Text" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.left" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.colorHandler.Text" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.right" + }, + "type": "property" + } + }, + "props.elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.UTOut" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.CAMOut" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.GenOut" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR5Out" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.VFD1OUT" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.VFD2OUT" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.VFD3OUT" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR5Out" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR7Out" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR7Out" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR7Out" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR7Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR8Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR8Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR8Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.params.colorHandler.BKR8Out" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M198.75,245.226l0,23.274", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M39.78,12.734l1.477,2.257l-1.477,2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M87.727,17.248l-1.477,-2.257l1.477,-2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M56.257,14.991l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M71.25,14.991l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M71.25,14.991l15,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M41.257,14.991l15,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,36.1024,16.463)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "x": "20.819px", + "y": "16.463px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,104.453,16.463)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "x": "89.17px", + "y": "16.463px" + } + ], + "id": "SRC-Text", + "name": "SRC-Text", + "type": "group" + } + ], + "id": "SRC", + "name": "SRC", + "type": "group" + }, + { + "d": "M63.75,86.23l0,105.793", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M153.75,132l0,88.125", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M153.75,57l0,64.165", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group" + }, + { + "elements": [ + { + "d": "M380,421.842l0,-63.862", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M329.074,525l-0,-54.375", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M374.074,525l-0,-54.375", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M419.074,525l-0,-54.375", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M425,309.713l0,-58.855", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "DP-01", + "name": "DP-01", + "type": "group" + }, + { + "elements": [ + { + "d": "M552.824,440.625l-0,-82.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M597.824,440.625l-0,-82.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M643.002,440.625l-0,-82.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M603.75,309.342l0,-64.116", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "DP-02", + "name": "DP-02", + "type": "group" + }, + { + "elements": [ + { + "d": "M732.824,440.625l-0,-82.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M777.824,440.625l-0,-82.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M823.002,440.625l-0,-82.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M783.75,309.342l0,-64.116", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "DP-03", + "name": "DP-03", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 938 743" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/DH ER/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/DH ER/resource.json new file mode 100644 index 0000000..46c0442 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/DH ER/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a313763dc47dafc7c62f2402e72e53d53a39fcba1de575679b8085bea6e57c1d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:52:41Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/DH ER/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/DH ER/thumbnail.png new file mode 100644 index 0000000..bc77e8c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/DH ER/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/DH ER/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/DH ER/view.json new file mode 100644 index 0000000..799081f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/DH ER/view.json @@ -0,0 +1,524 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 152, + "width": 220 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Room ID" + }, + "position": { + "basis": "23px" + }, + "props": { + "text": "ER 1245", + "textStyle": { + "fontSize": 18, + "fontWeight": "bold", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "UT" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "UT", + "textStyle": { + "backgroundColor": "white", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Gen" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Gen", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Gen STS" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Norm.", + "textStyle": { + "backgroundColor": "var(--olRed)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "140px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "ATS" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "ATS", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SRC 1" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "SRC1", + "textStyle": { + "backgroundColor": "White", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SRC 2" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "SRC2", + "textStyle": { + "backgroundColor": "LightGray", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "140px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "36px" + }, + "props": { + "text": "UPS", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "65.1px" + }, + "props": { + "text": "100%", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "36px" + }, + "props": { + "text": "UPS", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "65.1px" + }, + "props": { + "text": "100%", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "36px" + }, + "props": { + "text": "PDU", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "65.1px" + }, + "props": { + "text": "350kW", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "36px" + }, + "props": { + "text": "PDU", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "65.1px" + }, + "props": { + "text": "750kW", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "36px" + }, + "props": { + "text": "PDU", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "65.1px" + }, + "props": { + "text": "120kW", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_3" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "36px" + }, + "props": { + "text": "PDU", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "65.1px" + }, + "props": { + "text": "450kW", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_4" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "126px" + }, + "props": { + "style": { + "borderStyle": "none" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "#DDDDDD", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginTop": 3 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/PowerDH/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/PowerDH/resource.json new file mode 100644 index 0000000..fc74a32 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/PowerDH/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c8158a983255ce678100e12679505d30b72249978e5751e9fcb8925ff5dd2f6b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:53:21Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/PowerDH/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/PowerDH/thumbnail.png new file mode 100644 index 0000000..439d077 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/PowerDH/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/PowerDH/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/PowerDH/view.json new file mode 100644 index 0000000..5488f9d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/PowerDH/view.json @@ -0,0 +1,224 @@ +{ + "custom": {}, + "params": { + "Title": "DH1" + }, + "propConfig": { + "params.Title": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1002, + "width": 250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "17px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.Title" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Power" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TimeSeriesChart" + }, + "position": { + "basis": "138px" + }, + "props": { + "defaultStyles": { + "colorScheme": "Dark2" + }, + "series": [ + { + "data": [ + { + "Pressure": 12, + "Temperature": 60, + "time": 1560469431423 + }, + { + "Pressure": 42, + "Temperature": 18, + "time": 1560469432423 + }, + { + "Pressure": 81, + "Temperature": 26, + "time": 1560469433423 + }, + { + "Pressure": 11, + "Temperature": 63, + "time": 1560469434423 + }, + { + "Pressure": 23, + "Temperature": 65, + "time": 1560469435423 + }, + { + "Pressure": 43, + "Temperature": 12, + "time": 1560469436423 + }, + { + "Pressure": 71, + "Temperature": 61, + "time": 1560469437423 + }, + { + "Pressure": 89, + "Temperature": 60, + "time": 1560469438423 + }, + { + "Pressure": 66, + "Temperature": 58, + "time": 1560469439423 + }, + { + "Pressure": 33, + "Temperature": 1, + "time": 1560469440423 + } + ], + "name": "Boiler" + } + ], + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderStyle": "solid", + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "borderWidth": 1 + }, + "timeAxis": { + "visible": false + }, + "timeRange": { + "visible": false + }, + "title": { + "text": "Power" + }, + "xTrace": { + "visible": false + } + }, + "type": "ia.chart.timeseries" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "831px" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "path": "Pages/Dev/D_Electrical/L1/Widgets/DH ER" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "96.4%" + }, + "props": { + "direction": "column", + "style": { + "paddingBottom": 0, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 0 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/SWBD HS1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/SWBD HS1/resource.json new file mode 100644 index 0000000..6417d99 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/SWBD HS1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "50e8eeda2b9ff56cf5ac35c5a45f846549ded2c6b9ed489c618f1a921f25e8d4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/SWBD HS1/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/SWBD HS1/thumbnail.png new file mode 100644 index 0000000..48d9b2c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/SWBD HS1/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/SWBD HS1/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/SWBD HS1/view.json new file mode 100644 index 0000000..427e856 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Electrical/SWBD HS1/view.json @@ -0,0 +1,878 @@ +{ + "custom": {}, + "params": { + "BoxColor": "--olGray", + "InputPower": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "propConfig": { + "params.BoxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.InputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.OutputPower": { + "binding": { + "config": { + "expression": "if({view.params.InputPower},1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.proportion": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 2400 + } + }, + "root": { + "children": [ + { + "children": [ + { + "custom": { + "boxColor": "--olGray" + }, + "meta": { + "name": "General" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{this.custom.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{this.custom.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{this.custom.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{this.custom.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{this.custom.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../CB Main.props.params.OutputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027),\r\n\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../CB Main.props.params.OutputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027),\r\n\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../CB Main.props.params.OutputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027),\r\n\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../ATS.props.params.OutputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027),\r\n\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../ATS.props.params.OutputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027),\r\n\u0027)\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../ATS.props.params.OutputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027),\r\n\u0027)\u0027)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M2.083,2.083l0,291.667", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "41.67,16.67,12.5,16.67,0,0", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M380.008,293.75l0,-291.667", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "41.67,16.67,12.5,16.67,10,0", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M685.985,293.75l0,-291.667", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "41.67,16.67,12.5,16.67,0,0", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6660.42,293.75l-0,-291.667l-6658.33,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "41.67,16.67,12.5,16.67,0,0", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.083,293.75l6658.33,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "41.67,16.67,12.5,16.67,0,0", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "d": "M26.597,135.309l0,29.166", + "fill": { + "paint": "transparent" + }, + "id": "Bus01", + "name": "Bus01", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "cx": "505.764", + "cy": "149.892", + "name": "circle", + "r": "7.5", + "type": "circle" + }, + { + "d": "M26.597,149.892l479.167,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M645.62,135.309l0,29.166", + "fill": { + "paint": "transparent" + }, + "id": "Bus02", + "name": "Bus02", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6634.19,135.309l-0,29.166", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "10", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M645.62,149.892l5988.57,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 6663 296" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "CB Main" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "loading": { + "order": "with-parent" + }, + "params": { + "BoxColor": "--olGray", + "InputPower": 1, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB Main" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 1" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 1\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 2" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 2\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 2" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 3" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 3\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 3" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 4" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 4\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 4" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 5" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 5\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 5" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 6" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 6\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 6" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 7" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 7" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 8" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 8" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 9" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 9" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 10" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 10" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 11" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 11" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 12" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 12" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 13" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 13" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 14" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 14" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 15" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 15" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 16" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 16" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CB 17" + }, + "position": { + "height": 1, + "width": 1.0077, + "x": -0.0077 + }, + "propConfig": { + "props.params.InputPower": { + "binding": { + "config": { + "path": "../ATS.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/CB 17" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ATS" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.InputPower_1": { + "binding": { + "config": { + "path": "../CB Main.props.params.OutputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "BoxColor": "--olGray", + "InputPower_2": 0, + "OutputPower": 0, + "proportion": "", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/ATS\n" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD_HS1/ATS" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Element" + }, + "position": { + "grow": 1 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Header original/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Header original/resource.json new file mode 100644 index 0000000..161fad6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Header original/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3d1e4db5fca96d9f77a0e4daea2829d810678204fbead14a7635515107944b7c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T20:55:11Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Header original/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Header original/thumbnail.png new file mode 100644 index 0000000..1502b78 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Header original/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Header original/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Header original/view.json new file mode 100644 index 0000000..3c8ec58 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Header original/view.json @@ -0,0 +1,90 @@ +{ + "custom": { + "page": {} + }, + "params": {}, + "propConfig": { + "custom.page": { + "persistent": true + }, + "custom.page.params": { + "binding": { + "config": { + "path": "page.props.urlParams" + }, + "type": "property" + } + }, + "custom.page.path": { + "binding": { + "config": { + "path": "page.props.path" + }, + "type": "property" + } + } + }, + "props": { + "defaultSize": { + "height": 45 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": {}, + "scope": "C", + "type": "login" + } + } + }, + "meta": { + "name": "Icon" + }, + "position": { + "basis": "41px" + }, + "props": { + "path": "material/person" + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "404px" + }, + "props": { + "justify": "flex-end" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "justify": "space-between", + "style": { + "backgroundColor": "#143663" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/LLS_CHW_Skids/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/LLS_CHW_Skids/resource.json new file mode 100644 index 0000000..1d257c8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/LLS_CHW_Skids/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d8e66e03e04948dc78a4de9a635cd5b08ad80203124626e7315920578dc099e3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T20:50:57Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/LLS_CHW_Skids/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/LLS_CHW_Skids/thumbnail.png new file mode 100644 index 0000000..f4da450 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/LLS_CHW_Skids/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/LLS_CHW_Skids/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/LLS_CHW_Skids/view.json new file mode 100644 index 0000000..bff53d0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/LLS_CHW_Skids/view.json @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B301 Chillers LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*MPR1140/CHWP_LLS*" + }, + "deviceName": "CHW", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/VFD", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_Rotation" + } + }, + "path": "Library/Templates/Graphics/LLS/Device LLS V1" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/FirstFloor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/FirstFloor/resource.json new file mode 100644 index 0000000..0567e65 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/FirstFloor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "54dc49a8fec32a356ca4f812b68b3aca1469a0369a56595e897da774a12f39f9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:23:39Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/FirstFloor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/FirstFloor/thumbnail.png new file mode 100644 index 0000000..40176b3 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/FirstFloor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/FirstFloor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/FirstFloor/view.json new file mode 100644 index 0000000..0c36f61 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/FirstFloor/view.json @@ -0,0 +1,7108 @@ +{ + "custom": { + "Color": "#007FD2", + "ColorHandler": { + "Auxiliary": {}, + "Corridors": { + "StairB_1198": "lightgray", + "StairC_1199": "lightgray", + "StairD_1183": "lightgray" + }, + "DH3": { + "SDC_Storage_1173": "lightgray" + }, + "DH5": {}, + "Elec-Mech": {}, + "MEP_1140": "lightgray", + "Stream_Offices": { + "JAN_1105": "lightgray", + "JAN_1126": "lightgray", + "MMR_1107": "lightgray", + "Pass_1124": "lightgray", + "RR_1104": "lightgray", + "RR_1136": "lightgray", + "WWR_1108": "lightgray" + }, + "Tenant_Offices": { + "FCR_1138_3": "lightgray", + "SER_1138_2": "lightgray" + }, + "Wall": "var(--olGray)" + }, + "inMax": 10, + "inMin": -10, + "outMax": 250, + "outMin": 50 + }, + "params": { + "CRAC": [ + -9, + 10, + -7, + -6, + -5 + ], + "CRAH": [ + -4, + -3, + -2, + -1, + 0 + ], + "DH": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "DOAS": [ + 7, + 8, + 9, + 0 + ], + "FCU": [ + -9, + -8, + -7, + -6, + -5, + -4, + -3, + -2, + -1, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + -9, + -8, + -7, + -6 + ], + "VAV": [ + -9, + -8, + -7, + -6, + -5, + -4, + 3, + -2, + -1, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1, + 0, + -1, + -2, + -3, + -4, + -5, + -6, + -7 + ] + }, + "propConfig": { + "custom.Color": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.ColorHandler.Auxiliary.ER_1185": { + "binding": { + "config": { + "path": "view.params.FCU[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.FirePlbg_1186": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.MDF2_1187": { + "binding": { + "config": { + "path": "view.params.FCU[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.MMR2_1188": { + "binding": { + "config": { + "path": "view.params.CRAC[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.POE4_1189": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.POE_1184": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorA_1190": { + "binding": { + "config": { + "path": "view.params.VAV[33]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorB_1191": { + "binding": { + "config": { + "path": "view.params.VAV[33]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorC_1192": { + "binding": { + "config": { + "path": "view.params.VAV[31]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorD_1193": { + "binding": { + "config": { + "path": "view.params.VAV[31]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorE1_1194_1": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorE2_1194_1": { + "binding": { + "config": { + "path": "view.params.VAV[32]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorE3_1194_1": { + "binding": { + "config": { + "path": "view.params.VAV[32]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorF_1195": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorG_1196": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorH1_1197_1": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorH2_1197_2": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.StairA_1123": { + "binding": { + "config": { + "path": "view.params.VAV[17]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.UNKNOWN": { + "binding": { + "config": { + "path": "view.params.VAV[11]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH3.DH3_1170": { + "binding": { + "config": { + "path": "view.params.DH[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH3.Gallery_1171": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH3.Gallery_1172": { + "binding": { + "config": { + "path": "view.params.DH[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH3.SDC_IDF_1174": { + "binding": { + "config": { + "path": "view.params.FCU[5]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH5.DH5_1180": { + "binding": { + "config": { + "path": "view.params.DH[5]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH5.Gallery_1181": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH5.Gallery_1182": { + "binding": { + "config": { + "path": "view.params.DH[5]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1151": { + "binding": { + "config": { + "path": "view.params.CRAH[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1155": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1156": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1157": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1158": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1160": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1161": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1162": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1163": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1164": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1165": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.MDF_1149": { + "binding": { + "config": { + "path": "view.params.FCU[7]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.MEPRoom_1159": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.MMR1_1120": { + "binding": { + "config": { + "path": "view.params.CRAC[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.MechPower_1150": { + "binding": { + "config": { + "path": "view.params.CRAH[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.SDC_IDF_1154": { + "binding": { + "config": { + "path": "view.params.FCU[6]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.SDStorage_1153": { + "binding": { + "config": { + "path": "view.params.VAV[34]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.TapeLibrary_1152": { + "binding": { + "config": { + "path": "view.params.CRAC[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.AMOffice_1134_2": { + "binding": { + "config": { + "path": "view.params.VAV[20]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.AssetManagement_1134_1": { + "binding": { + "config": { + "path": "view.params.VAV[20]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.BreakRoom_1111": { + "binding": { + "config": { + "path": "view.params.VAV[11]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.CableStorage_1133_2": { + "binding": { + "config": { + "path": "view.params.VAV[25]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Conference_1116": { + "binding": { + "config": { + "path": "view.params.VAV[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Conference_1121": { + "binding": { + "config": { + "path": "view.params.VAV[19]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Elec_1128": { + "binding": { + "config": { + "path": "view.params.VAV[16]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.ExecutiveConference_1103": { + "binding": { + "config": { + "path": "view.params.VAV[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Freight_1130": { + "binding": { + "config": { + "path": "view.params.VAV[22]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Freight_1131": { + "binding": { + "config": { + "path": "view.params.VAV[22]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.HighValueStorage_1133_6": { + "binding": { + "config": { + "path": "view.params.VAV[25]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Huddle_1113": { + "binding": { + "config": { + "path": "view.params.VAV[8]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.LoadingDock_1127": { + "binding": { + "config": { + "path": "view.params.VAV[22]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Lobby_1100_0": { + "binding": { + "config": { + "path": "view.params.VAV[13]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.MOPT_1109": { + "binding": { + "config": { + "path": "view.params.VAV[6]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Mech_1125": { + "binding": { + "config": { + "path": "view.params.FCU[17]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Mech_1132": { + "binding": { + "config": { + "path": "view.params.FCU[22]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Office_1117": { + "binding": { + "config": { + "path": "view.params.VAV[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Office_1118": { + "binding": { + "config": { + "path": "view.params.VAV[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.PBLG_FP_1141": { + "binding": { + "config": { + "path": "view.params.VAV[24]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.POE1_1119": { + "binding": { + "config": { + "path": "view.params.VAV[33]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.POE_1142": { + "binding": { + "config": { + "path": "view.params.VAV[31]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Receiving_1133_1": { + "binding": { + "config": { + "path": "view.params.VAV[25]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Records_1114": { + "binding": { + "config": { + "path": "view.params.VAV[7]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.SDC_IDF_1122": { + "binding": { + "config": { + "path": "view.params.FCU[20]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.SOCStorage_1102_2": { + "binding": { + "config": { + "path": "view.params.VAV[16]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.SOC_1102_1": { + "binding": { + "config": { + "path": "view.params.VAV[15]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.SOC_OFFICE_1102_3": { + "binding": { + "config": { + "path": "view.params.VAV[16]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.SecureLobby_1101": { + "binding": { + "config": { + "path": "view.params.VAV[17]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.SecureStorge_1133_4": { + "binding": { + "config": { + "path": "view.params.VAV[25]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.ShredRoom_1133_5": { + "binding": { + "config": { + "path": "view.params.VAV[18]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.StreamOffice_1110": { + "binding": { + "config": { + "path": "view.params.VAV[5]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Vestibule_1100_1": { + "binding": { + "config": { + "path": "view.params.VAV[13]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Stream_Offices.Waiting_1135": { + "binding": { + "config": { + "path": "view.params.VAV[21]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Tenant_Offices.OPS_Storage_1137": { + "binding": { + "config": { + "path": "view.params.VAV[12]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Tenant_Offices.TenantOffice_1138_1": { + "binding": { + "config": { + "path": "view.params.VAV[29]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Tenant_Offices.TenantStorage_1139": { + "binding": { + "config": { + "path": "view.params.VAV[26]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.inMax": { + "persistent": true + }, + "custom.inMin": { + "persistent": true + }, + "custom.outMax": { + "persistent": true + }, + "custom.outMin": { + "persistent": true + }, + "params.CRAC": { + "paramDirection": "input", + "persistent": true + }, + "params.CRAH": { + "paramDirection": "input", + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.DOAS": { + "paramDirection": "input", + "persistent": true + }, + "params.FCU": { + "paramDirection": "input", + "persistent": true + }, + "params.VAV": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 1155 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "First Floor" + }, + "position": { + "height": 300, + "width": 1155 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairC_1199" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorC_1192" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorB_1191" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorA_1190" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorE1_1194_1" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairA_1123" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.UNKNOWN" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorH2_1197_2" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorH1_1197_1" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorE2_1194_1" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairB_1198" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairD_1183" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorE3_1194_1" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorD_1193" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorF_1195" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorG_1196" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1165" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1155" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1151" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.MechPower_1150" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.MMR1_1120" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.TapeLibrary_1152" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.SDC_IDF_1154" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.SDStorage_1153" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.MDF_1149" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1164" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1163" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1162" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1161" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1160" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.MEPRoom_1159" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1158" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1157" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1156" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.ER_1185" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.POE_1184" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.FirePlbg_1186" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.MDF2_1187" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.MMR2_1188" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.POE4_1189" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH3.Gallery_1171" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH3.Gallery_1172" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH3.SDC_IDF_1174" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH3.SDC_Storage_1173" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH3.DH3_1170" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH5.Gallery_1181" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH5.Gallery_1182" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH5.DH5_1180" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.POE1_1119" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.ShredRoom_1133_5" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.HighValueStorage_1133_6" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.CableStorage_1133_2" + }, + "type": "property" + } + }, + "props.elements[5].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Waiting_1135" + }, + "type": "property" + } + }, + "props.elements[5].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.SecureStorge_1133_4" + }, + "type": "property" + } + }, + "props.elements[5].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Elec_1128" + }, + "type": "property" + } + }, + "props.elements[5].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Mech_1125" + }, + "type": "property" + } + }, + "props.elements[5].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Pass_1124" + }, + "type": "property" + } + }, + "props.elements[5].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.SDC_IDF_1122" + }, + "type": "property" + } + }, + "props.elements[5].elements[19].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Freight_1130" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.MOPT_1109" + }, + "type": "property" + } + }, + "props.elements[5].elements[20].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Freight_1131" + }, + "type": "property" + } + }, + "props.elements[5].elements[21].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Mech_1132" + }, + "type": "property" + } + }, + "props.elements[5].elements[22].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Vestibule_1100_1" + }, + "type": "property" + } + }, + "props.elements[5].elements[23].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.ExecutiveConference_1103" + }, + "type": "property" + } + }, + "props.elements[5].elements[24].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Records_1114" + }, + "type": "property" + } + }, + "props.elements[5].elements[25].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Office_1117" + }, + "type": "property" + } + }, + "props.elements[5].elements[26].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Conference_1116" + }, + "type": "property" + } + }, + "props.elements[5].elements[27].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Office_1118" + }, + "type": "property" + } + }, + "props.elements[5].elements[28].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.StreamOffice_1110" + }, + "type": "property" + } + }, + "props.elements[5].elements[29].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.SOC_1102_1" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Huddle_1113" + }, + "type": "property" + } + }, + "props.elements[5].elements[30].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.SecureLobby_1101" + }, + "type": "property" + } + }, + "props.elements[5].elements[31].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Conference_1121" + }, + "type": "property" + } + }, + "props.elements[5].elements[32].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.LoadingDock_1127" + }, + "type": "property" + } + }, + "props.elements[5].elements[33].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Lobby_1100_0" + }, + "type": "property" + } + }, + "props.elements[5].elements[34].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.Receiving_1133_1" + }, + "type": "property" + } + }, + "props.elements[5].elements[35].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.MMR_1107" + }, + "type": "property" + } + }, + "props.elements[5].elements[36].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.BreakRoom_1111" + }, + "type": "property" + } + }, + "props.elements[5].elements[37].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.WWR_1108" + }, + "type": "property" + } + }, + "props.elements[5].elements[38].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.PBLG_FP_1141" + }, + "type": "property" + } + }, + "props.elements[5].elements[39].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.AssetManagement_1134_1" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.RR_1104" + }, + "type": "property" + } + }, + "props.elements[5].elements[40].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.SOCStorage_1102_2" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.JAN_1105" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.SOC_OFFICE_1102_3" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.JAN_1126" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.AMOffice_1134_2" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.RR_1136" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Stream_Offices.POE_1142" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Tenant_Offices.SER_1138_2" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Tenant_Offices.FCR_1138_3" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Tenant_Offices.TenantStorage_1139" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Tenant_Offices.OPS_Storage_1137" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Tenant_Offices.TenantOffice_1138_1" + }, + "type": "property" + } + }, + "props.elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.MEP_1140" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1199-STAIR-C", + "name": "_1199-STAIR-C", + "type": "rect", + "width": "203.609", + "x": "1515.85", + "y": "1178.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.399", + "id": "_1197-2-CORRIDOR-H-2", + "name": "_1197-2-CORRIDOR-H-2", + "type": "rect", + "width": "1467.31", + "x": "183.815", + "y": "1134.85" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "41.332", + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": "1996.06", + "x": "1651.13", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.25", + "id": "_1194-1-CORRIDOR-E-2", + "name": "_1194-1-CORRIDOR-E-2", + "type": "rect", + "width": "2592.5", + "x": "1567.63", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1198-STAIR-B", + "name": "_1198-STAIR-B", + "type": "rect", + "width": "203.609", + "x": "3802.52", + "y": "1177.63" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "206.163", + "id": "_1183-STAIRS-D", + "name": "_1183-STAIRS-D", + "type": "rect", + "width": "86.751", + "x": "1.377", + "y": "358.889" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1194-1-CORRIDOR-E-3", + "name": "_1194-1-CORRIDOR-E-3", + "type": "rect", + "width": "48.02", + "x": "3607.37", + "y": "1.095" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1193-CORRIDOR-D", + "name": "_1193-CORRIDOR-D", + "type": "rect", + "width": "84", + "x": "2894.63", + "y": "235.5" + }, + { + "d": "M1488.64,1134.85l164.275,0.149l-0.034,-139.5l-83.689,0.074l0,-608.074l83.689,0.105l0,-44.605l-83.689,0l0,-107.649l-80.561,0l0.009,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1195-CORRIDOR-F", + "name": "_1195-CORRIDOR-F", + "type": "path" + }, + { + "d": "M183.628,1134.85l63.25,0l0,-792.224l-84.75,-0l0,-107.276l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1196-CORRIDOR-G", + "name": "_1196-CORRIDOR-G", + "type": "path" + }, + { + "d": "M3647.19,1178.01l-0.308,-42.395l-35.25,-0l0,-428.611l65,-0l0,329.711l163.5,0.433l-0.113,141.356l-192.829,-0.494Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1192-CORRIDOR-C", + "name": "_1192-CORRIDOR-C", + "type": "path" + }, + { + "d": "M4160.13,138.5l0,96.851l68.5,0l0,406.899l73.372,0l-0,-173.99l58.628,-0l0,-38.859l-58.628,-0l-0.372,-141.301l228.25,-0.1l0,-48.75l-222.014,-0l-0,-100.75l-147.736,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1191-CORRIDOR-B", + "name": "_1191-CORRIDOR-B", + "type": "path" + }, + { + "d": "M4478.59,735.5l-118.361,-0l-0.38,-28.5l-748.22,-0l0,-65.105l690.372,0.427l-0,5.178l44.403,0l0,-43.801l74.63,0l0.308,43.801l56.816,-0.335l0.432,88.335Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1190-CORRIDOR-A", + "name": "_1190-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.101", + "id": "_1194-1-CORRIDOR-E-1", + "name": "_1194-1-CORRIDOR-E-1", + "type": "rect", + "width": "1479.25", + "x": "88.378", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1123-STAIR-A", + "name": "_1123-STAIR-A", + "type": "rect", + "width": "58.434", + "x": "4477.3", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "288" + } + ], + "id": "Corridors-and-stairs", + "name": "Corridors-and-stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1165-elec", + "name": "_1165-elec", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1164-ER", + "name": "_1164-ER", + "type": "rect", + "width": "232", + "x": "329.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1163-ER", + "name": "_1163-ER", + "type": "rect", + "width": "232", + "x": "561.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1162-ER", + "name": "_1162-ER", + "type": "rect", + "width": "232", + "x": "793.628", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1161-ER", + "name": "_1161-ER", + "type": "rect", + "width": "232", + "x": "1025.63", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1160-ER", + "name": "_1160-ER", + "type": "rect", + "width": "238.155", + "x": "1258.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1159-MEP-ROOM", + "name": "_1159-MEP-ROOM", + "type": "rect", + "width": "239.508", + "x": "1496.28", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1158-ER", + "name": "_1158-ER", + "type": "rect", + "width": "231.337", + "x": "1735.79", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1157ER", + "name": "_1157ER", + "type": "rect", + "width": "233.123", + "x": "1967.13", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1156-ER", + "name": "_1156-ER", + "type": "rect", + "width": "231.803", + "x": "2200.25", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1155-ER", + "name": "_1155-ER", + "type": "rect", + "width": "232.461", + "x": "2432.05", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1151-ELEC", + "name": "_1151-ELEC", + "type": "rect", + "width": "183.5", + "x": "3655.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1150-MECH-POWER", + "name": "_1150-MECH-POWER", + "type": "rect", + "width": "232.348", + "x": "3838.63", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "137.655", + "id": "_1120-MMR1", + "name": "_1120-MMR1", + "type": "rect", + "width": "260.5", + "x": "4160.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1152-TAPE-LIBRARY", + "name": "_1152-TAPE-LIBRARY", + "type": "rect", + "width": "476.566", + "x": "2664.63", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "64.565", + "id": "_1154-SDC-IDF", + "name": "_1154-SDC-IDF", + "type": "rect", + "width": "88.333", + "x": "3388.41", + "y": "105.935" + }, + { + "d": "M3141.63,170.25l0,-169.947l464.001,0.042l-0,169.905l-128.69,0l-0,-64.25l-89.212,-0l0.338,64.25l-246.437,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1153-SD-STORAGE", + "name": "_1153-SD-STORAGE", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.155", + "id": "_1149-MDF", + "name": "_1149-MDF", + "type": "rect", + "width": "89.5", + "x": "4070.63", + "y": "1.095" + } + ], + "id": "ELEC---MECH", + "name": "ELEC---MECH", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1185-ELEC", + "name": "_1185-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "458.859" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1184-POE", + "name": "_1184-POE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "109.021", + "id": "_1186-FIRE-PLBG", + "name": "_1186-FIRE-PLBG", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "508.227" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.5", + "id": "_1187-MDF-2", + "name": "_1187-MDF-2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "407.5", + "id": "_1188-MMR2", + "name": "_1188-MMR2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "715.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.25", + "id": "_1189-POE-4", + "name": "_1189-POE-4", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "1123" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1171-GALLERY", + "name": "_1171-GALLERY", + "type": "rect", + "width": "1325.44", + "x": "1569.19", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1172-GALLERY", + "name": "_1172-GALLERY", + "type": "rect", + "width": "1241.72", + "x": "1652.91", + "y": "1064" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.182", + "id": "_1174-SDC-IDF", + "name": "_1174-SDC-IDF", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "930" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "542.5", + "id": "_1173-SDC-STORAGE", + "name": "_1173-SDC-STORAGE", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "387.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1170-DATAHALL-3", + "name": "_1170-DATAHALL-3", + "type": "rect", + "width": "1241.75", + "x": "1652.88", + "y": "343" + } + ], + "id": "DH3", + "name": "DH3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1181-GALLERY-", + "name": "_1181-GALLERY-", + "type": "rect", + "width": "1326.41", + "x": "162.215", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1182-GALLERY-", + "name": "_1182-GALLERY-", + "type": "rect", + "width": "1241.72", + "x": "246.911", + "y": "1065.51" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1181-1-DATAHALL-1180-1", + "name": "_1181-1-DATAHALL-1180-1", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "344.795" + } + ], + "id": "DH5", + "name": "DH5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1119-POE1", + "name": "_1119-POE1", + "type": "rect", + "width": "51.764", + "x": "4307.86", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.401", + "id": "_1109-MOT", + "name": "_1109-MOT", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "359" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "77.088", + "id": "_1113-HUDDLE", + "name": "_1113-HUDDLE", + "type": "rect", + "width": "86.707", + "x": "4544.16", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "68.485", + "id": "_1104-RR", + "name": "_1104-RR", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "365.023" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.992", + "id": "_1105-JAN", + "name": "_1105-JAN", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "433.508" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "78.218", + "id": "_1102.3-SOC-OFFICE", + "name": "_1102.3-SOC-OFFICE", + "type": "rect", + "width": "66.118", + "x": "4459.01", + "y": "489.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1126-JAN", + "name": "_1126-JAN", + "type": "rect", + "width": "57", + "x": "4303.13", + "y": "707" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1134.2-AM-OFFICE", + "name": "_1134.2-AM-OFFICE", + "type": "rect", + "width": "65.5", + "x": "4063.63", + "y": "850" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61.387", + "id": "_1136-RR", + "name": "_1136-RR", + "type": "rect", + "width": "81.653", + "x": "4063.63", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.218", + "id": "_1142-POE", + "name": "_1142-POE", + "type": "rect", + "width": "101.369", + "x": "3840.13", + "y": "1123.79" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.5-SHRED-ROOM", + "name": "_1133.5-SHRED-ROOM", + "type": "rect", + "width": "125.5", + "x": "3938.13", + "y": "932.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.6-HIGH-VALUE-STORAGE", + "name": "_1133.6-HIGH-VALUE-STORAGE", + "type": "rect", + "width": "261.5", + "x": "3676.63", + "y": "932.697" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "59.838", + "id": "_1133.2-CABLE-STORAGE", + "name": "_1133.2-CABLE-STORAGE", + "type": "rect", + "width": "163.5", + "x": "3676.63", + "y": "708.197" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "110.035", + "id": "_1135-WAITING", + "name": "_1135-WAITING", + "type": "rect", + "width": "62.384", + "x": "4145.28", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "119.5", + "id": "_1133.4-SECURE-STORAGE", + "name": "_1133.4-SECURE-STORAGE", + "type": "rect", + "width": "223.5", + "x": "3840.13", + "y": "813" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1128-ELEC", + "name": "_1128-ELEC", + "type": "rect", + "width": "57", + "x": "4302", + "y": "761.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1125-MECH", + "name": "_1125-MECH", + "type": "rect", + "width": "63.811", + "x": "4359", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1124-PASS", + "name": "_1124-PASS", + "type": "rect", + "width": "54.491", + "x": "4422.81", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1122-SDC-IDF", + "name": "_1122-SDC-IDF", + "type": "rect", + "width": "72.661", + "x": "4535.43", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1130-FREIGHT", + "name": "_1130-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4433.86", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1131-FREIGHT", + "name": "_1131-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4535.36", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1132-MECH", + "name": "_1132-MECH", + "type": "rect", + "width": "138.911", + "x": "4636.63", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61", + "id": "_1100.1-VESTIBULE", + "name": "_1100.1-VESTIBULE", + "type": "rect", + "width": "41.5", + "x": "4767.63", + "y": "499" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "130.798", + "id": "_1103-EXECUTIVE-CONFERENCE", + "name": "_1103-EXECUTIVE-CONFERENCE", + "type": "rect", + "width": "145.497", + "x": "4630.13", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1114-RECORDS", + "name": "_1114-RECORDS", + "type": "rect", + "width": "61", + "x": "4359.63", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1117-OFFICE", + "name": "_1117-OFFICE", + "type": "rect", + "width": "64.5", + "x": "4530.13", + "y": "2.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "237.952", + "id": "_1116-CONFERENCE", + "name": "_1116-CONFERENCE", + "type": "rect", + "width": "109.5", + "x": "4420.63", + "y": "1.298" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1118-OFFICE", + "name": "_1118-OFFICE", + "type": "rect", + "width": "65.274", + "x": "4594.63", + "y": "2.5" + }, + { + "d": "M4775.02,288l0.609,-285l-115.1,-2.655l-0.626,84.155l-130.024,-0.441l0,203.941l245.141,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1110-STREAM-OFFICE", + "name": "_1110-STREAM-OFFICE", + "type": "path" + }, + { + "d": "M4525.13,489.5l-0.162,157.719l33.495,0.137l0,-40.856l41.98,0l-0.008,11.157l52.695,0.479l-1.174,-128.636l-126.826,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1102.1-SOC", + "name": "_1102.1-SOC", + "type": "path" + }, + { + "d": "M4558.46,606.223l0,41.133l-80.452,-0l0.693,57.633l329.676,-0l0,-86.979l-207.164,0l0,-11.51l-42.753,-0.277Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1101-SECURE-LOBBY", + "name": "_1101-SECURE-LOBBY", + "type": "path" + }, + { + "d": "M4607.63,705l0,110.159l167.782,-0.651l0.693,-26.905l32.275,-0.433l0,-82.181l-200.75,0.011Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1121-CONFERENCE", + "name": "_1121-CONFERENCE", + "type": "path" + }, + { + "d": "M4207.55,706.868l0.073,379.082l23.565,0.081l75.845,39.795l19.744,-35.334l77.574,39.904l25.252,-44.509l94.628,0.083l76.334,39.209l19.102,-34.955l75.254,39.426l80.59,-0.024l-0,-197.372l-341.468,-0l-0,-115.82l-131.16,-1.275l0,-108.159l-95.333,-0.132Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1127-LOADING-DOCK", + "name": "_1127-LOADING-DOCK", + "type": "path" + }, + { + "d": "M4598.13,364.5l0,125l55.275,0l-0.13,128.5l155.105,0.01l0,-58.01l-40.75,0l0,-61.698l40.283,-0.037l-0,-79.467l-177.783,-0l0,-54.298l-32,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1100.0-LOBBY", + "name": "_1100.0-LOBBY", + "type": "path" + }, + { + "d": "M3676.63,932l0,-163.965l163.5,0l0,-61.035l367.5,-0l0,143l-144,-0l0,-37l-223.5,-0l0,119.5l-163.5,-0.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1133.1-RECEIVING", + "name": "_1133.1-RECEIVING", + "type": "path" + }, + { + "d": "M4457.98,468l0.296,179.18l-37.243,0.32l-0,-43.801l-38.163,0l0.111,-135.699l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1107-MMR", + "name": "_1107-MMR", + "type": "path" + }, + { + "d": "M4542.91,288l0.721,201.141l-84.617,0.359l-0,-21.24l-98.383,-0l-0.136,-180.26l182.415,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1111-BREAK-ROOM", + "name": "_1111-BREAK-ROOM", + "type": "path" + }, + { + "d": "M4302,468.26l2.333,179.853l42.045,-0.613l0,-42.868l37.34,-0l-0.117,-135.7l-81.601,-0.672Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1108-WRR", + "name": "_1108-WRR", + "type": "path" + }, + { + "d": "M4144.93,1037.5l1.203,140.499l-204.5,0.501l0,-52.454l-101.5,-1.355l0.451,-87.191l304.346,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1141-PLBG-FP", + "name": "_1141-PLBG-FP", + "type": "path" + }, + { + "d": "M4207.55,975.505l-143.66,0.495l-0.257,-44l65.5,-0l0,-82l78.417,0.185l0,125.32Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1134.1-ASSET-MANAGEMENT", + "name": "_1134.1-ASSET-MANAGEMENT", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "79.448", + "id": "_1102.2-SOC-STORAGE", + "name": "_1102.2-SOC-STORAGE", + "type": "rect", + "width": "65.955", + "x": "4459.01", + "y": "567.718" + } + ], + "id": "Stream-Offices", + "name": "Stream-Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "133.25", + "id": "_1138.2-SER", + "name": "_1138.2-SER", + "type": "rect", + "width": "79.5", + "x": "3937.13", + "y": "509" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "88.512", + "id": "_1138.3-FCR", + "name": "_1138.3-FCR", + "type": "rect", + "width": "73", + "x": "3864.13", + "y": "553.738" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.649", + "id": "_1139-TENANT-STORAGE", + "name": "_1139-TENANT-STORAGE", + "type": "rect", + "width": "389.821", + "x": "3222.13", + "y": "235.351" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "406.899", + "id": "_1137-OPS-STORAGE", + "name": "_1137-OPS-STORAGE", + "type": "rect", + "width": "163.5", + "x": "4065.13", + "y": "235.351" + }, + { + "d": "M3611.63,235.5l0,407l252.5,-0.25l0,-88.75l73,-0l0.198,-44.292l79.459,0l0.308,133.042l48.035,0l-0.309,-407.076l-453.191,0.326Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1138.1-TENANT-OFFICE", + "name": "_1138.1-TENANT-OFFICE", + "type": "path" + } + ], + "id": "Tenant-Offices", + "name": "Tenant-Offices", + "type": "group" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1140-MECH---PUMP", + "name": "_1140-MECH---PUMP", + "type": "rect", + "width": "243.5", + "x": "2978.63", + "y": "235.5" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,101.188l-0,-21.233l-40.298,-0l-0,21.233", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1544.41,1178.25l2262.71,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3828.13,1178l315.66,0.25l-0,-92.3l8.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4173.51,1086l57.373,0l76.749,40l19.362,-35.865l77.638,41.156l24.903,-45.608l94.597,0.035l76,40.135l19.39,-36.353l75.428,40l80.682,0l-0.395,-342.218l33.145,0l0,-250.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1035.5l0,94.842l0,-5.357l101.5,0.015l0,53.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1151.75l0,26.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4207.86,1085.95l-0.243,-84.421", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4145.28,1085.95l-0,-84.421l-0,35.614l-468.653,0.357l0,-330.5l294.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4027.95,707l179.674,-0l0,19.825l0,-19.825l127.139,-0l-31.655,-0l-0,59.272l-0,-4.626l56.736,-0l-0,-54.646l-0,109.434", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302.88,786.5l0,29.934l472.628,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4359.85,735.573l33.572,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4413.87,735.573l22.597,-0l-13.636,-0l0.293,80.861", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4477.13,816.434l-0,-80.861l-12.996,-0.323l12.996,0.323l-0,-30.584l7.264,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4504.26,704.989l31.169,-0l-0,111.445", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4608.09,816.434l-0,-111.445l-42.464,0.011", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4653.05,705l110.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4434.04,816.434l-0,115.82l9.934,-0.195", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4535.43,816.434l-0,115.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.63,816.434l0,116.066", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4661.9,932.5l113.729,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,932l185.781,-0l-22.281,-0l0,-119l39.813,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3918.12,813l145.506,-0l0,224.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4020.13,932l108.575,-0l0.156,-55.929", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.63,849.89l70.501,0.36", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.57,850.25l53.056,0l0,25.821l0,-92.073", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,768.035l163.5,0l0,-12.467", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3888.63,932.25l93,0l-43.433,0l-0.067,105.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.67,975.52l144.348,0.195l-0.195,-80.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3647.19,1178.71l0,-14.854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3646.88,1143l0,-7.389l-399.644,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,1135.61l0,-441.611", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3265.63,235.5l755.122,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,235.5l0,419.979l0,-13.175l299.892,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3962.63,642.25l59.351,0l-4.987,0l-0,-133.042l-79.666,0l-0,133.042", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3937.13,553.5l-73,-0l0,88.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.63,642.25l8,0l0,-362.294", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4228.63,241.158l0,-5.685l-168.451,-0.299l4.887,0.008l0,407.068l-23.196,0l140.671,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4160.13,235.351l0,-12.621", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3216.3,1135l10.348,0l-5.018,0l-0,-899.649l5.477,0l-23.327,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3165.48,235.351l-186.856,0l0,899.649l218.001,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4775.02,288l-148.777,-0l4.19,-0l-0.067,130.798l5.052,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4675.13,418.798l56.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4586.88,288l-48.457,-0l5.207,-0l0,201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,365.023l86.5,0.065", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,433.38l54.476,-0l0.16,8.138l0,-52.018", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4598.26,461.785l-0.136,27.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4558.88,622.5l0,-30.591l0,14.936l41.643,0.079l-0.079,10.901l66.663,-0l-13.916,-0l0,-128.325l-194.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4420.88,637l0,10.165l38.133,0l-0,-178.905l-157.011,-0l-0,179.24l44.325,0l-0,-10.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4346.38,617l0.025,-13.192l37.315,-0.235l-0.377,-135.313", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4421.03,616.625l-0.064,-12.926l-74.566,0.109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,239.25l4.674,-0l-0,-105.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4529.88,94l0,-9.5l20.662,-0l-20.662,-0l0.25,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4615.63,84.5l-25.999,-0l4.999,-0l0,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4656.52,84.25l3.384,0l0,-83.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.01,647.165l99.45,0l0,-7.237", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.13,567.191l65.999,-0.128l0,54.768l0,-62.3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,489l0,53.977", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4808.38,617.85l-44.723,0.16", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4743.13,617.85l-18.093,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4705.63,618.01l-17.935,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4360.63,468.067l0,-180.067l-4.8,-0l9.498,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4336.13,288.1l-34.134,-0l-0,141.301l32.686,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302,359l58.577,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4405.13,288l94.191,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.89,234.699l-0.021,11.078l0.012,-6.277l67.252,0l-15.5,0l0,-101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.86,213.705l-0,-75.205l-7.609,0l119.686,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.94,0.345l0,238.853l-5.317,-0.025l71.004,0.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4767.63,539.283l0,20.717l40.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.63,170.632l27.175,-0l-0,13.059l-0,-183.346", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4159.8,138.5l102.161,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-24.506,0l4.341,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3589.63,170.5l16.103,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3551.63,170.5l-138.99,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3476.94,170.5l-0,-64.5l-89.311,-0l0,64.5l5.331,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,50.149", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,508l95.313,-0l0,-5.217l0,10.007", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,5.893l0,-79.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,759.5l0,371.5l0,-7.955l-95.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1039l0,-18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1001l0,-616.527l0,3.027l-83.939,-0l0,37.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,463.614l0,471.386l0,-4.5l83.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,955.5l0,40l83.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1020l0,-635.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "First-Floor", + "name": "First-Floor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": -1 + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/Roof/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/Roof/resource.json new file mode 100644 index 0000000..47307f2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/Roof/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "747b3196b09eb0569dd8ef031455c5a01f06215ed18e40fe28601f173080a0dd", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:23:39Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/Roof/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/Roof/thumbnail.png new file mode 100644 index 0000000..0c10705 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/Roof/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/Roof/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/Roof/view.json new file mode 100644 index 0000000..783c413 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/Roof/view.json @@ -0,0 +1,12107 @@ +{ + "custom": { + "ColorHandler": { + "Auxiliary": { + "ER_1185": "lightgray", + "FirePlbg_1186": "lightgray", + "MDF2_1187": "lightgray", + "MMR2_1188": "lightgray", + "POE4_1189": "lightgray", + "POE_1184": "lightgray" + }, + "Corridors": { + "CorridorA_1190": "lightgray", + "CorridorB_1191": "lightgray", + "CorridorC_1192": "lightgray", + "CorridorD_1193": "lightgray", + "CorridorE1_1194_1": "lightgray", + "CorridorE2_1194_1": "lightgray", + "CorridorE3_1194_1": "lightgray", + "CorridorF_1195": "lightgray", + "CorridorG_1196": "lightgray", + "CorridorH1_1197_1": "lightgray", + "CorridorH2_1197_2": "lightgray", + "StairA_1123": "lightgray", + "StairB_1198": "lightgray", + "StairC_1199": "lightgray", + "StairD_1183": "lightgray", + "UNKNOWN": "lightgray" + }, + "DH3": { + "DH3_1170": "lightgray", + "Gallery_1171": "lightgray", + "Gallery_1172": "lightgray", + "SDC_IDF_1174": "lightgray", + "SDC_Storage_1173": "lightgray" + }, + "DH5": { + "DH5_1180": "lightgray", + "Gallery_1181": "lightgray", + "Gallery_1182": "lightgray" + }, + "Elec-Mech": { + "ER_1151": "lightgray", + "ER_1155": "lightgray", + "ER_1156": "lightgray", + "ER_1157": "lightgray", + "ER_1158": "lightgray", + "ER_1160": "lightgray", + "ER_1161": "lightgray", + "ER_1162": "lightgray", + "ER_1163": "lightgray", + "ER_1164": "lightgray", + "ER_1165": "lightgray", + "MDF_1149": "lightgray", + "MEPRoom_1159": "lightgray", + "MMR1_1120": "lightgray", + "MechPower_1150": "lightgray", + "SDC_IDF_1154": "lightgray", + "SDStorage_1153": "lightgray", + "TapeLibrary_1152": "lightgray" + }, + "MEP_1140": "lightgray", + "Stream_Offices": { + "AMOffice_1134_2": "lightgray", + "AssetManagement_1134_1": "lightgray", + "BreakRoom_1111": "lightgray", + "CableStorage_1133_2": "lightgray", + "Conference_1116": "lightgray", + "Conference_1121": "lightgray", + "Elec_1128": "lightgray", + "ExecutiveConference_1103": "lightgray", + "Freight_1130": "lightgray", + "Freight_1131": "lightgray", + "HighValueStorage_1133_6": "lightgray", + "Huddle_1113": "lightgray", + "JAN_1105": "lightgray", + "JAN_1126": "lightgray", + "LoadingDock_1127": "lightgray", + "Lobby_1100_0": "lightgray", + "MMR_1107": "lightgray", + "MOPT_1109": "lightgray", + "Mech_1125": "lightgray", + "Mech_1132": "lightgray", + "Office_1117": "lightgray", + "Office_1118": "lightgray", + "PBLG_FP_1141": "lightgray", + "POE1_1119": "lightgray", + "POE_1142": "lightgray", + "Pass_1124": "lightgray", + "RR_1104": "lightgray", + "RR_1136": "lightgray", + "Receiving_1133_1": "lightgray", + "Records_1114": "lightgray", + "SDC_IDF_1122": "lightgray", + "SOCStorage_1102_2": "lightgray", + "SOC_1102_1": "lightgray", + "SOC_OFFICE_1102_3": "lightgray", + "SecureLobby_1101": "lightgray", + "SecureStorge_1133_4": "lightgray", + "ShredRoom_1133_5": "lightgray", + "StreamOffice_1110": "lightgray", + "Vestibule_1100_1": "lightgray", + "WWR_1108": "lightgray", + "Waiting_1135": "lightgray" + }, + "Tenant_Offices": { + "FCR_1138_3": "lightgray", + "OPS_Storage_1137": "lightgray", + "SER_1138_2": "lightgray", + "TenantOffice_1138_1": "lightgray", + "TenantStorage_1139": "lightgray" + }, + "Wall": "var(--olGray)" + } + }, + "params": {}, + "propConfig": { + "custom.ColorHandler": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 1155 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Roof" + }, + "position": { + "height": 300, + "width": 1155 + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#ddd" + }, + "height": "1179.52", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "4682.44", + "x": "93.184", + "y": "37.323" + }, + { + "fill": { + "paint": "#ddd" + }, + "height": "215.988", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "96.472", + "x": "-3.288", + "y": "397.273" + }, + { + "fill": { + "paint": "#bababa" + }, + "height": "816.391", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "2336.13", + "x": "1968.11", + "y": "218.315" + } + ], + "id": "Roof-Walls", + "name": "Roof-Walls", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#e5f8ff" + }, + "height": "190.416", + "id": "Box", + "name": "Box", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "73.532", + "x": "180.308", + "y": "660.106" + }, + { + "elements": [ + { + "d": "M180.308,678.073l73.532,0l-0,17.932l-73.532,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M180.308,820.351l73.532,0l-0,12.841l-73.532,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "cx": "187.599", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "207.085", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "226.899", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "246.548", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DOAS03", + "name": "DOAS03", + "type": "group" + }, + { + "elements": [ + { + "d": "M1526.99,369.429l190.416,-0l-0,73.532l-190.416,0l-0,-73.532Z", + "fill": { + "paint": "#e5f8ff" + }, + "id": "Box1", + "name": "Box1", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1544.96,442.961l0,-73.532l17.932,-0l0,73.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1687.24,442.961l0,-73.532l12.842,-0l-0,73.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,435.67c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,-0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,416.184c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,396.37c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,376.721c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,-0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DOAS02", + "name": "DOAS02", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#e5f8ff" + }, + "height": "50.588", + "id": "Box2", + "name": "Box2", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "120.896", + "x": "4486.23", + "y": "209.765" + }, + { + "elements": [ + { + "cx": "4512.07", + "cy": "224.469", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4512.07", + "cy": "245.298", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4534.29", + "cy": "224.469", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4534.29", + "cy": "245.298", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4556.51", + "cy": "224.469", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4556.51", + "cy": "245.298", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "50.588", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "75.925", + "x": "4496.9", + "y": "209.765" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DOAS01", + "name": "DOAS01", + "type": "group" + } + ], + "id": "DOAS", + "name": "DOAS", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX", + "name": "BOX", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2073.88,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH48", + "name": "CH48", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX1", + "name": "BOX1", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2073.88,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH47", + "name": "CH47", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX2", + "name": "BOX2", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2073.88,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH46", + "name": "CH46", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX3", + "name": "BOX3", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2073.88,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH45", + "name": "CH45", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX4", + "name": "BOX4", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2073.88,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH44", + "name": "CH44", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX5", + "name": "BOX5", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2073.88,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH43", + "name": "CH43", + "type": "group" + } + ], + "id": "Lineup08", + "name": "Lineup08", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX6", + "name": "BOX6", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2498.03,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,273.653c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,294.92c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH42", + "name": "CH42", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX7", + "name": "BOX7", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2498.03,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,411.323c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,432.59c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH41", + "name": "CH41", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX8", + "name": "BOX8", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2498.03,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,547.303c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,568.57c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH40", + "name": "CH40", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX9", + "name": "BOX9", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2498.03,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,684.819c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,706.086c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH39", + "name": "CH39", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX10", + "name": "BOX10", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2498.03,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,823.104c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,844.371c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH38", + "name": "CH38", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX11", + "name": "BOX11", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2498.03,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,959.852c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,981.119c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH37", + "name": "CH37", + "type": "group" + } + ], + "id": "Lineup07", + "name": "Lineup07", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX12", + "name": "BOX12", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2655.74,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH36", + "name": "CH36", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX13", + "name": "BOX13", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2655.74,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH35", + "name": "CH35", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX14", + "name": "BOX14", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2655.74,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH34", + "name": "CH34", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX15", + "name": "BOX15", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2655.74,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH33", + "name": "CH33", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX16", + "name": "BOX16", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2655.74,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH32", + "name": "CH32", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX17", + "name": "BOX17", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2655.74,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH31", + "name": "CH31", + "type": "group" + } + ], + "id": "Lineup06", + "name": "Lineup06", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX18", + "name": "BOX18", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2929.8,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,308.328l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH30", + "name": "CH30", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX19", + "name": "BOX19", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2929.8,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,445.998l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH29", + "name": "CH29", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX20", + "name": "BOX20", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2929.8,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,581.978l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH28", + "name": "CH28", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX21", + "name": "BOX21", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2929.8,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,719.494l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH27", + "name": "CH27", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX22", + "name": "BOX22", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2929.8,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,857.779l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH26", + "name": "CH26", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX23", + "name": "BOX23", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2929.8,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,994.527l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH25", + "name": "CH25", + "type": "group" + } + ], + "id": "Lineup05", + "name": "Lineup05", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX24", + "name": "BOX24", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M3237.92,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH24", + "name": "CH24", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX25", + "name": "BOX25", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M3237.92,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH23", + "name": "CH23", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX26", + "name": "BOX26", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M3237.92,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH22", + "name": "CH22", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX27", + "name": "BOX27", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M3237.92,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH21", + "name": "CH21", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX28", + "name": "BOX28", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M3237.92,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH20", + "name": "CH20", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX29", + "name": "BOX29", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M3237.92,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH19", + "name": "CH19", + "type": "group" + } + ], + "id": "Lineup04", + "name": "Lineup04", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX30", + "name": "BOX30", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M3660.64,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH18", + "name": "CH18", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX31", + "name": "BOX31", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M3660.64,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH17", + "name": "CH17", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX32", + "name": "BOX32", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M3660.64,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH16", + "name": "CH16", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX33", + "name": "BOX33", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M3660.64,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH15", + "name": "CH15", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX34", + "name": "BOX34", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M3660.64,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH14", + "name": "CH14", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX35", + "name": "BOX35", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M3660.64,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH13", + "name": "CH13", + "type": "group" + } + ], + "id": "Lineup03", + "name": "Lineup03", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX36", + "name": "BOX36", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M3818.47,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,308.328l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH12", + "name": "CH12", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX37", + "name": "BOX37", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M3818.47,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,445.998l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH11", + "name": "CH11", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX38", + "name": "BOX38", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M3818.47,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,581.978l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH10", + "name": "CH10", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX39", + "name": "BOX39", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M3818.47,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,719.494l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH09", + "name": "CH09", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX40", + "name": "BOX40", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M3818.47,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,857.779l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH08", + "name": "CH08", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX41", + "name": "BOX41", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M3818.47,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,994.527l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH07", + "name": "CH07", + "type": "group" + } + ], + "id": "Lineup02", + "name": "Lineup02", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX42", + "name": "BOX42", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M4242.99,273.653c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,294.92c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,308.328l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH06", + "name": "CH06", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX43", + "name": "BOX43", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M4242.99,411.323c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,432.59c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,445.998l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH05", + "name": "CH05", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX44", + "name": "BOX44", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M4242.99,547.303c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,568.57c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,581.978l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH04", + "name": "CH04", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX45", + "name": "BOX45", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M4242.99,684.819c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,706.086c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,719.494l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH03", + "name": "CH03", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX46", + "name": "BOX46", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M4242.99,823.104c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,844.371c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,857.779l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH02", + "name": "CH02", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX47", + "name": "BOX47", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M4242.99,959.852c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,981.119c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,994.527l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH01", + "name": "CH01", + "type": "group" + } + ], + "id": "Lineup01", + "name": "Lineup01", + "type": "group" + } + ], + "id": "Chillers", + "name": "Chillers", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#ffe17e" + }, + "height": "210.644", + "id": "Box3", + "name": "Box3", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "81.344", + "x": "4566.82", + "y": "361.949" + }, + { + "elements": [ + { + "d": "M4648.17,552.716l-81.343,0l-0,-19.836l81.343,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4648.17,530.268l-81.343,0l-0,-19.837l81.343,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4648.17,395.325l-81.343,-0l-0,-14.206l81.343,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "cx": "4640.1", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4640.1", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4618.55", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4618.55", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4596.63", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4596.63", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4574.89", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4574.89", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "RTU01", + "name": "RTU01", + "type": "group" + }, + { + "elements": [ + { + "d": "M4609.27,634.973l50.588,-0l-0,98.743l-50.588,-0l-0,-98.743Z", + "fill": { + "paint": "#ffe17e" + }, + "id": "Box4", + "name": "Box4", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M4632.04,707.872c-0,4.452 -3.615,8.066 -8.067,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.067,3.614 8.067,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4652.87,707.872c0,4.452 -3.614,8.066 -8.066,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c-0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.066,3.614 8.066,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4632.04,685.651c-0,4.452 -3.615,8.067 -8.067,8.067c-4.452,-0 -8.066,-3.615 -8.066,-8.067c0,-4.451 3.614,-8.066 8.066,-8.066c4.452,0 8.067,3.615 8.067,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4652.87,685.651c0,4.452 -3.614,8.067 -8.066,8.067c-4.452,-0 -8.066,-3.615 -8.066,-8.067c-0,-4.451 3.614,-8.066 8.066,-8.066c4.452,0 8.066,3.615 8.066,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4632.04,663.431c-0,4.452 -3.615,8.066 -8.067,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.067,3.614 8.067,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4652.87,663.431c0,4.452 -3.614,8.066 -8.066,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c-0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.066,3.614 8.066,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4609.27,647.122l50.588,0l-0,75.925l-50.588,0l-0,-75.925Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "RTU02", + "name": "RTU02", + "type": "group" + } + ], + "id": "RTU", + "name": "RTU", + "type": "group" + } + ], + "id": "Roof-equipment", + "name": "Roof-equipment", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 13, + "y": 0 + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/SecondFloor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/SecondFloor/resource.json new file mode 100644 index 0000000..b0925c7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/SecondFloor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3c3605f432c9437e7d4500e9d7dc34eea1b707e4b1f2d44efb6d934e7e63561f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:23:39Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/SecondFloor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/SecondFloor/thumbnail.png new file mode 100644 index 0000000..2405fca Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/SecondFloor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/SecondFloor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/SecondFloor/view.json new file mode 100644 index 0000000..d7d10ad --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Layout/SecondFloor/view.json @@ -0,0 +1,5197 @@ +{ + "custom": { + "Color": "#007FD2", + "ColorHandler": { + "Auxiliary": {}, + "Corridors": { + "StairA_1223": "lightgray", + "StairB_1298": "lightgray", + "StairC_1290": "lightgray", + "StairD_1283": "lightgray", + "UNKNOWN": "lightgray" + }, + "DH1": {}, + "DH2": {}, + "DH4": {}, + "Elec-Mech": {}, + "Offices": { + "DAS_1219": "lightgray", + "Freight_1230": "lightgray", + "Freight_1232": "lightgray", + "MRR_1221": "lightgray", + "Pass_1225": "lightgray", + "Receiving_1233": "lightgray", + "Space_1179": "lightgray", + "Vestibule_1292": "lightgray", + "WRR_1222": "lightgray" + }, + "Walls": "var(--olGray)" + }, + "inMax": 10, + "inMin": -10, + "outMax": 250, + "outMin": 50 + }, + "params": { + "CRAH": [ + -9, + 0, + 9 + ], + "DH": [ + -5, + 0, + -3, + 5, + -5 + ], + "DOAS": [ + 1, + 2, + 3, + 4 + ], + "FCU": [ + -9, + -8, + -7, + -6, + -5, + -4, + -3, + -2, + -1, + 0, + -5, + 5, + -5, + 5, + -5, + 5, + -5, + 5, + -5, + 5, + -5, + 5 + ], + "RTU": [ + -1, + -2, + -3 + ] + }, + "propConfig": { + "custom.Color": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.ColorHandler.Auxiliary.AncilliarySpace_1288": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.ER_1284": { + "binding": { + "config": { + "path": "view.params.FCU[13]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.ER_1287": { + "binding": { + "config": { + "path": "view.params.FCU[12]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.FirePblg_1285": { + "binding": { + "config": { + "path": "view.params.FCU[9]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Auxiliary.StreamIDF_1286": { + "binding": { + "config": { + "path": "view.params.FCU[10]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorA_1290": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorB_1291": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorC1_1293_1": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorD1_1293": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorD2_1293_2": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorE_1294": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorF_1295": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorG_1296": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorH1_1297_1": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Corridors.CorridorH2_1297_2": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH1.DH1_1260": { + "binding": { + "config": { + "path": "view.params.DH[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH1.Gallery_1261": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH1.Gallery_1262": { + "binding": { + "config": { + "path": "view.params.DH[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH1.StreamIDF_1264": { + "binding": { + "config": { + "path": "view.params.FCU[15]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH1.TenantIDF_1263": { + "binding": { + "config": { + "path": "view.params.CRAH[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH2.DH2_1270": { + "binding": { + "config": { + "path": "view.params.DH[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH2.Gallery_1271": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH2.Gallery_1272": { + "binding": { + "config": { + "path": "view.params.DH[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH2.StreamIDF_1274": { + "binding": { + "config": { + "path": "view.params.FCU[14]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH2.TenantIDF_1273": { + "binding": { + "config": { + "path": "view.params.CRAH[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH4.DH4_1280": { + "binding": { + "config": { + "path": "view.params.DH[4]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH4.Gallery_1281": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.DH4.Gallery_1282": { + "binding": { + "config": { + "path": "view.params.DH[4]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1242": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1243": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1244": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1245": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1246": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1247": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1248": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1249": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1250": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1251": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1252": { + "binding": { + "config": { + "path": "view.params.DOAS[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1254": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1255": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1256": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1257": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.ER_1258": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.MEP_1253": { + "binding": { + "config": { + "path": "view.params.DOAS[3]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.MechPower_1240": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Elec-Mech.MehcPower_1241": { + "binding": { + "config": { + "path": "view.params.DOAS[1]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Offices.ER_1229": { + "binding": { + "config": { + "path": "view.params.FCU[18]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Offices.PblgFP_132": { + "binding": { + "config": { + "path": "view.params.FCU[21]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Offices.StreamIDF_1218": { + "binding": { + "config": { + "path": "view.params.FCU[19]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.Offices.TenantOfficeShell_1200": { + "binding": { + "config": { + "path": "view.params.RTU[2]" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "concat({view.custom.Color}, toHex({value}))", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.inMax": { + "persistent": true + }, + "custom.inMin": { + "persistent": true + }, + "custom.outMax": { + "persistent": true + }, + "custom.outMin": { + "persistent": true + }, + "params.CRAH": { + "paramDirection": "input", + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.DOAS": { + "paramDirection": "input", + "persistent": true + }, + "params.FCU": { + "paramDirection": "input", + "persistent": true + }, + "params.RTU": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 312, + "width": 1155 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Second Floor" + }, + "position": { + "height": 300, + "width": 1155 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.ER_1284" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.FirePblg_1285" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.StreamIDF_1286" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.ER_1287" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Auxiliary.AncilliarySpace_1288" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairC_1290" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorA_1290" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorB_1291" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorF_1295" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorH1_1297_1" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairA_1223" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.UNKNOWN" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairB_1298" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.StairD_1283" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorD2_1293_2" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorH2_1297_2" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorD1_1293" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorH1_1297_1" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorC1_1293_1" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorE_1294" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Corridors.CorridorG_1296" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH2.StreamIDF_1274" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH2.TenantIDF_1273" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH2.Gallery_1271" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH2.Gallery_1272" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH2.DH2_1270" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH1.StreamIDF_1264" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH1.TenantIDF_1263" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH1.Gallery_1261" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH1.Gallery_1262" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH1.DH1_1260" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1257" + }, + "type": "property" + } + }, + "props.elements[4].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1248" + }, + "type": "property" + } + }, + "props.elements[4].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1247" + }, + "type": "property" + } + }, + "props.elements[4].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1246" + }, + "type": "property" + } + }, + "props.elements[4].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1245" + }, + "type": "property" + } + }, + "props.elements[4].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1244" + }, + "type": "property" + } + }, + "props.elements[4].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1243" + }, + "type": "property" + } + }, + "props.elements[4].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1242" + }, + "type": "property" + } + }, + "props.elements[4].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.MehcPower_1241" + }, + "type": "property" + } + }, + "props.elements[4].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.MechPower_1240" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1258" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1256" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1255" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1254" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.MEP_1253" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1252" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1251" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1250" + }, + "type": "property" + } + }, + "props.elements[4].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Elec-Mech.ER_1249" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.StreamIDF_1218" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.Receiving_1233" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.MRR_1221" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.TenantOfficeShell_1200" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.Space_1179" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.ER_1229" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.Freight_1230" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.PblgFP_132" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.Vestibule_1292" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.Freight_1232" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.Pass_1225" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.DAS_1219" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Offices.WRR_1222" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH4.Gallery_1281" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH4.Gallery_1282" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.DH4.DH4_1280" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[128].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[129].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[130].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[131].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[132].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[133].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[134].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[135].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[136].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[137].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[138].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[139].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[140].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[141].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[142].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[143].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[144].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "51.095", + "id": "_1284-ELEC", + "name": "_1284-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.57" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "159", + "id": "_1285-FIRE---PLBG", + "name": "_1285-FIRE---PLBG", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "459" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.959", + "id": "_1286-STREAM-IDF", + "name": "_1286-STREAM-IDF", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "48.401", + "id": "_1287-ELEC", + "name": "_1287-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "715.959" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "413.89", + "id": "_1288-ANCILLARY-SPACE", + "name": "_1288-ANCILLARY-SPACE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "764.36" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "74.162", + "id": "_1290-STAIRS-C", + "name": "_1290-STAIRS-C", + "type": "rect", + "width": "203.609", + "x": "1515.79", + "y": "1178.24" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.034", + "id": "_1298-STAIRS-B", + "name": "_1298-STAIRS-B", + "type": "rect", + "width": "203.488", + "x": "3802.63", + "y": "1178.22" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "204.973", + "id": "_1283-STAIRS-D", + "name": "_1283-STAIRS-D", + "type": "rect", + "width": "85", + "x": "3.128", + "y": "359.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-2-CORRIDOR-D-2", + "name": "_1293-2-CORRIDOR-D-2", + "type": "rect", + "width": "1565.25", + "x": "88.378", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297-2-CORRIDOR-H-2", + "name": "_1297-2-CORRIDOR-H-2", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-CORRIDOR-D-1", + "name": "_1293-CORRIDOR-D-1", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.652", + "id": "_1297-1-CORRIDOR-H-1", + "name": "_1297-1-CORRIDOR-H-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "1134.59" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-1-CORRIDOR-C-1", + "name": "_1293-1-CORRIDOR-C-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "170.5" + }, + { + "d": "M2894.63,1135l165.5,0l0,-119.139l-89.5,0.035l2.66,-626.222l86.84,-0.439l0,-46.294l-84.5,0.05l0.136,-107.491l-81.136,-0l0,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1294-CORRIDOR-E", + "name": "_1294-CORRIDOR-E", + "type": "path" + }, + { + "d": "M183.628,1135l63.25,0l0,-792.225l-84.75,0l0,-107.275l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1296-CORRIDOR-G", + "name": "_1296-CORRIDOR-G", + "type": "path" + }, + { + "d": "M4372.13,641.334l0,94.166l105.352,0l-0,-27.647l107.148,-0l0,-66.519l-99.279,0.357l0.16,-34.158l-74.688,-0.533l-0,34.334l-38.693,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1290-CORRIDOR-A", + "name": "_1290-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.084", + "id": "_1291-CORRIDOR-B", + "name": "_1291-CORRIDOR-B", + "type": "rect", + "width": "64.5", + "x": "4307.63", + "y": "235.5" + }, + { + "d": "M1488.64,1135l164.992,0l0,-120.965l-89.5,0l0,-626.5l89.5,0l0,-44.535l-84.25,-0.059l-0.189,-107.441l-80.561,-0l0.008,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1295-CORRIDOR-F", + "name": "_1295-CORRIDOR-F", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297--1-CORRIDOR-H-1", + "name": "_1297--1-CORRIDOR-H-1", + "type": "rect", + "width": "1469.5", + "x": "184.128", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1223-STAIRS-A", + "name": "_1223-STAIRS-A", + "type": "rect", + "width": "58.258", + "x": "4477.13", + "y": "707.853" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "50", + "x": "4373.13", + "y": "735.5" + } + ], + "id": "Corridors-and-Stairs", + "name": "Corridors-and-Stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.24", + "id": "_1274-STREAM-IDF", + "name": "_1274-STREAM-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "948.76" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "561.225", + "id": "_1273-TENANT-IDF", + "name": "_1273-TENANT-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "387.535" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1271-GALLERY", + "name": "_1271-GALLERY", + "type": "rect", + "width": "1325.56", + "x": "1569.06", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1272-GALLERY", + "name": "_1272-GALLERY", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.245", + "id": "_1270-DATA-HALL-2", + "name": "_1270-DATA-HALL-2", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "342.941" + } + ], + "id": "DH2", + "name": "DH2", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "66.58", + "id": "_1264-STREAM-IDF", + "name": "_1264-STREAM-IDF", + "type": "rect", + "width": "88.5", + "x": "2971.13", + "y": "389.603" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "559.317", + "id": "_1263-TENANT-IDF", + "name": "_1263-TENANT-IDF", + "type": "rect", + "width": "89", + "x": "2971.13", + "y": "456.183" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1261-GALLERY", + "name": "_1261-GALLERY", + "type": "rect", + "width": "1331.87", + "x": "2975.76", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1262-GALLERY-", + "name": "_1262-GALLERY-", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1260-DATAHALL---1", + "name": "_1260-DATAHALL---1", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "342.775" + } + ], + "id": "DH1", + "name": "DH1", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1257-ER", + "name": "_1257-ER", + "type": "rect", + "width": "231.631", + "x": "329.128", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1258-ER", + "name": "_1258-ER", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1256-ER", + "name": "_1256-ER", + "type": "rect", + "width": "232.369", + "x": "560.759", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.5", + "id": "_1255-ER", + "name": "_1255-ER", + "type": "rect", + "width": "231.771", + "x": "793.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1254-ER", + "name": "_1254-ER", + "type": "rect", + "width": "233.733", + "x": "1024.9", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1253-MEP-ROOM", + "name": "_1253-MEP-ROOM", + "type": "rect", + "width": "237.71", + "x": "1258.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1252-ER", + "name": "_1252-ER", + "type": "rect", + "width": "238.786", + "x": "1496.34", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1251-ER", + "name": "_1251-ER", + "type": "rect", + "width": "232.058", + "x": "1735.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1250-ER", + "name": "_1250-ER", + "type": "rect", + "width": "232.442", + "x": "1967.19", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1249-ER", + "name": "_1249-ER", + "type": "rect", + "width": "232.5", + "x": "2199.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1248-ER", + "name": "_1248-ER", + "type": "rect", + "width": "231.642", + "x": "2432.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1247-ER", + "name": "_1247-ER", + "type": "rect", + "width": "239.226", + "x": "2663.77", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1246-ER", + "name": "_1246-ER", + "type": "rect", + "width": "238.331", + "x": "2903", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1245-ER", + "name": "_1245-ER", + "type": "rect", + "width": "232.897", + "x": "3141.33", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1244-ER", + "name": "_1244-ER", + "type": "rect", + "width": "231.5", + "x": "3374.22", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1243-ER", + "name": "_1243-ER", + "type": "rect", + "width": "231.5", + "x": "3606.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1242-ER", + "name": "_1242-ER", + "type": "rect", + "width": "231.5", + "x": "3838.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1241-MECH-POWER", + "name": "_1241-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4070.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1240-MECH-POWER", + "name": "_1240-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4301.63", + "y": "0.345" + } + ], + "id": "Elec-Mech-Rooms", + "name": "Elec-Mech-Rooms", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1218-STREAM-IDF", + "name": "_1218-STREAM-IDF", + "type": "rect", + "width": "90.036", + "x": "4372.13", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1179-Space", + "name": "_1179-Space", + "type": "rect", + "width": "61.464", + "x": "4462.16", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "116", + "id": "_1229-ELEC", + "name": "_1229-ELEC", + "type": "rect", + "width": "62", + "x": "4372.13", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1230-FREIGHT", + "name": "_1230-FREIGHT", + "type": "rect", + "width": "101", + "x": "4434.13", + "y": "815.754" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "91.008", + "id": "_132-PLBG-FP", + "name": "_132-PLBG-FP", + "type": "rect", + "width": "132", + "x": "4372.13", + "y": "1087.08" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "74.548", + "id": "_1292-VESTIBULE", + "name": "_1292-VESTIBULE", + "type": "rect", + "width": "217.056", + "x": "4419.07", + "y": "933" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1232-FREIGHT", + "name": "_1232-FREIGHT", + "type": "rect", + "width": "101", + "x": "4535.13", + "y": "816.127" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "_1225-PASS", + "name": "_1225-PASS", + "type": "rect", + "width": "54", + "x": "4423.13", + "y": "735.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1219-DAS", + "name": "_1219-DAS", + "type": "rect", + "width": "49.241", + "x": "4535.39", + "y": "707.853" + }, + { + "d": "M4372.43,468.5l-0.3,173.191l38.714,0.309l0.316,-35.019l37.175,-0l0,-138.481l-75.905,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1222-WRR", + "name": "_1222-WRR", + "type": "path" + }, + { + "d": "M4372.13,1087.5l0,-154.225l46.944,-0.275l0,74.548l85.056,0l0,79.952l-132,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1233-RECEIVING", + "name": "_1233-RECEIVING", + "type": "path" + }, + { + "d": "M4523.33,468.5l0.297,173.191l-38.252,0.309l0.132,-34.62l-37.176,-0.399l0,-138.481l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1221-MRR", + "name": "_1221-MRR", + "type": "path" + }, + { + "d": "M4372.13,170.944l161.521,-0.409l-0,-170.19l241.055,0l-0.026,417.527l33.233,0.171l-0,368.658l-33.257,-0.446l-0.026,393.745l-270.392,-1.913l0.071,-169.285l131.771,1.464l0,-192.326l-51.45,-3.725l0,-174.843l-60.43,-0.041l-1.014,-234.56l-151.056,-2.093l0,-231.734Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1200-TENANT-OFFICE-SHELL", + "name": "_1200-TENANT-OFFICE-SHELL", + "type": "path" + } + ], + "id": "Offices", + "name": "Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1281-GALLERY", + "name": "_1281-GALLERY", + "type": "rect", + "width": "1326.5", + "x": "162.128", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1282-GALLERY", + "name": "_1282-GALLERY", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1280-DATA-HALL-4", + "name": "_1280-DATA-HALL-4", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "342.775" + } + ], + "id": "DH4", + "name": "DH4", + "type": "group" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "style": { + "transition": "fill 0.25s linear" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,368.223l-33.283,0l0,391.5l-787.5,0.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3967.13,1178.09l-2264.08,0.15", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1680.63,1178.24l-157,0.01", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4129.13,170.306l133,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,978.886l0,36.649l-88.5,0l0,-626.3l4.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3014.13,389.235l45.5,-0l0,100.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,527.535l0,413", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2971.13,456.183l88.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4317.63,170.306l-35.5,-0.021l20.397,0.021l-0,-169.961l-1399.13,0l0.04,170.19", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-41,0l20.835,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3586.39,170.5l40.213,-0l-20.874,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3565.92,170.5l-153.279,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3374.13,0.035l-0.25,170.465l19.081,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,90.184", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,24.301l0,-97.908", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,956.535l0,220.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.7,1130l-0,5l1247.92,0l0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1091.5l0,-32.5l0,4.798l-1247.92,-0l-0,-4.798l-0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2975.76,279.882l-0,-44.382l1331.86,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,319.166l0,23.775l-1331.67,0l-0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,1021.17l0,-559.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,423.535l0,-36l-89.5,0l0,575l0,-13.648l89.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1564.13,974.035l0,40l89.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1017.79l0,-633.291", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1020l0,-677.059", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M184.128,918.535l0,-159l0,5l-96,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4533.65,0.345l-0,170.19l-176.861,0l15.34,0l0,109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,298.432l0,109.5l0,-5.038l151.68,0l-0,238.345l-38.283,-0l0,-4.417l0,4.417l99.103,-0l0,4.785", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4584.63,667.425l0,149.11l51.45,0l0,136.168l0,-20.246l-8.65,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.08,972.948l0,34.587l-145.952,0l13.62,0l0,170.552", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1178.09l0,-22.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1117.98l0,-50.944l0,20.024l131.228,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1010.86l0,-37.914", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4433.13,1007.78l-14,0l0,-34.837", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.38,953.035l0.14,-25.363l0,5.363l71.412,0l-9.032,0l-0.439,-116.588l-11.395,-0.077l-0.116,-80.663l-19.82,0l36.569,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4381.72,735.785l-9.343,-0.25l0,172l0,-91.03l212.25,-0.24", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4476.97,817.035l0.655,-81.5l-10.409,0l10.409,0l0,-27.682l4.315,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4502.13,707.853l57.115,-0l-23.559,-0l0,225.182l-9.557,0l15.999,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.13,953.035l0,-20", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4410.88,637.035l-0,4.656l-38.448,0l0,-213.533", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,468.395l151.811,-0.471", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4461.67,468.395l-0.188,-64.361", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4448.33,467.924l-0.495,139.076l37.671,0.035l-0,9.778l-0,-9.778l-74.351,0l0,9.873", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Second-Floor-Walls", + "name": "Second-Floor-Walls", + "style": { + "transition": "fill 0.25s linear" + }, + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "pointer-events": "none" + }, + "viewBox": "0 0 4809 1255" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/Alarm Journal OLD 20260311 EN/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/Alarm Journal OLD 20260311 EN/resource.json new file mode 100644 index 0000000..7e45ef2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/Alarm Journal OLD 20260311 EN/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5579d486126be2a5852addb916e2ea37c8512d6e0527c582a0fc3a44257c1115", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:36:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/Alarm Journal OLD 20260311 EN/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/Alarm Journal OLD 20260311 EN/thumbnail.png new file mode 100644 index 0000000..c38c298 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/Alarm Journal OLD 20260311 EN/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/Alarm Journal OLD 20260311 EN/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/Alarm Journal OLD 20260311 EN/view.json new file mode 100644 index 0000000..f4e05ce --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/Alarm Journal OLD 20260311 EN/view.json @@ -0,0 +1,602 @@ +{ + "custom": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "filters": { + "alm": [], + "prov": [], + "tag": [] + } + }, + "params": {}, + "propConfig": { + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.filters": { + "onChange": { + "enabled": null, + "script": "\tif currentValue is not None:\n\t\tself.getChild(\"root\").getChild(\"AlarmJournalTable\").refreshData()" + }, + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "IO GW:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "alignItems": "flex-start", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_Common_IO_Gtwy", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_Common_IO_Gtwy", + "source": "prov" + }, + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_SATB1_IO1_default", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_SATB1_IO1_default", + "source": "prov" + } + ], + "path": "Library/Templates/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tsystem.perspective.sendMessage(\u0027clearFilters\u0027, {\n\t\t\u0027source\u0027: source\n\t})\n\tself.parent.parent.parent.parent.getChild(\"AlarmStatusTable\").custom.filters[source] \u003d []" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "prov" + }, + "position": { + "display": false, + "grow": 1 + }, + "props": { + "style": { + "borderBottom": "1px solid var(--border)", + "borderTop": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "Quick Search:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.instances[11].label": { + "binding": { + "config": { + "expression": "\u0027\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH1", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH2", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH3", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH4", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH5", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "CHWS", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Electrical", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--callToAction)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "", + "mode": "", + "selected": false, + "source": "tag" + } + ], + "path": "Library/Templates/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tself.view.custom.filters[source] \u003d []\n\tflexRepeater \u003d self.parent.parent.getChild(\"FlexRepeater\")\n\ttoDelete \u003d []\n\tfor i, instance in enumerate(flexRepeater.props.instances):\n\t\tinstance[\u0027selected\u0027] \u003d False\n\t\tif instance[\u0027mode\u0027] \u003d\u003d \u0027Custom\u0027:\n\t\t\tinstance[\u0027label\u0027] \u003d \u0027\u0027\n\t\t\tif i \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\ttoDelete.append(i)\n\tfor index in reversed(toDelete):\n\t\tflexRepeater.props.instances.pop(index)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "tag" + }, + "position": { + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "RadioGroup" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "expression": "0" + }, + "type": "expr" + }, + "onChange": { + "enabled": null, + "script": "\tif currentValue is not None:\n\t\tself.getSibling(\"AlarmJournalTable\").refreshData()" + } + } + }, + "props": { + "align": "start", + "radioStyle": { + "padding": "0px 10px" + }, + "radios": [ + { + "selected": true, + "text": "Match on ANY", + "value": 0 + }, + { + "selected": false, + "text": "Match on ALL", + "value": 1 + } + ], + "style": { + "borderLeft": "1px solid var(--border)", + "borderRight": "1px solid var(--border)", + "fontSize": "0.8em", + "padding": "4px 5px" + } + }, + "type": "ia.input.radio-group" + }, + { + "meta": { + "name": "AlarmJournalTable" + }, + "position": { + "grow": 1 + }, + "props": { + "columns": { + "displayPath": { + "enabled": true + }, + "eventId": { + "enabled": false + }, + "label": { + "enabled": true + }, + "source": { + "enabled": false + } + }, + "dateRange": { + "historical": { + "endDate": { + "$": [ + "ts", + 0, + 1729635409199 + ], + "$ts": 1729494000000 + }, + "startDate": { + "$": [ + "ts", + 0, + 1729635406447 + ], + "$ts": 1729407600000 + } + }, + "realtime": { + "interval": 10, + "unit": "minutes" + } + }, + "filter": { + "events": { + "acked": false, + "active": false, + "cleared": false + }, + "priorities": { + "critical": false, + "high": false, + "low": false, + "medium": false + } + }, + "rowStyles": { + "acked": { + "priorities": { + "critical": { + "backgroundColor": "#e2202860" + }, + "high": { + "backgroundColor": "#de7c3360" + }, + "low": { + "backgroundColor": "#7266b760" + }, + "medium": { + "backgroundColor": "#f4b83460" + } + } + }, + "active": { + "priorities": { + "critical": { + "backgroundColor": "#e22028b0" + }, + "high": { + "backgroundColor": "#de7c33b0" + }, + "low": { + "backgroundColor": "#7266b7b0" + }, + "medium": { + "backgroundColor": "#f4b834b0" + } + } + } + }, + "toolbar": { + "enableFilter": false + } + }, + "scripts": { + "customMethods": [ + { + "name": "convertToDict", + "params": [ + "input_str" + ], + "script": " # Split by \u0027:/\u0027, keeping \u0027:\u0027 within key-value pairs\n parts \u003d input_str.split(\u0027:/\u0027)\n result_dict \u003d {}\n \n # Loop through the parts and create key-value pairs\n for part in parts:\n key, value \u003d part.split(\u0027:\u0027, 1)\n result_dict[key] \u003d value\n \n return result_dict" + } + ], + "extensionFunctions": [ + { + "enabled": true, + "name": "filterAlarm", + "script": "\tresult \u003d True\n\tsource \u003d self.convertToDict(alarmEvent.get(\u0027source\u0027).toString())\n\tprov \u003d source[\u0027prov\u0027]\n\ttag \u003d source[\u0027tag\u0027]\n\talm \u003d source[\u0027alm\u0027]\n\t\n\tfilters \u003d self.view.custom.filters\n\tmatchRule \u003d self.getSibling(\"RadioGroup\").props.value\n\t\n\tif len(filters[\u0027prov\u0027]) \u003e 0:\n\t\tif prov not in filters[\u0027prov\u0027]:\n\t\t\tresult \u003d False\n\t\t\t\n\tif len(filters[\u0027tag\u0027]) \u003e 0:\n\t if matchRule \u003d\u003d 0: # match on ANY\n\t result \u003d False \n\t for t in filters[\u0027tag\u0027]:\n\t if t.upper() in tag.upper():\n\t result \u003d True\n\t break # If any tag matches, we can break out of the loop\n\t elif matchRule \u003d\u003d 1: # match on ALL\n\t for t in filters[\u0027tag\u0027]:\n\t if t.upper() not in tag.upper():\n\t result \u003d False\n\t break # If any tag doesn\u0027t match, stop and return False\n\t\n\treturn result" + } + ], + "messageHandlers": [] + }, + "type": "ia.display.alarmjournaltable" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "addFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index].selected \u003d True", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "customFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index][\u0027selected\u0027] \u003d True\n\t\tflexRepeater.props.instances[index][\u0027label\u0027] \u003d label\n\t\tflexRepeater.props.instances.append({\n\t\t\t\"color\": \"var(--neutral-50)\",\n\t\t\t\"filterString\": \"\",\n\t\t\t\"instancePosition\": {},\n\t\t\t\"instanceStyle\": {\n\t\t\t\"classes\": \"\"\n\t\t\t},\n\t\t\t\"mode\": \"Custom\",\n\t\t\t\"selected\": False,\n\t\t\t\"source\": \"tag\",\n\t\t\t\"label\": \"\"\n\t\t\t})", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "removeFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\ti \u003d self.view.custom.filters[source].index(label)\n\t\tself.view.custom.filters[source].pop(i)\n\t\tflexRepeater.props.instances[index].selected \u003d False\n\t\tif flexRepeater.props.instances[index].mode \u003d\u003d \u0027Custom\u0027:\n\t\t\tflexRepeater.props.instances[index].label \u003d \u0027\u0027\n\t\t\tif index \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\tflexRepeater.props.instances.pop(index)\n\telse:\n\t\tpass", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/TableTrends 2026-02-12 EN/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/TableTrends 2026-02-12 EN/resource.json new file mode 100644 index 0000000..454cced --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/TableTrends 2026-02-12 EN/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4df692fc8e232f0bd3dac0d75a296f6c74ed47dfff715ed0389fac82cc9ff9e2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:39:14Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/TableTrends 2026-02-12 EN/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/TableTrends 2026-02-12 EN/thumbnail.png new file mode 100644 index 0000000..78750a1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/TableTrends 2026-02-12 EN/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/TableTrends 2026-02-12 EN/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/TableTrends 2026-02-12 EN/view.json new file mode 100644 index 0000000..7047223 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Pages/TableTrends 2026-02-12 EN/view.json @@ -0,0 +1,932 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 1255 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onKeyDown": { + "config": { + "script": "\tif event.key \u003d\u003d \"Enter\":\n\t\tself.getSibling(\"Button\").findtags(self.props.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TextField" + }, + "position": { + "basis": "183px", + "grow": 1, + "shrink": 0 + }, + "props": { + "placeholder": "Tag Name" + }, + "type": "ia.input.text-field" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.findtags(self.getSibling(\"TextField\").props.text)\t\n\tself.parent.parent.getChild(\"Table\").props.data \u003d []\n\tsearchText \u003d self.getSibling(\"TextField\").props.text\n\t\n\tdef doSucc(message):\n\t\tself.parent.parent.getChild(\"Table\").props.data +\u003d message\n\tdef doFail(message):\n\t\tsystem.perspective.print(\"FAILED %s\"%message)\n\n\t_res \u003d []\n\tif len(searchText) \u003e 2:\t\n\t\tfor gw in [\"Ignition-SATB1-IO1\",\"Ignition-SATB1-IO2\", \"Ignition-SATB1-IO3\",\"Ignition-SATB1-IO6\"]:\n\t\t\thndlr \u003d system.util.sendRequestAsync(\"global\", \"FindTags\", payload\u003d{\"search\":searchText}, remoteServer\u003dgw,\n\t\t\tonSuccess\u003ddoSucc, onError\u003ddoFail)\n\t\t\t_res+\u003dsystem.util.sendRequest(\"global\", \"FindTags\", payload\u003d{\"search\":searchText}, remoteServer\u003dgw)\n\t\n\tself.parent.parent.getChild(\"Table\").props.data \u003d _res\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "40px" + }, + "props": { + "image": { + "icon": { + "path": "material/search" + } + }, + "text": "" + }, + "scripts": { + "customMethods": [ + { + "name": "findtags", + "params": [ + "searchText" + ], + "script": "\tself.parent.parent.getChild(\"Table\").props.data \u003d []\n\t\n\tdef doSucc(message):\n\t\tself.parent.parent.getChild(\"Table\").props.data +\u003d message\n\tdef doFail(message):\n\t\tsystem.perspective.print(\"FAILED %s\"%message)\n\n\t_res \u003d []\n\tif len(searchText) \u003e 2:\t\n\t\tfor gw in [\"Ignition-SATB1-IO1\",\"Ignition-SATB1-IO2\",\"Ignition-SATB1-IO3\",\n\t\t\t\t\"Ignition-SATB1-IO6\"]:\n#\t\t\thndlr \u003d system.util.sendRequestAsync(\"global\", \"FindTags\", payload\u003d{\"search\":searchText}, remoteServer\u003dgw,\n#\t\t\tonSuccess\u003ddoSucc, onError\u003ddoFail)\n\t\t\t_res+\u003dsystem.util.sendRequest(\"global\", \"FindTags\", payload\u003d{\"search\":searchText}, remoteServer\u003dgw)\n\t\n\tself.parent.parent.getChild(\"Table\").props.data \u003d _res\t" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.data": { + "persistent": false + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "fullPath", + "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": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "partialPath", + "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": "" + } + ], + "enableHeader": false, + "pager": { + "bottom": false + }, + "rows": { + "style": { + "fontSize": 12 + } + }, + "selection": { + "mode": "multiple interval" + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "TagSelect" + }, + "position": { + "basis": "325px" + }, + "props": { + "direction": "column", + "style": { + "gap": "5px", + "overflow": "visible", + "paddingLeft": "5px", + "paddingRight": "5px", + "paddingTop": "80px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Mode" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "36px" + }, + "props": { + "options": [ + { + "label": "Historical", + "value": "historical" + }, + { + "label": "Realtime", + "value": "realtime" + } + ], + "value": "historical" + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Mode" + }, + "position": { + "basis": "150px", + "shrink": 0 + }, + "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": { + "expression": "addDays({.../EndDate/DateTimeInput.props.value}, -1)" + }, + "type": "expr" + } + } + }, + "props": { + "formattedValue": "Sep 22, 2025 8:06 AM", + "inputProps": { + "style": { + "fontSize": 12 + } + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "StartDate" + }, + "position": { + "basis": "160px", + "shrink": 0 + }, + "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": { + "expression": "addDays(now(0),-1)" + }, + "type": "expr" + } + } + }, + "props": { + "formattedValue": "Sep 23, 2025 8:06 AM", + "inputProps": { + "style": { + "fontSize": 12 + } + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "EndDate" + }, + "position": { + "basis": "160px", + "shrink": 0 + }, + "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 + }, + "props": { + "format": 0, + "value": 1 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "256px" + }, + "props": { + "options": [ + { + "label": "min", + "value": "minutes" + }, + { + "label": "hour", + "value": "hours" + }, + { + "label": "day", + "value": "days" + } + ], + "value": "hours" + }, + "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", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "gap": "5px", + "paddingRight": "3px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tspp \u003d self.parent.parent\n\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 [row[\"fullPath\"] for row in self.parent.parent.parent.parent.getChild(\"TagSelect\").getChild(\"Table\").props.selection.data]\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\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": "114px", + "shrink": 0 + }, + "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": "Data" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/RTU02/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/RTU02/resource.json new file mode 100644 index 0000000..99a5d6f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/RTU02/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4930bbbdcb6169149024bf4ac355906f9f91d30c7f983f4b66a52d1936afce8c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:14:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/RTU02/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/RTU02/thumbnail.png new file mode 100644 index 0000000..28ffab5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/RTU02/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/RTU02/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/RTU02/view.json new file mode 100644 index 0000000..e097e18 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/RTU02/view.json @@ -0,0 +1,1569 @@ +{ + "custom": { + "AlarmSeverity": 1, + "colorHandler": { + "lines": "var(--olGray)", + "text": "var(--olGray)" + } + }, + "params": { + "embedded": false, + "objectName": "RTU-1", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 500 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "RTU" + }, + "position": { + "height": 500, + "width": 800 + }, + "propConfig": { + "props.elements[0].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[10].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[10].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M2153.45,1795.27l192.532,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2345.98,1795.27l38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2345.98,1795.27l38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M206.215,1793.39l166.097,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M206.215,1793.39l38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M206.215,1793.39l38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M3758.85,107.845l85.586,125.272l-85.586,125.272l-2062.52,0l0,1307.41l539.296,0l-83.154,129.615c27.718,43.569 55.436,86.045 83.154,129.614l-1781.25,0l-82.06,-129.614l82.06,-129.615l981.513,0l0,-1307.41l-427.621,0l84.854,-125.272l-84.854,-125.272l2750.59,-0Z", + "fill": { + "paint": "var(--containerNested)" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M4234.1,233.117l-389.655,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4234.1,233.117l-38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4234.1,233.117l-38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1090.11,233.117l-358.583,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M731.529,233.117l-38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M731.529,233.117l-38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "RTU-Box", + "name": "RTU-Box", + "type": "group" + }, + { + "fill": { + "paint": "#ebebeb" + }, + "height": "250.544", + "id": "Filter", + "name": "Filter", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "1905.73", + "y": "107.845" + }, + { + "fill": { + "paint": "#ebebeb" + }, + "height": "250.544", + "id": "DX-Cooling-Coil", + "name": "DX-Cooling-Coil", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "2278.92", + "y": "107.917" + }, + { + "fill": { + "paint": "#ebebeb" + }, + "height": "250.544", + "id": "Hot-Gas-Reheater", + "name": "Hot-Gas-Reheater", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "2660.05", + "y": "107.917" + }, + { + "d": "M1836.36,1786.87c0,63.24 51.343,114.583 114.583,114.583c63.241,0 114.584,-51.343 114.584,-114.583c-0,-63.24 -51.343,-114.583 -114.584,-114.583l-174.265,-0l-0,114.583l59.682,-0Z", + "fill": { + "paint": "#f0f0f0" + }, + "id": "Return-Fan", + "name": "Return-Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3308.72,225.947c-0,63.24 -51.343,114.583 -114.583,114.583c-63.241,0 -114.584,-51.343 -114.584,-114.583c0,-63.24 51.343,-114.583 114.584,-114.583l174.265,-0l0,114.583l-59.682,0Z", + "fill": { + "paint": "#f0f0f0" + }, + "id": "Supply-Fan", + "name": "Supply-Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1217.76,73.6111)", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,189.313,1778.31)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Relief", + "type": "text", + "x": "61.481px", + "y": "1778.32px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "95.356px", + "y": "1828.32px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,670.636,222.75)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Outside", + "type": "text", + "x": "498.322px", + "y": "222.75px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "553.222px", + "y": "272.75px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2539.51,1787.89)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Return", + "type": "text", + "x": "2389.44px", + "y": "1787.89px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "2432.27px", + "y": "1837.89px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,778.081,1595.19)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Gravity", + "type": "text", + "x": "619.731px", + "y": "1595.19px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Damper", + "type": "text", + "x": "622.581px", + "y": "1645.19px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1901.74,730.379)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Return", + "type": "text", + "x": "1751.66px", + "y": "730.379px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "1754.51px", + "y": "780.379px" + } + ], + "name": "group", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,2058.54,250.74)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Filter", + "type": "text", + "x": "1947.43px", + "y": "250.74px" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2845.5,229.889)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Cooling", + "type": "text", + "x": "2675.95px", + "y": "229.889px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Coil", + "type": "text", + "x": "2717.02px", + "y": "279.544px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2460.68,231.269)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Electric", + "type": "text", + "x": "2296.76px", + "y": "231.269px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Heat", + "type": "text", + "x": "2323.57px", + "y": "280.924px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,4383.68,223.2)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Supply", + "type": "text", + "x": "4230.8px", + "y": "223.2px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "4273.62px", + "y": "272.75px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,3245.87,210.25)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "3159.72px", + "y": "210.25px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(SF)", + "type": "text", + "x": "3155.54px", + "y": "260.9px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1992.64,1765.81)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "1906.49px", + "y": "1765.82px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(RF)", + "type": "text", + "x": "1902.31px", + "y": "1816.47px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#ebebeb" + }, + "height": "86.594", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "254.279", + "x": "1439.45", + "y": "539.453" + }, + { + "d": "M1439.45,582.75l254.279,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1566.6,539.453l63.569,86.593l63.57,-86.593", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1439.45,539.453l63.57,86.593l63.57,-86.593", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Return-Damper", + "name": "Return-Damper", + "type": "group" + }, + { + "elements": [ + { + "d": "M1306.88,354.878l-86.593,0l-0,-243.075l86.593,-0l0,243.075Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1263.58,111.803l-0,243.075", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1306.88,233.34l-86.593,60.769l86.593,60.769", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1306.88,111.803l-86.593,60.769l86.593,60.768", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Outside-Damper", + "name": "Outside-Damper", + "type": "group" + }, + { + "elements": [ + { + "d": "M757.675,1921.04l-86.593,-0l-0,-251.181l86.593,-0l0,251.181Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M714.379,1669.86l-0,251.181", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M757.675,1795.45l-86.593,62.796l86.593,62.795", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M757.675,1669.86l-86.593,62.795l86.593,62.795", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Gravity-Damper", + "name": "Gravity-Damper", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4388 1959" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Transmitter_3" + }, + "position": { + "height": 20, + "width": 100, + "x": 67.5, + "y": 37 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_4" + }, + "position": { + "height": 20, + "width": 100, + "x": 67.5, + "y": 60 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Humidity" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%RH", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_5" + }, + "position": { + "height": 20, + "width": 100, + "x": 688.5, + "y": 133 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_9" + }, + "position": { + "height": 20, + "width": 80, + "x": 310, + "y": 239 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_10" + }, + "position": { + "height": 20, + "width": 80, + "x": 310, + "y": 263 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Humidity" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%RH", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_6" + }, + "position": { + "height": 20, + "width": 100, + "x": 67.5, + "y": 83 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Flow" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "cfm", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "rotate": { + "anchor": "50% 25%" + }, + "width": 82, + "x": 323, + "y": 55 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Dirty Filter" + }, + "transforms": [ + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Filter Good" + }, + { + "input": true, + "output": "Filter Bad" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 50, + "x": 204, + "y": 47 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "height": 353, + "width": 640, + "x": 68, + "y": 86 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 35, + "width": 39, + "x": 690.5, + "y": 62 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_7" + }, + "position": { + "height": 20, + "width": 100, + "x": 693, + "y": 312 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Space Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 32, + "width": 76, + "x": 713, + "y": 331 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontSize": 12 + }, + "text": "Space Temperature", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 425.5, + "y": 30.984375 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Tag Configold/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Tag Configold/resource.json new file mode 100644 index 0000000..e22f925 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Tag Configold/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "444fb73d7558665153044b371548496f67996b426cbfd6edf9451735fef87060", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:25:52Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Tag Configold/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Tag Configold/thumbnail.png new file mode 100644 index 0000000..ec96ad8 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Tag Configold/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Tag Configold/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Tag Configold/view.json new file mode 100644 index 0000000..e55284b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Tag Configold/view.json @@ -0,0 +1,264 @@ +{ + "custom": {}, + "params": { + "dataType": "Int4", + "enabled": true, + "format": "##.##", + "isArray": false, + "max": null, + "min": null, + "name": "", + "options": [], + "substitute": null, + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[0]" + }, + "propConfig": { + "params.dataType": { + "paramDirection": "input", + "persistent": true + }, + "params.enabled": { + "paramDirection": "input", + "persistent": true + }, + "params.format": { + "paramDirection": "input", + "persistent": true + }, + "params.isArray": { + "paramDirection": "input", + "persistent": true + }, + "params.max": { + "paramDirection": "input", + "persistent": true + }, + "params.min": { + "paramDirection": "input", + "persistent": true + }, + "params.name": { + "paramDirection": "input", + "persistent": true + }, + "params.options": { + "paramDirection": "input", + "persistent": true + }, + "params.substitute": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Name", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "40%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.OpcItemPath" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.name" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Input", + "tooltip": {} + }, + "position": { + "basis": "200px", + "shrink": 0 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.OpcItemPath" + }, + "type": "tag" + } + }, + "position.display": { + "binding": { + "config": { + "path": "view.params.name" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d \u0027\u0027:\n\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + }, + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "type": "property" + } + }, + "props.params.format": { + "binding": { + "config": { + "path": "view.params.format" + }, + "type": "property" + } + }, + "props.params.isArray": { + "binding": { + "config": { + "path": "view.params.isArray" + }, + "type": "property" + } + }, + "props.params.max": { + "binding": { + "config": { + "path": "view.params.max" + }, + "type": "property" + } + }, + "props.params.min": { + "binding": { + "config": { + "path": "view.params.min" + }, + "type": "property" + } + }, + "props.params.options": { + "binding": { + "config": { + "path": "view.params.options" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "case({view.params.dataType},\r\n\u0027Boolean\u0027, \u0027Library/Templates/Framework/Input/Boolean\u0027,\r\n\u0027Int4\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027Int8\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027Float4\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027Float8\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027String\u0027, \u0027Library/Templates/Framework/Input/String\u0027,\r\n\u0027\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "minWidth": "100px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.name" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d \u0027\u0027:\n\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}.engUnit" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible", + "padding": "0 10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/DH_Card/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/DH_Card/resource.json new file mode 100644 index 0000000..8fc8427 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/DH_Card/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3bc95fcf723f4e7b3c7972c2ebbccf1f2abda6cf7f3e176ff4a36c191205af4d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:32:48Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/DH_Card/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/DH_Card/thumbnail.png new file mode 100644 index 0000000..50abf6e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/DH_Card/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/DH_Card/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/DH_Card/view.json new file mode 100644 index 0000000..4b26e1a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/DH_Card/view.json @@ -0,0 +1,129 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 75, + "width": 150 + } + }, + "root": { + "children": [ + { + "meta": { + "contextMenu": { + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "menu-item", + "type": "link" + } + ] + }, + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "223px" + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "label": { + "style": { + "fontSize": 18 + } + }, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null, + "processValue": 49.5 + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "basis": "320px" + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 18, + "Val": 83 + }, + "path": "Library/CommonObjects/Transmitter" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "MovingAnalogIndicator_0" + }, + "position": { + "basis": "223px" + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null, + "reverseIndicator": true + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Transmitter_0" + }, + "position": { + "basis": "320px" + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 18, + "Val": 83 + }, + "path": "Library/CommonObjects/Transmitter" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Sparkline-MVA/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Sparkline-MVA/resource.json new file mode 100644 index 0000000..2bb5260 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Sparkline-MVA/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dafe9317ff07e96faa77b7baca086ddffc147fc2de8f024e4814565d29c114d9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:34:29Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Sparkline-MVA/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Sparkline-MVA/thumbnail.png new file mode 100644 index 0000000..0f09262 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Sparkline-MVA/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Sparkline-MVA/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Sparkline-MVA/view.json new file mode 100644 index 0000000..28d665c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Sparkline-MVA/view.json @@ -0,0 +1,157 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 150, + "width": 150 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Sparkline" + }, + "position": { + "height": 0.9724, + "width": 0.8061 + }, + "props": { + "points": [ + 59, + 80, + 80, + 100, + 68, + 62, + 87, + 72, + 42, + 49, + 58, + 53, + 57, + 51, + 42, + 32, + 37, + 30, + 24, + 38, + 57, + 29, + 18, + 32, + 38, + 24, + 24, + 24, + 20, + 21, + 29, + 32, + 26, + 18, + 32, + 36, + 30, + 36, + 29, + 32, + 29, + 28, + 41, + 20, + 28, + 58, + 18, + 24, + 16, + 2, + 22, + 17, + 22, + 21, + 12, + 22, + 14, + 13, + 11, + 20, + 16, + 16, + 18, + 12, + 28, + 28, + 32, + 16, + 16, + 24, + 16, + 20, + 14, + 18, + 12, + 26, + 17, + 11, + 30, + 16, + 9, + 20, + 42, + 13, + 13, + 24, + 17, + 13, + 20, + 12, + 14, + 13, + 14, + 71, + 82, + 20, + 16, + 20, + 22, + 17, + 5 + ] + }, + "type": "ia.display.sparkline" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "height": 0.9933, + "width": 0.3, + "x": 0.689 + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Transmitter/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Transmitter/resource.json new file mode 100644 index 0000000..573626f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Transmitter/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1e36bfa9e6a733bd0094f97bbd6174464823a866483d5724aff40ed6882a91f9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:14:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Transmitter/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Transmitter/thumbnail.png new file mode 100644 index 0000000..b40e2d1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Transmitter/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Transmitter/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Transmitter/view.json new file mode 100644 index 0000000..021b56d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Archive/Widgets/Transmitter/view.json @@ -0,0 +1,275 @@ +{ + "custom": { + "AlarmSeverity": null + }, + "params": { + "embeded": false, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_DP" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.embeded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 100 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "fontSize": 12, + "overflow": "visible" + }, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "format": "##0.0#", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "basis": "35px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "alignContent": "flex-start", + "style": { + "gap": "3px", + "overflow": "visible", + "paddingLeft": 3, + "paddingRight": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "basis": "0.1%" + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "style": { + "marginLeft": -10, + "marginTop": -15, + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif self.view.params.embeded:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\t\t\t\u0027top\u0027:\u00270\u0027,\n\t\t\t\t\u0027width\u0027: \u00271000px\u0027,\n\t\t\t\t\u0027height\u0027: \u0027800px\u0027\n\t\t\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\telse:\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible", + "padding": "3px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/AlarmJournal_Export/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/AlarmJournal_Export/resource.json new file mode 100644 index 0000000..c95cd0d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/AlarmJournal_Export/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "20cc8fddeeeb823b42461febc869a4e9880ec3c81f80be2f7141c58415a724a3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:39:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/AlarmJournal_Export/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/AlarmJournal_Export/thumbnail.png new file mode 100644 index 0000000..1e0387c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/AlarmJournal_Export/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/AlarmJournal_Export/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/AlarmJournal_Export/view.json new file mode 100644 index 0000000..db758d0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/AlarmJournal_Export/view.json @@ -0,0 +1,359 @@ +{ + "custom": {}, + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tend \u003d system.date.now()\n\tstart \u003d system.date.addDays(end, -1)\n\tself.getChild(\"root\").getChild(\"AlarmJournalTable\").props.dateRange.historical.startDate \u003d start\n\tself.getChild(\"root\").getChild(\"AlarmJournalTable\").props.dateRange.historical.endDate \u003d end" + }, + "scope": "G", + "type": "script" + } + } + }, + "params": {}, + "props": { + "defaultSize": { + "height": 1163, + "width": 1290 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "80%", + "grow": 1 + }, + "props": { + "placeholder": "Use * for wildcard - e.g. *SomeTag/Alarm*" + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Source Filter" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "style": { + "paddingBottom": "10px", + "paddingLeft": "10px", + "paddingRight": "10px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "80%", + "grow": 1 + }, + "props": { + "placeholder": "Use * for wildcard - e.g. *CHWP\n*" + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Display Path Filter" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "style": { + "paddingBottom": "10px", + "paddingLeft": "10px", + "paddingRight": "10px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "AlarmJournalTable" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.filter.conditions.displayPath": { + "binding": { + "config": { + "path": "../Header/Display Path Filter/TextField.props.text" + }, + "type": "property" + } + }, + "props.filter.conditions.source": { + "binding": { + "config": { + "path": "../Header/Source Filter/TextField.props.text" + }, + "type": "property" + } + } + }, + "props": { + "columns": { + "displayPath": { + "enabled": true + }, + "eventId": { + "enabled": false + }, + "state": { + "enabled": true + } + }, + "dateRange": { + "historical": { + "endDate": { + "$": [ + "ts", + 192, + 1776346653933 + ], + "$ts": 1776346653931 + }, + "startDate": { + "$": [ + "ts", + 192, + 1776346653933 + ], + "$ts": 1776260253931 + } + }, + "realtime": { + "interval": 1 + } + }, + "filter": { + "conditions": {}, + "events": { + "acked": false, + "active": false, + "cleared": false + }, + "priorities": { + "critical": false, + "high": false, + "low": false, + "medium": false + } + }, + "pager": { + "initialOption": 100 + }, + "rowStyles": { + "acked": { + "base": { + "color": "#000000" + }, + "priorities": { + "critical": { + "backgroundColor": "#e2202888" + }, + "diagnostic": { + "backgroundColor": "#7166b788" + }, + "high": { + "backgroundColor": "#de7c3388" + }, + "low": { + "backgroundColor": "#7266b788" + }, + "medium": { + "backgroundColor": "#f4b83488" + } + } + }, + "active": { + "base": { + "color": "#000000" + }, + "priorities": { + "critical": { + "backgroundColor": "#ed1c24" + }, + "diagnostic": { + "backgroundColor": "#7166b7", + "color": "#FFFFFF" + }, + "high": { + "backgroundColor": "#de7c33" + }, + "low": { + "backgroundColor": "#7166b7", + "color": "#FFFFFF" + }, + "medium": { + "backgroundColor": "#f4b834" + } + } + }, + "cleared": { + "base": { + "color": "#FFFFFF" + }, + "priorities": { + "critical": { + "backgroundColor": "#2E5EAA" + }, + "diagnostic": { + "backgroundColor": "#FFFFFF" + }, + "high": { + "backgroundColor": "#507ABF" + }, + "low": { + "backgroundColor": "#A0BEEF" + }, + "medium": { + "backgroundColor": "#7198D6" + } + } + } + }, + "toolbar": { + "enableFilter": false, + "enableFilterResults": false, + "toggleableFilter": false + } + }, + "type": "ia.display.alarmjournaltable" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\t\n\tdateRange \u003d self.parent.parent.getChild(\"AlarmJournalTable\").props.dateRange\n\tif dateRange[\u0027mode\u0027] \u003d\u003d \u0027historical\u0027:\n\t\thist \u003d dateRange[\u0027historical\u0027]\n\t\tstartDate \u003d hist[\u0027startDate\u0027]\n\t\tendDate \u003d hist[\u0027endDate\u0027]\n\telse:\n\t\treal \u003d dateRange[\u0027realtime\u0027]\n\t\t\n\t\tendDate \u003d system.date.now()\n\t\tunit \u003d real[\u0027unit\u0027]\n\t\tinterval \u003d real[\u0027interval\u0027]\n\t\t\n\t\tif unit \u003d\u003d \"seconds\":\n\t\t\tstartDate \u003d system.date.addSeconds(endDate, -interval)\n\t\telif unit \u003d\u003d \"minutes\":\n\t\t\tstartDate \u003d system.date.addMinutes(endDate, -interval)\n\t\telif unit \u003d\u003d \"hours\":\n\t\t\tstartDate \u003d system.date.addHours(endDate, -interval)\n\t\telif unit \u003d\u003d \"days\":\n\t\t\tstartDate \u003d system.date.addDays(endDate, -interval)\n\t\telif unit \u003d\u003d \"weeks\":\n\t\t\tstartDate \u003d system.date.addWeeks(endDate, -interval)\n\t\telif unit \u003d\u003d \"months\":\n\t\t\tstartDate \u003d system.date.addMonths(endDate, -interval)\n\t\telif unit \u003d\u003d \"years\":\n\t\t\tstartDate \u003d system.date.addYears(endDate, -interval)\n\t\n\t\n\tfilter \u003d self.parent.parent.getChild(\"AlarmJournalTable\").props.filter\n\tpriority \u003d helper.util.true_keys(filter[\u0027priorities\u0027])\n\tevents \u003d helper.util.true_keys(filter[\u0027events\u0027])\n\tstate \u003d helper.util.parse_event_filter_to_query_states(events)\n\tsource \u003d filter[\u0027conditions\u0027][\u0027source\u0027]\n\tdisplayPath \u003d filter[\u0027conditions\u0027][\u0027displayPath\u0027]\n\t\n\n\talarms \u003d system.alarm.queryJournal(startDate \u003d startDate, endDate\u003dendDate, priority\u003dpriority, state\u003dstate, includeData\u003dTrue, source\u003dsource, displaypath\u003ddisplayPath)\n\t\n\theaders \u003d [\u0027eventTime\u0027, \u0027source\u0027, \u0027eventState\u0027, \u0027eventValue\u0027, \u0027displayPath\u0027, \u0027label\u0027, \u0027id\u0027]\n\trows \u003d []\n\t\n\tfor alarm in alarms:\n\t\trows.append([str(alarm[header]) for header in headers])\n\t\t\n\talarmData \u003d system.dataset.toDataSet(headers, rows)\n\tsummaryDS \u003d helper.journal.groupJournalByPathAndState(alarms)\n\t\n\texcelBytes \u003d system.dataset.toExcel(True, [alarmData, summaryDS], sheetNames\u003d[\"Journal\", \"Counts\"])\n\t# Trigger download on the client\n\tend_str \u003d system.date.format(endDate, \u0027yyMMddHHmmss\u0027)\n\tstart_str \u003d system.date.format(startDate, \u0027yyMMddHHmmss\u0027)\n\tfname \u003d \u0027_\u0027.join([\u0027AlarmHist\u0027,end_str, start_str,\u0027.xlsx\u0027])\n\t\n\tsystem.perspective.download(fname, excelBytes, \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\")\n\t\n\treturn\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "DirectExport" + }, + "position": { + "basis": "205px" + }, + "props": { + "style": { + "marginBottom": "10px", + "marginTop": "10px" + }, + "text": "Export Summary" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "58px" + }, + "props": { + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/Alert Popup Demo/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/Alert Popup Demo/resource.json new file mode 100644 index 0000000..a97ce0d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/Alert Popup Demo/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "40631f9866d51e5dab1aebcee2bbf88758e6c1eb7862652970f74a831a41851b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:28:18Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/Alert Popup Demo/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/Alert Popup Demo/thumbnail.png new file mode 100644 index 0000000..8e30510 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/Alert Popup Demo/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/Alert Popup Demo/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/Alert Popup Demo/view.json new file mode 100644 index 0000000..044876b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/Alert Popup Demo/view.json @@ -0,0 +1,479 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 600 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "48px" + }, + "props": { + "style": { + "fontSize": "24px", + "textAlign": "center" + }, + "text": "Swap Theme" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "40px", + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.props.theme" + }, + "type": "property" + } + } + }, + "props": { + "options": [ + { + "label": "Light", + "value": "light" + }, + { + "label": "Light (cool tint)", + "value": "light-cool" + }, + { + "label": "Light (warm tint)", + "value": "light-warm" + }, + { + "label": "Dark", + "value": "dark" + }, + { + "label": "Dark (cool tint)", + "value": "dark-cool" + }, + { + "label": "Dark (warm tint)", + "value": "dark-warm" + } + ], + "placeholder": { + "text": "" + }, + "search": { + "enabled": false + }, + "style": { + "classes": "Utilities/m-b-16" + } + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "40px" + }, + "props": { + "alignVertical": "bottom", + "style": { + "fontSize": "24px", + "textAlign": "center" + }, + "text": "Example Scripts" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\t# ~~ 12 PARAMETERS ~~\n\t# state\t\t\t\t\t(default \u003d info) empty string uses generic gray styling\n\t# title \t\t\t\t(default \u003d Alert Title) empty string sets the title visibility to false\n\t# message \t\t\t\t(default \u003d Alert message goes here.)\n\t# show close button\t\t(default \u003d true) boolean\n\t# btn text primary\t\t(default \u003d \"Primary\")\n\t# btn text secondary\t(default \u003d \"Secondary\")\n\t# btn icon primary \t\t(default \u003d chevron_right) do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon secondary \t(default \u003d \"\") do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon alignment\t(default \u003d \"right\") left or right\n\t# btn primary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn secondary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn close action\t\t(default \u003d \"\") add message handlers on this icon to enable other script actions\n\n\tutils.Alerts.showAlert(\"warning\", \"This is a Warning!\", \"You have been warned.\", \"false\", \"Accept\", \"Cancel\", \"\", \"\", \"\", \"closePopup\", \"closePopup\", \"closePopup\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "warning script" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Alerts/states/warningBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Warning" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\t# ~~ 12 PARAMETERS ~~\n\t# state\t\t\t\t\t(default \u003d info) empty string uses generic gray styling\n\t# title \t\t\t\t(default \u003d Alert Title) empty string sets the title visibility to false\n\t# message \t\t\t\t(default \u003d Alert message goes here.)\n\t# show close button\t\t(default \u003d true) boolean\n\t# btn text primary\t\t(default \u003d \"Primary\")\n\t# btn text secondary\t(default \u003d \"Secondary\")\n\t# btn icon primary \t\t(default \u003d chevron_right) do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon secondary \t(default \u003d \"\") do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon alignment\t(default \u003d \"right\") left or right\n\t# btn primary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn secondary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn close action\t\t(default \u003d \"\") add message handlers on this icon to enable other script actions\n\n\tutils.Alerts.showAlert(\"success\", \"You\u0027re So Successful\", \"Fantastic work. Really, just a job well done.\", \"true\", \"I know\", \"No\", \"tag_faces\", \"close\", \"\", \"closePopup\", \"closePopup\", \"closePopup\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "success script" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Alerts/states/successBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Success" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\t# ~~ 12 PARAMETERS ~~\n\t# state\t\t\t\t\t(default \u003d info) empty string uses generic gray styling\n\t# title \t\t\t\t(default \u003d Alert Title) empty string sets the title visibility to false\n\t# message \t\t\t\t(default \u003d Alert message goes here.)\n\t# show close button\t\t(default \u003d true) boolean\n\t# btn text primary\t\t(default \u003d \"Primary\")\n\t# btn text secondary\t(default \u003d \"Secondary\")\n\t# btn icon primary \t\t(default \u003d chevron_right) do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon secondary \t(default \u003d \"\") do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon alignment\t(default \u003d \"right\") left or right\n\t# btn primary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn secondary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn close action\t\t(default \u003d \"\") add message handlers on this icon to enable other script actions\n\n\tutils.Alerts.showAlert(\"error\", \"I\u0027m Sorry, Dave.\", \"I\u0027m afraid I can\u0027t do that. I think you know what the problem is just as well as I do.\", \"true\", \"Disconnect Hal\", \"\", \"disc_full\", \"\", \"\", \"closePopup\", \"closePopup\", \"closePopup\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "error script" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Alerts/states/errorBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Error" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\t# ~~ 12 PARAMETERS ~~\n\t# state\t\t\t\t\t(default \u003d info) empty string uses generic gray styling\n\t# title \t\t\t\t(default \u003d Alert Title) empty string sets the title visibility to false\n\t# message \t\t\t\t(default \u003d Alert message goes here.)\n\t# show close button\t\t(default \u003d true) boolean\n\t# btn text primary\t\t(default \u003d \"Primary\")\n\t# btn text secondary\t(default \u003d \"Secondary\")\n\t# btn icon primary \t\t(default \u003d chevron_right) do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon secondary \t(default \u003d \"\") do not include \u0027material/\u0027 in the path, just the icon name\n\t# btn icon alignment\t(default \u003d \"right\") left or right\n\t# btn primary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn secondary action\t(default \u003d \"\") add message handlers on this button to enable other script actions\n\t# btn close action\t\t(default \u003d \"\") add message handlers on this icon to enable other script actions\n\n\tutils.Alerts.showAlert(\"info\", \"Info Title\", \"Alert message goes here.\", \"true\", \"Continue\", \"Cancel\", \"\", \"\", \"\", \"closePopup\", \"closePopup\", \"closePopup\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "info script" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Alerts/states/infoBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Info" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "scripts" + }, + "position": { + "basis": "56px" + }, + "props": { + "alignItems": "center", + "style": { + "classes": "Utilities/m-b-16" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "48px" + }, + "props": { + "alignVertical": "bottom", + "style": { + "fontSize": "24px", + "textAlign": "center" + }, + "text": "Example Actions" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": false, + "id": "alertWarning", + "modal": true, + "overlayDismiss": true, + "resizable": false, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "btnActionClose": "closePopup", + "btnActionPrimary": "closePopup", + "btnActionSecondary": "closePopup", + "btnIconPrimary": "", + "btnTextPrimary": "Accept", + "btnTextSecondary": "Cancel", + "message": "You have been warned.", + "showCloseBtn": "false", + "state": "warning", + "title": "This is a Warning!" + }, + "viewPath": "Library/Alerts/alert" + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "warning action" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Alerts/states/warningBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Warning" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": false, + "id": "alertSuccess", + "modal": true, + "overlayDismiss": true, + "resizable": false, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "btnActionClose": "closePopup", + "btnActionPrimary": "closePopup", + "btnActionSecondary": "closePopup", + "btnIconPrimary": "tag_faces", + "btnIconSecondary": "close", + "btnTextPrimary": "I Know", + "btnTextSecondary": "No", + "message": "Fantastic work. Really, just a job well done.", + "state": "success", + "title": "You\u0027re So Successful" + }, + "viewPath": "Library/Alerts/alert" + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "success action" + }, + "position": { + "basis": "80px", + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Alerts/states/successBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Success" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": false, + "id": "alertError", + "modal": true, + "overlayDismiss": true, + "resizable": false, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "btnActionClose": "closePopup", + "btnActionPrimary": "closePopup", + "btnActionSecondary": "closePopup", + "btnIconPrimary": "disc_full", + "btnTextPrimary": "Disconnect Hal", + "btnTextSecondary": "", + "message": "I\u0027m afraid I can\u0027t do that. I think you know what the problem is just as well as I do. ", + "state": "error", + "title": "I\u0027m Sorry, Dave." + }, + "viewPath": "Library/Alerts/alert" + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "error action" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Alerts/states/errorBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Error" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": false, + "id": "alertInfo", + "modal": true, + "overlayDismiss": true, + "resizable": false, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "btnActionClose": "closePopup", + "btnActionPrimary": "closePopup", + "btnActionSecondary": "closePopup", + "btnIconPrimary": "", + "btnTextPrimary": "Continue", + "btnTextSecondary": "Cancel", + "state": "info", + "title": "Info Title" + }, + "viewPath": "Library/Alerts/alert" + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "info action" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Alerts/states/infoBtn1 Utilities/m-r-8 Utilities/p-8" + }, + "text": "Info" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "actions" + }, + "position": { + "basis": "56px" + }, + "props": { + "alignItems": "center", + "style": { + "classes": "Utilities/m-b-16" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "info" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "props": { + "source": "Thank you for downloading this Ignition resource!\n\n## How to Use\nAlert popups may be called via a script or event action. The specified parameters drive their appearance and features.\n\n### Button Actions\nThe action performed when interacting with an alert button is determined by [component message handlers](https://docs.inductiveautomation.com/display/DOC80/Component+Message+Handlers). In this way, they are dynamic and extensible based on the parameters driving the alert. Add a message handler to the corresponding button to enable a new action onActionPerformed.", + "style": { + "backgroundColor": "var(--neutral-30)", + "borderRadius": "4px", + "fontSize": "0.875rem", + "marginTop": "1rem", + "padding": "1rem", + "textAlign": "center" + } + }, + "type": "ia.display.markdown" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignContent": "flex-start", + "direction": "column", + "style": { + "margin": "0 auto", + "maxWidth": "600px", + "padding": "1rem" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/MBR/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/MBR/resource.json new file mode 100644 index 0000000..f61879a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/MBR/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "de3ed845dddb3793e9e1540422a216f7442f17eafff7b0f0b95d74c8d0e255dd", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:28:18Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/MBR/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/MBR/thumbnail.png new file mode 100644 index 0000000..81ed117 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/MBR/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/MBR/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/MBR/view.json new file mode 100644 index 0000000..ed4ba33 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/MBR/view.json @@ -0,0 +1,112 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 991 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Table" + }, + "position": { + "height": 400, + "width": 952, + "x": 22, + "y": 111 + }, + "propConfig": { + "custom.result": { + "binding": { + "config": { + "expression": "1" + }, + "transforms": [ + { + "code": "\treturn reports.MBR.coolingdata.test1_0()", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.result.measurementDS" + }, + "type": "property" + } + } + }, + "props": { + "selection": { + "data": [ + { + "Avg Humidity": 86.00414898893956, + "Avg Temp": 68.50261806523028, + "DH1_C1 Humidity": 87.27777777777776, + "DH1_C1 Temp": 70.91833318074546, + "DH1_C10 Humidity": 59.49999999999996, + "DH1_C10 Temp": 57.83722216288253, + "DH1_C11 Humidity": 91.93888888888883, + "DH1_C11 Temp": 70.29500058492029, + "DH1_C12 Humidity": 90.47601765661938, + "DH1_C12 Temp": 70.14555333455404, + "DH1_C13 Humidity": 89.76666666666661, + "DH1_C13 Temp": 70.50888841417101, + "DH1_C14 Humidity": 90.00555555555552, + "DH1_C14 Temp": 70.3611106872559, + "DH1_C15 Humidity": 90.66111111111113, + "DH1_C15 Temp": 69.94555524190268, + "DH1_C16 Humidity": 93.97777777777779, + "DH1_C16 Temp": 69.70444632636182, + "DH1_C17 Humidity": 93.86666666666666, + "DH1_C17 Temp": 69.73666559855138, + "DH1_C18 Humidity": 89.77777777777777, + "DH1_C18 Temp": 69.64277814229325, + "DH1_C19 Humidity": 90.53888888888892, + "DH1_C19 Temp": 70.05456472576014, + "DH1_C2 Humidity": 89.37777777777782, + "DH1_C2 Temp": 70.58555679321285, + "DH1_C20 Humidity": 90.02777777777783, + "DH1_C20 Temp": 70.70111058553056, + "DH1_C21 Humidity": 59.988888888888894, + "DH1_C21 Temp": 57.89444351196293, + "DH1_C3 Humidity": 87.50555555555557, + "DH1_C3 Temp": 70.29222229851618, + "DH1_C4 Humidity": 88.40555555555562, + "DH1_C4 Temp": 70.67555741204157, + "DH1_C5 Humidity": 91.38888888888894, + "DH1_C5 Temp": 70.33944435119633, + "DH1_C6 Humidity": 90.80555555555553, + "DH1_C6 Temp": 70.24833255343961, + "DH1_C7 Humidity": 90.20000000000003, + "DH1_C7 Temp": 70.49055569966634, + "DH1_C8 Humidity": 90.78888888888886, + "DH1_C8 Temp": 70.41097262408292, + "DH1_C9 Humidity": 59.81111111111113, + "DH1_C9 Temp": 57.766665140787715, + "Max Humidity": 93.97777777777779, + "Max Temp": 70.91833318074546, + "Min Humidity": 59.49999999999996, + "Min Temp": 57.766665140787715, + "t_stamp": 1748930400000 + } + ], + "selectedColumn": "t_stamp", + "selectedRow": 6 + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/View/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/View/resource.json new file mode 100644 index 0000000..2f320de --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/View/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1f79ef68ee09350c3b3c2e0cb13ccf481cd9a579c86ce34e8fd1e9fa7763754e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:28:18Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/View/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/View/thumbnail.png new file mode 100644 index 0000000..b694631 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/View/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/View/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/View/view.json new file mode 100644 index 0000000..33a6067 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/View/view.json @@ -0,0 +1,138 @@ +{ + "custom": {}, + "params": { + "caption": "Caption", + "value": 3.1416 + }, + "propConfig": { + "params.caption": { + "paramDirection": "input", + "persistent": true + }, + "params.value": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 83, + "width": 1119 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "lblBorder" + }, + "position": { + "width": 1 + }, + "propConfig": { + "position.height": { + "binding": { + "config": { + "expression": "({view.props.defaultSize.height} - {this.props.style.marginTop})\r\n/ {view.props.defaultSize.height}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderColor": "#888282", + "borderStyle": "solid", + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "borderWidth": 1, + "marginTop": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "txtNumericEntry" + }, + "position": { + "height": 0.3556, + "width": 1, + "y": 0.4444 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.value" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "marginLeft": 15, + "marginRight": 15 + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "children": [ + { + "meta": { + "name": "lblCaption" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#f7f7f7", + "paddingLeft": 5, + "paddingRight": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "style": { + "paddingLeft": 15 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/test/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/test/resource.json new file mode 100644 index 0000000..72ea18f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/test/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c2ae7ceef07a23eb1bc5d99108f249f7f04fce1f76bbe375c533b1b6059fdae3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:25:29Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/test/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/test/thumbnail.png new file mode 100644 index 0000000..7b04d44 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/test/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/test/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/test/view.json new file mode 100644 index 0000000..d2dbddb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Development/test/view.json @@ -0,0 +1,142 @@ +{ + "custom": {}, + "params": { + "urlParam": "value" + }, + "propConfig": { + "params.urlParam": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1213 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Border CSS_0" + }, + "position": { + "basis": "208px" + }, + "props": { + "params": { + "color": "green" + }, + "path": "Testing/Border CSS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Border CSS" + }, + "position": { + "basis": "256px" + }, + "props": { + "params": { + "color": "orange" + }, + "path": "Testing/Border CSS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Border CSS_1" + }, + "position": { + "basis": "100px" + }, + "props": { + "params": { + "color": "black" + }, + "path": "Testing/Border CSS" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "props": { + "justify": "center", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.urlParam" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontFamily": "inherit" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "9px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.urlParam" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundImage": "linear-gradient(to right, rgb(0,0,0,0),rgb(0,0,0,0),rgb(0,0,0,0),rgb(0,0,0,0),rgb(0,0,0,0),rgb(0,125,0,1),rgb(0,0,0,0),rgb(0,0,0,0),rgb(0,0,0,0),rgb(0,0,0,0))" + }, + "textStyle": { + "fontFamily": "inherit" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Alarms/Icons/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Alarms/Icons/resource.json new file mode 100644 index 0000000..cbb0b99 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Alarms/Icons/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json" + ], + "attributes": { + "lastModificationSignature": "4b7c2d6d04d7cba26742dfc50a2357b578cd7656bd6a038d04b52f37fc371832", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-17T00:00:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Alarms/Icons/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Alarms/Icons/view.json new file mode 100644 index 0000000..db700a2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Alarms/Icons/view.json @@ -0,0 +1,299 @@ +{ + "custom": {}, + "params": { + "AlarmSeverity": 4, + "ack": false + }, + "propConfig": { + "params.AlarmSeverity": { + "paramDirection": "input", + "persistent": true + }, + "params.ack": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 20 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "basis": "300px" + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}\u003d4, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}\u003d3, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}\u003d2, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "expression": "if({view.params.AlarmSeverity}\u003d1, \"visible\", \"hidden\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "cx": "520.833", + "cy": "520.833", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "500", + "stroke": { + "paint": "#000", + "width": "30px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,322.381,879.38)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,522.806,879.38)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(845.675,0,0,845.675,723.231,879.38)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.904825,0,-5.12274)", + "type": "group" + } + ], + "id": "L4-RedIcon", + "name": "L4-RedIcon", + "type": "group" + }, + { + "elements": [ + { + "d": "M545.877,45.009l450.78,450.781c13.822,13.822 13.822,36.265 0,50.087l-450.78,450.78c-13.822,13.822 -36.265,13.822 -50.087,0l-450.781,-450.78c-13.821,-13.822 -13.821,-36.265 0,-50.087l450.781,-450.781c13.822,-13.821 36.265,-13.821 50.087,0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(761.797,0,0,761.797,430.56,887.507)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(761.797,0,0,761.797,611.106,887.507)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.846556,0,-3.16266)", + "type": "group" + } + ], + "id": "L3-OrangeIcon", + "name": "L3-OrangeIcon", + "type": "group" + }, + { + "elements": [ + { + "d": "M476.192,128.475c9.301,-15.826 26.285,-25.544 44.641,-25.544c18.357,-0 35.341,9.718 44.641,25.544c98.023,166.79 331.22,563.583 430.343,732.245c9.409,16.011 9.524,35.834 0.301,51.952c-9.223,16.119 -26.371,26.064 -44.942,26.064c-197.149,-0 -663.536,-0 -860.685,-0c-18.571,-0 -35.719,-9.945 -44.942,-26.064c-9.223,-16.118 -9.109,-35.941 0.301,-51.952c99.123,-168.662 332.32,-565.455 430.342,-732.245Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "33.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,420.621,1006.62)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(845.675,0,0,845.675,621.046,1006.62)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.803347,0,14.4369)", + "type": "group" + } + ], + "id": "L2-YellowIcon", + "name": "L2-YellowIcon", + "type": "group" + }, + { + "elements": [ + { + "d": "M854.903,82.071l0,877.525c0,18.438 -14.969,33.407 -33.407,33.407l-601.326,-0c-18.437,-0 -33.407,-14.969 -33.407,-33.407l0,-877.525c0,-18.438 14.97,-33.407 33.407,-33.407l601.326,-0c18.438,-0 33.407,14.969 33.407,33.407Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "30px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.088,-0.195l-0.032,-0.51l0.125,0l-0.031,0.51l-0.062,0Zm-0.029,0.195l0,-0.119l0.119,0l0,0.119l-0.119,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(845.675,0,0,845.675,420.621,942.427)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(845.675,0,0,845.675,621.046,942.427)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(1,0,0,0.805553,0,1.79345)", + "type": "group" + } + ], + "id": "L1-PurpleIcon", + "name": "L1-PurpleIcon", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1042 1042" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_CH_Overview/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_CH_Overview/resource.json new file mode 100644 index 0000000..b5868aa --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_CH_Overview/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6b7f4895ac689a88f90a5c2890c0ad7b1846ab1e122d27ccc98521143f322e05", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T20:39:04Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_CH_Overview/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_CH_Overview/thumbnail.png new file mode 100644 index 0000000..c74cb42 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_CH_Overview/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_CH_Overview/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_CH_Overview/view.json new file mode 100644 index 0000000..10dcd44 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_CH_Overview/view.json @@ -0,0 +1,1248 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 123, + "width": 1600 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "CH Flex 1" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 2" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 3" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 4" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 5" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 6" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 7" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 8" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 9" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 10" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 11" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 12" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 13" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 14" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 15" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 16" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 17" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 18" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 19" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 20" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 21" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 22" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 23" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 24" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 25" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 26" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 27" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 28" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 29" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 30" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 31" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/card", + "gap": "var(--space-sm)", + "overflow": "visible", + "padding": "var(--space-sm)" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH/resource.json new file mode 100644 index 0000000..5f311c8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e30a81a9c712c7cc73ec603b996233a285dd30f512fadd7e97115a81cc81b9c6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T22:42:46Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH/thumbnail.png new file mode 100644 index 0000000..df40243 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH/view.json new file mode 100644 index 0000000..3a3772f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH/view.json @@ -0,0 +1,8247 @@ +{ + "custom": {}, + "params": { + "DH": 201, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4" + }, + "propConfig": { + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 700, + "width": 248 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "22px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"DH\", {view.params.DH})" + }, + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontFamily": "inherit" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "raw": [], + "tags": [] + }, + "meta": { + "name": "Temp_Chart" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "enabled": false, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": { + "now": "now(3000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO3_Gtwy\":\"Ignition_Hist/ignition-satb1-io3:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO4_Gtwy\":\"Ignition_Hist/ignition-satb1-io4:default\"}\n\t\n\ttags \u003d system.tag.browse(self.view.params.tagPath, {\"name\":\"*_TT**_C\",\"typeId\":\"Objects/Basic/AnalogIn_RS485\",\"tagType\":\"UdtInstance\"})\n\t\n\tfor item in tags:\n\t\ttagname \u003d str(item[\"fullPath\"]) + \"/Val\"\n\t\tnameparts \u003d tagname.split(\"]\")\n\t\tprovider\u003d histProvider[nameparts[0][1:]]\n\t\trun_path \u003d \"[{}]{}\".format(provider, nameparts[1])\n\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.test1": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "1", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": [ + { + "path": "[sim_hist]realistic_1d" + } + ], + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + }, + "props.dataSources.Average": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tavgValue \u003d 0\n\titems \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tavgValue +\u003d item[key]\n\t\t\titems +\u003d 1\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Average\": avgValue/items})\n\t\titems \u003d 0\n\t\tavgValue \u003d 0\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Maximum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tmaxValue \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003e maxValue:\n\t\t\t\tmaxValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Maximum\": maxValue})\n\t\tmaxValue\u003d0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Minimum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\trawHist \u003d value[\u0027dataset\u0027]\n\toutput, keys, values \u003d [], [],[]\n\tminValue \u003d 99999\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003c minValue:\n\t\t\t\tminValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Minimum\": minValue})\n\t\tminValue \u003d 99999\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "render": "gradient" + }, + "dataSources": { + "Average": [ + { + "Average": 75.12424214680989, + "t_stamp": 1776344133567 + }, + { + "Average": 75.12049391513078, + "t_stamp": 1776344163567 + }, + { + "Average": 75.11969687721945, + "t_stamp": 1776344193567 + }, + { + "Average": 75.11469901818647, + "t_stamp": 1776344223567 + }, + { + "Average": 75.1136361324426, + "t_stamp": 1776344253567 + }, + { + "Average": 75.108639117598, + "t_stamp": 1776344283567 + }, + { + "Average": 75.1075756188595, + "t_stamp": 1776344313567 + }, + { + "Average": 75.1075727278133, + "t_stamp": 1776344343567 + }, + { + "Average": 75.10806731655161, + "t_stamp": 1776344373567 + }, + { + "Average": 75.10632767777757, + "t_stamp": 1776344403567 + }, + { + "Average": 75.10606049046372, + "t_stamp": 1776344433567 + }, + { + "Average": 75.1060604223355, + "t_stamp": 1776344463567 + }, + { + "Average": 75.10606060606061, + "t_stamp": 1776344493567 + }, + { + "Average": 75.10356170354474, + "t_stamp": 1776344523567 + }, + { + "Average": 75.10303046486594, + "t_stamp": 1776344553567 + }, + { + "Average": 75.09553309176114, + "t_stamp": 1776344583567 + }, + { + "Average": 75.09393934770064, + "t_stamp": 1776344613567 + }, + { + "Average": 75.09019122040964, + "t_stamp": 1776344643567 + }, + { + "Average": 75.08988531933637, + "t_stamp": 1776344673567 + }, + { + "Average": 75.09564166082102, + "t_stamp": 1776344703567 + }, + { + "Average": 75.0969694888953, + "t_stamp": 1776344733567 + }, + { + "Average": 75.09322009851502, + "t_stamp": 1776344763567 + }, + { + "Average": 75.09242410370798, + "t_stamp": 1776344793567 + }, + { + "Average": 75.08492960816912, + "t_stamp": 1776344823567 + }, + { + "Average": 75.08333333333333, + "t_stamp": 1776344853567 + }, + { + "Average": 75.08458195802642, + "t_stamp": 1776344883567 + }, + { + "Average": 75.08484834613222, + "t_stamp": 1776344913567 + }, + { + "Average": 75.08359916437448, + "t_stamp": 1776344943567 + }, + { + "Average": 75.08333321773645, + "t_stamp": 1776344973567 + }, + { + "Average": 75.08333311857169, + "t_stamp": 1776345003567 + }, + { + "Average": 75.08333333333333, + "t_stamp": 1776345033567 + }, + { + "Average": 75.08208347572915, + "t_stamp": 1776345063567 + }, + { + "Average": 75.08181820493756, + "t_stamp": 1776345093567 + }, + { + "Average": 75.0843163622074, + "t_stamp": 1776345123567 + }, + { + "Average": 75.08484834613222, + "t_stamp": 1776345153567 + }, + { + "Average": 75.08984640831756, + "t_stamp": 1776345183567 + }, + { + "Average": 75.0909089753122, + "t_stamp": 1776345213567 + }, + { + "Average": 75.0946562963005, + "t_stamp": 1776345243567 + }, + { + "Average": 75.09545436049953, + "t_stamp": 1776345273567 + }, + { + "Average": 75.09170714707795, + "t_stamp": 1776345303567 + }, + { + "Average": 75.09090885971531, + "t_stamp": 1776345333567 + }, + { + "Average": 75.09090940517403, + "t_stamp": 1776345363567 + }, + { + "Average": 75.0909089753122, + "t_stamp": 1776345393567 + }, + { + "Average": 75.08965849380223, + "t_stamp": 1776345423567 + }, + { + "Average": 75.08939384691644, + "t_stamp": 1776345453567 + }, + { + "Average": 75.08939500219869, + "t_stamp": 1776345483567 + }, + { + "Average": 75.08939361572266, + "t_stamp": 1776345513567 + }, + { + "Average": 75.09564257743965, + "t_stamp": 1776345543567 + }, + { + "Average": 75.0969694888953, + "t_stamp": 1776345573567 + }, + { + "Average": 75.09446998598628, + "t_stamp": 1776345603567 + }, + { + "Average": 75.09393923210375, + "t_stamp": 1776345633567 + }, + { + "Average": 75.09268914513468, + "t_stamp": 1776345663567 + }, + { + "Average": 75.0924238725142, + "t_stamp": 1776345693567 + }, + { + "Average": 75.08617593751933, + "t_stamp": 1776345723567 + }, + { + "Average": 75.08484823053533, + "t_stamp": 1776345753567 + }, + { + "Average": 75.07985072210413, + "t_stamp": 1776345783567 + }, + { + "Average": 75.07878760135534, + "t_stamp": 1776345813567 + }, + { + "Average": 75.07253974472552, + "t_stamp": 1776345843567 + }, + { + "Average": 75.0712118437796, + "t_stamp": 1776345873567 + }, + { + "Average": 75.06746495611695, + "t_stamp": 1776345903567 + }, + { + "Average": 75.06666668978605, + "t_stamp": 1776345933567 + }, + { + "Average": 75.05916867855927, + "t_stamp": 1776345963567 + }, + { + "Average": 75.05708464721694, + "t_stamp": 1776345993567 + }, + { + "Average": 75.06007606692164, + "t_stamp": 1776346023567 + }, + { + "Average": 75.06060617620295, + "t_stamp": 1776346053567 + }, + { + "Average": 75.05311000594592, + "t_stamp": 1776346083567 + }, + { + "Average": 75.05151505903764, + "t_stamp": 1776346113567 + }, + { + "Average": 75.0515144857625, + "t_stamp": 1776346143567 + }, + { + "Average": 75.05151517463453, + "t_stamp": 1776346173567 + }, + { + "Average": 75.05151636589844, + "t_stamp": 1776346203567 + }, + { + "Average": 75.05151517463453, + "t_stamp": 1776346233567 + }, + { + "Average": 75.04901483966835, + "t_stamp": 1776346263567 + }, + { + "Average": 75.0484848022461, + "t_stamp": 1776346293567 + }, + { + "Average": 75.05223347992901, + "t_stamp": 1776346323567 + }, + { + "Average": 75.05303041862719, + "t_stamp": 1776346353567 + }, + { + "Average": 75.05552882135318, + "t_stamp": 1776346383567 + }, + { + "Average": 75.0560610222094, + "t_stamp": 1776346413567 + }, + { + "Average": 75.05606027717434, + "t_stamp": 1776346443567 + }, + { + "Average": 75.05606055982184, + "t_stamp": 1776346473567 + }, + { + "Average": 75.05980995465553, + "t_stamp": 1776346503567 + }, + { + "Average": 75.06060606060606, + "t_stamp": 1776346533567 + }, + { + "Average": 75.06060629234481, + "t_stamp": 1776346563567 + }, + { + "Average": 75.06060606060606, + "t_stamp": 1776346593567 + }, + { + "Average": 75.05810484628753, + "t_stamp": 1776346623567 + }, + { + "Average": 75.05757568821763, + "t_stamp": 1776346653567 + }, + { + "Average": 75.05507804236377, + "t_stamp": 1776346683567 + }, + { + "Average": 75.05454543142608, + "t_stamp": 1776346713567 + }, + { + "Average": 75.05579393759899, + "t_stamp": 1776346743567 + }, + { + "Average": 75.05606067541873, + "t_stamp": 1776346773567 + }, + { + "Average": 75.05481007012463, + "t_stamp": 1776346803567 + }, + { + "Average": 75.05454531582919, + "t_stamp": 1776346833567 + }, + { + "Average": 75.05829470435758, + "t_stamp": 1776346863567 + }, + { + "Average": 75.05909070101652, + "t_stamp": 1776346893567 + }, + { + "Average": 75.05783885988251, + "t_stamp": 1776346923567 + }, + { + "Average": 75.05757557262073, + "t_stamp": 1776346953567 + }, + { + "Average": 75.05757565286505, + "t_stamp": 1776346983567 + }, + { + "Average": 75.05757557262073, + "t_stamp": 1776347013567 + }, + { + "Average": 75.05632551598778, + "t_stamp": 1776347043567 + }, + { + "Average": 75.05606055982184, + "t_stamp": 1776347073567 + }, + { + "Average": 75.05980789694077, + "t_stamp": 1776347103567 + }, + { + "Average": 75.06060582941228, + "t_stamp": 1776347133567 + }, + { + "Average": 75.05560943085696, + "t_stamp": 1776347163567 + }, + { + "Average": 75.05454543142608, + "t_stamp": 1776347193567 + }, + { + "Average": 75.05079822290949, + "t_stamp": 1776347223567 + }, + { + "Average": 75.04999993064187, + "t_stamp": 1776347253567 + }, + { + "Average": 75.04874890322354, + "t_stamp": 1776347283567 + }, + { + "Average": 75.04848457105231, + "t_stamp": 1776347313567 + }, + { + "Average": 75.04723532748423, + "t_stamp": 1776347343567 + }, + { + "Average": 75.04696967385031, + "t_stamp": 1776347373567 + }, + { + "Average": 75.03322818801178, + "t_stamp": 1776347403567 + }, + { + "Average": 75.0303032614968, + "t_stamp": 1776347433567 + }, + { + "Average": 75.03030407844336, + "t_stamp": 1776347463567 + }, + { + "Average": 75.0303032614968, + "t_stamp": 1776347493567 + }, + { + "Average": 75.03405131779397, + "t_stamp": 1776347523567 + }, + { + "Average": 75.03484853108723, + "t_stamp": 1776347553567 + }, + { + "Average": 75.02860202486464, + "t_stamp": 1776347583567 + }, + { + "Average": 75.02727277351148, + "t_stamp": 1776347613567 + }, + { + "Average": 75.01977679183243, + "t_stamp": 1776347643567 + }, + { + "Average": 75.01818200313684, + "t_stamp": 1776347673567 + }, + { + "Average": 75.01568135503796, + "t_stamp": 1776347703567 + }, + { + "Average": 75.0151516307484, + "t_stamp": 1776347733567 + }, + { + "Average": 75.01765140704788, + "t_stamp": 1776347763567 + }, + { + "Average": 75.01818188753995, + "t_stamp": 1776347793567 + }, + { + "Average": 75.0131839644978, + "t_stamp": 1776347823567 + }, + { + "Average": 75.01212137395686, + "t_stamp": 1776347853567 + }, + { + "Average": 75.01337181193713, + "t_stamp": 1776347883567 + }, + { + "Average": 75.01363627115886, + "t_stamp": 1776347913567 + }, + { + "Average": 75.00864027718859, + "t_stamp": 1776347943567 + }, + { + "Average": 75.00757575757575, + "t_stamp": 1776347973567 + }, + { + "Average": 75.0000788831063, + "t_stamp": 1776348003567 + }, + { + "Average": 74.99848487160422, + "t_stamp": 1776348033567 + }, + { + "Average": 74.99473731932514, + "t_stamp": 1776348063567 + }, + { + "Average": 74.99393937082002, + "t_stamp": 1776348093567 + }, + { + "Average": 74.99019068805171, + "t_stamp": 1776348123567 + }, + { + "Average": 74.98939410122958, + "t_stamp": 1776348153567 + }, + { + "Average": 74.99189368745215, + "t_stamp": 1776348183567 + }, + { + "Average": 74.99242447361802, + "t_stamp": 1776348213567 + }, + { + "Average": 74.98617729155546, + "t_stamp": 1776348243567 + }, + { + "Average": 74.98484860044537, + "t_stamp": 1776348273567 + }, + { + "Average": 74.9848492167239, + "t_stamp": 1776348303567 + }, + { + "Average": 74.98484860044537, + "t_stamp": 1776348333567 + }, + { + "Average": 74.98234982804793, + "t_stamp": 1776348363567 + }, + { + "Average": 74.98181822805694, + "t_stamp": 1776348393567 + }, + { + "Average": 74.98306756753288, + "t_stamp": 1776348423567 + }, + { + "Average": 74.9833334720496, + "t_stamp": 1776348453567 + }, + { + "Average": 74.98083556439597, + "t_stamp": 1776348483567 + }, + { + "Average": 74.98030309966116, + "t_stamp": 1776348513567 + }, + { + "Average": 74.98030441336756, + "t_stamp": 1776348543567 + }, + { + "Average": 74.98030333085494, + "t_stamp": 1776348573567 + }, + { + "Average": 74.97530498477857, + "t_stamp": 1776348603567 + }, + { + "Average": 74.97424281727184, + "t_stamp": 1776348633567 + }, + { + "Average": 74.9792398280992, + "t_stamp": 1776348663567 + }, + { + "Average": 74.98030333085494, + "t_stamp": 1776348693567 + }, + { + "Average": 74.98155366281233, + "t_stamp": 1776348723567 + }, + { + "Average": 74.98181869044448, + "t_stamp": 1776348753567 + }, + { + "Average": 74.96932533954366, + "t_stamp": 1776348783567 + }, + { + "Average": 74.96666705969608, + "t_stamp": 1776348813567 + }, + { + "Average": 74.96041960712155, + "t_stamp": 1776348843567 + }, + { + "Average": 74.95909130212033, + "t_stamp": 1776348873567 + }, + { + "Average": 74.960341938307, + "t_stamp": 1776348903567 + }, + { + "Average": 74.9606064305161, + "t_stamp": 1776348933567 + }, + { + "Average": 74.96060677271042, + "t_stamp": 1776348963567 + }, + { + "Average": 74.96060666170987, + "t_stamp": 1776348993567 + }, + { + "Average": 74.95810772250195, + "t_stamp": 1776349023567 + }, + { + "Average": 74.95757594253078, + "t_stamp": 1776349053567 + }, + { + "Average": 74.95757584528343, + "t_stamp": 1776349083567 + }, + { + "Average": 74.95757628932144, + "t_stamp": 1776349113567 + }, + { + "Average": 74.95257932169751, + "t_stamp": 1776349143567 + }, + { + "Average": 74.95151566014145, + "t_stamp": 1776349173567 + }, + { + "Average": 74.95526454559307, + "t_stamp": 1776349203567 + }, + { + "Average": 74.95606127652255, + "t_stamp": 1776349233567 + }, + { + "Average": 74.95106253148947, + "t_stamp": 1776349263567 + }, + { + "Average": 74.95000053174567, + "t_stamp": 1776349293567 + }, + { + "Average": 74.9475001209728, + "t_stamp": 1776349323567 + }, + { + "Average": 74.94697015935725, + "t_stamp": 1776349353567 + }, + { + "Average": 74.94821889474353, + "t_stamp": 1776349383567 + }, + { + "Average": 74.94848494096236, + "t_stamp": 1776349413567 + }, + { + "Average": 74.94973469265918, + "t_stamp": 1776349443567 + }, + { + "Average": 74.95000053174567, + "t_stamp": 1776349473567 + }, + { + "Average": 74.94500424689616, + "t_stamp": 1776349503567 + }, + { + "Average": 74.94393978696881, + "t_stamp": 1776349533567 + }, + { + "Average": 74.94269053782888, + "t_stamp": 1776349563567 + }, + { + "Average": 74.94242442737927, + "t_stamp": 1776349593567 + }, + { + "Average": 74.94117498298971, + "t_stamp": 1776349623567 + }, + { + "Average": 74.94090941458037, + "t_stamp": 1776349653567 + }, + { + "Average": 74.9471558275056, + "t_stamp": 1776349683567 + }, + { + "Average": 74.94848528775302, + "t_stamp": 1776349713567 + }, + { + "Average": 74.94973315045173, + "t_stamp": 1776349743567 + }, + { + "Average": 74.9500003005519, + "t_stamp": 1776349773567 + }, + { + "Average": 74.94875203351599, + "t_stamp": 1776349803567 + }, + { + "Average": 74.94848494096236, + "t_stamp": 1776349833567 + }, + { + "Average": 74.95348182066651, + "t_stamp": 1776349863567 + }, + { + "Average": 74.95454568573923, + "t_stamp": 1776349893567 + }, + { + "Average": 74.95704391255634, + "t_stamp": 1776349923567 + }, + { + "Average": 74.95757605812766, + "t_stamp": 1776349953567 + }, + { + "Average": 74.95882369092081, + "t_stamp": 1776349983567 + }, + { + "Average": 74.95909130212033, + "t_stamp": 1776350013567 + }, + { + "Average": 74.95909260371762, + "t_stamp": 1776350043567 + }, + { + "Average": 74.95909141771722, + "t_stamp": 1776350073567 + }, + { + "Average": 74.96158883384469, + "t_stamp": 1776350103567 + }, + { + "Average": 74.96212167450877, + "t_stamp": 1776350133567 + }, + { + "Average": 74.96212163286285, + "t_stamp": 1776350163567 + }, + { + "Average": 74.96212167450877, + "t_stamp": 1776350193567 + }, + { + "Average": 74.95712406270181, + "t_stamp": 1776350223567 + }, + { + "Average": 74.95606069853811, + "t_stamp": 1776350253567 + }, + { + "Average": 74.95855925149266, + "t_stamp": 1776350283567 + }, + { + "Average": 74.95909141771722, + "t_stamp": 1776350313567 + }, + { + "Average": 74.9590909272061, + "t_stamp": 1776350343567 + }, + { + "Average": 74.95909130212033, + "t_stamp": 1776350373567 + }, + { + "Average": 74.96533737505365, + "t_stamp": 1776350403567 + }, + { + "Average": 74.96666705969608, + "t_stamp": 1776350433567 + }, + { + "Average": 74.96666784564209, + "t_stamp": 1776350463567 + }, + { + "Average": 74.96666717529297, + "t_stamp": 1776350493567 + }, + { + "Average": 74.9679158059557, + "t_stamp": 1776350523567 + }, + { + "Average": 74.96818230368875, + "t_stamp": 1776350553567 + }, + { + "Average": 74.96568400833293, + "t_stamp": 1776350583567 + }, + { + "Average": 74.96515193130031, + "t_stamp": 1776350613567 + }, + { + "Average": 74.9601558637913, + "t_stamp": 1776350643567 + }, + { + "Average": 74.95909118652344, + "t_stamp": 1776350673567 + }, + { + "Average": 74.96533678472306, + "t_stamp": 1776350703567 + }, + { + "Average": 74.96666694409919, + "t_stamp": 1776350733567 + }, + { + "Average": 74.9641691194484, + "t_stamp": 1776350763567 + }, + { + "Average": 74.96363668730764, + "t_stamp": 1776350793567 + }, + { + "Average": 74.964884980161, + "t_stamp": 1776350823567 + }, + { + "Average": 74.96515146891277, + "t_stamp": 1776350853567 + }, + { + "Average": 74.96140456453229, + "t_stamp": 1776350883567 + }, + { + "Average": 74.9606064305161, + "t_stamp": 1776350913567 + }, + { + "Average": 74.96435454759029, + "t_stamp": 1776350943567 + }, + { + "Average": 74.96515170010653, + "t_stamp": 1776350973567 + }, + { + "Average": 74.95890431495067, + "t_stamp": 1776351003567 + }, + { + "Average": 74.95757605812766, + "t_stamp": 1776351033567 + }, + { + "Average": 74.95257938742029, + "t_stamp": 1776351063567 + }, + { + "Average": 74.95151542894769, + "t_stamp": 1776351093567 + }, + { + "Average": 74.95526318584163, + "t_stamp": 1776351123567 + }, + { + "Average": 74.95556917841932, + "t_stamp": 1776351153567 + }, + { + "Average": 74.95980812449426, + "t_stamp": 1776351183567 + }, + { + "Average": 74.9606064305161, + "t_stamp": 1776351213567 + }, + { + "Average": 74.9606064305161, + "t_stamp": 1776351243567 + }, + { + "Average": 74.9606064305161, + "t_stamp": 1776351273567 + }, + { + "Average": 74.9606064305161, + "t_stamp": 1776351303567 + } + ], + "Maximum": [ + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344133567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344163567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344193567 + }, + { + "Maximum": 75.78247297800515, + "t_stamp": 1776344223567 + }, + { + "Maximum": 75.80000305175781, + "t_stamp": 1776344253567 + }, + { + "Maximum": 75.71753155727623, + "t_stamp": 1776344283567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344313567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344343567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344373567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344403567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344433567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344463567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344493567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344523567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344553567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344583567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344613567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344643567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344673567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344703567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344733567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344763567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344793567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344823567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344853567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344883567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344913567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344943567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776344973567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345003567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345033567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345063567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345093567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345123567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345153567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345183567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345213567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345243567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345273567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345303567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345333567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345363567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345393567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345423567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345453567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345483567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345513567 + }, + { + "Maximum": 75.78250031687419, + "t_stamp": 1776345543567 + }, + { + "Maximum": 75.80000305175781, + "t_stamp": 1776345573567 + }, + { + "Maximum": 75.71753497756254, + "t_stamp": 1776345603567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345633567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345663567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345693567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345723567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345753567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345783567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345813567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345843567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345873567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345903567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345933567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345963567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776345993567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346023567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346053567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346083567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346113567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346143567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346173567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346203567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346233567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346263567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346293567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346323567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346353567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346383567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346413567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346443567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346473567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346503567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346533567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346563567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346593567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346623567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346653567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346683567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346713567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346743567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346773567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346803567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346833567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346863567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346893567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346923567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346953567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776346983567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347013567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347043567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347073567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347103567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347133567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347163567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347193567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347223567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347253567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347283567 + }, + { + "Maximum": 75.69999694824219, + "t_stamp": 1776347313567 + }, + { + "Maximum": 75.61757025606539, + "t_stamp": 1776347343567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347373567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347403567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347433567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347463567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347493567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347523567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347553567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347583567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347613567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347643567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347673567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347703567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347733567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347763567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347793567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347823567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347853567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347883567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347913567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347943567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776347973567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348003567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348033567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348063567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348093567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348123567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348153567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348183567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348213567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348243567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348273567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348303567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348333567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348363567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348393567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348423567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348453567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348483567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348513567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348543567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348573567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348603567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348633567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348663567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348693567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348723567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348753567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348783567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348813567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348843567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348873567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348903567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348933567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348963567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776348993567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349023567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349053567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349083567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349113567 + }, + { + "Maximum": 75.51757130805474, + "t_stamp": 1776349143567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349173567 + }, + { + "Maximum": 75.58242815654077, + "t_stamp": 1776349203567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349233567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349263567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349293567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349323567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349353567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349383567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349413567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349443567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349473567 + }, + { + "Maximum": 75.51756777246564, + "t_stamp": 1776349503567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349533567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349563567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349593567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349623567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349653567 + }, + { + "Maximum": 75.58242462098697, + "t_stamp": 1776349683567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776349713567 + }, + { + "Maximum": 75.5175706104336, + "t_stamp": 1776349743567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349773567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349803567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349833567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349863567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349893567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349923567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349953567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776349983567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350013567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350043567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350073567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350103567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350133567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350163567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350193567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350223567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350253567 + }, + { + "Maximum": 75.58241579375961, + "t_stamp": 1776350283567 + }, + { + "Maximum": 75.5999984741211, + "t_stamp": 1776350313567 + }, + { + "Maximum": 75.51758747870737, + "t_stamp": 1776350343567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350373567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350403567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350433567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350463567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350493567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350523567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350553567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350583567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350613567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350643567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350673567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350703567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350733567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350763567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350793567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350823567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350853567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350883567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350913567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350943567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776350973567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351003567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351033567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351063567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351093567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351123567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351153567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351183567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351213567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351243567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351273567 + }, + { + "Maximum": 75.5, + "t_stamp": 1776351303567 + } + ], + "Minimum": [ + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344133567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344163567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344193567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344223567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344253567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344283567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344313567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344343567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344373567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344403567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344433567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344463567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344493567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344523567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344553567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344583567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344613567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344643567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344673567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344703567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344733567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344763567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344793567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344823567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344853567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344883567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344913567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344943567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776344973567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776345003567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776345033567 + }, + { + "Minimum": 74.28243382644679, + "t_stamp": 1776345063567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345093567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345123567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345153567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345183567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345213567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345243567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345273567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345303567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345333567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345363567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776345393567 + }, + { + "Minimum": 74.38244600488176, + "t_stamp": 1776345423567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345453567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345483567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345513567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345543567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345573567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345603567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345633567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345663567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345693567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345723567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345753567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345783567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345813567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345843567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345873567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345903567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345933567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345963567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776345993567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346023567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346053567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346083567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346113567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346143567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346173567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346203567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346233567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346263567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346293567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346323567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346353567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346383567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346413567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346443567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346473567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346503567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346533567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346563567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346593567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346623567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346653567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346683567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346713567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346743567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346773567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346803567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346833567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346863567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346893567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346923567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346953567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776346983567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347013567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347043567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347073567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347103567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347133567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347163567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347193567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347223567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347253567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347283567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347313567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347343567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347373567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347403567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347433567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347463567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347493567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347523567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347553567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347583567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347613567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347643567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347673567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347703567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347733567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347763567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347793567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347823567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347853567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347883567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347913567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347943567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776347973567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348003567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348033567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348063567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348093567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348123567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348153567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348183567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348213567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348243567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348273567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348303567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348333567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348363567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348393567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348423567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348453567 + }, + { + "Minimum": 74.31756219850858, + "t_stamp": 1776348483567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348513567 + }, + { + "Minimum": 74.31753582534081, + "t_stamp": 1776348543567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348573567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348603567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348633567 + }, + { + "Minimum": 74.38247120902159, + "t_stamp": 1776348663567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348693567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348723567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776348753567 + }, + { + "Minimum": 74.31753749195428, + "t_stamp": 1776348783567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348813567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348843567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348873567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348903567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348933567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348963567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776348993567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349023567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349053567 + }, + { + "Minimum": 74.38246816786038, + "t_stamp": 1776349083567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776349113567 + }, + { + "Minimum": 74.31753611755371, + "t_stamp": 1776349143567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349173567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349203567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349233567 + }, + { + "Minimum": 74.38244150115617, + "t_stamp": 1776349263567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776349293567 + }, + { + "Minimum": 74.31753778419494, + "t_stamp": 1776349323567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349353567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349383567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349413567 + }, + { + "Minimum": 74.38246541906898, + "t_stamp": 1776349443567 + }, + { + "Minimum": 74.4000015258789, + "t_stamp": 1776349473567 + }, + { + "Minimum": 74.31756749099652, + "t_stamp": 1776349503567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349533567 + }, + { + "Minimum": 74.3175372865027, + "t_stamp": 1776349563567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349593567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349623567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349653567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349683567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349713567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349743567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349773567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349803567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349833567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349863567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349893567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349923567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349953567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776349983567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350013567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350043567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350073567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350103567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350133567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350163567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350193567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350223567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350253567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350283567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350313567 + }, + { + "Minimum": 74.21753272623069, + "t_stamp": 1776350343567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350373567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350403567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350433567 + }, + { + "Minimum": 74.28246648384248, + "t_stamp": 1776350463567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350493567 + }, + { + "Minimum": 74.21753468526204, + "t_stamp": 1776350523567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350553567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350583567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350613567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350643567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350673567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350703567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350733567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350763567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350793567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350823567 + }, + { + "Minimum": 74.19999694824219, + "t_stamp": 1776350853567 + }, + { + "Minimum": 74.28247002282598, + "t_stamp": 1776350883567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350913567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350943567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776350973567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351003567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351033567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351063567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351093567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351123567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351153567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351183567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351213567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351243567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351273567 + }, + { + "Minimum": 74.30000305175781, + "t_stamp": 1776351303567 + } + ] + }, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Average", + "x": "t_stamp", + "y": "Average" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Temperature" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "#F91111", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "#FA1616", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Average", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Temperature", + "zIndex": 1 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Minimum", + "x": "t_stamp", + "y": "Minimum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Minimum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Temperature", + "zIndex": 2 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Maximum", + "x": "t_stamp", + "y": "Maximum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Maximum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Temperature", + "zIndex": 3 + } + ], + "style": { + "marginBottom": -20, + "overflow": "visible" + }, + "title": { + "appearance": { + "color": "#828282", + "font": { + "size": 12 + }, + "padding": { + "bottom": 8, + "top": -10 + } + }, + "text": "Temp (Avg, Min, Max)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 30, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 30, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Temperature" + }, + "name": "Temperature", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "###.#", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "meta": { + "name": "Hum_Chart" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": { + "now": "now(3000)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO3_Gtwy\":\"Ignition_Hist/ignition-satb1-io3:default\"}\n\ttags \u003d system.tag.browse(self.view.params.tagPath, {\"name\":\"*_HT**_C*\",\"typeId\":\"Objects/Basic/AnalogIn_RS485\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\ttagname \u003d str(item[\"fullPath\"]) + \"/Val\"\n\t\tnameparts \u003d tagname.split(\"]\")\n\t\tprovider\u003d histProvider[nameparts[0][1:]]\n\t\trun_path \u003d \"[{}]{}\".format(provider, nameparts[1])\n\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Average": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tavgValue \u003d 0\n\titems \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] is None:\n\t\t\t\tavgValue \u003d avgValue\n\t\t\telse:\n\t\t\t\tavgValue +\u003d item[key]\n\t\t\titems +\u003d 1\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Average\": avgValue/items})\n\t\titems \u003d 0\n\t\tavgValue \u003d 0\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Maximum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tmaxValue \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003e maxValue:\n\t\t\t\tmaxValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Maximum\": maxValue})\n\t\tmaxValue \u003d 0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Minimum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\trawHist \u003d value[\u0027dataset\u0027]\n\toutput, keys, values \u003d [], [],[]\n\tminValue \u003d 99999\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003c minValue:\n\t\t\t\tminValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Minimum\": minValue})\n\t\tminValue\u003d 99999\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "render": "gradient" + }, + "dataSources": { + "Average": [ + { + "Average": 47.53029994311017, + "t_stamp": 1776344229587 + }, + { + "Average": 47.53030303030303, + "t_stamp": 1776344259587 + }, + { + "Average": 47.50227712091921, + "t_stamp": 1776344289587 + }, + { + "Average": 47.5, + "t_stamp": 1776344319587 + }, + { + "Average": 47.499992657900144, + "t_stamp": 1776344349587 + }, + { + "Average": 47.5, + "t_stamp": 1776344379587 + }, + { + "Average": 47.499997727159084, + "t_stamp": 1776344409587 + }, + { + "Average": 47.5, + "t_stamp": 1776344439587 + }, + { + "Average": 47.44394168550663, + "t_stamp": 1776344469587 + }, + { + "Average": 47.43939393939394, + "t_stamp": 1776344499587 + }, + { + "Average": 47.439388579571656, + "t_stamp": 1776344529587 + }, + { + "Average": 47.43939393939394, + "t_stamp": 1776344559587 + }, + { + "Average": 47.42538001258544, + "t_stamp": 1776344589587 + }, + { + "Average": 47.42424242424242, + "t_stamp": 1776344619587 + }, + { + "Average": 47.438265460399336, + "t_stamp": 1776344649587 + }, + { + "Average": 47.43939393939394, + "t_stamp": 1776344679587 + }, + { + "Average": 47.425368219866996, + "t_stamp": 1776344709587 + }, + { + "Average": 47.42424242424242, + "t_stamp": 1776344739587 + }, + { + "Average": 47.382200170869034, + "t_stamp": 1776344769587 + }, + { + "Average": 47.378787878787875, + "t_stamp": 1776344799587 + }, + { + "Average": 47.434844805744625, + "t_stamp": 1776344829587 + }, + { + "Average": 47.43939393939394, + "t_stamp": 1776344859587 + }, + { + "Average": 47.41136945774987, + "t_stamp": 1776344889587 + }, + { + "Average": 47.40909090909091, + "t_stamp": 1776344919587 + }, + { + "Average": 47.381056761291994, + "t_stamp": 1776344949587 + }, + { + "Average": 47.378787878787875, + "t_stamp": 1776344979587 + }, + { + "Average": 47.392801363414115, + "t_stamp": 1776345009587 + }, + { + "Average": 47.39393939393939, + "t_stamp": 1776345039587 + }, + { + "Average": 47.36592790733717, + "t_stamp": 1776345069587 + }, + { + "Average": 47.36363636363637, + "t_stamp": 1776345099587 + }, + { + "Average": 47.34961720946254, + "t_stamp": 1776345129587 + }, + { + "Average": 47.34848484848485, + "t_stamp": 1776345159587 + }, + { + "Average": 47.36250013262889, + "t_stamp": 1776345189587 + }, + { + "Average": 47.36363636363637, + "t_stamp": 1776345219587 + }, + { + "Average": 47.33560322611269, + "t_stamp": 1776345249587 + }, + { + "Average": 47.333333333333336, + "t_stamp": 1776345279587 + }, + { + "Average": 47.333336887970674, + "t_stamp": 1776345309587 + }, + { + "Average": 47.333333333333336, + "t_stamp": 1776345339587 + }, + { + "Average": 47.333333333333336, + "t_stamp": 1776345369587 + }, + { + "Average": 47.333333333333336, + "t_stamp": 1776345399587 + }, + { + "Average": 47.347351786561134, + "t_stamp": 1776345429587 + }, + { + "Average": 47.34848484848485, + "t_stamp": 1776345459587 + }, + { + "Average": 47.36249574509132, + "t_stamp": 1776345489587 + }, + { + "Average": 47.36363636363637, + "t_stamp": 1776345519587 + }, + { + "Average": 47.34962457093099, + "t_stamp": 1776345549587 + }, + { + "Average": 47.34848484848485, + "t_stamp": 1776345579587 + }, + { + "Average": 47.34848484848485, + "t_stamp": 1776345609587 + }, + { + "Average": 47.34848484848485, + "t_stamp": 1776345639587 + }, + { + "Average": 47.3204530870807, + "t_stamp": 1776345669587 + }, + { + "Average": 47.31818181818182, + "t_stamp": 1776345699587 + }, + { + "Average": 47.3321972411571, + "t_stamp": 1776345729587 + }, + { + "Average": 47.333333333333336, + "t_stamp": 1776345759587 + }, + { + "Average": 47.33332956452283, + "t_stamp": 1776345789587 + }, + { + "Average": 47.333333333333336, + "t_stamp": 1776345819587 + }, + { + "Average": 47.33333665408376, + "t_stamp": 1776345849587 + }, + { + "Average": 47.333333333333336, + "t_stamp": 1776345879587 + }, + { + "Average": 47.31931859182274, + "t_stamp": 1776345909587 + }, + { + "Average": 47.31818181818182, + "t_stamp": 1776345939587 + }, + { + "Average": 47.31818078887445, + "t_stamp": 1776345969587 + }, + { + "Average": 47.31818181818182, + "t_stamp": 1776345999587 + }, + { + "Average": 47.30416983542282, + "t_stamp": 1776346029587 + }, + { + "Average": 47.303030303030305, + "t_stamp": 1776346059587 + }, + { + "Average": 47.31704123760437, + "t_stamp": 1776346089587 + }, + { + "Average": 47.31818181818182, + "t_stamp": 1776346119587 + }, + { + "Average": 47.29014715886991, + "t_stamp": 1776346149587 + }, + { + "Average": 47.28787878787879, + "t_stamp": 1776346179587 + }, + { + "Average": 47.315911382554404, + "t_stamp": 1776346209587 + }, + { + "Average": 47.31818181818182, + "t_stamp": 1776346239587 + }, + { + "Average": 47.27614051784113, + "t_stamp": 1776346269587 + }, + { + "Average": 47.27272727272727, + "t_stamp": 1776346299587 + }, + { + "Average": 47.28674347218729, + "t_stamp": 1776346329587 + }, + { + "Average": 47.28787878787879, + "t_stamp": 1776346359587 + }, + { + "Average": 47.287872607665896, + "t_stamp": 1776346389587 + }, + { + "Average": 47.28787878787879, + "t_stamp": 1776346419587 + }, + { + "Average": 47.2598446969697, + "t_stamp": 1776346449587 + }, + { + "Average": 47.25757575757576, + "t_stamp": 1776346479587 + }, + { + "Average": 47.25757575757576, + "t_stamp": 1776346509587 + }, + { + "Average": 47.25757575757576, + "t_stamp": 1776346539587 + }, + { + "Average": 47.25757575757575, + "t_stamp": 1776346569587 + }, + { + "Average": 47.25757575757576, + "t_stamp": 1776346599587 + }, + { + "Average": 47.24355955811574, + "t_stamp": 1776346629587 + }, + { + "Average": 47.24242424242424, + "t_stamp": 1776346659587 + }, + { + "Average": 47.242420492476434, + "t_stamp": 1776346689587 + }, + { + "Average": 47.24242424242424, + "t_stamp": 1776346719587 + }, + { + "Average": 47.228417190728436, + "t_stamp": 1776346749587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776346779587 + }, + { + "Average": 47.21326289792541, + "t_stamp": 1776346809587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776346839587 + }, + { + "Average": 47.21211091574209, + "t_stamp": 1776346869587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776346899587 + }, + { + "Average": 47.2261398989899, + "t_stamp": 1776346929587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776346959587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776346989587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347019587 + }, + { + "Average": 47.227268939457076, + "t_stamp": 1776347049587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347079587 + }, + { + "Average": 47.22727604801178, + "t_stamp": 1776347109587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347139587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347169587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347199587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347229587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347259587 + }, + { + "Average": 47.19923941289173, + "t_stamp": 1776347289587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776347319587 + }, + { + "Average": 47.225000972238426, + "t_stamp": 1776347349587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347379587 + }, + { + "Average": 47.21325676140435, + "t_stamp": 1776347409587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776347439587 + }, + { + "Average": 47.2261424242803, + "t_stamp": 1776347469587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347499587 + }, + { + "Average": 47.25530392678662, + "t_stamp": 1776347529587 + }, + { + "Average": 47.25757575757576, + "t_stamp": 1776347559587 + }, + { + "Average": 47.21552597223127, + "t_stamp": 1776347589587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776347619587 + }, + { + "Average": 47.22613737373737, + "t_stamp": 1776347649587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347679587 + }, + { + "Average": 47.213254274184216, + "t_stamp": 1776347709587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776347739587 + }, + { + "Average": 47.22613760737827, + "t_stamp": 1776347769587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776347799587 + }, + { + "Average": 47.21325454545455, + "t_stamp": 1776347829587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776347859587 + }, + { + "Average": 47.21212554297264, + "t_stamp": 1776347889587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776347919587 + }, + { + "Average": 47.19810303030303, + "t_stamp": 1776347949587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776347979587 + }, + { + "Average": 47.21098787878788, + "t_stamp": 1776348009587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776348039587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776348069587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776348099587 + }, + { + "Average": 47.156054236166774, + "t_stamp": 1776348129587 + }, + { + "Average": 47.15151515151515, + "t_stamp": 1776348159587 + }, + { + "Average": 47.16553688769813, + "t_stamp": 1776348189587 + }, + { + "Average": 47.166666666666664, + "t_stamp": 1776348219587 + }, + { + "Average": 47.15265029090621, + "t_stamp": 1776348249587 + }, + { + "Average": 47.15151515151515, + "t_stamp": 1776348279587 + }, + { + "Average": 47.15150994905887, + "t_stamp": 1776348309587 + }, + { + "Average": 47.15151515151515, + "t_stamp": 1776348339587 + }, + { + "Average": 47.17954743699011, + "t_stamp": 1776348369587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776348399587 + }, + { + "Average": 47.15378533462153, + "t_stamp": 1776348429587 + }, + { + "Average": 47.15151515151515, + "t_stamp": 1776348459587 + }, + { + "Average": 47.15151639519392, + "t_stamp": 1776348489587 + }, + { + "Average": 47.15151515151515, + "t_stamp": 1776348519587 + }, + { + "Average": 47.17954089007123, + "t_stamp": 1776348549587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776348579587 + }, + { + "Average": 47.1818263194435, + "t_stamp": 1776348609587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776348639587 + }, + { + "Average": 47.181810372411924, + "t_stamp": 1776348669587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776348699587 + }, + { + "Average": 47.181819949465485, + "t_stamp": 1776348729587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776348759587 + }, + { + "Average": 47.15379178601047, + "t_stamp": 1776348789587 + }, + { + "Average": 47.15151515151515, + "t_stamp": 1776348819587 + }, + { + "Average": 47.151514608609844, + "t_stamp": 1776348849587 + }, + { + "Average": 47.15151515151515, + "t_stamp": 1776348879587 + }, + { + "Average": 47.17954026565252, + "t_stamp": 1776348909587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776348939587 + }, + { + "Average": 47.181819968452125, + "t_stamp": 1776348969587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776348999587 + }, + { + "Average": 47.16780000000001, + "t_stamp": 1776349029587 + }, + { + "Average": 47.166666666666664, + "t_stamp": 1776349059587 + }, + { + "Average": 47.20871565656566, + "t_stamp": 1776349089587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776349119587 + }, + { + "Average": 47.18409017044223, + "t_stamp": 1776349149587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776349179587 + }, + { + "Average": 47.20984883205818, + "t_stamp": 1776349209587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776349239587 + }, + { + "Average": 47.226136325756315, + "t_stamp": 1776349269587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776349299587 + }, + { + "Average": 47.19924191919191, + "t_stamp": 1776349329587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349359587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349389587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349419587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349449587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349479587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349509587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349539587 + }, + { + "Average": 47.21098477272222, + "t_stamp": 1776349569587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776349599587 + }, + { + "Average": 47.19810652776221, + "t_stamp": 1776349629587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349659587 + }, + { + "Average": 47.210984109860796, + "t_stamp": 1776349689587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776349719587 + }, + { + "Average": 47.19811167326043, + "t_stamp": 1776349749587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776349779587 + }, + { + "Average": 47.21098416671212, + "t_stamp": 1776349809587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776349839587 + }, + { + "Average": 47.21211938668573, + "t_stamp": 1776349869587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776349899587 + }, + { + "Average": 47.18410280568179, + "t_stamp": 1776349929587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776349959587 + }, + { + "Average": 47.181811306320995, + "t_stamp": 1776349989587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350019587 + }, + { + "Average": 47.19583257575758, + "t_stamp": 1776350049587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776350079587 + }, + { + "Average": 47.25302061727274, + "t_stamp": 1776350109587 + }, + { + "Average": 47.25757575757576, + "t_stamp": 1776350139587 + }, + { + "Average": 47.27159318181818, + "t_stamp": 1776350169587 + }, + { + "Average": 47.27272727272727, + "t_stamp": 1776350199587 + }, + { + "Average": 47.21667412849222, + "t_stamp": 1776350229587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776350259587 + }, + { + "Average": 47.22613638269202, + "t_stamp": 1776350289587 + }, + { + "Average": 47.22727272727273, + "t_stamp": 1776350319587 + }, + { + "Average": 47.213255031683815, + "t_stamp": 1776350349587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776350379587 + }, + { + "Average": 47.18409383904386, + "t_stamp": 1776350409587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350439587 + }, + { + "Average": 47.181817676838584, + "t_stamp": 1776350469587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350499587 + }, + { + "Average": 47.181820416505055, + "t_stamp": 1776350529587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350559587 + }, + { + "Average": 47.195820374229235, + "t_stamp": 1776350589587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776350619587 + }, + { + "Average": 47.18295724156603, + "t_stamp": 1776350649587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350679587 + }, + { + "Average": 47.181819968392986, + "t_stamp": 1776350709587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350739587 + }, + { + "Average": 47.18182233637505, + "t_stamp": 1776350769587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350799587 + }, + { + "Average": 47.18181664766319, + "t_stamp": 1776350829587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776350859587 + }, + { + "Average": 47.195827544288406, + "t_stamp": 1776350889587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776350919587 + }, + { + "Average": 47.168939684412045, + "t_stamp": 1776350949587 + }, + { + "Average": 47.166666666666664, + "t_stamp": 1776350979587 + }, + { + "Average": 47.18068358585859, + "t_stamp": 1776351009587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776351039587 + }, + { + "Average": 47.195831622560284, + "t_stamp": 1776351069587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776351099587 + }, + { + "Average": 47.18295537884344, + "t_stamp": 1776351129587 + }, + { + "Average": 47.18181818181818, + "t_stamp": 1776351159587 + }, + { + "Average": 47.19583259470927, + "t_stamp": 1776351189587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776351219587 + }, + { + "Average": 47.210986363636366, + "t_stamp": 1776351249587 + }, + { + "Average": 47.21212121212121, + "t_stamp": 1776351279587 + }, + { + "Average": 47.198104292929294, + "t_stamp": 1776351309587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776351339587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776351369587 + }, + { + "Average": 47.196969696969695, + "t_stamp": 1776351399587 + } + ], + "Maximum": [ + { + "Maximum": 50, + "t_stamp": 1776344229587 + }, + { + "Maximum": 50, + "t_stamp": 1776344259587 + }, + { + "Maximum": 50, + "t_stamp": 1776344289587 + }, + { + "Maximum": 50, + "t_stamp": 1776344319587 + }, + { + "Maximum": 50, + "t_stamp": 1776344349587 + }, + { + "Maximum": 50, + "t_stamp": 1776344379587 + }, + { + "Maximum": 50, + "t_stamp": 1776344409587 + }, + { + "Maximum": 50, + "t_stamp": 1776344439587 + }, + { + "Maximum": 49.07505, + "t_stamp": 1776344469587 + }, + { + "Maximum": 49, + "t_stamp": 1776344499587 + }, + { + "Maximum": 49.92495, + "t_stamp": 1776344529587 + }, + { + "Maximum": 50, + "t_stamp": 1776344559587 + }, + { + "Maximum": 49.07508083063898, + "t_stamp": 1776344589587 + }, + { + "Maximum": 49, + "t_stamp": 1776344619587 + }, + { + "Maximum": 49, + "t_stamp": 1776344649587 + }, + { + "Maximum": 49, + "t_stamp": 1776344679587 + }, + { + "Maximum": 49, + "t_stamp": 1776344709587 + }, + { + "Maximum": 49, + "t_stamp": 1776344739587 + }, + { + "Maximum": 49, + "t_stamp": 1776344769587 + }, + { + "Maximum": 49, + "t_stamp": 1776344799587 + }, + { + "Maximum": 49, + "t_stamp": 1776344829587 + }, + { + "Maximum": 49, + "t_stamp": 1776344859587 + }, + { + "Maximum": 49, + "t_stamp": 1776344889587 + }, + { + "Maximum": 49, + "t_stamp": 1776344919587 + }, + { + "Maximum": 49.92475501633224, + "t_stamp": 1776344949587 + }, + { + "Maximum": 50, + "t_stamp": 1776344979587 + }, + { + "Maximum": 50, + "t_stamp": 1776345009587 + }, + { + "Maximum": 50, + "t_stamp": 1776345039587 + }, + { + "Maximum": 49.07528619753045, + "t_stamp": 1776345069587 + }, + { + "Maximum": 49, + "t_stamp": 1776345099587 + }, + { + "Maximum": 49, + "t_stamp": 1776345129587 + }, + { + "Maximum": 49, + "t_stamp": 1776345159587 + }, + { + "Maximum": 49, + "t_stamp": 1776345189587 + }, + { + "Maximum": 49, + "t_stamp": 1776345219587 + }, + { + "Maximum": 49, + "t_stamp": 1776345249587 + }, + { + "Maximum": 49, + "t_stamp": 1776345279587 + }, + { + "Maximum": 49, + "t_stamp": 1776345309587 + }, + { + "Maximum": 49, + "t_stamp": 1776345339587 + }, + { + "Maximum": 49, + "t_stamp": 1776345369587 + }, + { + "Maximum": 49, + "t_stamp": 1776345399587 + }, + { + "Maximum": 49, + "t_stamp": 1776345429587 + }, + { + "Maximum": 49, + "t_stamp": 1776345459587 + }, + { + "Maximum": 49, + "t_stamp": 1776345489587 + }, + { + "Maximum": 49, + "t_stamp": 1776345519587 + }, + { + "Maximum": 49, + "t_stamp": 1776345549587 + }, + { + "Maximum": 49, + "t_stamp": 1776345579587 + }, + { + "Maximum": 49, + "t_stamp": 1776345609587 + }, + { + "Maximum": 49, + "t_stamp": 1776345639587 + }, + { + "Maximum": 49, + "t_stamp": 1776345669587 + }, + { + "Maximum": 49, + "t_stamp": 1776345699587 + }, + { + "Maximum": 49, + "t_stamp": 1776345729587 + }, + { + "Maximum": 49, + "t_stamp": 1776345759587 + }, + { + "Maximum": 49, + "t_stamp": 1776345789587 + }, + { + "Maximum": 49, + "t_stamp": 1776345819587 + }, + { + "Maximum": 49, + "t_stamp": 1776345849587 + }, + { + "Maximum": 49, + "t_stamp": 1776345879587 + }, + { + "Maximum": 49, + "t_stamp": 1776345909587 + }, + { + "Maximum": 49, + "t_stamp": 1776345939587 + }, + { + "Maximum": 49, + "t_stamp": 1776345969587 + }, + { + "Maximum": 49, + "t_stamp": 1776345999587 + }, + { + "Maximum": 49, + "t_stamp": 1776346029587 + }, + { + "Maximum": 49, + "t_stamp": 1776346059587 + }, + { + "Maximum": 49, + "t_stamp": 1776346089587 + }, + { + "Maximum": 49, + "t_stamp": 1776346119587 + }, + { + "Maximum": 49, + "t_stamp": 1776346149587 + }, + { + "Maximum": 49, + "t_stamp": 1776346179587 + }, + { + "Maximum": 49, + "t_stamp": 1776346209587 + }, + { + "Maximum": 49, + "t_stamp": 1776346239587 + }, + { + "Maximum": 49, + "t_stamp": 1776346269587 + }, + { + "Maximum": 49, + "t_stamp": 1776346299587 + }, + { + "Maximum": 49, + "t_stamp": 1776346329587 + }, + { + "Maximum": 49, + "t_stamp": 1776346359587 + }, + { + "Maximum": 49, + "t_stamp": 1776346389587 + }, + { + "Maximum": 49, + "t_stamp": 1776346419587 + }, + { + "Maximum": 49, + "t_stamp": 1776346449587 + }, + { + "Maximum": 49, + "t_stamp": 1776346479587 + }, + { + "Maximum": 49, + "t_stamp": 1776346509587 + }, + { + "Maximum": 49, + "t_stamp": 1776346539587 + }, + { + "Maximum": 49, + "t_stamp": 1776346569587 + }, + { + "Maximum": 49, + "t_stamp": 1776346599587 + }, + { + "Maximum": 49, + "t_stamp": 1776346629587 + }, + { + "Maximum": 49, + "t_stamp": 1776346659587 + }, + { + "Maximum": 49, + "t_stamp": 1776346689587 + }, + { + "Maximum": 49, + "t_stamp": 1776346719587 + }, + { + "Maximum": 49, + "t_stamp": 1776346749587 + }, + { + "Maximum": 49, + "t_stamp": 1776346779587 + }, + { + "Maximum": 49, + "t_stamp": 1776346809587 + }, + { + "Maximum": 49, + "t_stamp": 1776346839587 + }, + { + "Maximum": 49, + "t_stamp": 1776346869587 + }, + { + "Maximum": 49, + "t_stamp": 1776346899587 + }, + { + "Maximum": 49, + "t_stamp": 1776346929587 + }, + { + "Maximum": 49, + "t_stamp": 1776346959587 + }, + { + "Maximum": 49, + "t_stamp": 1776346989587 + }, + { + "Maximum": 49, + "t_stamp": 1776347019587 + }, + { + "Maximum": 49, + "t_stamp": 1776347049587 + }, + { + "Maximum": 49, + "t_stamp": 1776347079587 + }, + { + "Maximum": 49, + "t_stamp": 1776347109587 + }, + { + "Maximum": 49, + "t_stamp": 1776347139587 + }, + { + "Maximum": 49, + "t_stamp": 1776347169587 + }, + { + "Maximum": 49, + "t_stamp": 1776347199587 + }, + { + "Maximum": 49, + "t_stamp": 1776347229587 + }, + { + "Maximum": 49, + "t_stamp": 1776347259587 + }, + { + "Maximum": 49, + "t_stamp": 1776347289587 + }, + { + "Maximum": 49, + "t_stamp": 1776347319587 + }, + { + "Maximum": 49, + "t_stamp": 1776347349587 + }, + { + "Maximum": 49, + "t_stamp": 1776347379587 + }, + { + "Maximum": 49, + "t_stamp": 1776347409587 + }, + { + "Maximum": 49, + "t_stamp": 1776347439587 + }, + { + "Maximum": 49, + "t_stamp": 1776347469587 + }, + { + "Maximum": 49, + "t_stamp": 1776347499587 + }, + { + "Maximum": 49, + "t_stamp": 1776347529587 + }, + { + "Maximum": 49, + "t_stamp": 1776347559587 + }, + { + "Maximum": 49, + "t_stamp": 1776347589587 + }, + { + "Maximum": 49, + "t_stamp": 1776347619587 + }, + { + "Maximum": 49, + "t_stamp": 1776347649587 + }, + { + "Maximum": 49, + "t_stamp": 1776347679587 + }, + { + "Maximum": 49, + "t_stamp": 1776347709587 + }, + { + "Maximum": 49, + "t_stamp": 1776347739587 + }, + { + "Maximum": 49, + "t_stamp": 1776347769587 + }, + { + "Maximum": 49, + "t_stamp": 1776347799587 + }, + { + "Maximum": 49, + "t_stamp": 1776347829587 + }, + { + "Maximum": 49, + "t_stamp": 1776347859587 + }, + { + "Maximum": 49, + "t_stamp": 1776347889587 + }, + { + "Maximum": 49, + "t_stamp": 1776347919587 + }, + { + "Maximum": 49, + "t_stamp": 1776347949587 + }, + { + "Maximum": 49, + "t_stamp": 1776347979587 + }, + { + "Maximum": 49, + "t_stamp": 1776348009587 + }, + { + "Maximum": 49, + "t_stamp": 1776348039587 + }, + { + "Maximum": 49, + "t_stamp": 1776348069587 + }, + { + "Maximum": 49, + "t_stamp": 1776348099587 + }, + { + "Maximum": 49, + "t_stamp": 1776348129587 + }, + { + "Maximum": 49, + "t_stamp": 1776348159587 + }, + { + "Maximum": 49, + "t_stamp": 1776348189587 + }, + { + "Maximum": 49, + "t_stamp": 1776348219587 + }, + { + "Maximum": 49, + "t_stamp": 1776348249587 + }, + { + "Maximum": 49, + "t_stamp": 1776348279587 + }, + { + "Maximum": 49, + "t_stamp": 1776348309587 + }, + { + "Maximum": 49, + "t_stamp": 1776348339587 + }, + { + "Maximum": 49, + "t_stamp": 1776348369587 + }, + { + "Maximum": 49, + "t_stamp": 1776348399587 + }, + { + "Maximum": 49, + "t_stamp": 1776348429587 + }, + { + "Maximum": 49, + "t_stamp": 1776348459587 + }, + { + "Maximum": 49, + "t_stamp": 1776348489587 + }, + { + "Maximum": 49, + "t_stamp": 1776348519587 + }, + { + "Maximum": 49, + "t_stamp": 1776348549587 + }, + { + "Maximum": 49, + "t_stamp": 1776348579587 + }, + { + "Maximum": 49, + "t_stamp": 1776348609587 + }, + { + "Maximum": 49, + "t_stamp": 1776348639587 + }, + { + "Maximum": 49, + "t_stamp": 1776348669587 + }, + { + "Maximum": 49, + "t_stamp": 1776348699587 + }, + { + "Maximum": 49, + "t_stamp": 1776348729587 + }, + { + "Maximum": 49, + "t_stamp": 1776348759587 + }, + { + "Maximum": 49, + "t_stamp": 1776348789587 + }, + { + "Maximum": 49, + "t_stamp": 1776348819587 + }, + { + "Maximum": 49, + "t_stamp": 1776348849587 + }, + { + "Maximum": 49, + "t_stamp": 1776348879587 + }, + { + "Maximum": 49, + "t_stamp": 1776348909587 + }, + { + "Maximum": 49, + "t_stamp": 1776348939587 + }, + { + "Maximum": 49, + "t_stamp": 1776348969587 + }, + { + "Maximum": 49, + "t_stamp": 1776348999587 + }, + { + "Maximum": 49, + "t_stamp": 1776349029587 + }, + { + "Maximum": 49, + "t_stamp": 1776349059587 + }, + { + "Maximum": 49, + "t_stamp": 1776349089587 + }, + { + "Maximum": 49, + "t_stamp": 1776349119587 + }, + { + "Maximum": 49, + "t_stamp": 1776349149587 + }, + { + "Maximum": 49, + "t_stamp": 1776349179587 + }, + { + "Maximum": 49, + "t_stamp": 1776349209587 + }, + { + "Maximum": 49, + "t_stamp": 1776349239587 + }, + { + "Maximum": 49, + "t_stamp": 1776349269587 + }, + { + "Maximum": 49, + "t_stamp": 1776349299587 + }, + { + "Maximum": 49, + "t_stamp": 1776349329587 + }, + { + "Maximum": 49, + "t_stamp": 1776349359587 + }, + { + "Maximum": 49, + "t_stamp": 1776349389587 + }, + { + "Maximum": 49, + "t_stamp": 1776349419587 + }, + { + "Maximum": 49, + "t_stamp": 1776349449587 + }, + { + "Maximum": 49, + "t_stamp": 1776349479587 + }, + { + "Maximum": 49, + "t_stamp": 1776349509587 + }, + { + "Maximum": 49, + "t_stamp": 1776349539587 + }, + { + "Maximum": 49, + "t_stamp": 1776349569587 + }, + { + "Maximum": 49, + "t_stamp": 1776349599587 + }, + { + "Maximum": 49, + "t_stamp": 1776349629587 + }, + { + "Maximum": 49, + "t_stamp": 1776349659587 + }, + { + "Maximum": 49, + "t_stamp": 1776349689587 + }, + { + "Maximum": 49, + "t_stamp": 1776349719587 + }, + { + "Maximum": 49, + "t_stamp": 1776349749587 + }, + { + "Maximum": 49, + "t_stamp": 1776349779587 + }, + { + "Maximum": 49, + "t_stamp": 1776349809587 + }, + { + "Maximum": 49, + "t_stamp": 1776349839587 + }, + { + "Maximum": 49, + "t_stamp": 1776349869587 + }, + { + "Maximum": 49, + "t_stamp": 1776349899587 + }, + { + "Maximum": 49, + "t_stamp": 1776349929587 + }, + { + "Maximum": 49, + "t_stamp": 1776349959587 + }, + { + "Maximum": 49, + "t_stamp": 1776349989587 + }, + { + "Maximum": 49, + "t_stamp": 1776350019587 + }, + { + "Maximum": 49, + "t_stamp": 1776350049587 + }, + { + "Maximum": 49, + "t_stamp": 1776350079587 + }, + { + "Maximum": 49.92467328977197, + "t_stamp": 1776350109587 + }, + { + "Maximum": 50, + "t_stamp": 1776350139587 + }, + { + "Maximum": 50, + "t_stamp": 1776350169587 + }, + { + "Maximum": 50, + "t_stamp": 1776350199587 + }, + { + "Maximum": 49.07529749008366, + "t_stamp": 1776350229587 + }, + { + "Maximum": 49, + "t_stamp": 1776350259587 + }, + { + "Maximum": 49, + "t_stamp": 1776350289587 + }, + { + "Maximum": 49, + "t_stamp": 1776350319587 + }, + { + "Maximum": 49, + "t_stamp": 1776350349587 + }, + { + "Maximum": 49, + "t_stamp": 1776350379587 + }, + { + "Maximum": 49, + "t_stamp": 1776350409587 + }, + { + "Maximum": 49, + "t_stamp": 1776350439587 + }, + { + "Maximum": 49, + "t_stamp": 1776350469587 + }, + { + "Maximum": 49, + "t_stamp": 1776350499587 + }, + { + "Maximum": 49, + "t_stamp": 1776350529587 + }, + { + "Maximum": 49, + "t_stamp": 1776350559587 + }, + { + "Maximum": 49, + "t_stamp": 1776350589587 + }, + { + "Maximum": 49, + "t_stamp": 1776350619587 + }, + { + "Maximum": 49, + "t_stamp": 1776350649587 + }, + { + "Maximum": 49, + "t_stamp": 1776350679587 + }, + { + "Maximum": 49.92457420924574, + "t_stamp": 1776350709587 + }, + { + "Maximum": 50, + "t_stamp": 1776350739587 + }, + { + "Maximum": 49.075340867420074, + "t_stamp": 1776350769587 + }, + { + "Maximum": 49, + "t_stamp": 1776350799587 + }, + { + "Maximum": 49, + "t_stamp": 1776350829587 + }, + { + "Maximum": 49, + "t_stamp": 1776350859587 + }, + { + "Maximum": 49, + "t_stamp": 1776350889587 + }, + { + "Maximum": 49, + "t_stamp": 1776350919587 + }, + { + "Maximum": 49, + "t_stamp": 1776350949587 + }, + { + "Maximum": 49, + "t_stamp": 1776350979587 + }, + { + "Maximum": 49, + "t_stamp": 1776351009587 + }, + { + "Maximum": 49, + "t_stamp": 1776351039587 + }, + { + "Maximum": 49, + "t_stamp": 1776351069587 + }, + { + "Maximum": 49, + "t_stamp": 1776351099587 + }, + { + "Maximum": 49, + "t_stamp": 1776351129587 + }, + { + "Maximum": 49, + "t_stamp": 1776351159587 + }, + { + "Maximum": 49, + "t_stamp": 1776351189587 + }, + { + "Maximum": 49, + "t_stamp": 1776351219587 + }, + { + "Maximum": 49, + "t_stamp": 1776351249587 + }, + { + "Maximum": 49, + "t_stamp": 1776351279587 + }, + { + "Maximum": 49, + "t_stamp": 1776351309587 + }, + { + "Maximum": 49, + "t_stamp": 1776351339587 + }, + { + "Maximum": 49, + "t_stamp": 1776351369587 + }, + { + "Maximum": 49, + "t_stamp": 1776351399587 + } + ], + "Minimum": [ + { + "Minimum": 46, + "t_stamp": 1776344196580 + }, + { + "Minimum": 46, + "t_stamp": 1776344226580 + }, + { + "Minimum": 46, + "t_stamp": 1776344256580 + }, + { + "Minimum": 46, + "t_stamp": 1776344286580 + }, + { + "Minimum": 46, + "t_stamp": 1776344316580 + }, + { + "Minimum": 46, + "t_stamp": 1776344346580 + }, + { + "Minimum": 46, + "t_stamp": 1776344376580 + }, + { + "Minimum": 46, + "t_stamp": 1776344406580 + }, + { + "Minimum": 46, + "t_stamp": 1776344436580 + }, + { + "Minimum": 46, + "t_stamp": 1776344466580 + }, + { + "Minimum": 46, + "t_stamp": 1776344496580 + }, + { + "Minimum": 46, + "t_stamp": 1776344526580 + }, + { + "Minimum": 46, + "t_stamp": 1776344556580 + }, + { + "Minimum": 46, + "t_stamp": 1776344586580 + }, + { + "Minimum": 46, + "t_stamp": 1776344616580 + }, + { + "Minimum": 46, + "t_stamp": 1776344646580 + }, + { + "Minimum": 46, + "t_stamp": 1776344676580 + }, + { + "Minimum": 46, + "t_stamp": 1776344706580 + }, + { + "Minimum": 46, + "t_stamp": 1776344736580 + }, + { + "Minimum": 46, + "t_stamp": 1776344766580 + }, + { + "Minimum": 46, + "t_stamp": 1776344796580 + }, + { + "Minimum": 46, + "t_stamp": 1776344826580 + }, + { + "Minimum": 46, + "t_stamp": 1776344856580 + }, + { + "Minimum": 46, + "t_stamp": 1776344886580 + }, + { + "Minimum": 46, + "t_stamp": 1776344916580 + }, + { + "Minimum": 46, + "t_stamp": 1776344946580 + }, + { + "Minimum": 46, + "t_stamp": 1776344976580 + }, + { + "Minimum": 46, + "t_stamp": 1776345006580 + }, + { + "Minimum": 46, + "t_stamp": 1776345036580 + }, + { + "Minimum": 46, + "t_stamp": 1776345066580 + }, + { + "Minimum": 46, + "t_stamp": 1776345096580 + }, + { + "Minimum": 46, + "t_stamp": 1776345126580 + }, + { + "Minimum": 46, + "t_stamp": 1776345156580 + }, + { + "Minimum": 46, + "t_stamp": 1776345186580 + }, + { + "Minimum": 46, + "t_stamp": 1776345216580 + }, + { + "Minimum": 46, + "t_stamp": 1776345246580 + }, + { + "Minimum": 46, + "t_stamp": 1776345276580 + }, + { + "Minimum": 46, + "t_stamp": 1776345306580 + }, + { + "Minimum": 46, + "t_stamp": 1776345336580 + }, + { + "Minimum": 46, + "t_stamp": 1776345366580 + }, + { + "Minimum": 46, + "t_stamp": 1776345396580 + }, + { + "Minimum": 46, + "t_stamp": 1776345426580 + }, + { + "Minimum": 46, + "t_stamp": 1776345456580 + }, + { + "Minimum": 46, + "t_stamp": 1776345486580 + }, + { + "Minimum": 46, + "t_stamp": 1776345516580 + }, + { + "Minimum": 46, + "t_stamp": 1776345546580 + }, + { + "Minimum": 46, + "t_stamp": 1776345576580 + }, + { + "Minimum": 46, + "t_stamp": 1776345606580 + }, + { + "Minimum": 46, + "t_stamp": 1776345636580 + }, + { + "Minimum": 46, + "t_stamp": 1776345666580 + }, + { + "Minimum": 46, + "t_stamp": 1776345696580 + }, + { + "Minimum": 46, + "t_stamp": 1776345726580 + }, + { + "Minimum": 46, + "t_stamp": 1776345756580 + }, + { + "Minimum": 46, + "t_stamp": 1776345786580 + }, + { + "Minimum": 46, + "t_stamp": 1776345816580 + }, + { + "Minimum": 46, + "t_stamp": 1776345846580 + }, + { + "Minimum": 46, + "t_stamp": 1776345876580 + }, + { + "Minimum": 46, + "t_stamp": 1776345906580 + }, + { + "Minimum": 46, + "t_stamp": 1776345936580 + }, + { + "Minimum": 46, + "t_stamp": 1776345966580 + }, + { + "Minimum": 46, + "t_stamp": 1776345996580 + }, + { + "Minimum": 46, + "t_stamp": 1776346026580 + }, + { + "Minimum": 46, + "t_stamp": 1776346056580 + }, + { + "Minimum": 46, + "t_stamp": 1776346086580 + }, + { + "Minimum": 46, + "t_stamp": 1776346116580 + }, + { + "Minimum": 46, + "t_stamp": 1776346146580 + }, + { + "Minimum": 46, + "t_stamp": 1776346176580 + }, + { + "Minimum": 46, + "t_stamp": 1776346206580 + }, + { + "Minimum": 46, + "t_stamp": 1776346236580 + }, + { + "Minimum": 46, + "t_stamp": 1776346266580 + }, + { + "Minimum": 46, + "t_stamp": 1776346296580 + }, + { + "Minimum": 46, + "t_stamp": 1776346326580 + }, + { + "Minimum": 46, + "t_stamp": 1776346356580 + }, + { + "Minimum": 46, + "t_stamp": 1776346386580 + }, + { + "Minimum": 46, + "t_stamp": 1776346416580 + }, + { + "Minimum": 46, + "t_stamp": 1776346446580 + }, + { + "Minimum": 46, + "t_stamp": 1776346476580 + }, + { + "Minimum": 46, + "t_stamp": 1776346506580 + }, + { + "Minimum": 46, + "t_stamp": 1776346536580 + }, + { + "Minimum": 46, + "t_stamp": 1776346566580 + }, + { + "Minimum": 46, + "t_stamp": 1776346596580 + }, + { + "Minimum": 46, + "t_stamp": 1776346626580 + }, + { + "Minimum": 46, + "t_stamp": 1776346656580 + }, + { + "Minimum": 46, + "t_stamp": 1776346686580 + }, + { + "Minimum": 46, + "t_stamp": 1776346716580 + }, + { + "Minimum": 46, + "t_stamp": 1776346746580 + }, + { + "Minimum": 46, + "t_stamp": 1776346776580 + }, + { + "Minimum": 46, + "t_stamp": 1776346806580 + }, + { + "Minimum": 46, + "t_stamp": 1776346836580 + }, + { + "Minimum": 46, + "t_stamp": 1776346866580 + }, + { + "Minimum": 46, + "t_stamp": 1776346896580 + }, + { + "Minimum": 46, + "t_stamp": 1776346926580 + }, + { + "Minimum": 46, + "t_stamp": 1776346956580 + }, + { + "Minimum": 46, + "t_stamp": 1776346986580 + }, + { + "Minimum": 46, + "t_stamp": 1776347016580 + }, + { + "Minimum": 46, + "t_stamp": 1776347046580 + }, + { + "Minimum": 46, + "t_stamp": 1776347076580 + }, + { + "Minimum": 46, + "t_stamp": 1776347106580 + }, + { + "Minimum": 46, + "t_stamp": 1776347136580 + }, + { + "Minimum": 46, + "t_stamp": 1776347166580 + }, + { + "Minimum": 46, + "t_stamp": 1776347196580 + }, + { + "Minimum": 46, + "t_stamp": 1776347226580 + }, + { + "Minimum": 46, + "t_stamp": 1776347256580 + }, + { + "Minimum": 46, + "t_stamp": 1776347286580 + }, + { + "Minimum": 46, + "t_stamp": 1776347316580 + }, + { + "Minimum": 46, + "t_stamp": 1776347346580 + }, + { + "Minimum": 46, + "t_stamp": 1776347376580 + }, + { + "Minimum": 46, + "t_stamp": 1776347406580 + }, + { + "Minimum": 46, + "t_stamp": 1776347436580 + }, + { + "Minimum": 46, + "t_stamp": 1776347466580 + }, + { + "Minimum": 46, + "t_stamp": 1776347496580 + }, + { + "Minimum": 46, + "t_stamp": 1776347526580 + }, + { + "Minimum": 46, + "t_stamp": 1776347556580 + }, + { + "Minimum": 46, + "t_stamp": 1776347586580 + }, + { + "Minimum": 46, + "t_stamp": 1776347616580 + }, + { + "Minimum": 46, + "t_stamp": 1776347646580 + }, + { + "Minimum": 46, + "t_stamp": 1776347676580 + }, + { + "Minimum": 46, + "t_stamp": 1776347706580 + }, + { + "Minimum": 46, + "t_stamp": 1776347736580 + }, + { + "Minimum": 46, + "t_stamp": 1776347766580 + }, + { + "Minimum": 46, + "t_stamp": 1776347796580 + }, + { + "Minimum": 46, + "t_stamp": 1776347826580 + }, + { + "Minimum": 46, + "t_stamp": 1776347856580 + }, + { + "Minimum": 46, + "t_stamp": 1776347886580 + }, + { + "Minimum": 46, + "t_stamp": 1776347916580 + }, + { + "Minimum": 46, + "t_stamp": 1776347946580 + }, + { + "Minimum": 46, + "t_stamp": 1776347976580 + }, + { + "Minimum": 46, + "t_stamp": 1776348006580 + }, + { + "Minimum": 46, + "t_stamp": 1776348036580 + }, + { + "Minimum": 46, + "t_stamp": 1776348066580 + }, + { + "Minimum": 46, + "t_stamp": 1776348096580 + }, + { + "Minimum": 46, + "t_stamp": 1776348126580 + }, + { + "Minimum": 46, + "t_stamp": 1776348156580 + }, + { + "Minimum": 46, + "t_stamp": 1776348186580 + }, + { + "Minimum": 46, + "t_stamp": 1776348216580 + }, + { + "Minimum": 46, + "t_stamp": 1776348246580 + }, + { + "Minimum": 46, + "t_stamp": 1776348276580 + }, + { + "Minimum": 46, + "t_stamp": 1776348306580 + }, + { + "Minimum": 46, + "t_stamp": 1776348336580 + }, + { + "Minimum": 46, + "t_stamp": 1776348366580 + }, + { + "Minimum": 46, + "t_stamp": 1776348396580 + }, + { + "Minimum": 46, + "t_stamp": 1776348426580 + }, + { + "Minimum": 46, + "t_stamp": 1776348456580 + }, + { + "Minimum": 46, + "t_stamp": 1776348486580 + }, + { + "Minimum": 46, + "t_stamp": 1776348516580 + }, + { + "Minimum": 46, + "t_stamp": 1776348546580 + }, + { + "Minimum": 46, + "t_stamp": 1776348576580 + }, + { + "Minimum": 46, + "t_stamp": 1776348606580 + }, + { + "Minimum": 46, + "t_stamp": 1776348636580 + }, + { + "Minimum": 46, + "t_stamp": 1776348666580 + }, + { + "Minimum": 46, + "t_stamp": 1776348696580 + }, + { + "Minimum": 46, + "t_stamp": 1776348726580 + }, + { + "Minimum": 46, + "t_stamp": 1776348756580 + }, + { + "Minimum": 46, + "t_stamp": 1776348786580 + }, + { + "Minimum": 46, + "t_stamp": 1776348816580 + }, + { + "Minimum": 46, + "t_stamp": 1776348846580 + }, + { + "Minimum": 46, + "t_stamp": 1776348876580 + }, + { + "Minimum": 46, + "t_stamp": 1776348906580 + }, + { + "Minimum": 46, + "t_stamp": 1776348936580 + }, + { + "Minimum": 46, + "t_stamp": 1776348966580 + }, + { + "Minimum": 46, + "t_stamp": 1776348996580 + }, + { + "Minimum": 46, + "t_stamp": 1776349026580 + }, + { + "Minimum": 46, + "t_stamp": 1776349056580 + }, + { + "Minimum": 46, + "t_stamp": 1776349086580 + }, + { + "Minimum": 46, + "t_stamp": 1776349116580 + }, + { + "Minimum": 46, + "t_stamp": 1776349146580 + }, + { + "Minimum": 46, + "t_stamp": 1776349176580 + }, + { + "Minimum": 46, + "t_stamp": 1776349206580 + }, + { + "Minimum": 46, + "t_stamp": 1776349236580 + }, + { + "Minimum": 46, + "t_stamp": 1776349266580 + }, + { + "Minimum": 46, + "t_stamp": 1776349296580 + }, + { + "Minimum": 46, + "t_stamp": 1776349326580 + }, + { + "Minimum": 46, + "t_stamp": 1776349356580 + }, + { + "Minimum": 46, + "t_stamp": 1776349386580 + }, + { + "Minimum": 46, + "t_stamp": 1776349416580 + }, + { + "Minimum": 46, + "t_stamp": 1776349446580 + }, + { + "Minimum": 46, + "t_stamp": 1776349476580 + }, + { + "Minimum": 46, + "t_stamp": 1776349506580 + }, + { + "Minimum": 46, + "t_stamp": 1776349536580 + }, + { + "Minimum": 46, + "t_stamp": 1776349566580 + }, + { + "Minimum": 46, + "t_stamp": 1776349596580 + }, + { + "Minimum": 46, + "t_stamp": 1776349626580 + }, + { + "Minimum": 46, + "t_stamp": 1776349656580 + }, + { + "Minimum": 46, + "t_stamp": 1776349686580 + }, + { + "Minimum": 46, + "t_stamp": 1776349716580 + }, + { + "Minimum": 46, + "t_stamp": 1776349746580 + }, + { + "Minimum": 46, + "t_stamp": 1776349776580 + }, + { + "Minimum": 46, + "t_stamp": 1776349806580 + }, + { + "Minimum": 46, + "t_stamp": 1776349836580 + }, + { + "Minimum": 46, + "t_stamp": 1776349866580 + }, + { + "Minimum": 46, + "t_stamp": 1776349896580 + }, + { + "Minimum": 46, + "t_stamp": 1776349926580 + }, + { + "Minimum": 46, + "t_stamp": 1776349956580 + }, + { + "Minimum": 46, + "t_stamp": 1776349986580 + }, + { + "Minimum": 46, + "t_stamp": 1776350016580 + }, + { + "Minimum": 46, + "t_stamp": 1776350046580 + }, + { + "Minimum": 46, + "t_stamp": 1776350076580 + }, + { + "Minimum": 46, + "t_stamp": 1776350106580 + }, + { + "Minimum": 46, + "t_stamp": 1776350136580 + }, + { + "Minimum": 46, + "t_stamp": 1776350166580 + }, + { + "Minimum": 46, + "t_stamp": 1776350196580 + }, + { + "Minimum": 46, + "t_stamp": 1776350226580 + }, + { + "Minimum": 46, + "t_stamp": 1776350256580 + }, + { + "Minimum": 46, + "t_stamp": 1776350286580 + }, + { + "Minimum": 46, + "t_stamp": 1776350316580 + }, + { + "Minimum": 46, + "t_stamp": 1776350346580 + }, + { + "Minimum": 46, + "t_stamp": 1776350376580 + }, + { + "Minimum": 46, + "t_stamp": 1776350406580 + }, + { + "Minimum": 46, + "t_stamp": 1776350436580 + }, + { + "Minimum": 46, + "t_stamp": 1776350466580 + }, + { + "Minimum": 46, + "t_stamp": 1776350496580 + }, + { + "Minimum": 46, + "t_stamp": 1776350526580 + }, + { + "Minimum": 46, + "t_stamp": 1776350556580 + }, + { + "Minimum": 46, + "t_stamp": 1776350586580 + }, + { + "Minimum": 46, + "t_stamp": 1776350616580 + }, + { + "Minimum": 46, + "t_stamp": 1776350646580 + }, + { + "Minimum": 46, + "t_stamp": 1776350676580 + }, + { + "Minimum": 46, + "t_stamp": 1776350706580 + }, + { + "Minimum": 46, + "t_stamp": 1776350736580 + }, + { + "Minimum": 46, + "t_stamp": 1776350766580 + }, + { + "Minimum": 46, + "t_stamp": 1776350796580 + }, + { + "Minimum": 46, + "t_stamp": 1776350826580 + }, + { + "Minimum": 46, + "t_stamp": 1776350856580 + }, + { + "Minimum": 46, + "t_stamp": 1776350886580 + }, + { + "Minimum": 46, + "t_stamp": 1776350916580 + }, + { + "Minimum": 46, + "t_stamp": 1776350946580 + }, + { + "Minimum": 46, + "t_stamp": 1776350976580 + }, + { + "Minimum": 46, + "t_stamp": 1776351006580 + }, + { + "Minimum": 46, + "t_stamp": 1776351036580 + }, + { + "Minimum": 46, + "t_stamp": 1776351066580 + }, + { + "Minimum": 46, + "t_stamp": 1776351096580 + }, + { + "Minimum": 46, + "t_stamp": 1776351126580 + }, + { + "Minimum": 46, + "t_stamp": 1776351156580 + }, + { + "Minimum": 46, + "t_stamp": 1776351186580 + }, + { + "Minimum": 46, + "t_stamp": 1776351216580 + }, + { + "Minimum": 46, + "t_stamp": 1776351246580 + }, + { + "Minimum": 46, + "t_stamp": 1776351276580 + }, + { + "Minimum": 46, + "t_stamp": 1776351306580 + }, + { + "Minimum": 46, + "t_stamp": 1776351336580 + }, + { + "Minimum": 46, + "t_stamp": 1776351366580 + } + ] + }, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Average", + "x": "t_stamp", + "y": "Average" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Temperature" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "#F91111", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "#FA1616", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Average", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Humidity", + "zIndex": 1 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Minimum", + "x": "t_stamp", + "y": "Minimum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Minimum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Humidity", + "zIndex": 2 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Maximum", + "x": "t_stamp", + "y": "Maximum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Maximum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Humidity", + "zIndex": 3 + } + ], + "style": { + "marginBottom": -20, + "overflow": "visible" + }, + "title": { + "appearance": { + "color": "#828282", + "font": { + "size": 12 + }, + "padding": { + "bottom": 8, + "top": -10 + } + }, + "text": "Hum (Avg, Min, Max)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 30, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 30, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Humidity" + }, + "name": "Humidity", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "Humidity" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "###.#", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "children": [ + { + "meta": { + "name": "STU_PieChart" + }, + "position": { + "basis": "65%", + "grow": 1 + }, + "props": { + "params": { + "Tag": "STU", + "faulted": 3, + "running": 12, + "standby": 5 + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dewpoint" + }, + "position": { + "basis": "35%", + "grow": 1 + }, + "props": { + "params": { + "Tag": "STU", + "faulted": 3, + "running": 12, + "standby": 5 + }, + "path": "Library/Widgets/Wgt_V_Bar-Val", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "STU_Dwpt_Section" + }, + "position": { + "basis": "200px" + }, + "props": { + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "GEN_Repeater" + }, + "position": { + "basis": "75px", + "grow": 1 + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P\",{view.params.DH},\"-1\")" + }, + "enabled": false, + "type": "expr" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P\",{view.params.DH},\"-2\")" + }, + "enabled": false, + "type": "expr" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P\",{view.params.DH},\"-3\")" + }, + "enabled": false, + "type": "expr" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P\",{view.params.DH},\"-4\")" + }, + "enabled": false, + "type": "expr" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P\",{view.params.DH},\"-5\")" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P201-1" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P201-2" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P201-3" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P201-4" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tag": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P201-5" + } + ], + "justify": "center", + "path": "Library/Symbols/Electrical/Sym_GeneratorStatus", + "style": { + "gap": "5px", + "overflow": "visible", + "padding": "5px 0" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH_Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH_Control/resource.json new file mode 100644 index 0000000..73211f6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH_Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "99463c4afbef66a616b1e68c8f608f6ba6f6d59954d2b0d1c077b9d6b5d14482", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:23:41Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH_Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH_Control/thumbnail.png new file mode 100644 index 0000000..5ba96d0 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH_Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH_Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH_Control/view.json new file mode 100644 index 0000000..d92fcb1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DH_Control/view.json @@ -0,0 +1,1349 @@ +{ + "custom": { + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + } + }, + "params": { + "dh": 201 + }, + "propConfig": { + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.dh": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1000, + "width": 350 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Title" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.dh" + }, + "transforms": [ + { + "expression": "\"Datahall \"+{value}+\" SLA\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 24 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SLA" + }, + "position": { + "basis": "93px" + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Variable", + "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": false, + "strictWidth": false, + "style": { + "classes": "", + "paddingLeft": "5px" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Minimum", + "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": false, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Maximum", + "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": false, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + } + ], + "data": [ + { + "Maximum": "95 degF", + "Minimum": "50 degF", + "Variable": { + "align": "center", + "editable": false, + "justify": "left", + "style": { + "backgroundColor": "", + "classes": "some-class" + }, + "value": "Temperature" + } + }, + { + "Maximum": "80%", + "Minimum": "5%", + "Variable": { + "align": "center", + "editable": false, + "justify": "left", + "style": { + "backgroundColor": "", + "classes": "some-class" + }, + "value": "Humidity" + } + } + ], + "dragOrderable": false, + "pager": { + "bottom": false + }, + "selection": { + "enableRowSelection": false + }, + "style": { + "fontSize": 16 + } + }, + "type": "ia.display.table" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Humidifier Disable Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027 \u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/OPC Tags/SATB1_DH{dh}_HUM_DISABLE_SP" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 40 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Humidifier Enable Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/OPC Tags/SATB1_DH{dh}_HUM_ENABLE_SP" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 30 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Dewpoint Hi Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/Memory/DH{dh} Dwpt Hi Limit" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 65 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_9" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Dewpoint Lo Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/Memory/DH{dh} Dwpt Lo Limit" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 30 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_10" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%" + }, + "props": { + "text": "STU Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/OPC Tags/SATB1_DH{dh}_STU_Demand" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 20 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_4" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "AvgMinMax_1" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.dh" + }, + "transforms": [ + { + "expression": "\"[Ignition_Common_IO_Gtwy]DH\" + {value} + \"/SATB1_DH\" + {value} + \"_RH_AvgObj\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": true, + "format": "#,###.###", + "objectName": "AvgMinMax", + "title": "RH Avg" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "AvgMinMax_2" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.dh" + }, + "transforms": [ + { + "expression": "\"[Ignition_Common_IO_Gtwy]DH\" + {value} + \"/SATB1_DH\" + {value} + \"_Temp_AvgObj\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": true, + "format": "#,###.###", + "objectName": "AvgMinMax", + "title": "Temp Avg" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "65px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "15px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "style": { + "backgroundColor": "var(--olGray)" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "190px" + }, + "props": { + "text": "DP PID Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/OPC Tags/SATB1_DH{dh}_DP_SP" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 0.05 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_3" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "STU PID RA Temperature Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/OPC Tags/SATB1_DH{dh}_RAT_SP" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 80 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Global Discharge Temp Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "dh": "{view.params.dh}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH{dh}/OPC Tags/SATB1_DH{dh}_STU_T_SP" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + }, + "value": 75 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer_8" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView_28" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.dh" + }, + "transforms": [ + { + "expression": "\"[Ignition_Common_IO_Gtwy]DH\"+{value}+\"/SATB1_DH\"+{value}+\"_DP_PID\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": true, + "objectName": "PID_Loop", + "title": "DP PID" + }, + "path": "Library/Widgets/Wdg_PID", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_29" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.dh" + }, + "transforms": [ + { + "expression": "\"[Ignition_Common_IO_Gtwy]DH\"+{value}+\"/SATB1_DH\"+{value}+\"_STU_RAT_PID\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": true, + "objectName": "PID_Loop", + "title": "RAT PID" + }, + "path": "Library/Widgets/Wdg_PID", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_6" + }, + "position": { + "basis": "150px" + }, + "props": { + "style": { + "gap": "15px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "AvgMinMax" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.dh" + }, + "transforms": [ + { + "expression": "\"[Ignition_Common_IO_Gtwy]DH\"+{value}+\"/SATB1_DH\"+{value}+\"_DP_AvgObj\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": true, + "format": "#,###.###", + "objectName": "AvgMinMax" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "AvgMinMax_0" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.dh" + }, + "transforms": [ + { + "expression": "\"[Ignition_Common_IO_Gtwy]DH\"+{value}+\"/SATB1_DH\"+{value}+\"_STU_RAT_AvgObj\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": true, + "format": "#,###.###", + "objectName": "AvgMinMax" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_7" + }, + "position": { + "basis": "65px" + }, + "props": { + "style": { + "gap": "15px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\tdh \u003d str(self.view.params.dh)\n\tviewPath \u003d \u0027Pages/Datahall/LLS_STU_DH%s\u0027%(dh)\n\ttitle \u003d \u0027DH%s STU LLS\u0027 %(dh)\n\tutils.nav.openLLSPopup(viewPath,title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_4" + }, + "position": { + "basis": "40px" + }, + "props": { + "pageId": "", + "text": "STU LLS" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "justify": "space-between", + "style": { + "gap": "10px", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DOAS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DOAS/resource.json new file mode 100644 index 0000000..96801cd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DOAS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f0b3d222807691552e796a9ca82f761f75c7d802170dde686b9631d85572cf27", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T14:51:38Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DOAS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DOAS/thumbnail.png new file mode 100644 index 0000000..9cbbc6f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DOAS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DOAS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DOAS/view.json new file mode 100644 index 0000000..ab4ae8a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_DOAS/view.json @@ -0,0 +1,449 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 200, + "width": 600 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "alignContent": "space-around", + "alignItems": "center", + "direction": "column", + "elementPosition": { + "shrink": 0 + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + } + ], + "justify": "space-around", + "path": "Library/Symbols/HVAC/Sym_DOAS_Status", + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 65, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 60, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50, + "processValue": 64.8 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 65, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 60, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50, + "processValue": 64.8 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 65, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 60, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50, + "processValue": 64.8, + "setpointValue": "" + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexRepeater_0" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "alignContent": "space-around", + "alignItems": "center", + "direction": "column", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "RTU01", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "RTU02", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + } + ], + "justify": "space-around", + "path": "Library/Symbols/HVAC/Sym_DOAS_Status", + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 60, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 55, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50, + "processValue": 64.8 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 60, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 55, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 50, + "processValue": 64.8 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "25%", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Electrical/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Electrical/resource.json new file mode 100644 index 0000000..49103d9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Electrical/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e0d140b531fcb6910ae4205d6ca8c2b6049ce8a9607af8a0f21f8f759e1cc3ae", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T14:36:49Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Electrical/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Electrical/thumbnail.png new file mode 100644 index 0000000..2ed97f4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Electrical/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Electrical/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Electrical/view.json new file mode 100644 index 0000000..9550445 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Electrical/view.json @@ -0,0 +1,2421 @@ +{ + "custom": { + "HS1": 219.5, + "HS2": 213, + "M": [ + 100, + 100, + 100, + 101, + 100, + 99, + 101, + 100 + ], + "M1-M8": 0, + "P1": 1998.4, + "P1_Main": 2183, + "P2": 1897.3, + "P2_Main": 2060, + "P3": 132.1, + "P3_Main": 146.2, + "P4": 130.1, + "P4_Main": 141.6, + "P5": 3.1, + "P5_Main": 4.7, + "SES1A": 2700, + "SES1B": 2400 + }, + "params": {}, + "propConfig": { + "custom.HS1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.HS2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.M": { + "persistent": true + }, + "custom.M1-M8": { + "binding": { + "config": { + "path": "view.custom.M" + }, + "enabled": false, + "transforms": [ + { + "code": "\ttotal \u003d 0\n\tfor item in value:\n\t\tif item is None:\n\t\t\ttotal +\u003d 0\n\t\telse:\n\t\t\ttotal +\u003d item\n\treturn total", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.M[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.M[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.M[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.M[3]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.M[4]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.M[5]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.M[6]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.M[7]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_PQM/Real Power" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.P1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO1_default]PUE/Critical_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P1_Main": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO1_default]PUE/Total_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO2_default]PUE/Critical_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P2_Main": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO2_default]PUE/Total_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO3_default]PUE/Critical_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P3_Main": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO3_default]PUE/Total_Power" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.P4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]PUE/Critical_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P4_Main": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]PUE/Total_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO5_default]PUE/Critical_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.P5_Main": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO5_default]PUE/Total_Power" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.SES1A": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A/PQM_Main/Real Power" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.SES1B": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/PQM_Main/Real Power" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 570 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.SES1A" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn float(value) /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "#.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.SES1A" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "SES 1A", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.SES1B" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn float(value) /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.SES1B" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "SES 1B", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label_4" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.SES1A} + {view.custom.SES1B}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.SES1A} + {view.custom.SES1B}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Total", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "SES" + }, + "position": { + "basis": "15%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.HS1" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.HS1" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "HS1", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.HS2" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.HS2" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "HS2", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label_4" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.M1-M8}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.M1-M8}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "M1-M8", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label_5" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Total", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.M1-M8}+{view.custom.HS1}+{view.custom.HS2}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value /1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.M1-M8}+{view.custom.HS1}+{view.custom.HS2}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "HS" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH1", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P1_Main" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P1_Main" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH1" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH2", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P2_Main" + }, + "transforms": [ + { + "code": "\tif value \u003e1000:\n\t\treturn value / 1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P2" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH2" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH3", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P3_Main" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P3" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH3" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH4", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P4_Main" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P4_Main" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH4" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH5", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P5_Main" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P5" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH5" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Total Main", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.P1_Main}+{view.custom.P2_Main}+{view.custom.P3_Main}+{view.custom.P4_Main}+{view.custom.P5_Main}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.P1_Main}+{view.custom.P2_Main}+{view.custom.P3_Main}+{view.custom.P4_Main}+{view.custom.P5_Main}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\telse: \n\t\treturn \"kW\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH6" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "P - Main" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignContent": "space-between", + "alignItems": "flex-start", + "direction": "column", + "justify": "space-between", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "padding": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH1", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P1" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P1" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH1" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH2", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P2" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn float(value) / 1000\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P2" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH2" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH3", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P3" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn float(value) / 1000\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P3" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH3" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH4", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P4" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn float(value) / 1000\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P4" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH4" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "DH5", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P5" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.P5" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\treturn \"kW\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH5" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Total IT", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.P1}+{view.custom.P2}+{view.custom.P3}+{view.custom.P4}+{view.custom.P5}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn value/1000\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 24, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.custom.P1}+{view.custom.P2}+{view.custom.P3}+{view.custom.P4}+{view.custom.P5}" + }, + "transforms": [ + { + "code": "\tif value \u003e 1000:\n\t\treturn \"MW\"\n\telse: \n\t\treturn \"kW\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "color": "var(--units-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DH6" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "P - IT" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignContent": "space-between", + "alignItems": "flex-start", + "direction": "column", + "justify": "space-between", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "padding": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "p1": "{view.custom.P1}", + "p2": "{view.custom.P2}", + "p3": "{view.custom.P3}", + "p4": "{view.custom.P4}", + "p5": "{view.custom.P5}", + "sesA": "{view.custom.SES1A}", + "sesB": "{view.custom.SES1B}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\ttotal \u003d value[\u0027sesA\u0027] + value [\u0027sesB\u0027]\n\tp1 \u003d value[\u0027p1\u0027]\n\tif p1 is None:\n\t\tp1 \u003d 0\n\tp2 \u003d value[\u0027p2\u0027]\n\tif p2 is None:\n\t\tp2 \u003d 0\n\tp3 \u003d value[\u0027p3\u0027]\n\tif p3 is None:\n\t\tp3 \u003d 0\n\tp4 \u003d value[\u0027p4\u0027]\n\tif p4 is None:\n\t\tp4 \u003d 0\n\tp5 \u003d value[\u0027p5\u0027]\n\tif p5 is None:\n\t\tp5 \u003d 0\n\ttry:\n\t\tPUE \u003d total / (p1 + p2 + p3 + p4 +p5)\n\texcept:\n\t\tPUE \u003d 0\n\treturn PUE", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 36, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "32px" + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "PUE", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "PUE" + }, + "position": { + "basis": "15%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Gtwys/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Gtwys/resource.json new file mode 100644 index 0000000..8a6ca3b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Gtwys/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d90e99d06cf11f128a3871b043b4e27ed105af7a60470a39eb449b71d4f71251", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T14:46:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Gtwys/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Gtwys/thumbnail.png new file mode 100644 index 0000000..11394f2 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Gtwys/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Gtwys/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Gtwys/view.json new file mode 100644 index 0000000..361ddfb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Gtwys/view.json @@ -0,0 +1,172 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 365, + "width": 1700 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "props": { + "alignItems": "flex-start", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.189" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.181" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.182" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.183" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.184", + "tagProvider": "[Ignition_SATB1_IO4_default]" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.185", + "tagProvider": "[Ignition_SATB1_IO5_default]" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.180" + } + ], + "path": "Library/Widgets/Wgt_Gateway", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "FlexRepeater_0" + }, + "props": { + "alignItems": "flex-start", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.199" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.191" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.192" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.193" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.194", + "tagProvider": "[Ignition_SATB1_IO4_default]" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.195", + "tagProvider": "[Ignition_SATB1_IO5_default]" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "ipAddr": "10.239.152.190" + } + ], + "justify": "space-between", + "path": "Library/Widgets/Wgt_Gateway", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "gap": "var(--space-lg)", + "overflow": "visible", + "padding": "0px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Mech/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Mech/resource.json new file mode 100644 index 0000000..ff8cd70 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Mech/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ae9cc8cbf304a2a12f0766ef5ec7c553e5271d5d427ce77a40536b71a75c92e7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T14:25:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Mech/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Mech/thumbnail.png new file mode 100644 index 0000000..d904f99 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Mech/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Mech/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Mech/view.json new file mode 100644 index 0000000..8408bc4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Mech/view.json @@ -0,0 +1,1641 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 220, + "width": 570 + } + }, + "root": { + "children": [ + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof" + }, + "meta": { + "name": "Chiller_Count" + }, + "position": { + "basis": "15%" + }, + "props": { + "params": { + "Tag": "CH", + "faulted": 5, + "running": 25, + "standby": 15 + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "path": "value", + "tags": [ + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH1_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh1/opc tags/satb1_dh1 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH2_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh2/opc tags/satb1_dh2 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH3_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh3/opc tags/satb1_dh3 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH4_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh4/opc tags/satb1_dh4 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH5_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh5/opc tags/satb1_dh5 tonnage demand" + } + ] + }, + "meta": { + "name": "Flow_Chart" + }, + "position": { + "basis": "70%" + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + }, + "props.dataSources.tonnage": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tsummary \u003d 0\n\tfor item in rawHist:\n\t\tsummary \u003d 0\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tsummary +\u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"summary\": summary})\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "render": "color" + }, + "dataSources": { + "tonnage": [ + { + "summary": 1079.5599155426025, + "t_stamp": 1776348072551 + }, + { + "summary": 1101.2637901306152, + "t_stamp": 1776348102551 + }, + { + "summary": 1115.991298675537, + "t_stamp": 1776348132551 + }, + { + "summary": 1074.4704933166504, + "t_stamp": 1776348162551 + }, + { + "summary": 1057.2438163757324, + "t_stamp": 1776348192551 + }, + { + "summary": 1078.6186046600342, + "t_stamp": 1776348222551 + }, + { + "summary": 1030.350477218628, + "t_stamp": 1776348252551 + }, + { + "summary": 1053.2371311187744, + "t_stamp": 1776348282551 + }, + { + "summary": 1084.9994144439697, + "t_stamp": 1776348312551 + }, + { + "summary": 1102.9089584350586, + "t_stamp": 1776348342551 + }, + { + "summary": 1085.2408905029297, + "t_stamp": 1776348372551 + }, + { + "summary": 1084.4579639434814, + "t_stamp": 1776348402551 + }, + { + "summary": 1100.9971160888672, + "t_stamp": 1776348432551 + }, + { + "summary": 1075.7030410766602, + "t_stamp": 1776348462551 + }, + { + "summary": 1087.548252105713, + "t_stamp": 1776348492551 + }, + { + "summary": 1084.4328956604004, + "t_stamp": 1776348522551 + }, + { + "summary": 1071.8211936950684, + "t_stamp": 1776348552551 + }, + { + "summary": 1092.5045642852783, + "t_stamp": 1776348582551 + }, + { + "summary": 1045.527603149414, + "t_stamp": 1776348612551 + }, + { + "summary": 1059.4303760528564, + "t_stamp": 1776348642551 + }, + { + "summary": 1053.5619163513184, + "t_stamp": 1776348672551 + }, + { + "summary": 1099.7726516723633, + "t_stamp": 1776348702551 + }, + { + "summary": 1090.422176361084, + "t_stamp": 1776348732551 + }, + { + "summary": 1070.9506454467773, + "t_stamp": 1776348762551 + }, + { + "summary": 1030.412754058838, + "t_stamp": 1776348792551 + }, + { + "summary": 1009.2046318054199, + "t_stamp": 1776348822551 + }, + { + "summary": 1013.5195579528809, + "t_stamp": 1776348852551 + }, + { + "summary": 1016.8432388305664, + "t_stamp": 1776348882551 + }, + { + "summary": 1018.8090381622314, + "t_stamp": 1776348912551 + }, + { + "summary": 1035.9106216430664, + "t_stamp": 1776348942551 + }, + { + "summary": 1099.5725708007812, + "t_stamp": 1776348972551 + }, + { + "summary": 1071.966926574707, + "t_stamp": 1776349002551 + }, + { + "summary": 1058.3474426269531, + "t_stamp": 1776349032551 + }, + { + "summary": 1032.6910514831543, + "t_stamp": 1776349062551 + }, + { + "summary": 1043.4076499938965, + "t_stamp": 1776349092551 + }, + { + "summary": 1079.3765449523926, + "t_stamp": 1776349122551 + }, + { + "summary": 1078.3518924713135, + "t_stamp": 1776349152551 + }, + { + "summary": 1104.1583518981934, + "t_stamp": 1776349182551 + }, + { + "summary": 1092.6379165649414, + "t_stamp": 1776349212551 + }, + { + "summary": 1098.6812896728516, + "t_stamp": 1776349242551 + }, + { + "summary": 1097.3984546661377, + "t_stamp": 1776349272551 + }, + { + "summary": 1062.0168190002441, + "t_stamp": 1776349302551 + }, + { + "summary": 1089.6099529266357, + "t_stamp": 1776349332551 + }, + { + "summary": 1070.1010913848877, + "t_stamp": 1776349362551 + }, + { + "summary": 1115.2601259370804, + "t_stamp": 1776349392551 + }, + { + "summary": 1071.1922187805176, + "t_stamp": 1776349422551 + }, + { + "summary": 1075.665439605713, + "t_stamp": 1776349452551 + }, + { + "summary": 1095.0743598937988, + "t_stamp": 1776349482551 + }, + { + "summary": 1093.3917789459229, + "t_stamp": 1776349512551 + }, + { + "summary": 1062.4875411987305, + "t_stamp": 1776349542551 + }, + { + "summary": 1097.4693393707275, + "t_stamp": 1776349572551 + }, + { + "summary": 1049.5009784698486, + "t_stamp": 1776349602551 + }, + { + "summary": 1094.5163497924805, + "t_stamp": 1776349632551 + }, + { + "summary": 1081.429988861084, + "t_stamp": 1776349662551 + }, + { + "summary": 1087.956506729126, + "t_stamp": 1776349692551 + }, + { + "summary": 1083.1793231964111, + "t_stamp": 1776349722551 + }, + { + "summary": 1038.9593830108643, + "t_stamp": 1776349752551 + }, + { + "summary": 1084.9785766601562, + "t_stamp": 1776349782551 + }, + { + "summary": 1104.2999420166016, + "t_stamp": 1776349812551 + }, + { + "summary": 1097.2277755737305, + "t_stamp": 1776349842551 + }, + { + "summary": 1048.2349967956543, + "t_stamp": 1776349872551 + }, + { + "summary": 1023.2282257080078, + "t_stamp": 1776349902551 + }, + { + "summary": 1019.3631134033203, + "t_stamp": 1776349932551 + }, + { + "summary": 1058.505786895752, + "t_stamp": 1776349962551 + }, + { + "summary": 1028.4990014404298, + "t_stamp": 1776349992551 + }, + { + "summary": 1049.4511413574219, + "t_stamp": 1776350022551 + }, + { + "summary": 1055.569564819336, + "t_stamp": 1776350052551 + }, + { + "summary": 1075.5948448181152, + "t_stamp": 1776350082551 + }, + { + "summary": 1075.5781860351562, + "t_stamp": 1776350112551 + }, + { + "summary": 1085.9365139007568, + "t_stamp": 1776350142551 + }, + { + "summary": 1113.2088108062744, + "t_stamp": 1776350172551 + }, + { + "summary": 1091.9550189971924, + "t_stamp": 1776350202551 + }, + { + "summary": 1103.3544654846191, + "t_stamp": 1776350232551 + }, + { + "summary": 1032.8243656158447, + "t_stamp": 1776350262551 + }, + { + "summary": 1022.6243019104004, + "t_stamp": 1776350292551 + }, + { + "summary": 1067.2563705444336, + "t_stamp": 1776350322551 + }, + { + "summary": 1074.0703315734863, + "t_stamp": 1776350352551 + }, + { + "summary": 1093.9166259765625, + "t_stamp": 1776350382551 + }, + { + "summary": 1092.7420291900635, + "t_stamp": 1776350412551 + }, + { + "summary": 1077.839744567871, + "t_stamp": 1776350442551 + }, + { + "summary": 1089.1268043518066, + "t_stamp": 1776350472551 + }, + { + "summary": 1096.4905815124512, + "t_stamp": 1776350502551 + }, + { + "summary": 1113.4172172546387, + "t_stamp": 1776350532551 + }, + { + "summary": 1095.815824508667, + "t_stamp": 1776350562551 + }, + { + "summary": 1074.1537170410156, + "t_stamp": 1776350592551 + }, + { + "summary": 1067.4147834777832, + "t_stamp": 1776350622551 + }, + { + "summary": 1076.390308380127, + "t_stamp": 1776350652551 + }, + { + "summary": 1079.26420211792, + "t_stamp": 1776350682551 + }, + { + "summary": 1054.7608467784482, + "t_stamp": 1776350712551 + }, + { + "summary": 1083.3750915527344, + "t_stamp": 1776350742551 + }, + { + "summary": 1083.120979309082, + "t_stamp": 1776350772551 + }, + { + "summary": 1086.4071559906006, + "t_stamp": 1776350802551 + }, + { + "summary": 1091.2384548187256, + "t_stamp": 1776350832551 + }, + { + "summary": 1084.2579154968262, + "t_stamp": 1776350862551 + }, + { + "summary": 1020.7959327697754, + "t_stamp": 1776350892551 + }, + { + "summary": 1105.478687286377, + "t_stamp": 1776350922551 + }, + { + "summary": 1110.1398594841003, + "t_stamp": 1776350952551 + }, + { + "summary": 1087.5025634765625, + "t_stamp": 1776350982551 + }, + { + "summary": 1106.224178314209, + "t_stamp": 1776351012551 + }, + { + "summary": 1090.980312347412, + "t_stamp": 1776351042551 + }, + { + "summary": 1099.0311183929443, + "t_stamp": 1776351072551 + }, + { + "summary": 1085.2951259613037, + "t_stamp": 1776351102551 + }, + { + "summary": 1041.4626159667969, + "t_stamp": 1776351132551 + }, + { + "summary": 1055.4778137207031, + "t_stamp": 1776351162551 + }, + { + "summary": 1047.1686534881592, + "t_stamp": 1776351192551 + }, + { + "summary": 1012.8407783508301, + "t_stamp": 1776351222551 + }, + { + "summary": 1038.4596519470215, + "t_stamp": 1776351252551 + }, + { + "summary": 1071.667230606079, + "t_stamp": 1776351282551 + }, + { + "summary": 1067.1189937591553, + "t_stamp": 1776351312551 + }, + { + "summary": 1079.2641067504883, + "t_stamp": 1776351342551 + }, + { + "summary": 1074.6409549713135, + "t_stamp": 1776351372551 + }, + { + "summary": 1086.9403324127197, + "t_stamp": 1776351402551 + }, + { + "summary": 1094.299711227417, + "t_stamp": 1776351432551 + }, + { + "summary": 1081.4923629760742, + "t_stamp": 1776351462551 + }, + { + "summary": 1073.9078998565674, + "t_stamp": 1776351492551 + }, + { + "summary": 1066.6442317962646, + "t_stamp": 1776351522551 + }, + { + "summary": 1054.8613510131836, + "t_stamp": 1776351552551 + }, + { + "summary": 1078.264497756958, + "t_stamp": 1776351582551 + }, + { + "summary": 1058.001781463623, + "t_stamp": 1776351612551 + }, + { + "summary": 1090.272373199463, + "t_stamp": 1776351642551 + }, + { + "summary": 1098.219051361084, + "t_stamp": 1776351672551 + }, + { + "summary": 1070.8758125305176, + "t_stamp": 1776351702551 + }, + { + "summary": 1067.5147171020508, + "t_stamp": 1776351732551 + }, + { + "summary": 1083.462553024292, + "t_stamp": 1776351762551 + }, + { + "summary": 1082.0547065734863, + "t_stamp": 1776351792551 + }, + { + "summary": 1108.7524147033691, + "t_stamp": 1776351822551 + }, + { + "summary": 1051.566946029663, + "t_stamp": 1776351852551 + }, + { + "summary": 1100.4348430633545, + "t_stamp": 1776351882551 + }, + { + "summary": 1106.75315284729, + "t_stamp": 1776351912551 + }, + { + "summary": 1080.4303970336914, + "t_stamp": 1776351942551 + }, + { + "summary": 1075.9322052001953, + "t_stamp": 1776351972551 + }, + { + "summary": 1061.446361541748, + "t_stamp": 1776352002551 + }, + { + "summary": 1091.3634986877441, + "t_stamp": 1776352032551 + }, + { + "summary": 1074.8076133728027, + "t_stamp": 1776352062551 + }, + { + "summary": 1088.7937469482422, + "t_stamp": 1776352092551 + }, + { + "summary": 1093.8749961853027, + "t_stamp": 1776352122551 + }, + { + "summary": 1097.3236103057861, + "t_stamp": 1776352152551 + }, + { + "summary": 1096.2656898498535, + "t_stamp": 1776352182551 + }, + { + "summary": 1080.9468822479248, + "t_stamp": 1776352212551 + }, + { + "summary": 1055.5153923034668, + "t_stamp": 1776352242551 + }, + { + "summary": 1045.9607696533203, + "t_stamp": 1776352272551 + }, + { + "summary": 1081.0468311309814, + "t_stamp": 1776352302551 + }, + { + "summary": 1056.1650314331055, + "t_stamp": 1776352332551 + }, + { + "summary": 1047.993299484253, + "t_stamp": 1776352362551 + }, + { + "summary": 1045.2402076721191, + "t_stamp": 1776352392551 + }, + { + "summary": 1046.8437385559082, + "t_stamp": 1776352422551 + }, + { + "summary": 1023.6113395690918, + "t_stamp": 1776352452551 + }, + { + "summary": 1016.7849292755127, + "t_stamp": 1776352482551 + }, + { + "summary": 1008.5674018859863, + "t_stamp": 1776352512551 + }, + { + "summary": 1009.6877555847168, + "t_stamp": 1776352542551 + }, + { + "summary": 1011.2454433441162, + "t_stamp": 1776352572551 + }, + { + "summary": 1057.6893787384033, + "t_stamp": 1776352602551 + }, + { + "summary": 1089.5557327270508, + "t_stamp": 1776352632551 + }, + { + "summary": 1076.0944423675537, + "t_stamp": 1776352662551 + }, + { + "summary": 1076.7567672729492, + "t_stamp": 1776352692551 + }, + { + "summary": 1121.6513118743896, + "t_stamp": 1776352722551 + }, + { + "summary": 1092.296230316162, + "t_stamp": 1776352752551 + }, + { + "summary": 1108.9313049316406, + "t_stamp": 1776352782551 + }, + { + "summary": 1102.1258182525635, + "t_stamp": 1776352812551 + }, + { + "summary": 1105.0496292114258, + "t_stamp": 1776352842551 + }, + { + "summary": 1114.4833145141602, + "t_stamp": 1776352872551 + }, + { + "summary": 1111.380449295044, + "t_stamp": 1776352902551 + }, + { + "summary": 1105.8867816925049, + "t_stamp": 1776352932551 + }, + { + "summary": 1104.9912338256836, + "t_stamp": 1776352962551 + }, + { + "summary": 1104.8621711730957, + "t_stamp": 1776352992551 + }, + { + "summary": 1108.2732791900635, + "t_stamp": 1776353022551 + }, + { + "summary": 1116.5033950805664, + "t_stamp": 1776353052551 + }, + { + "summary": 1117.340461730957, + "t_stamp": 1776353082551 + }, + { + "summary": 1059.7594585418701, + "t_stamp": 1776353112551 + }, + { + "summary": 1093.1585540771484, + "t_stamp": 1776353142551 + }, + { + "summary": 1084.2496166229248, + "t_stamp": 1776353172551 + }, + { + "summary": 1060.592430114746, + "t_stamp": 1776353202551 + }, + { + "summary": 1013.6112155914307, + "t_stamp": 1776353232551 + }, + { + "summary": 1059.1222038269043, + "t_stamp": 1776353262551 + }, + { + "summary": 1073.72465133667, + "t_stamp": 1776353292551 + }, + { + "summary": 1008.0134410858154, + "t_stamp": 1776353322551 + }, + { + "summary": 1003.5902309417725, + "t_stamp": 1776353352551 + }, + { + "summary": 986.9926605224609, + "t_stamp": 1776353382551 + }, + { + "summary": 988.3713760375977, + "t_stamp": 1776353412551 + }, + { + "summary": 1081.1925106048584, + "t_stamp": 1776353442551 + }, + { + "summary": 1058.693157196045, + "t_stamp": 1776353472551 + }, + { + "summary": 1076.2196140289307, + "t_stamp": 1776353502551 + }, + { + "summary": 1084.6953659057617, + "t_stamp": 1776353532551 + }, + { + "summary": 1050.388282775879, + "t_stamp": 1776353562551 + }, + { + "summary": 1059.7470417022705, + "t_stamp": 1776353592551 + }, + { + "summary": 1064.3534660339355, + "t_stamp": 1776353622551 + }, + { + "summary": 1047.556007385254, + "t_stamp": 1776353652551 + }, + { + "summary": 1095.8825645446777, + "t_stamp": 1776353682551 + }, + { + "summary": 1094.2539825439453, + "t_stamp": 1776353712551 + }, + { + "summary": 1096.4281120300293, + "t_stamp": 1776353742551 + }, + { + "summary": 1072.3127098083496, + "t_stamp": 1776353772551 + }, + { + "summary": 1055.890230178833, + "t_stamp": 1776353802551 + }, + { + "summary": 1032.7869682312012, + "t_stamp": 1776353832551 + }, + { + "summary": 1080.9677658081055, + "t_stamp": 1776353862551 + }, + { + "summary": 1095.0245208740234, + "t_stamp": 1776353892551 + }, + { + "summary": 1103.208839416504, + "t_stamp": 1776353922551 + }, + { + "summary": 1067.902198791504, + "t_stamp": 1776353952551 + }, + { + "summary": 1114.554292678833, + "t_stamp": 1776353982551 + }, + { + "summary": 1118.0277919769287, + "t_stamp": 1776354012551 + }, + { + "summary": 1107.1198177337646, + "t_stamp": 1776354042551 + }, + { + "summary": 1108.2526359558105, + "t_stamp": 1776354072551 + }, + { + "summary": 1080.559591293335, + "t_stamp": 1776354102551 + }, + { + "summary": 1040.163158416748, + "t_stamp": 1776354132551 + }, + { + "summary": 1013.8528461456299, + "t_stamp": 1776354162551 + }, + { + "summary": 1075.3658332824707, + "t_stamp": 1776354192551 + }, + { + "summary": 1051.987648010254, + "t_stamp": 1776354222551 + }, + { + "summary": 1051.987648010254, + "t_stamp": 1776354252551 + }, + { + "summary": 1087.465087890625, + "t_stamp": 1776354282551 + }, + { + "summary": 1072.3587017059326, + "t_stamp": 1776354312551 + }, + { + "summary": 1080.6220455169678, + "t_stamp": 1776354342551 + }, + { + "summary": 1084.8911304473877, + "t_stamp": 1776354372551 + }, + { + "summary": 1084.12060546875, + "t_stamp": 1776354402551 + }, + { + "summary": 1090.5222625732422, + "t_stamp": 1776354432551 + }, + { + "summary": 1089.297752380371, + "t_stamp": 1776354462551 + }, + { + "summary": 1095.5495166778564, + "t_stamp": 1776354492551 + }, + { + "summary": 1082.8587112426758, + "t_stamp": 1776354522551 + }, + { + "summary": 1078.4271030426025, + "t_stamp": 1776354552551 + }, + { + "summary": 1034.7654037475586, + "t_stamp": 1776354582551 + }, + { + "summary": 1076.4029846191406, + "t_stamp": 1776354612551 + }, + { + "summary": 1046.3482208251953, + "t_stamp": 1776354642551 + }, + { + "summary": 1017.5181083679199, + "t_stamp": 1776354672551 + }, + { + "summary": 1075.7739639282227, + "t_stamp": 1776354702551 + }, + { + "summary": 1103.0005264282227, + "t_stamp": 1776354732551 + }, + { + "summary": 1100.3556938171387, + "t_stamp": 1776354762551 + }, + { + "summary": 1057.8227996826172, + "t_stamp": 1776354792551 + }, + { + "summary": 1073.937177658081, + "t_stamp": 1776354822551 + }, + { + "summary": 1078.2812156677246, + "t_stamp": 1776354852551 + }, + { + "summary": 1078.868516921997, + "t_stamp": 1776354882551 + }, + { + "summary": 1067.602180480957, + "t_stamp": 1776354912551 + }, + { + "summary": 1055.1362342834473, + "t_stamp": 1776354942551 + }, + { + "summary": 1061.108943939209, + "t_stamp": 1776354972551 + }, + { + "summary": 1122.155258178711, + "t_stamp": 1776355002551 + }, + { + "summary": 1110.5641078948975, + "t_stamp": 1776355032551 + }, + { + "summary": 1093.6499290466309, + "t_stamp": 1776355062551 + }, + { + "summary": 1032.212080001831, + "t_stamp": 1776355092551 + }, + { + "summary": 1088.0688571929932, + "t_stamp": 1776355122551 + }, + { + "summary": 1046.9977951049805, + "t_stamp": 1776355152551 + }, + { + "summary": 1003.2070274353027, + "t_stamp": 1776355182551 + }, + { + "summary": 1029.921401977539, + "t_stamp": 1776355212551 + }, + { + "summary": 1072.475212097168, + "t_stamp": 1776355242551 + } + ] + }, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "tonnage", + "x": "t_stamp", + "y": "summary" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "tonnage" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 0.7, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "tonnage", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "tonnage", + "zIndex": 0 + } + ], + "style": { + "marginBottom": -30, + "marginLeft": -20, + "marginRight": -5, + "marginTop": 10 + }, + "title": { + "text": "Tons (total)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "tonnage" + }, + "name": "tonnage", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Demand_Repeater" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "DH101", + "value": 41.95 + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "DH102", + "value": 21.15 + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "DH201", + "value": 492.35 + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "DH202", + "value": 471.73 + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "DH203", + "value": 33.34 + } + ], + "path": "Library/Widgets/Wgt_H_Bar-Val", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Demand_Section" + }, + "position": { + "basis": "15%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "justify": "center", + "style": { + "backgroundColor": "var(--container)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Process_Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Process_Control/resource.json new file mode 100644 index 0000000..c8bb1fe --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Process_Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "80afe8d20183b0bdd05faa39d1ce98d8ea866f393ec86c1066027f48df5583d7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T18:25:19Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Process_Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Process_Control/thumbnail.png new file mode 100644 index 0000000..493235c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Process_Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Process_Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Process_Control/view.json new file mode 100644 index 0000000..bd246db --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_Process_Control/view.json @@ -0,0 +1,1313 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 295 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status Indicator 01", + "tooltip": { + "enabled": true, + "text": "Bypass, DPs Fail amd Qty Chiller permissive are all good" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/PlantMgr Permissive OK", + "text": "Plant Manager Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Status Indicator 02", + "tooltip": { + "enabled": true, + "text": "At least 1 DH DP is not faulted" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/DPs Fail Permissive OK", + "text": "DPs Fail Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Indicators_01" + }, + "position": { + "basis": "45px" + }, + "props": { + "style": { + "gap": "var(--space-sm)", + "padding": "var(--space-sm)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Status Indicator 03", + "tooltip": { + "enabled": true, + "text": "At least 1 CH is available" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/QtyChillers Permissive OK", + "text": "Qty Chillers Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Status Indicator 04", + "tooltip": { + "enabled": true, + "text": "At least 1 loop bypass valve available" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Bypass Permissive OK", + "text": "Bypass Permissive" + }, + "path": "Library/Framework/Badge", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Indicators_02" + }, + "position": { + "basis": "45px" + }, + "props": { + "style": { + "gap": "var(--space-sm)", + "padding": "var(--space-sm)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Load Add Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerLoad_ADDLimit" + }, + "type": "tag" + } + } + }, + "props": { + "spinner": { + "enabled": false + }, + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 01 block" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Load \nSub Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerLoad_SUBLimit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 02 block" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Tonnage Rating" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/ChillerTonRating" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 03 block" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "147px", + "grow": 1 + }, + "props": { + "text": "CHWP Add Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP ADD Limit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 04 block" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "150px", + "grow": 1 + }, + "props": { + "text": "CHWP Sub Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP SUB Limit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 05 block" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Minimum Flow Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Chiller_MinFlow_SP" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 06 block" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Bypass Valve DP Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWBPV_DiffSP" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 07 block" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "CHWP Diff Press Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP DP Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Value 08 block" + }, + "props": { + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\tviewPath \u003d \u0027Pages/Dev/B_Mechanical/L3/B301 Chillers LLS\u0027\n\ttitle \u003d \u0027Chillers LLS\u0027\n\tutils.nav.openLLSPopup(viewPath,title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Btn Chiller LLS" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Chillers LLS" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\tviewPath \u003d \u0027Pages/Dev/B_Mechanical/L3/B302 CHW Pumps LLS\u0027\n\ttitle \u003d \u0027Chilled Water Pumps LLS\u0027\n\tutils.nav.openLLSPopup(viewPath,title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Btn CHWP LLS" + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "key": "value" + }, + "text": "CHWP LLS" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "gap": "var(--space-sm)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "CHWP PID Container" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "params": { + "embedded": false, + "objectName": "PID_Loop", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_PID" + }, + "path": "Library/Widgets/Wdg_PID", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "CHWST Avg Block" + }, + "position": { + "grow": 1 + }, + "props": { + "params": { + "embedded": false, + "format": "###.##", + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWST_AvgObj" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DHDP Avg Block" + }, + "props": { + "params": { + "embedded": false, + "format": "###.##", + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/DHDP_AvgObj" + }, + "path": "Library/Widgets/Wdg_AvgMinMax", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "var(--space-md)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "170px" + }, + "props": { + "style": { + "gap": "var(--space-md)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP_SpdSP" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "67px" + }, + "props": { + "alignVertical": "top", + "text": "CHWP Speed Setpoint", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP_ADDLimit" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "CHWP Add Limit", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP SUB Limit" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "CHWP SuB Limit", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWP_Demand" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "VFD", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "67px" + }, + "props": { + "alignVertical": "top", + "text": "CHWP Demand", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CHWP Calculation Container" + }, + "props": { + "style": { + "classes": "containers/card_nested", + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/card", + "gap": "var(--space-sm)", + "overflow": "visible", + "padding": "var(--space-sm)" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_RTU/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_RTU/resource.json new file mode 100644 index 0000000..7b23b1c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_RTU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "bbd0f270bc24b5aaf27ff9d2f413c8f8345a146f4c08661ca03fd35684bbb718", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T14:54:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_RTU/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_RTU/thumbnail.png new file mode 100644 index 0000000..8dfb004 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_RTU/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_RTU/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_RTU/view.json new file mode 100644 index 0000000..fe496f8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/Card_RTU/view.json @@ -0,0 +1,449 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 200, + "width": 600 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "alignContent": "space-around", + "alignItems": "center", + "direction": "column", + "elementPosition": { + "shrink": 0 + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + } + ], + "justify": "space-around", + "path": "Library/Symbols/HVAC/Sym_RTU_Status", + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 70, + "desiredLow": 50, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 40, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 32, + "processValue": 58.3 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 70, + "desiredLow": 50, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 40, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 32, + "processValue": 58.3 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 70, + "desiredLow": 50, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 40, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 32, + "processValue": 58.3, + "setpointValue": "" + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexRepeater_0" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "alignContent": "space-around", + "alignItems": "center", + "direction": "column", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "RTU01", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "RTU02", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + } + ], + "justify": "space-around", + "path": "Library/Symbols/HVAC/Sym_RTU_Status", + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 70, + "desiredLow": 50, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 40, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 32, + "processValue": 58.3 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px" + }, + "props": { + "text": "Temp", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "149.7px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 70, + "desiredLow": 50, + "desiredRangeColor": "lightblue", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 40, + "lowInterlock": null, + "lowLowAlarm": null, + "minValue": 32, + "processValue": 58.3 + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "25%", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/PowerDH/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/PowerDH/resource.json new file mode 100644 index 0000000..a7bd2dc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/PowerDH/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e2e8c3e67c0caef9e60d632cfc3d999adedd261ca33d5e8e65fcb08a6e0ee3a2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:53:53Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/PowerDH/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/PowerDH/thumbnail.png new file mode 100644 index 0000000..8dbcec7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/PowerDH/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/PowerDH/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/PowerDH/view.json new file mode 100644 index 0000000..bc2972f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Cards/PowerDH/view.json @@ -0,0 +1,982 @@ +{ + "custom": { + "Alarms": { + "P1": { + "ATS": 3, + "GEN": 2, + "PDU1": -1, + "PDU2": -1, + "PDU3": -1, + "PDU4": -1, + "UPS1": 2, + "UPS2": 2, + "UT": -1 + }, + "P2": { + "ATS": 3, + "GEN": 2, + "PDU1": -1, + "PDU2": -1, + "PDU3": -1, + "PDU4": -1, + "UPS1": 2, + "UPS2": 2, + "UT": -1 + }, + "P3": { + "ATS": 3, + "GEN": 2, + "PDU1": -1, + "PDU2": -1, + "PDU3": -1, + "PDU4": -1, + "UPS1": 2, + "UPS2": 2, + "UT": -1 + }, + "P4": { + "ATS": 3, + "GEN": 2, + "PDU1": -1, + "PDU2": -1, + "PDU3": -1, + "PDU4": -1, + "UPS1": 2, + "UPS2": 2, + "UT": -1 + }, + "P5": { + "ATS": 3, + "GEN": 2, + "PDU1": -1, + "PDU2": -1, + "PDU3": -1, + "PDU4": -1, + "UPS1": 2, + "UPS2": 2, + "UT": -1 + } + }, + "key": "value", + "path": [ + { + "aggregate": "LastValue", + "alias": "total", + "path": "[ignition_hist/ignition-satb1-io5:default]pue/total_power" + }, + { + "aggregate": "LastValue", + "alias": "critical", + "path": "[ignition_hist/ignition-satb1-io5:default]pue/critical_power" + } + ], + "paths": { + "DH1": { + "P1": { + "ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-1", + "PDU1": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1", + "PDU2": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-2", + "PDU3": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-3", + "PDU4": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-4", + "UPS1": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1", + "UPS2": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-2", + "UT": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-1" + }, + "P2": { + "ATS": "[Ignition_SATB1_IO1_default]ER1243/SWBD/SATB1_ER1243_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-2", + "PDU1": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-1", + "PDU2": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-2", + "PDU3": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-3", + "PDU4": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-4", + "UPS1": "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_UPS-1", + "UPS2": "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_UPS-2", + "UT": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-2" + }, + "P3": { + "ATS": "[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-3", + "PDU1": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1", + "PDU2": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-2", + "PDU3": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-3", + "PDU4": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-4", + "UPS1": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1", + "UPS2": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-2", + "UT": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-3" + }, + "P4": { + "ATS": "[Ignition_SATB1_IO1_default]ER1245/SWBD/SATB1_ER1245_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-4", + "PDU1": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-1", + "PDU2": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-2", + "PDU3": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-3", + "PDU4": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-4", + "UPS1": "[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_UPS-1", + "UPS2": "[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_UPS-2", + "UT": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-4" + }, + "P5": { + "ATS": "[Ignition_SATB1_IO1_default]ER1246/SWBD/SATB1_ER1246_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-5", + "PDU1": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-1", + "PDU2": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-2", + "PDU3": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-3", + "PDU4": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-4", + "UPS1": "[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_UPS-1", + "UPS2": "[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_UPS-2", + "UT": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-5" + } + }, + "DH2": { + "P1": { + "ATS": "[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-1", + "PDU1": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-1", + "PDU2": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-2", + "PDU3": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-3", + "PDU4": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-4", + "UPS1": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-1", + "UPS2": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-2", + "UT": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-1" + }, + "P2": { + "ATS": "[Ignition_SATB1_IO2_default]ER1249/SWBD/SATB1_ER1249_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-2", + "PDU1": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-1", + "PDU2": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-2", + "PDU3": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-3", + "PDU4": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-4", + "UPS1": "[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_UPS-1", + "UPS2": "[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_UPS-2", + "UT": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-2" + }, + "P3": { + "ATS": "[Ignition_SATB1_IO2_default]ER1250/SWBD/SATB1_ER1250_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-3", + "PDU1": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-1", + "PDU2": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-2", + "PDU3": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-3", + "PDU4": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-4", + "UPS1": "[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_UPS-1", + "UPS2": "[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_UPS-2", + "UT": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-3" + }, + "P4": { + "ATS": "[Ignition_SATB1_IO2_default]ER1251/SWBD/SATB1_ER1251_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-4", + "PDU1": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-1", + "PDU2": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-2", + "PDU3": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-3", + "PDU4": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-4", + "UPS1": "[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_UPS-1", + "UPS2": "[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_UPS-2", + "UT": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-4" + }, + "P5": { + "ATS": "[Ignition_SATB1_IO2_default]ER1252/SWBD/SATB1_ER1252_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-5", + "PDU1": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-1", + "PDU2": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-2", + "PDU3": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-3", + "PDU4": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-4", + "UPS1": "[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_UPS-1", + "UPS2": "[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_UPS-2", + "UT": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-5" + } + }, + "DH3": { + "P1": { + "ATS": "[Ignition_SATB1_IO3_default]ER1155/SWBD/SATB1_ER1155_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-1", + "PDU1": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-1-1", + "PDU2": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-1-2", + "PDU3": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-1-3", + "PDU4": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-1-4", + "UPS1": "[Ignition_SATB1_IO3_default]ER1155/SATB1_ER1155_UPS-1", + "UPS2": "[Ignition_SATB1_IO3_default]ER1155/SATB1_ER1155_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-1" + }, + "P2": { + "ATS": "[Ignition_SATB1_IO3_default]ER1156/SWBD/SATB1_ER1156_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-2", + "PDU1": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-2-1", + "PDU2": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-2-2", + "PDU3": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-2-3", + "PDU4": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-2-4", + "UPS1": "[Ignition_SATB1_IO3_default]ER1156/SATB1_ER1156_UPS-1", + "UPS2": "[Ignition_SATB1_IO3_default]ER1156/SATB1_ER1156_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-2" + }, + "P3": { + "ATS": "[Ignition_SATB1_IO3_default]ER1157/SWBD/SATB1_ER1157_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-3", + "PDU1": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-3-1", + "PDU2": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-3-2", + "PDU3": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-3-3", + "PDU4": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-3-4", + "UPS1": "[Ignition_SATB1_IO3_default]ER1157/SATB1_ER1157_UPS-1", + "UPS2": "[Ignition_SATB1_IO3_default]ER1157/SATB1_ER1157_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-3" + }, + "P4": { + "ATS": "[Ignition_SATB1_IO3_default]ER1158/SWBD/SATB1_ER1158_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-4", + "PDU1": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-4-1", + "PDU2": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-4-2", + "PDU3": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-4-3", + "PDU4": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-4-4", + "UPS1": "[Ignition_SATB1_IO3_default]ER1158/SATB1_ER1158_UPS-1", + "UPS2": "[Ignition_SATB1_IO3_default]ER1158/SATB1_ER1158_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-4" + }, + "P5": { + "ATS": "[Ignition_SATB1_IO3_default]ER1159/SWBD/SATB1_ER1159_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-5", + "PDU1": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-5-1", + "PDU2": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-5-2", + "PDU3": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-5-3", + "PDU4": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-5-4", + "UPS1": "[Ignition_SATB1_IO3_default]ER1159/SATB1_ER1159_UPS-1", + "UPS2": "[Ignition_SATB1_IO3_default]ER1159/SATB1_ER1159_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-5" + } + }, + "DH4": { + "P1": { + "ATS": "[Ignition_SATB1_IO4_default]ER1254/SWBD/SATB1_ER1254_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-1", + "PDU1": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-1-1", + "PDU2": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-1-2", + "PDU3": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-1-3", + "PDU4": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-1-4", + "UPS1": "[Ignition_SATB1_IO4_default]ER1254/SATB1_ER1254_UPS-1", + "UPS2": "[Ignition_SATB1_IO4_default]ER1254/SATB1_ER1254_UPS-2", + "UT": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-1" + }, + "P2": { + "ATS": "[Ignition_SATB1_IO4_default]ER1255/SWBD/SATB1_ER1255_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-2", + "PDU1": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-2-1", + "PDU2": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-2-2", + "PDU3": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-2-3", + "PDU4": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-2-4", + "UPS1": "[Ignition_SATB1_IO4_default]ER1255/SATB1_ER1255_UPS-1", + "UPS2": "[Ignition_SATB1_IO4_default]ER1255/SATB1_ER1255_UPS-2", + "UT": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-2" + }, + "P3": { + "ATS": "[Ignition_SATB1_IO4_default]ER1256/SWBD/SATB1_ER1256_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-3", + "PDU1": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-3-1", + "PDU2": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-3-2", + "PDU3": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-3-3", + "PDU4": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-3-4", + "UPS1": "[Ignition_SATB1_IO4_default]ER1256/SATB1_ER1256_UPS-1", + "UPS2": "[Ignition_SATB1_IO4_default]ER1256/SATB1_ER1256_UPS-2", + "UT": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-3" + }, + "P4": { + "ATS": "[Ignition_SATB1_IO4_default]ER1257/SWBD/SATB1_ER1257_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-4", + "PDU1": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-4-1", + "PDU2": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-4-2", + "PDU3": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-4-3", + "PDU4": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-4-4", + "UPS1": "[Ignition_SATB1_IO4_default]ER1257/SATB1_ER1257_UPS-1", + "UPS2": "[Ignition_SATB1_IO4_default]ER1257/SATB1_ER1257_UPS-2", + "UT": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-4" + }, + "P5": { + "ATS": "[Ignition_SATB1_IO4_default]ER1258/SWBD/SATB1_ER1258_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-5", + "PDU1": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-5-1", + "PDU2": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-5-2", + "PDU3": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-5-3", + "PDU4": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_GAL1281_PDU_P4-5-4", + "UPS1": "[Ignition_SATB1_IO4_default]ER1258/SATB1_ER1258_UPS-1", + "UPS2": "[Ignition_SATB1_IO4_default]ER1258/SATB1_ER1258_UPS-2", + "UT": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-5" + } + }, + "DH5": { + "P1": { + "ATS": "[Ignition_SATB1_IO5_default]ER1161/SWBD/SATB1_ER1161_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-1", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1161/SATB1_ER1161_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1161/SATB1_ER1161_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-1" + }, + "P2": { + "ATS": "[Ignition_SATB1_IO5_default]ER1162/SWBD/SATB1_ER1162_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-2", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1162/SATB1_ER1162_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1162/SATB1_ER1162_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-2" + }, + "P3": { + "ATS": "[Ignition_SATB1_IO5_default]ER1163/SWBD/SATB1_ER1163_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-3", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1163/SATB1_ER1163_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1163/SATB1_ER1163_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-3" + }, + "P4": { + "ATS": "[Ignition_SATB1_IO5_default]ER1164/SWBD/SATB1_ER1164_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-4", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1164/SATB1_ER1164_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1164/SATB1_ER1164_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-4" + }, + "P5": { + "ATS": "[Ignition_SATB1_IO5_default]ER1165/SWBD/SATB1_ER1165_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-5", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1165/SATB1_ER1165_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1165/SATB1_ER1165_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-5" + } + } + }, + "selected": { + "P1": { + "ATS": "[Ignition_SATB1_IO5_default]ER1161/SWBD/SATB1_ER1161_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-1", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-1-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1161/SATB1_ER1161_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1161/SATB1_ER1161_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-1" + }, + "P2": { + "ATS": "[Ignition_SATB1_IO5_default]ER1162/SWBD/SATB1_ER1162_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-2", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-2-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1162/SATB1_ER1162_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1162/SATB1_ER1162_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-2" + }, + "P3": { + "ATS": "[Ignition_SATB1_IO5_default]ER1163/SWBD/SATB1_ER1163_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-3", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-3-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1163/SATB1_ER1163_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1163/SATB1_ER1163_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-3" + }, + "P4": { + "ATS": "[Ignition_SATB1_IO5_default]ER1164/SWBD/SATB1_ER1164_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-4", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-4-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1164/SATB1_ER1164_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1164/SATB1_ER1164_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-4" + }, + "P5": { + "ATS": "[Ignition_SATB1_IO5_default]ER1165/SWBD/SATB1_ER1165_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-5", + "PDU1": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-1", + "PDU2": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-2", + "PDU3": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-3", + "PDU4": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU_P5-5-4", + "UPS1": "[Ignition_SATB1_IO5_default]ER1165/SATB1_ER1165_UPS-1", + "UPS2": "[Ignition_SATB1_IO5_default]ER1165/SATB1_ER1165_UPS-2", + "UT": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-5" + } + }, + "status": {}, + "values": [ + false, + true, + true, + false, + true, + true, + false, + true, + true, + false, + true, + true, + false, + true, + true + ] + }, + "params": { + "DH": "DH5" + }, + "propConfig": { + "custom.Alarms": { + "binding": { + "config": { + "struct": { + "hb": "now(5000)", + "paths": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tdata \u003d value[\u0027paths\u0027]\n\tfor lineup in data:\n\t\tresult \u003d {}\n\t\tfor item in data[lineup]:\n\t\t\ttry:\n\t\t\t\tresult[item] \u003d alarm.summary.calcMaxPriority(data[lineup][item])\n\t\t\texcept:\n\t\t\t\tresult[item] \u003d 0\n\t\toutput[lineup] \u003d result\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.key": { + "persistent": true + }, + "custom.path": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "code": "\tpaths \u003d {\"DH1\":[\"[ignition_hist/ignition-satb1-io1:default]pue/total_power\", \"[ignition_hist/ignition-satb1-io1:default]pue/critical_power\"],\n\t\t\t\"DH2\":[\"[ignition_hist/ignition-satb1-io2:default]pue/total_power\", \"[ignition_hist/ignition-satb1-io2:default]pue/critical_power\"],\n\t\t\t\"DH3\":[\"[ignition_hist/ignition-satb1-io3:default]pue/total_power\", \"[ignition_hist/ignition-satb1-io3:default]pue/critical_power\"],\n\t\t\t\"DH4\":[\"[ignition_hist/ignition-satb1-io4:default]pue/total_power\", \"[ignition_hist/ignition-satb1-io4:default]pue/critical_power\"],\n\t\t\t\"DH5\":[\"[ignition_hist/ignition-satb1-io5:default]pue/total_power\", \"[ignition_hist/ignition-satb1-io5:default]pue/critical_power\"]}\n\toutputArray \u003d []\n\tpaths[value] \n\toutput \u003d {}\n\toutput[\u0027path\u0027] \u003d paths[value][0]\n\toutput[\u0027alias\u0027] \u003d \u0027total\u0027\n\toutput[\u0027aggregate\u0027] \u003d \u0027LastValue\u0027\n\toutputArray.append(output)\n\toutput \u003d {}\n\toutput[\u0027path\u0027] \u003d paths[value][1]\n\toutput[\u0027alias\u0027] \u003d \u0027critical\u0027\n\toutput[\u0027aggregate\u0027] \u003d \u0027LastValue\u0027\n\toutputArray.append(output)\n\treturn outputArray", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.paths": { + "persistent": true + }, + "custom.selected": { + "binding": { + "config": { + "struct": { + "dh": "{view.params.DH}", + "paths": "{view.custom.paths}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tdata \u003d value[\u0027paths\u0027]\n\treturn data[value[\u0027dh\u0027]]", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.status": { + "persistent": true + }, + "custom.status.P1": { + "binding": { + "config": { + "struct": { + "alm": "{view.custom.Alarms.P1}", + "val": "{view.custom.values}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tidx \u003d 0\n\talm \u003d value[\u0027alm\u0027]\n\tval \u003d value[\u0027val\u0027]\n\tfor item in alm:\n\t\tif str(item) \u003d\u003d \"ATS\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\t\telse:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\tif str(item) \u003d\u003d \"GEN\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d int(val[2+idx])\n\t\tif str(item) \u003d\u003d \"PDU1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU3\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU4\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 1\n\t\t\n\t\tif str(item) \u003d\u003d \"UPS1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UPS2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UT\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 1\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.status.P2": { + "binding": { + "config": { + "struct": { + "alm": "{view.custom.Alarms.P2}", + "val": "{view.custom.values}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tidx \u003d 3\n\talm \u003d value[\u0027alm\u0027]\n\tval \u003d value[\u0027val\u0027]\n\tfor item in alm:\n\t\tif str(item) \u003d\u003d \"ATS\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\t\telse:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\tif str(item) \u003d\u003d \"GEN\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d int(val[2+idx])\n\t\tif str(item) \u003d\u003d \"PDU1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU3\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU4\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 1\n\t\t\n\t\tif str(item) \u003d\u003d \"UPS1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UPS2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UT\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 1\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.status.P3": { + "binding": { + "config": { + "struct": { + "alm": "{view.custom.Alarms.P3}", + "val": "{view.custom.values}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tidx \u003d 6\n\talm \u003d value[\u0027alm\u0027]\n\tval \u003d value[\u0027val\u0027]\n\tfor item in alm:\n\t\tif str(item) \u003d\u003d \"ATS\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\t\telse:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\tif str(item) \u003d\u003d \"GEN\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d int(val[2+idx])\n\t\tif str(item) \u003d\u003d \"PDU1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU3\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU4\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 1\n\t\t\n\t\tif str(item) \u003d\u003d \"UPS1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UPS2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UT\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 1\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.status.P4": { + "binding": { + "config": { + "struct": { + "alm": "{view.custom.Alarms.P4}", + "val": "{view.custom.values}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tidx \u003d 9\n\talm \u003d value[\u0027alm\u0027]\n\tval \u003d value[\u0027val\u0027]\n\tfor item in alm:\n\t\tif str(item) \u003d\u003d \"ATS\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\t\telse:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\tif str(item) \u003d\u003d \"GEN\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d int(val[2+idx])\n\t\tif str(item) \u003d\u003d \"PDU1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU3\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU4\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 1\n\t\t\n\t\tif str(item) \u003d\u003d \"UPS1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UPS2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UT\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 1\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.status.P5": { + "binding": { + "config": { + "struct": { + "alm": "{view.custom.Alarms.P5}", + "val": "{view.custom.values}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tidx \u003d 12\n\talm \u003d value[\u0027alm\u0027]\n\tval \u003d value[\u0027val\u0027]\n\tfor item in alm:\n\t\tif str(item) \u003d\u003d \"ATS\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\t\telse:\n\t\t\t\toutput[\u0027ATS_1\u0027] \u003d int(val[0+idx])\n\t\t\t\toutput[\u0027ATS_2\u0027] \u003d int(val[1+idx])\n\t\tif str(item) \u003d\u003d \"GEN\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027GEN\u0027] \u003d int(val[2+idx])\n\t\tif str(item) \u003d\u003d \"PDU1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU1\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU2\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU3\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU3\u0027] \u003d 1\n\t\tif str(item) \u003d\u003d \"PDU4\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027PDU4\u0027] \u003d 1\n\t\t\n\t\tif str(item) \u003d\u003d \"UPS1\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS1\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UPS2\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UPS2\u0027] \u003d 1\n\t\t\t\t\n\t\tif str(item) \u003d\u003d \"UT\":\n\t\t\tif alm[item]\u003e0:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 2\n\t\t\telse:\n\t\t\t\toutput[\u0027UT\u0027] \u003d 1\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.values": { + "binding": { + "config": { + "struct": { + "hb": "now(5000)", + "paths": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tdata \u003d value[\u0027paths\u0027]\n\tread_tags \u003d []\n\tfor lineup in data:\n\t\tresult \u003d {}\n\t\tfor item in data[lineup]:\n\t\t\tif str(item) \u003d\u003d \"GEN\":\n\t\t\t\tread_tags.append(data[lineup][item] + \"/Run Status\")\n\t\t\tif str(item) \u003d\u003d \"ATS\":\n\t\t\t\tread_tags.append(data[lineup][item] + \"/On Source 1\")\n\t\t\t\tread_tags.append(data[lineup][item] + \"/On Source 2\")\n\ttags \u003d system.tag.readBlocking(read_tags)\n\t\n\treturn tags", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 851, + "width": 250 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "118px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.params.DH}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 5 + }, + "textStyle": { + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30.6px" + }, + "props": { + "justify": "space-between", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "TimeSeriesChart" + }, + "position": { + "basis": "138px" + }, + "propConfig": { + "props.series[0].data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.path}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + } + }, + "props": { + "defaultStyles": { + "colorScheme": "Dark2" + }, + "series": [ + { + "name": "electrical" + } + ], + "style": { + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderStyle": "solid", + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "borderWidth": 1 + }, + "timeAxis": { + "height": 15, + "tick": { + "label": { + "font": { + "size": 8 + }, + "format": "h:mm" + } + } + }, + "timeRange": { + "visible": false + }, + "title": { + "text": "Power" + } + }, + "type": "ia.chart.timeseries" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "850px", + "grow": 1 + }, + "propConfig": { + "props.instances[0].Objects": { + "binding": { + "config": { + "path": "view.custom.status.P1" + }, + "type": "property" + } + }, + "props.instances[0].Room": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "code": "\toutput \u003d \"P\" + value[-1] + \".1\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.instances[0].tagPath": { + "binding": { + "config": { + "path": "view.custom.selected.P1" + }, + "type": "property" + } + }, + "props.instances[1].Objects": { + "binding": { + "config": { + "path": "view.custom.status.P2" + }, + "type": "property" + } + }, + "props.instances[1].Room": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "code": "\toutput \u003d \"P\" + value[-1] + \".2\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "path": "view.custom.selected.P2" + }, + "type": "property" + } + }, + "props.instances[2].Objects": { + "binding": { + "config": { + "path": "view.custom.status.P3" + }, + "type": "property" + } + }, + "props.instances[2].Room": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "code": "\toutput \u003d \"P\" + value[-1] + \".3\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "path": "view.custom.selected.P3" + }, + "type": "property" + } + }, + "props.instances[3].Objects": { + "binding": { + "config": { + "path": "view.custom.status.P4" + }, + "type": "property" + } + }, + "props.instances[3].Room": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "code": "\toutput \u003d \"P\" + value[-1] + \".4\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "path": "view.custom.selected.P4" + }, + "type": "property" + } + }, + "props.instances[4].Objects": { + "binding": { + "config": { + "path": "view.custom.status.P5" + }, + "type": "property" + } + }, + "props.instances[4].Room": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "code": "\toutput \u003d \"P\" + value[-1] + \".5\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "path": "view.custom.selected.P5" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "shrink": 0 + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/D_Electrical/L1/Widgets/DH ER Typ2", + "style": { + "overflow": "hidden" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "96.4%" + }, + "props": { + "direction": "column", + "style": { + "paddingBottom": 0, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Dgrm_ChillerSystem/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Dgrm_ChillerSystem/resource.json new file mode 100644 index 0000000..0516604 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Dgrm_ChillerSystem/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c1db8248dad4e4c8bef8ff63e2ccbcc99f2fe0cd18b403f817755f57450b4f36", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T23:32:04Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Dgrm_ChillerSystem/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Dgrm_ChillerSystem/thumbnail.png new file mode 100644 index 0000000..319832f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Dgrm_ChillerSystem/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Dgrm_ChillerSystem/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Dgrm_ChillerSystem/view.json new file mode 100644 index 0000000..fb09cb0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Dgrm_ChillerSystem/view.json @@ -0,0 +1,885 @@ +{ + "custom": { + "HOA": null, + "ModeSts": null, + "OCmd_Reset": null, + "OCmd_Run": null, + "SystemAvailable": null, + "TagId": null, + "Tons": 250, + "alarmSeverity": null, + "priority": null + }, + "params": { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]/Roof/SATB1_RF_CH08_SYSTEM" + }, + "propConfig": { + "custom.HOA": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/System HOA" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.ModeSts": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/MODE" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.OCmd_Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Reset" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.OCmd_Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Run" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.SystemAvailable": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Chiller System Available" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.TagId": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.Tons": { + "persistent": true + }, + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.priority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "LLS_tagPath": "{view.params.LLS_tagPath}", + "index": "tostr(toint(right({view.custom.TagId},2))-1)" + }, + "tagPath": "{LLS_tagPath}[{index}]" + }, + "type": "tag" + }, + "persistent": true + }, + "params.LLS_tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 165, + "width": 345 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Manual Badge" + }, + "position": { + "height": "auto", + "width": 60, + "x": 263, + "y": 18 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "struct": { + "available": "{view.custom.SystemAvailable}", + "mode": "{view.custom.ModeSts}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027available\u0027] and value[\u0027mode\u0027]:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "options": [ + "Manual", + "Auto" + ] + }, + "path": "Library/Framework/Bdg_Mode", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HOA Badge" + }, + "position": { + "height": "auto", + "width": 60, + "x": 197, + "y": 18 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "path": "view.custom.HOA" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "options": [ + "Local", + "Remote" + ] + }, + "path": "Library/Framework/Bdg_Mode", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TonsIndicator" + }, + "position": { + "height": 53, + "rotate": { + "angle": "270deg" + }, + "width": 102, + "x": -11.13, + "y": 62.62 + }, + "propConfig": { + "props.desiredHigh": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Load" + }, + "type": "tag" + } + }, + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Load" + }, + "type": "tag" + } + } + }, + "props": { + "desiredLow": 0, + "highAlarm": 300, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null, + "maxValue": 330 + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "TonsValue" + }, + "position": { + "height": 22, + "rotate": { + "anchor": "50% 36%" + }, + "width": 100, + "x": -21.5, + "y": 136.61 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Load" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "tons", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Tag" + }, + "position": { + "height": 21, + "rotate": { + "anchor": "50% 25%" + }, + "width": 52, + "x": 27, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)" + }, + "textStyle": { + "fontSize": 16, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "height": 32, + "width": 50, + "x": 113, + "y": 11 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.priority" + }, + "transforms": [ + { + "expression": "\"LLS: \" + {value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Maintenancebadge" + }, + "position": { + "height": 24, + "width": 129, + "x": 196, + "y": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Maintenance" + }, + "type": "tag" + } + }, + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Maintenance Timer has Expired" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "options": [ + "Maint. active", + "Maint. Time expired" + ] + }, + "path": "Library/Framework/Bdg_Maintenance", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AlarmBorder", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 147, + "width": 315, + "x": 12, + "y": 14 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters/DeviceLabel" + }, + "type": "tag" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"solid\"\n\telse:\n\t\treturn \"none\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineWidth": "2" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 25, + "width": 25, + "x": 314.5, + "y": 1 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d 3: \n\t\treturn \"visible\" \n\telse: \n\t\treturn \"hidden\"", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d 3: \n\t\treturn \"visible\" \n\telse: \n\t\treturn \"hidden\"", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d 2: \n\t\treturn \"visible\" \n\telse: \n\t\treturn \"hidden\"", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d 1: \n\t\treturn \"visible\" \n\telse: \n\t\treturn \"hidden\"", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d 4: \n\t\treturn \"visible\" \n\telse: \n\t\treturn \"hidden\"", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d 4: \n\t\treturn \"visible\" \n\telse: \n\t\treturn \"hidden\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + } + ], + "custom": { + "STS_Running": "value" + }, + "meta": { + "name": "root" + }, + "position": { + "x": -159.125, + "y": 271 + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS1/resource.json new file mode 100644 index 0000000..aece6fa --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ec3e3ec9ee465ff687856307030c68a225877661874ebc22ff2488e430f4f7be", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:46:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS1/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS1/thumbnail.png new file mode 100644 index 0000000..03810da Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS1/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS1/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS1/view.json new file mode 100644 index 0000000..3436a7f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS1/view.json @@ -0,0 +1,2123 @@ +{ + "custom": { + "key": 1 + }, + "params": { + "OutputPower": {}, + "boxColor": "--olGray", + "genPower": 1, + "inputPower": 1, + "tagPath": "value" + }, + "propConfig": { + "custom.key": { + "binding": { + "config": { + "path": "/root/EmbeddedView_16.props.params.outputPower" + }, + "type": "property" + }, + "persistent": true + }, + "params.OutputPower": { + "paramDirection": "output", + "persistent": true + }, + "params.OutputPower._1": { + "binding": { + "config": { + "path": "/root/EmbeddedView_1.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._10": { + "binding": { + "config": { + "path": "/root/EmbeddedView_10.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._11": { + "binding": { + "config": { + "path": "/root/EmbeddedView_11.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._12": { + "binding": { + "config": { + "path": "/root/EmbeddedView_12.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._13": { + "binding": { + "config": { + "path": "/root/EmbeddedView_13.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._14": { + "binding": { + "config": { + "path": "/root/EmbeddedView_14.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._15": { + "binding": { + "config": { + "path": "/root/EmbeddedView_17.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._16": { + "binding": { + "config": { + "path": "/root/EmbeddedView_15.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._17": { + "binding": { + "config": { + "path": "/root/EmbeddedView_16.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._2": { + "binding": { + "config": { + "path": "/root/EmbeddedView_2.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._3": { + "binding": { + "config": { + "path": "/root/EmbeddedView_3.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._4": { + "binding": { + "config": { + "path": "/root/EmbeddedView_4.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._5": { + "binding": { + "config": { + "path": "/root/EmbeddedView_5.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._6": { + "binding": { + "config": { + "path": "/root/EmbeddedView_6.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._7": { + "binding": { + "config": { + "path": "/root/EmbeddedView_7.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._8": { + "binding": { + "config": { + "path": "/root/EmbeddedView_8.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._9": { + "binding": { + "config": { + "path": "/root/EmbeddedView_9.props.params.outputPower" + }, + "type": "property" + } + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.genPower": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 110, + "width": 1725 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "SWBD_FRAMe" + }, + "position": { + "height": 110, + "width": 1725 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[10].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[11].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[13].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[14].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[15].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[16].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[17].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[18].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[19].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[20].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[8].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[9].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{view.params.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[1].elements[2].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{view.params.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[1].elements[3].fill": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,{view.params.boxColor},\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[3].fill": { + "binding": { + "config": { + "expression": "\u0027var(\u0027+{view.params.boxColor}+\u0027)\u0027" + }, + "type": "expr" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../SWBD_CB_B.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../SWBD_CB_B.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../SWBD_CB_B.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M120,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "id": "Bar", + "name": "Bar", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1248.75,42.375l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M120,45l1128.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M157.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB02", + "name": "CB02", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M247.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB03", + "name": "CB03", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M292.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB04", + "name": "CB04", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M427.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB05", + "name": "CB05", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M472.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB06", + "name": "CB06", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M517.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB07", + "name": "CB07", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M562.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB08", + "name": "CB08", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M607.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB09", + "name": "CB09", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M652.491,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB10", + "name": "CB10", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M837,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB19", + "name": "CB10", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "paint": "var(--olRed)", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M787.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB11", + "name": "CB11", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M877.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB12", + "name": "CB12", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M922.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB13", + "name": "CB13", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M967.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB14", + "name": "CB14", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1012.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB15", + "name": "CB15", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1057.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB16", + "name": "CB16", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1147.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB17", + "name": "CB17", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1237.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "id": "CB18", + "name": "CB18", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "OutBus", + "name": "OutBus", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "--olGray" + }, + "height": 67.5, + "name": "rect", + "type": "rect", + "width": "1278.75", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l3.759,-0l-0,0.75l-3.009,-0l0,3.268l-0.75,-0Zm9.021,-4.018l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.526,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.264,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.262,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.523,-0l0,0.75l-7.516,-0l-0,-0.75l7.516,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.522,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.261,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.264,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.522,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.266,-0l-0,0.75l-2.257,-0l0,-0.75l2.257,-0Zm10.521,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.523,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.259,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.265,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.522,-0l0,0.75l-7.516,-0l-0,-0.75l7.516,-0Zm5.264,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.522,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.265,-0l-0,0.75l-2.257,-0l0,-0.75l2.257,-0Zm10.523,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.264,-0l-0,0.75l-2.257,-0l0,-0.75l2.257,-0Zm10.522,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.526,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.262,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.523,-0l-0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.262,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.259,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.521,-0l0,0.75l-7.516,-0l-0,-0.75l7.516,-0Zm5.266,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.521,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.265,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.523,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.526,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.259,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.52,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.266,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.525,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.522,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.26,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.26,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.526,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.523,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.261,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.523,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.261,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.523,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.522,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.26,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm6.766,4.018l-0.75,-0l0,-3.268l-3.009,-0l0,-0.75l3.759,-0l-0,4.018Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-3.759,7.232l0,-0.75l3.009,0l-0,-3.268l0.75,0l-0,4.018l-3.759,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.526,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.264,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.262,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.523,0l-0,-0.75l7.516,0l0,0.75l-7.516,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.522,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.261,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.264,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.522,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.266,0l0,-0.75l2.257,0l-0,0.75l-2.257,0Zm-10.521,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.523,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.259,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.265,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.522,0l-0,-0.75l7.516,0l0,0.75l-7.516,0Zm-5.264,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.522,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.265,0l0,-0.75l2.257,0l-0,0.75l-2.257,0Zm-10.523,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.264,0l0,-0.75l2.257,0l-0,0.75l-2.257,0Zm-10.522,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.526,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.262,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.523,0l0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.262,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.259,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.521,0l-0,-0.75l7.516,0l0,0.75l-7.516,0Zm-5.266,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.521,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.265,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.523,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.526,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.259,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.52,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.266,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.525,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.522,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.26,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.26,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.526,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.523,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.261,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.523,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.261,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.523,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.522,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.26,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-6.766,-4.018l0.75,0l-0,3.268l3.009,0l-0,0.75l-3.759,0l-0,-4.018Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "d": "M60.375,78.75l-0.75,0l0,-4.018l0.75,0l0,4.018Zm0,-7.232l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-4.018l0.75,0l0,4.018Z", + "name": "path", + "type": "path" + }, + { + "d": "M139.125,78.75l-0.75,0l-0,-4.018l0.75,0l-0,4.018Zm-0,-7.232l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-4.018l0.75,0l-0,4.018Z", + "name": "path", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#DC1212" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "visibility": "visible", + "width": "1286.25", + "x": "0", + "y": 7.5 + }, + { + "d": "M1286.25,7.5l0,75l-1286.25,-0l0,-75l1286.25,0Zm-0.75,0.75l-1284.75,0l-0,73.5l1284.75,-0l0,-73.5Z", + "fill": { + "paint": "#FF00EA" + }, + "name": "path", + "type": "path" + }, + { + "d": "M1286.61,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1285.91,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1285.61,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1285.88,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1291.06,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1285.88,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "1286.25", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1284.46,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1287.35,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,1278.28,3.03345)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "SWBD-HS1", + "type": "text", + "x": "1256.06px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,1277.77,6.78345)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "1243.04px 1244.19px ", + "y": "6.783px 6.783px " + }, + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "1261.79px 1262.95px ", + "y": "6.783px 6.783px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3000A, 480V3PH, 3W65kAIC", + "type": "text", + "x": "1219.32px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,1278.37,10.4948)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "UL891", + "type": "text", + "x": "1266.09px", + "y": "10.495px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + }, + { + "elements": [ + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "id": "Bar1", + "name": "Bar1", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l87.296,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,36.75l0,8.25", + "fill": { + "paint": "transparent" + }, + "id": "CB01", + "name": "CB01", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "InBus", + "name": "InBus", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1294 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 50, + "width": 65, + "x": 120, + "y": 40 + }, + "propConfig": { + "props.params.inputPower_E": { + "binding": { + "config": { + "path": "view.params.genPower" + }, + "type": "property" + } + }, + "props.params.inputPower_N": { + "binding": { + "config": { + "path": "../SWBD_CB_B.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "objectName": "ATS", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_ATS", + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_ATS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 43, + "x": 195, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_BKR1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "rotate": { + "anchor": "50% 25%" + }, + "width": 43, + "x": 315, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_UPS-HS1-1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 51, + "width": 43, + "x": 375, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_MZP", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 51, + "width": 43, + "x": 555, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PPHS1_1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 51, + "width": 43, + "x": 615, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PPHS1_2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 51, + "width": 43, + "x": 675, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PPHS1_3" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 51, + "width": 43, + "x": 735, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_8" + }, + "position": { + "height": 51, + "width": 43, + "x": 795, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_9" + }, + "position": { + "height": 51, + "width": 43, + "x": 855, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PE1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_10" + }, + "position": { + "height": 51, + "width": 43, + "x": 1035, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_TXLPHS1_1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_11" + }, + "position": { + "height": 51, + "width": 43, + "x": 1155, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_TXRPHS1_1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_12" + }, + "position": { + "height": 51, + "width": 43, + "x": 1215, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_HS1_2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_13" + }, + "position": { + "height": 51, + "width": 43, + "x": 1275, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_HS1_3" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_14" + }, + "position": { + "height": 51, + "width": 43, + "x": 1335, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_TXRPHS1_4" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_15" + }, + "position": { + "height": 51, + "width": 43, + "x": 1515, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_RTU01" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_16" + }, + "position": { + "height": 51, + "width": 43, + "x": 1635, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "objectName": "Breaker X", + "outputPower": 1, + "tagPath": "", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "Temp HS2" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A_NM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B" + }, + "position": { + "height": 51, + "width": 52, + "x": 15, + "y": 5 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_52U", + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true, + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_17" + }, + "position": { + "height": 51, + "width": 43, + "x": 1395, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_TXRPHS1R" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "objectName": "SWBDPQM", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PQM" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.custom.tagPath\n\tobjectName \u003d self.custom.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD PQM1" + }, + "position": { + "height": 18, + "rotate": { + "anchor": "25% 50%" + }, + "width": 62, + "x": 195, + "y": 22 + }, + "propConfig": { + "custom.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.PQMTotal" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#27669C", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "white", + "overflow": "visible" + }, + "text": "PQM", + "textStyle": { + "fontSize": 6, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView_18" + }, + "position": { + "height": 51, + "width": 43, + "x": 1101, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_DOAS2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS2/resource.json new file mode 100644 index 0000000..d1f886b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "781d6f3f817dd4598cfaa07c072b16ef5ad85cedc1b53c8b970bd5bf2a83e8c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:46:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS2/thumbnail.png new file mode 100644 index 0000000..d599d37 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS2/view.json new file mode 100644 index 0000000..401a8da --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD HS2/view.json @@ -0,0 +1,1769 @@ +{ + "custom": { + "key": 0 + }, + "params": { + "OutputPower": {}, + "boxColor": "var(--olGray)", + "inPower_SRC01": 1, + "inPower_SRC02": 0, + "textColor": "var(--olGray)" + }, + "propConfig": { + "custom.key": { + "binding": { + "config": { + "path": "/root/EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + }, + "persistent": true + }, + "params.OutputPower": { + "paramDirection": "output", + "persistent": true + }, + "params.OutputPower._1": { + "binding": { + "config": { + "path": "/root/EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._10": { + "binding": { + "config": { + "path": "/root/EmbeddedView_10.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._11": { + "binding": { + "config": { + "path": "/root/EmbeddedView_11.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._12": { + "binding": { + "config": { + "path": "/root/EmbeddedView_12.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._2": { + "binding": { + "config": { + "path": "/root/EmbeddedView_2.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._3": { + "binding": { + "config": { + "path": "/root/EmbeddedView_3.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._4": { + "binding": { + "config": { + "path": "/root/EmbeddedView_4.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._5": { + "binding": { + "config": { + "path": "/root/EmbeddedView_5.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._6": { + "binding": { + "config": { + "path": "/root/EmbeddedView_6.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._7": { + "binding": { + "config": { + "path": "/root/EmbeddedView_7.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._8": { + "binding": { + "config": { + "path": "/root/EmbeddedView_8.props.params.outputPower" + }, + "type": "property" + } + }, + "params.OutputPower._9": { + "binding": { + "config": { + "path": "/root/EmbeddedView_9.props.params.outputPower" + }, + "type": "property" + } + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inPower_SRC01": { + "paramDirection": "input", + "persistent": true + }, + "params.inPower_SRC02": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 115, + "width": 1128 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "SWBD_Frame_HS2" + }, + "position": { + "height": 112, + "width": 1127 + }, + "propConfig": { + "custom.colorHandler.inBus": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../SWBD_CB_B.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "custom.colorHandler.outBus": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../EmbeddedView_0.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.outBus" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M120,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M820.44,42.375l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M120,45l700.44,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l87.296,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M157.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M247.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M427.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M382.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M697.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M742.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M472.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M517.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M562.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M607.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M652.491,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M787.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,36.75l0,8.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "name": "rect", + "type": "rect", + "width": "828.75", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l3.795,-0l-0,0.75l-3.045,-0l0,3.268l-0.75,-0Zm9.107,-4.018l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.627,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l-0,0.75l-7.59,-0l-0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l-0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.627,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.313,-0l-0,0.75l-2.278,-0l0,-0.75l2.278,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.311,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.624,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.626,-0l0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l-0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l-0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l-0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.627,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.278,-0l0,-0.75l2.278,-0Zm10.624,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.314,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.278,-0l0,-0.75l2.278,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.315,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.588,-0l-0,-0.75l7.588,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.588,-0l-0,-0.75l7.588,-0Zm5.314,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.31,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm6.831,4.018l-0.75,-0c0,-0 0,-3.268 0,-3.268l-3.045,-0l0,-0.75l3.795,-0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.795,7.232l0,-0.75l3.045,0l0,-3.268l0.75,0l0,4.018l-3.795,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.627,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l0,-0.75l7.59,0l0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.627,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.313,0l0,-0.75l2.278,0l-0,0.75l-2.278,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l-0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.311,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.624,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.626,0l-0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l-0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.627,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.278,0l-0,0.75l-2.278,0Zm-10.624,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.314,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.278,0l-0,0.75l-2.278,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.315,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.588,0l0,0.75l-7.588,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.588,0l0,0.75l-7.588,0Zm-5.314,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.31,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-6.831,-4.018l0.75,0c0,0 0,3.268 -0,3.268l3.045,0l-0,0.75l-3.795,0l-0,-4.018Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "d": "M60.375,78.75l-0.75,0l0,-4.018l0.75,0l0,4.018Zm0,-7.232l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-4.018l0.75,0l0,4.018Z", + "name": "path", + "type": "path" + }, + { + "d": "M139.125,78.75l-0.75,0l0,-4.018l0.75,0l0,4.018Zm0,-7.232l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-4.018l0.75,0l0,4.018Z", + "name": "path", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "837.845", + "x": "0", + "y": "7.5" + }, + { + "d": "M837.845,7.5l0,75l-837.845,-0l0,-75l837.845,0Zm-0.75,0.75l-836.345,0l0,73.5l836.345,-0l0,-73.5Z", + "fill": { + "paint": "#f00" + }, + "name": "path", + "type": "path" + }, + { + "d": "M838.203,0.648l6.49,6.489c0.198,0.199 0.198,0.522 -0,0.721l-6.49,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M837.508,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M837.2,1.849c0.134,-0.227 0.379,-0.367 0.643,-0.367c0.264,-0 0.509,0.14 0.642,0.367c1.412,2.401 4.769,8.113 6.195,10.541c0.136,0.231 0.138,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.267,0 -0.514,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M837.472,9.942l-0.39,-4.988l1.522,0l-0.378,4.988l-0.754,-0Zm-0.353,1.907l-0,-1.164l1.448,0l0,1.164l-1.448,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M842.652,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.656,-0c-0.266,-0 -0.481,-0.216 -0.481,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.481,-0.48l8.656,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M837.472,9.042l-0.39,-5.001l1.522,-0l-0.378,5.001l-0.754,0Zm-0.353,1.912l-0,-1.167l1.448,0l0,1.167l-1.448,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "837.843", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M836.057,9.232l-0.389,-5.617l1.522,-0l-0.378,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M838.943,9.232l-0.39,-5.617l1.522,-0l-0.378,5.617l-0.754,0Zm-0.353,2.148l-0,-1.31l1.448,-0l0,1.31l-1.448,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,829.238,3.03345)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "SWBD-HS2", + "type": "text", + "x": "807.015px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,829.399,6.74479)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "818.978px 820.136px ", + "y": "6.745px 6.745px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3000A, 480V3PH", + "type": "text", + "x": "795.266px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,829.794,10.5334)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "799.221px 800.379px ", + "y": "10.533px 10.533px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3W65kAIC, UL891", + "type": "text", + "x": "793.201px", + "y": "10.533px" + } + ], + "id": "TagIdPlate", + "name": "TagIdPlate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 846 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "SWBD_CB_B" + }, + "position": { + "height": 51, + "width": 52, + "x": 15, + "y": 6 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "view.params.inPower_SRC01" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_52U", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 50, + "width": 65, + "x": 120, + "y": 40.5 + }, + "propConfig": { + "props.params.inputPower_E": { + "binding": { + "config": { + "path": "view.params.inPower_SRC02" + }, + "type": "property" + } + }, + "props.params.inputPower_N": { + "binding": { + "config": { + "path": "../SWBD_CB_B.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "ATS", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_ATS", + "textColor": "var(--olGray)", + "textHandler": { + "ATS1": "N", + "ATS2": "E", + "ATS3": "L" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_ATS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 43, + "x": 195.49, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "52F1" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A_NM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "rotate": { + "anchor": "50% 25%" + }, + "width": 43, + "x": 315, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_UPS-HS2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 51, + "width": 43, + "x": 495.5, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_TX-LP-HS2-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 51, + "width": 43, + "x": 555, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_PP-HS2-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 51, + "width": 43, + "x": 615, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_PP-HS2-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 51, + "width": 43, + "x": 674.8, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_PP-HS2-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 51, + "width": 43, + "x": 734.5, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_MPZ-HS2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_8" + }, + "position": { + "height": 51, + "width": 43, + "x": 794.5, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_BKR_TX-RP-HS2-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_9" + }, + "position": { + "height": 51, + "width": 43, + "x": 854.5, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_BKR_TX-RP-HS2-2\n", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_10" + }, + "position": { + "height": 51, + "width": 43, + "x": 915, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_BKR_TX-RP-HS2-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_11" + }, + "position": { + "height": 51, + "width": 43, + "x": 974.5, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_TX-RP-HS2-4 ", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_12" + }, + "position": { + "height": 51, + "width": 43, + "x": 1034, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../EmbeddedView_0.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_BKR_TX-RP-HS2-R", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "objectName": "SWBDPQM", + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_PQM" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.custom.tagPath\n\tobjectName \u003d self.custom.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD PQM1" + }, + "position": { + "height": 18, + "rotate": { + "anchor": "25% 50%" + }, + "width": 62, + "x": 193.67, + "y": 19 + }, + "propConfig": { + "custom.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.PQMTotal" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#27669C", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "white", + "overflow": "visible" + }, + "text": "PQM", + "textStyle": { + "fontSize": 6, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmSeverity": 0 + }, + "meta": { + "name": "root" + }, + "position": { + "x": -1, + "y": -17 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_ATS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_ATS/resource.json new file mode 100644 index 0000000..29c7ced --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_ATS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fc0972fea22311607b25adb708db555731aeb559822c60e189ab9d0d7c98b66d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:46:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_ATS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_ATS/thumbnail.png new file mode 100644 index 0000000..7e53400 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_ATS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_ATS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_ATS/view.json new file mode 100644 index 0000000..46f25dc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_ATS/view.json @@ -0,0 +1,854 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "inputPower_E": 1, + "inputPower_N": 0, + "objectName": "ATS", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_ATS", + "textColor": "var(--olGray)", + "textHandler": { + "ATS1": "N", + "ATS2": "E", + "ATS3": "L" + } + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower_E": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower_N": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "S1": "{/root/SWBD_ATS.custom.ATSOnS1}", + "S2": "{/root/SWBD_ATS.custom.ATSOnS2}", + "inPowerE": "{view.params.inputPower_E}", + "inPowerN": "{view.params.inputPower_N}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t#if value[\u0027inPowerN\u0027] or value[\u0027inPowerE\u0027] or value[\u0027S1\u0027] or (value[\u0027S2\u0027] is None):\n\t#\treturn 0\n\tif (value[\u0027inPowerN\u0027]\u003d\u003d1) and (value[\u0027S1\u0027]\u003d\u003dTrue):\n\t\treturn 1\n\telif (value[\u0027inPowerE\u0027]\u003d\u003d1) and (value[\u0027S2\u0027]\u003d\u003dTrue):\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 65 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "SWBD_ATS" + }, + "position": { + "height": 50, + "width": 65 + }, + "propConfig": { + "custom.ATSOnS1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/On Source 1" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.ATSOnS2": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\u0027/On Source 2\u0027) \u0026\u0026 !tag({view.params.tagPath}+\u0027/On Source 1\u0027)" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "custom.colorHandler.ATSOut": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.inputPower_N} \u0026\u0026 {this.custom.ATSOnS1},\u0027--olRed\u0027,\r\nif({view.params.inputPower_E} \u0026\u0026 {this.custom.ATSOnS2},\u0027--olRed\u0027,\u0027--olGreen\u0027))\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "custom.colorHandler.emergencyIn": { + "binding": { + "config": { + "expression": "{view.params.inputPower_E}" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "custom.colorHandler.normalIn": { + "binding": { + "config": { + "expression": "{view.params.inputPower_N}" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.normalIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "struct": { + "S1": "{this.custom.ATSOnS1}", + "S2": "{this.custom.ATSOnS2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027S1\u0027] or value[\u0027S2\u0027]) is None:\n\t\treturn \u0027hidden\u0027\n\tif value[\u0027S1\u0027] and not value[\u0027S2\u0027]:\n\t\treturn \u0027visible\u0027\n\treturn \u0027hidden\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.emergencyIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].visibility": { + "binding": { + "config": { + "struct": { + "S1": "{this.custom.ATSOnS1}", + "S2": "{this.custom.ATSOnS2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027S1\u0027] or value[\u0027S2\u0027]) is None:\n\t\treturn \u0027hidden\u0027\n\tif value[\u0027S2\u0027] and not value[\u0027S1\u0027]:\n\t\treturn \u0027visible\u0027\n\treturn \u0027hidden\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.normalIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.normalIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.emergencyIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.emergencyIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.ATSOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[7].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.ATSOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[8].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.ATS3" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.ATS1" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.ATS2" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.ATSOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.ATSOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.ATSOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[2].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[2].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[2].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[2].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[2].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[2].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M13.845,26.153l-7.91,-12.202", + "fill": { + "paint": "transparent" + }, + "id": "SRC01", + "name": "SRC01", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M13.845,26.153l7.694,-12.278", + "fill": { + "paint": "transparent" + }, + "id": "SRC02", + "name": "SRC02", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "4.875", + "cy": "15", + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "d": "M4.875,13.875c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "22.5", + "cy": "15", + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,13.875c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "13.845", + "cy": "26.153", + "id": "T3", + "name": "T3", + "r": "1.125", + "type": "circle" + }, + { + "d": "M13.845,25.028c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,17.3646,28.4814)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "15.047px", + "y": "28.481px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,9.86509,14.5291)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "6.856px", + "y": "14.529px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,26.9647,14.5291)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "24.186px", + "y": "14.529px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "ATS", + "name": "ATS", + "type": "group" + }, + { + "elements": [ + { + "cx": "35.977", + "cy": "15", + "id": "T11", + "name": "T11", + "r": "1.125", + "type": "circle" + }, + { + "d": "M35.977,13.875c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M35.977,15l-0,19.716l-22.132,0l0,-8.563", + "fill": { + "paint": "transparent" + }, + "id": "Bar", + "name": "Bar", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "30", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "41.25", + "x": "0", + "y": "7.5" + }, + { + "d": "M41.25,7.5l-0,30l-41.25,0l0,-30l41.25,0Zm-0.75,0.75l-39.75,0l-0,28.5l39.75,-0l0,-28.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M41.608,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M40.913,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M40.605,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M40.876,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M46.057,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M40.876,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "41.248", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M39.462,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M42.347,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 49 38" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A/resource.json new file mode 100644 index 0000000..77e9669 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d525aacb98bc1be4abee41d689230a9d69eca447fcfa6bc7d79866ba5b514740", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:46:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A/thumbnail.png new file mode 100644 index 0000000..8619c60 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A/view.json new file mode 100644 index 0000000..c505712 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A/view.json @@ -0,0 +1,940 @@ +{ + "custom": { + "DeviceName": "FE-2" + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "Breaker", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "propConfig": { + "custom.DeviceName": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "CB": "{/root/SWBD_CB.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027inputPower\u0027] is None or value[\u0027CB\u0027] is None:\n\t\treturn 0\n\tif value[\u0027inputPower\u0027] \u003d\u003d 1 and value[\u0027CB\u0027]\u003d\u003d True:\n\t\treturn 1\n\telse: \n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 55, + "width": 66 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\n\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD_CB" + }, + "position": { + "height": 51, + "width": 43 + }, + "propConfig": { + "custom.BreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Status" + }, + "type": "tag" + } + }, + "custom.colorHandler.breakerIn": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.breakerOut": { + "binding": { + "config": { + "expression": "{view.params.inputPower} \u0026\u0026 {this.custom.BreakerClosed}\r\n" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif( value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027purple\u0027\n\tif value[\u0027inputPower\u0027] and value[\u0027CB\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "code": "\tif value is None: \n\t\treturn \"hidden\"\n\treturn value", + "type": "script" + }, + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027purple\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[1].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + }, + { + "code": "\tif value is None:\n\t\treturn \u0027hidden\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027purple\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[3].fill": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027purple\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "expression": "{view.params.inputPower}" + }, + "overlayOptOut": true, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[5].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill": { + "binding": { + "config": { + "expression": "{view.params.textColor}" + }, + "type": "expr" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[1].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M12.375,18c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M16.035,18c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "11.25", + "cy": "27", + "fill": {}, + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M11.25,25.875c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "11.25", + "cy": "18", + "fill": {}, + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "elements": [ + { + "id": "Line4", + "name": "Line4", + "transform": "matrix(4.16667,0,0,4.16667,29.5634,29.5687)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "18.907px", + "y": "29.569px" + }, + { + "id": "Line3", + "name": "Line3", + "transform": "matrix(4.16667,0,0,4.16667,28.5503,25.8853)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "19.055px", + "y": "25.885px" + }, + { + "id": "Line2", + "name": "Line2", + "transform": "matrix(4.16667,0,0,4.16667,31.1585,22.4233)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "19.192px", + "y": "22.423px" + }, + { + "id": "Line1", + "name": "Line1", + "transform": "matrix(4.16667,0,0,4.16667,31.4677,18.3302)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "19.192px", + "y": "18.33px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "30", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "22.5", + "x": "0", + "y": "7.5" + }, + { + "d": "M22.5,7.5l0,30l-22.5,-0l0,-30l22.5,-0Zm-0.75,0.75l-21,0l-0,28.5l21,-0l0,-28.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M22.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M21.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M27.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "22.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M20.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M23.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 33 39" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 48, + "x": 16.4, + "y": 11.4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.DeviceName" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "OpenClose" + }, + "position": { + "height": 9, + "width": 23, + "x": 24.4, + "y": 40.4 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "struct": { + "CB": "{../SWBD_CB.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027purple\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.text": { + "binding": { + "config": { + "path": "../SWBD_CB.custom.BreakerClosed" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "Open", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Closed" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "struct": { + "CB": "{../SWBD_CB.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027white\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027white\u0027\n\telse: \n\t\treturn self.view.params.textColor", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignVertical": "top", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\n\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A_NM/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A_NM/resource.json new file mode 100644 index 0000000..0ca9688 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A_NM/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "bc0e5b9a5ac8cfa2dccb1cc630da29f995253d726916d41fae15b450fd02932f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:46:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A_NM/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A_NM/thumbnail.png new file mode 100644 index 0000000..0378505 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A_NM/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A_NM/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A_NM/view.json new file mode 100644 index 0000000..949c28a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_A_NM/view.json @@ -0,0 +1,785 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "Breaker", + "outputPower": 1, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "DeviceLabel" + } + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "CB": "{/root/SWBD_CB.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027inputPower\u0027]:\n\t\treturn 1\n\telse: \n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 55, + "width": 57 + } + }, + "root": { + "children": [ + { + "custom": { + "BreakerClosed": true, + "colorHandler": { + "breakerIn": "var(--olGray)", + "breakerOut": "var(--olGray)" + } + }, + "meta": { + "name": "SWBD_CB" + }, + "position": { + "height": 51, + "width": 43 + }, + "propConfig": { + "custom.BreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Open-Closed" + }, + "enabled": false, + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif( value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027purple\u0027\n\tif value[\u0027inputPower\u0027] and value[\u0027CB\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "code": "\tif value is None: \n\t\treturn \"hidden\"\n\treturn value", + "type": "script" + }, + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027var(--olGray)\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027var(--olGray)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[1].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + }, + { + "code": "\tif value is None:\n\t\treturn \u0027hidden\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027var(--olGray)\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[3].fill": { + "binding": { + "config": { + "struct": { + "CB": "{this.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn \u0027purple\u0027\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027var(--olRed)\u0027\n\telse: \n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "expression": "{view.params.inputPower}" + }, + "overlayOptOut": true, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[5].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill": { + "binding": { + "config": { + "expression": "{view.params.textColor}" + }, + "type": "expr" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[1].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M12.375,18c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M16.035,18c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "11.25", + "cy": "27", + "fill": {}, + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M11.25,25.875c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "11.25", + "cy": "18", + "fill": {}, + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "elements": [ + { + "id": "Line4", + "name": "Line4", + "transform": "matrix(4.16667,0,0,4.16667,29.5634,29.5687)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "18.907px", + "y": "29.569px" + }, + { + "id": "Line3", + "name": "Line3", + "transform": "matrix(4.16667,0,0,4.16667,28.5503,25.8853)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "19.055px", + "y": "25.885px" + }, + { + "id": "Line2", + "name": "Line2", + "transform": "matrix(4.16667,0,0,4.16667,31.1585,22.4233)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "19.192px", + "y": "22.423px" + }, + { + "id": "Line1", + "name": "Line1", + "transform": "matrix(4.16667,0,0,4.16667,31.4677,18.3302)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "19.192px", + "y": "18.33px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "30", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "22.5", + "x": "0", + "y": "7.5" + }, + { + "d": "M22.5,7.5l0,30l-22.5,-0l0,-30l22.5,-0Zm-0.75,0.75l-21,0l-0,28.5l21,-0l0,-28.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M22.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M21.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M27.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "22.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M20.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M23.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "backgroundColor": "#00000000", + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "clipRule": "evenodd" + }, + "viewBox": "0 0 33 39" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 35, + "x": 16.4, + "y": 11.4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.textHandler.DeviceLabel" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmSeverity": -1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\n\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_B/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_B/resource.json new file mode 100644 index 0000000..aebc277 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_B/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "174876f9ffda9a351edfd4f3065ed4279de5a63041822436c1d4b49d740eb4b3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:46:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_B/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_B/thumbnail.png new file mode 100644 index 0000000..819dbab Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_B/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_B/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_B/view.json new file mode 100644 index 0000000..e155874 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_B/view.json @@ -0,0 +1,1047 @@ +{ + "custom": { + "colorHandler": "value" + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 0, + "objectName": "Breaker", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_CB-52U", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "CB": "{/root/SWBD_CB_B.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027]\u003d\u003d0) or (value[\u0027CB\u0027] is None):\n\t\treturn 0\n\tif value[\u0027inputPower\u0027] and value[\u0027CB\u0027]:\n\t\treturn 1\n\telse: \n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 84, + "width": 81 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD_CB_B" + }, + "position": { + "height": 50, + "width": 52 + }, + "propConfig": { + "custom.BreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Status" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "custom.colorHandler.breakerIn": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.breakerOut": { + "binding": { + "config": { + "expression": "{view.params.inputPower} \u0026\u0026 {this.custom.BreakerClosed}" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027hidden\u0027\n\treturn value", + "type": "script" + }, + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + }, + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[6].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + }, + "props.elements[1].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M14.91,18c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M11.25,18c1.53,1.2 2.301,2.695 2.269,4.5c0.011,2.094 -0.718,3.616 -2.269,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M11.264,13.5l-0,4.523", + "fill": { + "paint": "transparent" + }, + "id": "In", + "name": "In", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M11.25,27l-0,4.191", + "fill": { + "paint": "transparent" + }, + "id": "Out", + "name": "Out", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M9.007,13.5l2.257,-1.477l2.256,1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M8.993,14.977l2.257,-1.477l2.257,1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "T1", + "name": "T1", + "type": "group" + }, + { + "elements": [ + { + "d": "M13.493,31.523l-2.257,1.477l-2.256,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M13.507,30.045l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "T2", + "name": "T2", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,32.0651,17.9948)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "17.472px", + "y": "17.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,31.7559,21.7448)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "17.472px", + "y": "21.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,37.7007,29.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "17.329px", + "y": "29.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,35.1718,25.5355)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "17.341px", + "y": "25.535px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "30", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "22.5", + "x": "0", + "y": "7.5" + }, + { + "d": "M22.5,7.5l0,30l-22.5,-0l0,-30l22.5,-0Zm-0.75,0.75l-21,0l-0,28.5l21,-0l0,-28.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M22.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M21.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M27.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M22.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "22.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M20.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M23.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "backgroundColor": "#00000000", + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "clipRule": "evenodd" + }, + "viewBox": "0 0 39 39" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label_Bottom" + }, + "position": { + "height": 9, + "rotate": { + "anchor": "50% -34%" + }, + "width": 50, + "x": 17.3, + "y": 48 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "!{view.params.textHandler.DL_TOP-Bottm}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_Top" + }, + "position": { + "height": 9, + "rotate": { + "anchor": "50% -34%" + }, + "width": 50, + "x": 17.3, + "y": 8.950000000000001 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.textHandler.DL_TOP-Bottm}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "OpenClose" + }, + "position": { + "height": 9, + "rotate": { + "anchor": "50% -34%" + }, + "width": 24, + "x": 22.9, + "y": 39.45 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.textHandler.DL_TOP-Bottm}" + }, + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "../SWBD_CB_B.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "../SWBD_CB_B.custom.BreakerClosed" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \"Open\"\n\treturn value", + "type": "script" + }, + { + "fallback": "Open", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Closed" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "struct": { + "CB": "{../SWBD_CB_B.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027inputPower\u0027] or value[\u0027CB\u0027]) is None:\n\t\treturn self.view.params.textColor\n\tif (value[\u0027inputPower\u0027] and value[\u0027CB\u0027]):\n\t\treturn \u0027white\u0027\n\telse: \n\t\treturn self.view.params.textColor\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_C/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_C/resource.json new file mode 100644 index 0000000..5d907b2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_C/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ae351ef0a8e5a717ab293875e1d7764346651ddff3f55777988b1cea5e96dd9d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:46:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_C/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_C/thumbnail.png new file mode 100644 index 0000000..61c82d6 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_C/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_C/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_C/view.json new file mode 100644 index 0000000..1e20ff6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_CB_C/view.json @@ -0,0 +1,1011 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "Breaker", + "outputPower": 1, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F13", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, NO", + "Breaker4": "NC, ERMS", + "DL_Left_Right": true, + "DeviceLabel": "DeviceLabel" + } + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "CB_Closed": "{/root/SWBD_CB_3.custom.BreakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027inputPower\u0027] is None:\n\t\tif value[\u0027CB_Closed\u0027] is None:\n\t\t\toutput \u003d 0\n\t\t\treturn output\n\tif value[\u0027inputPower\u0027] and value[\u0027CB_Closed\u0027]:\n\t\toutput \u003d 1\n\telse:\n\t\toutput \u003d 0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 47, + "width": 91 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD_CB_3" + }, + "position": { + "height": 39, + "width": 60, + "x": 19 + }, + "propConfig": { + "custom.BreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Status" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.breakerIn": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.breakerOut": { + "binding": { + "config": { + "expression": "{view.params.inputPower} \u0026\u0026 {this.custom.BreakerClosed}\r\n" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "transparent", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var( --coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[3].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[4].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[5].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "104.167", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "208.333", + "x": "-0", + "y": "58.333" + }, + { + "d": "M208.333,58.333l0,104.167l-208.333,0l-0,-104.167l208.333,0Zm-4.166,4.167l-200,-0l-0,95.833l200,0l-0,-95.833Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M210.323,20.266l36.051,36.051c1.105,1.106 1.105,2.9 -0,4.006l-36.051,36.051c-1.106,1.105 -2.9,1.105 -4.006,-0l-36.051,-36.051c-1.105,-1.106 -1.105,-2.9 0,-4.006l36.051,-36.051c1.106,-1.105 2.9,-1.105 4.006,0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "2.67px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M206.462,66.443l-1.95,-26.303l7.616,-0l-1.889,26.303l-3.777,0Zm-1.767,10.057l-0,-6.137l7.25,-0l-0,6.137l-7.25,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M204.75,26.941c0.744,-1.265 2.102,-2.042 3.57,-2.042c1.468,-0 2.826,0.777 3.57,2.042c7.839,13.339 26.489,45.073 34.417,58.561c0.752,1.281 0.761,2.866 0.024,4.155c-0.738,1.289 -2.109,2.085 -3.595,2.085l-68.832,-0c-1.486,-0 -2.857,-0.796 -3.595,-2.085c-0.737,-1.289 -0.728,-2.874 0.024,-4.155c7.928,-13.488 26.578,-45.222 34.417,-58.561Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "2.67px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M206.257,71.899l-2.164,-27.709l8.454,-0l-2.097,27.709l-4.193,-0Zm-1.961,10.595l-0,-6.466l8.048,0l0,6.466l-8.048,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M235.037,23.23l0,70.18c0,1.474 -1.197,2.671 -2.672,2.671l-48.09,0c-1.475,0 -2.672,-1.197 -2.672,-2.671l-0,-70.18c-0,-1.474 1.197,-2.671 2.672,-2.671l48.09,-0c1.475,-0 2.672,1.197 2.672,2.671Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "2.67px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M206.257,66.901l-2.164,-27.786l8.454,0l-2.097,27.786l-4.193,-0Zm-1.961,10.624l-0,-6.484l8.048,0l0,6.484l-8.048,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "208.32", + "cy": "58.32", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "39.987", + "stroke": { + "paint": "#000", + "width": "2.67px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M198.401,67.958l-2.165,-31.209l8.454,-0l-2.096,31.209l-4.193,0Zm-1.962,11.933l0,-7.282l8.048,0l0,7.282l-8.048,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M214.429,67.958l-2.164,-31.209l8.454,-0l-2.096,31.209l-4.194,0Zm-1.961,11.933l0,-7.282l8.048,0l0,7.282l-8.048,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + }, + { + "elements": [ + { + "d": "M79.167,116.723c6.667,-8.501 14.971,-12.782 25,-12.607c11.634,-0.059 20.088,3.989 25,12.607", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M79.167,96.387c6.667,-7.007 14.971,-10.535 25,-10.391c11.634,-0.048 20.088,3.288 25,10.391", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M54.167,116.647l25.125,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M129.167,116.685l23.284,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M54.167,129.107l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M62.375,129.183l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M154.871,104.187l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M146.663,104.111l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,139.077,16.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "type": "text", + "x": "57.354px", + "y": "16.771px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,137.345,37.6042)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "type": "text", + "x": "57.354px", + "y": "37.604px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,157.762,58.6654)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "type": "text", + "x": "56.624px", + "y": "58.665px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,123.901,79.4873)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "type": "text", + "x": "56.488px", + "y": "79.487px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd" + }, + "viewBox": "0 0 250 163" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "DL_Right" + }, + "position": { + "height": 13, + "width": 40, + "x": 63.4, + "y": 15.6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "!{view.params.textHandler.DL_Left_Right}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.textHandler.DeviceLabel" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "DL_Left" + }, + "position": { + "height": 13, + "width": 40, + "x": -15.6, + "y": 15.6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.textHandler.DL_Left_Right}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.textHandler.DeviceLabel" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 6, + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_M/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_M/resource.json new file mode 100644 index 0000000..cda743e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_M/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "23e1e2a93bb0f1669980b2f27aaea1137c739a25faab8cee346f3876bb762a2c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:46:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_M/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_M/thumbnail.png new file mode 100644 index 0000000..da56f4e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_M/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_M/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_M/view.json new file mode 100644 index 0000000..74a4bd9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_M/view.json @@ -0,0 +1,2150 @@ +{ + "custom": { + "colorHandler": { + "box": "var(--olGray)" + }, + "key": 0, + "swbd": "[Ignition_Common_IO_Gtwy]MPR1247", + "tagPaths": {} + }, + "params": { + "InPower_Src1": 0, + "InPower_Src2": 1, + "lineup": "M8", + "outputPower": {}, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247" + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.ATS": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027] + \u0027SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]+\u0027_BKR1\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "custom.colorHandler.box": { + "binding": { + "config": { + "path": "view.params.colorHandler.box" + }, + "enabled": false, + "type": "property" + } + }, + "custom.colorHandler.inputBus": { + "binding": { + "config": { + "path": "/root/SWBD_CB_Main.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.outputBus": { + "binding": { + "config": { + "path": "/root/SWBD_ATS.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.key": { + "binding": { + "config": { + "path": "/root/SWBD_ATS.props.params.outputPower" + }, + "type": "property" + }, + "persistent": true + }, + "custom.swbd": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + }, + "persistent": true + }, + "custom.tagPaths": { + "persistent": true + }, + "custom.tagPaths.ATS": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_ATS\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR1": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR1\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR2": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR2\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR3": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR3\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR4": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR4\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR6": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR6\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR7": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR7\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR8": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR8\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.BKR9": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR9\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.PQM": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_PQM\u0027" + }, + "type": "expr" + } + }, + "custom.tagPaths.mainBkr": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \u0027/SATB1_\u0027+ split({view.params.tagPath},\u0027]\u0027)[1,\u0027parts\u0027]\r\n+\"_\"+{view.params.lineup}+\u0027_BKR_Main\u0027" + }, + "type": "expr" + } + }, + "params.InPower_Src1": { + "paramDirection": "input", + "persistent": true + }, + "params.InPower_Src2": { + "paramDirection": "input", + "persistent": true + }, + "params.lineup": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "paramDirection": "output", + "persistent": true + }, + "params.outputPower._1": { + "binding": { + "config": { + "path": "/root/SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._2": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_2.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._3": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_3.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._4": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_4.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._5": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_5.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._6": { + "binding": { + "config": { + "path": "/root/SWBD_CB_B_6.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._7": { + "binding": { + "config": { + "path": "/root/SWBD_CB_B_7.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._8": { + "binding": { + "config": { + "path": "/root/SWBD_CB_B_8.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower._9": { + "binding": { + "config": { + "path": "/root/SWBD_CB_B_9.props.params.outputPower" + }, + "type": "property" + } + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 111, + "width": 1128 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "SWBD_Frame_M" + }, + "position": { + "height": 111, + "width": 1128 + }, + "propConfig": { + "props.elements[0].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inputBus" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M120,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M820.44,42.375l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M120,45l700.44,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M157.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M247.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M292.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M337.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M427.5,45l0,8.273", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M562.5,45l0,8.273", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M742.5,45l0,8.273", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M202.5,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M383,45l0,8.273", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Output", + "name": "Output", + "type": "group" + }, + { + "elements": [ + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l87.296,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,36.75l0,8.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Input", + "name": "Input", + "type": "group" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "red" + }, + "height": "67.5", + "name": "rect", + "type": "rect", + "width": "828.75", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l3.795,-0l-0,0.75l-3.045,-0l0,3.268l-0.75,-0Zm9.107,-4.018l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.627,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l-0,0.75l-7.59,-0l-0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l-0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.627,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.313,-0l-0,0.75l-2.278,-0l0,-0.75l2.278,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.311,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.624,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.626,-0l0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l-0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l-0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.311,-0l-0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.627,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.278,-0l0,-0.75l2.278,-0Zm10.624,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.314,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.278,-0l0,-0.75l2.278,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.315,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.588,-0l-0,-0.75l7.588,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.588,-0l-0,-0.75l7.588,-0Zm5.314,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.31,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.626,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.625,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l-0,0.75l-7.59,-0l0,-0.75l7.59,-0Zm5.312,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.626,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.624,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.314,-0l-0,0.75l-2.277,-0l-0,-0.75l2.277,-0Zm10.623,-0l0,0.75l-7.589,-0l0,-0.75l7.589,-0Zm5.313,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm10.625,-0l0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.313,-0l-0,0.75l-2.277,-0l0,-0.75l2.277,-0Zm10.625,-0l-0,0.75l-7.589,-0l-0,-0.75l7.589,-0Zm5.312,-0l0,0.75l-2.276,-0l-0,-0.75l2.276,-0Zm6.831,4.018l-0.75,-0c0,-0 0,-3.268 0,-3.268l-3.045,-0l0,-0.75l3.795,-0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.795,7.232l0,-0.75l3.045,0l0,-3.268l0.75,0l0,4.018l-3.795,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.627,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l0,-0.75l7.59,0l0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.627,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.313,0l0,-0.75l2.278,0l-0,0.75l-2.278,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l-0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.311,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.624,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.626,0l-0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l-0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.311,0l0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.627,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.278,0l-0,0.75l-2.278,0Zm-10.624,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.314,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.278,0l-0,0.75l-2.278,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.315,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.588,0l0,0.75l-7.588,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.588,0l0,0.75l-7.588,0Zm-5.314,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.31,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.626,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.625,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l0,-0.75l7.59,0l-0,0.75l-7.59,0Zm-5.312,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.626,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.624,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.314,0l0,-0.75l2.277,0l0,0.75l-2.277,0Zm-10.623,0l-0,-0.75l7.589,0l-0,0.75l-7.589,0Zm-5.313,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-10.625,0l-0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.313,0l0,-0.75l2.277,0l-0,0.75l-2.277,0Zm-10.625,0l0,-0.75l7.589,0l0,0.75l-7.589,0Zm-5.312,0l-0,-0.75l2.276,0l0,0.75l-2.276,0Zm-6.831,-4.018l0.75,0c0,0 0,3.268 -0,3.268l3.045,0l-0,0.75l-3.795,0l-0,-4.018Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "d": "M60.375,78.75l-0.75,0l0,-4.018l0.75,0l0,4.018Zm0,-7.232l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-4.018l0.75,0l0,4.018Z", + "name": "path", + "type": "path" + }, + { + "d": "M139.125,78.75l-0.75,0l0,-4.018l0.75,0l0,4.018Zm0,-7.232l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,-11.25l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,-5.625l-0.75,-0l0,-4.018l0.75,0l0,4.018Z", + "name": "path", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "837.845", + "x": "0", + "y": "7.5" + }, + { + "d": "M837.845,7.5l0,75l-837.845,-0l0,-75l837.845,0Zm-0.75,0.75l-836.345,0l0,73.5l836.345,-0l0,-73.5Z", + "fill": { + "paint": "#f00" + }, + "name": "path", + "type": "path" + }, + { + "d": "M838.203,0.648l6.49,6.489c0.198,0.199 0.198,0.522 -0,0.721l-6.49,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M837.508,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M837.2,1.849c0.134,-0.227 0.379,-0.367 0.643,-0.367c0.264,-0 0.509,0.14 0.642,0.367c1.412,2.401 4.769,8.113 6.195,10.541c0.136,0.231 0.138,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.267,0 -0.514,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M837.472,9.942l-0.39,-4.988l1.522,0l-0.378,4.988l-0.754,-0Zm-0.353,1.907l-0,-1.164l1.448,0l0,1.164l-1.448,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M842.652,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.656,-0c-0.266,-0 -0.481,-0.216 -0.481,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.481,-0.48l8.656,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M837.472,9.042l-0.39,-5.001l1.522,-0l-0.378,5.001l-0.754,0Zm-0.353,1.912l-0,-1.167l1.448,0l0,1.167l-1.448,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "837.843", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M836.057,9.232l-0.389,-5.617l1.522,-0l-0.378,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M838.943,9.232l-0.39,-5.617l1.522,-0l-0.378,5.617l-0.754,0Zm-0.353,2.148l-0,-1.31l1.448,-0l0,1.31l-1.448,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,795.305,3.03345)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "SWBD-M1", + "type": "text", + "visibility": "hidden", + "x": "775.4px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,832.665,6.78345)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "799.087px 800.245px ", + "y": "6.783px 6.783px " + }, + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "816.686px 817.843px ", + "y": "6.783px 6.783px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3000A, 480V3PH,3W65kAIC", + "type": "text", + "x": "775.375px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,787.501,10.4948)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "UL891", + "type": "text", + "x": "775.223px", + "y": "10.495px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 846 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "SWBD_CB_Main" + }, + "position": { + "height": 50, + "width": 52, + "x": 15, + "y": 7 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "view.params.InPower_Src1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.mainBkr" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "mainBkr": "{view.custom.tagPaths.mainBkr}" + }, + "tagPath": "{mainBkr}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Breaker X", + "outputPower": 0, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_ATS" + }, + "position": { + "height": 50, + "width": 65, + "x": 120, + "y": 40 + }, + "propConfig": { + "props.params.inputPower_E": { + "binding": { + "config": { + "path": "view.params.InPower_Src2" + }, + "type": "property" + } + }, + "props.params.inputPower_N": { + "binding": { + "config": { + "path": "../SWBD_CB_Main.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.ATS" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_ATS" + }, + "type": "ia.display.view" + }, + { + "custom": { + "objectName": "SWBDPQM" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.custom.tagPath\n\t\n\tobjectName \u003d self.custom.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD PQM1" + }, + "position": { + "height": 18, + "rotate": { + "anchor": "25% 50%" + }, + "width": 39, + "x": 191, + "y": 19 + }, + "propConfig": { + "custom.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.PQM" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#27669C", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "white", + "overflow": "visible" + }, + "text": "PQM", + "textStyle": { + "fontSize": 6, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SWBD Name" + }, + "position": { + "height": 20, + "width": 82, + "x": 1033, + "y": -13.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.lineup" + }, + "transforms": [ + { + "expression": "\"SWBD \"+{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGary)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.custom.tagPaths.BKR2\n\t\n\tobjectName \u003d self.custom.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD BKR 52F3" + }, + "position": { + "height": 10, + "rotate": { + "anchor": "25% 50%" + }, + "width": 35, + "x": 208.6, + "y": 65 + }, + "props": { + "style": { + "backgroundColor": "", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "", + "color": "", + "overflow": "visible" + }, + "text": "BKR 52F5", + "textStyle": { + "fontSize": 6, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "BreakerClosed": 1, + "colorHandler": { + "breakerIn": "black", + "breakerOut": "black" + } + }, + "meta": { + "name": "SWBD_CB_B_1" + }, + "position": { + "height": 51, + "width": 43, + "x": 195.5, + "y": 55.5 + }, + "propConfig": { + "custom.BreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Open-Closed" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.colorHandler.breakerIn": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.breakerOut": { + "binding": { + "config": { + "expression": "{view.params.inputPower} \u0026\u0026 {this.custom.BreakerClosed}\r\n" + }, + "enabled": false, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerClosed" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None: \n\t\treturn \"hidden\"\n\treturn value", + "type": "script" + }, + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outputBus" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker5" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M12.375,18c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.75px" + }, + "type": "path", + "visibility": "visible" + }, + { + "d": "M16.035,18c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "cx": "11.25", + "cy": "27", + "fill": {}, + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M11.25,25.875c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "11.25", + "cy": "18", + "fill": {}, + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "elements": [ + { + "id": "Line4", + "name": "Line4", + "transform": "matrix(4.16667,0,0,4.16667,29.5634,29.5687)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "", + "type": "text", + "x": "18.907px", + "y": "29.569px" + }, + { + "id": "Line3", + "name": "Line3", + "transform": "matrix(4.16667,0,0,4.16667,28.5503,25.8853)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "", + "type": "text", + "x": "19.055px", + "y": "25.885px" + }, + { + "id": "Line2", + "name": "Line2", + "transform": "matrix(4.16667,0,0,4.16667,31.1585,22.4233)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "60AT", + "type": "text", + "x": "19.192px", + "y": "22.423px" + }, + { + "id": "Line1", + "name": "Line1", + "transform": "matrix(4.16667,0,0,4.16667,31.4677,18.3302)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "150AF", + "type": "text", + "x": "19.192px", + "y": "18.33px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "backgroundColor": "#00000000", + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "clipRule": "evenodd" + }, + "viewBox": "0 0 33 39" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "SWBD_CB_A_2" + }, + "position": { + "height": 51, + "width": 43, + "x": 255, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR4" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_3" + }, + "position": { + "height": 51, + "width": 43, + "x": 315, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR3" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_4" + }, + "position": { + "height": 51, + "width": 43, + "x": 376, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR2" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_5" + }, + "position": { + "height": 51, + "width": 43, + "x": 435, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR1" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "--olGray", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_6" + }, + "position": { + "height": 50, + "width": 52, + "x": 496, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR6" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_7" + }, + "position": { + "height": 50, + "width": 52, + "x": 555, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR7" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_8" + }, + "position": { + "height": 50, + "width": 52, + "x": 735, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR8" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_9" + }, + "position": { + "height": 50, + "width": 52, + "x": 975, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.tagPaths.BKR9" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_P/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_P/resource.json new file mode 100644 index 0000000..c13d19b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_P/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f778a174280f5e91bd85c981b6b33532989c2bc57fc5a77f53731fb568346a02", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:46:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_P/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_P/thumbnail.png new file mode 100644 index 0000000..fb331fa Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_P/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_P/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_P/view.json new file mode 100644 index 0000000..2c2d8c9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Electrical/SWBD_P/view.json @@ -0,0 +1,3065 @@ +{ + "custom": { + "deviceTagPaths": {}, + "key": 1, + "key_1": 1 + }, + "params": { + "boxColor": "var(--olGray)", + "inUPS1": 1, + "inUPS2": 1, + "inputPowerGen": 0, + "inputPowerMain": 1, + "outputPower": {}, + "pageName": "P5-5", + "room": "ER1165", + "tagPath": "[Ignition_SATB1_IO5_default]ER1165/SWBD", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD-P1.3", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "propConfig": { + "custom.deviceTagPaths": { + "persistent": true + }, + "custom.deviceTagPaths.ATS": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_ATS\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.PQMCritical": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_PQM2\u0027\n\t#[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_PQM1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.PQMTotal": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_PQM1\u0027\n\t#[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_PQM1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker1": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F1\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker10": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F10\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker11": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F11\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker12": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F12\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker13": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F13\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52Fx\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker14": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F14\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker15": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F15\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker2": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F2\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker3": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F3\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker4": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F4\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker5": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F5\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker6": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F6\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker7": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F7\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker8": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F8\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaker9": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F9\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breakerT1": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52T1\u0027\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.breaket13": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52F13\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_CB-52F1\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.deviceTagPaths.mainBreaker": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalue \u003d value[\u0027tagPath\u0027] + \u0027/SATB1_\u0027 + value[\u0027tagPath\u0027].split(\u0027]\u0027)[1].split(\u0027/\u0027)[0] + \u0027_CB-52U\u0027\n\t#[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52U\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.key": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_8.props.params.outputPower" + }, + "type": "property" + }, + "persistent": true + }, + "custom.key_1": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_3.props.params.outputPower" + }, + "type": "property" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inUPS1": { + "paramDirection": "input", + "persistent": true + }, + "params.inUPS2": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPowerGen": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPowerMain": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "paramDirection": "output", + "persistent": true + }, + "params.outputPower.breaker1": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker10": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_6.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker11": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_7.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker12": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_8.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker2": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_0.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker3": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_1.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker4": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_2.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker5": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_3.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker6": { + "binding": { + "config": { + "path": "/root/SWBD_CB_B_0.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker7": { + "binding": { + "config": { + "path": "/root/SWBD_CB_B_1.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker8": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_4.props.params.outputPower" + }, + "type": "property" + } + }, + "params.outputPower.breaker9": { + "binding": { + "config": { + "path": "/root/SWBD_CB_A_5.props.params.outputPower" + }, + "type": "property" + } + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + }, + "params.room": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 148, + "width": 1774 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "SWBD_Frame_P" + }, + "position": { + "height": 110, + "rotate": { + "anchor": "0% 25%" + }, + "width": 1724, + "x": 1 + }, + "propConfig": { + "custom.bus2": { + "binding": { + "config": { + "struct": { + "ats": "{../SWBD_ATS.props.params.outputPower}", + "bus3": "{this.custom.bus3}", + "cb13": "{this.custom.cb13}", + "cbT": "{this.custom.cbT1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027ats\u0027] and value[\u0027cbT\u0027]) or (value[\u0027bus3\u0027] and value[\u0027cb13\u0027]):\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.bus3": { + "binding": { + "config": { + "struct": { + "cb14": "{this.custom.cb14}", + "cb15": "{this.custom.cb15}", + "in1": "{view.params.inUPS1}", + "in2": "{view.params.inUPS2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027cb14\u0027] and value[\u0027in1\u0027]) or (value[\u0027cb15\u0027] and value[\u0027in2\u0027]):\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.cb13": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "breaker13": "{view.custom.deviceTagPaths.breaker13}" + }, + "tagPath": "{breaker13}/Breaker Status" + }, + "type": "tag" + } + }, + "custom.cb14": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "breaker14": "{view.custom.deviceTagPaths.breaker14}" + }, + "tagPath": "{breaker14}/Breaker Status" + }, + "type": "tag" + } + }, + "custom.cb15": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "breaker15": "{view.custom.deviceTagPaths.breaker15}" + }, + "tagPath": "{breaker15}/Breaker Status" + }, + "type": "tag" + } + }, + "custom.cbT1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "breakerT1": "{view.custom.deviceTagPaths.breakerT1}" + }, + "tagPath": "{breakerT1}/Breaker Status" + }, + "type": "tag" + } + }, + "custom.colorHandler.Input": { + "binding": { + "config": { + "path": "../SWBD_CB_B.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.Section-A": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.Section-B": { + "binding": { + "config": { + "path": "this.custom.bus2" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.Section-C": { + "binding": { + "config": { + "path": "this.custom.bus3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.mainInput": { + "binding": { + "config": { + "path": "view.params.inputPowerMain" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-A" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-B" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-B" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-B" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-B" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-B" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-B" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-B" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-C" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-C" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-C" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-C" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-C" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-C" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Section-C" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Input" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Input" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Input" + }, + "type": "property" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SWBD2" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SWBD3" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M120,42.375l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M120,45l510.761,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M157.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M247.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M202.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M337.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M292.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M446.23,45.364l-0,8.272", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M581.23,45.364l-0,8.272", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Section-A", + "name": "Section-A", + "stroke": "red", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M651.843,45l440.168,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M697.491,45l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M787.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M877.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M967.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1057.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1057.5,45l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Section-B", + "name": "Section-B", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1272.36,42.375l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1113.09,45l159.263,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1235.26,72.985l2.257,-1.477l2.256,1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1235.24,74.463l2.257,-1.478l2.257,1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1192.5,45l-0,8.273", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1237.5,45l-0,26.508", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M1147.5,45l-0,8.273", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Section-C", + "name": "Section-C", + "type": "group" + }, + { + "elements": [ + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l87.296,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,36.75l-0,8.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Input", + "name": "Input", + "type": "group", + "visibility": "visible" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "67.5", + "name": "rect", + "type": "rect", + "width": "1278.75", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.268l-0,-4.018l3.759,-0l-0,0.75l-3.009,-0l-0,3.268l-0.75,-0Zm9.021,-4.018l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.526,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.264,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.262,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.523,-0l0,0.75l-7.516,-0l-0,-0.75l7.516,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.522,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.261,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.264,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.522,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.266,-0l-0,0.75l-2.257,-0l0,-0.75l2.257,-0Zm10.521,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.523,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.259,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.265,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.522,-0l0,0.75l-7.516,-0l-0,-0.75l7.516,-0Zm5.264,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.522,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.265,-0l-0,0.75l-2.257,-0l0,-0.75l2.257,-0Zm10.523,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.264,-0l-0,0.75l-2.257,-0l0,-0.75l2.257,-0Zm10.522,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.526,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.262,-0l-0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.523,-0l-0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.262,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.259,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.521,-0l0,0.75l-7.516,-0l-0,-0.75l7.516,-0Zm5.266,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.521,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.265,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.523,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.526,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.525,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.259,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.52,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.266,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.525,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.522,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.256,-0l-0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.26,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.528,-0l-0,0.75l-7.519,-0l0,-0.75l7.519,-0Zm5.26,-0l0,0.75l-2.254,-0l-0,-0.75l2.254,-0Zm10.526,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.523,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l0,-0.75l7.517,-0Zm5.261,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.265,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.523,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.261,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.526,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.523,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.263,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.265,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.522,-0l0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.264,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.26,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.526,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.525,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.264,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.261,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.527,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l-0,0.75l-2.256,-0l0,-0.75l2.256,-0Zm10.524,-0l-0,0.75l-7.518,-0l0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l0,-0.75l2.255,-0Zm10.524,-0l0,0.75l-7.517,-0l-0,-0.75l7.517,-0Zm5.263,-0l-0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm10.525,-0l-0,0.75l-7.518,-0l-0,-0.75l7.518,-0Zm5.262,-0l0,0.75l-2.255,-0l-0,-0.75l2.255,-0Zm6.766,4.018l-0.75,-0l0,-3.268l-3.009,-0l0,-0.75l3.759,-0l-0,4.018Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-3.759,7.232l0,-0.75l3.009,0l-0,-3.268l0.75,0l-0,4.018l-3.759,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.526,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.264,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.262,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.523,0l-0,-0.75l7.516,0l0,0.75l-7.516,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.522,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.261,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.264,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.522,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.266,0l0,-0.75l2.257,0l-0,0.75l-2.257,0Zm-10.521,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.523,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.259,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.265,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.522,0l-0,-0.75l7.516,0l0,0.75l-7.516,0Zm-5.264,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.522,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.265,0l0,-0.75l2.257,0l-0,0.75l-2.257,0Zm-10.523,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.264,0l0,-0.75l2.257,0l-0,0.75l-2.257,0Zm-10.522,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.526,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.262,0l0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.523,0l0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.262,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.259,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l-0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.521,0l-0,-0.75l7.516,0l0,0.75l-7.516,0Zm-5.266,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.521,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.265,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.523,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.526,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.525,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.259,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.52,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.266,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.525,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.522,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.256,0l0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.26,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.528,0l0,-0.75l7.519,0l-0,0.75l-7.519,0Zm-5.26,0l-0,-0.75l2.254,0l0,0.75l-2.254,0Zm-10.526,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.523,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l-0,0.75l-7.517,0Zm-5.261,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.265,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.523,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.261,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.526,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.523,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.263,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.265,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.522,0l-0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.264,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.26,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.526,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.525,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.264,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.261,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.527,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l0,-0.75l2.256,0l-0,0.75l-2.256,0Zm-10.524,0l0,-0.75l7.518,0l-0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l-0,0.75l-2.255,0Zm-10.524,0l-0,-0.75l7.517,0l0,0.75l-7.517,0Zm-5.263,0l0,-0.75l2.255,0l0,0.75l-2.255,0Zm-10.525,0l0,-0.75l7.518,0l0,0.75l-7.518,0Zm-5.262,0l-0,-0.75l2.255,0l0,0.75l-2.255,0Zm-6.766,-4.018l0.75,0l-0,3.268l3.009,0l-0,0.75l-3.759,0l-0,-4.018Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "d": "M60.375,78.75l-0.75,0l-0,-4.018l0.75,0l-0,4.018Zm-0,-7.232l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-4.018l0.75,0l-0,4.018Z", + "name": "path", + "type": "path" + }, + { + "d": "M139.125,78.75l-0.75,0l-0,-4.018l0.75,0l-0,4.018Zm-0,-7.232l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,-11.25l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,-5.625l-0.75,-0l-0,-4.018l0.75,0l-0,4.018Z", + "name": "path", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,1264.87,3.03345)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "12px", + "fontWeight": "700" + }, + "text": "SWBD-P1.1", + "type": "text", + "visibility": "hidden", + "x": "1242.18px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,1277.45,6.74479)", + "type": "group", + "visibility": "hidden" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "1242.16px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,1278.75,10.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "1242.16px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 1294 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "SWBD_CB_A" + }, + "position": { + "height": 48, + "width": 46, + "x": 196, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker5" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Breaker E", + "outputPower": 1, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%", + "DeviceLabel": "52F5" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A_NM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_0" + }, + "position": { + "height": 46, + "width": 45, + "x": 256, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker3" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B" + }, + "position": { + "height": 62, + "width": 82, + "x": 16, + "y": 6 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "view.params.inputPowerMain" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.mainBreaker" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_ATS" + }, + "position": { + "height": 50, + "width": 65, + "x": 121, + "y": 40 + }, + "propConfig": { + "props.params.inputPower_E": { + "binding": { + "config": { + "path": "view.params.inputPowerGen" + }, + "type": "property" + } + }, + "props.params.inputPower_N": { + "binding": { + "config": { + "path": "../SWBD_CB_B.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.ATS" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "ATS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "ATS1": "N", + "ATS2": "E", + "ATS3": "L" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_ATS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_1" + }, + "position": { + "height": 49, + "width": 45, + "x": 316, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker1" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_2" + }, + "position": { + "height": 51, + "width": 43, + "x": 376, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker4" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_3" + }, + "position": { + "height": 51, + "width": 43, + "x": 436, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker2" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_0" + }, + "position": { + "height": 50, + "width": 52, + "x": 580, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker6" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_1" + }, + "position": { + "height": 50, + "rotate": { + "anchor": "-262% 522%" + }, + "width": 52, + "x": 760, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker7" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_C" + }, + "position": { + "height": 39, + "width": 82, + "x": 811, + "y": 32 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_ATS.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breakerT1" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, NO", + "Breaker4": "NC, ERMS", + "DL_Left_Right": false + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_C" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_4" + }, + "position": { + "height": 51, + "width": 43, + "x": 916, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_Frame_P.custom.bus2" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker8" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_5" + }, + "position": { + "height": 51, + "width": 43, + "x": 1036, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_Frame_P.custom.bus2" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker9" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_6" + }, + "position": { + "height": 51, + "width": 43, + "x": 1156, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_Frame_P.custom.bus2" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker10" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_7" + }, + "position": { + "height": 51, + "width": 43, + "x": 1276, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_Frame_P.custom.bus2" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker11" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_A_8" + }, + "position": { + "height": 51, + "width": 43, + "x": 1395, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_Frame_P.custom.bus2" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker12" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "800AF", + "Breaker2": "800AT", + "Breaker3": "LSIG", + "Breaker4": "100%" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_A", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_C_0" + }, + "position": { + "height": 39, + "width": 89, + "x": 1426, + "y": 32 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_Frame_P.custom.bus3" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker13" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, NO", + "Breaker4": "NC, ERMS", + "DL_Left_Right": false + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_C" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_2" + }, + "position": { + "height": 50, + "width": 52, + "x": 1515, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "view.params.inUPS1" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker14" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_CB_B_3" + }, + "position": { + "height": 50, + "width": 52, + "x": 1575, + "y": 55 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "view.params.inUPS2" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Breaker Type" + }, + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.breaker15" + }, + "type": "property" + } + }, + "props.params.textHandler.DeviceLabel": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray", + "textHandler": { + "Breaker1": "3000AF", + "Breaker2": "3000AT", + "Breaker3": "LSIG, EO", + "Breaker4": "NC, ERMS", + "DL_TOP-Bottm": true + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_CB_B" + }, + "type": "ia.display.view" + }, + { + "custom": { + "objectName": "SWBDPQM" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.custom.tagPath\n\tobjectName \u003d self.custom.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD PQM1" + }, + "position": { + "height": 18, + "rotate": { + "anchor": "25% 50%" + }, + "width": 62, + "x": 193.67, + "y": 19 + }, + "propConfig": { + "custom.alarmSummary": { + "binding": { + "config": { + "path": "this.custom.tagPath" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.PQMTotal" + }, + "type": "property" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "this.custom.alarmSummary" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "#27669C" + }, + { + "input": 0, + "output": "#27669C" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--orangesunset)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "white", + "overflow": "visible" + }, + "text": "PQM Total", + "textStyle": { + "fontSize": 6, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "objectName": "SWBDPQM" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.custom.tagPath\n\tobjectName \u003d self.custom.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD PQM2" + }, + "position": { + "height": 18, + "rotate": { + "anchor": "25% 50%" + }, + "width": 73, + "x": 1517.67, + "y": 19 + }, + "propConfig": { + "custom.alarmSummary": { + "binding": { + "config": { + "path": "this.custom.tagPath" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.tagPath": { + "binding": { + "config": { + "path": "view.custom.deviceTagPaths.PQMCritical" + }, + "type": "property" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "this.custom.alarmSummary" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "#27669C" + }, + { + "input": 0, + "output": "#27669C" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--orangesunset)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "white", + "overflow": "visible" + }, + "text": "PQM Critical", + "textStyle": { + "fontSize": 6, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 135, + "x": 1618, + "y": -20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.textHandler.SWBD1" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -8, + "y": -6 + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_CRAH/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_CRAH/resource.json new file mode 100644 index 0000000..64be807 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_CRAH/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d18cd5a5d1a72553c54bb09dc3c659f7300aa01351f6ffe1d30d60ffdd44b2e9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:22:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_CRAH/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_CRAH/thumbnail.png new file mode 100644 index 0000000..5a6c00c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_CRAH/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_CRAH/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_CRAH/view.json new file mode 100644 index 0000000..e14a27d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_CRAH/view.json @@ -0,0 +1,1027 @@ +{ + "custom": { + "AlarmSeverity": 0, + "anyFan": false, + "colorHandler": { + "lines": "var(--olGray)", + "text": "var(--olGray)" + }, + "fan_1": 1, + "fan_2": 1, + "fan_3": 1 + }, + "params": { + "embedded": false, + "objectName": "CRAH", + "tagPath": "[Ignition_SATB1_IO1_default]ER1243/SATB1_P1_2_ER1243_CRAH_01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d alarm.summary.calcMaxPriority(self.view.params.tagPath)\n\tif output is None:\n\t\toutput \u003d 1\n\treturn output", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.anyFan": { + "binding": { + "config": { + "struct": { + "Fan1": "{view.custom.fan_1}", + "Fan2": "{view.custom.fan_2}", + "Fan3": "{view.custom.fan_3}", + "update": "now(5000)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tf1 \u003d value[\u0027Fan1\u0027]\n\tf2 \u003d value[\u0027Fan2\u0027]\n\tf3 \u003d value[\u0027Fan3\u0027]\n\tif (f1 is True) or (f2 is True) or (f3 is True):\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.fan_1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan 1 Status" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.fan_2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan 2 Status" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.fan_3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan 3 Status" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 600, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "CRAH" + }, + "position": { + "height": 546, + "width": 184, + "x": 82, + "y": 27 + }, + "propConfig": { + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.anyFan" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-running)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M69.021,2237.92l389.773,0l77.531,-116.085l-77.531,-116.084l-154.638,-0l-0,-1783.85l-117.568,79.967l-117.567,-79.967l-0,2016.02Z", + "fill": { + "paint": "var(--containerNested)" + }, + "id": "CRAH-Box", + "name": "CRAH-Box", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "fill": { + "paint": "#ebebeb" + }, + "height": "262.671", + "name": "rect", + "stroke": { + "width": "4.17px" + }, + "type": "rect", + "width": "233.652", + "x": "69.021", + "y": "824.952" + } + ], + "id": "CHW-Cooling-Coil", + "name": "CHW-Cooling-Coil", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#ebebeb" + }, + "height": "80.497", + "name": "rect", + "stroke": { + "width": "4.17px" + }, + "type": "rect", + "width": "233.652", + "x": "69.021", + "y": "530.189" + }, + { + "d": "M185.847,610.685l58.413,-80.496l58.413,80.496", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M69.021,610.685l58.413,-80.496l58.413,80.496", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M69.021,570.437l233.652,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Heater", + "name": "Heater", + "type": "group" + }, + { + "d": "M187.771,1795.36c-63.241,-0 -114.584,-51.343 -114.584,-114.584c0,-63.24 51.343,-114.583 114.584,-114.583c63.24,0 114.583,51.343 114.583,114.583l0,174.266l-114.583,0l-0,-59.682Z", + "fill": { + "paint": "var(--state-running)" + }, + "id": "Fan", + "name": "Fan", + "stroke": { + "paint": "black", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,666.922,268.877)", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,205.595,911.638)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "CHW", + "type": "text", + "x": "86.186px", + "y": "911.638px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,257.042,969.413)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Cooling", + "type": "text", + "x": "87.486px", + "y": "969.413px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,173.619,1036.19)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Coil", + "type": "text", + "x": "87.486px", + "y": "1036.19px" + } + ], + "name": "group", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,735.72,930.793)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,738.479,1137.05)", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,232.928,1666.75)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "146.771px", + "y": "1666.75px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,239.788,1717.62)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(SF)", + "type": "text", + "x": "142.596px", + "y": "1717.62px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Elements", + "name": "Text-Elements", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 767 2275" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "CHW Valve" + }, + "position": { + "height": 93, + "width": "auto", + "x": 161, + "y": 182 + }, + "props": { + "params": { + "Layout": true, + "objectName": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]Common/Roof/CV31" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RA Humidity" + }, + "position": { + "height": 25, + "width": 90, + "x": 7, + "y": 243.018 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/CHW Valve Command" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%", + "EU_Pos": 0, + "Size": 12, + "Value": 27.1 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RA Temp" + }, + "position": { + "height": 25, + "width": 90, + "x": 7, + "y": 125.02 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 70.5 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RA DP" + }, + "position": { + "height": 25, + "width": 90, + "x": 7, + "y": 98.0023 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Humidity" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%RH", + "EU_Pos": 0, + "Size": 12, + "Value": 46.1, + "color": "var(--tagvalue-color)" + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Fan Speed" + }, + "position": { + "height": 25, + "width": 90, + "x": 7, + "y": 420.1 + }, + "propConfig": { + "custom.s1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Speed 1" + }, + "type": "tag" + } + }, + "custom.s2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Speed 2" + }, + "type": "tag" + } + }, + "custom.s3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Speed 3" + }, + "type": "tag" + } + }, + "props.params.Value": { + "binding": { + "config": { + "struct": { + "s1": "{this.custom.s1}", + "s2": "{this.custom.s2}", + "s3": "{this.custom.s3}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tarray \u003d []\n\tarray.append(value[\u0027s1\u0027])\n\tarray.append(value[\u0027s2\u0027])\n\tarray.append(value[\u0027s3\u0027])\n\treturn max(array)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "EU": "%", + "EU_Pos": 0, + "Size": 12, + "Value": 60 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SA Temp" + }, + "position": { + "height": 25, + "width": 90, + "x": 196, + "y": 481.031 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 69.7 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 25, + "width": 93, + "x": 161, + "y": 420.1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.anyFan" + }, + "transforms": [ + { + "fallback": "error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Fan Stopped" + }, + { + "input": true, + "output": "Fan Running" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 35, + "width": 93, + "x": 4, + "y": 483 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Leak Detected" + }, + "enabled": false, + "transforms": [ + { + "fallback": "error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No Leak detected" + }, + { + "input": true, + "output": "Leak detected" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "No leak detected", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 25, + "width": 93, + "x": 167, + "y": 145 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Dirty Filter" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Filter OK" + }, + { + "input": true, + "output": "Filter Dirty" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Filter OK", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 510, + "width": 140, + "x": 82, + "y": 67.02 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 45, + "width": 38, + "x": 204, + "y": 42.5156 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "params": { + "AlarmSeverity": 0 + }, + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 32, + "width": 207, + "x": 52, + "y": 35.02 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "CRAH01" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_DOAS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_DOAS/resource.json new file mode 100644 index 0000000..cfdd0fd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_DOAS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9c61877bf3cab9dc43eafb5a23c20f387aadd07e884182f0268f07327c6a90cb", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:22:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_DOAS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_DOAS/thumbnail.png new file mode 100644 index 0000000..d631754 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_DOAS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_DOAS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_DOAS/view.json new file mode 100644 index 0000000..f151ce3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_DOAS/view.json @@ -0,0 +1,1718 @@ +{ + "custom": { + "AlarmSeverity": 0, + "type": true + }, + "params": { + "embedded": false, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.type": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "enabled": false, + "transforms": [ + { + "code": "\tDOAS_type \u003d value.split(\"_DOAS0\")\n\treturn DOAS_type[-1]", + "type": "script" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": "1", + "output": true + }, + { + "input": "2", + "output": false + }, + { + "input": "3", + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 226, + "width": 838 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DOAS" + }, + "position": { + "height": 200, + "width": 800, + "x": 10, + "y": 9 + }, + "propConfig": { + "props.elements[0].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Dirty Filter" + }, + "enabled": false, + "transforms": [ + { + "fallback": "var(--alarm-low)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-running)" + }, + { + "input": true, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[3].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Heating Enabled Status" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Unknownl", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[4].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Heat Wheel Defrost Active" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Unknownl", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[5].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Exhaust Fan Status" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Unknownl", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[6].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Unknownl", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].elements[1].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].elements[2].fill": { + "binding": { + "config": { + "path": "parent.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M525.91,362.556l-85.586,125.272l85.586,125.272l1615.89,0l-84.854,-125.272l84.854,-125.272l-1615.89,0Z", + "fill": { + "paint": "var(--containerNested)" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M2058.28,487.828l192.532,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2250.81,487.828l38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2250.81,487.828l38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M188.065,487.828l252.259,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M188.065,487.828l38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M188.065,487.828l38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Lower", + "name": "Lower", + "type": "group" + }, + { + "elements": [ + { + "d": "M3748.21,107.845l85.585,125.272l-85.585,125.272l-2907.87,0l84.854,-125.272l-84.854,-125.272l2907.87,-0Z", + "fill": { + "paint": "var(--containerNested)" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M4226.86,233.117l-393.074,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4226.86,233.117l-38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4226.86,233.117l-38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M924.233,233.117l-358.583,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M565.65,233.117l-38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M565.65,233.117l-38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Upper", + "name": "Upper", + "type": "group" + } + ], + "id": "DOAS-Box", + "name": "DOAS-Box", + "type": "group" + }, + { + "fill": { + "paint": "var(--state-running)" + }, + "height": 250.544, + "id": "Filter", + "name": "Filter", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "2063.73", + "y": "107.845" + }, + { + "fill": { + "paint": "#ebebeb" + }, + "height": "250.544", + "id": "DX-Cooling-Coil", + "name": "DX-Cooling-Coil", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "2340.54", + "y": "107.845" + }, + { + "fill": { + "paint": "var(--state-running)" + }, + "height": 250.544, + "id": "Hot-Gas-Reheater", + "name": "Hot-Gas-Reheater", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "2638.79", + "y": "107.845" + }, + { + "fill": { + "paint": "var(--state-running)" + }, + "height": "505.256", + "id": "Energy-Wheel", + "name": "Energy-Wheel", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "1526.57", + "y": "107.845" + }, + { + "d": "M1092.16,481.306c0,63.24 51.343,114.583 114.584,114.583c63.24,0 114.583,-51.343 114.583,-114.583c-0,-63.24 -51.343,-114.583 -114.583,-114.583l-174.266,-0l-0,114.583l59.682,0Z", + "fill": { + "paint": "var(--state-running)" + }, + "id": "Exhaust-Fan", + "name": "Exhaust-Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3301.49,225.947c0,63.24 -51.343,114.583 -114.583,114.583c-63.24,0 -114.583,-51.343 -114.583,-114.583c-0,-63.24 51.343,-114.583 114.583,-114.583l174.266,-0l-0,114.583l-59.683,0Z", + "fill": { + "paint": "var(--state-running)" + }, + "id": "Supply-Fan", + "name": "Supply-Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,176.314,472.75)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Exhaust", + "type": "text", + "x": "170px", + "y": "620px" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Air", + "type": "text", + "x": "210px", + "y": "690px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,494.91,222.75)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Outside", + "type": "text", + "x": "570px", + "y": "135px" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Air", + "type": "text", + "x": "610px", + "y": "215px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2457.19,472.75)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Return", + "type": "text", + "x": "2350px", + "y": "470px" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Air", + "type": "text", + "x": "2400px", + "y": "550px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1705.93,347.75)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Energy", + "type": "text", + "x": "1547.51px", + "y": "347.75px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Wheel", + "type": "text", + "x": "1550.36px", + "y": "397.75px" + } + ], + "name": "group", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,2216.53,250.517)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Filter", + "type": "text", + "x": "2105.43px", + "y": "250.517px" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2475.22,193.583)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "DX", + "type": "text", + "x": "2405.76px", + "y": "193.583px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Cooling", + "type": "text", + "x": "2356.44px", + "y": "244.033px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Coil", + "type": "text", + "x": "2397.51px", + "y": "294.033px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2830.07,218.928)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Hot-Gas", + "type": "text", + "x": "2643.91px", + "y": "218.928px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Reheat", + "type": "text", + "x": "2658.48px", + "y": "268.583px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,4376.45,223.2)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Supply", + "type": "text", + "x": "3900px", + "y": "300px" + }, + { + "name": "text", + "style": { + "fontFamily": "inherit", + "fontSize": "65px" + }, + "text": "Air", + "type": "text", + "x": "3950px", + "y": "375px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,3238.65,210.25)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "3152.49px", + "y": "210.25px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(SF)", + "type": "text", + "x": "3148.31px", + "y": "260.9px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1248.45,460.25)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "1162.29px", + "y": "460.25px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(RF)", + "type": "text", + "x": "1158.12px", + "y": "510.9px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4388 659" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "RA Temp" + }, + "position": { + "height": 35, + "width": 92, + "x": 611.96, + "y": 177.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.type" + }, + "type": "property" + } + }, + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Building Pressure" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 0, + "Size": 12, + "Value": 0.35 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "OS Humidity" + }, + "position": { + "height": 35, + "width": 75, + "y": 85.47 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Humidity" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%", + "EU_Pos": 0, + "Size": 12, + "Value": 21.7 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "OS Temp" + }, + "position": { + "height": 35, + "width": 75, + "y": 52.41 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 82.1 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SA Temp" + }, + "position": { + "height": 35, + "width": 81, + "x": 720, + "y": 48.93 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 68.4 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 32, + "width": 90, + "x": 165, + "y": 36.390625 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "DOAS01", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 80, + "x": 363, + "y": 30 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Dirty Filter" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Comm Error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Filter Good" + }, + { + "input": true, + "output": "Dirty Filter" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Filter Good", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 32, + "width": 80, + "x": 554, + "y": 30 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Unknownl", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Standby" + }, + { + "input": true, + "output": "Running" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Running", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 32, + "width": 80, + "x": 190, + "y": 163 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Exhaust Fan Status" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Unknown", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Standby" + }, + { + "input": true, + "output": "Running" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Running", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 109, + "width": 621, + "x": 91, + "y": 61 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 45, + "width": 38, + "x": 695.47, + "y": 37.39 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 32, + "width": 90, + "x": 713, + "y": 180 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.type" + }, + "type": "property" + } + } + }, + "props": { + "text": "Building Pressure", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "colorHandler": { + "lines": "var(--text-muted)" + } + }, + "meta": { + "name": "root" + }, + "position": { + "x": 425.5, + "y": 30.984375 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF/resource.json new file mode 100644 index 0000000..9f7382b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cd11a930299f653dfea3badc167febf18dacfc099d2d2059d1cb6f000ecf2f7a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T01:44:03Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF/thumbnail.png new file mode 100644 index 0000000..2f5e12d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF/view.json new file mode 100644 index 0000000..bbc3bc8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF/view.json @@ -0,0 +1,563 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Faulted": 0, + "Status": 1, + "StatusRunning": 1, + "colorHandler": { + "text": "var(--text-muted)" + } + }, + "params": { + "embedded": false, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]SR1133/SATB1_HS1_SR1136_EF01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Alarm Summary" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "struct": { + "faulted": "{view.custom.Faulted}", + "running": "{view.custom.StatusRunning}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d 0\n\tif value[\"faulted\"]:\n\t\toutput \u003d 2\n\telse:\n\t\tif value[\"running\"]:\n\t\t\toutput \u003d 1\n\t\telse:\n\t\t\toutput \u003d 0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.StatusRunning": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "EX Fan" + }, + "position": { + "height": 180, + "width": 180, + "x": 10, + "y": 10 + }, + "propConfig": { + "props.elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M275.352,356.545c0,63.241 -51.343,114.584 -114.583,114.584c-63.24,-0 -114.583,-51.343 -114.583,-114.584c-0,-63.24 51.343,-114.583 114.583,-114.583l174.266,0l-0,114.583l-59.683,0Z", + "fill": {}, + "id": "Fan", + "name": "Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,208.277,342.19)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "122.12px", + "y": "342.19px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,213.514,396.17)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(EF)", + "type": "text", + "x": "116.322px", + "y": "396.17px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,562.866,35.791)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Exhaust", + "type": "text", + "x": "382.202px", + "y": "35.791px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,504.578,86.6217)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "443.469px", + "y": "86.622px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + }, + { + "elements": [ + { + "d": "M335.035,294.949l139.294,-0l-0,-198.085", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M474.329,96.864l32.842,21.162", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M474.329,96.864l-32.842,21.162", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Arrow", + "name": "Arrow", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 563 496" + }, + "type": "ia.shapes.svg" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 92, + "width": 117, + "x": 10.000001907348633, + "y": 87 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 45, + "width": 38, + "x": 108.997, + "y": 62.4973 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 32, + "width": 80, + "x": 58.98, + "y": 69 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "EF" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 115, + "x": 5, + "y": 5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Room" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Room" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF_VFD/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF_VFD/resource.json new file mode 100644 index 0000000..0f9d7e0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF_VFD/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6cda305f56527f26c95a4c18c5008c9e7a6aaaaf54ecd04cdaef1c8de21758a5", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T01:45:29Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF_VFD/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF_VFD/thumbnail.png new file mode 100644 index 0000000..25a28a8 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF_VFD/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF_VFD/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF_VFD/view.json new file mode 100644 index 0000000..234e162 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_EF_VFD/view.json @@ -0,0 +1,601 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Faulted": 0, + "Status": 1, + "StatusRunning": 1, + "colorHandler": { + "text": "var(--text-muted)" + } + }, + "params": { + "embedded": false, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_ER1229_EF4_VFD" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Faulted": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "code": "\tif value\u003e0:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "struct": { + "faulted": "{view.custom.Faulted}", + "running": "{view.custom.StatusRunning}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d 0\n\tif value[\"faulted\"]:\n\t\toutput \u003d 2\n\telse:\n\t\tif value[\"running\"]:\n\t\t\toutput \u003d 1\n\t\telse:\n\t\t\toutput \u003d 0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.StatusRunning": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Motor/Status Running" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "EX Fan" + }, + "position": { + "height": 180, + "width": 180, + "x": 10, + "y": 10 + }, + "propConfig": { + "props.elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M275.352,356.545c0,63.241 -51.343,114.584 -114.583,114.584c-63.24,-0 -114.583,-51.343 -114.583,-114.584c-0,-63.24 51.343,-114.583 114.583,-114.583l174.266,0l-0,114.583l-59.683,0Z", + "fill": {}, + "id": "Fan", + "name": "Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,208.277,342.19)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "122.12px", + "y": "342.19px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,213.514,396.17)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(EF)", + "type": "text", + "x": "116.322px", + "y": "396.17px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,562.866,35.791)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Exhaust", + "type": "text", + "x": "382.202px", + "y": "35.791px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,504.578,86.6217)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "443.469px", + "y": "86.622px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + }, + { + "elements": [ + { + "d": "M335.035,294.949l139.294,-0l-0,-198.085", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M474.329,96.864l32.842,21.162", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M474.329,96.864l-32.842,21.162", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Arrow", + "name": "Arrow", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 563 496" + }, + "type": "ia.shapes.svg" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 92, + "width": 117, + "x": 10.000001907348633, + "y": 87 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 45, + "width": 38, + "x": 108.997, + "y": 62.4973 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 32, + "width": 80, + "x": 58.98, + "y": 69 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "EF" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 115, + "x": 5, + "y": 5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Room" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Room" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 35, + "width": 81, + "x": 87, + "y": 138.98 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Motor/Speed Feedback" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%", + "EU_Pos": 0, + "Size": 14, + "Value": 45, + "color": "var(--tagvalue-color)" + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_FCU/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_FCU/resource.json new file mode 100644 index 0000000..c7e086f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_FCU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c7b0a71f1521e5a2dfba6d97312f4af22b6fee2d32cd9ca14c7ed889476652ca", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T01:38:46Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_FCU/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_FCU/thumbnail.png new file mode 100644 index 0000000..37a15c9 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_FCU/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_FCU/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_FCU/view.json new file mode 100644 index 0000000..90dcae1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_FCU/view.json @@ -0,0 +1,629 @@ +{ + "custom": { + "AlarmSeverity": 0, + "colorHandler": { + "text": "var(--text-muted)" + } + }, + "params": { + "embedded": false, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]MR1125/SATB1_HS2_ME1125_FCU17" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 500 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FCU_Detail" + }, + "position": { + "height": 100, + "width": 500 + }, + "propConfig": { + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M50.736,75.9l1548.63,-0l79.148,120.243l-79.148,120.244l-1548.63,-0l81.177,-120.244l-81.177,-120.243Z", + "fill": { + "paint": "#f0f0f0" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1678.52,196.143l246.998,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1925.51,196.143l-37.666,-58.476", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1925.51,196.143l-37.666,58.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "VAV-Box", + "name": "VAV-Box", + "type": "group" + }, + { + "d": "M1442.92,196.143c-0,63.24 -51.344,114.583 -114.584,114.583c-63.24,0 -114.583,-51.343 -114.583,-114.583c-0,-63.24 51.343,-114.583 114.583,-114.583l174.266,-0l-0,114.583l-59.682,0Z", + "fill": { + "paint": "#f0f0f0" + }, + "id": "Fan", + "name": "Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "fill": { + "paint": "#f0f0f0" + }, + "height": "240.487", + "id": "DX-Cooling-Coil", + "name": "DX-Cooling-Coil", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "283.118", + "x": "837.304", + "y": "75.9" + }, + { + "fill": { + "paint": "#f0f0f0" + }, + "height": "240.487", + "id": "Filer", + "name": "Filer", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "283.118", + "x": "296.652", + "y": "75.9" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,151.484,54.2636)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,1373.98,203.382)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "1287.83px", + "y": "203.382px" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2083.77,188.929)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Supply", + "type": "text", + "x": "1930.89px", + "y": "188.929px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,1994.32,239.759)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "1933.21px", + "y": "239.759px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,962.604,163.225)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "DX", + "type": "text", + "x": "893.146px", + "y": "163.225px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,1064.07,208.472)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Cooling", + "type": "text", + "x": "894.513px", + "y": "208.472px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,980.646,264.242)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Coil", + "type": "text", + "x": "894.513px", + "y": "264.242px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,491.373,213.746)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Filter", + "type": "text", + "x": "380.265px", + "y": "213.746px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2084 338" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "height": 35, + "width": 75, + "x": 331.9965515136719, + "y": 137.46986163330078 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Space Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "Value": 71.9 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 50, + "x": 407, + "y": 139.996 + }, + "props": { + "text": "Space Temperature", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 75, + "width": 396, + "x": 9, + "y": 21 + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 50, + "x": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "FCU" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "height": 70, + "width": 403, + "x": 9, + "y": 22.47 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 45, + "width": 38, + "x": 394, + "y": -1.5 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "params": { + "AlarmSeverity": 0 + }, + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_HUM/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_HUM/resource.json new file mode 100644 index 0000000..579c50d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_HUM/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c82ff0d44fc8cea43f1f59be1e1d1080496864563dfdea8bedabb8b082082365", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T01:37:19Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_HUM/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_HUM/thumbnail.png new file mode 100644 index 0000000..b47d38d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_HUM/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_HUM/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_HUM/view.json new file mode 100644 index 0000000..476a7e4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_HUM/view.json @@ -0,0 +1,580 @@ +{ + "custom": { + "AlarmSeverity": 0, + "colorHandler": { + "line": "var(--text-muted)", + "text": "var(--text-muted)" + } + }, + "params": { + "embedded": false, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_HUM_03" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 500 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "HUM_Detail" + }, + "position": { + "height": 100, + "width": 500, + "y": 20 + }, + "propConfig": { + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.line" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.line" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.line" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + }, + "props.elements[3].elements[4].elements[1].style.fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M26.953,75.9l1017.49,-0l79.147,120.243l-79.147,120.244l-1017.49,-0l81.177,-120.244l-81.177,-120.243Z", + "fill": { + "paint": "#f0f0f0" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1123.59,196.143l246.998,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1370.59,196.143l-37.666,-58.476", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1370.59,196.143l-37.666,58.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Humidifier-Box", + "name": "Humidifier-Box", + "type": "group" + }, + { + "d": "M887.998,196.143c0,63.24 -51.343,114.583 -114.583,114.583c-63.24,0 -114.584,-51.343 -114.584,-114.583c0,-63.24 51.344,-114.583 114.584,-114.583l174.266,-0l-0,114.583l-59.683,0Z", + "fill": { + "paint": "#f0f0f0" + }, + "id": "Fan", + "name": "Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "fill": { + "paint": "#f0f0f0" + }, + "height": "240.487", + "id": "Humidity-Pad", + "name": "Humidity-Pad", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "283.118", + "x": "282.383", + "y": "75.9" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,109.009,54.2636)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "HUM", + "type": "text", + "x": "22.852px", + "y": "54.264px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,819.062,195.557)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "732.905px", + "y": "195.557px" + }, + { + "elements": [ + { + "fill": "red", + "name": "group", + "transform": "matrix(50,0,0,50,1528.85,188.929)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Supply", + "type": "text", + "x": "1375.97px", + "y": "188.929px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,1439.4,239.759)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "1378.29px", + "y": "239.759px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,519.401,185.556)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Humidity", + "type": "text", + "x": "324.919px", + "y": "185.556px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,414.03,241.325)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Pad", + "type": "text", + "x": "325.065px", + "y": "241.325px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1530 338" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "UnitCapacity" + }, + "position": { + "height": 40, + "width": 150, + "x": 226, + "y": 130 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Relative Humidity Setpoint" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "% RH SP", + "EU_Pos": 1, + "Size": 12, + "Value": 40 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UnitCapacity_0" + }, + "position": { + "height": 40, + "width": 150, + "x": 55, + "y": 130 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Relative Humidity" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "% RH", + "EU_Pos": 1, + "Size": 12, + "Value": 24.7 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 87, + "width": 335, + "x": 27, + "y": 33 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 0, + "width": 0, + "x": 351, + "y": 26 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_RTU/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_RTU/resource.json new file mode 100644 index 0000000..040964c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_RTU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d14c1cff649ec68d57977294e7854b28b03f49144f541f9aac5ad73efb04ca2b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-21T01:30:24Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_RTU/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_RTU/thumbnail.png new file mode 100644 index 0000000..106880c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_RTU/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_RTU/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_RTU/view.json new file mode 100644 index 0000000..910a288 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_RTU/view.json @@ -0,0 +1,1565 @@ +{ + "custom": { + "AlarmSeverity": 0, + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "embedded": false, + "objectName": "RTU-1", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 500 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "RTU" + }, + "position": { + "height": 500, + "width": 800 + }, + "propConfig": { + "props.elements[0].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[6].elements[10].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[10].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M2153.45,1795.27l192.532,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2345.98,1795.27l38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2345.98,1795.27l38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M206.215,1793.39l166.097,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M206.215,1793.39l38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M206.215,1793.39l38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M3758.85,107.845l85.586,125.272l-85.586,125.272l-2062.52,0l0,1307.41l539.296,0l-83.154,129.615c27.718,43.569 55.436,86.045 83.154,129.614l-1781.25,0l-82.06,-129.614l82.06,-129.615l981.513,0l0,-1307.41l-427.621,0l84.854,-125.272l-84.854,-125.272l2750.59,-0Z", + "fill": { + "paint": "var(--containerNested)" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M4234.1,233.117l-389.655,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4234.1,233.117l-38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4234.1,233.117l-38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1090.11,233.117l-358.583,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M731.529,233.117l-38.038,59.659", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M731.529,233.117l-38.038,-59.658", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--text-muted)", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "RTU-Box", + "name": "RTU-Box", + "type": "group" + }, + { + "fill": { + "paint": "#ebebeb" + }, + "height": "250.544", + "id": "Filter", + "name": "Filter", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "1905.73", + "y": "107.845" + }, + { + "fill": { + "paint": "#ebebeb" + }, + "height": "250.544", + "id": "DX-Cooling-Coil", + "name": "DX-Cooling-Coil", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "2278.92", + "y": "107.917" + }, + { + "fill": { + "paint": "#ebebeb" + }, + "height": "250.544", + "id": "Hot-Gas-Reheater", + "name": "Hot-Gas-Reheater", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "202.643", + "x": "2660.05", + "y": "107.917" + }, + { + "d": "M1836.36,1786.87c0,63.24 51.343,114.583 114.583,114.583c63.241,0 114.584,-51.343 114.584,-114.583c-0,-63.24 -51.343,-114.583 -114.584,-114.583l-174.265,-0l-0,114.583l59.682,-0Z", + "fill": { + "paint": "#f0f0f0" + }, + "id": "Return-Fan", + "name": "Return-Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3308.72,225.947c-0,63.24 -51.343,114.583 -114.583,114.583c-63.241,0 -114.584,-51.343 -114.584,-114.583c0,-63.24 51.343,-114.583 114.584,-114.583l174.265,-0l0,114.583l-59.682,0Z", + "fill": { + "paint": "#f0f0f0" + }, + "id": "Supply-Fan", + "name": "Supply-Fan", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1217.76,73.6111)", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,189.313,1778.31)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Relief", + "type": "text", + "x": "61.481px", + "y": "1778.32px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "95.356px", + "y": "1828.32px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,670.636,222.75)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Outside", + "type": "text", + "x": "498.322px", + "y": "222.75px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "553.222px", + "y": "272.75px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2539.51,1787.89)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Return", + "type": "text", + "x": "2389.44px", + "y": "1787.89px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "2432.27px", + "y": "1837.89px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,778.081,1595.19)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Gravity", + "type": "text", + "x": "619.731px", + "y": "1595.19px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Damper", + "type": "text", + "x": "622.581px", + "y": "1645.19px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1901.74,730.379)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Return", + "type": "text", + "x": "1751.66px", + "y": "730.379px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "1754.51px", + "y": "780.379px" + } + ], + "name": "group", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,2058.54,250.74)", + "type": "group" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Filter", + "type": "text", + "x": "1947.43px", + "y": "250.74px" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2845.5,229.889)", + "type": "group" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Cooling", + "type": "text", + "x": "2675.95px", + "y": "229.889px" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Coil", + "type": "text", + "x": "2717.02px", + "y": "279.544px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,2460.68,231.269)", + "type": "group" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Electric", + "type": "text", + "x": "2296.76px", + "y": "231.269px" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Heat", + "type": "text", + "x": "2323.57px", + "y": "280.924px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,4383.68,223.2)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Supply", + "type": "text", + "x": "4230.8px", + "y": "223.2px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "4273.62px", + "y": "272.75px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,3245.87,210.25)", + "type": "group" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "3159.72px", + "y": "210.25px" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(SF)", + "type": "text", + "x": "3155.54px", + "y": "260.9px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1992.64,1765.81)", + "type": "group" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Fan", + "type": "text", + "x": "1906.49px", + "y": "1765.82px" + }, + { + "fill": "dark-gray", + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "(RF)", + "type": "text", + "x": "1902.31px", + "y": "1816.47px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#ebebeb" + }, + "height": "86.594", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "254.279", + "x": "1439.45", + "y": "539.453" + }, + { + "d": "M1439.45,582.75l254.279,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1566.6,539.453l63.569,86.593l63.57,-86.593", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1439.45,539.453l63.57,86.593l63.57,-86.593", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Return-Damper", + "name": "Return-Damper", + "type": "group" + }, + { + "elements": [ + { + "d": "M1306.88,354.878l-86.593,0l-0,-243.075l86.593,-0l0,243.075Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1263.58,111.803l-0,243.075", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1306.88,233.34l-86.593,60.769l86.593,60.769", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1306.88,111.803l-86.593,60.769l86.593,60.768", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Outside-Damper", + "name": "Outside-Damper", + "type": "group" + }, + { + "elements": [ + { + "d": "M757.675,1921.04l-86.593,-0l-0,-251.181l86.593,-0l0,251.181Z", + "fill": { + "paint": "#ebebeb" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M714.379,1669.86l-0,251.181", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M757.675,1795.45l-86.593,62.796l86.593,62.795", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M757.675,1669.86l-86.593,62.795l86.593,62.795", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Gravity-Damper", + "name": "Gravity-Damper", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4388 1959" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Transmitter_3" + }, + "position": { + "height": 20, + "width": 100, + "x": 67.5, + "y": 37 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 79.1 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_4" + }, + "position": { + "height": 20, + "width": 100, + "x": 67.5, + "y": 60 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Humidity" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%RH", + "EU_Pos": 0, + "Size": 12, + "Value": 29.1 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_5" + }, + "position": { + "height": 20, + "width": 100, + "x": 688.5, + "y": 133 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 69.9 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_9" + }, + "position": { + "height": 20, + "width": 100, + "x": 311, + "y": 239 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 62.4 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_10" + }, + "position": { + "height": 20, + "width": 100, + "x": 311, + "y": 263 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Humidity" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%RH", + "EU_Pos": 0, + "Size": 12, + "Value": 63.8 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_6" + }, + "position": { + "height": 20, + "width": 100, + "x": 67.5, + "y": 83 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Flow" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "cfm", + "EU_Pos": 0, + "Size": 12, + "Value": 1940 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "rotate": { + "anchor": "50% 25%" + }, + "width": 82, + "x": 323, + "y": 55 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Dirty Filter Alarm" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Filter Good" + }, + { + "input": true, + "output": "Filter Bad" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Filter Good", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 50, + "x": 204, + "y": 47 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "RTU01" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "height": 353, + "width": 640, + "x": 68, + "y": 86 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 35, + "width": 39, + "x": 690.5, + "y": 63 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 425.5, + "y": 30.984375 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_STU/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_STU/resource.json new file mode 100644 index 0000000..5efaac8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_STU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "29d48bb177398ec538b014883208312866f58305f6fb449289e8de286db4267c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T01:35:07Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_STU/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_STU/thumbnail.png new file mode 100644 index 0000000..0e1d065 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_STU/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_STU/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_STU/view.json new file mode 100644 index 0000000..cb1944c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_STU/view.json @@ -0,0 +1,1685 @@ +{ + "custom": { + "AlarmSeverity": 0 + }, + "params": { + "embedded": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_DH5_STU01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 686 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "STU_Detail" + }, + "position": { + "height": 468, + "width": 540, + "x": 7, + "y": -124 + }, + "propConfig": { + "props.elements[2].elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status 1A" + }, + "transforms": [ + { + "fallback": "var(--state-running)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status 1A" + }, + "transforms": [ + { + "fallback": "var(--state-running)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status 1A" + }, + "transforms": [ + { + "fallback": "var(--state-running)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status 1A" + }, + "transforms": [ + { + "fallback": "var(--state-running)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status 1A" + }, + "transforms": [ + { + "fallback": "var(--state-running)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status 1A" + }, + "transforms": [ + { + "fallback": "var(--state-running)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M30.181,630.3l1911.86,0l83.632,546.524l-83.632,544.578l-1911.86,0l85.577,-544.578l-85.577,-546.524Z", + "fill": { + "paint": "#bfbfbf" + }, + "name": "path", + "stroke": { + "paint": "var(--olGray)", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M849.688,630.3l0,1091.1", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M686.412,630.3l-0,1091.1", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "d": "M768.548,694.483l-0.973,60.962", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M767.575,1577.28l0.973,79.941", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M767.575,755.445l45.706,27.555l-91.411,54.546", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M721.87,837.546l91.411,55.109l-91.411,54.546", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M721.87,947.201l91.411,55.109l-91.411,54.547", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M721.87,1056.86l91.411,55.109l-91.411,54.546", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M721.87,1166.51l91.411,55.109l-91.411,54.546", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M721.87,1276.17l91.411,55.109l-91.411,54.546", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M721.87,1385.82l91.411,55.109l-91.411,54.547", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M721.87,1495.48l91.411,55.108l-44.733,26.693", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "962.737", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "91.411", + "x": "721.87", + "y": "694.483" + } + ], + "id": "CHW-Cooling-Coil", + "name": "CHW-Cooling-Coil", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "cx": "1474.9100341796875", + "cy": "1000.1719970703125", + "fill": {}, + "name": "circle", + "r": "64.182", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "elements": [ + { + "d": "M1477.65 1000.196c0.001-0.057 0.001-0.115 0.001-0.172 0-11.245-6.133-21.07-15.234-26.307-0.001 0.057-0.001 0.115-0.001 0.172 0 11.245 6.133 21.069 15.234 26.307Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1477.65 1000.196c-0.05 0.028-0.1 0.057-0.15 0.086-9.738 5.622-15.18 15.846-15.165 26.346 0.05-0.028 0.099-0.057 0.149-0.085 9.739-5.623 15.18-15.847 15.166-26.347Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1477.65 1000.172c0.049 0.029 0.099 0.058 0.149 0.087 9.738 5.623 21.313 5.223 30.399-0.04-0.049-0.029-0.099-0.057-0.149-0.086-9.738-5.623-21.313-5.223-30.399 0.039Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M1435.95 949.541l100.345 33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1435.95 1050.6390000000001l100.345-33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "cx": 1474.91, + "cy": "1432.09", + "fill": {}, + "name": "circle", + "r": "64.182", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "elements": [ + { + "d": "M1477.65,1432.11c0.001,-0.058 0.001,-0.115 0.001,-0.173c-0,-11.245 -6.133,-21.069 -15.234,-26.307c-0.001,0.058 -0.001,0.115 -0.001,0.173c0,11.245 6.133,21.069 15.234,26.307Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1477.65,1432.11c-0.05,0.028 -0.1,0.056 -0.15,0.085c-9.738,5.623 -15.18,15.846 -15.165,26.347c0.05,-0.029 0.099,-0.057 0.149,-0.086c9.739,-5.623 15.18,-15.846 15.166,-26.346Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1477.65,1432.09c0.049,0.029 0.099,0.058 0.149,0.087c9.738,5.622 21.313,5.223 30.399,-0.04c-0.049,-0.029 -0.099,-0.058 -0.149,-0.086c-9.738,-5.623 -21.313,-5.224 -30.399,0.039Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M1435.95,1381.46l100.345,33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1435.95,1482.56l100.345,-33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "cx": "1645.5999755859375", + "cy": "997.35498046875", + "fill": {}, + "name": "circle", + "r": "64.182", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "elements": [ + { + "d": "M1648.33 997.378c0-0.057 0-0.115 0-0.172 0-11.245-6.133-21.069-15.234-26.307 0 0.057 0 0.115 0 0.172 0 11.245 6.133 21.07 15.234 26.307Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1648.33 997.378c-0.05 0.029-0.1 0.057-0.149 0.086-9.739 5.622-15.18 15.846-15.166 26.346 0.05-0.028 0.1-0.057 0.15-0.085 9.738-5.623 15.18-15.846 15.165-26.347Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1648.33 997.355c0.05 0.029 0.099 0.057 0.149 0.086 9.739 5.623 21.313 5.223 30.399-0.039-0.049-0.029-0.099-0.058-0.148-0.087-9.739-5.623-21.314-5.223-30.4 0.04Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M1606.63 946.724l100.345 33.378", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1606.63 1047.821l100.345-33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "cx": "1645.6", + "cy": "1429.27", + "fill": {}, + "name": "circle", + "r": "64.182", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "elements": [ + { + "d": "M1648.33,1429.29c-0,-0.058 0,-0.115 0,-0.172c0,-11.246 -6.133,-21.07 -15.234,-26.307c-0,0.057 -0,0.114 -0,0.172c-0,11.245 6.133,21.069 15.234,26.307Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1648.33,1429.29c-0.05,0.028 -0.1,0.057 -0.149,0.085c-9.739,5.623 -15.18,15.847 -15.166,26.347c0.05,-0.028 0.1,-0.057 0.15,-0.086c9.738,-5.622 15.18,-15.846 15.165,-26.346Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1648.33,1429.27c0.05,0.029 0.099,0.058 0.149,0.087c9.739,5.622 21.313,5.223 30.399,-0.04c-0.049,-0.029 -0.099,-0.058 -0.148,-0.086c-9.739,-5.623 -21.314,-5.224 -30.4,0.039Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M1606.63,1378.64l100.345,33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1606.63,1479.74l100.345,-33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "cx": "1819.0799560546875", + "cy": "997.35498046875", + "fill": {}, + "name": "circle", + "r": "64.182", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "elements": [ + { + "d": "M1821.82 997.378c0-0.057 0-0.115 0-0.172 0-11.245-6.133-21.069-15.234-26.307 0 0.057 0 0.115 0 0.172 0 11.245 6.133 21.07 15.234 26.307Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1821.82 997.378c-0.05 0.029-0.099 0.057-0.149 0.086-9.739 5.622-15.18 15.846-15.166 26.346 0.05-0.028 0.1-0.057 0.15-0.085 9.738-5.623 15.18-15.846 15.165-26.347Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1821.82 997.355c0.05 0.029 0.099 0.057 0.149 0.086 9.739 5.623 21.313 5.223 30.4-0.039-0.05-0.029-0.1-0.058-0.149-0.087-9.739-5.623-21.313-5.223-30.4 0.04Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M1780.11 946.724l100.345 33.378", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1780.11 1047.821l100.345-33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "cx": "1819.08", + "cy": "1429.27", + "fill": {}, + "name": "circle", + "r": "64.182", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "elements": [ + { + "d": "M1821.82,1429.29c0,-0.058 0,-0.115 0,-0.172c0,-11.246 -6.133,-21.07 -15.234,-26.307c-0,0.057 -0,0.114 -0,0.172c-0,11.245 6.133,21.069 15.234,26.307Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1821.82,1429.29c-0.05,0.028 -0.099,0.057 -0.149,0.085c-9.739,5.623 -15.18,15.847 -15.166,26.347c0.05,-0.028 0.1,-0.057 0.15,-0.086c9.738,-5.622 15.18,-15.846 15.165,-26.346Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1821.82,1429.27c0.05,0.029 0.099,0.058 0.149,0.087c9.739,5.622 21.313,5.223 30.4,-0.04c-0.05,-0.029 -0.1,-0.058 -0.149,-0.086c-9.739,-5.623 -21.313,-5.224 -30.4,0.039Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M1780.11,1378.64l100.345,33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1780.11,1479.74l100.345,-33.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M1754.1000000000008 998.9550000000004l-45.122 0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1754.9,1429.27l-45.122,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1580.6100000000008 998.9550000000004l-42.316 0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1581.41,1429.27l-42.316,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1409.9300000000007 1001.7720000000004l-48.757 0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1410.73,1432.09l-48.757,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1361.98,630.3l-0,801.788", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Fans", + "name": "Fans", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 2096 1763" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "CHWR Temp" + }, + "position": { + "height": 20, + "width": 100, + "x": 110, + "y": 25.997596740722656 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/CHW Valve Feedback" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%", + "EU_Pos": 0, + "Size": 12, + "Value": 17.2 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_1" + }, + "position": { + "height": 20, + "width": 120, + "x": 372, + "y": 271 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Speed Feedback" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%", + "EU_Pos": 0, + "Size": 12, + "Value": 60 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dis Temp_0" + }, + "position": { + "height": 20, + "width": 121, + "x": 547.0070391845703, + "y": 271.9976043701172 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Discharge Air Temperature C" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 68 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dis Temp_1" + }, + "position": { + "height": 20, + "width": 121, + "x": 547.0070391845703, + "y": 243.9976043701172 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Discharge Air Temperature B" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 70 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dis Temp_2" + }, + "position": { + "height": 20, + "width": 121, + "x": 547.0070391845703, + "y": 217.0136043701172 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Discharge Air Temperature A" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 69 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dis Temp_3" + }, + "position": { + "height": 20, + "width": 121, + "x": 543, + "y": 5.997596740722656 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 84 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CHWR Temp_0" + }, + "position": { + "height": 20, + "width": 100, + "x": 190, + "y": 25.997596740722656 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Water Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 72 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 19, + "width": 110, + "x": 156, + "y": 9 + }, + "props": { + "text": "CHW Valve", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 45, + "width": 110, + "x": 547.0070391845703, + "y": 166.0036043701172 + }, + "props": { + "text": "Discharge Temperature (A, B, and C)", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 45, + "width": 110, + "x": 547, + "y": 26 + }, + "props": { + "text": "Return Air Temperature", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 23, + "width": 120, + "x": 372, + "y": 289 + }, + "props": { + "text": "Fan Speed", + "textStyle": { + "color": "#303030", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 20, + "width": 20, + "x": 377, + "y": 100 + }, + "props": { + "text": "1A", + "textStyle": { + "color": "#303030", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 20, + "width": 20, + "x": 421, + "y": 100 + }, + "props": { + "text": "1B", + "textStyle": { + "color": "#303030", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 20, + "width": 20, + "x": 465, + "y": 100 + }, + "props": { + "text": "1C", + "textStyle": { + "color": "#303030", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_10" + }, + "position": { + "height": 20, + "width": 20, + "x": 465, + "y": 213 + }, + "props": { + "text": "1F", + "textStyle": { + "color": "#303030", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_11" + }, + "position": { + "height": 20, + "width": 20, + "x": 421, + "y": 213 + }, + "props": { + "text": "1E", + "textStyle": { + "color": "#303030", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_12" + }, + "position": { + "height": 20, + "width": 20, + "x": 377, + "y": 213 + }, + "props": { + "text": "1D", + "textStyle": { + "color": "#303030", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 26, + "width": 136, + "x": 15, + "y": 19 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "STU", + "textStyle": { + "fontSize": 16, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label_13" + }, + "position": { + "height": 309, + "width": 525, + "x": 10.49, + "y": 27.98 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 33, + "width": 34, + "x": 520, + "y": 9 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_VAV/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_VAV/resource.json new file mode 100644 index 0000000..e3c2d31 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_VAV/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "59341bbdbd8004dc5bfeca479ae6b8aea8126ad19b8aa689f49c63259a9c9709", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T01:45:38Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_VAV/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_VAV/thumbnail.png new file mode 100644 index 0000000..6936749 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_VAV/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_VAV/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_VAV/view.json new file mode 100644 index 0000000..04e3eb9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/HVAC/Dgrm_VAV/view.json @@ -0,0 +1,823 @@ +{ + "custom": { + "AlarmSeverity": 0, + "colorHandler": { + "text": "var(--text-muted)" + } + }, + "params": { + "embedded": "value", + "objectName": "VAV", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1141/SATB1_HS1_FS1141_VAV24" + }, + "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.colorHandler": { + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 250, + "width": 431 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "VAV_Detail" + }, + "position": { + "height": 157, + "width": 417, + "x": 7, + "y": 11 + }, + "propConfig": { + "props.elements[2].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M238.893,212.9l635.39,-0l79.148,120.243l-79.148,120.244l-635.39,-0l81.178,-120.244l-81.178,-120.243Z", + "fill": { + "paint": "#f0f0f0" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1317.32,212.9l427.69,-0l79.148,120.243l-79.148,120.244l-427.69,-0l81.177,-120.244l-81.177,-120.243Z", + "fill": { + "paint": "#f0f0f0" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "fill": { + "paint": "#f0f0f0" + }, + "height": "532.217", + "id": "Filer", + "name": "Filer", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "809.501", + "x": 570.162, + "y": "67.035" + }, + { + "fill": { + "paint": "#dfdfdf" + }, + "height": "42.235", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "219.293", + "x": "596.162", + "y": "599.252" + } + ], + "id": "VAV-Box", + "name": "VAV-Box", + "type": "group" + }, + { + "fill": { + "paint": "#f0f0f0" + }, + "height": "532.217", + "id": "Electric-Heat", + "name": "Electric-Heat", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "218.481", + "x": "1187.18", + "y": "67.035" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,339.642,191.264)", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1991.3,325.928)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Supply", + "type": "text", + "x": "1838.42px", + "y": "325.928px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,1901.85,376.759)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Air", + "type": "text", + "x": "1840.74px", + "y": "376.759px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,240.601,325.928)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Primary Air", + "type": "text", + "x": "-3.857px", + "y": "325.928px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,231.812,376.759)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "From RTU1", + "type": "text", + "x": "-1.538px", + "y": "376.759px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,1376.63,322.861)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Electric", + "type": "text", + "x": "1212.72px", + "y": "322.861px" + }, + { + "name": "group", + "transform": "matrix(50,0,0,50,1318.33,378.63)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "Heat", + "type": "text", + "x": "1212.72px", + "y": "378.63px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Text-Items", + "name": "Text-Items", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(50,0,0,50,716.193,191.855)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "50px" + }, + "text": "M", + "type": "text", + "x": "674.542px", + "y": "191.855px" + }, + { + "fill": { + "paint": "transparent" + }, + "height": 77.879, + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "84.164", + "x": "653.249", + "y": "135.02" + }, + { + "d": "M570.162,453.387l220.338,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M570.162,212.9l220.338,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M695.331,212.9l-0,240.487", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "RED", + "width": "4.17px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "cx": "695.331", + "cy": "333.143", + "name": "circle", + "r": "8.333", + "type": "circle" + }, + { + "d": "M623.344,425.08l143.973,-183.874", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "red", + "width": "4.17px" + }, + "type": "path", + "visibility": "hidden" + } + ], + "id": "Damper", + "name": "Damper", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1992 667" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Space Temp" + }, + "position": { + "height": 25, + "width": 108, + "x": 236, + "y": 191.99 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Space Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 78 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Damper Pos" + }, + "position": { + "height": 25, + "width": 62, + "x": 116, + "y": 116.5 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Space Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%", + "EU_Pos": 0, + "Size": 12, + "Value": 30 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SupplyTemp Var" + }, + "position": { + "height": 25, + "width": 100, + "x": 280, + "y": 40.4928 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Space Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 64.6 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Air Flow Var" + }, + "position": { + "height": 25, + "width": 81, + "x": 40, + "y": 38.5 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Space Temperature" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "cfm", + "EU_Pos": 0, + "Size": 12, + "Value": 129 + }, + "path": "Library/Widgets/Wgt_Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 88, + "x": 267, + "y": 213.964 + }, + "props": { + "text": "Space Temperature", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 32, + "width": 169, + "x": 133, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "VAV", + "textStyle": { + "fontSize": 16, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "height": 134, + "width": 347, + "x": 45, + "y": 26.5 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 45, + "width": 38, + "x": 373, + "y": 5 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "custom": { + "ValvePos": 30 + }, + "meta": { + "name": "Damper" + }, + "position": { + "height": 45, + "width": 1, + "x": 152, + "y": 67 + }, + "propConfig": { + "custom.ValvePos": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Damper Position" + }, + "enabled": false, + "type": "tag" + } + }, + "props.style.transform": { + "binding": { + "config": { + "path": "this.custom.ValvePos" + }, + "transforms": [ + { + "expression": "\"rotate(\"+ (({value}*-90)/100) + \"deg)\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Mechanical/Chiller_Skid/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Mechanical/Chiller_Skid/resource.json new file mode 100644 index 0000000..d692008 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Mechanical/Chiller_Skid/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cb9fcd5bc0b419a92633c6baed3321f09028da12d4d649e7a1ef7ca528d08235", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T01:30:54Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Mechanical/Chiller_Skid/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Mechanical/Chiller_Skid/thumbnail.png new file mode 100644 index 0000000..9c4ca15 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Mechanical/Chiller_Skid/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Mechanical/Chiller_Skid/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Mechanical/Chiller_Skid/view.json new file mode 100644 index 0000000..2405d64 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Diagrams/Mechanical/Chiller_Skid/view.json @@ -0,0 +1,347 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 500, + "width": 767 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Sym_Chiller" + }, + "position": { + "height": 0.3, + "width": 0.25, + "x": 0.0648, + "y": 0.054 + }, + "props": { + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_MOTOR" + }, + "path": "Library/Symbols/Mechanical/Sym_Chiller" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Sym_ValveC" + }, + "position": { + "height": 0.164, + "width": 0.1493, + "x": 0.4062, + "y": 0.376 + }, + "props": { + "params": { + "Layout": 4, + "objectName": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1260_FCV69" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Sym_ValveC_0" + }, + "position": { + "height": 0.162, + "width": 0.1627, + "x": 0.4036, + "y": 0.641 + }, + "props": { + "params": { + "Layout": 4, + "objectName": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1260_FCV69" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Sym_ValveM" + }, + "position": { + "height": 0.218, + "width": 0.1707, + "x": 0.6507, + "y": 0.152 + }, + "props": { + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]/Roof/CV48" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveM" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Sym_TES" + }, + "position": { + "height": 0.254, + "width": 0.1213, + "x": 0.6328, + "y": 0.453 + }, + "props": { + "params": { + "objectName": "TES", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System" + }, + "path": "Library/Symbols/Mechanical/Sym_TES" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Sym_CHWPump" + }, + "position": { + "height": 0.178, + "width": 0.17, + "x": 0.1271, + "y": 0.486 + }, + "props": { + "params": { + "objectName": "VSD", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD13" + }, + "path": "Library/Symbols/Mechanical/Sym_CHWPump", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 0.086, + "rotate": { + "anchor": "-30% 25%" + }, + "width": 0.0887, + "x": 0.8786, + "y": 0.23 + }, + "props": { + "text": "To CHWS Header" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 0.086, + "rotate": { + "anchor": "-30% 25%" + }, + "width": 0.0939, + "x": 0.8787, + "y": 0.8578 + }, + "props": { + "text": "From CHWS Header" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "pipes": [ + { + "appearance": "auto", + "end": "none", + "fill": "#7BCCCE", + "flanges": true, + "lineVariant": "solid", + "name": "pipe_0", + "origin": { + "connections": [ + { + "connections": [ + { + "x": 0.1726, + "y": 0.278 + }, + { + "connections": [], + "x": 0.6746, + "y": 0.278 + } + ], + "x": 0.4663, + "y": 0.278 + } + ], + "x": 0.4663, + "y": 0.432 + }, + "start": "none", + "stroke": "", + "visible": true, + "width": 5 + }, + { + "appearance": "simple", + "end": "none", + "fill": "#CE7B81", + "flanges": true, + "lineVariant": "solid", + "name": "pipe_2", + "origin": { + "connections": [ + { + "connections": [ + { + "x": 0.8688, + "y": 0.9114 + }, + { + "connections": [ + { + "x": 0.1726, + "y": 0.564 + } + ], + "x": 0.1726, + "y": 0.9114 + } + ], + "x": 0.4651, + "y": 0.9114 + } + ], + "x": 0.4651, + "y": 0.744 + }, + "start": "none", + "stroke": "", + "visible": true, + "width": 5 + }, + { + "appearance": "simple", + "end": "none", + "fill": "#CE7B81", + "flanges": true, + "lineVariant": "solid", + "name": "pipe_2", + "origin": { + "connections": [ + { + "x": 0.1726, + "y": 0.292 + }, + { + "x": 0.1726, + "y": 0.54 + } + ], + "x": 0.1726, + "y": 0.418 + }, + "start": "none", + "stroke": "", + "visible": true, + "width": 5 + }, + { + "appearance": "auto", + "end": "none", + "fill": "#B9CE7B", + "flanges": true, + "lineVariant": "solid", + "name": "pipe", + "origin": { + "connections": [ + { + "connections": [ + { + "x": 0.4663, + "y": 0.486 + }, + { + "x": 0.6746, + "y": 0.588 + } + ], + "x": 0.4663, + "y": 0.588 + } + ], + "x": 0.4663, + "y": 0.694 + }, + "start": "none", + "stroke": "", + "visible": true, + "width": 5 + }, + { + "appearance": "auto", + "end": "none", + "fill": "#7BCCCE", + "flanges": true, + "lineVariant": "solid", + "name": "pipe_1", + "origin": { + "connections": [ + { + "connections": [ + { + "connections": [ + { + "x": 0.8688, + "y": 0.278 + }, + { + "connections": [], + "x": 0.7, + "y": 0.278 + } + ], + "x": 0.7876, + "y": 0.278 + } + ], + "x": 0.7876, + "y": 0.588 + } + ], + "x": 0.6895, + "y": 0.588 + }, + "start": "none", + "stroke": "", + "visible": true, + "width": 5 + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Docs/Editor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Docs/Editor/resource.json new file mode 100644 index 0000000..5737de7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Docs/Editor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8ab837ea1adb2d6d5e1da951c5a0af9f9fcb81d610268f43abe48973af65ce3a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:45:13Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Docs/Editor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Docs/Editor/thumbnail.png new file mode 100644 index 0000000..ce5f863 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Docs/Editor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Docs/Editor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Docs/Editor/view.json new file mode 100644 index 0000000..7d050ca --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Docs/Editor/view.json @@ -0,0 +1,1351 @@ +{ + "custom": {}, + "params": { + "inText": "# Markdown Editor\n\nUse the buttons above to build your markdown", + "outText": "# Markdown Editor\n\nUse the buttons above to build your markdown" + }, + "propConfig": { + "params.inText": { + "paramDirection": "input", + "persistent": true + }, + "params.outText": { + "paramDirection": "output", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 853, + "width": 1045 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/format_bold", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "**Text**" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Bold" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/format_italic", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "*Text*" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Italic" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/format_strikethrough", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "~~Text~~" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Strikethrough" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/title", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "# Heading" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Heading" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Spacer" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "#CCCCCC", + "marginBottom": "4px", + "marginLeft": "4px", + "marginRight": "8px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/format_quote", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "\u003e Quote \n" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Quote" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/format_list_bulleted", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "* Item 1\n* Item 2" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Bullet List" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/format_list_numbered", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "1. Item 1\n2. Item 2" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Number List" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Spacer_0" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "#CCCCCC", + "marginLeft": "4px", + "marginRight": "8px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/insert_link", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "[Link](http://www,inductiveautomation.com)" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Link" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/insert_photo", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "![Image](https://inductiveautomation.com/static/images/logos/inductive-automation-logo.png)" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Image" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Spacer_1" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "#CCCCCC", + "marginBottom": "4px", + "marginLeft": "4px", + "marginRight": "8px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/drag_handle", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "------------" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Horizontal Rule" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/border_all", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "| Column 1 | Column 2 |\n| ------------ | ------------ |\n| Row 1 1 | Row 1 2 |\n| Row 2 1 | Row 2 2 |" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/code", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "text": "`Code`" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").updateEditor(self.custom.text)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Code" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Spacer_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "#CCCCCC", + "marginBottom": "4px", + "marginLeft": "4px", + "marginRight": "8px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/remove_red_eye", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tvalue \u003d not self.custom.selected\n\tself.custom.selected \u003d value\n\t\n\tif not value:\n\t\tself.getSibling(\"Split\").custom.selected \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Preview" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "custom.selected": { + "binding": { + "config": { + "expression": "true" + }, + "type": "expr" + } + }, + "props.style.classes": { + "binding": { + "config": { + "path": "this.custom.selected" + }, + "transforms": [ + { + "fallback": "Markdown/Button", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Markdown/Button" + }, + { + "input": true, + "output": "Markdown/Button_Selected" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/border_vertical", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.selected \u003d not self.custom.selected" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Split" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "custom.selected": { + "binding": { + "config": { + "expression": "true" + }, + "type": "expr" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "{../Preview.custom.selected}" + }, + "type": "expr" + } + }, + "props.style.classes": { + "binding": { + "config": { + "path": "this.custom.selected" + }, + "transforms": [ + { + "fallback": "Markdown/Button", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Markdown/Button" + }, + { + "input": true, + "output": "Markdown/Button_Selected" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/clear", + "style": { + "classes": "ClickToGraph/Icon" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Flex" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.getChild(\"root\").clearEditor()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Clear" + }, + "position": { + "basis": "32px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "classes": "Markdown/Button", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Markdown/Actions", + "padding": "8px" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TextArea" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.inText" + }, + "type": "property" + }, + "onChange": { + "enabled": null, + "script": "\tself.view.params.outText \u003d currentValue.value" + } + } + }, + "props": { + "deferUpdates": false, + "rejectUpdatesWhileFocused": false, + "style": { + "borderStyle": "none", + "fontSize": "18px" + } + }, + "type": "ia.input.text-area" + } + ], + "meta": { + "name": "Editor" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Actions/Split.custom.selected} || !{.../Actions/Preview.custom.selected}" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "margin": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Spacer" + }, + "position": { + "basis": "1px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Actions/Split.custom.selected}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#CCCCCC" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Markdown" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Actions/Split.custom.selected} || {.../Actions/Preview.custom.selected}" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "path": "../Editor/TextArea.props.text" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderStyle": "none", + "margin": "10px" + } + }, + "type": "ia.display.markdown" + } + ], + "meta": { + "name": "Editor" + }, + "position": { + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Markdown/Editor" + } + }, + "scripts": { + "customMethods": [ + { + "name": "updateEditor", + "params": [ + "text" + ], + "script": "\tif self.getChild(\"Editor\").getChild(\"Editor\").getChild(\"TextArea\").props.text \u003d\u003d \"\":\n\t\tnewText \u003d text\n\telse:\n\t\tnewText \u003d \" \\n%s\" % text\n\tself.getChild(\"Editor\").getChild(\"Editor\").getChild(\"TextArea\").props.text +\u003d newText" + }, + { + "name": "clearEditor", + "params": [], + "script": "\tself.getChild(\"Editor\").getChild(\"Editor\").getChild(\"TextArea\").props.text \u003d \"\"" + } + ], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "refreshEditor", + "pageScope": true, + "script": "\tself.getChild(\"Editor\").getChild(\"Editor\").getChild(\"TextArea\").refreshBinding(\"props.text\")", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Badge/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Badge/resource.json new file mode 100644 index 0000000..24c6861 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Badge/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d568e3fa4f6089cff14666b4c2474a7e14a466e9077fa56e20444a232e040420", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Badge/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Badge/thumbnail.png new file mode 100644 index 0000000..b6e98cd Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Badge/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Badge/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Badge/view.json new file mode 100644 index 0000000..1e4aeac --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Badge/view.json @@ -0,0 +1,136 @@ +{ + "custom": {}, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Bypass Permissive OK", + "text": "value" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.text": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 30, + "width": 100 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.value" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-faulted)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.text" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.value" + }, + "enabled": false, + "transforms": [ + { + "fallback": "black", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "black" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "backgroundColor": "white", + "borderBottomLeftRadius": "3px", + "borderBottomRightRadius": "3px", + "borderTopLeftRadius": "3px", + "borderTopRightRadius": "3px", + "boxShadow": "var(--boxShadow2)" + }, + "textStyle": { + "color": "black", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Compressor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Compressor/resource.json new file mode 100644 index 0000000..37de4ae --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Compressor/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json" + ], + "attributes": { + "lastModificationSignature": "bc600757a0bebb7371da4efad3d4da7c271a8ecfc8c175b67d76ede4bea3d8c1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:22:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Compressor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Compressor/view.json new file mode 100644 index 0000000..b399515 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Compressor/view.json @@ -0,0 +1,125 @@ +{ + "custom": { + "colorHandler": { + "auto": "#27669C", + "manual": "#9C6427", + "none": "#FFFFFF" + } + }, + "params": { + "Mode": 0 + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "params.Mode": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 111 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Compressor ON" + }, + { + "input": false, + "output": "Compressor OFF" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "paddingLeft": 5, + "paddingRight": 5 + }, + "textStyle": { + "color": "black", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Maintenance/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Maintenance/resource.json new file mode 100644 index 0000000..d207c72 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Maintenance/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json" + ], + "attributes": { + "lastModificationSignature": "4fffcd0e0b1bc97473366f4f9f3ec82ec6754267cf8df777c69a52d3898e88dc", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T23:29:57Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Maintenance/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Maintenance/view.json new file mode 100644 index 0000000..6e26ce9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Maintenance/view.json @@ -0,0 +1,120 @@ +{ + "custom": { + "colorHandler": { + "auto": "#FF5101", + "manual": "#FF5101", + "none": "#FFFFFF" + } + }, + "params": { + "Mode": 1, + "options": [ + "Local", + "Remote" + ] + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "params.Mode": { + "paramDirection": "input", + "persistent": true + }, + "params.options": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 60 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.params.Mode}\u003e0" + }, + "enabled": false, + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value \u003c 0:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\tif value \u003d\u003d 0:\n\t\toutput \u003d self.view.custom.colorHandler.manual\n\tif value \u003d\u003d 1:\n\t\toutput \u003d self.view.custom.colorHandler.auto\t\n\tif value \u003e 1:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\t\n\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "code": "\tif value:\n\t\treturn self.view.params.options[1]\n\telse:\n\t\treturn self.view.params.options[0]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#DF5D00", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "paddingLeft": 5, + "paddingRight": 5 + }, + "textStyle": { + "color": "#FFFFFF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Mode/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Mode/resource.json new file mode 100644 index 0000000..1e23f69 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Mode/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json" + ], + "attributes": { + "lastModificationSignature": "fb5aaeb543995832d9f11dded617a65717cf8dbd0fb5fc1d4b0e426489933440", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T23:29:57Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Mode/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Mode/view.json new file mode 100644 index 0000000..21b0d6f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Bdg_Mode/view.json @@ -0,0 +1,118 @@ +{ + "custom": { + "colorHandler": { + "auto": "#27669C", + "manual": "#9C6427", + "none": "#FFFFFF" + } + }, + "params": { + "Mode": 1, + "options": [ + "Local", + "Remote" + ] + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "params.Mode": { + "paramDirection": "input", + "persistent": true + }, + "params.options": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 60 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.params.Mode}\u003e0" + }, + "enabled": false, + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "code": "\tif value \u003c 0:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\tif value \u003d\u003d 0:\n\t\toutput \u003d self.view.custom.colorHandler.manual\n\tif value \u003d\u003d 1:\n\t\toutput \u003d self.view.custom.colorHandler.auto\t\n\tif value \u003e 1:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\t\n\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "code": "\treturn self.view.params.options[value]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "paddingLeft": 5, + "paddingRight": 5 + }, + "textStyle": { + "color": "#FFFFFF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/BooleanIndicator/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/BooleanIndicator/resource.json new file mode 100644 index 0000000..bba1889 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/BooleanIndicator/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c427e6fcb8e35f34f2e9706d5064d9a2b208a80208f3d0a3860ef14d3072565f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:14:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/BooleanIndicator/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/BooleanIndicator/thumbnail.png new file mode 100644 index 0000000..c838307 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/BooleanIndicator/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/BooleanIndicator/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/BooleanIndicator/view.json new file mode 100644 index 0000000..295b610 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/BooleanIndicator/view.json @@ -0,0 +1,234 @@ +{ + "custom": { + "AlarmSeverity": null, + "Val": null + }, + "params": { + "FalseText": "No Leak Detected", + "TrueText": "Leak Detected", + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_GAL1181_STU_LD" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Val": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val" + }, + "type": "tag" + }, + "persistent": true + }, + "params.FalseText": { + "paramDirection": "input", + "persistent": true + }, + "params.TrueText": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 30, + "width": 250 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "solid", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if({view.custom.Val}, {view.params.TrueText}, {view.params.FalseText})" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "padding": "0 5px" + }, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "0.1%", + "grow": 1 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "style": { + "marginLeft": -8, + "marginTop": -12, + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Border CSS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Border CSS/resource.json new file mode 100644 index 0000000..49c98c6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Border CSS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0c44b2e9ef1e7f0c92de5665c33588ff49006f680b967a250b111cbbbc4c7988", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T23:51:49Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Border CSS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Border CSS/thumbnail.png new file mode 100644 index 0000000..a608705 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Border CSS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Border CSS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Border CSS/view.json new file mode 100644 index 0000000..0bef06e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Border CSS/view.json @@ -0,0 +1,60 @@ +{ + "custom": {}, + "params": { + "color": "black" + }, + "propConfig": { + "params.color": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 297, + "width": 289 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Markdown" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "view.params.color" + }, + "type": "property" + } + } + }, + "props": { + "markdown": { + "escapeHtml": false + }, + "sectionSpacing": 50, + "source": "\u003chtml\u003e\n\u003csvg width\u003d\u0027100%\u0027 height\u003d\u0027100%\u0027 viewBox\u003d\u00270 0 100 100\u0027 preserveAspectRatio\u003d\u0027none\u0027\nclass\u003d\u0027psc-alarmbox\u0027\u003e\n\u003ccircle cx\u003d\"50\" cy\u003d\"50\" r \u003d\"45\" fill\u003d\u0027transparent\u0027 stroke\u003d\u0027currentColor\u0027 stroke-width\u003d\u00271\u0027/\u003e\n\u003c/svg\u003e\n\u003c/html\u003e\n" + }, + "type": "ia.display.markdown" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0.4503, + "y": 0.3146 + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Frwk_Badge_XS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Frwk_Badge_XS/resource.json new file mode 100644 index 0000000..e4a2295 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Frwk_Badge_XS/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json" + ], + "attributes": { + "lastModificationSignature": "f4e0dddc24c565bc4ba076db6e334449da7652a1e6e7343615dd44c7990f0a98", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T15:06:54Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Frwk_Badge_XS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Frwk_Badge_XS/view.json new file mode 100644 index 0000000..05467e8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Frwk_Badge_XS/view.json @@ -0,0 +1,121 @@ +{ + "custom": { + "colorHandler": { + "auto": "#27669C", + "manual": "#9C6427", + "none": "#FFFFFF" + } + }, + "params": { + "Mode": 1, + "Options": [ + "A", + "M" + ] + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "params.Mode": { + "paramDirection": "input", + "persistent": true + }, + "params.Options": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 20 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "code": "\tif value \u003c 1:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\tif value \u003d\u003d 1:\n\t\toutput \u003d self.view.custom.colorHandler.auto\n\tif value \u003d\u003d 2:\n\t\toutput \u003d self.view.custom.colorHandler.manual\n\tif value \u003e 2:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\t\n\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "{view.params.Options[0]}" + }, + { + "input": 2, + "output": "{view.params.Options[1]}" + } + ], + "outputType": "expression", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "paddingLeft": 5, + "paddingRight": 5 + }, + "textStyle": { + "color": "#FFFFFF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Fwk_HiddenButton/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Fwk_HiddenButton/resource.json new file mode 100644 index 0000000..dec216e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Fwk_HiddenButton/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d6c0d5e33a5cd40534b6f28f2f873181f270199097434bffe980de6c4a184a9f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T23:36:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Fwk_HiddenButton/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Fwk_HiddenButton/thumbnail.png new file mode 100644 index 0000000..a7349c7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Fwk_HiddenButton/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Fwk_HiddenButton/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Fwk_HiddenButton/view.json new file mode 100644 index 0000000..afed348 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Fwk_HiddenButton/view.json @@ -0,0 +1,68 @@ +{ + "custom": {}, + "params": { + "Text": "Button", + "openPopup": false, + "tagPath": "tagPath/pathToTag" + }, + "propConfig": { + "params.Text": { + "paramDirection": "input", + "persistent": true + }, + "params.openPopup": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 41, + "width": 140 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Button" + }, + "position": { + "basis": "34px", + "grow": 1 + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{session.props.auth.user.roles}" + }, + "transforms": [ + { + "code": "\troles \u003d value\n\tvisible \u003d False\n\tfor role in roles:\n\t\tif role \u003d\u003d \u0027Prime User\u0027:\n\t\t\tvisible \u003d True\n\t\t\treturn visible", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/HiddnBttn/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/HiddnBttn/resource.json new file mode 100644 index 0000000..fd5e9d4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/HiddnBttn/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "696a4320a8ddf51f971a10641a2e31ad623d5f45d1c24e2341801ce4a3dbb8c7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:38:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/HiddnBttn/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/HiddnBttn/thumbnail.png new file mode 100644 index 0000000..feab762 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/HiddnBttn/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/HiddnBttn/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/HiddnBttn/view.json new file mode 100644 index 0000000..acaa160 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/HiddnBttn/view.json @@ -0,0 +1,96 @@ +{ + "custom": {}, + "params": { + "objectName": "FltCodeEnables", + "tagPath": "value" + }, + "propConfig": { + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 90 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Hiddn BTN" + }, + "position": { + "height": 41, + "rotate": { + "anchor": "25% 50%" + }, + "width": 139 + }, + "props": { + "style": { + "backgroundColor": "#27669C", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "white", + "overflow": "visible", + "padding": 10 + }, + "text": "FltCodes", + "textStyle": { + "fontSize": 16, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{session.props.auth.user.roles}" + }, + "transforms": [ + { + "code": "\troles \u003d value\n\tvisible \u003d False\n\tfor role in roles:\n\t\tif role \u003d\u003d \u0027Prime User\u0027:\n\t\t\tvisible \u003d True\n\t\t\treturn visible", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Boolean/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Boolean/resource.json new file mode 100644 index 0000000..492ac76 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Boolean/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6494d6a4aa72d23e1078379624394c62ff99dff6c782626d97112b56a47d292c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:38:07Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Boolean/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Boolean/thumbnail.png new file mode 100644 index 0000000..f009761 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Boolean/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Boolean/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Boolean/view.json new file mode 100644 index 0000000..f0f539a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Boolean/view.json @@ -0,0 +1,97 @@ +{ + "custom": {}, + "params": { + "enabled": true, + "isArray": false, + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-4/Vacuum Fault Interrupter2 Tripped/Config/Target" + }, + "propConfig": { + "params.enabled": { + "paramDirection": "input", + "persistent": true + }, + "params.isArray": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 200 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif self.view.params.enabled is True:\n\t\tif self.view.params.isArray is True:\n\t\t\ttagPath \u003d self.view.params.tagPath.rsplit(\u0027[\u0027,1)[0]\n\t\t\tindex \u003d int(self.view.params.tagPath.rsplit(\u0027[\u0027,1)[1].split(\u0027]\u0027)[0])\n\t\t\treadArray \u003d system.tag.readBlocking(tagPath)[0].value\n\t\t\treadArray[index] \u003d not readArray[index]\n\t\t\tlastArray \u003d system.tag.writeBlocking([tagPath][0], [readArray])\n\t\telse:\n\t\t\tself.custom.value \u003d not self.custom.value\n\t\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "BooleanValue" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "custom.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "type": "tag" + } + }, + "props.color": { + "binding": { + "config": { + "expression": "if({view.params.enabled},\r\n\"var(--tagvalue-color)\", \"var(--lightgray)\")" + }, + "type": "expr" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "if(coalesce({this.custom.value},0) \u003d 1, \r\n\u0027material/check_box\u0027,\r\n\u0027material/check_box_outline_blank\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignItems": "center", + "justify": "center" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Float/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Float/resource.json new file mode 100644 index 0000000..bfad11f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Float/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c051393b9afe4d6507a9a38e273cf65e473a18b6c97b0da0cb5440ce00d8a680", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:38:07Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Float/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Float/thumbnail.png new file mode 100644 index 0000000..0fb6b44 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Float/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Float/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Float/view.json new file mode 100644 index 0000000..5febab9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Float/view.json @@ -0,0 +1,98 @@ +{ + "custom": {}, + "params": { + "enabled": true, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Motor 1/Config/Cfg_FTR_DelaySP" + }, + "propConfig": { + "params.enabled": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericEntryField", + "tooltip": {} + }, + "position": { + "grow": 1 + }, + "propConfig": { + "meta.tooltip.enabled": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "type": "property" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "####.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "format": "###.###", + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignItems": "center", + "justify": "center" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Int/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Int/resource.json new file mode 100644 index 0000000..4486add --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Int/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "07b30a630443e02e0ac207bb94a90cc6ca47569410f6689908a045dae06517ff", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:38:07Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Int/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Int/thumbnail.png new file mode 100644 index 0000000..3564418 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Int/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Int/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Int/view.json new file mode 100644 index 0000000..b6ddde1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/Int/view.json @@ -0,0 +1,122 @@ +{ + "custom": {}, + "params": { + "enabled": true, + "format": "###.##", + "max": 9999999, + "min": -9999999, + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_HUM_03/Config/Relative Humidity Setpoint" + }, + "propConfig": { + "params.enabled": { + "paramDirection": "input", + "persistent": true + }, + "params.format": { + "paramDirection": "input", + "persistent": true + }, + "params.max": { + "paramDirection": "input", + "persistent": true + }, + "params.min": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "type": "property" + } + }, + "props.format": { + "binding": { + "config": { + "path": "view.params.format" + }, + "type": "property" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "path": "view.params.max" + }, + "type": "property" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "path": "view.params.min" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignItems": "center", + "justify": "center" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/String/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/String/resource.json new file mode 100644 index 0000000..d3b49d3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/String/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c427f03a7b67e974fcb68fc1b686c73ad8d1b905d6a01d6bfeadf3829688e2ef", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:38:07Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/String/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/String/thumbnail.png new file mode 100644 index 0000000..e176f19 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/String/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/String/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/String/view.json new file mode 100644 index 0000000..59e9209 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Input/String/view.json @@ -0,0 +1,87 @@ +{ + "custom": { + "auth": true + }, + "params": { + "enabled": true, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Motor 1/Config/Cfg_FTR_DelaySP" + }, + "propConfig": { + "custom.auth": { + "persistent": true + }, + "params.enabled": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "TextField" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignItems": "center", + "justify": "center" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen List/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen List/resource.json new file mode 100644 index 0000000..7f1f668 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen List/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "78e8bd448405eaf84b9c2f186f6798c4ca620ed85fdec483434b05ea8f48463e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:38:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen List/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen List/thumbnail.png new file mode 100644 index 0000000..21a8231 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen List/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen List/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen List/view.json new file mode 100644 index 0000000..ba8406f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen List/view.json @@ -0,0 +1,290 @@ +{ + "custom": {}, + "params": { + "group": "A", + "penList": [ + { + "color": "#e55d19", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Amps A" + }, + { + "color": "#e57419", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Amps B" + }, + { + "color": "#e58a19", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Amps C" + }, + { + "color": "#46e519", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Discharge Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Discharge Current" + }, + { + "color": "#30e519", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Float Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Float Current" + }, + { + "color": "#19e519", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch JAR Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch JAR Current" + }, + { + "color": "#19e546", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Min_Max Battery Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Min_Max Battery Current" + }, + { + "color": "#19e5a1", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Amps A" + }, + { + "color": "#19e5b8", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Amps B" + }, + { + "color": "#19e5ce", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Amps C" + }, + { + "color": "#3019e5", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Amps A" + }, + { + "color": "#4619e5", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Amps B" + }, + { + "color": "#5d19e5", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Amps C" + }, + { + "color": "#ce19e5", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Neutral Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Neutral Current" + } + ] + }, + "propConfig": { + "params.group": { + "paramDirection": "input", + "persistent": true + }, + "params.penList": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "12px", + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.group" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-100", + "fontSize": "13px", + "fontWeight": "bold", + "paddingLeft": "10px" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Pen List" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.instances": { + "binding": { + "config": { + "struct": { + "groupName": "{parent.custom.groupName}", + "groupNum": "{parent.custom.groupNum}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tkW_tags \u003d system.tag.browse(value[\u0027tagPath\u0027], {\u0027name\u0027:\u0027*kW*\u0027, \u0027tagType\u0027:\u0027AtomicTag\u0027})\n\tkVA_tags \u003d system.tag.browse(value[\u0027tagPath\u0027], {\u0027name\u0027:\u0027*kVA*\u0027, \u0027tagType\u0027:\u0027AtomicTag\u0027})\n\ttags \u003d list(kW_tags) + list(kVA_tags)\n\toutput \u003d []\n\tfor i, tag in enumerate(tags):\n\t\tinstance \u003d {\n\t\t\t\"color\": utils.misc.getHexColorFromInt((value[\u0027groupNum\u0027] * 10) + i),\n\t\t\t\"enabled\": False,\n\t\t\t\"group\": value[\u0027groupName\u0027],\n\t\t\t\"instancePosition\": {},\n\t\t\t\"instanceStyle\": {\n\t\t\t\"classes\": \"\"\n\t\t\t},\n\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\"path\": tag[\u0027fullPath\u0027]\n\t\t}\n\t\toutput.append(instance)\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.instances": { + "binding": { + "config": { + "path": "view.params.penList" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen", + "style": { + "marginLeft": "10px", + "marginTop": "5px", + "overflow": "hidden" + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "custom": { + "groupName": "Power", + "groupNum": 1 + }, + "meta": { + "name": "Pens Group 1" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "paddingBottom": "8px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen/resource.json new file mode 100644 index 0000000..3c78bc6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "377088b0fe1e72855e6769c5cee5376e577d55d4190cbb193104b298b3936386", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:38:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen/thumbnail.png new file mode 100644 index 0000000..e460abb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen/view.json new file mode 100644 index 0000000..9eaba2d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pen/view.json @@ -0,0 +1,157 @@ +{ + "custom": {}, + "params": { + "color": "#FFFFFF", + "enabled": false, + "group": "AHU 1", + "name": "Supply fan speed" + }, + "propConfig": { + "params.color": { + "paramDirection": "input", + "persistent": true + }, + "params.enabled": { + "paramDirection": "inout", + "persistent": true + }, + "params.group": { + "paramDirection": "input", + "persistent": true + }, + "params.name": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 22, + "width": 212 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Color" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.fill": { + "binding": { + "config": { + "path": "view.params.color" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "height": "60%", + "rx": "3px", + "type": "rect", + "width": "60%", + "x": "20%", + "y": "20%" + } + ], + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\t# Send a message to enableDisablePen handler and in the payload \n\t# include the pen name, pen group, pen color, and a boolean \n\t# denoting whether the pen was selected or de-selected.\n\t\n\tenabledOrDisabled \u003d self.props.selected\n\tname \u003d self.view.params.name\n\tgroup \u003d self.view.params.group\n\tcolor \u003d self.view.params.color\n\t\n\tpayload \u003d {\u0027enabledOrDisabled\u0027:enabledOrDisabled,\u0027name\u0027:name,\u0027group\u0027:group,\u0027color\u0027:color}\n\t\n\tsystem.perspective.sendMessage(\u0027enableDisablePen\u0027,payload\u003dpayload,scope\u003d\u0027page\u0027)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Checkbox" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "type": "property" + } + } + }, + "props": { + "checkedIcon": { + "color": { + "enabled": "var(--neutral-100)" + }, + "style": { + "maxHeight": "17px" + } + }, + "text": "", + "uncheckedIcon": { + "style": { + "maxHeight": "17px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "12px", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.name" + }, + "transforms": [ + { + "code": "\tif \u0027AHU\u0027 in value:\n\t\treturn value[5:len(value)]\n\telse:\n\t\treturn value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-90", + "fontSize": "11px", + "paddingLeft": "5px" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "color": "--units-color" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pill Button/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pill Button/resource.json new file mode 100644 index 0000000..12cca5a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pill Button/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e3dfdfc31369507991e79c03514f168e188f06f2a6131ed4f57a518b429cc370", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:38:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pill Button/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pill Button/thumbnail.png new file mode 100644 index 0000000..abb9e7b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pill Button/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pill Button/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pill Button/view.json new file mode 100644 index 0000000..052e092 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Pill Button/view.json @@ -0,0 +1,247 @@ +{ + "custom": {}, + "params": { + "color": "var(--callToAction)", + "index": "", + "label": "", + "mode": "custom", + "selected": false, + "source": "" + }, + "propConfig": { + "params.color": { + "paramDirection": "input", + "persistent": true + }, + "params.index": { + "paramDirection": "input", + "persistent": true + }, + "params.label": { + "paramDirection": "input", + "persistent": true + }, + "params.mode": { + "paramDirection": "input", + "persistent": true + }, + "params.selected": { + "paramDirection": "input", + "persistent": true + }, + "params.source": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 35, + "width": 249 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Color" + }, + "position": { + "basis": "4px", + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "{view.params.color}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.params.label} !\u003d \u0027\u0027" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "padding": "2px 0" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onBlur": { + "config": { + "script": "\tself.applyCustomFilter()\n\t" + }, + "scope": "G", + "type": "script" + }, + "onKeyPress": { + "config": { + "script": "\tif event.key \u003d\u003d \u0027Enter\u0027:\n\t\tself.applyCustomFilter()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TextField" + }, + "propConfig": { + "position.basis": { + "binding": { + "config": { + "expression": "\u00270px\u0027" + }, + "type": "expr" + } + }, + "props.style.width": { + "binding": { + "config": { + "path": "this.position.basis" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.label" + }, + "type": "property" + } + } + }, + "props": { + "deferUpdates": false, + "rejectUpdatesWhileFocused": false, + "style": { + "background": "transparent", + "border": "none", + "fontSize": "inherit", + "outline": "none", + "padding": 0 + } + }, + "scripts": { + "customMethods": [ + { + "name": "applyCustomFilter", + "params": [], + "script": "\tpayload \u003d {\n\t\u0027source\u0027: self.view.params.source, \n\t\u0027label\u0027: self.props.text,\n\t\u0027index\u0027: self.view.params.index\n\t}\n\tif payload[\u0027label\u0027] !\u003d \u0027\u0027:\n\t\tsystem.perspective.sendMessage(\u0027customFilter\u0027, payload\u003dpayload)\n\tself.refreshBinding(\u0027position.basis\u0027)" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.input.text-field" + }, + { + "meta": { + "name": "Close" + }, + "position": { + "basis": "18px", + "shrink": 0 + }, + "propConfig": { + "props.color": { + "binding": { + "config": { + "expression": "if({view.params.selected},\r\n\u0027color-mix(in srgb, var(--callToAction) 40%, var(--contextBackground) 60%)\u0027,\r\n\u0027color-mix(in srgb, var(--callToAction) 60%, var(--contextBackground) 40%)\u0027)" + }, + "type": "expr" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "if({view.params.selected}, \r\n\u0027material/close\u0027,\r\nif({view.params.label}\u003d\u0027\u0027,\u0027material/search\u0027,\u0027material/add\u0027))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer", + "marginRight": "5px", + "width": "24px" + } + }, + "type": "ia.display.icon" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\n\t\u0027source\u0027: self.view.params.source, \n\t\u0027label\u0027: self.view.params.label,\n\t\u0027index\u0027: self.view.params.index\n\t}\n\tsystem.perspective.print(payload)\n\tselected \u003d self.view.params.selected\n\tif payload[\u0027label\u0027] \u003d\u003d \u0027\u0027:\n\t\tself.getChild(\"TextField\").position.basis \u003d \u0027auto\u0027\n\t\tself.getChild(\"TextField\").focus()\n\telse:\n\t\tif selected:\n\t\t\tsystem.perspective.sendMessage(\u0027removeFilter\u0027, payload\u003dpayload)\n\t\telse:\n\t\t\tsystem.perspective.sendMessage(\u0027addFilter\u0027, payload\u003dpayload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "expression": "if({view.params.selected},\r\n\u0027buttons/hover-effect-selected\u0027,\r\n\u0027buttons/hover-effect-unselected\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "border": "1px solid var(--border)", + "borderRadius": "var(--borderRadius)", + "cursor": "pointer", + "fontSize": "0.8em", + "gap": "5px", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Table Input/Number/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Table Input/Number/resource.json new file mode 100644 index 0000000..a442cf2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Table Input/Number/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "717fce38c05fe874d5034b86dd84e214cb7cd1ec9a4a3a242bb22d61aa2feebb", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:38:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Table Input/Number/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Table Input/Number/thumbnail.png new file mode 100644 index 0000000..937099d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Table Input/Number/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Table Input/Number/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Table Input/Number/view.json new file mode 100644 index 0000000..2f66fda --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Table Input/Number/view.json @@ -0,0 +1,99 @@ +{ + "custom": {}, + "params": { + "column": "", + "rowIndex": "", + "source": "", + "value": 0 + }, + "propConfig": { + "params.column": { + "paramDirection": "input", + "persistent": true + }, + "params.rowIndex": { + "paramDirection": "input", + "persistent": true + }, + "params.source": { + "paramDirection": "input", + "persistent": true + }, + "params.value": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "\"transparent\"" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "path": "view.params.value" + }, + "type": "property" + }, + "onChange": { + "enabled": null, + "script": "\t#if origin \u003d\u003d \u0027Browser\u0027:\n\t\tsystem.perspective.sendMessage(\u0027updateTableCell\u0027, payload\u003d{\n\t\t\t\u0027source\u0027: self.view.params.source, \n\t\t\t\u0027value\u0027: currentValue.value,\n\t\t\t\u0027rowIndex\u0027: self.view.params.rowIndex, \n\t\t\t\u0027column\u0027: self.view.params.column\n\t\t})\n\t\tself.props.style.backgroundColor \u003d \u0027lightBlue\u0027" + } + } + }, + "props": { + "align": "center", + "spinner": { + "enabled": false + }, + "style": { + "borderColor": "#FFFFFF00" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "refreshTable", + "pageScope": true, + "script": "\tself.refreshBinding(\"props.style.backgroundColor\")", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "padding": "1px 2px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Config/resource.json new file mode 100644 index 0000000..0b91d6e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8fbac10ba880d8528caada026330f7f2e0d0be7301f3beea50811e52bd5e5c49", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:25:46Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Config/thumbnail.png new file mode 100644 index 0000000..328edfe Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Config/view.json new file mode 100644 index 0000000..600df90 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Config/view.json @@ -0,0 +1,205 @@ +{ + "custom": {}, + "params": { + "dataType": "Int4", + "enabled": true, + "max": 9999, + "min": -9999, + "name": "Int", + "options": [], + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-4/Vacuum Fault Interrupter2 Tripped/Config/Target", + "visible": true + }, + "propConfig": { + "params.dataType": { + "paramDirection": "input", + "persistent": true + }, + "params.enabled": { + "paramDirection": "input", + "persistent": true + }, + "params.max": { + "paramDirection": "input", + "persistent": true + }, + "params.min": { + "paramDirection": "input", + "persistent": true + }, + "params.name": { + "paramDirection": "input", + "persistent": true + }, + "params.options": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.visible": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Name", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "220px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.OpcItemPath" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.name" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Input" + }, + "position": { + "basis": "170px" + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "type": "property" + } + }, + "props.params.max": { + "binding": { + "config": { + "path": "view.params.max" + }, + "type": "property" + } + }, + "props.params.min": { + "binding": { + "config": { + "path": "view.params.min" + }, + "type": "property" + } + }, + "props.params.options": { + "binding": { + "config": { + "path": "view.params.options" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "case({view.params.dataType},\r\n\u0027Boolean\u0027, \u0027Library/Framework/Input/Boolean\u0027,\r\n\u0027Int4\u0027, \u0027Library/Framework/Input/Int\u0027,\r\n\u0027Int8\u0027, \u0027Library/Framework/Input/Int\u0027,\r\n\u0027Float4\u0027, \u0027Library/Framework/Input/Int\u0027,\r\n\u0027Float8\u0027, \u0027Library/Framework/Input/Int\u0027,\r\n\u0027String\u0027, \u0027Library/Framework/Input/String\u0027,\r\n\u0027\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "minWidth": "10px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.visible" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible", + "padding": "0 10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag ConfigShort/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag ConfigShort/resource.json new file mode 100644 index 0000000..89b02ab --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag ConfigShort/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0a6aa2d241c950a1066357fe5443cd67c81d50d3f94b50db6162c963bf74260f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:38:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag ConfigShort/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag ConfigShort/thumbnail.png new file mode 100644 index 0000000..02687e5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag ConfigShort/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag ConfigShort/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag ConfigShort/view.json new file mode 100644 index 0000000..d41a02e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag ConfigShort/view.json @@ -0,0 +1,206 @@ +{ + "custom": {}, + "params": { + "dataType": "Int4", + "enabled": true, + "max": 9999, + "min": -9999, + "name": "Int", + "options": [], + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-4/Vacuum Fault Interrupter2 Tripped/Config/Target", + "visible": true + }, + "propConfig": { + "params.dataType": { + "paramDirection": "input", + "persistent": true + }, + "params.enabled": { + "paramDirection": "input", + "persistent": true + }, + "params.max": { + "paramDirection": "input", + "persistent": true + }, + "params.min": { + "paramDirection": "input", + "persistent": true + }, + "params.name": { + "paramDirection": "input", + "persistent": true + }, + "params.options": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.visible": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Name", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.OpcItemPath" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.name" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Input" + }, + "position": { + "basis": "75px" + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "type": "property" + } + }, + "props.params.max": { + "binding": { + "config": { + "path": "view.params.max" + }, + "type": "property" + } + }, + "props.params.min": { + "binding": { + "config": { + "path": "view.params.min" + }, + "type": "property" + } + }, + "props.params.options": { + "binding": { + "config": { + "path": "view.params.options" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "case({view.params.dataType},\r\n\u0027Boolean\u0027, \u0027Library/Templates/Framework/Input/Boolean\u0027,\r\n\u0027Int4\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027Int8\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027Float4\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027Float8\u0027, \u0027Library/Templates/Framework/Input/Int\u0027,\r\n\u0027String\u0027, \u0027Library/Templates/Framework/Input/String\u0027,\r\n\u0027\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "minWidth": "10px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.visible" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible", + "padding": "0 10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Info/resource.json new file mode 100644 index 0000000..29d391a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3c7af78d82d805a09a0ad4f86313ceffa4efeb30f508d565542026c958379498", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:38:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Info/thumbnail.png new file mode 100644 index 0000000..1cb3c87 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Info/view.json new file mode 100644 index 0000000..2d4151a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Info/view.json @@ -0,0 +1,262 @@ +{ + "custom": {}, + "params": { + "dataType": "Boolean", + "display": true, + "displaySelection": 0, + "format": "0,0", + "heart": false, + "instancePosition": 2, + "name": "OpenClosed", + "numDecimals": 4, + "options": [ + "closed", + "open" + ], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[0]", + "visible": true + }, + "propConfig": { + "params.dataType": { + "paramDirection": "input", + "persistent": true + }, + "params.display": { + "paramDirection": "input", + "persistent": true + }, + "params.displaySelection": { + "paramDirection": "input", + "persistent": true + }, + "params.format": { + "paramDirection": "input", + "persistent": true + }, + "params.heart": { + "paramDirection": "input", + "persistent": true + }, + "params.instancePosition": { + "paramDirection": "input", + "persistent": true + }, + "params.name": { + "paramDirection": "input", + "persistent": true + }, + "params.numDecimals": { + "paramDirection": "input", + "persistent": true + }, + "params.options": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.visible": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Name", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "path": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value[\u0027path\u0027]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.name" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value", + "tooltip": { + "enabled": true + } + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.OpcItemPath" + }, + "type": "tag" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{view.params.heart}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "struct": { + "current": "tag({view.params.tagPath})", + "displaySelection": "toBoolean({view.params.displaySelection})", + "numDecimals": "{view.params.numDecimals}", + "options": "{view.params.options}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toption \u003d value[\"options\"]\t\n\tif not self.view.params.displaySelection:\n\t\tif value[\"current\"] is None:\n\t\t\ttag \u003d str(value[\"current\"])\n\t\telse:\n\t\t\t\n\t\t\tformat_specifier \u003d \"%%.%df\" % value[\u0027numDecimals\u0027]\n\t\t\ttag \u003d format_specifier % value[\"current\"]\n\t\t\ttag \u003d tag.rstrip(\u00270\u0027).rstrip(\u0027.\u0027)\n\telse:\n\t\ttag \u003d option[value[\"current\"]]\n\treturn tag", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "type": "tag" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "{view.params.heart}" + }, + "type": "expr" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "if({this.custom.tag},\"material/favorite\",\"material/favorite_border\")" + }, + "type": "expr" + } + } + }, + "props": { + "color": "#E42626", + "style": { + "strokeWidth": "1px" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Units" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}.engUnit" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.visible" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "gap": "10px", + "padding": "0 10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/Editor Popup/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/Editor Popup/resource.json new file mode 100644 index 0000000..2730c35 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/Editor Popup/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a12ddf6ec626747ceb5c07009217c475c97629ffa454a0f2242b22d450b5f68c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:38:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/Editor Popup/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/Editor Popup/thumbnail.png new file mode 100644 index 0000000..dc1ad5a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/Editor Popup/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/Editor Popup/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/Editor Popup/view.json new file mode 100644 index 0000000..005ef2e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/Editor Popup/view.json @@ -0,0 +1,433 @@ +{ + "custom": {}, + "params": { + "tagPath": "" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 575, + "width": 375 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "ApplicationHelp/Field" + }, + "text": "Page" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Page" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "marginBottom": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "ApplicationHelp/Field" + }, + "text": "Title" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "!{parent.custom.edit}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "/root.custom.data.title" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.parent.custom.edit \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Edit" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "!{parent.custom.edit}" + }, + "type": "expr" + } + } + }, + "props": { + "path": "material/edit", + "style": { + "cursor": "pointer", + "marginLeft": "6px" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Editor" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{parent.custom.edit}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "/root.custom.data.title" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderRadius": "4px" + } + }, + "type": "ia.input.text-field" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttitle \u003d self.getSibling(\"Editor\").props.text\n\t\n\tif title \u003d\u003d None or len(title) \u003d\u003d 0:\n\t\tFramework.Popup.showError(\"Please enter in a title\")\n\telse:\n\t\tself.view.getChild(\"root\").custom.data.title \u003d title\n\t\tself.parent.custom.edit \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{parent.custom.edit}" + }, + "type": "expr" + } + } + }, + "props": { + "path": "material/save", + "style": { + "cursor": "pointer", + "marginLeft": "6px" + } + }, + "type": "ia.display.icon" + } + ], + "custom": { + "edit": false + }, + "meta": { + "name": "Value" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Title" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "marginBottom": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "ApplicationHelp/Field" + }, + "text": "Body" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Editor" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.params.inText": { + "binding": { + "config": { + "path": "/root.custom.data.body" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "outText": "" + }, + "path": "Library/Templates/Markdown/Editor", + "style": { + "marginBottom": "10px" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Editor" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath\n\tid \u003d self.view.getChild(\"root\").custom.data.id\n\ttitle \u003d self.view.getChild(\"root\").custom.data.title\n\tbody \u003d self.parent.parent.getChild(\"Editor\").getChild(\"Editor\").props.params.outText\n\tuser \u003d \"guest\" if self.session.props.auth.user.userName \u003d\u003d None else self.session.props.auth.user.userName\n\t\n\tif title \u003d\u003d None or len(title) \u003d\u003d 0:\n\t\tFramework.Popup.showError(\"Please enter in a title\")\n\telse:\n\t\tif id \u003d\u003d None:\n\t\t\tsystem.db.runNamedQuery(\"Tag Notes/Insert Note\", {\"tagPath\":tagPath, \"title\":title, \"body\":body, \"user\":user})\n\t\telse:\n\t\t\tsystem.db.runNamedQuery(\"Tag Notes/Update Note\", {\"id\":id, \"title\":title, \"body\":body, \"user\":user})\n\t\t\t\n\t\tsystem.perspective.sendMessage(messageType\u003d\"tag-notes-refresh\", payload\u003d{})\n\t\tsystem.perspective.closePopup(id\u003d\"tag-notes-editor\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "100px", + "shrink": 0 + }, + "props": { + "image": { + "icon": { + "path": "material/save" + } + }, + "style": { + "classes": "ApplicationHelp/Standard_Button", + "marginBottom": "6px", + "marginRight": "6px" + }, + "text": "Save" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "tag-notes-editor", + "modal": false, + "overlayDismiss": false, + "resizable": true, + "showCloseIcon": true, + "type": "close", + "viewPath": "", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "Close" + }, + "position": { + "basis": "100px", + "shrink": 0 + }, + "props": { + "image": { + "icon": { + "path": "material/exit_to_app" + } + }, + "style": { + "classes": "ApplicationHelp/Standard_Button", + "marginBottom": "6px" + }, + "text": "Close" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "38px", + "shrink": 0 + }, + "props": { + "justify": "center", + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "parameters": { + "tagPath": "{view.params.tagPath}" + }, + "queryPath": "Tag Notes/Get Notes", + "returnFormat": "json" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d None or len(value) \u003d\u003d 0:\n\t\tvalue \u003d {\"id\":None, \"title\":\"\", \"body\":\"\", \"last_updated\":None, \"last_updated_by\":None}\n\telse:\n\t\tvalue \u003d value[0]\n\t\n\treturn value", + "type": "script" + } + ], + "type": "query" + } + } + }, + "props": { + "direction": "column", + "style": { + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/View Notes/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/View Notes/resource.json new file mode 100644 index 0000000..9f7ec4c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/View Notes/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5e444eea8715bb77920bf53803c533eecabd84c02ab83aafe9bf7beb0868299a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:38:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/View Notes/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/View Notes/thumbnail.png new file mode 100644 index 0000000..4ea8638 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/View Notes/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/View Notes/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/View Notes/view.json new file mode 100644 index 0000000..a5114a1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Framework/Tag Notes/View Notes/view.json @@ -0,0 +1,637 @@ +{ + "custom": { + "model": null + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "" + }, + "propConfig": { + "custom.model": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Meta/ModelNo" + }, + "transforms": [ + { + "expression": "coalesce({value},null)", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "props": { + "text": "Tag Notes" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextArea" + }, + "position": { + "grow": 1 + }, + "type": "ia.input.text-area" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "160px", + "display": false + }, + "props": { + "direction": "column", + "style": { + "margin": "12px 12px 0px 12px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Markdown" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "!{parent.custom.editMode}" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "struct": { + "tag_notes": "{parent.custom.data.tag_notes.body}", + "wiki_notes": "{parent.custom.data.wiki_notes.body}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"\"\"{}\n\n{}\"\"\".format(value[\u0027wiki_notes\u0027], value[\u0027tag_notes\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "margin": "12px" + } + }, + "type": "ia.display.markdown" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "ApplicationHelp/Field ApplicationHelp/Small_Text" + }, + "text": "Wiki Last Updated" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if({/root.custom.data.wiki_notes.last_updated} \u003d null, \"---\", \r\ndateFormat({/root.custom.data.wiki_notes.last_updated}, \"MMM d, yy h:mm a\") + \" by \" + {/root.custom.data.wiki_notes.last_updated_by})" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "ApplicationHelp/Small_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Last Updated" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "ApplicationHelp/Field ApplicationHelp/Small_Text" + }, + "text": "Notes Last Updated" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if({/root.custom.data.tag_notes.last_updated} \u003d null, \"---\", \r\ndateFormat({/root.custom.data.tag_notes.last_updated}, \"MMM d, yy h:mm a\") + \" by \" + {/root.custom.data.tag_notes.last_updated_by})" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "ApplicationHelp/Small_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Last Updated_0" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.getChild(\"root\").custom.editMode \u003d not self.view.getChild(\"root\").custom.editMode\n\tself.view.getChild(\"root\").custom.editType \u003d \u0027wiki_notes\u0027\n\tsystem.perspective.sendMessage(\"refreshEditor\")" + }, + "permissions": { + "securityLevels": [ + { + "children": [], + "name": "Authenticated" + } + ], + "type": "AllOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Edit" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "custom.isAuthorized": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/System Administrator\u0027)" + }, + "type": "expr" + } + }, + "position.display": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.image.icon.path": { + "binding": { + "config": { + "expression": "if({/root.custom.editMode}, \u0027material/close\u0027, \u0027material/edit\u0027)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if({/root.custom.editMode}, \u0027Cancel\u0027, \u0027Edit Wiki\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": {} + }, + "style": { + "classes": "ApplicationHelp/Standard_Button", + "padding": "0 10px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.getChild(\"root\").custom.editMode \u003d not self.view.getChild(\"root\").custom.editMode\n\tself.view.getChild(\"root\").custom.editType \u003d \u0027tag_notes\u0027\n\tsystem.perspective.sendMessage(\"refreshEditor\")" + }, + "permissions": { + "securityLevels": [ + { + "children": [], + "name": "Authenticated" + } + ], + "type": "AllOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Edit_0" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.image.icon.path": { + "binding": { + "config": { + "expression": "if({/root.custom.editMode}, \u0027material/close\u0027, \u0027material/edit\u0027)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if({/root.custom.editMode}, \u0027Cancel\u0027, \u0027Edit Notes\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": {} + }, + "style": { + "classes": "ApplicationHelp/Standard_Button", + "padding": "0 10px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "!{parent.custom.editMode}" + }, + "type": "expr" + } + } + }, + "props": { + "justify": "space-between", + "style": { + "gap": "10px", + "padding": "6px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Editor" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.params.inText": { + "binding": { + "config": { + "expression": "if({/root.custom.editType}\u003d\u0027wiki_notes\u0027,\r\n{/root.custom.data.wiki_notes.body},\r\n{/root.custom.data.tag_notes.body})" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "outText": "" + }, + "path": "Library/Templates/Markdown/Editor" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Editor" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{parent.custom.editMode}" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "margin": "0px 12px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath\n\tmodelNo \u003d self.view.custom.model\n\teditType \u003d self.view.getChild(\"root\").custom.editType\n\tbody \u003d self.parent.parent.getChild(\"Editor\").getChild(\"Editor\").props.params.outText\n\tuser \u003d \"guest\" if self.session.props.auth.user.userName \u003d\u003d None else self.session.props.auth.user.userName\n\tif editType \u003d\u003d \u0027wiki_notes\u0027:\n\t\tid \u003d self.view.getChild(\"root\").custom.data.tag_notes.id\n\t\tif id \u003d\u003d None:\n\t\t\tsystem.db.runNamedQuery(\"Wiki Notes/Insert Note\", {\"modelNo\":modelNo, \"body\":body, \"user\":user})\n\t\telse:\n\t\t\tsystem.db.runNamedQuery(\"Wiki Notes/Update Note\", {\"id\":id, \"body\":body, \"user\":user})\n\t\t\t\n\telif editType \u003d\u003d \u0027tag_notes\u0027:\n\t\tid \u003d self.view.getChild(\"root\").custom.data.tag_notes.id\n\t\tif id \u003d\u003d None:\n\t\t\tsystem.db.runNamedQuery(\"Tag Notes/Insert Note\", {\"tagPath\":tagPath, \"body\":body, \"user\":user})\n\t\telse:\n\t\t\tsystem.db.runNamedQuery(\"Tag Notes/Update Note\", {\"id\":id, \"body\":body, \"user\":user})\n\t\t\n\tsystem.perspective.sendMessage(messageType\u003d\"tag-notes-refresh\", payload\u003d{})\n\tself.view.getChild(\"root\").custom.editMode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "100px", + "shrink": 0 + }, + "props": { + "image": { + "icon": { + "path": "material/save" + } + }, + "style": { + "classes": "ApplicationHelp/Standard_Button", + "padding": "0 10px" + }, + "text": "Save" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.getChild(\"root\").custom.editMode \u003d False" + }, + "permissions": { + "securityLevels": [ + { + "children": [], + "name": "Authenticated" + } + ], + "type": "AllOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.image.icon.path": { + "binding": { + "config": { + "expression": "if({/root.custom.editMode}, \u0027material/close\u0027, \u0027material/edit\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": {} + }, + "primary": false, + "style": { + "classes": "ApplicationHelp/Standard_Button", + "padding": "0 10px" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "54px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{parent.custom.editMode}" + }, + "type": "expr" + } + } + }, + "props": { + "justify": "center", + "style": { + "gap": "10px", + "padding": "10px" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "data": {}, + "editType": "tag_notes" + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.data.tag_notes": { + "binding": { + "config": { + "parameters": { + "tagPath": "{view.params.tagPath}" + }, + "queryPath": "Tag Notes/Get Notes", + "returnFormat": "json" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d None or len(value) \u003d\u003d 0:\n\t\tvalue \u003d {\"id\":None, \"body\":\"\", \"last_updated\":None, \"last_updated_by\":None}\n\telse:\n\t\tvalue \u003d value[0]\n\t\n\treturn value", + "type": "script" + } + ], + "type": "query" + } + }, + "custom.data.wiki_notes": { + "binding": { + "config": { + "parameters": { + "modelNo": "{view.custom.model}" + }, + "queryPath": "Wiki Notes/Get Notes", + "returnFormat": "json" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d None or len(value) \u003d\u003d 0:\n\t\tvalue \u003d {\"id\":None, \"body\":\"\", \"last_updated\":None, \"last_updated_by\":None}\n\telse:\n\t\tvalue \u003d value[0]\n\t\n\treturn value", + "type": "script" + } + ], + "type": "query" + } + }, + "custom.editMode": { + "binding": { + "config": { + "expression": "false" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "tag-notes-refresh", + "pageScope": true, + "script": "\tself.refreshBinding(\"custom.data.wiki_notes\")\n\tself.refreshBinding(\"custom.data.tag_notes\")", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Breadcrumb/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Breadcrumb/resource.json new file mode 100644 index 0000000..508283b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Breadcrumb/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cbc10f10a04a7dd68956bfdc46bc403b76a1fd7c81caaafa74b1c9d409fc3f1a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:28:06Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Breadcrumb/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Breadcrumb/thumbnail.png new file mode 100644 index 0000000..8872c06 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Breadcrumb/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Breadcrumb/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Breadcrumb/view.json new file mode 100644 index 0000000..4c4d7e1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Breadcrumb/view.json @@ -0,0 +1,85 @@ +{ + "custom": {}, + "params": { + "label": "", + "showArrow": true + }, + "propConfig": { + "params.label": { + "paramDirection": "input", + "persistent": true + }, + "params.showArrow": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 270 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.label" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "currentcolor" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Arrow" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.params.showArrow}" + }, + "type": "expr" + } + } + }, + "props": { + "color": "currentcolor", + "path": "material/arrow_right", + "style": { + "height": "20px", + "width": "20px" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignItems": "center", + "style": { + "cursor": "default" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Header/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Header/resource.json new file mode 100644 index 0000000..2a78dcd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Header/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "478159a5755cf927f21d49439a9a9d028ca30558ae70b98f84b17e574fcc9cad", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T18:25:22Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Header/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Header/thumbnail.png new file mode 100644 index 0000000..0f10263 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Header/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Header/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Header/view.json new file mode 100644 index 0000000..feb70a1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/Header/view.json @@ -0,0 +1,764 @@ +{ + "custom": { + "path": "/" + }, + "params": {}, + "propConfig": { + "custom.path": { + "binding": { + "config": { + "expression": "\u0027/\u0027" + }, + "enabled": false, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 51, + "width": 1094 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tmenuOpen \u003d \u0027material/menu_open\u0027\n\tmenuClosed \u003d \u0027material/menu\u0027\n\t\n\tpath \u003d self.props.path\n\tif path \u003d\u003d menuOpen:\n\t\tself.props.path \u003d menuClosed\n\t\tsystem.perspective.closeDock(\u0027mainNav\u0027)\n\telse:\n\t\tself.props.path \u003d menuOpen\n\t\tsystem.perspective.openDock(\u0027mainNav\u0027)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NavMenu" + }, + "position": { + "basis": "28px", + "shrink": 0 + }, + "propConfig": { + "props.path": { + "binding": { + "config": { + "expression": "\u0027material/menu_open\u0027" + }, + "type": "expr" + } + }, + "props.style.width": { + "binding": { + "config": { + "path": "this.position.basis" + }, + "type": "property" + } + } + }, + "props": { + "color": "currentcolor", + "style": { + "cursor": "pointer", + "margin-left": "20px" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "expression": "{view.custom.path}" + }, + "transforms": [ + { + "code": "\tinstances \u003d []\n\tpages \u003d self.view.custom.path.split(\"/\")[1:]\n\tfor i, label in enumerate(pages):\n\t\tif label !\u003d \"\":\n\t\t\tinstances.append({\n\t\t\t \"label\": label,\n\t\t\t \"showArrow\": True\n\t\t\t})\t\n\tif len(instances) \u003e 0:\n\t\tinstances[-1][\u0027showArrow\u0027] \u003d False\n\treturn instances", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "path": "Library/Layouts/Docked/Breadcrumb", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "custom": { + "gtwys": [ + "[Ignition_Common_IO_Gtwy]", + "[Ignition_SATB1_IO1_default]", + "[Ignition_SATB1_IO2_default]", + "[Ignition_SATB1_IO3_default]" + ], + "paths": [ + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL01/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL03/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL04/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL05/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL06/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL07/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL08/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL09/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL10/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL11/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL12/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL13/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL14/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL15/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL18/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL22/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL24/Delta", + "[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL60/Delta" + ] + }, + "meta": { + "name": "EmbeddedView" + }, + "propConfig": { + "custom.paths": { + "binding": { + "config": { + "struct": { + "tagPaths": "{this.custom.gtwys}", + "time": "now(3000)" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tpaths \u003d value[\u0027tagPaths\u0027]\n\tfor path in paths:\n\t\ttags \u003d system.tag.browse(path,{\"typeId\":\"Objects/Network/PLC_Data v2\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags:\n\t\t\ttag \u003d str(item[\"fullPath\"]) + \"/Delta\"\n\t\t\toutput.append(tag)\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "struct": { + "hb": "now(3000)\r", + "paths": "{this.custom.paths}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tvalues \u003d system.tag.readBlocking(value[\u0027paths\u0027])\n\tfor item in values:\n\t\tif item.value \u003e 150:\n\t\t\treturn True\n\treturn False", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Library/CommonObjects/PLC Healt", + "style": { + "padding": "10px" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "events": { + "component": { + "onRowDoubleClick": { + "config": { + "params": {}, + "view": "Pages/Dev/F_Alarms/L1/Alarm Status" + }, + "scope": "C", + "type": "nav" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "650px", + "shrink": 0 + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]System/Top3Alarms" + }, + "type": "tag" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "label", + "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": "left", + "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": true, + "style": { + "classes": "", + "paddingLeft": 5 + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 250 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "dispPath", + "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": "" + } + ], + "enableHeader": false, + "pager": { + "bottom": false + }, + "resizeMode": "fixed", + "rows": { + "height": 6, + "highlight": { + "enabled": false + }, + "striped": { + "enabled": false + }, + "style": { + "fontSize": 16 + } + }, + "selection": { + "enableRowSelection": false + }, + "style": { + "marginBottom": "5px", + "marginTop": "5px", + "minHeight": "40px" + } + }, + "type": "ia.display.table" + }, + { + "meta": { + "name": "Help" + }, + "position": { + "basis": "28px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "props.style.width": { + "binding": { + "config": { + "path": "this.position.basis" + }, + "type": "property" + } + } + }, + "props": { + "color": "currentcolor", + "path": "material/help_outline", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.icon" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": {}, + "enabled": false, + "scope": "C", + "type": "login" + }, + { + "config": { + "script": "\tif self.session.props.auth.authenticated:\n\t\tsystem.perspective.logout()\n\telse:\n\t\tsystem.perspective.login()" + }, + "scope": "G", + "type": "script" + } + ] + } + }, + "meta": { + "name": "Icon" + }, + "position": { + "basis": "28px", + "shrink": 0 + }, + "propConfig": { + "props.style.width": { + "binding": { + "config": { + "path": "this.position.basis" + }, + "type": "property" + } + } + }, + "props": { + "color": "currentcolor", + "path": "material/account_circle", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.icon" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": {}, + "enabled": false, + "scope": "C", + "type": "login" + }, + { + "config": { + "script": "\tif self.session.props.auth.authenticated:\n\t\tsystem.perspective.logout()\n\telse:\n\t\tsystem.perspective.login()" + }, + "scope": "G", + "type": "script" + } + ] + } + }, + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "/Admin/UserSettings" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "Edit Preferences", + "type": "link" + } + ] + }, + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{session.props.auth.authenticated}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{session.props.auth.user.userName}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + }, + "textStyle": { + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "contextMenu": { + "enabled": true + }, + "name": "User" + }, + "position": { + "shrink": 0 + }, + "props": { + "alignItems": "center", + "style": { + "gap": "5px", + "margin-left": "auto", + "margin-right": "20px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Audio" + }, + "position": { + "basis": "300px" + }, + "props": { + "source": "/system/webdev/SDC_SAT_B1/alert.mp3" + }, + "type": "ia.display.audio" + } + ], + "custom": { + "alarmCounts": [ + 0, + 0, + 0, + 0, + 0, + 0 + ], + "totalCount": 0 + }, + "events": { + "system": { + "onStartup": { + "config": { + "name": "stream-light" + }, + "scope": "C", + "type": "theme" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmCounts[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Alarm Count" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.alarmCounts[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO1_default]Alarm Count" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.alarmCounts[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO2_default]Alarm Count" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.alarmCounts[3]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO3_default]Alarm Count" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.alarmCounts[4]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]Alarm Count" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.alarmCounts[5]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO5_default]AlarmActiveCount" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.totalCount": { + "binding": { + "config": { + "path": "this.custom.alarmCounts" + }, + "enabled": false, + "transforms": [ + { + "code": "\ttotal \u003d 0\n\tfor item in value:\n\t\ttotal +\u003d item\n\treturn total", + "type": "script" + } + ], + "type": "property" + }, + "onChange": { + "enabled": null, + "script": "\tif previousValue is not None and previousValue.value is not None:\n\t\t\n\t\tif currentValue.value \u003e previousValue.value:\n\t\t\tsound_component \u003d self.getChild(\"Audio\")\n\t\t\tsound_component.props.play \u003d False # Reset just in case\n\t\t\tsound_component.props.play \u003d True\n\t\t\t\n\t\t\t# Logger for debugging (check your Gateway or Browser logs)\n\t\t\tsystem.perspective.print(\"New Alarm Detected! Playing Sound.\")" + } + } + }, + "props": { + "justify": "space-between", + "style": { + "backgroundColor": "#143663", + "color": "var(--navtree-color)", + "gap": "10px" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "updateBreadcrumb", + "pageScope": true, + "script": "\tself.view.custom.path \u003d payload[\u0027target\u0027]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/MainNav/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/MainNav/resource.json new file mode 100644 index 0000000..e5f6fef --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/MainNav/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8242f9f17f1568bdb7b6ea109083927b4102b9b59a61a3a046cc561ed55b0835", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T22:27:10Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/MainNav/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/MainNav/thumbnail.png new file mode 100644 index 0000000..6f075ca Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/MainNav/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/MainNav/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/MainNav/view.json new file mode 100644 index 0000000..67ac34c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/Docked/MainNav/view.json @@ -0,0 +1,1258 @@ +{ + "custom": { + "breadcrumb": "/Electrical System Overview/Oneline/P1-P5/P5/P5.1" + }, + "params": {}, + "propConfig": { + "custom.breadcrumb": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 240 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Logo" + }, + "position": { + "basis": "98%", + "shrink": 0 + }, + "propConfig": { + "props.elements[0].fill": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "code": "\treturn \u0027#FFFFFF\u0027 if \u0027light\u0027 in value else \u0027var(--neutral-100)\u0027", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "code": "\treturn \u0027#FFFFFF\u0027 if \u0027light\u0027 in value else \u0027var(--neutral-100)\u0027", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "height": "153.657", + "id": "SVGID_1_", + "name": "SVGID_1_", + "type": "rect", + "width": "761.146", + "x": "1.5" + } + ], + "name": "defs", + "type": "defs" + }, + { + "elements": [ + { + "href": "#SVGID_1_", + "name": "use", + "overflow": "visible", + "type": "use" + } + ], + "id": "SVGID_2_", + "name": "SVGID_2_", + "type": "clipPath" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M186.923,148.914h-10.948v-28.08h10.948c8.826,0,14.926,6.058,14.926,13.962 v0.078C201.849,142.778,195.749,148.914,186.923,148.914 M195.389,134.874c0-4.972-3.411-8.462-8.466-8.462h-4.773v16.927h4.773 c5.055,0,8.466-3.408,8.466-8.383V134.874z", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M250.979,148.914l-2.569-6.296h-11.872l-2.569,6.296h-6.296l12.032-28.279 h5.699l12.032,28.279H250.979z M242.475,128.057l-3.731,9.104h7.462L242.475,128.057z", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "295.619,126.533 295.619,148.914 289.442,148.914 289.442,126.533 280.897,126.533 280.897,120.834 304.164,120.834 304.164,126.533 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M350.93,148.914l-2.569-6.296h-11.872l-2.567,6.296h-6.298l12.032-28.279h5.699 l12.032,28.279H350.93z M342.425,128.057l-3.731,9.104h7.462L342.425,128.057z", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M436.397,149.396c-8.263,0-14.402-6.377-14.402-14.44v-0.082 c0-7.982,6.019-14.52,14.644-14.52c5.295,0,8.462,1.765,11.075,4.332l-3.938,4.531c-2.159-1.964-4.371-3.168-7.173-3.168 c-4.733,0-8.149,3.935-8.149,8.746v0.078c0,4.814,3.331,8.827,8.149,8.827c3.206,0,5.17-1.285,7.379-3.291l3.927,3.973 C445.022,147.473,441.813,149.396,436.397,149.396", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "477.585,148.914 477.585,120.834 498.769,120.834 498.769,126.331 483.721,126.331 483.721,132.026 496.961,132.026 496.961,137.522 483.721,137.522 483.721,143.421 498.964,143.421 498.964,148.914 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "548.9,148.914 535.304,131.063 535.304,148.914 529.207,148.914 529.207,120.834 534.902,120.834 548.056,138.126 548.056,120.834 554.155,120.834 554.155,148.914 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "598.354,126.533 598.354,148.914 592.175,148.914 592.175,126.533 583.635,126.533 583.635,120.834 606.9,120.834 606.9,126.533 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "636.373,148.914 636.373,120.834 657.557,120.834 657.557,126.331 642.509,126.331 642.509,132.026 655.75,132.026 655.75,137.522 642.509,137.522 642.509,143.421 657.753,143.421 657.753,148.914 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M705.043,148.914l-6.019-8.983h-4.854v8.983h-6.179v-28.08h12.836 c6.622,0,10.589,3.49,10.589,9.268v0.082c0,4.53-2.443,7.379-6.015,8.703l6.859,10.027H705.043z M705.16,130.421 c0-2.646-1.846-4.009-4.851-4.009h-6.139v8.061h6.257c3.007,0,4.732-1.604,4.732-3.97V130.421z", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M751.727,149.315c-4.25,0-8.543-1.484-11.909-4.492l3.646-4.371 c2.524,2.085,5.174,3.409,8.384,3.409c2.524,0,4.052-1.005,4.052-2.649v-0.078c0-1.565-0.963-2.368-5.653-3.571 c-5.66-1.442-9.307-3.008-9.307-8.583v-0.082c0-5.095,4.087-8.461,9.825-8.461c4.094,0,7.581,1.281,10.429,3.568l-3.21,4.651 c-2.485-1.722-4.933-2.766-7.297-2.766c-2.368,0-3.614,1.083-3.614,2.446v0.081c0,1.844,1.207,2.447,6.058,3.689 c5.695,1.484,8.905,3.53,8.905,8.423v0.082C762.035,146.187,757.784,149.315,751.727,149.315", + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "clipPath": "url(#SVGID_2_)", + "d": "M171.603,74.682l8.769-10.429c7.94,6.875,16.001,10.783,26.191,10.783 c9.005,0,14.694-4.266,14.694-10.429v-0.233c0-5.926-3.316-9.126-18.727-12.68c-17.654-4.271-27.608-9.484-27.608-24.77v-0.237 c0-14.22,11.85-24.057,28.32-24.057c12.089,0,21.689,3.673,30.101,10.427l-7.819,11.024c-7.467-5.571-14.932-8.535-22.518-8.535 c-8.532,0-13.509,4.386-13.509,9.839v0.233c0,6.403,3.791,9.246,19.791,13.036c17.537,4.268,26.547,10.55,26.547,24.295v0.238 c0,15.522-12.21,24.767-29.63,24.767C193.525,87.955,181.558,83.568,171.603,74.682", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "290.127,17.325 263.818,17.325 263.818,3.816 331.13,3.816 331.13,17.325 304.821,17.325 304.821,86.769 290.127,86.769 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M365.041,3.816h36.975c10.429,0,18.606,3.08,23.937,8.294 c4.388,4.503,6.873,10.666,6.873,17.895v0.238c0,13.629-8.175,21.805-19.67,25.122l22.395,31.403h-17.296l-20.385-28.914h-18.251 v28.914h-14.577V3.816z M400.948,44.937c10.429,0,17.064-5.45,17.064-13.862v-0.241c0-8.884-6.397-13.745-17.182-13.745h-21.213 v27.848H400.948z", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "469.228,3.816 530.73,3.816 530.73,16.85 483.802,16.85 483.802,38.419 525.396,38.419 525.396,51.454 483.802,51.454 483.802,73.734 531.321,73.734 531.321,86.769 469.228,86.769 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M596.523,3.223h13.508l36.5,83.545h-15.407l-8.413-20.024h-39.223 l-8.534,20.024h-14.934L596.523,3.223z M617.378,53.826l-14.34-33.184l-14.22,33.184H617.378z", + "name": "path", + "type": "path" + }, + { + "clipPath": "url(#SVGID_2_)", + "name": "polygon", + "points": "679.263,3.816 694.787,3.816 720.025,43.043 745.271,3.816 760.792,3.816 760.792,86.769 746.217,86.769 746.217,27.279 720.025,66.385 719.557,66.385 693.6,27.518 693.6,86.769 679.263,86.769 ", + "type": "polygon" + }, + { + "clipPath": "url(#SVGID_2_)", + "d": "M1.5,148.914h130.725V3.758H1.5V148.914z M118.767,117.624H22.734v11.789 h96.032v7.22H15.519v-26.23h103.248V117.624z M118.767,98.746H15.519v-7.212h96.029V79.875H15.519v-7.219h103.248V98.746z M118.767,23.256h-96.59v11.653h96.59v26.092H15.519v-7.218h96.029V42.128H14.961V16.04h103.806V23.256z", + "name": "path", + "type": "path" + } + ], + "name": "logoAndStream", + "type": "group" + } + ], + "viewBox": "0 0 763 153.657" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "80px" + }, + "props": { + "justify": "center", + "style": { + "backgroundColor": "#143663", + "padding": "10px 15px" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\ttrue \u003d True\n\tfalse \u003d False\n\tnewList \u003d []\n\tfor n in [\"CWS 3000\", \"CWS 4000\", \"CWS 5000\", \"CWS 6000\", \"CWS 7000\"]:\n\t\tnewList.append({\n\t\t \"label\": n,\n\t\t \"expanded\": false,\n\t\t \"data\": {},\n\t\t \"items\": []\n\t\t})\n\tself.getSibling(\"Tree_0\").props.items[1].items[8].items \u003d newList" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PopulaterButton" + }, + "position": { + "basis": "34px", + "display": false + }, + "type": "ia.input.button" + }, + { + "custom": { + "lastSelection": [ + 3, + 2, + 5, + 4, + 0 + ] + }, + "events": { + "component": { + "onItemClicked": { + "config": { + "script": "\titemPath \u003d [int(x) for x in list(event.itemPath)]\n\titems \u003d self.props.items\n\ttarget \u003d self.props.selectionData[0].value.target\n\tGoTo \u003d self.props.selectionData[0].value.GoTo\n\tzoom \u003d self.props.selectionData[0].value.zoom\n\tlastSelection \u003d [int(x) for x in list(self.custom.lastSelection)]\n\titemsCopy \u003d system.util.jsonDecode(system.util.jsonEncode(items))\n\tbreadcrumb \u003d \u0027\u0027\n\tdef toggleItemsByPath(items, path, breadcrumb):\n\t\tcurrent_level \u003d items\n\t\t# Traverse down the levels to find the target node by following the path\n\t\tfor i, index in enumerate(path):\n\t\t\tif i \u003d\u003d len(path)-1:\n\t\t\t\tbreadcrumb +\u003d \"/{}\".format(current_level[index][\u0027label\u0027])\n\t\t\t\tcurrent_level \u003d current_level[index]\n\t\t\telse:\n\t\t\t\tbreadcrumb +\u003d \"/{}\".format(current_level[index][\u0027label\u0027])\n\t\t\t\tcurrent_level \u003d current_level[index][\u0027items\u0027]\n\t\t\t\n\t\t# Recursively collapse all children within this node\n\t\tdef recursiveCollapse(node):\n\t\t\tif \u0027items\u0027 in node:\n\t\t\t\tnode[\u0027expanded\u0027] \u003d False\n\t\t\t\tfor child in node[\u0027items\u0027]:\n\t\t\t\t\trecursiveCollapse(child)\n\t\t\n\t\texpand \u003d not current_level[\u0027expanded\u0027]\n\t\t\n\t\tif not expand and itemPath !\u003d lastSelection and target !\u003d \"\":\n\t\t\tpass\n\t\telse:\n\t\t\tcurrent_level[\u0027expanded\u0027] \u003d expand\n\t\t\n\t\tif not expand:\n\t\t\tfor child in current_level[\u0027items\u0027]:\n\t\t\t\trecursiveCollapse(child)\n\t\t\t\t\n\t\tself.view.custom.breadcrumb \u003d breadcrumb\n\t\t\t\t\n#\ttoggleItemsByPath(itemsCopy, itemPath, breadcrumb)\n\tself.toggleItemsByPath(itemPath, lastSelection, target, itemsCopy, itemPath, breadcrumb)\n\tself.props.items \u003d itemsCopy\n\tself.custom.lastSelection \u003d itemPath\n\tif target !\u003d \"\":\n\t\tsystem.perspective.sendMessage(\u0027updateBreadcrumb\u0027, {\u0027target\u0027:self.view.custom.breadcrumb})\n\t\tsystem.perspective.navigate(view \u003d target, params \u003d {\u0027GoTo\u0027:GoTo, \u0027zoom\u0027:zoom})" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Tree" + }, + "position": { + "basis": "516px", + "grow": 1, + "shrink": 0 + }, + "props": { + "appearance": { + "defaultNodeIcons": { + "collapsed": { + "path": "material/arrow_drop_up" + }, + "empty": { + "path": "material/arrow_drop_up" + }, + "expanded": { + "path": "material/arrow_right" + } + }, + "expandIcons": { + "expanded": { + "color": "#E33939" + } + }, + "selectedStyle": { + "fontSize": 16 + }, + "unselectedStyle": { + "fontSize": 16 + } + }, + "items": [ + { + "data": { + "GoTo": "", + "content": "Home", + "target": "Pages/Dashboards/Home", + "zoom": "" + }, + "expanded": true, + "items": [], + "label": "Home" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Dashboards/CHW_System", + "zoom": "" + }, + "expanded": true, + "items": [ + { + "data": { + "GoTo": "", + "target": "Pages/Mechanical/Skid_Details", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "", + "target": "Pages/Mechanical/LLS_CHW_Skids", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Lead Lag" + } + ], + "label": "Skid details" + }, + { + "data": { + "GoTo": "/CHW_System", + "target": "Library/Layouts/iFrame/Main", + "zoom": "150%" + }, + "expanded": false, + "items": [], + "label": "CHWP Flow" + } + ], + "label": "CHW System" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Dashboards/Datahalls", + "zoom": "" + }, + "expanded": true, + "items": [ + { + "data": { + "GoTo": "/DH101", + "target": "Library/Layouts/iFrame/Main", + "zoom": "143%" + }, + "expanded": false, + "items": [], + "label": "DH 101" + }, + { + "data": { + "GoTo": "/DH102", + "target": "Library/Layouts/iFrame/Main", + "zoom": "143%" + }, + "expanded": false, + "items": [], + "label": "DH 102" + }, + { + "data": { + "GoTo": "/DH201", + "target": "Library/Layouts/iFrame/Main", + "zoom": "143%" + }, + "expanded": false, + "items": [], + "label": "DH 201" + }, + { + "data": { + "GoTo": "/DH202", + "target": "Library/Layouts/iFrame/Main", + "zoom": "143%" + }, + "expanded": false, + "items": [], + "label": "DH 202" + }, + { + "data": { + "GoTo": "/DH203", + "target": "Library/Layouts/iFrame/Main", + "zoom": "143%" + }, + "expanded": false, + "items": [], + "label": "DH 203" + } + ], + "label": "Datahalls" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Dashboards/Equipment", + "zoom": "" + }, + "expanded": true, + "items": [ + { + "data": { + "GoTo": "", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/DOAS", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "DOAS" + }, + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/RTU", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "RTU" + }, + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/CRAH", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "CRAH" + }, + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/STU", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "STU" + }, + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/HUM", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "HUM" + }, + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/VAV", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "VAV" + }, + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/FCU", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "FCU" + }, + { + "data": { + "GoTo": "", + "target": "Pages/HVAC/EF", + "zoom": "value" + }, + "expanded": false, + "items": [], + "label": "EF" + }, + { + "data": { + "GoTo": "value", + "target": "Pages/HVAC/SP", + "zoom": "value" + }, + "expanded": false, + "items": [], + "label": "ESP" + } + ], + "label": "HVAC" + }, + { + "data": { + "GoTo": "", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "", + "target": "Pages/Dashboards/Generators", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "GEN" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Dashboards/UPS", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "UPS" + } + ], + "label": "Electrical" + }, + { + "data": { + "GoTo": "", + "target": "Pages/FireSystem/FireSystem", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Fire System" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Diagnostics/Panels_List", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Control Panels" + } + ], + "label": "Equipment" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Dashboards/EPMS", + "zoom": "" + }, + "expanded": true, + "items": [ + { + "data": { + "GoTo": "/Oneline_SES", + "target": "Library/Layouts/iFrame/Main", + "zoom": "94%" + }, + "expanded": false, + "items": [], + "label": "SES" + }, + { + "data": { + "GoTo": "/Oneline_UT", + "target": "Library/Layouts/iFrame/Main", + "zoom": "143%" + }, + "expanded": false, + "items": [], + "label": "UT" + }, + { + "data": { + "GoTo": "/Oneline_HS1", + "target": "Library/Layouts/iFrame/Main", + "zoom": "116%" + }, + "expanded": false, + "items": [], + "label": "HS1" + }, + { + "data": { + "GoTo": "/Oneline_HS2", + "target": "Library/Layouts/iFrame/Main", + "zoom": "105%" + }, + "expanded": false, + "items": [], + "label": "HS2" + }, + { + "data": { + "GoTo": "/", + "target": "", + "zoom": "110%" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "/Oneline_M1", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M1" + }, + { + "data": { + "GoTo": "/Oneline_M2", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M2" + }, + { + "data": { + "GoTo": "/Oneline_M3", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M3" + }, + { + "data": { + "GoTo": "/Oneline_M4", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M4" + }, + { + "data": { + "GoTo": "/Oneline_M5", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M5" + }, + { + "data": { + "GoTo": "/Oneline_M6", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M6" + }, + { + "data": { + "GoTo": "/Oneline_M7", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M7" + }, + { + "data": { + "GoTo": "/Oneline_M8", + "target": "Library/Layouts/iFrame/Main", + "zoom": "110%" + }, + "expanded": false, + "items": [], + "label": "M8" + } + ], + "label": "M1-M8" + }, + { + "data": { + "GoTo": "/", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "/", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "/Oneline_DH101_P1", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P1" + }, + { + "data": { + "GoTo": "/Oneline_DH101_P2", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P2" + }, + { + "data": { + "GoTo": "/Oneline_DH101_P3", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P3" + }, + { + "data": { + "GoTo": "/Oneline_DH101_P4", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P4" + }, + { + "data": { + "GoTo": "/Oneline_DH101_P5", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P5" + } + ], + "label": 101 + }, + { + "data": { + "GoTo": "/", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "/Oneline_DH102_P1", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P1" + }, + { + "data": { + "GoTo": "/Oneline_DH102_P2", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P2" + }, + { + "data": { + "GoTo": "/Oneline_DH102_P3", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P3" + }, + { + "data": { + "GoTo": "/Oneline_DH102_P4", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P4" + }, + { + "data": { + "GoTo": "/Oneline_DH102_P5", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P5" + } + ], + "label": 102 + }, + { + "data": { + "GoTo": "/", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "/Oneline_DH201_P1", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P1" + }, + { + "data": { + "GoTo": "/Oneline_DH201_P2", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P2" + }, + { + "data": { + "GoTo": "/Oneline_DH201_P3", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P3" + }, + { + "data": { + "GoTo": "/Oneline_DH201_P4", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P4" + }, + { + "data": { + "GoTo": "/Oneline_DH201_P5", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P5" + } + ], + "label": 201 + }, + { + "data": { + "GoTo": "/", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "/Oneline_DH202_P1", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P1" + }, + { + "data": { + "GoTo": "/Oneline_DH202_P2", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P2" + }, + { + "data": { + "GoTo": "/Oneline_DH202_P3", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P3" + }, + { + "data": { + "GoTo": "/Oneline_DH202_P4", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P4" + }, + { + "data": { + "GoTo": "/Oneline_DH202_P5", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P5" + } + ], + "label": 202 + }, + { + "data": { + "GoTo": "/", + "target": "", + "zoom": "" + }, + "expanded": false, + "items": [ + { + "data": { + "GoTo": "/Oneline_DH203_P1", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P1" + }, + { + "data": { + "GoTo": "/Oneline_DH203_P2", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P2" + }, + { + "data": { + "GoTo": "/Oneline_DH203_P3", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P3" + }, + { + "data": { + "GoTo": "/Oneline_DH203_P4", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P4" + }, + { + "data": { + "GoTo": "/Oneline_DH203_P5", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + }, + "expanded": false, + "items": [], + "label": "P5" + } + ], + "label": 203 + } + ], + "label": "DH" + } + ], + "label": "Power Distribution" + }, + { + "data": { + "GoTo": "", + "target": "", + "zoom": "" + }, + "expanded": true, + "items": [ + { + "data": { + "GoTo": "", + "target": "Pages/Alarms/Active Alarms", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Active Alarms" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Alarms/History Journal", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "History Journal" + } + ], + "label": "Alarms" + }, + { + "data": { + "GoTo": "", + "target": "", + "zoom": "" + }, + "expanded": true, + "items": [ + { + "data": { + "GoTo": "", + "target": "Pages/Diagnostics/AdHocTrends", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Builder" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Diagnostics/TableTrends", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Tables" + } + ], + "label": "Trend Center" + }, + { + "data": { + "GoTo": "", + "target": "", + "zoom": "" + }, + "expanded": true, + "items": [ + { + "data": { + "GoTo": "", + "target": "Pages/Diagnostics/PLC Data", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "PLC" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Diagnostics/Server Status", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Gateways" + }, + { + "data": { + "GoTo": "", + "target": "Pages/Diagnostics/Connections", + "zoom": "" + }, + "expanded": false, + "items": [], + "label": "Connections" + } + ], + "label": "Diagnotics \u0026 Tools" + } + ], + "selection": [ + "3/2/5/4/0" + ], + "selectionData": [ + { + "itemPath": "3/2/5/4/0", + "value": { + "GoTo": "/Oneline_P5.1*", + "target": "Library/Layouts/iFrame/Main", + "zoom": "113%" + } + } + ], + "style": { + "fontFamily": "Nunito" + } + }, + "scripts": { + "customMethods": [ + { + "name": "toggleItemsByPath", + "params": [ + "itemPath", + "lastSelection", + "target", + "items", + "path", + "breadcrumb" + ], + "script": "\tcurrent_level \u003d items\n\t# Traverse down the levels to find the target node by following the path\n\tfor i, index in enumerate(path):\n\t\tif i \u003d\u003d len(path)-1:\n\t\t\tbreadcrumb +\u003d \"/{}\".format(current_level[index][\u0027label\u0027])\n\t\t\tcurrent_level \u003d current_level[index]\n\t\telse:\n\t\t\tbreadcrumb +\u003d \"/{}\".format(current_level[index][\u0027label\u0027])\n\t\t\tcurrent_level \u003d current_level[index][\u0027items\u0027]\n\t\t\n\t# Recursively collapse all children within this node\n\tdef recursiveCollapse(node):\n\t\tif \u0027items\u0027 in node:\n\t\t\tnode[\u0027expanded\u0027] \u003d False\n\t\t\tfor child in node[\u0027items\u0027]:\n\t\t\t\trecursiveCollapse(child)\n\t\n\texpand \u003d not current_level[\u0027expanded\u0027]\n\t\n\tif not expand and itemPath !\u003d lastSelection and target !\u003d \"\":\n\t\tpass\n\telse:\n\t\tcurrent_level[\u0027expanded\u0027] \u003d expand\n\t\n\tif not expand:\n\t\tfor child in current_level[\u0027items\u0027]:\n\t\t\trecursiveCollapse(child)\n\tself.view.custom.breadcrumb \u003d breadcrumb" + }, + { + "name": "generateSelectionPath", + "params": [ + "breadcrumbPath" + ], + "script": "\t\"\"\" breadcrumbPath is a string representation of the label at various levels\n\t\tie. /Electrical System Overview/Oneline/SES\n\t\"\"\"\n\tselectionItemList \u003d []\n\tdef recBuildPath(nodes, bcSplitList):\n\t\tfor i, crumb in enumerate(bcSplitList):\n\t\t\tfor nCtr, node in enumerate(nodes):\n\t\t\t\tif node[\"label\"] \u003d\u003d crumb:\n\t\t\t\t\tselectionItemList.append(nCtr)\n\t\t\t\t\trecBuildPath(node[\"items\"], bcSplitList[i+1:])\n\t\t\t\t\tbreak\n\t\treturn selectionItemList\n\tbcSplitList\u003d breadcrumbPath.split(\"/\")[1:] if breadcrumbPath[0]\u003d\u003d\"/\" else breadcrumbPath.split(\"/\")\n\tselectionItemList \u003d recBuildPath(utils.helper.sanitize_tree(self.props.items), bcSplitList)\n#\tsystem.perspective.print(\"--- %s || %s\"%(selectionItemList, bcSplitList))\n\treturn \"\" if len(selectionItemList) !\u003d len(bcSplitList) else \"/\".join(map(str,selectionItemList))" + } + ], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "updateNavSelection", + "pageScope": true, + "script": "\n#\tfor i,crumb in enumerate(bcSplitList):\n\tself.props.selection[0] \u003d self.generateSelectionPath(payload[\"breadcrumb\"])\n\t\n\t\t", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.display.tree" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "sYFSKuOZ", + "modal": false, + "overlayDismiss": false, + "resizable": true, + "showCloseIcon": true, + "title": "Tag Browser", + "type": "open", + "viewPath": "Delete ME/Tag Browser", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Tag Browser", + "textStyle": { + "cursor": "pointer", + "fontFamily": "inherit", + "marginLeft": 25 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "navtree", + "gap": "10px" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "evtNavSelectionChange", + "pageScope": true, + "script": "\t# implement your handler here\n\tsystem.perspective.print(\"evtNavSelectionChange received\")", + "sessionScope": true, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/LLS/Device LLS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/LLS/Device LLS/resource.json new file mode 100644 index 0000000..fc7bf8d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/LLS/Device LLS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cafef0cd533599286028e367172de77b8ebb904ad12dd52ebcfe482646ea4791", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T22:52:44Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/LLS/Device LLS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/LLS/Device LLS/thumbnail.png new file mode 100644 index 0000000..75e6ebb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/LLS/Device LLS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/LLS/Device LLS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/LLS/Device LLS/view.json new file mode 100644 index 0000000..fd73255 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/LLS/Device LLS/view.json @@ -0,0 +1,7269 @@ +{ + "custom": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*CHWS/Chiller_LLS*" + }, + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + }, + "current_demand": null, + "editPriority": false, + "max_demand": null, + "min_demand": null, + "nUnits": null, + "operatorPriority": null, + "priority": null, + "runtime": null, + "status": null, + "statusBinary": null, + "statusTranslation": [ + { + "index": 0, + "value": [ + "Not Avail", + "Available" + ] + }, + { + "index": 1, + "value": [ + "Stopped", + "Running" + ] + }, + { + "index": 2, + "value": [ + "Good", + "Failed" + ] + } + ], + "tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS", + "tagPath1": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_Rotation" + }, + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*CHWS/Chiller_LLS*" + }, + "deviceName": "Chiller", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/CH", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_Rotation" + } + }, + "permissions": { + "securityLevels": [], + "type": "AllOf" + }, + "propConfig": { + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.current_demand": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath_LLS": "{view.params.tagPaths.tagPath_LLS}" + }, + "tagPath": "{tagPath_LLS}/Value Demand" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.editPriority": { + "binding": { + "config": { + "expression": "false" + }, + "enabled": false, + "type": "expr" + }, + "persistent": true + }, + "custom.max_demand": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath_LLS": "{view.params.tagPaths.tagPath_LLS}" + }, + "tagPath": "{tagPath_LLS}/Config/Max Demand" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.min_demand": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath_LLS": "{view.params.tagPaths.tagPath_LLS}" + }, + "tagPath": "{tagPath_LLS}/Config/Min Demand" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.nUnits": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Config/Number of Units" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.operatorPriority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.priority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.tagPath}" + }, + "tagPath": "{1}/Reference Devices" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.runtime": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.tagPath}" + }, + "tagPath": "{1}/Device Runtime" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.tagPath}" + }, + "tagPath": "{1}/Status Devices" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.statusBinary": { + "binding": { + "config": { + "path": "view.custom.status" + }, + "transforms": [ + { + "code": "\t\n\tdef int_to_bits(num):\n\t # Ensure the integer is formatted as a 3-bit binary string and then reversed\n\t binary_str \u003d format(num % 8, \u002703b\u0027) # % 8 ensures only the last 3 bits are considered\n\t return [int(bit) for bit in binary_str[::-1]]\n\t\n\treturn [int_to_bits(num) for num in value]", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.statusTranslation": { + "persistent": true + }, + "custom.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPaths.tagPath_LLS" + }, + "type": "property" + }, + "persistent": true + }, + "custom.tagPath1": { + "binding": { + "config": { + "path": "view.params.tagPaths.tagPath_Rotation" + }, + "type": "property" + }, + "persistent": true + }, + "params.alm_Filter": { + "paramDirection": "input", + "persistent": true + }, + "params.deviceName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPaths": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 897 + }, + "pageId": "" + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "Status", + "textStyle": { + "classes": "labels/section-title", + "text-indent": "10px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Gauge" + }, + "position": { + "basis": "142px", + "shrink": 0 + }, + "propConfig": { + "props.outerAxis.maxValue": { + "binding": { + "config": { + "path": "view.custom.nUnits" + }, + "enabled": false, + "type": "property" + } + }, + "props.outerAxis.ranges[1].end": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Avail" + }, + "enabled": false, + "type": "tag" + } + }, + "props.outerAxis.ranges[2].end": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Demand" + }, + "enabled": false, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Feedback" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "backgroundColor": "", + "innerAxis": { + "data": "secondaryValue", + "maxValue": 80, + "percentRadius": 85, + "show": false, + "width": 1 + }, + "outerAxis": { + "data": "value", + "maxValue": 54, + "needle": { + "color": "#555555", + "reach": 95 + }, + "percentRadius": 90, + "ranges": [ + { + "color": "#8080809D", + "end": 48, + "start": 0, + "width": 100 + }, + { + "color": "#77B6D8", + "end": 30, + "start": 0, + "width": 100 + }, + { + "color": "#B46EED", + "end": 25, + "start": 0, + "width": 4 + } + ], + "show": true, + "tickMarks": { + "length": 2 + }, + "width": 1 + }, + "value": 8 + }, + "type": "ia.chart.gauge" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "#77B6D8", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Available" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Avail" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "enabled": false, + "style": { + "margin-right": "auto" + }, + "value": 18 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Avail" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": 30, + "textStyle": { + "color": "var(--tagvalue-color)", + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Available" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "#B46EED", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Demand" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "enabled": false, + "spinner": { + "enabled": false + }, + "value": 7 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "value" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Demand" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": 25, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Demand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "#555555", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Feedback" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Feedback" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "enabled": false, + "spinner": { + "enabled": false + }, + "style": { + "margin-right": "auto" + }, + "value": 7 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "value" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Feedback" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": 8, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Feedback" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "propConfig": { + "props.params.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Status LineUp Adjusting" + }, + "enabled": false, + "transforms": [ + { + "fallback": "transparent", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "transparent" + }, + { + "input": true, + "output": "gray" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "color": "transparent" + }, + "path": "Library/Framework/Border CSS", + "style": { + "marginLeft": 2 + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Status LineUp Adjusting" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Adjusting Line Up" + }, + { + "input": false, + "output": "Line Up Complete" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Line Up Complete" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "LineUp Adjusting" + }, + "position": { + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "propConfig": { + "props.params.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Stage Mode" + }, + "enabled": false, + "transforms": [ + { + "fallback": "gray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "transparent" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "color": "transparent" + }, + "path": "Library/Framework/Border CSS", + "style": { + "marginLeft": 2 + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Value Stage Mode" + }, + "enabled": false, + "transforms": [ + { + "fallback": "State Out Of Sequence", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Normal Mode" + }, + { + "input": 1, + "output": "Staging Up" + }, + { + "input": 2, + "output": "Staging Down" + }, + { + "input": 3, + "output": "Checking Stability" + }, + { + "input": 4, + "output": "Operator Priority Changing" + }, + { + "input": 5, + "output": "Runtime Rotations" + }, + { + "input": 6, + "output": "Position Rotations" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "State Out Of Sequence" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Trans Active" + }, + "position": { + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Color Indicator" + }, + "position": { + "basis": "18px" + }, + "props": { + "style": { + "backgroundColor": "transparent", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "margin": 2 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label", + "tooltip": { + "text": "Rotation indication, 1 Hour notice flag." + } + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Rotation Aproaching" + }, + "enabled": false, + "transforms": [ + { + "fallback": "-", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Rotation Approaching" + }, + { + "input": false, + "output": "" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": " " + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Rotation Approaching" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Rotation Aproaching" + }, + "type": "tag" + } + } + }, + "props": { + "justify": "center", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Alarms" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmStatusTable" + }, + "position": { + "basis": "83px" + }, + "propConfig": { + "props.filters.active.conditions": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.alm_Filter" + }, + "type": "property" + }, + "persistent": true + } + }, + "props": { + "columns": { + "active": { + "activeTime": { + "strictWidth": true, + "width": 145 + }, + "displayPath": { + "width": 300 + }, + "name": { + "enabled": false + }, + "priority": { + "enabled": false, + "width": 50 + }, + "source": { + "enabled": false + }, + "state": { + "enabled": false, + "width": "auto" + } + } + }, + "enableAcknowledge": false, + "enableDetails": false, + "enableHeader": false, + "enableShelve": false, + "enableUnshelve": false, + "filters": { + "active": { + "conditions": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*CHWS/Chiller_LLS*" + }, + "priorities": { + "diagnostic": true + }, + "states": { + "clearUnacked": false + } + } + }, + "pager": { + "enabled": false + }, + "rowStyles": { + "activeAcked": { + "priorities": { + "critical": { + "backgroundColor": "#e2202888" + }, + "high": { + "backgroundColor": "#de7c3388" + }, + "low": { + "backgroundColor": "#7266b788" + }, + "medium": { + "backgroundColor": "#f4b83488" + } + } + }, + "activeUnacked": { + "priorities": { + "critical": { + "backgroundColor": "var(--alarmred)" + }, + "high": { + "backgroundColor": "var(--sunsetorange)" + }, + "low": { + "backgroundColor": "var(--coolpurple)" + }, + "medium": { + "backgroundColor": "var(--goldenyellow)" + } + } + } + }, + "style": { + "backgroundColor": "var(--containerRoot)", + "borderStyle": "none", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "hidden" + }, + "toolbar": { + "enableActiveTab": false, + "enableConfiguration": false, + "enableFilterResults": false, + "enablePreFilters": false, + "enableShelvedTab": false, + "enabled": false, + "toggleableFilter": false + } + }, + "type": "ia.display.alarmstatustable" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "105px" + }, + "props": { + "direction": "column", + "style": { + "margin": -2 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "borderLeft": "1px solid var(--border)", + "borderRight": "1px solid var(--border)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Status" + }, + "position": { + "basis": "247px", + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "Controls", + "textStyle": { + "classes": "labels/section-title", + "text-indent": "10px" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Auto/Manual" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Auto" + }, + { + "input": false, + "output": "Manual" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)" + }, + "text": "Auto", + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "21%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "color": { + "selected": "var(--action-primary)" + }, + "selected": true + }, + "type": "ia.input.toggle-switch" + } + ], + "meta": { + "name": "Auto-Manual" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "On/Off" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--callToAction)" + }, + { + "input": true, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "On" + }, + { + "input": false, + "output": "Off" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "black" + }, + "text": "Off", + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "height": 33, + "width": 48, + "x": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "color": { + "selected": "var(--action-primary)" + }, + "selected": true + }, + "type": "ia.input.toggle-switch" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif self.view.custom.auth.control:\n\t\tutils.Alerts.showAlert(\"info\", \"Turn On-Off\", \"Are you sure you want to change the state of the LLS?\", \"true\" , \"Continue\" , \"Cancel\" , \"\" , \"\" , \"\" , \"setONOFFBtn\", \"CloseAlertDialog\", \"CloseAlertDialog\")\n\t\t\t\t\t\t #\"state\", \"title\"\t\t , \"message\"\t\t\t\t\t\t\t\t\t\t\t\t\t, \"showCloseBtn\", \"btnTextPrimary\", \"btnTextSecondary\", \"btnIconPrimary\", \"btnIconSecondary\", \"btnIconAlignment\", \"btnActionPrimary\" , \"btnActionSecondary\" , \"btnActionClose\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 28, + "width": 43, + "x": 5.73, + "y": 3 + }, + "props": { + "style": { + "classes": "tglswch" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CoordinateContainer" + }, + "position": { + "shrink": 0 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "On" + }, + { + "input": false, + "output": "Off" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)" + }, + "text": "On", + "textStyle": { + "fontSize": 14, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "On-Off" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "enabled": false, + "transforms": [ + { + "expression": "\u0027Demand SP: \u0027+ tostr({value})", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Demand SP:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/System_EnableCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)" + }, + "text": 8, + "textStyle": { + "fontSize": 14, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.props.tag \u003d self.props.tag + 1\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "18%" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "current": "{view.custom.current_demand}", + "lineUpComplete": "tag({view.custom.tagPath}+\u0027/Status LineUp Complete\u0027)", + "max": "{view.custom.max_demand}", + "mode": "tag({view.custom.tagPath}+\u0027/Control/Mode\u0027)", + "stageMode": "tag({view.custom.tagPath}+\u0027/Value Stage Mode\u0027)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value[\u0027current\u0027] \u003e\u003d value[\u0027max\u0027]:\n\t\treturn False\n\telif value[\u0027mode\u0027]\u003d\u003dFalse:# and value[\u0027lineUpComplete\u0027]\u003d\u003dTrue and value[\u0027stageMode\u0027]\u003d\u003d0:\n\t\treturn True\n\telse:\n\t\treturn False\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + }, + "props.image.icon": { + "persistent": false + }, + "props.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "align": "stretch", + "image": { + "position": "right" + }, + "style": { + "backgroundColor": "var(--action-primary)", + "overflow": "hidden" + }, + "tag": 0, + "text": "Up" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.props.tag \u003d self.props.tag - 1\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "18%" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "current": "{view.custom.current_demand}", + "lineUpComplete": "tag({view.custom.tagPath}+\u0027/Status LineUp Complete\u0027)", + "min": "{view.custom.min_demand}", + "mode": "tag({view.custom.tagPath}+\u0027/Control/Mode\u0027)", + "stageMode": "tag({view.custom.tagPath}+\u0027/Value Stage Mode\u0027)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027current\u0027] \u003c\u003d value[\u0027min\u0027]:\n\t\treturn False\n\telif value[\u0027mode\u0027]\u003d\u003dFalse:# and value[\u0027lineUpComplete\u0027]\u003d\u003dTrue and value[\u0027stageMode\u0027]\u003d\u003d0:\n\t\treturn True\n\telse:\n\t\treturn False\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "type": "property" + } + }, + "props.image.icon": { + "persistent": false + }, + "props.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Demand_SP" + }, + "type": "tag" + } + } + }, + "props": { + "image": {}, + "style": { + "overflow": "hidden" + }, + "text": "Dn" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Demand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Operator Priority" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Accept", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "25%", + "shrink": 0 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Accept" + }, + "type": "tag" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "Cfg_DuplicateNum": "tag({view.custom.tagPath}+\u0027/Alarms/Alarm Cfg Duplicate Number\u0027)", + "Cfg_Error": "tag({view.custom.tagPath}+\u0027/Alarms/Alarm Cfg Error\u0027)", + "authentication": "{session.props.auth.authenticated}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027authentication\u0027]:\n\t\tText \u003d \u0027No user is logged in\u0027\n\telif value[\u0027Cfg_Error\u0027]:\n\t\tText \u003d \u0027Operator priority has a duplicate number. Number: \u0027 + str(value[\u0027Cfg_DuplicateNum\u0027])\n\telse:\n\t\tText \u003d \u0027\u0027\n\treturn Text", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{view.custom.auth.control}\r\n\u0026\u0026 !tag({view.custom.tagPath}+\u0027/Alarms/Alarm Cfg Error\u0027)\r\n\u0026\u0026 !tag({view.custom.tagPath}+\u0027/Status LineUp Adjusting\u0027)\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--action-primary)", + "padding": "0 10px" + }, + "text": "Accept" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Operator Priority" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Operator Reset" + }, + "type": "ia.display.label" + }, + { + "custom": { + "tag": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Accept", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "25%", + "shrink": 0 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "enabled": false, + "type": "tag" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "Cfg_DuplicateNum": "tag({view.custom.tagPath}+\u0027/Alarms/Alarm Cfg Duplicate Number\u0027)", + "Cfg_Error": "tag({view.custom.tagPath}+\u0027/Alarms/Alarm Cfg Error\u0027)", + "authentication": "{session.props.auth.authenticated}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027authentication\u0027]:\n\t\tText \u003d \u0027No user is logged in\u0027\n\telif value[\u0027Cfg_Error\u0027]:\n\t\tText \u003d \u0027Operator priority has a duplicate number. Number: \u0027 + str(value[\u0027Cfg_DuplicateNum\u0027])\n\telse:\n\t\tText \u003d \u0027\u0027\n\treturn Text", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--action-primary)", + "padding": "0 10px" + }, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Operator Reset" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "alignVertical": "top", + "text": "Rotation Control", + "textStyle": { + "fontWeight": "600", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Rotation Control" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "borderTop": "1px solid var(--border)", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Auto/Manual" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Auto Mode" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Auto Mode" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Auto" + }, + { + "input": false, + "output": "Manual" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--action-primary)" + }, + "text": "Auto", + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "21%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Auto Mode" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "color": { + "selected": "var(--action-primary)" + }, + "selected": true + }, + "type": "ia.input.toggle-switch" + } + ], + "meta": { + "name": "Rotation AutoMAn" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Rotation Type" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Rotation Type" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--callToAction)" + }, + { + "input": true, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Rotation Type" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "" + }, + { + "input": false, + "output": "Runtime" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "black" + }, + "text": "Runtime", + "textStyle": { + "fontSize": 14, + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Rotation Type" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "color": { + "selected": "var(--action-primary)" + }, + "selected": true, + "style": { + "classes": "tglswch" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath1": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath1}/Rotation Type" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--callToAction)" + }, + { + "input": false, + "output": "var(--neutral-90)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Rotation Type" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Positions" + }, + { + "input": true, + "output": "" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--action-primary)" + }, + "text": "Positions", + "textStyle": { + "fontSize": 14, + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Rotation Type" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Rotate Now" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Accept", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "25%", + "shrink": 0 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/OCmd Rotate Now" + }, + "type": "tag" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "authentication": "{session.props.auth.authenticated}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027authentication\u0027]:\n\t\tText \u003d \u0027No user is logged in\u0027\n\telse:\n\t\tText \u003d \u0027\u0027\n\treturn Text", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "!tag({view.custom.tagPath1}+\u0027/Auto Mode\u0027)\r\n\u0026\u0026 tag({view.custom.tagPath}+\u0027/Status LineUp Complete\u0027)\r\n\u0026\u0026 {view.custom.auth.control}\r\n\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--action-primary)", + "padding": "0 10px" + }, + "text": "Rotate" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Rotate Now" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Skip Rotation" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.tag \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Accept", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "25%", + "shrink": 0 + }, + "propConfig": { + "custom.tag": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/OCmd Skip Rotation" + }, + "type": "tag" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "Cfg_DuplicateNum": "tag({view.custom.tagPath}+\u0027/Alarms/Alm_Cfg_DuplicateNumber\u0027)", + "Cfg_Error": "tag({view.custom.tagPath}+\u0027/Alarms/Alm_Cfg_Error\u0027)", + "authentication": "{session.props.auth.authenticated}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027authentication\u0027]:\n\t\tText \u003d \u0027you do not have enough permissions\u0027\n\telif value[\u0027Cfg_Error\u0027]:\n\t\tText \u003d \u0027Operator priority has a duplicate number. Number: \u0027 + str(value[\u0027Cfg_DuplicateNum\u0027])\n\telse:\n\t\tText \u003d \u0027\u0027\n\treturn Text", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{view.custom.auth.control}\r\n\u0026\u0026 tag({view.custom.tagPath1}+\u0027/Rotation Aproaching\u0027)\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--action-primary)", + "padding": "0 10px" + }, + "text": "Skip" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Skip rotation" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "borderRight": "1px solid var(--border)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Controls" + }, + "position": { + "basis": "263px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "props": { + "text": "Config", + "textStyle": { + "classes": "labels/section-title", + "text-indent": "10px" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.perspective.closePopup(\u0027\u0027)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_1" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "image": { + "height": 20, + "icon": { + "path": "material/close" + }, + "width": 20 + }, + "primary": false, + "style": { + "border-bottom": "1px solid var(--border)", + "classes": "buttons/circle-icon", + "margin": 8 + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "40px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Stage Up Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 60 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_StageUpDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Stage Down Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 60 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_StageDownDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Transition Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 300 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_TransitionDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Off Delay SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 10 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_OffDelaySP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Max Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 54 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_MaxDemand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Min Demand" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "access": "PUBLIC", + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 2 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_MinDemand" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Fail to Run Delay" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 360 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_FTR_SP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Fail to Stop Delay" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 360 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_FTS_SP" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "alignVertical": "top", + "text": "Rotation Config", + "textStyle": { + "fontWeight": "600", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Rotation Control" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "borderTop": "1px solid var(--border)", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Hour Rotate" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Hour" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true, + "text": "1\u003d1am ... 13\u003d1pm, etc." + } + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 2 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_Hour_Rotate" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Day of Week" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Day of Week" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true, + "text": "1\u003dMonday, 2\u003dTuesday ... 7\u003dSunday." + } + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 2 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_DayOfWeek_Rotate" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Day of Week" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "text": "Number Of Weeks" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true, + "text": "1\u003dWeekly, 2\u003dBiWeekly, etc." + } + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath1}" + }, + "tagPath": "{tagPath}/Cfg Num Weeks Rotate" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "containerStyle": { + "color": "red" + }, + "spinner": { + "enabled": false + }, + "style": { + "backgroundColor": "lightgray", + "color": "var(--action-primary)" + }, + "value": 1 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Cfg_NumberOfWeeks_Rotate" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "borderRight": "1px solid var(--border)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Config" + }, + "position": { + "basis": "290px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "events": { + "component": { + "onEditCellCommit": { + "config": { + "script": "\tvalueToSet \u003d int(event.value)\n\teventRow \u003d int(event.row)\n\tself.props.data[event.row][event.column] \u003d valueToSet\n\ttagPath \u003d self.view.custom.tagPath + \u0027/Control/ORef_Devices\u0027 #\"[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Control/ORef_Devices\"\n\t\n\tav \u003d system.tag.readBlocking([tagPath])[0].value\n\tav[eventRow] \u003d valueToSet\n\tsystem.tag.writeBlocking([tagPath], [av])" + }, + "scope": "G", + "type": "script" + }, + "onEditCellStart": { + "config": { + "script": "\t#self.custom.clear()\n\tif \u0027Chiller\u0027 in self.view.params.tagPaths.tagPath_Rotation:\n\t\tsystem.perspective.openPopup(id, \u0027Pages/Dev/B_Mechanical/Widget/LLS_OperatorPriority\u0027)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.columns": { + "persistent": true + }, + "props.columns[6].editable": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + }, + "props.columns[6].visible": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + }, + "props.columns[8].visible": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "enabled": false, + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "struct": { + "deviceName": "{view.params.deviceName}", + "nUnits": "{view.custom.nUnits}", + "oPriority": "{view.custom.operatorPriority}", + "priority": "{view.custom.priority}", + "reset": "{view.params.tagPaths.tagPath_ResetRT}", + "runtime": "{view.custom.runtime}", + "status": "{view.custom.statusBinary}", + "statusTranslation": "{view.custom.statusTranslation}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor i, priority in enumerate(value[\u0027priority\u0027]):\n\t\tchillerName \u003d value[\u0027deviceName\u0027]+\u0027 {}\u0027.format(i+1)\n\t\tnewRow \u003d {\n\t\t\t\t\u0027index\u0027: i, # index\n\t\t\t\t\u0027chillerName\u0027: {\n\t\t\t\t\t\u0027value\u0027: chillerName, # chillerName\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027margin-left\u0027: 10\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027available\u0027: {\n\t\t\t\t\t\u0027value\u0027: value[\u0027statusTranslation\u0027][0].value[value[\u0027status\u0027][i][0]], # available\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027backgroundColor\u0027: \u0027transparent\u0027 if value[\u0027status\u0027][i][0] \u003d\u003d 1 else \u0027var(--input--disabled)\u0027\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027running\u0027: {\n\t\t\t\t\t\u0027value\u0027: value[\u0027statusTranslation\u0027][1].value[value[\u0027status\u0027][i][1]], # running\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027backgroundColor\u0027: \u0027transparent\u0027 if value[\u0027status\u0027][i][1] \u003d\u003d 1 else \u0027var(--input--disabled)\u0027\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027failed\u0027: {\n\t\t\t\t\t\u0027value\u0027: value[\u0027statusTranslation\u0027][2].value[value[\u0027status\u0027][i][2]], # failed\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027backgroundColor\u0027: \u0027transparent\u0027 if value[\u0027status\u0027][i][2] \u003d\u003d 0 else \u0027var(--error)\u0027\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\u0027priority\u0027: value[\u0027priority\u0027][i], # priority\n\t\t\t\t\u0027oPriority\u0027: {\u0027value\u0027:value[\u0027oPriority\u0027][i], \u0027editable\u0027: True}, # oPriority\n\t\t\t\t\u0027runtime\u0027: value[\u0027runtime\u0027][i], #runtime\n\t\t\t\t\u0027reset\u0027:value[\u0027reset\u0027]+\u0027/\u0027 +value[\u0027reset\u0027].split(\u0027/\u0027)[1] +\u0027%s_RT_Reset\u0027%(i+1) #resetButtons\n\t\t\t}\n\t\toutput.append(newRow)\n\t\t#List \u003d sorted(output, key\u003dlambda x: x[\u0027priority\u0027])\n\t\t#List.sort(key\u003dlambda x: float(x[\u0027priority\u0027]) \u003d\u003d 0)\n\t\tif i \u003d\u003d value[\u0027nUnits\u0027]-1:\n\t\t\tbreak\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "props.data[0].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[0]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[10].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[10]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[11].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[11]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[12].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[12]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[13].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[13]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[14].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[14]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[15].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[15]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[16].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[16]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[17].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[17]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[18].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[18]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[19].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[19]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[1].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[1]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[20].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[20]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[21].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[21]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[22].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[22]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[23].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[23]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[24].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[24]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[25].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[25]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[26].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[26]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[27].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[27]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[28].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[28]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[29].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[29]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[2].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[2]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[30].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[30]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[31].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[31]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[32].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[32]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[33].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[33]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[34].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[34]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[35].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[35]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[36].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[36]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[37].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[37]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[38].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[38]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[39].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[39]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[3].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[3]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[40].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[40]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[41].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[41]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[42].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[42]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[43].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[43]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[44].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[44]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[45].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[45]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[46].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[46]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[47].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[47]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[4].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[4]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[5].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[5]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[6].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[6]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[7].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[7]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[8].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[8]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.data[9].oPriority.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.custom.tagPath}" + }, + "tagPath": "{tagPath}/Control/ORef_Devices[9]" + }, + "overlayOptOut": true, + "type": "tag" + } + }, + "props.headerGroups[0][0].title": { + "binding": { + "config": { + "path": "view.params.deviceName" + }, + "enabled": false, + "type": "property" + } + }, + "props.pager.bottom": { + "binding": { + "config": { + "expression": "len({this.props.data}) \u003e {this.props.pager.initialOption}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "cells": { + "allowEditOn": "single-click" + }, + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "index", + "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": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "chillerName", + "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": "Device" + }, + "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": { + "border-right": "1px solid var(--border)", + "classes": "", + "color": "black" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "available", + "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": "Available" + }, + "justify": "center", + "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": { + "border-right": "1px solid var(--border)", + "classes": "", + "color": "black" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "running", + "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": "Running" + }, + "justify": "center", + "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": { + "border-right": "1px solid var(--border)", + "classes": "", + "color": "black" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "failed", + "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": "Failed" + }, + "justify": "center", + "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": { + "border-right": "1px solid var(--border)", + "classes": "", + "color": "black" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "priority", + "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": "Priority" + }, + "justify": "center", + "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": "", + "color": "black" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": true, + "field": "oPriority", + "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": "Oper Prio" + }, + "justify": "center", + "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": { + "border-left": "1px solid var(--border)", + "classes": "", + "color": "black" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "runtime", + "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": "", + "color": "var(--olGray)" + }, + "title": "Runtime" + }, + "justify": "center", + "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": { + "border-left": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "classes": "", + "color": "black" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "reset", + "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": "center", + "style": { + "classes": "" + }, + "title": "Reset" + }, + "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": "Library/CommonObjects/resetButton", + "visible": false, + "width": "" + } + ], + "data": [ + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 1" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 0, + "oPriority": { + "editable": true + }, + "priority": 44, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH1_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 486.220458984375 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 2" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 1, + "oPriority": { + "editable": true + }, + "priority": 36, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH2_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 314.00994873046875 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 3" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 2, + "oPriority": { + "editable": true + }, + "priority": 37, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH3_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 314.00994873046875 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 4" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 3, + "oPriority": { + "editable": true + }, + "priority": 38, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH4_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 314.00994873046875 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 5" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 4, + "oPriority": { + "editable": true + }, + "priority": 21, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH5_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 207.30345153808594 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 6" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 5, + "oPriority": { + "editable": true + }, + "priority": 41, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH6_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 325.61065673828125 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 7" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 6, + "oPriority": { + "editable": true + }, + "priority": 20, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH7_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 207.00343322753906 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 8" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 7, + "oPriority": { + "editable": true + }, + "priority": 4, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH8_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 221.6043243408203 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 9" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 8, + "oPriority": { + "editable": true + }, + "priority": 40, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH9_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 321.21038818359375 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 10" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 9, + "oPriority": { + "editable": true + }, + "priority": 46, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH10_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 495.3210144042969 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 11" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 10, + "oPriority": { + "editable": true + }, + "priority": 8, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH11_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 227.30467224121094 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 12" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 11, + "oPriority": { + "editable": true + }, + "priority": 7, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH12_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 227.1046600341797 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 13" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 12, + "oPriority": { + "editable": true + }, + "priority": 11, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH13_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 173.30137634277344 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 14" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 13, + "oPriority": { + "editable": true + }, + "priority": 26, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH14_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 248.4059600830078 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 15" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 14, + "oPriority": { + "editable": true + }, + "priority": 23, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH15_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 214.50389099121094 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 16" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 15, + "oPriority": { + "editable": true + }, + "priority": 30, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH16_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 273.8074951171875 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 17" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 16, + "oPriority": { + "editable": true + }, + "priority": 16, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH17_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 201.6031036376953 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 18" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 17, + "oPriority": { + "editable": true + }, + "priority": 45, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH18_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 494.42095947265625 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 19" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 18, + "oPriority": { + "editable": true + }, + "priority": 13, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH19_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 183.1019744873047 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 20" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 19, + "oPriority": { + "editable": true + }, + "priority": 15, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH20_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 192.50254821777344 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 21" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 20, + "oPriority": { + "editable": true + }, + "priority": 29, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH21_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 266.80706787109375 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 22" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 21, + "oPriority": { + "editable": true + }, + "priority": 25, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH22_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 235.1051483154297 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 23" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 22, + "oPriority": { + "editable": true + }, + "priority": 34, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH23_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 291.7085876464844 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 24" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 23, + "oPriority": { + "editable": true + }, + "priority": 14, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH24_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 189.40235900878906 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 25" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 24, + "oPriority": { + "editable": true + }, + "priority": 42, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH25_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 334.3111877441406 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 26" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 25, + "oPriority": { + "editable": true + }, + "priority": 2, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH26_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 212.4037628173828 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 27" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 26, + "oPriority": { + "editable": true + }, + "priority": 22, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH27_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 208.20350646972656 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 28" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 27, + "oPriority": { + "editable": true + }, + "priority": 9, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH28_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 166.7009735107422 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 29" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 28, + "oPriority": { + "editable": true + }, + "priority": 3, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH29_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 213.30381774902344 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 30" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 29, + "oPriority": { + "editable": true + }, + "priority": 19, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH30_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 205.5033416748047 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 31" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 30, + "oPriority": { + "editable": true + }, + "priority": 35, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH31_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 293.0086669921875 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 32" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 31, + "oPriority": { + "editable": true + }, + "priority": 39, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH32_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 318.7102355957031 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 33" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 32, + "oPriority": { + "editable": true + }, + "priority": 27, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH33_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 259.3066101074219 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 34" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 33, + "oPriority": { + "editable": true + }, + "priority": 24, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH34_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 220.3042449951172 + }, + { + "available": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Not Avail" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 35" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 34, + "oPriority": { + "editable": true + }, + "priority": 0, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH35_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 232.0049591064453 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 36" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 35, + "oPriority": { + "editable": true + }, + "priority": 12, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH36_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 181.30186462402344 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 37" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 36, + "oPriority": { + "editable": true + }, + "priority": 47, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH37_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 176.3015594482422 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 38" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 37, + "oPriority": { + "editable": true + }, + "priority": 18, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH38_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 204.0032501220703 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 39" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 38, + "oPriority": { + "editable": true + }, + "priority": 33, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH39_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 291.4085693359375 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 40" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 39, + "oPriority": { + "editable": true + }, + "priority": 10, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH40_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 171.40126037597656 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 41" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 40, + "oPriority": { + "editable": true + }, + "priority": 1, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH41_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 196.0027618408203 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 42" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 41, + "oPriority": { + "editable": true + }, + "priority": 43, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH42_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 410.6158447265625 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 43" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 42, + "oPriority": { + "editable": true + }, + "priority": 32, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH43_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 282.1080017089844 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 44" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 43, + "oPriority": { + "editable": true + }, + "priority": 6, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH44_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 226.60462951660156 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 45" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 44, + "oPriority": { + "editable": true + }, + "priority": 28, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH45_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 260.3066711425781 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 46" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 45, + "oPriority": { + "editable": true + }, + "priority": 5, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH46_RT_Reset", + "running": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + }, + "runtime": 221.70433044433594 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 47" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 46, + "oPriority": { + "editable": true + }, + "priority": 17, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH47_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 201.70310974121094 + }, + { + "available": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + }, + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 48" + }, + "failed": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Good" + }, + "index": 47, + "oPriority": { + "editable": true + }, + "priority": 31, + "reset": "[Ignition_Common_IO_Gtwy]RT_Tags/CH/CH48_RT_Reset", + "running": { + "style": { + "backgroundColor": "var(--input--disabled)" + }, + "value": "Stopped" + }, + "runtime": 278.00775146484375 + } + ], + "dragOrderable": false, + "headerGroups": [ + [ + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Chiller" + }, + { + "align": "center", + "justify": "left", + "span": 3, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Status" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Priority" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Operator Priority" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Runtime Hrs" + }, + { + "align": "center", + "justify": "left", + "span": 1, + "style": { + "borderRight": "1px solid var(--border)", + "classes": "", + "text-indent": "10px" + }, + "title": "Runtime Reset" + } + ] + ], + "pager": { + "bottom": false, + "initialOption": 48 + }, + "rows": { + "striped": { + "color": { + "even": "#FFFFFF", + "odd": "#F4F4F4" + } + }, + "style": { + "borderBottomColor": "#ADA7A7", + "borderBottomStyle": "solid", + "borderBottomWidth": 0.1 + }, + "subviewExpansionMode": "single" + }, + "selection": { + "enableColumnSelection": true + }, + "style": { + "marginBottom": 5 + }, + "virtualized": false + }, + "type": "ia.display.table" + } + ], + "events": { + "dom": { + "onDoubleClick": { + "config": { + "script": "\ttable \u003d self.getChild(\"Table\")\n\tdata \u003d table.props.data\n\tpriorityTagPath \u003d self.view.custom.tagPath + \u0027/Ref_Chillers\u0027\n\toPriorityTagPath \u003d self.view.custom.tagPath + \u0027/ORef_Chillers\u0027\n\tpriority \u003d []\n\tfor i, rowData in enumerate(data):\n\t\toPriority \u003d rowData[\u0027oPriority\u0027]\n\t\tpriority.append(oPriority)\n\t\n\tdef myCallback(asyncReturn):\n\t for result in asyncReturn:\n\t # Do something if a bad qualified value was returned\n\t if not result.good:\n\t system.perspective.print(repr([\u0027result\u0027, result]))\n\t\n\tsystem.perspective.print(repr([\u0027priority\u0027, priority]))\n\tsystem.tag.writeBlocking([priorityTagPath, oPriorityTagPath], [priority, priority])\n\tself.view.custom.editPriority \u003d False" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + }, + "system": { + "onStartup": { + "config": { + "script": "\tvalue \u003d self.view.params.tagPaths.tagPath_LLS\n\tpathArr \u003d value.split(\"]\")\n\t\n\tself.view.custom.alm_Filter \u003d {\"provider\":pathArr[0].replace(\"[\",\"\"), \"source\":\"*\"+pathArr[1]+\"*\"}" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "setONOFFBtn", + "pageScope": false, + "script": "\tenablePath \u003d self.view.custom.tagPath + \u0027/Control/System_EnableCMD\u0027\n\tenableTag \u003d system.tag.readBlocking([enablePath])[0].value\n\tif enableTag\u003d\u003dTrue:\n\t\tsystem.tag.writeBlocking([enablePath], [False])\n\telse:\n\t\tsystem.tag.writeAsync([enablePath], [True])\n\t\n\tsystem.perspective.closePopup(\u0027\u0027)\n\t#system.perspective.closePopup(\u0027alertDialog\u0027)\n\t", + "sessionScope": true, + "viewScope": false + }, + { + "messageType": "CloseAlertDialog", + "pageScope": false, + "script": "\n\tsystem.perspective.closePopup(\u0027\u0027)", + "sessionScope": true, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Main/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Main/resource.json new file mode 100644 index 0000000..58ee255 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Main/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8380166771f74e8942e7ae7a842e7841ff9a9e8d635ea7f473be4ad5056aad99", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:56:15Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Main/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Main/thumbnail.png new file mode 100644 index 0000000..4153bab Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Main/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Main/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Main/view.json new file mode 100644 index 0000000..1e74136 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Main/view.json @@ -0,0 +1,122 @@ +{ + "custom": {}, + "params": { + "GoTo": "/DH101", + "zoom": "115%" + }, + "propConfig": { + "params.GoTo": { + "paramDirection": "input", + "persistent": true + }, + "params.zoom": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1310, + "width": 1750 + } + }, + "root": { + "children": [ + { + "meta": { + "contextMenu": { + "style": { + "overflow": "hidden" + } + }, + "name": "Pan Zoom iFrame" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.params.inputs.height": { + "binding": { + "config": { + "path": "view.params.zoom" + }, + "type": "property" + } + }, + "props.params.inputs.pageId": { + "binding": { + "config": { + "path": "page.props.pageId" + }, + "type": "property" + } + }, + "props.params.inputs.targetURL": { + "binding": { + "config": { + "path": "view.params.GoTo" + }, + "type": "property" + } + }, + "props.params.inputs.width": { + "binding": { + "config": { + "path": "view.params.zoom" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "inputs": { + "targetDetailedURL": "/Oneline-UT/37d94815" + } + }, + "path": "Library/Layouts/iFrame/Pan Zoom iFrame/Pan Zoom iFrame" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden", + "touch-action": "none" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopup", + "pageScope": true, + "script": "\tutils.nav.eqPopup(self, payload)", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "LLSPopup", + "pageScope": true, + "script": "\tutils.nav.LLSPopup(self, payload)", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "iFrameNav", + "pageScope": true, + "script": "\t# change the tree selection, breadcrumb, and navigate\n\tutils.nav._nav(payload[\"target\"], payload[\"params\"], breadcrumb\u003d payload[\"breadcrumb\"])", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Pan Zoom iFrame/Pan Zoom iFrame/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Pan Zoom iFrame/Pan Zoom iFrame/resource.json new file mode 100644 index 0000000..1faa495 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Pan Zoom iFrame/Pan Zoom iFrame/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3fafb969752a4f141351c7193b38e5848cba5cfeebd0662974ab2694075a4c81", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:32:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Pan Zoom iFrame/Pan Zoom iFrame/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Pan Zoom iFrame/Pan Zoom iFrame/thumbnail.png new file mode 100644 index 0000000..3d6cec7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Pan Zoom iFrame/Pan Zoom iFrame/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Pan Zoom iFrame/Pan Zoom iFrame/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Pan Zoom iFrame/Pan Zoom iFrame/view.json new file mode 100644 index 0000000..0618743 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Layouts/iFrame/Pan Zoom iFrame/Pan Zoom iFrame/view.json @@ -0,0 +1,79 @@ +{ + "custom": {}, + "params": { + "inputs": { + "height": "100%", + "targetDetailedURL": "", + "targetURL": "/Oneline-HS1", + "width": "100%" + } + }, + "propConfig": { + "params.inputs": { + "access": "PUBLIC", + "paramDirection": "input", + "persistent": true + }, + "params.inputs.targetURL": { + "access": "PUBLIC" + } + }, + "props": { + "defaultSize": { + "height": 1800, + "width": 2000 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "IFrame" + }, + "position": { + "height": 5000, + "width": 5000 + }, + "propConfig": { + "props.src": { + "binding": { + "config": { + "struct": { + "address": "{session.props.gateway.address}", + "inputs": "{view.params.inputs}", + "pageId": "{page.props.pageId}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tendpoint \u003d \u0027{gatewayAddress}/system/webdev/{projectName}/pan-zoom-iframe/html?gatewayAddress\u003d{gatewayAddress}\u0026projectName\u003d{projectName}\u0026targetURL\u003d{targetURL}\u0026targetDetailedURL\u003d{targetDetailedURL}\u0026height\u003d{height}\u0026width\u003d{width}\u0026pageId\u003d{pageId}\u0027\n\tif value[\u0027address\u0027] is None:\n\t\tgatewayAddress \u003d system.util.getGatewayAddress()\n\telse:\n\t\tgatewayAddress \u003d value[\u0027address\u0027]\n\tprops \u003d {\n\t\t\t \u0027gatewayAddress\u0027: gatewayAddress\n\t\t\t, \u0027projectName\u0027: system.util.getProjectName()\n\t\t\t, \u0027targetURL\u0027: value[\u0027inputs\u0027][\u0027targetURL\u0027]\n\t\t\t, \u0027targetDetailedURL\u0027 : value[\u0027inputs\u0027][\u0027targetDetailedURL\u0027]\n\t\t\t, \u0027height\u0027: str(value[\u0027inputs\u0027][\u0027height\u0027]).replace(\u0027%\u0027,\u0027%25\u0027)\n\t\t\t, \u0027width\u0027 : str(value[\u0027inputs\u0027][\u0027width\u0027]).replace(\u0027%\u0027,\u0027%25\u0027)\n\t\t\t, \u0027pageId\u0027 : str(value[\u0027pageId\u0027])\n\t}\n\treturn endpoint.format(**props)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "allowFullScreen": true, + "style": { + "touch-action": "none" + } + }, + "type": "ia.display.iframe" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "--containerRoot", + "overflow": "hidden", + "touch-action": "none" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/ACCH/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/ACCH/resource.json new file mode 100644 index 0000000..70ed32c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/ACCH/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7d73f72b0fdf4d296e94ff2f365f3008a7ceb5c4f7db4a9d902f5255c0fc1872", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:14:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/ACCH/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/ACCH/thumbnail.png new file mode 100644 index 0000000..33ad8e8 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/ACCH/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/ACCH/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/ACCH/view.json new file mode 100644 index 0000000..fdb3443 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/ACCH/view.json @@ -0,0 +1,638 @@ +{ + "custom": { + "alarmSeverity": -1, + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 110, + "width": 70 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70 + }, + "propConfig": { + "props.elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].elements[1].style.fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[3].style.fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].style.fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\ttxt \u003d value.split(\u0027_\u0027)\n\treturn txt[-2]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": 0 + }, + "height": 67.5, + "name": "rect", + "type": "rect", + "visibility": "hidden", + "width": "37.5", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.268l-0,-4.018l4.464,0l0,0.75l-3.714,-0l-0,3.268l-0.75,-0Zm10.714,-4.018l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm12.5,0l0,0.75l-8.928,0l-0,-0.75l8.928,0Zm6.25,0l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm8.036,4.018l-0.75,-0l0,-3.268l-3.714,0l-0,-0.75l4.464,0l-0,4.018Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-4.464,7.232l-0,-0.75l3.714,0l-0,-3.268l0.75,0l-0,4.018l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-12.5,0l-0,-0.75l8.928,0l0,0.75l-8.928,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-4.018l0.75,0l-0,3.268l3.714,0l0,0.75l-4.464,0l-0,-4.018Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.001,-0l0.319,-0.705l0.105,0l0.319,0.705l-0.13,-0l-0.085,-0.198l0.054,0.035l-0.422,0l0.054,-0.035l-0.084,0.198l-0.13,-0Zm0.37,-0.566l-0.14,0.333l-0.026,-0.032l0.334,0l-0.025,0.032l-0.141,-0.333l-0.002,0Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,63.7053)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,46.6286,63.7053)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.405,0.01c-0.073,0 -0.136,-0.015 -0.189,-0.044c-0.052,-0.03 -0.092,-0.072 -0.12,-0.126c-0.028,-0.055 -0.042,-0.119 -0.042,-0.193c-0,-0.074 0.014,-0.138 0.042,-0.192c0.028,-0.054 0.068,-0.096 0.12,-0.125c0.053,-0.03 0.116,-0.045 0.189,-0.045c0.047,0 0.092,0.007 0.134,0.022c0.043,0.015 0.078,0.036 0.105,0.063l-0.042,0.102c-0.03,-0.025 -0.061,-0.044 -0.092,-0.055c-0.031,-0.012 -0.065,-0.018 -0.101,-0.018c-0.071,0 -0.126,0.022 -0.163,0.065c-0.037,0.043 -0.056,0.104 -0.056,0.183c0,0.079 0.019,0.141 0.056,0.184c0.037,0.043 0.092,0.065 0.163,0.065c0.036,0 0.07,-0.006 0.101,-0.017c0.031,-0.012 0.062,-0.031 0.092,-0.056l0.042,0.102c-0.027,0.027 -0.062,0.048 -0.105,0.063c-0.042,0.015 -0.087,0.022 -0.134,0.022Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,82.3466)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,45.4169,82.3466)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.405,0.01c-0.073,0 -0.136,-0.015 -0.189,-0.044c-0.052,-0.03 -0.092,-0.072 -0.12,-0.126c-0.028,-0.055 -0.042,-0.119 -0.042,-0.193c-0,-0.074 0.014,-0.138 0.042,-0.192c0.028,-0.054 0.068,-0.096 0.12,-0.125c0.053,-0.03 0.116,-0.045 0.189,-0.045c0.047,0 0.092,0.007 0.134,0.022c0.043,0.015 0.078,0.036 0.105,0.063l-0.042,0.102c-0.03,-0.025 -0.061,-0.044 -0.092,-0.055c-0.031,-0.012 -0.065,-0.018 -0.101,-0.018c-0.071,0 -0.126,0.022 -0.163,0.065c-0.037,0.043 -0.056,0.104 -0.056,0.183c0,0.079 0.019,0.141 0.056,0.184c0.037,0.043 0.092,0.065 0.163,0.065c0.036,0 0.07,-0.006 0.101,-0.017c0.031,-0.012 0.062,-0.031 0.092,-0.056l0.042,0.102c-0.027,0.027 -0.062,0.048 -0.105,0.063c-0.042,0.015 -0.087,0.022 -0.134,0.022Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,100.988)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,45.4169,100.988)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.077,-0l0,-0.705l0.128,0l0,0.294l0.363,-0l0,-0.294l0.128,0l0,0.705l-0.128,-0l0,-0.304l-0.363,0l-0,0.304l-0.128,-0Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,119.629)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,47.1692,119.629)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(0.654499,0,0,0.670554,7.32258,-12.0616)", + "type": "group" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "cx": "16.574", + "cy": "45", + "fill": { + "opacity": "0" + }, + "name": "circle", + "r": "5.625", + "stroke": { + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M12.673,41.002l-6.229,5.897", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M26.703,43.323l-6.301,5.832", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Motor-Shape", + "name": "Motor-Shape", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,24.9201,55.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "330.4kW", + "type": "text", + "x": "8.477px", + "y": "55.533px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,24.5742,59.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "442 FLA", + "type": "text", + "x": "8.823px", + "y": "59.283px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "Motor", + "name": "Motor", + "type": "group" + }, + { + "id": "TagID-", + "name": "TagID-", + "transform": "matrix(4.16667,0,0,4.16667,42.2449,10)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "10px", + "fontWeight": "700" + }, + "type": "text", + "x": "20px", + "y": "10px" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 53 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmBorder" + }, + "position": { + "height": 98, + "width": 57, + "x": 1.76, + "y": 10.26 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"solid\"\n\telse:\n\t\treturn \"none\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "outlineWidth": "3" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 15, + "width": 15, + "x": 50.7482, + "y": 1.99823 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "ack": false + }, + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/CAM/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/CAM/resource.json new file mode 100644 index 0000000..25aae5b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/CAM/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6f4335616f7749313fbd16ee295f2c2ca854a1d4bb551bb0143f4322676ceaff", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/CAM/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/CAM/thumbnail.png new file mode 100644 index 0000000..db6c1e0 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/CAM/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/CAM/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/CAM/view.json new file mode 100644 index 0000000..e8b1e48 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/CAM/view.json @@ -0,0 +1,961 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 0, + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P1-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "expression": "if({view.params.inputPower} \u0026\u0026 !{/root/CAM.custom.BreakerTripped}\r\n,1,0)" + }, + "type": "expr" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "inout", + "persistent": true + }, + "params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "defaultSize": { + "height": 90, + "width": 153 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 18, + "width": 91, + "x": 72.5, + "y": 3 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153 + }, + "propConfig": { + "custom.BreakerTripped": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Tripped" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\telse:\n\t\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.ColorHandler.Box": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "custom.colorHandler.breakerIn": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.inputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "custom.colorHandler.breakerOut": { + "binding": { + "config": { + "struct": { + "BreakerTripped": "{this.custom.BreakerTripped}", + "PowerIN": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "if({value}[\u0027PowerIN\u0027] \u0026\u0026 !{value}[\u0027BreakerTripped\u0027],\u0027var(--olRed)\u0027,\u0027var(--olGreen)\u0027)", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerTripped" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerTripped" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].stroke": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.CAM.CAM1" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.CAM.CAM2" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.CAM.CAM3" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.CAM.CAM4" + }, + "type": "property" + } + }, + "props.elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[3].elements[2].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[3].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[4].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M31.125,43.125c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 30, + "cy": "43.125", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": 30, + "cy": "52.125", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M34.785,43.125c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,38.5303,41.0409)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "CAM", + "type": "text", + "x": "31.123px", + "y": "41.041px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,18.0005,41.688)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3000A", + "type": "text", + "x": "5.952px", + "y": "41.688px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,23.7785,45.438)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "MOLDED", + "type": "text", + "x": "5.952px", + "y": "45.438px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,17.2986,49.188)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "CASE", + "type": "text", + "x": "5.952px", + "y": "49.188px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,22.3848,52.938)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "SWITCH", + "type": "text", + "x": "5.952px", + "y": "52.938px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "52.515", + "id": "Ext", + "name": "Ext", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "square", + "width": "0.75px" + }, + "type": "rect", + "width": "45", + "x": "3.75", + "y": "11.235" + }, + { + "fill": { + "opacity": "0" + }, + "height": "18.229", + "id": "Int02", + "name": "Int02", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.38px" + }, + "type": "rect", + "width": "15.666", + "x": "24.227", + "y": "37.174" + }, + { + "fill": { + "opacity": "0" + }, + "height": "8.375", + "id": "Int01", + "name": "Int01", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.38px" + }, + "type": "rect", + "width": "15.666", + "x": "24.227", + "y": "28.799" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "id": "Line1", + "name": "Line1", + "transform": "matrix(4.16667,0,0,4.16667,74.3369,14.2834)", + "type": "group", + "visibility": "visible" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "12px", + "fontWeight": "700" + }, + "text": "", + "type": "text", + "x": "55.355px", + "y": "14.283px" + }, + { + "id": "Line2", + "name": "Line2", + "transform": "matrix(4.16667,0,0,4.16667,95.7582,18.0334)", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "76.772px 77.93px ", + "y": "18.033px 18.033px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "55.377px", + "y": "18.033px" + }, + { + "id": "Line3", + "name": "Line3", + "transform": "matrix(4.16667,0,0,4.16667,114.474,21.7834)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "60.38px 63.159px ", + "y": "21.783px 21.783px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "55.365px", + "y": "21.783px" + }, + { + "id": "Line4", + "name": "Line4", + "transform": "matrix(4.16667,0,0,4.16667,111.987,25.5334)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "59.28px 61.749px 64.295px ", + "y": "25.533px 25.533px 25.533px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "55.501px", + "y": "25.533px" + } + ], + "id": "TagPlate", + "name": "TagPlate", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "60", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "52.5", + "x": "0", + "y": "7.5" + }, + { + "d": "M52.5,7.5l-0,60l-52.5,0l0,-60l52.5,-0Zm-0.75,0.75c0,-0 -51,-0 -51,0l-0,58.5c-0,-0 51,0 51,-0l0,-58.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M52.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M52.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M51.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M52.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M57.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M52.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "52.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M50.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M53.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group", + "visibility": "visible" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 115 68" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-CH-SWBD-M/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-CH-SWBD-M/resource.json new file mode 100644 index 0000000..78ac1fd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-CH-SWBD-M/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f03c26c0a93ccdc91312bfbb5e2df4414d75f7c81fcd641d761c1b8307cc67b5", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-CH-SWBD-M/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-CH-SWBD-M/thumbnail.png new file mode 100644 index 0000000..fb77dd4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-CH-SWBD-M/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-CH-SWBD-M/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-CH-SWBD-M/view.json new file mode 100644 index 0000000..a5d8783 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-CH-SWBD-M/view.json @@ -0,0 +1,1373 @@ +{ + "custom": { + "colorHandler": { + "box": "var(--olGray)", + "bus": "var(--olGray)", + "text": "var(--olGray)" + } + }, + "params": { + "inPower": 1 + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 108, + "width": 180 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180 + }, + "propConfig": { + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[7].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[9].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[7].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[7].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[7].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "135", + "x": "0", + "y": "12.983" + }, + { + "d": "M0,17l0,-4.017l4.018,-0l-0,0.75l-3.268,-0l0,3.267l-0.75,0Zm9.643,-4.017l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm11.25,-0l-0,0.75l-8.036,-0l0,-0.75l8.036,-0Zm5.625,-0l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm11.25,-0l-0,0.75l-8.036,-0l0,-0.75l8.036,-0Zm5.625,-0l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm11.25,-0l-0,0.75l-8.036,-0l0,-0.75l8.036,-0Zm5.625,-0l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm11.25,-0l-0,0.75l-8.036,-0l-0,-0.75l8.036,-0Zm5.625,-0l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm11.25,-0l-0,0.75l-8.036,-0l0,-0.75l8.036,-0Zm5.625,-0l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm11.25,-0l-0,0.75l-8.036,-0l0,-0.75l8.036,-0Zm5.625,-0l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm11.25,-0l-0,0.75l-8.036,-0l0,-0.75l8.036,-0Zm5.625,-0l-0,0.75l-2.411,-0l0,-0.75l2.411,-0Zm7.232,4.017l-0.75,0c0,0 0,-3.267 -0,-3.267l-3.268,-0l0,-0.75l4.018,-0l0,4.017Zm0,5.625l-0.75,0l0,-2.41l0.75,-0l0,2.41Zm0,11.25l-0.75,0l0,-8.035l0.75,-0l0,8.035Zm0,5.625l-0.75,0l0,-2.41l0.75,-0l0,2.41Zm0,11.25l-0.75,0l0,-8.035l0.75,-0l0,8.035Zm0,5.625l-0.75,0l0,-2.41l0.75,-0l0,2.41Zm0,11.25l-0.75,0l0,-8.035l0.75,-0l0,8.035Zm0,5.625l-0.75,0l0,-2.41l0.75,-0l0,2.41Zm-4.018,7.233l0,-0.75l3.268,-0l0,-3.268l0.75,-0l0,4.018l-4.018,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-11.25,-0l0,-0.75l8.036,-0l-0,0.75l-8.036,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-11.25,-0l0,-0.75l8.036,-0l-0,0.75l-8.036,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-11.25,-0l0,-0.75l8.036,-0l-0,0.75l-8.036,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-11.25,-0l0,-0.75l8.036,-0l0,0.75l-8.036,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-11.25,-0l0,-0.75l8.036,-0l-0,0.75l-8.036,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-11.25,-0l0,-0.75l8.036,-0l-0,0.75l-8.036,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-11.25,-0l0,-0.75l8.036,-0l-0,0.75l-8.036,-0Zm-5.625,-0l0,-0.75l2.411,-0l-0,0.75l-2.411,-0Zm-7.232,-4.018l0.75,-0c0,-0 0,3.268 0,3.268l3.268,-0l-0,0.75l-4.018,-0l0,-4.018Zm0,-5.625l0.75,-0l0,2.41l-0.75,0l0,-2.41Zm0,-11.25l0.75,-0l0,8.035l-0.75,0l0,-8.035Zm0,-5.625l0.75,-0l0,2.41l-0.75,0l0,-2.41Zm0,-11.25l0.75,-0l0,8.035l-0.75,0l0,-8.035Zm0,-5.625l0.75,-0l0,2.41l-0.75,0l0,-2.41Zm0,-11.25l0.75,-0l0,8.035l-0.75,0l0,-8.035Zm0,-5.625l0.75,-0l0,2.41l-0.75,0l0,-2.41Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M4.319,44.108l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M120.967,44.108l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M4.319,46.733l116.648,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,33.209l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M12.858,46.733l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M57.858,46.733l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M103.036,46.733l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M64.875,23.483c1.261,1.2 1.896,2.694 1.87,4.5c0.009,2.094 -0.591,3.615 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "63.75", + "cy": "23.483", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,22.358c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "63.75", + "cy": "32.483", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,31.358c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M68.535,23.483c1.262,1.2 1.897,2.694 1.871,4.5c0.008,2.094 -0.592,3.615 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,86.0359,21.9057)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600AF", + "type": "text", + "x": "71.442px", + "y": "21.906px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,85.7267,25.6557)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600AT", + "type": "text", + "x": "71.442px", + "y": "25.656px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,89.4193,29.4443)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "71.591px", + "y": "29.444px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,83.6047,33.1943)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "71.566px", + "y": "33.194px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,82.0991,36.9443)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "100%", + "type": "text", + "x": "71.442px", + "y": "36.944px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M13.983,60.983c1.261,1.2 1.896,2.694 1.87,4.5c0.009,2.094 -0.591,3.615 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "12.858", + "cy": "60.983", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M12.858,59.858c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "12.858", + "cy": "69.983", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M12.858,68.858c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M17.643,60.983c1.262,1.2 1.897,2.694 1.871,4.5c0.008,2.094 -0.592,3.615 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,35.1041,61.3102)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600AF", + "type": "text", + "x": "20.511px", + "y": "61.31px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,34.7948,65.0602)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600AT", + "type": "text", + "x": "20.511px", + "y": "65.06px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,38.4875,68.8488)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "20.659px", + "y": "68.849px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,32.6728,72.5988)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "20.635px", + "y": "72.599px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M58.983,60.983c1.261,1.2 1.896,2.694 1.87,4.5c0.009,2.094 -0.591,3.615 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "57.858", + "cy": "60.983", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M57.858,59.858c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "57.858", + "cy": "69.983", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M57.858,68.858c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M62.643,60.983c1.262,1.2 1.897,2.694 1.871,4.5c0.008,2.094 -0.592,3.615 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,80.3086,61.3102)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600AF", + "type": "text", + "x": "65.715px", + "y": "61.31px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,79.9994,65.0602)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600A", + "type": "text", + "x": "65.715px", + "y": "65.06px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,83.692,68.8488)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "65.864px", + "y": "68.849px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,77.8774,72.5988)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "65.839px", + "y": "72.599px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M104.161,60.983c1.261,1.2 1.896,2.694 1.871,4.5c0.008,2.094 -0.592,3.615 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "type": "path" + }, + { + "cx": "103.036", + "cy": "60.983", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M103.036,59.858c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "103.036", + "cy": "69.983", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M103.036,68.858c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M107.822,60.983c1.261,1.2 1.896,2.694 1.87,4.5c0.009,2.094 -0.592,3.615 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,125.309,61.3102)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600AF", + "type": "text", + "x": "110.715px", + "y": "61.31px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,124.999,65.0602)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600AT", + "type": "text", + "x": "110.715px", + "y": "65.06px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,128.692,68.8488)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "110.864px", + "y": "68.849px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,122.877,72.5988)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "110.839px", + "y": "72.599px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,30.8187,3.03345)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "CH-SWBD-M1-1", + "type": "text", + "x": "-0.197px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,22.7397,6.78345)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1600A,480V", + "type": "text", + "x": "-0.197px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,32.2225,10.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3PH, 3W65kAIC", + "type": "text", + "x": "-0.197px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 135 81" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS1/resource.json new file mode 100644 index 0000000..0866922 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "eb3e5886177b4776fa5b67b4a8c5fcf61939fbda186f91939c4abaf9140ccca4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:47:52Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS1/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS1/thumbnail.png new file mode 100644 index 0000000..da399e4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS1/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS1/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS1/view.json new file mode 100644 index 0000000..325c1b2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS1/view.json @@ -0,0 +1,1420 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": true + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 109, + "width": 258 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DP-LP-HS1" + }, + "position": { + "height": 109, + "width": 258 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "193.375", + "x": "0", + "y": "14.24" + }, + { + "d": "M0,18.258l0,-4.018l3.837,0l-0,0.75l-3.087,0l0,3.268l-0.75,-0Zm9.208,-4.018l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.744,0l-0,0.75l-7.674,0l0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.303,0l0,-0.75l2.303,0Zm10.743,0l-0,0.75l-7.674,0l-0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l-0,0.75l-7.674,0l0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.744,0l-0,0.75l-7.674,0l0,-0.75l7.674,0Zm5.371,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.303,0l0,-0.75l2.303,0Zm10.743,0l-0,0.75l-7.674,0l-0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm6.906,4.018l-0.75,-0l0,-3.268l-3.087,0l0,-0.75l3.837,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.837,7.232l0,-0.75l3.087,0l0,-3.268l0.75,0l0,4.018l-3.837,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.673,0l0,0.75l-7.673,0Zm-5.372,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.673,0l0,0.75l-7.673,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.673,0l0,0.75l-7.673,0Zm-5.372,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.372,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-6.906,-4.018l0.75,0l0,3.268l3.087,0l-0,0.75l-3.837,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M7.5,45.365l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M186.128,45.365l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,47.99l178.628,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.75,34.466l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M153.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.875,24.74c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "24.74", + "fill": { + "paint": "#ebebeb" + }, + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,23.615c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "108.75", + "cy": "33.74", + "fill": { + "paint": "#ebebeb" + }, + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,32.615c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M113.535,24.74c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,122.791,32.6064)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "116.537px", + "y": "32.606px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,128.504,28.8177)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "250AT", + "type": "text", + "x": "116.537px", + "y": "28.818px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M19.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed1", + "name": "Closed1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "62.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T11", + "name": "T11", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,61.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "18.75", + "cy": "71.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T21", + "name": "T21", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,70.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M23.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open1", + "name": "Open1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,38.7794,65.9948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "125AT", + "type": "text", + "x": "26.812px", + "y": "65.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,33.2151,69.7834)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "26.961px", + "y": "69.783px" + } + ], + "id": "TExt", + "name": "TExt", + "type": "group" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M64.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed2", + "name": "Closed2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "63.75", + "cy": "62.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T12", + "name": "T12", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,61.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "63.75", + "cy": "71.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T22", + "name": "T22", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,70.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M68.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open2", + "name": "Open2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,83.9294,65.9948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "125AT", + "type": "text", + "x": "71.962px", + "y": "65.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,78.3651,69.7834)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "72.111px", + "y": "69.783px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed3", + "name": "Closed3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "62.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T13", + "name": "T13", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,61.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "108.75", + "cy": "71.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T23", + "name": "T23", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,70.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M113.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open3", + "name": "Open3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,129.728,65.9948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "125AT", + "type": "text", + "x": "117.761px", + "y": "65.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,124.163,69.7834)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "117.909px", + "y": "69.783px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "d": "M154.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed4", + "name": "Closed4", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "153.75", + "cy": "62.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T14", + "name": "T14", + "r": "1.125", + "type": "circle" + }, + { + "d": "M153.75,61.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "153.75", + "cy": "71.24", + "fill": { + "paint": "#ebebeb" + }, + "id": "T24", + "name": "T24", + "r": "1.125", + "type": "circle" + }, + { + "d": "M153.75,70.115c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M158.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open4", + "name": "Open4", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,173.459,65.9948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "125AT", + "type": "text", + "x": "161.492px", + "y": "65.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,167.894,69.7834)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "161.64px", + "y": "69.783px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,32.2449,10.5334)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3PH, 4W65kAIC", + "type": "text", + "x": "-0.175px", + "y": "10.533px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,29.7611,6.78345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "250A, 480/277V", + "type": "text", + "x": "-0.126px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,25.3967,3.03345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DP-LP-HS1-1", + "type": "text", + "x": "-0.301px", + "y": "3.033px" + } + ], + "id": "TagIDPlate", + "name": "TagIDPlate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 194 82" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS2-1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS2-1/resource.json new file mode 100644 index 0000000..9cae7fb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS2-1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "772675617cadea593c24812eb3f98f7fc55852818c5b71a8cc7fc1695ef488c9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS2-1/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS2-1/thumbnail.png new file mode 100644 index 0000000..ac8f1df Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS2-1/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS2-1/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS2-1/view.json new file mode 100644 index 0000000..f3a7a13 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-LP-HS2-1/view.json @@ -0,0 +1,1184 @@ +{ + "custom": { + "lineColor": "var(--olRed)" + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "DP-LP-HS", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "propConfig": { + "custom.lineColor": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 109, + "width": 258 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258 + }, + "propConfig": { + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.mainBreaker1" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.mainBreaker2" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1-1" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1-2" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2-1" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2-2" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3-1" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3-2" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4-1" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4-2" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.tagIdPlate2" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.tagIdPlate1" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.tagIdPlate3" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "193.375", + "x": "0", + "y": "14.25" + }, + { + "d": "M0,18.268l0,-4.018l3.837,0l-0,0.75l-3.087,-0l0,3.268l-0.75,-0Zm9.208,-4.018l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.744,0l-0,0.75l-7.674,0l0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.303,0l0,-0.75l2.303,0Zm10.743,0l-0,0.75l-7.674,0l-0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l-0,0.75l-7.674,0l0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.744,0l-0,0.75l-7.674,0l0,-0.75l7.674,0Zm5.371,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.303,0l0,-0.75l2.303,0Zm10.743,0l-0,0.75l-7.674,0l-0,-0.75l7.674,0Zm5.371,0l0,0.75l-2.302,0l0,-0.75l2.302,0Zm10.743,0l0,0.75l-7.673,0l-0,-0.75l7.673,0Zm5.372,0l-0,0.75l-2.302,0l-0,-0.75l2.302,0Zm6.906,4.018l-0.75,-0l0,-3.268l-3.087,0l0,-0.75l3.837,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.837,7.232l0,-0.75l3.087,0l0,-3.268l0.75,0l0,4.018l-3.837,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.673,0l0,0.75l-7.673,0Zm-5.372,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.673,0l0,0.75l-7.673,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.673,0l0,0.75l-7.673,0Zm-5.372,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.744,0l0,-0.75l7.674,0l0,0.75l-7.674,0Zm-5.371,0l-0,-0.75l2.302,0l-0,0.75l-2.302,0Zm-10.743,0l-0,-0.75l7.674,0l-0,0.75l-7.674,0Zm-5.372,0l0,-0.75l2.302,0l0,0.75l-2.302,0Zm-6.906,-4.018l0.75,0l0,3.268l3.087,0l-0,0.75l-3.837,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M7.5,45.365l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M186.128,45.365l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,47.99l178.628,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,34.466l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M153.75,47.99l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M19.875,24.74c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "24.74", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "18.75", + "cy": "33.74", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M23.535,24.74c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,39.315,29.2448)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "27.348px", + "y": "29.245px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "27.169px", + "y": "33.033px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M19.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "62.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "18.75", + "cy": "71.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M23.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,38.9871,66.1388)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "36.442px ", + "y": "66.139px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "27.02px", + "y": "66.139px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "27.169px", + "y": "69.927px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M64.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "63.75", + "cy": "62.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "63.75", + "cy": "71.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M68.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,84.0081,66.1388)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "72.041px", + "y": "66.139px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "72.19px", + "y": "69.927px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "62.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "108.75", + "cy": "71.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M113.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,129.029,66.1388)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "126.484px ", + "y": "66.139px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "117.062px", + "y": "66.139px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "117.211px", + "y": "69.927px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "d": "M154.875,62.24c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "153.75", + "cy": "62.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "153.75", + "cy": "71.24", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M158.535,62.24c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,173.921,66.1388)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "171.376px ", + "y": "66.139px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "161.954px", + "y": "66.139px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "162.103px", + "y": "69.927px" + } + ], + "id": "Text4", + "name": "Text4", + "type": "group" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,179.821,6.74479)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ",", + "type": "tspan", + "x": "178.664px ", + "y": "6.745px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "149.159px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,174.857,2.99479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "x": "149.159px", + "y": "2.995px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "148.98px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 194 82" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-M/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-M/resource.json new file mode 100644 index 0000000..e141d37 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-M/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2dc78052a13c6ac2129462915dee756dc64c6da65ff0f4aa88b1d9e38fa1c4cc", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-M/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-M/thumbnail.png new file mode 100644 index 0000000..a57e09c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-M/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-M/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-M/view.json new file mode 100644 index 0000000..12775c9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-M/view.json @@ -0,0 +1,1256 @@ +{ + "custom": { + "colorHandler": { + "box": "var(--olGray)" + } + }, + "params": { + "inPower": 1 + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 105, + "width": 381 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381 + }, + "propConfig": { + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[2].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "hidden" + }, + { + "input": 0, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.box" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "284.992", + "x": "0", + "y": "11.25" + }, + { + "d": "M0,15.268l0,-4.018l3.77,0l-0,0.75l-3.02,-0l0,3.268l-0.75,-0Zm9.047,-4.018l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.556,0l-0,0.75l-7.54,0l-0,-0.75l7.54,0Zm5.277,0l-0,0.75l-2.262,0l-0,-0.75l2.262,0Zm10.555,0l-0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.277,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.278,0l-0,0.75l-2.262,0l-0,-0.75l2.262,0Zm10.555,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l-0,0.75l-2.262,0l-0,-0.75l2.262,0Zm10.555,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.278,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm6.786,4.018l-0.75,-0c-0,-0 -0,-3.268 -0,-3.268l-3.02,0l-0,-0.75l3.77,0l-0,4.018Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-3.77,7.232l-0,-0.75l3.02,0l-0,-3.268l0.75,0l-0,4.018l-3.77,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l-0,-0.75l2.261,0l0,0.75l-2.261,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l-0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.261,0l0,0.75l-2.261,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.278,0l0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.277,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-6.785,-4.018l0.75,0c0,0 0,3.268 0,3.268l3.02,0l-0,0.75l-3.77,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M279.394,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l271.894,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M243.75,31.476l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M198.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.766,45l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M244.875,21.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "243.75", + "cy": "21.75", + "fill": { + "paint": "#ebebeb" + }, + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "d": "M243.75,20.625c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "243.75", + "cy": "30.75", + "fill": { + "paint": "#ebebeb" + }, + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M243.75,29.625c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M248.535,21.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,265.973,23.9708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1200AT", + "type": "text", + "x": "251.688px", + "y": "23.971px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,269.517,27.7594)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "251.688px", + "y": "27.759px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,263.727,31.5094)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "251.688px", + "y": "31.509px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M19.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed1", + "name": "Closed1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "id": "T11", + "name": "T11", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "18.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "id": "T21", + "name": "T21", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M23.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open1", + "name": "Open1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,40.9922,61.6898)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1200AT", + "type": "text", + "x": "26.708px", + "y": "61.69px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,44.5363,65.4784)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "26.708px", + "y": "65.478px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,38.7461,69.2284)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "26.708px", + "y": "69.228px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed2", + "name": "Closed2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "id": "T12", + "name": "T12", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "108.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "id": "T22", + "name": "T22", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M113.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open2", + "name": "Open2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,131.48,61.6898)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1200At", + "type": "text", + "x": "117.195px", + "y": "61.69px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,135.024,65.4784)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "117.195px", + "y": "65.478px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,129.234,69.2284)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "117.195px", + "y": "69.228px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M199.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed3", + "name": "Closed3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "198.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "id": "T13", + "name": "T13", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "198.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "id": "T23", + "name": "T23", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M203.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open3", + "name": "Open3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,221.205,61.6898)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1200AT", + "type": "text", + "x": "206.921px", + "y": "61.69px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,224.749,65.4784)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC", + "type": "text", + "x": "206.921px", + "y": "65.478px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,218.959,69.2284)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS", + "type": "text", + "x": "206.921px", + "y": "69.228px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,12.9598,2.99479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DP-M1", + "type": "text", + "x": "272px", + "y": "2.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,42.6941,6.74479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1200A, 480V3PH, 3W", + "type": "text", + "x": "244px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,13.5071,10.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "65kAIC", + "type": "text", + "x": "271px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 286 79" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-P/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-P/resource.json new file mode 100644 index 0000000..9c34386 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-P/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4ae25928ed77989ed8fef4e17812c75f26e03e4d666dc32d745f3b37b9c111a2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-P/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-P/thumbnail.png new file mode 100644 index 0000000..92058ad Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-P/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-P/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-P/view.json new file mode 100644 index 0000000..b938256 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-P/view.json @@ -0,0 +1,1649 @@ +{ + "custom": { + "lineColor": "var(--olGreen)" + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 0, + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP-P1.1", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "propConfig": { + "custom.lineColor": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 105, + "width": 371 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371 + }, + "propConfig": { + "props.elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.mainLegend" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Mainbreaker1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Mainbreaker2" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Mainbreaker3" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1-1" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1-2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker1-3" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2-1" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2-2" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker2-3" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4-1" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4-2" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker4-3" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3-1" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3-2" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker3-3" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.IDPlate1" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[7].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.IDPlate2" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.IDPlate3" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.lineColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker5-1" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker5-2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker5-3" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "name": "rect", + "type": "rect", + "width": "277.971", + "x": "0", + "y": "11.25" + }, + { + "d": "M0,15.268l0,-4.018l3.893,0l0,0.75l-3.143,-0l0,3.268l-0.75,-0Zm9.344,-4.018l-0,0.75l-2.336,0l-0,-0.75l2.336,0Zm10.9,0l0,0.75l-7.786,0l0,-0.75l7.786,0Zm5.451,0l-0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l-0,0.75l-7.787,0l0,-0.75l7.787,0Zm5.45,0l-0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.45,0l0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.45,0l0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.902,0l-0,0.75l-7.787,0l0,-0.75l7.787,0Zm5.45,0l0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.9,0l0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.451,0l-0,0.75l-2.336,0l-0,-0.75l2.336,0Zm10.901,0l-0,0.75l-7.787,0l0,-0.75l7.787,0Zm5.45,0l-0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.451,0l-0,0.75l-2.336,0l-0,-0.75l2.336,0Zm10.9,0l0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.451,0l-0,0.75l-2.336,0l-0,-0.75l2.336,0Zm10.9,0l0,0.75l-7.786,0l0,-0.75l7.786,0Zm5.451,0l-0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l-0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.45,0l0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l0,0.75l-7.786,0l0,-0.75l7.786,0Zm5.45,0l0,0.75l-2.335,0l-0,-0.75l2.335,0Zm10.902,0l-0,0.75l-7.787,0l0,-0.75l7.787,0Zm5.45,0l-0,0.75l-2.336,0l-0,-0.75l2.336,0Zm10.9,0l0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.451,0l0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l-0,0.75l-7.787,0l0,-0.75l7.787,0Zm5.45,0l-0,0.75l-2.336,0l0,-0.75l2.336,0Zm10.901,0l-0,0.75l-7.786,0l-0,-0.75l7.786,0Zm5.451,0l-0,0.75l-2.336,0l-0,-0.75l2.336,0Zm7.007,4.018l-0.75,-0l0,-3.268l-3.143,0l0,-0.75l3.893,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.893,7.232l0,-0.75l3.143,0l0,-3.268l0.75,0l0,4.018l-3.893,0Zm-5.45,0l-0,-0.75l2.335,0l0,0.75l-2.335,0Zm-10.901,0l-0,-0.75l7.786,0l-0,0.75l-7.786,0Zm-5.451,0l0,-0.75l2.336,0l0,0.75l-2.336,0Zm-10.901,0l0,-0.75l7.787,0l-0,0.75l-7.787,0Zm-5.45,0l0,-0.75l2.336,0l-0,0.75l-2.336,0Zm-10.901,0l0,-0.75l7.787,0l-0,0.75l-7.787,0Zm-5.45,0l-0,-0.75l2.336,0l-0,0.75l-2.336,0Zm-10.901,0l-0,-0.75l7.786,0l0,0.75l-7.786,0Zm-5.45,0l-0,-0.75l2.336,0l-0,0.75l-2.336,0Zm-10.902,0l0,-0.75l7.787,0l-0,0.75l-7.787,0Zm-5.45,0l-0,-0.75l2.336,0l-0,0.75l-2.336,0Zm-10.9,0l-0,-0.75l7.786,0l0,0.75l-7.786,0Zm-5.451,0l0,-0.75l2.336,0l0,0.75l-2.336,0Zm-10.901,0l0,-0.75l7.787,0l-0,0.75l-7.787,0Zm-5.45,0l0,-0.75l2.336,0l0,0.75l-2.336,0Zm-10.901,0l-0,-0.75l7.786,0l0,0.75l-7.786,0Zm-5.45,0l-0,-0.75l2.335,0l0,0.75l-2.335,0Zm-10.901,0l-0,-0.75l7.786,0l0,0.75l-7.786,0Zm-5.451,0l0,-0.75l2.336,0l0,0.75l-2.336,0Zm-10.9,0l-0,-0.75l7.786,0l0,0.75l-7.786,0Zm-5.451,0l0,-0.75l2.336,0l0,0.75l-2.336,0Zm-10.901,0l0,-0.75l7.787,0l-0,0.75l-7.787,0Zm-5.45,0l-0,-0.75l2.336,0l-0,0.75l-2.336,0Zm-10.901,0l-0,-0.75l7.786,0l0,0.75l-7.786,0Zm-5.45,0l-0,-0.75l2.336,0l-0,0.75l-2.336,0Zm-10.901,0l-0,-0.75l7.786,0l-0,0.75l-7.786,0Zm-5.451,0l0,-0.75l2.336,0l0,0.75l-2.336,0Zm-10.9,0l-0,-0.75l7.786,0l0,0.75l-7.786,0Zm-5.451,0l0,-0.75l2.336,0l-0,0.75l-2.336,0Zm-10.9,0l-0,-0.75l7.786,0l-0,0.75l-7.786,0Zm-5.451,0l0,-0.75l2.336,0l0,0.75l-2.336,0Zm-10.901,0l0,-0.75l7.787,0l-0,0.75l-7.787,0Zm-5.45,0l-0,-0.75l2.335,0l0,0.75l-2.335,0Zm-7.008,-4.018l0.75,0l0,3.268l3.143,0l0,0.75l-3.893,0l-0,-4.018Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,216.514,75.3798)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "194.961px", + "y": "75.38px" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M270,42.375l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l262.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M243.75,31.476l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M198.75,45l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M172.3,45l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M224.272,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.766,45l-0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M244.875,21.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 243.75, + "cy": "21.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "243.75", + "cy": "30.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M248.535,21.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,264.061,23.9231)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "252.095px", + "y": "23.923px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,269.787,27.7118)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "251.958px", + "y": "27.712px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,262.466,31.4618)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "251.81px", + "y": "31.462px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M19.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "59.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "18.75", + "cy": "68.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M23.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,39.2724,61.4526)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "27.305px", + "y": "61.453px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,33.7081,65.2413)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "27.454px", + "y": "65.241px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,33.4599,68.9913)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "27.442px", + "y": "68.991px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "59.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "108.75", + "cy": "68.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M113.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,128.498,61.4526)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "116.531px", + "y": "61.453px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,122.934,65.2413)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "116.68px", + "y": "65.241px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,122.685,68.9913)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "116.667px", + "y": "68.991px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M199.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "198.75", + "cy": "59.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "198.75", + "cy": "68.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M203.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,217.076,61.4526)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "214.53px ", + "y": "61.453px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "207.426px", + "y": "61.453px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,213.829,65.2413)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "207.575px", + "y": "65.241px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,213.58,68.9913)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "207.562px", + "y": "68.991px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + }, + { + "elements": [ + { + "d": "M173.425,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "172.3", + "cy": "59.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "172.3", + "cy": "68.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M177.085,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,190.549,61.4526)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "188.004px ", + "y": "61.453px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "180.899px", + "y": "61.453px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,187.302,65.2413)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "181.048px", + "y": "65.241px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,187.054,68.9913)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "181.036px", + "y": "68.991px" + } + ], + "id": "Text4", + "name": "Text4", + "type": "group" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,222.023,2.99479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "", + "type": "text", + "x": "206.276px", + "y": "2.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,228.828,6.74479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "206.276px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,238.696,10.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "206.276px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + }, + { + "elements": [ + { + "d": "M225.5,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 224.3, + "cy": 59.25, + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": 224.3, + "cy": "68.25", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M230,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4,0,0,4.16667,190.549,61.4526)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "188.004px ", + "y": "61.453px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "231.899px", + "y": "61.453px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,187.302,65.2413)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "232.048px", + "y": "65.241px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,187.054,68.9913)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "232.036px", + "y": "68.991px" + } + ], + "id": "Text4", + "name": "Text4", + "type": "group" + } + ], + "id": "CB05", + "name": "CB05", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 279 79" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 141, + "x": 262, + "y": -11 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.textHandler.IDPlate1" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "color": "var(--olGray)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-UPS-HS2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-UPS-HS2/resource.json new file mode 100644 index 0000000..31d173d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-UPS-HS2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "993dd3bdd40dce7d34e3cfd9637902767f6aa59092376480c4dcb5af7df78acb", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-UPS-HS2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-UPS-HS2/thumbnail.png new file mode 100644 index 0000000..d943482 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-UPS-HS2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-UPS-HS2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-UPS-HS2/view.json new file mode 100644 index 0000000..58ec370 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP-UPS-HS2/view.json @@ -0,0 +1,2056 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": true + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 105, + "width": 381 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DP-UPS-HS2" + }, + "position": { + "height": 105, + "width": 381 + }, + "propConfig": { + "props.elements[10].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[10].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[10].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[9].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[9].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[9].elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "284.992", + "x": "0", + "y": "11.25" + }, + { + "d": "M0,15.268l0,-4.018l3.77,0l-0,0.75l-3.02,-0l0,3.268l-0.75,-0Zm9.047,-4.018l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.556,0l-0,0.75l-7.54,0l-0,-0.75l7.54,0Zm5.277,0l-0,0.75l-2.262,0l-0,-0.75l2.262,0Zm10.555,0l-0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.277,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.278,0l-0,0.75l-2.262,0l-0,-0.75l2.262,0Zm10.555,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l-0,0.75l-2.262,0l-0,-0.75l2.262,0Zm10.555,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.278,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.278,0l-0,0.75l-2.262,0l0,-0.75l2.262,0Zm10.555,0l0,0.75l-7.539,0l-0,-0.75l7.539,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.261,0l-0,-0.75l2.261,0Zm10.556,0l-0,0.75l-7.54,0l0,-0.75l7.54,0Zm5.277,0l0,0.75l-2.262,0l0,-0.75l2.262,0Zm6.786,4.018l-0.75,-0c-0,-0 -0,-3.268 -0,-3.268l-3.02,0l-0,-0.75l3.77,0l-0,4.018Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-3.77,7.232l-0,-0.75l3.02,0l-0,-3.268l0.75,0l-0,4.018l-3.77,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l-0,-0.75l2.261,0l0,0.75l-2.261,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l-0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.261,0l0,0.75l-2.261,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.278,0l0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.277,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.556,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l0,-0.75l7.54,0l-0,0.75l-7.54,0Zm-5.277,0l0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l-0,-0.75l2.262,0l-0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-10.555,0l-0,-0.75l7.539,0l0,0.75l-7.539,0Zm-5.278,0l0,-0.75l2.262,0l0,0.75l-2.262,0Zm-6.785,-4.018l0.75,0c0,0 0,3.268 0,3.268l3.02,0l-0,0.75l-3.77,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M279.394,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l271.894,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M198.75,31.476l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M153.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M198.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M243.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M199.875,21.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "198.75", + "cy": "21.75", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,20.625c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "198.75", + "cy": "30.75", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,29.625c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M203.535,21.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,218.881,22.4932)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "800AF", + "type": "text", + "x": "206.604px", + "y": "22.493px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,218.439,26.2819)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "700AT", + "type": "text", + "x": "206.472px", + "y": "26.282px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,221.06,30.0339)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI, NC", + "type": "text", + "x": "206.472px", + "y": "30.034px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,217.129,34.0134)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "100%", + "type": "text", + "x": "206.472px", + "y": "34.013px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M19.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "18.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M23.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,36.2221,61.2735)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "26.572px", + "y": "61.274px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,32.6943,65.0622)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "26.44px", + "y": "65.062px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,48.4414,68.8142)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "26.44px", + "y": "68.814px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M64.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "63.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "63.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M68.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,81.5764,61.2735)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "71.927px", + "y": "61.274px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,78.0485,65.0622)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "71.794px", + "y": "65.062px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,93.7956,68.8142)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "71.794px", + "y": "68.814px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "108.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M113.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,126.365,61.2735)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "116.715px", + "y": "61.274px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,122.837,65.0622)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "116.583px", + "y": "65.062px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,138.584,68.8142)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "116.583px", + "y": "68.814px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "d": "M154.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "153.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M153.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "153.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M153.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M158.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,170.997,61.2735)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "161.348px", + "y": "61.274px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,167.47,65.0622)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "161.215px", + "y": "65.062px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,183.217,68.8142)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "161.215px", + "y": "68.814px" + } + ], + "id": "Text4", + "name": "Text4", + "type": "group" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + }, + { + "elements": [ + { + "d": "M199.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "198.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "198.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M203.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,216.254,61.2735)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "206.604px", + "y": "61.274px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,212.726,65.0622)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "206.472px", + "y": "65.062px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,228.473,68.8142)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "206.472px", + "y": "68.814px" + } + ], + "id": "Text5", + "name": "Text5", + "type": "group" + } + ], + "id": "CB05", + "name": "CB05", + "type": "group" + }, + { + "elements": [ + { + "d": "M244.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "243.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M243.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "243.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M243.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M248.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": 1.5, + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,261.277,61.2735)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "251.627px", + "y": "61.274px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,257.749,65.0622)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "251.495px", + "y": "65.062px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,273.496,68.8142)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "251.495px", + "y": "68.814px" + } + ], + "id": "Text6", + "name": "Text6", + "type": "group" + } + ], + "id": "CB06", + "name": "CB06", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,272.22,2.99479)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DP-UPS-HS2", + "type": "text", + "x": "246.984px", + "y": "2.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,278.668,6.78345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "800A, 480V3PH", + "type": "text", + "x": "246.852px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,268.851,10.5355)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3W65kAIC", + "type": "text", + "x": "246.852px", + "y": "10.535px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "10" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 286 79" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP_UPS_HS1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP_UPS_HS1/resource.json new file mode 100644 index 0000000..755db3e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP_UPS_HS1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cb6577782b6776cd856f73a8aaf5b1cec852bc50111d644535f008d3a804ca60", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP_UPS_HS1/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP_UPS_HS1/thumbnail.png new file mode 100644 index 0000000..86f37d6 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP_UPS_HS1/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP_UPS_HS1/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP_UPS_HS1/view.json new file mode 100644 index 0000000..3e1ee52 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DP_UPS_HS1/view.json @@ -0,0 +1,2513 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": true + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 105, + "width": 486 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DP-UPS-HS1" + }, + "position": { + "height": 105, + "width": 486 + }, + "propConfig": { + "props.elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[10].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[10].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[10].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[10].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[10].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[10].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[10].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[10].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[10].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[11].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[11].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[12].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[12].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[12].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[12].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[12].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[12].elements[5].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[12].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[12].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[12].elements[6].elements[5].key.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[12].elements[6].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[9].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[9].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[9].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[9].elements[6].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "363.897", + "x": "0", + "y": "11.25" + }, + { + "d": "M0,15.268l0,-4.018l3.767,0l0,0.75l-3.017,-0l0,3.268l-0.75,-0Zm9.041,-4.018l0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.548,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.273,0l0,0.75l-2.26,0l0,-0.75l2.26,0Zm10.548,0l0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.275,0l-0,0.75l-2.261,0l0,-0.75l2.261,0Zm10.547,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.273,0l0,0.75l-2.26,0l0,-0.75l2.26,0Zm10.549,0l-0,0.75l-7.535,0l0,-0.75l7.535,0Zm5.274,0l-0,0.75l-2.261,0l0,-0.75l2.261,0Zm10.547,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.548,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.261,0l0,-0.75l2.261,0Zm10.547,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l0,0.75l-2.26,0l0,-0.75l2.26,0Zm10.548,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.273,0l0,0.75l-2.26,0l0,-0.75l2.26,0Zm10.549,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.273,0l0,0.75l-2.26,0l0,-0.75l2.26,0Zm10.548,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.548,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.261,0l0,-0.75l2.261,0Zm10.547,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.548,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.261,0l0,-0.75l2.261,0Zm10.548,0l0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.547,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l0,0.75l-2.26,0l0,-0.75l2.26,0Zm10.548,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.261,0l0,-0.75l2.261,0Zm10.548,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.261,0l0,-0.75l2.261,0Zm10.547,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.547,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.548,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.548,0l-0,0.75l-7.534,0l-0,-0.75l7.534,0Zm5.274,0l-0,0.75l-2.26,0l-0,-0.75l2.26,0Zm10.547,0l0,0.75l-7.534,0l0,-0.75l7.534,0Zm5.274,0l0,0.75l-2.26,0l0,-0.75l2.26,0Zm6.781,4.018l-0.75,-0l-0,-3.268l-3.017,0l-0,-0.75l3.767,0l-0,4.018Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l-0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l-0,-2.411l0.75,0l-0,2.411Zm-3.767,7.232l-0,-0.75l3.017,0l-0,-3.268l0.75,0l-0,4.018l-3.767,0Zm-5.274,0l-0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.548,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.273,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-10.548,0l-0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.275,0l0,-0.75l2.261,0l-0,0.75l-2.261,0Zm-10.547,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.273,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-10.549,0l0,-0.75l7.535,0l-0,0.75l-7.535,0Zm-5.274,0l0,-0.75l2.261,0l-0,0.75l-2.261,0Zm-10.547,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.548,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.261,0l-0,0.75l-2.261,0Zm-10.547,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-10.548,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.273,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-10.549,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.273,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-10.548,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.548,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.261,0l-0,0.75l-2.261,0Zm-10.547,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.548,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.261,0l-0,0.75l-2.261,0Zm-10.548,0l-0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.547,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-10.548,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.548,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.261,0l-0,0.75l-2.261,0Zm-10.547,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.547,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-10.548,0l-0,-0.75l7.534,0l-0,0.75l-7.534,0Zm-5.274,0l-0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.548,0l0,-0.75l7.534,0l0,0.75l-7.534,0Zm-5.274,0l0,-0.75l2.26,0l0,0.75l-2.26,0Zm-10.548,0l0,-0.75l7.535,0l-0,0.75l-7.535,0Zm-5.273,0l-0,-0.75l2.26,0l-0,0.75l-2.26,0Zm-6.781,-4.018l0.75,0l0,3.268l3.017,0l0,0.75l-3.767,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,353.561,3.03345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DP-UPS-HS1", + "type": "text", + "x": "328.325px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,361.298,6.74479)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "800A, 480V3PH,", + "type": "text", + "x": "328.325px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,350.324,10.5334)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3W65kAIC", + "type": "text", + "x": "328.325px", + "y": "10.533px" + } + ], + "id": "TagIdPlate", + "name": "TagIdPlate", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,350.954,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "341.304px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,347.558,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "341.304px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,363.305,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "341.304px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M334.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "333.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M333.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "333.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M333.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M338.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB08", + "name": "CB08", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,306.283,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "296.634px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,302.888,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "296.634px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,318.635,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "296.634px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M289.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "288.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M288.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "288.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M288.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M293.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB07", + "name": "CB07", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,261.295,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90A", + "type": "text", + "x": "251.645px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,257.899,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "251.645px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,273.646,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "251.645px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M244.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "243.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M243.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "243.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M243.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M248.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB06", + "name": "CB06", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,216.146,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "206.497px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,212.751,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "206.497px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,228.498,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "206.497px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M199.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 198.75, + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "198.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M198.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M203.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB05", + "name": "CB05", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,170.998,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "161.349px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,167.603,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "161.349px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,183.35,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "161.349px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M154.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "153.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M153.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "153.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M153.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M158.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,126.089,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "116.44px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,122.694,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "116.44px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,138.441,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "116.44px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M109.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "108.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M113.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,81.18,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "71.53px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,77.7845,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "71.53px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,93.5315,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "71.53px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M64.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "63.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "63.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M63.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M68.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,36.1912,61.4614)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "90AT", + "type": "text", + "x": "26.542px", + "y": "61.461px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,32.7956,65.2501)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI", + "type": "text", + "x": "26.542px", + "y": "65.25px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,48.5427,69.0021)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOCKABLE", + "type": "text", + "x": "26.542px", + "y": "69.002px" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M19.875,59.25c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "59.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,58.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "18.75", + "cy": "68.25", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,67.125c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M23.535,59.25c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M7.5,42.375l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": 10, + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M356.25,42.375l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,45l348.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.75,31.476l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M108.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M153.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M198.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M243.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M288.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M333.75,45l0,13.524", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.875,21.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "108.75", + "cy": "21.75", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,20.625c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": 108.75, + "cy": "30.75", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M108.75,29.625c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M113.535,21.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,130.105,21.7448)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "800AF", + "type": "text", + "x": "117.828px", + "y": "21.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,129.795,25.4948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "700AT", + "type": "text", + "x": "117.828px", + "y": "25.495px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,132.416,29.2448)", + "type": "group" + }, + { + "key": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI, NC", + "type": "text", + "x": "117.828px", + "y": "29.245px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,128.485,32.9948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "100%", + "type": "text", + "x": "117.828px", + "y": "32.995px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Main-CB", + "name": "Main-CB", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 365 79" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS Power Label/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS Power Label/resource.json new file mode 100644 index 0000000..48f4da3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS Power Label/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "37f5f7748eef41be2fcfc1c81d4b9a44873573133c2231e993a95e94f156ab54", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS Power Label/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS Power Label/thumbnail.png new file mode 100644 index 0000000..603a35c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS Power Label/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS Power Label/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS Power Label/view.json new file mode 100644 index 0000000..2e282b5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS Power Label/view.json @@ -0,0 +1,74 @@ +{ + "custom": {}, + "params": { + "SRC": "01", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1" + }, + "propConfig": { + "params.SRC": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 25, + "width": 150 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Equipment Name" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "{value} + \" SRC \" + {view.params.SRC}", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontSize": 15, + "fontWeight": "bold", + "overflow": "visible", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS SW/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS SW/resource.json new file mode 100644 index 0000000..64af76d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS SW/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7be606eb1377a95de390a7c770a8ac0e4252ff138f12e004f870c80a995b87ab", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS SW/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS SW/thumbnail.png new file mode 100644 index 0000000..a1111ad Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS SW/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS SW/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS SW/view.json new file mode 100644 index 0000000..5dd2cf4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS SW/view.json @@ -0,0 +1,314 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": true + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 107, + "width": 60 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DS SW" + }, + "position": { + "height": 107, + "width": 60 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "37.5", + "x": "0", + "y": "12.722" + }, + { + "d": "M0,16.74l0,-4.018l4.464,0l0,0.75l-3.714,0l-0,3.268l-0.75,0Zm10.714,-4.018l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm12.5,0l0,0.75l-8.928,0l-0,-0.75l8.928,0Zm6.25,0l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm8.036,4.018l-0.75,0l0,-3.268l-3.714,0l-0,-0.75l4.464,0l-0,4.018Zm-0,5.625l-0.75,-0l0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,0l0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,0l0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l0,-2.411l0.75,0l-0,2.411Zm-4.464,7.232l-0,-0.75l3.714,0l0,-3.268l0.75,0l-0,4.018l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-12.5,0l-0,-0.75l8.928,0l0,0.75l-8.928,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-4.018l0.75,0l-0,3.268l3.714,0l0,0.75l-4.464,0l-0,-4.018Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "cx": "18.75", + "cy": "34.282", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,33.157c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M18.718,45.339l1.717,-12.634", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M18.75,45.339l5.263,-11.613", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + } + ], + "id": "SW", + "name": "SW", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,27.7348,2.98258)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "TX", + "type": "text", + "x": "22.41px", + "y": "2.983px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,43.9661,6.78345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UPS-HS1-7", + "type": "text", + "x": "22.201px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,35.8362,10.5334)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "DS SW", + "type": "text", + "x": "22.179px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 45 81" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS/resource.json new file mode 100644 index 0000000..b2ad69e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1313287c1caa37bbcebb53da36dcfe512d52b01c49dc0f1a042fcb37d4b55867", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS/thumbnail.png new file mode 100644 index 0000000..d5bdf0b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS/view.json new file mode 100644 index 0000000..0ae0446 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/DS/view.json @@ -0,0 +1,2121 @@ +{ + "custom": { + "in1": null, + "in2": null + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower_1": 1, + "inputPower_2": 0, + "objectName": "DS", + "outputPower_1": 0, + "outputPower_2": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2", + "textColor": "var(--olGray)", + "textHandler": { + "text1": "DS-1A1", + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "propConfig": { + "custom.in1": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Data/S1In" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.in2": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Data/S2In" + }, + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower_1": { + "onChange": { + "enabled": null, + "script": "\tself.custom.in1 \u003d currentValue" + }, + "paramDirection": "input", + "persistent": true + }, + "params.inputPower_2": { + "onChange": { + "enabled": null, + "script": "\tself.custom.in2 \u003d currentValue" + }, + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower_1": { + "binding": { + "config": { + "path": "/root/DS.custom.outW3" + }, + "enabled": false, + "transforms": [ + { + "code": "\ttagPath \u003d self.params.tagPath + \"/Data/S1Out\"\n\tif value is None:\n\t\tsystem.tag.writeAsync(tagPath, False)\n\t\treturn 0\n\toutput \u003d bool(value)\n\tsystem.tag.writeAsync(tagPath, output)\n\treturn value", + "type": "script" + }, + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": 0 + }, + { + "input": 1, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.outputPower_2": { + "binding": { + "config": { + "path": "/root/DS.custom.outW4" + }, + "enabled": false, + "transforms": [ + { + "code": "\ttagPath \u003d self.params.tagPath + \"/Data/S2Out\"\n\tif value is None:\n\t\tsystem.tag.writeAsync(tagPath, False)\n\t\treturn 0\n\toutput \u003d bool(value)\n\tsystem.tag.writeAsync(tagPath, output)\n\treturn value", + "type": "script" + }, + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": 0 + }, + { + "input": 1, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 110, + "width": 160 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "DS" + }, + "position": { + "height": 110, + "width": 160 + }, + "propConfig": { + "custom.CB3_Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.CB4_Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.Bus": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Data/Bus" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.W1": { + "binding": { + "config": { + "path": "this.custom.inW1" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\tif value:\n\t\treturn \u0027var(--olRed)\u0027\n\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.colorHandler.W2": { + "binding": { + "config": { + "path": "this.custom.inW2" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\tif value:\n\t\treturn \u0027var(--olRed)\u0027\n\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.colorHandler.W3": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.outBus}", + "CB3": "{this.custom.CB3_Closed}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027CB3\u0027] \u003d\u003d 1) and (value[\u0027Bus\u0027] \u003d\u003d 1):\n\t\treturn \u0027var(--olRed)\u0027\n\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.W4": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.outBus}", + "CB4": "{this.custom.CB4_Closed}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027CB4\u0027] \u003d\u003d 1) and (value[\u0027Bus\u0027] \u003d\u003d 1):\n\t\treturn \u0027var(--olRed)\u0027\n\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.inBus": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Data/Bus" + }, + "type": "tag" + } + }, + "custom.inW1": { + "binding": { + "config": { + "path": "view.params.inputPower_1" + }, + "type": "property" + } + }, + "custom.inW2": { + "binding": { + "config": { + "path": "view.params.inputPower_2" + }, + "type": "property" + } + }, + "custom.inW3": { + "binding": { + "config": { + "path": "this.custom.outBus" + }, + "type": "property" + } + }, + "custom.inW4": { + "binding": { + "config": { + "path": "this.custom.outBus" + }, + "type": "property" + } + }, + "custom.outBus": { + "binding": { + "config": { + "path": "this.custom.inBus" + }, + "type": "property" + } + }, + "custom.outW1": { + "binding": { + "config": { + "expression": "if(tag(tostr({view.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))\u0026\u0026{this.custom.inW1},1,0)\r\n" + }, + "type": "expr" + } + }, + "custom.outW2": { + "binding": { + "config": { + "expression": "if(tag(tostr({view.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))\u0026\u0026{this.custom.inW2},1,0)" + }, + "type": "expr" + } + }, + "custom.outW3": { + "binding": { + "config": { + "expression": "if(tag(tostr({view.params.tagPath}+\u0027/Breaker Closed Way 03\u0027))\u0026\u0026{this.custom.outBus},1,0)" + }, + "type": "expr" + } + }, + "custom.outW4": { + "binding": { + "config": { + "expression": "if(tag(tostr({view.params.tagPath}+\u0027/Breaker Closed Way 04\u0027))\u0026\u0026{this.custom.outBus},1,0)" + }, + "type": "expr" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{parent.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[3].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W1" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 01" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W1" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 01" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[4].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 02" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 02" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[5].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[6].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[8].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[9].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[5].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[8].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text1" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text2" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text3" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text4" + }, + "type": "property" + } + }, + "props.elements[8].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "circle", + "width": 82.5, + "x": 3.75, + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l3.929,0l-0,0.75l-3.179,-0l0,3.268l-0.75,-0Zm9.429,-4.018l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.499,0l0,0.75l-2.357,0l0,-0.75l2.357,0Zm11.001,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.357,0l-0,-0.75l2.357,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm7.071,4.018l-0.75,-0l-0,-3.268l-3.179,0l0,-0.75l3.929,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.929,7.232l0,-0.75l3.179,0l0,-3.268l0.75,0l0,4.018l-3.929,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.499,0l-0,-0.75l2.357,0l-0,0.75l-2.357,0Zm-11.001,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.357,0l0,0.75l-2.357,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-7.071,-4.018l0.75,0l0,3.268l3.179,0l-0,0.75l-3.929,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M22.5,31.634l45,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,25.327l0,15.923", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,25.327l0,15.923", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M90,7.5l0,75l-90,-0l-0,-75l90,0Zm-0.75,0.75l-88.5,0l0,73.5l88.5,-0l0,-73.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "90", + "x": "-0", + "y": "7.5" + }, + { + "d": "M90.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M89.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M94.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "89.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M88.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M91.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + }, + { + "elements": [ + { + "cx": "22.5", + "cy": "25.327", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,26.452c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125Zm0,-0.675c0.248,0 0.45,-0.201 0.45,-0.45c0,-0.248 -0.202,-0.45 -0.45,-0.45c-0.248,0 -0.45,0.202 -0.45,0.45c0,0.249 0.202,0.45 0.45,0.45Z", + "name": "path", + "type": "path" + }, + { + "d": "M22.5,16.327l1.398,8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M22.5,16.327l4.579,7.749", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.68px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,20.5386,16.4583)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-1", + "type": "tspan", + "x": "11.967px 14.437px 16.834px 18.221px ", + "y": "16.458px 16.458px 16.458px 16.458px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "8.189px", + "y": "16.458px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.7675,23.2292)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "10.036px", + "y": "23.229px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,30.4087,30.2063)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "24.391px", + "y": "30.206px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "Way-1", + "name": "Way-1", + "type": "group" + }, + { + "elements": [ + { + "cx": "67.5", + "cy": "25.327", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,26.452c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125Zm0,-0.75c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M67.5,16.327l1.398,8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,16.327l4.579,7.749", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,65.5552,16.4583)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-2", + "type": "tspan", + "x": "56.984px 59.454px 61.85px 63.238px ", + "y": "16.458px 16.458px 16.458px 16.458px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "53.206px", + "y": "16.458px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,64.7841,23.2292)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "55.053px", + "y": "23.229px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,75.9375,30.2083)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NO", + "type": "text", + "x": "69.688px", + "y": "30.208px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "Way-2", + "name": "Way-2", + "type": "group" + }, + { + "elements": [ + { + "cx": "22.5", + "cy": "59.785", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,58.66c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M22.5,68.785l1.398,-8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,68.785l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M23.898,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 22.5, + "cy": "42.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,41.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": 22.5, + "cy": "51.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,50.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M27.558,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,52.067l0,7.833", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,20.5386,74.4792)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-3", + "type": "tspan", + "x": "11.967px 14.437px 16.834px 18.221px ", + "y": "74.479px 74.479px 74.479px 74.479px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "8.189px", + "y": "74.479px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.7675,65.4822)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "10.036px", + "y": "65.482px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,33.1767,65.5208)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "27.159px", + "y": "65.521px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "Way-3", + "name": "Way-3", + "type": "group" + }, + { + "elements": [ + { + "cx": "67.5", + "cy": "59.785", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,58.66c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M67.5,68.785l1.398,-8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,68.785l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M68.883,42.405c1.261,1.2 1.896,2.695 1.871,4.5c0.008,2.095 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 67.5, + "cy": "42.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,41.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": 67.5, + "cy": "51.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,50.25c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M72.544,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,52.067l0,7.833", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,65.5552,74.4792)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-4", + "type": "tspan", + "x": "56.984px 59.454px 61.85px 63.238px ", + "y": "74.479px 74.479px 74.479px 74.479px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "53.206px", + "y": "74.479px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,64.7841,65.4822)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "55.053px", + "y": "65.482px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,78.4735,65.5208)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "72.455px", + "y": "65.521px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "Way-4", + "name": "Way-4", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,103.018,14.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "x": "88.199px", + "y": "14.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,114.137,17.9948)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ",", + "type": "tspan", + "x": "112.979px ", + "y": "17.995px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.343px", + "y": "17.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,117.199,21.7834)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "92.884px 94.042px ", + "y": "21.783px 21.783px " + }, + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "101.22px 102.377px ", + "y": "21.783px 21.783px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.325px", + "y": "21.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,114.102,25.5334)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "97.434px 99.983px 101.14px ", + "y": "25.533px 25.533px 25.533px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.482px", + "y": "25.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 120 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 37, + "x": 37, + "y": 63 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed Way 03\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Tripped Way 03\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027\n", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "overflow": "visible" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 20, + "width": 37, + "x": 50.5, + "y": 45 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed Way 04\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Tripped Way 04\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027\n", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "overflow": "visible", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/EPMS_Nav/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/EPMS_Nav/resource.json new file mode 100644 index 0000000..1a27874 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/EPMS_Nav/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "35f41a70181f12242aaf74e4bb19c9a6d1542a8d31fc2a2850a265f4286ec466", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/EPMS_Nav/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/EPMS_Nav/thumbnail.png new file mode 100644 index 0000000..efb9211 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/EPMS_Nav/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/EPMS_Nav/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/EPMS_Nav/view.json new file mode 100644 index 0000000..fe0ec7a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/EPMS_Nav/view.json @@ -0,0 +1,3645 @@ +{ + "custom": {}, + "params": { + "Room": "UT-P4.4", + "pageId": "" + }, + "propConfig": { + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 170, + "width": 350 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": { + "DS": "#a8d18d", + "HS": "#fafac8", + "M": "#c8f0ff", + "NoSelected": "gray", + "P": "#ffd7b3", + "SES": "#008100" + } + }, + "meta": { + "name": "OnelineDiagram" + }, + "position": { + "height": 1, + "width": 0.9828 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "SES-1A", + "output": "#008100" + }, + { + "input": "UTILITY", + "output": "#008100" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "SES-1B", + "output": "#008100" + }, + { + "input": "UTILITY", + "output": "#008100" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "DS-1A3", + "output": "#a8d18d" + }, + { + "input": "UTILITY", + "output": "#a8d18d" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "DS-1B3", + "output": "#a8d18d" + }, + { + "input": "UTILITY", + "output": "#a8d18d" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "DS-1A2", + "output": "#a8d18d" + }, + { + "input": "UTILITY", + "output": "#a8d18d" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "DS-1B2", + "output": "#a8d18d" + }, + { + "input": "UTILITY", + "output": "#a8d18d" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "DS-1A1", + "output": "#a8d18d" + }, + { + "input": "UTILITY", + "output": "#a8d18d" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "DS-1B1", + "output": "#a8d18d" + }, + { + "input": "UTILITY", + "output": "#a8d18d" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-HS1", + "output": "#fafac8" + }, + { + "input": "UT", + "output": "#fafac8" + }, + { + "input": "HS", + "output": "#fafac8" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-HS2", + "output": "#fafac8" + }, + { + "input": "UT", + "output": "#fafac8" + }, + { + "input": "HS", + "output": "#fafac8" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M1", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M2", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M3", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M4", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M5", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M6", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M7", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-M8", + "output": "#c8f0ff" + }, + { + "input": "UT", + "output": "#c8f0ff" + }, + { + "input": "M", + "output": "#c8f0ff" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P2.1", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P2", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P2.2", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P2", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P2.3", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P2", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P2.4", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P2", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P2.5", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P2", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P3.1", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P3", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P3.2", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P3", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P3.3", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P3", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P3.4", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P3", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P3.5", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P3", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P5.1", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P5", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P5.2", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P5", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P5.3", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P5", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P5.4", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P5", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P5.5", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P5", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P4.1", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P4", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P4.2", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P4", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P4.3", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P4", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P4.4", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P4", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P4.5", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P4", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P1.1", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P1", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P1.2", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P1", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P1.3", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P1", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[4].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P1.4", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P1", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.params.Room" + }, + "transforms": [ + { + "fallback": "lightgray", + "inputType": "scalar", + "mappings": [ + { + "input": "UT-P1.5", + "output": "#ffd7b3" + }, + { + "input": "UT", + "output": "#ffd7b3" + }, + { + "input": "P1", + "output": "#ffd7b3" + }, + { + "input": "P", + "output": "#ffd7b3" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "178.735", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "444.63", + "x": "26.322", + "y": "302.752" + }, + { + "fill": {}, + "height": "178.735", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "444.63", + "x": "4534", + "y": "302.752" + } + ], + "id": "SES", + "name": "SES", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "174.41", + "x": "211.479", + "y": "652.307" + }, + { + "fill": {}, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "174.41", + "x": "4618.04", + "y": "652.307" + }, + { + "fill": {}, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "174.41", + "x": "211.479", + "y": "1244.35" + }, + { + "fill": {}, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "174.41", + "x": "4618.04", + "y": "1244.35" + }, + { + "fill": {}, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "174.41", + "x": "211.479", + "y": "1840.82" + }, + { + "fill": {}, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "174.41", + "x": "4618.04", + "y": "1840.82" + } + ], + "id": "DS", + "name": "DS", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "2133.62" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2993.68", + "y": "946.28" + } + ], + "id": "HS", + "name": "HS", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "1838.4" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "1838.4" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "1838.4" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "1838.4" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "1838.4" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2993.68", + "y": "1838.4" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "3428.1", + "y": "2133.62" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "3862.53", + "y": "2133.62" + } + ], + "id": "M", + "name": "M", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "1538.87" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "1538.87" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "1538.87" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "1538.87" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "1538.87" + } + ], + "id": "P2", + "name": "P2", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "1242.06" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "1242.06" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "1242.06" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "1242.06" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "1242.06" + } + ], + "id": "P3", + "name": "P3", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "647.309" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "647.309" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "647.309" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "647.309" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "647.309" + } + ], + "id": "P5", + "name": "P5", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "946.28" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "946.28" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "946.28" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "946.28" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "946.28" + } + ], + "id": "P4", + "name": "P4", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "2133.62" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "2133.62" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "2133.62" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "2133.62" + }, + { + "fill": {}, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2993.68", + "y": "2133.62" + } + ], + "id": "P1", + "name": "P1", + "type": "group" + } + ], + "id": "P", + "name": "P", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1145.65,724.395l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,724.395l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,724.395l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,724.395l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2888.52,724.395l1729.52,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,724.395l-428.772,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A3-1B3-2", + "name": "DS-1A3-1B3-2", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1023.37l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2890.24,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3324.67,1023.37l1293.38,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1023.37l-428.772,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A3-1B3-1", + "name": "DS-1A3-1B3-1", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1319.14l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1319.14l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1319.14l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1319.14l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2890.24,1319.14l1727.8,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1319.14l-428.772,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A2-1B2-2", + "name": "DS-1A2-1B2-2", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1615.96l106.882,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1615.96l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1615.96l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1615.96l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2890.24,1615.96l1727.8,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1615.96l-428.772,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A2-1B2-1", + "name": "DS-1A2-1B2-1", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1915.49l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1915.49l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1915.49l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1915.49l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2888.52,1915.49l103.434,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3324.67,1915.49l1293.38,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1915.49l-428.772,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A1-1B1-2", + "name": "DS-1A1-1B1-2", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,2210.7l106.882,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M1583.52,2210.7l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M2017.95,2210.7l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M2454.09,2210.7l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M2888.52,2210.7l103.434,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M3324.67,2210.7l103.434,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M3759.09,2210.7l103.434,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M4193.52,2210.7l424.528,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M814.661,2210.7l-428.772,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.75px" + }, + "type": "path" + } + ], + "id": "DA-1A1-1B1-1", + "name": "DA-1A1-1B1-1", + "type": "group" + }, + { + "elements": [ + { + "d": "M211.479,875.791l-46.431,0l0,-394.305", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M211.479,1467.84l-93.872,0l-0,-986.349", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M211.479,2064.31l-140.211,-0l0,-1582.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "SES-1A-DS", + "name": "SES-1A-DS", + "type": "group" + }, + { + "elements": [ + { + "d": "M4792.45,875.791l47.797,0l-0,-394.305", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4792.45,1467.84l93.694,0l-0,-986.349", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4792.45,2064.31l140.156,-0l-0,-1582.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "SES-1B-DS", + "name": "SES-1B-DS", + "type": "group" + }, + { + "elements": [ + { + "d": "M248.636,302.752l0,-172.353", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M248.636,130.399l22.872,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M248.636,130.399l-22.871,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Utility01", + "name": "Utility01", + "type": "group" + }, + { + "elements": [ + { + "d": "M4756.31,302.752l-0,-172.353", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4756.31,130.399l22.871,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4756.31,130.399l-22.872,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Utility02", + "name": "Utility02", + "type": "group" + } + ], + "id": "Conections", + "name": "Conections", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 5000 2500" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "navigationData": { + "GoTo": "", + "breadcrumb": "/Electrical System Overview/Oneline/SES", + "target": "Pages/Dev/D_Electrical/L2/D201 Oneline SES", + "zoom": "94%" + } + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\n\ttarget \u003d self.custom.navigationData.target\n\tGoTo \u003d self.custom.navigationData.GoTo\n\tzoom \u003d self.custom.navigationData.zoom\n\tcrumb \u003d self.custom.navigationData.breadcrumb\n\tpayload \u003d {\"target\":target, \n\t\t\t\t\"params\": {\"GoTo\":GoTo, \"zoom\":zoom},\n\t\t\t\t\"breadcrumb\":crumb}\n#\tsystem.perspective.print(\"---- pageId: %s, payload: \"%(self.view.params.pageId, system.util.jsonEncode(payload)))\n\tif target !\u003d \"\":\t\t\n\t\tutils.nav.iFrameNavigate(self, payload)\n#\t\tsystem.perspective.navigate(view \u003d target)#, params \u003d {\u0027GoTo\u0027:GoTo, \u0027zoom\u0027:zoom})" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 0.0714, + "width": 0.0857, + "x": 0.0107, + "y": 0.1214 + }, + "props": { + "style": { + "classes": "containers/HoverOver" + }, + "text": "SES-1A", + "textStyle": { + "fontSize": 4, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.9087, + "y": 0.1214 + }, + "props": { + "text": "SES-1B", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "navigationData": { + "GoTo": "", + "breadcrumb": "/Electrical System Overview/Oneline/P5.1", + "target": "Pages/Dev/D_Electrical/L2/D271 Oneline P5.1", + "zoom": "113%" + } + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttarget \u003d self.custom.navigationData.target\n\tGoTo \u003d self.custom.navigationData.GoTo\n\tzoom \u003d self.custom.navigationData.zoom\n\tcrumb \u003d self.custom.navigationData.breadcrumb\n\tpayload \u003d {\"target\":target, \n\t\t\t\t\"params\": {\"GoTo\":GoTo, \"zoom\":zoom},\n\t\t\t\t\"breadcrumb\":crumb}\n#\tsystem.perspective.print(\"---- pageId: %s, payload: \"%(self.view.params.pageId, system.util.jsonEncode(payload)))\n\tif target !\u003d \"\":\t\t\n\t\tutils.nav.iFrameNavigate(self, payload)\n#\t\tsystem.perspective.navigate(view \u003d target)#, params \u003d {\u0027GoTo\u0027:GoTo, \u0027zoom\u0027:zoom})" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "height": 0.0588, + "width": 0.0657, + "x": 0.1633, + "y": 0.2595 + }, + "props": { + "style": { + "classes": "containers/HoverOver" + }, + "text": "UT-P5.1", + "textStyle": { + "fontSize": 4, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.2552, + "y": 0.2536 + }, + "props": { + "text": "UT-P5.2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.3379, + "y": 0.2536 + }, + "props": { + "text": "UT-P5.3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.4241, + "y": 0.2536 + }, + "props": { + "text": "UT-P5.4", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5069, + "y": 0.2536 + }, + "props": { + "text": "UT-P5.5", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5069, + "y": 0.375 + }, + "props": { + "text": "UT-P4.5", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_7" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.4241, + "y": 0.375 + }, + "props": { + "text": "UT-P4.4", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_8" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.3379, + "y": 0.375 + }, + "props": { + "text": "UT-P4.3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_9" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.2552, + "y": 0.375 + }, + "props": { + "text": "UT-P4.2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_10" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.169, + "y": 0.375 + }, + "props": { + "text": "UT-P4.1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_11" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5069, + "y": 0.4929 + }, + "props": { + "text": "UT-P3.5", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_12" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.4241, + "y": 0.4929 + }, + "props": { + "text": "UT-P3.4", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_13" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.3379, + "y": 0.4929 + }, + "props": { + "text": "UT-P3.3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_14" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.2552, + "y": 0.4929 + }, + "props": { + "text": "UT-P3.2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_15" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.169, + "y": 0.4929 + }, + "props": { + "text": "UT-P3.1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_16" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5069, + "y": 0.6107 + }, + "props": { + "text": "UT-P2.5", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_17" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.4241, + "y": 0.6107 + }, + "props": { + "text": "UT-P2.4", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_18" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.3379, + "y": 0.6107 + }, + "props": { + "text": "UT-P2.3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_19" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.2552, + "y": 0.6107 + }, + "props": { + "text": "UT-P2.2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_20" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.169, + "y": 0.6107 + }, + "props": { + "text": "UT-P2.1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_21" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5103, + "y": 0.7286 + }, + "props": { + "text": "UT-M5", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_22" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.4276, + "y": 0.7286 + }, + "props": { + "text": "UT-M4", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_23" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.3448, + "y": 0.7286 + }, + "props": { + "text": "UT-M3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_24" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.2621, + "y": 0.7286 + }, + "props": { + "text": "UT-M2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_25" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.1759, + "y": 0.7286 + }, + "props": { + "text": "UT-M1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_26" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5069, + "y": 0.85 + }, + "props": { + "text": "UT-P1.4", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_27" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.4241, + "y": 0.85 + }, + "props": { + "text": "UT-P1.3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_28" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.3379, + "y": 0.85 + }, + "props": { + "text": "UT-P1.2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_29" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.2552, + "y": 0.85 + }, + "props": { + "text": "UT-P1.1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_30" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.169, + "y": 0.85 + }, + "props": { + "text": "UT-HS1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_31" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5931, + "y": 0.7286 + }, + "props": { + "text": "UT-M6", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_32" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5897, + "y": 0.85 + }, + "props": { + "text": "UT-P1.5", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_33" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.6793, + "y": 0.85 + }, + "props": { + "text": "UT-M7", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_34" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.7621, + "y": 0.85 + }, + "props": { + "text": "UT-M8", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_35" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.5897, + "y": 0.375 + }, + "props": { + "text": "UT-HS2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_36" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.8414, + "y": 0.3143 + }, + "props": { + "text": "DS-1B3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_37" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.8414, + "y": 0.55 + }, + "props": { + "text": "DS-1B2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_38" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.8414, + "y": 0.7929 + }, + "props": { + "text": "DS-1B1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_39" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.0862, + "y": 0.7929 + }, + "props": { + "text": "DS-1A1", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_40" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.0862, + "y": 0.55 + }, + "props": { + "text": "DS-1A2", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_41" + }, + "position": { + "height": 0.0714, + "width": 0.0828, + "x": 0.0862, + "y": 0.3143 + }, + "props": { + "text": "DS-1A3", + "textStyle": { + "fontSize": 4 + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "navigationData": { + "GoTo": "/Oneline-SES", + "breadcrumb": "/Electrical System Overview/Oneline/SES", + "target": "Pages/Dev/D_Electrical/L2/D201 Oneline SES", + "zoom": "94%" + } + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\n\ttarget \u003d self.custom.navigationData.target\n\tGoTo \u003d self.custom.navigationData.GoTo\n\tzoom \u003d self.custom.navigationData.zoom\n\tcrumb \u003d self.custom.navigationData.breadcrumb\n\tpayload \u003d {\"target\":target, \n\t\t\t\t\"params\": {\"GoTo\":GoTo, \"zoom\":zoom},\n\t\t\t\t\"breadcrumb\":crumb}\n#\tsystem.perspective.print(\"---- pageId: %s, payload: \"%(self.view.params.pageId, system.util.jsonEncode(payload)))\n\tif target !\u003d \"\":\t\t\n\t\tutils.nav.iFrameNavigate(self, payload)\n#\t\tsystem.perspective.navigate(view \u003d target)#, params \u003d {\u0027GoTo\u0027:GoTo, \u0027zoom\u0027:zoom})" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TESTING ICON" + }, + "position": { + "height": 0.0714, + "width": 0.0857, + "x": 0.1393, + "y": 0.1214 + }, + "props": { + "style": { + "backgroundColor": "#4E73CC", + "classes": "containers/HoverOver" + }, + "text": "SES-1A", + "textStyle": { + "fontSize": 4, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{session.props.device.identifier}\u003d\u00271431593b-b1d6-4226-8fa3-d064d23467e1\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "aspectRatio": "350:170", + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-DS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-DS/resource.json new file mode 100644 index 0000000..5123f1f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-DS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "be52987c0a8e8bed796a06d6f76c9d246bf746f43966d7d2ea93abca600bf3de", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-DS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-DS/thumbnail.png new file mode 100644 index 0000000..89fdfa8 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-DS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-DS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-DS/view.json new file mode 100644 index 0000000..d55f748 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-DS/view.json @@ -0,0 +1,416 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": true + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 107, + "width": 72 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FE-DS" + }, + "position": { + "height": 107, + "width": 72 + }, + "propConfig": { + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "cx": "18.75", + "cy": "31.706", + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,30.581c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M18.718,42.764l1.717,-12.634", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M18.75,42.764l5.263,-11.613", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "id": "Text", + "name": "Text", + "transform": "matrix(4.16667,0,0,4.16667,16.6188,37.3892)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ST", + "type": "text", + "x": "11.295px", + "y": "37.389px" + } + ], + "id": "SW", + "name": "SW", + "type": "group" + }, + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "37.5", + "x": "0", + "y": "12.764" + }, + { + "d": "M0,16.782l0,-4.018l4.464,-0l0,0.75l-3.714,-0l-0,3.268l-0.75,-0Zm10.714,-4.018l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm12.5,-0l0,0.75l-8.928,-0l-0,-0.75l8.928,-0Zm6.25,-0l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm8.036,4.018l-0.75,-0l0,-3.268l-3.714,-0l-0,-0.75l4.464,-0l-0,4.018Zm-0,5.625l-0.75,-0l0,-2.411l0.75,-0l-0,2.411Zm-0,11.25l-0.75,-0l0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l0,-2.411l0.75,-0l-0,2.411Zm-0,11.25l-0.75,-0l0,-8.036l0.75,-0l-0,8.036Zm-0,5.625l-0.75,-0l0,-2.411l0.75,-0l-0,2.411Zm-0,11.25l-0.75,-0l0,-8.036l0.75,-0l-0,8.036Zm-0,5.625l-0.75,-0l0,-2.411l0.75,-0l-0,2.411Zm-4.464,7.232l-0,-0.75l3.714,-0l0,-3.268l0.75,-0l-0,4.018l-4.464,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-12.5,-0l-0,-0.75l8.928,-0l0,0.75l-8.928,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-8.036,-4.018l0.75,-0l-0,3.268l3.714,-0l0,0.75l-4.464,-0l-0,-4.018Zm-0,-5.625l0.75,-0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,-0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,-0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,-0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,-0l-0,2.411l-0.75,-0l-0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,40.8344,3.03345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "FE-1 DISC", + "type": "text", + "x": "20.693px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,53.5338,6.78345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "FUSIBLE SHUNT", + "type": "text", + "x": "20.658px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.09017,0,0,4.09017,42.1918,10.4778)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.09px" + }, + "text": "TRIP DISC.", + "type": "text", + "x": "20.904px", + "y": "10.478px" + } + ], + "id": "TagID", + "name": "TagID", + "type": "group" + }, + { + "elements": [ + { + "d": "M18.718,57.663l-0,-14.899", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "6.469", + "name": "rect", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "rect", + "width": "3.889", + "x": "16.773", + "y": "57.663" + }, + { + "fill": { + "opacity": "0" + }, + "height": "3.544", + "name": "rect", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "rect", + "width": "3.889", + "x": "16.773", + "y": "59.143" + } + ], + "id": "Fuse", + "name": "Fuse", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 54 81" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-PNL/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-PNL/resource.json new file mode 100644 index 0000000..1f5c14c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-PNL/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d76fdd7af6e1faa55749741bc8b77458962429ded83861c69da441888a2bc06e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-PNL/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-PNL/thumbnail.png new file mode 100644 index 0000000..4df72df Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-PNL/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-PNL/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-PNL/view.json new file mode 100644 index 0000000..b992320 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FE-PNL/view.json @@ -0,0 +1,363 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": true + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--Green)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 155, + "width": 56 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FE-PNL" + }, + "position": { + "height": 155, + "width": 56 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "37.5", + "x": "0", + "y": "12.722" + }, + { + "d": "M0,16.74l0,-4.018l4.464,0l0,0.75l-3.714,0l-0,3.268l-0.75,0Zm10.714,-4.018l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm12.5,0l0,0.75l-8.928,0l-0,-0.75l8.928,0Zm6.25,0l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm8.036,4.018l-0.75,0l0,-3.268l-3.714,0l-0,-0.75l4.464,0l-0,4.018Zm-0,5.625l-0.75,-0l0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,0l0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,0l0,-2.411l0.75,0l-0,2.411Zm-0,11.25l-0.75,-0l0,-8.036l0.75,0l-0,8.036Zm-0,5.625l-0.75,-0l0,-2.411l0.75,0l-0,2.411Zm-4.464,7.232l-0,-0.75l3.714,0l0,-3.268l0.75,0l-0,4.018l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-12.5,0l-0,-0.75l8.928,0l0,0.75l-8.928,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-4.018l0.75,0l-0,3.268l3.714,0l0,0.75l-4.464,0l-0,-4.018Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M18.75,80.222l0,18.644", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "102.722", + "fill": { + "opacity": "0" + }, + "name": "circle", + "r": "3.857", + "stroke": { + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M15.465,100.608l-4.115,4.229", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M25.85,100.608l-3.97,4.366", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "0.75px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,21.052,104.169)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "75", + "type": "text", + "x": "16.417px", + "y": "104.169px" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,23.4762,111.361)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "FE-1", + "type": "text", + "x": "14.447px", + "y": "111.361px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,35.4858,115.373)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "(FREIGHT ELEV", + "type": "text", + "x": "1.912px", + "y": "115.373px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "Motor", + "name": "Motor", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,30.1425,2.99479)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "FE-1", + "type": "text", + "x": "21.113px", + "y": "2.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,41.5845,6.78548)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "CONTROL", + "type": "text", + "x": "21.213px", + "y": "6.785px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,34.4536,10.4826)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "PEL", + "type": "text", + "x": "21.099px", + "y": "10.483px" + } + ], + "id": "TagIDPlate", + "name": "TagIDPlate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 42 117" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP/resource.json new file mode 100644 index 0000000..7ae549f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f735413be37a63ea0013423f68951a338710cab5f2133e1350b7ab929696b118", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP/thumbnail.png new file mode 100644 index 0000000..1040b71 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP/view.json new file mode 100644 index 0000000..820f86e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP/view.json @@ -0,0 +1,843 @@ +{ + "custom": {}, + "params": { + "inPower": 1, + "inPower2": 1 + }, + "propConfig": { + "params.inPower": { + "paramDirection": "input", + "persistent": true + }, + "params.inPower2": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 143, + "width": 115 + } + }, + "root": { + "children": [ + { + "custom": { + "ColorHandler": { + "Box": "var(--olGray)" + } + }, + "meta": { + "name": "FP" + }, + "position": { + "height": 143, + "width": 115 + }, + "propConfig": { + "custom.ColorHandler.ATS_Out": { + "binding": { + "config": { + "expression": "{view.params.inPower} || {view.params.inPower2}" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "custom.ColorHandler.ATS_Src01": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.ATS_Src02": { + "binding": { + "config": { + "path": "view.params.inPower2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.CB": { + "binding": { + "config": { + "expression": "{view.params.inPower} || {view.params.inPower2}" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "custom.ColorHandler.Out": { + "binding": { + "config": { + "expression": "{view.params.inPower} || {view.params.inPower2}" + }, + "transforms": [ + { + "fallback": "var(--olGreen)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Out" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[7].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.ATS_Src01" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.ATS_Src02" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].visibility": { + "binding": { + "config": { + "expression": "{view.params.inPower2} \u0026\u0026 !{view.params.inPower}" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.ATS_Src02" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.ATS_Src02" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.ATS_Src01" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.ATS_Src01" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.ATS_Out" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Out" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Out" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Out" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Out" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "75", + "id": "Ext", + "name": "Ext", + "type": "rect", + "width": "37.5", + "x": "0", + "y": "-0" + }, + { + "d": "M0,4.464l0,-4.464l4.464,-0l0,0.75l-3.714,0l-0,3.714l-0.75,0Zm10.714,-4.464l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm12.5,-0l0,0.75l-8.928,-0l-0,-0.75l8.928,-0Zm6.25,-0l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm8.036,4.464l-0.75,0l0,-3.714l-3.714,-0l-0,-0.75l4.464,-0l-0,4.464Zm-0,6.25l-0.75,0l-0,-2.678l0.75,-0l-0,2.678Zm-0,12.5l-0.75,0l-0,-8.928l0.75,-0l-0,8.928Zm-0,6.25l-0.75,0l-0,-2.678l0.75,-0l-0,2.678Zm-0,12.5l-0.75,0l-0,-8.928l0.75,-0l-0,8.928Zm-0,6.25l-0.75,0l-0,-2.678l0.75,-0l-0,2.678Zm-0,12.5l-0.75,0l-0,-8.928l0.75,-0l-0,8.928Zm-0,6.25l-0.75,0l-0,-2.678l0.75,-0l-0,2.678Zm-4.464,8.036l-0,-0.75l3.714,-0l-0,-3.714l0.75,-0l-0,4.464l-4.464,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-12.5,-0l-0,-0.75l8.928,-0l0,0.75l-8.928,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-8.036,-4.464l0.75,-0l-0,3.714l3.714,-0l0,0.75l-4.464,-0l-0,-4.464Zm-0,-6.25l0.75,-0l-0,2.678l-0.75,0l-0,-2.678Zm-0,-12.5l0.75,-0l-0,8.928l-0.75,0l-0,-8.928Zm-0,-6.25l0.75,-0l-0,2.678l-0.75,0l-0,-2.678Zm-0,-12.5l0.75,-0l-0,8.928l-0.75,0l-0,-8.928Zm-0,-6.25l0.75,-0l-0,2.678l-0.75,0l-0,-2.678Zm-0,-12.5l0.75,-0l-0,8.928l-0.75,0l-0,-8.928Zm-0,-6.25l0.75,-0l-0,2.678l-0.75,0l-0,-2.678Z", + "name": "path", + "type": "path" + }, + { + "d": "M0,37.875l-0,-0.75l4.464,0l0,0.75l-4.464,0Zm8.036,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm6.25,0l-0,-0.75l8.928,0l0,0.75l-8.928,0Zm12.5,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm6.25,0l-0,-0.75l4.464,0l-0,0.75l-4.464,0Z", + "id": "Int", + "name": "Int", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "d": "M23.546,55.469c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M19.886,55.469c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.761,54.344c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M18.761,63.344c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M18.75,65.226l0,28.464", + "fill": { + "paint": "transparent" + }, + "id": "Out", + "name": "Out", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,62.0887,55.4771)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px", + "fontWeight": "700" + }, + "text": "FIRE PUMP", + "type": "text", + "x": "39.443px", + "y": "55.477px" + }, + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,68.4329,59.2779)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px", + "fontWeight": "700" + }, + "text": "CONTROLLER", + "type": "text", + "x": "39.553px", + "y": "59.278px" + }, + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,63.5021,62.9893)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "51.478px 52.633px ", + "y": "62.989px 62.989px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px" + }, + "text": "125HP480V", + "type": "text", + "x": "39.297px", + "y": "62.989px" + }, + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,63.6158,66.7779)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px" + }, + "text": "3PH, 65kAIC", + "type": "text", + "x": "39.575px", + "y": "66.778px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "d": "M18.75,29.047l-7.812,-16.217", + "fill": { + "paint": "transparent" + }, + "id": "SRC01", + "name": "SRC01", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,29.148l7.598,-16.318", + "fill": { + "paint": "transparent" + }, + "id": "SRC02", + "name": "SRC02", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "27.511", + "cy": "13.839", + "id": "T21", + "name": "T21", + "r": "1.125", + "type": "circle" + }, + { + "d": "M27.511,12.714c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "9.796", + "cy": "13.839", + "id": "T11", + "name": "T11", + "r": "1.125", + "type": "circle" + }, + { + "d": "M9.796,12.714c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M18.75,29.047l0,25.713", + "fill": { + "paint": "transparent" + }, + "id": "Out1", + "name": "Out1", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,71.0241,21.7779)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "ATS", + "type": "tspan", + "x": "63.015px 65.71px 68.25px ", + "y": "21.778px 21.778px 21.778px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px", + "fontWeight": "700" + }, + "text": "FIRE PUMP ", + "type": "text", + "x": "39.443px", + "y": "21.778px" + }, + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,74.907,25.5279)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px" + }, + "text": "125HP/250A, 480V", + "type": "text", + "x": "39.297px", + "y": "25.528px" + }, + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,80.7212,29.2799)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px" + }, + "text": "3PH, 3-POLE, 65kAIC", + "type": "text", + "x": "39.575px", + "y": "29.28px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "ATS", + "name": "ATS", + "type": "group" + }, + { + "elements": [ + { + "cx": "18.75", + "cy": "97.5", + "fill": { + "paint": "transparent" + }, + "name": "ellipse", + "rx": "3.857", + "ry": "3.81", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "ellipse" + }, + { + "d": "M25.468,96.062l-3.494,3.522", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M15.736,95.083l-3.377,3.635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.15905,0,0,4.15905,30.0148,105.56)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.159px", + "fontWeight": "700" + }, + "text": "FIRE PUMP", + "type": "text", + "x": "7.369px", + "y": "105.56px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,21.416,98.6776)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "125", + "type": "text", + "x": "15.854px", + "y": "98.678px" + } + ], + "id": "Motor", + "name": "Motor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 87 108" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP_DS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP_DS/resource.json new file mode 100644 index 0000000..637bbc4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP_DS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "96fc94069ff895a68a2dee119a400842cc9a71431c7f62e2828daca763872fc1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP_DS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP_DS/thumbnail.png new file mode 100644 index 0000000..47480e7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP_DS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP_DS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP_DS/view.json new file mode 100644 index 0000000..77af1a5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/FP_DS/view.json @@ -0,0 +1,600 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "outputPower": 1, + "tagPath": "", + "textColor": "var(--olGray)" + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 90, + "width": 109 + } + }, + "root": { + "children": [ + { + "custom": { + "ColorHandler": {} + }, + "meta": { + "name": "FP_DS" + }, + "position": { + "height": 90, + "width": 109 + }, + "propConfig": { + "custom.ColorHandler.Box": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "custom.ColorHandler.Bus": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.ColorHandler.CB": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.inputPower} \r\n//\u0026\u0026 tag(tostr({view.params.tagPath}+\u0027/Alarms/tagname\u0027))\r\n,\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "custom.ColorHandler.text": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.CB" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.text" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.text" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Bus" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "37.5", + "x": "0", + "y": "0" + }, + { + "d": "M0,4.018l0,-4.018l4.464,0l0,0.75l-3.714,-0l-0,3.268l-0.75,-0Zm10.714,-4.018l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm12.5,0l0,0.75l-8.928,0l-0,-0.75l8.928,0Zm6.25,0l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm8.036,4.018l-0.75,-0l0,-3.268l-3.714,0l-0,-0.75l4.464,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-4.464,7.232l-0,-0.75l3.714,0l0,-3.268l0.75,0l0,4.018l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-12.5,0l-0,-0.75l8.928,0l0,0.75l-8.928,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-4.018l0.75,0l-0,3.268l3.714,0l0,0.75l-4.464,0l0,-4.018Zm0,-5.625l0.75,0l-0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l-0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l-0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l-0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l-0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l-0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l-0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,24.9004,12.3698)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "250AF", + "type": "text", + "x": "12.624px", + "y": "12.37px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,24.5911,16.1198)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "22.046px ", + "y": "16.12px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "250A", + "type": "text", + "x": "12.624px", + "y": "16.12px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,27.2642,19.9105)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI, NO", + "type": "text", + "x": "12.445px", + "y": "19.91px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + }, + { + "d": "M30.068,10.418c1.262,1.2 1.897,2.695 1.871,4.5c0.009,2.095 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M28.943,9.293c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.62,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.505,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M28.943,18.293c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.62,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.505,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M33.729,10.418c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "var(--olGreen)", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M28.943,33.75l0,-13.509", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "id": "Line1", + "name": "Line1", + "transform": "matrix(4.16667,0,0,4.16667,61.345,47.8121)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "FIRE PUMP", + "type": "text", + "x": "38.658px", + "y": "47.812px" + }, + { + "id": "Line2", + "name": "Line2", + "transform": "matrix(4.16667,0,0,4.16667,76.7197,51.615)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "64.297px 66.767px 69.312px ", + "y": "51.615px 51.615px 51.615px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "DOCKING STON", + "type": "text", + "x": "38.679px", + "y": "51.615px" + }, + { + "id": "Line3", + "name": "Line3", + "transform": "matrix(4.16667,0,0,4.16667,70.6898,55.3243)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "60.269px 61.427px ", + "y": "55.324px 55.324px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "250A, 480V3PH", + "type": "text", + "x": "38.874px", + "y": "55.324px" + }, + { + "id": "Line4", + "name": "Line4", + "transform": "matrix(4.16667,0,0,4.16667,61.9818,59.113)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "44.845px 46.003px ", + "y": "59.113px 59.113px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3W65 kAIC", + "type": "text", + "x": "38.825px", + "y": "59.113px" + } + ], + "id": "TagPlate", + "name": "TagPlate", + "type": "group" + }, + { + "elements": [ + { + "cx": "28.943", + "cy": "33.75", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M28.943,32.625c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.62,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.505,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.169 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.206 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "18.743", + "cy": "33.75", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.743,32.625c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "8.702", + "cy": "33.75", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M8.702,32.625c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.169 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.206 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M2.105,30.75l-0,6", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M35.38,30.75l0,6", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M2.105,33.75l33.275,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 82 68" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypA/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypA/resource.json new file mode 100644 index 0000000..cae1eb9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypA/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "817b2692e2ae8e567e8b4716ff720d3b420d9b1fd9ecefaf4c0e3cd7dbdab0f1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypA/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypA/thumbnail.png new file mode 100644 index 0000000..bb6d517 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypA/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypA/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypA/view.json new file mode 100644 index 0000000..09f8020 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypA/view.json @@ -0,0 +1,1330 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "GEN", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS1", + "textColor": "var(--olGray)" + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 95, + "width": 194 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 90, + "x": 133.99999999999997, + "y": 0.37036895751953247 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "ColorHandler": { + "Box": "value" + } + }, + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 193 + }, + "propConfig": { + "custom.ColorHandler.breaker_1": { + "binding": { + "config": { + "expression": "{this.custom.ColorHandler.generator}" + }, + "type": "expr" + } + }, + "custom.ColorHandler.breaker_2": { + "binding": { + "config": { + "expression": "{this.custom.ColorHandler.generator}" + }, + "type": "expr" + } + }, + "custom.ColorHandler.generator": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Run_Status" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \"purple\"\n\tif value:\n\t\treturn \u0027var(--olRed)\u0027\n\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_1" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_1" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_1" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_1" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[9].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[2].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_2" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker_2" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.generator" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[6].elements[2].visibility": { + "binding": { + "config": { + "expression": "\r\nif({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[6].elements[3].visibility": { + "binding": { + "config": { + "expression": "\r\nif({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[6].elements[4].visibility": { + "binding": { + "config": { + "expression": "\r\nif({parent.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[6].elements[5].visibility": { + "binding": { + "config": { + "expression": "\r\nif({parent.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[6].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[6].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "" + }, + "height": "56.25", + "id": "Box1", + "name": "Box1", + "type": "rect", + "width": "97.5", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.714l-0,-4.464l3.869,0l0,0.75c0,0 -3.119,0 -3.119,-0l-0,3.714l-0.75,0Zm9.286,-4.464l-0,0.75l-2.322,0l0,-0.75l2.322,0Zm10.833,0l0,0.75l-7.738,0l0,-0.75l7.738,0Zm5.417,0l-0,0.75l-2.322,0l0,-0.75l2.322,0Zm10.833,0l0,0.75l-7.738,0l-0,-0.75l7.738,0Zm5.417,0l-0,0.75l-2.322,0l0,-0.75l2.322,0Zm10.833,0l-0,0.75l-7.738,0l-0,-0.75l7.738,0Zm5.417,0l-0,0.75l-2.322,0l0,-0.75l2.322,0Zm10.833,0l-0,0.75l-7.738,0l-0,-0.75l7.738,0Zm5.417,0l-0,0.75l-2.322,0l0,-0.75l2.322,0Zm10.833,0l0,0.75l-7.738,0l-0,-0.75l7.738,0Zm5.417,0l-0,0.75l-2.322,0l0,-0.75l2.322,0Zm6.964,4.464l-0.75,0l0,-3.714l-3.119,0l-0,-0.75l3.869,0l-0,4.464Zm-0,6.25l-0.75,0l-0,-2.678l0.75,-0l-0,2.678Zm-0,12.5l-0.75,0l-0,-8.928l0.75,-0l-0,8.928Zm-0,6.25l-0.75,0l-0,-2.678l0.75,-0l-0,2.678Zm-0,12.5l-0.75,0l-0,-8.928l0.75,-0l-0,8.928Zm-0,6.25l-0.75,0l-0,-2.678l0.75,-0l-0,2.678Zm-3.869,8.036l-0,-0.75c-0,0 3.119,0 3.119,0l-0,-3.714l0.75,-0l-0,4.464l-3.869,0Zm-5.417,0l0,-0.75l2.322,0l-0,0.75l-2.322,0Zm-10.833,0l-0,-0.75l7.738,0l-0,0.75l-7.738,0Zm-5.417,0l0,-0.75l2.322,0l-0,0.75l-2.322,0Zm-10.833,0l-0,-0.75l7.738,0l0,0.75l-7.738,0Zm-5.417,0l0,-0.75l2.322,0l-0,0.75l-2.322,0Zm-10.833,0l0,-0.75l7.738,0l0,0.75l-7.738,0Zm-5.417,0l0,-0.75l2.322,0l-0,0.75l-2.322,0Zm-10.833,0l0,-0.75l7.738,0l0,0.75l-7.738,0Zm-5.417,0l0,-0.75l2.322,0l-0,0.75l-2.322,0Zm-10.833,0l-0,-0.75l7.738,0l0,0.75l-7.738,0Zm-5.417,0l0,-0.75l2.322,0l-0,0.75l-2.322,0Zm-6.964,-4.464l0.75,-0l-0,3.714l3.119,0l0,0.75l-3.869,0l-0,-4.464Zm-0,-6.25l0.75,-0l-0,2.678l-0.75,0l-0,-2.678Zm-0,-12.5l0.75,-0l-0,8.928l-0.75,0l-0,-8.928Zm-0,-6.25l0.75,-0l-0,2.678l-0.75,0l-0,-2.678Zm-0,-12.5l0.75,-0l-0,8.928l-0.75,0l-0,-8.928Zm-0,-6.25l0.75,-0l-0,2.678l-0.75,0l-0,-2.678Z", + "name": "path", + "type": "path" + }, + { + "d": "M68.342,37.499l0.75,0.002l-0.003,1.25l-0.75,-0.002l0.003,-1.25Zm-0.01,3.75l0.75,0.002l-0.007,2.5l-0.75,-0.002l0.007,-2.5Zm-0.013,5l0.75,0.002l-0.007,2.5l-0.75,-0.002l0.007,-2.5Zm-0.014,5l0.75,0.002l-0.006,2.5l-0.75,-0.002l0.006,-2.5Zm-0.013,5l0.75,0.002l-0.007,2.5l-0.75,-0.002l0.007,-2.5Zm-0.013,5l0.75,0.002l-0.007,2.5l-0.75,-0.002l0.007,-2.5Zm-0.014,5l0.75,0.002l-0.003,1.25l-0.75,-0.002l0.003,-1.25Z", + "name": "path", + "type": "path" + }, + { + "d": "M10.875,37.5l0.75,0l0,1.25l-0.75,-0l-0,-1.25Zm0,3.75l0.75,0l-0,2.5l-0.75,-0l0,-2.5Zm0,5l0.75,-0l0,2.5l-0.75,-0l0,-2.5Zm0,5l0.75,0l-0,2.5l-0.75,0l0,-2.5Zm-0,5l0.75,-0l0,2.5l-0.75,-0l-0,-2.5Zm0,5l0.75,-0l-0,2.5l-0.75,-0l0,-2.5Zm0,5l0.75,0l-0,1.25l-0.75,0l0,-1.25Z", + "name": "path", + "type": "path" + }, + { + "d": "M11.25,37.875l-0,-0.75l1.125,0l-0,0.75l-1.125,0Zm3.375,0l0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l0,-0.75l2.25,0l0,0.75l-2.25,0Zm4.5,0l-0,-0.75l2.25,0l-0,0.75l-2.25,0Zm4.5,0l0,-0.75l1.125,0l-0,0.75l-1.125,0Z", + "name": "path", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "d": "M31.125,46.875c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path", + "visibility": "visible" + }, + { + "cx": 30, + "cy": "46.875", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M30,45.75c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "30", + "cy": "55.875", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M30,54.75c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M34.785,46.875c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,49.4818,48.0334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "52GB", + "type": "text", + "x": "38.827px", + "y": "48.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,53.4185,51.7448)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3000AF", + "type": "text", + "x": "38.825px", + "y": "51.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,53.1093,55.4948)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "50.564px ", + "y": "55.495px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3000A", + "type": "text", + "x": "38.825px", + "y": "55.495px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,57.6808,59.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSIG, NC,", + "type": "text", + "x": "38.695px", + "y": "59.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,63.6806,63.0334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "ERMS, 100%", + "type": "text", + "x": "38.67px", + "y": "63.033px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "cx": 30, + "cy": "42.041", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M30,40.916c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "56.25", + "cy": "42.041", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M56.25,40.916c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "75", + "cy": "42.041", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M75,40.916c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M56.25,33.948l0,8.093", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M24.497,40.541l0,3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M97.507,40.541l-0,3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M24.497,42.041l73.01,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M30,45.897l0,-3.856", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M75,45.897l0,-3.856", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M76.125,46.875c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path", + "visibility": "visible" + }, + { + "cx": "75", + "cy": "46.875", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M75,45.75c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": "75", + "cy": "55.875", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M75,54.75c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M79.785,46.875c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,92.79,48.0334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "52FP", + "type": "text", + "x": "82.831px", + "y": "48.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,95.1052,51.7448)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "250AF", + "type": "text", + "x": "82.829px", + "y": "51.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,94.796,55.4948)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "92.251px ", + "y": "55.495px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "250A", + "type": "text", + "x": "82.829px", + "y": "55.495px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,97.2862,59.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LSI, NC", + "type": "text", + "x": "82.699px", + "y": "59.283px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,116.183,14.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "13px", + "fontWeight": "700", + "overflow": "visible" + }, + "text": "", + "type": "text", + "x": "103.449px", + "y": "14.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,140.198,17.9948)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "A", + "type": "tspan", + "x": "137.419px ", + "y": "17.995px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "2285KW / 2856KV", + "type": "text", + "x": "103.447px", + "y": "17.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,142.67,21.7448)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "123.684px 124.842px ", + "y": "21.745px 21.745px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "480Y/227V3PH, 4W", + "type": "text", + "x": "103.447px", + "y": "21.745px" + } + ], + "id": "TagId_Info", + "name": "TagId_Info", + "type": "group" + }, + { + "elements": [ + { + "cx": "56.25", + "cy": "23.646", + "fill": { + "opacity": "0" + }, + "name": "circle", + "r": "10.302", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M48.375,23.688c0.406,-2.31 1.135,-3.951 3.895,-3.99c2.255,-0.032 3.98,1.562 3.98,3.99c0.284,2.135 1.288,3.686 3.938,3.906c2.273,-0.227 3.577,-1.539 3.937,-3.906", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "GEN", + "name": "GEN", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "black" + }, + "height": "63.75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "105", + "x": "-0", + "y": "7.5" + }, + { + "d": "M105,7.5l0,63.75l-105,0l-0,-63.75l105,0Zm-0.75,0.75l-103.5,0c0,0 0,62.25 -0,62.25l103.5,-0l-0,-62.25Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M105.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "black", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M104.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M104.355,1.849c0.134,-0.227 0.379,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.514,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M104.626,9.942l-0.389,-4.988l1.522,0l-0.378,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M109.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.656,-0c-0.266,-0 -0.481,-0.216 -0.481,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.481,-0.48l8.656,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M104.626,9.042l-0.389,-5.001l1.522,-0l-0.378,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "104.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M103.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M106.097,9.232l-0.389,-5.617l1.522,-0l-0.378,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group", + "visibility": "visible" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 145 72" + }, + "type": "ia.shapes.svg" + } + ], + "custom": { + "alarmSeverity": 4 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypB/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypB/resource.json new file mode 100644 index 0000000..416f33e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypB/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "07d8733ca652ebd3c6cd537c4c23bec2084ab43cc6324b769afb22c156b3e185", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypB/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypB/thumbnail.png new file mode 100644 index 0000000..a833bbc Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypB/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypB/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypB/view.json new file mode 100644 index 0000000..f3a6dde --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/GEN_TypB/view.json @@ -0,0 +1,1309 @@ +{ + "custom": { + "AlarmSummary": -1 + }, + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "propConfig": { + "custom.AlarmSummary": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "BreakerEmergency": "{/root/GEN_TypB.custom.BreakerEmergency}", + "GenRunning": "{/root/GEN_TypB.custom.GeneratorRunning}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "if({value}[\"GenRunning\"] \u0026\u0026 !{value}[\"BreakerEmergency\"], 1,0)", + "type": "expression" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "struct": { + "value": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "overlayOptOut": true, + "transforms": [ + { + "code": "\ttagPath \u003d value[\u0027value\u0027]\n\tif tagPath is None:\n\t\treturn \u0027tagName\u0027\n\telse:\n\t\treturn system.tag.getConfiguration(tagPath)[0][\u0027name\u0027]\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "defaultSize": { + "height": 95, + "width": 133 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 82, + "x": 78, + "y": 4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGary)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "AlarmSummary": "value", + "ColorHandler": {}, + "TextHandler": { + "Breaker": {}, + "Generator": {} + } + }, + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132 + }, + "propConfig": { + "custom.BreakerEmergency": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Output Breaker Status" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.ColorHandler.breaker": { + "binding": { + "config": { + "struct": { + "BreakerEmergency": "{this.custom.BreakerEmergency}", + "GeneratorRunning": "{this.custom.GeneratorRunning}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "if({value}[\"GeneratorRunning\"] \u0026\u0026 !{value}[\u0027BreakerEmergency\u0027],\u0027var(--olRed)\u0027,\u0027var(--olGreen)\u0027)", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "custom.ColorHandler.runstatus": { + "binding": { + "config": { + "path": "this.custom.GeneratorRunning" + }, + "transforms": [ + { + "fallback": "black", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.GeneratorRunning": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Run Status" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.TextHandler.Breaker.breaker1": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker.breaker1" + }, + "type": "property" + } + }, + "custom.TextHandler.Breaker.breaker2": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker.breaker2" + }, + "type": "property" + } + }, + "custom.TextHandler.Breaker.breaker3": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker.breaker3" + }, + "type": "property" + } + }, + "custom.TextHandler.Breaker.breaker4": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker.breaker4" + }, + "type": "property" + } + }, + "custom.TextHandler.Breaker.breaker5": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker.breaker5" + }, + "type": "property" + } + }, + "custom.TextHandler.Generator.Gen1": { + "binding": { + "config": { + "path": "view.params.textHandler.Generator.Gen1" + }, + "type": "property" + } + }, + "custom.TextHandler.Generator.Gen2": { + "binding": { + "config": { + "path": "view.params.textHandler.Generator.Gen2" + }, + "type": "property" + } + }, + "custom.TextHandler.Generator.Gen3": { + "binding": { + "config": { + "path": "view.params.textHandler.Generator.Gen3" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.BreakerEmergency" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + }, + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.runstatus" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \"var(--olGreen)\"\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "publishInitial": true, + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Output Breaker Status" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "props.elements[3].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Breaker.breaker1" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Breaker.breaker2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[5].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Breaker.breaker4" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[7].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Breaker.breaker3" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[9].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[9].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Breaker.breaker5" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.runstatus" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \"var(--olGray)\"\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.runstatus" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \"var(--olGreen)\"\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.runstatus" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Generator.Gen1" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Generator.Gen2" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].text": { + "binding": { + "config": { + "path": "this.custom.TextHandler.Generator.Gen3" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.AlarmSummary" + }, + "transforms": [ + { + "fallback": "transparent", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSummary" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSummary" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSummary" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSummary" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[6].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSummary" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[7].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSummary" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": 0, + "paint": "transparent" + }, + "id": "Box", + "name": "Box", + "type": "rect" + }, + { + "fill": { + "opacity": "0" + }, + "height": 21.495, + "name": "rect", + "stroke": { + "width": "0.38px" + }, + "type": "rect", + "width": "22.558", + "x": "31.727", + "y": "39.375" + }, + { + "d": "M3.696,15.714l0,-4.464l4.171,-0l0,0.75c0,-0 -3.421,-0 -3.421,-0l0,3.714l-0.75,0Zm10.01,-4.464l0,0.75l-2.502,-0l-0,-0.75l2.502,-0Zm11.679,-0l-0,0.75l-8.342,-0l0,-0.75l8.342,-0Zm5.839,-0l0,0.75l-2.502,-0l-0,-0.75l2.502,-0Zm11.679,-0l-0,0.75l-8.342,-0l0,-0.75l8.342,-0Zm5.839,-0l0,0.75l-2.502,-0l-0,-0.75l2.502,-0Zm7.508,4.464l-0.75,0l-0,-3.714l-3.421,-0l0,-0.75l4.171,-0l0,4.464Zm0,6.25l-0.75,0l0,-2.678l0.75,-0l0,2.678Zm0,12.5l-0.75,0l0,-8.928l0.75,-0l0,8.928Zm0,6.25l-0.75,0l0,-2.678l0.75,-0l0,2.678Zm0,12.5l-0.75,0l0,-8.928l0.75,-0l0,8.928Zm0,6.25l-0.75,0l0,-2.678l0.75,-0l0,2.678Zm-4.171,8.036l0,-0.75c0,-0 3.421,-0 3.421,0l0,-3.714l0.75,-0l0,4.464l-4.171,-0Zm-5.839,-0l-0,-0.75l2.502,-0l0,0.75l-2.502,-0Zm-11.679,-0l0,-0.75l8.342,-0l0,0.75l-8.342,-0Zm-5.839,-0l-0,-0.75l2.502,-0l0,0.75l-2.502,-0Zm-11.679,-0l0,-0.75l8.342,-0l0,0.75l-8.342,-0Zm-5.839,-0l-0,-0.75l2.502,-0l0,0.75l-2.502,-0Zm-7.508,-4.464l0.75,-0l0,3.714l3.421,-0l0,0.75l-4.171,-0l0,-4.464Zm0,-6.25l0.75,-0l0,2.678l-0.75,0l0,-2.678Zm0,-12.5l0.75,-0l0,8.928l-0.75,0l0,-8.928Zm0,-6.25l0.75,-0l0,2.678l-0.75,0l0,-2.678Zm0,-12.5l0.75,-0l0,8.928l-0.75,0l0,-8.928Zm0,-6.25l0.75,-0l0,2.678l-0.75,0l0,-2.678Z", + "name": "path", + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M38.625,46.875c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "visible" + }, + { + "cx": "37.5", + "cy": "46.875", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "37.5", + "cy": "55.875", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M42.285,46.875c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.5623,45.7448)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "4.969px", + "y": "45.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.253,49.4948)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "4.969px", + "y": "49.495px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,29.8243,57.0334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "4.814px", + "y": "57.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,22.6669,53.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "4.839px", + "y": "53.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,49.7218,44.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "39.067px", + "y": "44.283px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "d": "M37.5,33.948l0,11.802", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "37.5", + "cy": "23.646", + "fill": { + "opacity": "0" + }, + "name": "circle", + "r": "10.302", + "stroke": { + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M29.625,23.688c0.406,-2.31 1.135,-3.951 3.895,-3.99c2.255,-0.032 3.98,1.562 3.98,3.99c0.284,2.135 1.288,3.686 3.938,3.906c2.273,-0.227 3.577,-1.539 3.937,-3.906", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "GEN", + "name": "GEN", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,69.9142,14.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "12px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "57.18px", + "y": "14.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,93.7711,18.0334)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "A,", + "type": "tspan", + "x": "89.834px 92.613px ", + "y": "18.033px 18.033px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "57.254px", + "y": "18.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,96.5499,21.7834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "57.327px", + "y": "21.783px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "black" + }, + "height": "63.75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "60", + "x": "0", + "y": "7.5" + }, + { + "d": "M60,7.5l-0,63.75l-60,0l0,-63.75l60,-0Zm-0.75,0.75l-58.5,0c0,0 0,62.25 0,62.25l58.5,-0l0,-62.25Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M60.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M59.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M59.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M59.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M64.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M59.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "59.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M58.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M61.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": 0 + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 99 72" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/H2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/H2/resource.json new file mode 100644 index 0000000..f800c44 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/H2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a986cc4cc7e378cfec1628029c195523f8c99e2952ae708b1f4e672db474db74", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:22:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/H2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/H2/thumbnail.png new file mode 100644 index 0000000..379e0b4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/H2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/H2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/H2/view.json new file mode 100644 index 0000000..1a981de --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/H2/view.json @@ -0,0 +1,448 @@ +{ + "custom": { + "AlarmSeverity": -1 + }, + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_SPD" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 65, + "width": 70 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "H2" + }, + "position": { + "height": 44, + "width": 54, + "x": 1, + "y": 17 + }, + "propConfig": { + "props.style.borderColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": null + }, + { + "input": 2, + "output": null + }, + { + "input": 3, + "output": null + }, + { + "input": 4, + "output": null + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"solid\"\n\telse:\n\t\treturn \"none\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--state-running)", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "black", + "outlineWidth": "2", + "overflow": "visible" + }, + "text": "H2 Sensor", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "fontWeight": "bold", + "key": "value", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 29, + "width": 28, + "x": 42.09, + "y": -1 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 3, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 3, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 2, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 1, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 4, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 4, \"visible\", \"hidden\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "key": "value", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU V2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU V2/resource.json new file mode 100644 index 0000000..833378a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU V2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c34426731b892eacdf6b58cb67989615d0e79f2c3d9bcac5031b19a20b594cee", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU V2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU V2/thumbnail.png new file mode 100644 index 0000000..3c9af4d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU V2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU V2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU V2/view.json new file mode 100644 index 0000000..011736d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU V2/view.json @@ -0,0 +1,2678 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "display": true, + "inputPower": 1, + "objectName": "PDU V2", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "tagPath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-1", + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.display": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 160, + "width": 130 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 66, + "x": 1.55, + "y": -23 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "PDU" + }, + "position": { + "height": 160, + "width": 130 + }, + "propConfig": { + "custom.MainBreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Main Breaker" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.cb1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker 1" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.cb2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker 2" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.cb3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker 3" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.cb4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker 4" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.cb5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker 5" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.breaker": { + "binding": { + "config": { + "struct": { + "inputPower": "{view.params.inputPower}", + "mb": "{this.custom.MainBreakerClosed}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027mb\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker1": { + "binding": { + "config": { + "struct": { + "cb": "{this.custom.cb1}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027cb\u0027] and value[\u0027inputPower\u0027]:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker2": { + "binding": { + "config": { + "struct": { + "cb": "{this.custom.cb2}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027cb\u0027] and value[\u0027inputPower\u0027]:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker3": { + "binding": { + "config": { + "struct": { + "cb": "{this.custom.cb3}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027cb\u0027] and value[\u0027inputPower\u0027]:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker4": { + "binding": { + "config": { + "struct": { + "cb": "{this.custom.cb4}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027cb\u0027] and value[\u0027inputPower\u0027]:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker5": { + "binding": { + "config": { + "struct": { + "cb": "{this.custom.cb5}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027cb\u0027] and value[\u0027inputPower\u0027]:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.bus": { + "binding": { + "config": { + "struct": { + "inputPower": "{view.params.inputPower}", + "mb": "{this.custom.MainBreakerClosed}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027mb\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.input": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.transformer": { + "binding": { + "config": { + "struct": { + "inputPower": "{view.params.inputPower}", + "mb": "{this.custom.MainBreakerClosed}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027mb\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + }, + "props.elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.PDU2" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.PDU3" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1" + }, + "type": "property" + } + }, + "props.elements[2].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr2" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr3" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr4" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr5" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr6" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].visibility": { + "binding": { + "config": { + "path": "this.custom.MainBreakerClosed" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.input" + }, + "type": "property" + } + }, + "props.elements[2].elements[8].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[9].visibility": { + "binding": { + "config": { + "path": "this.custom.MainBreakerClosed" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[11].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-5" + }, + "type": "property" + } + }, + "props.elements[3].elements[13].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[13].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SPD" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-1" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-6" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-2" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-3" + }, + "type": "property" + } + }, + "props.elements[3].elements[9].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[9].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-4" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.cb1" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.cb1" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + }, + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.cb2" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.cb2" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker3" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.cb3" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker3" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker3" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.cb3" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker4" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.cb4" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker4" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker4" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.cb4" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker5" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.cb5" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker5" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker5" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.cb5" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[7].elements[2].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[3].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[4].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[5].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[6].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[7].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "105", + "id": "Box", + "name": "Box", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "width": "0.75px" + }, + "type": "rect", + "width": "82.5", + "x": "3.75", + "y": "11.25" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,25.9078,2.99479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "12px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "3.447px", + "y": "2.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.8979,6.74479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "3.296px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,16.2256,10.5355)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "3.498px", + "y": "10.535px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + }, + { + "elements": [ + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "18.347px" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "60.035px ", + "y": "22.097px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "22.097px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.445px", + "y": "25.886px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.42px", + "y": "29.636px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "33.386px" + }, + { + "elements": [ + { + "name": "tspan", + "text": "A", + "type": "tspan", + "x": "62.119px ", + "y": "37.097px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "37.097px" + }, + { + "d": "M68.625,21.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 67.5, + "cy": "21.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": 67.5, + "cy": "30.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M72.285,21.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": "transparent", + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.491,31.875l0,16.875", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.6195,65.9948)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.343px", + "y": "65.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,52.3586,113.342)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "23.646px", + "y": "113.342px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.3103,69.7448)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.343px", + "y": "69.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,13.4489,73.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.195px", + "y": "73.533px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,17.703,77.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.046px", + "y": "77.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,28.8582,81.0355)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.402px", + "y": "81.035px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,79.6713,95.5791)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "71.104px", + "y": "95.579px" + } + ], + "id": "CB-Texts", + "name": "CB-Texts", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "8.809", + "name": "rect", + "stroke": { + "width": "0.75px" + }, + "type": "rect", + "width": "12.458", + "x": "69.141", + "y": "89.683" + }, + { + "d": "M7.5,82.5l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M20.47,82.5l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M33.503,82.5l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M46.537,82.5l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M59.57,82.5l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M75.409,89.683l-0,-7.183", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,60.908l0,21.592", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,82.5l67.909,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M8.626,96.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 7.501, + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "7.501", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M12.287,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M21.604,96.75c1.261,1.2 1.896,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "20.479", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "20.479", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M25.265,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M34.637,96.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "33.512", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "33.512", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M38.298,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "d": "M47.671,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "46.546", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "46.546", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M51.331,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + }, + { + "elements": [ + { + "d": "M60.704,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "59.579", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "59.579", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M64.364,96.75c1.261,1.2 1.896,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB05", + "name": "CB05", + "type": "group" + } + ], + "id": "OutputCB", + "name": "OutputCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M56.064,46.378l-0,2.405c0.375,1.41 1.359,2.021 2.849,1.972c1.412,0.061 2.381,-0.575 2.849,-1.972c0.498,1.321 1.407,2.024 2.849,1.972c1.601,0.04 2.45,-0.725 2.849,-1.972c0.449,1.237 1.285,2.022 2.849,1.972c1.501,0.066 2.464,-0.58 2.849,-1.972c0.418,1.151 1.23,1.937 2.849,1.972c0.841,-0.048 1.468,-0.277 1.934,-0.645c0.428,-0.337 0.72,-0.791 0.915,-1.327l0,-2.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.37px" + }, + "type": "path" + }, + { + "d": "M52.594,57.248c-0.032,0.465 0.318,0.868 0.783,0.901c0.464,0.032 0.868,-0.318 0.901,-0.783c0.032,-0.464 -0.319,-0.868 -0.783,-0.901c-0.465,-0.032 -0.868,0.319 -0.901,0.783Z", + "name": "path", + "type": "path" + }, + { + "d": "M70.692,60.206c0.387,0.259 0.491,0.783 0.232,1.17c-0.258,0.388 -0.783,0.492 -1.17,0.233c-0.387,-0.258 -0.491,-0.783 -0.233,-1.17c0.259,-0.387 0.783,-0.492 1.171,-0.233Z", + "name": "path", + "type": "path" + }, + { + "d": "M53.436,57.307c0.165,-2.362 0.971,-3.638 2.79,-3.839c1.783,0.125 2.612,1.298 2.742,3.839c0.024,-2.147 0.904,-3.712 3.219,-3.696c1.973,0.336 2.582,1.707 2.647,3.696l5.389,3.601", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M80.705,57.366c0.032,0.465 0.436,0.815 0.9,0.783c0.465,-0.033 0.816,-0.436 0.783,-0.901c-0.032,-0.464 -0.436,-0.815 -0.901,-0.783c-0.464,0.033 -0.815,0.437 -0.782,0.901Z", + "name": "path", + "type": "path" + }, + { + "d": "M65.228,61.609c-0.387,0.259 -0.911,0.155 -1.17,-0.233c-0.259,-0.387 -0.154,-0.911 0.233,-1.17c0.387,-0.259 0.911,-0.154 1.17,0.233c0.259,0.387 0.154,0.912 -0.233,1.17Z", + "name": "path", + "type": "path" + }, + { + "d": "M81.546,57.307c-0.165,-2.362 -0.971,-3.638 -2.789,-3.839c-1.784,0.125 -2.612,1.298 -2.743,3.839c-0.024,-2.147 -0.904,-3.712 -3.219,-3.696c-1.973,0.336 -2.581,1.707 -2.647,3.696l-5.389,3.601", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + } + ], + "id": "TX", + "name": "TX", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "transparent" + }, + "height": "112.5", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "90", + "x": "0", + "y": "7.5" + }, + { + "d": "M90,7.5l-0,112.5l-90,0l0,-112.5l90,0Zm-0.675,0.675l-88.65,-0l0,111.15l88.65,0l0,-111.15Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M90.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M89.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M94.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "89.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M88.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M91.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd", + "overflow": "auto" + }, + "viewBox": "0 0 98 120" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU/resource.json new file mode 100644 index 0000000..d788e04 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f4b73aad9137b0bfcb6cd7a736e7b231a176d0b66e99bea3129f7555f298fbf0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU/thumbnail.png new file mode 100644 index 0000000..035bad4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU/view.json new file mode 100644 index 0000000..06b7c3b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/PDU/view.json @@ -0,0 +1,2565 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "PDU V2", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-2", + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 160, + "width": 130 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 66, + "x": 1.55, + "y": -23 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "PDU" + }, + "position": { + "height": 160, + "width": 130 + }, + "propConfig": { + "custom.breaker1Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/SubfeedBreaker 1/Breaker Open" + }, + "type": "tag" + } + }, + "custom.breaker2Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/SubfeedBreaker 2/Breaker Open" + }, + "type": "tag" + } + }, + "custom.breaker3Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/SubfeedBreaker 3/Alarms/Breaker Open" + }, + "type": "tag" + } + }, + "custom.breaker4Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/SubfeedBreaker 4/Breaker Open" + }, + "type": "tag" + } + }, + "custom.breaker5Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/SubfeedBreaker 5/Breaker Open" + }, + "type": "tag" + } + }, + "custom.breakerOpen": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Subfeed Breaker Open" + }, + "type": "tag" + } + }, + "custom.colorHandler.breaker": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breakerOpen}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker1": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breaker1Open}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker2": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breaker2Open}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker3": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breaker3Open}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker4": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breaker4Open}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker5": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breaker5Open}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.bus": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breakerOpen}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.input": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.transformer": { + "binding": { + "config": { + "struct": { + "breakerOpen": "{this.custom.breakerOpen}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027breakerOpen\u0027]\r\n\u0026\u0026{value}[\u0027inputPower\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + }, + "props.elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.PDU2" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.PDU3" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1" + }, + "type": "property" + } + }, + "props.elements[2].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr2" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr3" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr4" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr5" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr6" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].visibility": { + "binding": { + "config": { + "path": "this.custom.breakerOpen" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.input" + }, + "type": "property" + } + }, + "props.elements[2].elements[8].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "type": "property" + } + }, + "props.elements[2].elements[9].visibility": { + "binding": { + "config": { + "path": "this.custom.breakerOpen" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[11].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-5" + }, + "type": "property" + } + }, + "props.elements[3].elements[13].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[13].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SPD" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-1" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-6" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-2" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-3" + }, + "type": "property" + } + }, + "props.elements[3].elements[9].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[9].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SBFDBkr1-4" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker1Open" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker1Open" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker2Open" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker2Open" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker3" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker3Open" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker3" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker3" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker3Open" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker4" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker4Open" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker4" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker4" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker4Open" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker5" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[0].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker5Open" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker5" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker5" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[3].visibility": { + "binding": { + "config": { + "path": "this.custom.breaker5Open" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.transformer" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[7].elements[2].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[3].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[4].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[5].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[6].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[7].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "105", + "id": "Box", + "name": "Box", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "width": "0.75px" + }, + "type": "rect", + "width": "82.5", + "x": "3.75", + "y": "11.25" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,25.9078,2.99479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "12px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "3.447px", + "y": "2.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.8979,6.74479)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "3.296px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,16.2256,10.5355)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "3.498px", + "y": "10.535px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + }, + { + "elements": [ + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "18.347px" + }, + { + "elements": [ + { + "name": "tspan", + "text": "T", + "type": "tspan", + "x": "60.035px ", + "y": "22.097px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "22.097px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.445px", + "y": "25.886px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.42px", + "y": "29.636px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "33.386px" + }, + { + "elements": [ + { + "name": "tspan", + "text": "A", + "type": "tspan", + "x": "62.119px ", + "y": "37.097px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "48.296px", + "y": "37.097px" + }, + { + "d": "M68.625,21.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 67.5, + "cy": "21.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": 67.5, + "cy": "30.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M72.285,21.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": "transparent", + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.491,31.875l0,16.875", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "MainCB", + "name": "MainCB", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.6195,65.9948)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.343px", + "y": "65.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,52.3586,113.342)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "23.646px", + "y": "113.342px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.3103,69.7448)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.343px", + "y": "69.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,13.4489,73.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.195px", + "y": "73.533px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,17.703,77.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.046px", + "y": "77.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,28.8582,81.0355)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "7.402px", + "y": "81.035px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,79.6713,95.5791)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "71.104px", + "y": "95.579px" + } + ], + "id": "CB-Texts", + "name": "CB-Texts", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "8.809", + "name": "rect", + "stroke": { + "width": "0.75px" + }, + "type": "rect", + "width": "12.458", + "x": "69.141", + "y": "89.683" + }, + { + "d": "M7.5,82.5l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M20.47,82.5l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M33.503,82.5l0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M46.537,82.5l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M59.57,82.5l-0,13.51", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M75.409,89.683l-0,-7.183", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,60.908l0,21.592", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.5,82.5l67.909,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M8.626,96.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "7.501", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "7.501", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M12.287,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M21.604,96.75c1.261,1.2 1.896,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "20.479", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "20.479", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M25.265,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M34.637,96.75c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "33.512", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "33.512", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M38.298,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "d": "M47.671,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "46.546", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "46.546", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M51.331,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB04", + "name": "CB04", + "type": "group" + }, + { + "elements": [ + { + "d": "M60.704,96.75c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "59.579", + "cy": "96.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "cx": "59.579", + "cy": "105.75", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M64.364,96.75c1.261,1.2 1.896,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB05", + "name": "CB05", + "type": "group" + } + ], + "id": "OutputCB", + "name": "OutputCB", + "type": "group" + }, + { + "elements": [ + { + "d": "M56.064,46.378l-0,2.405c0.375,1.41 1.359,2.021 2.849,1.972c1.412,0.061 2.381,-0.575 2.849,-1.972c0.498,1.321 1.407,2.024 2.849,1.972c1.601,0.04 2.45,-0.725 2.849,-1.972c0.449,1.237 1.285,2.022 2.849,1.972c1.501,0.066 2.464,-0.58 2.849,-1.972c0.418,1.151 1.23,1.937 2.849,1.972c0.841,-0.048 1.468,-0.277 1.934,-0.645c0.428,-0.337 0.72,-0.791 0.915,-1.327l0,-2.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.37px" + }, + "type": "path" + }, + { + "d": "M52.594,57.248c-0.032,0.465 0.318,0.868 0.783,0.901c0.464,0.032 0.868,-0.318 0.901,-0.783c0.032,-0.464 -0.319,-0.868 -0.783,-0.901c-0.465,-0.032 -0.868,0.319 -0.901,0.783Z", + "name": "path", + "type": "path" + }, + { + "d": "M70.692,60.206c0.387,0.259 0.491,0.783 0.232,1.17c-0.258,0.388 -0.783,0.492 -1.17,0.233c-0.387,-0.258 -0.491,-0.783 -0.233,-1.17c0.259,-0.387 0.783,-0.492 1.171,-0.233Z", + "name": "path", + "type": "path" + }, + { + "d": "M53.436,57.307c0.165,-2.362 0.971,-3.638 2.79,-3.839c1.783,0.125 2.612,1.298 2.742,3.839c0.024,-2.147 0.904,-3.712 3.219,-3.696c1.973,0.336 2.582,1.707 2.647,3.696l5.389,3.601", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M80.705,57.366c0.032,0.465 0.436,0.815 0.9,0.783c0.465,-0.033 0.816,-0.436 0.783,-0.901c-0.032,-0.464 -0.436,-0.815 -0.901,-0.783c-0.464,0.033 -0.815,0.437 -0.782,0.901Z", + "name": "path", + "type": "path" + }, + { + "d": "M65.228,61.609c-0.387,0.259 -0.911,0.155 -1.17,-0.233c-0.259,-0.387 -0.154,-0.911 0.233,-1.17c0.387,-0.259 0.911,-0.154 1.17,0.233c0.259,0.387 0.154,0.912 -0.233,1.17Z", + "name": "path", + "type": "path" + }, + { + "d": "M81.546,57.307c-0.165,-2.362 -0.971,-3.638 -2.789,-3.839c-1.784,0.125 -2.612,1.298 -2.743,3.839c-0.024,-2.147 -0.904,-3.712 -3.219,-3.696c-1.973,0.336 -2.581,1.707 -2.647,3.696l-5.389,3.601", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + } + ], + "id": "TX", + "name": "TX", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "transparent" + }, + "height": "112.5", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "90", + "x": "0", + "y": "7.5" + }, + { + "d": "M90,7.5l-0,112.5l-90,0l0,-112.5l90,0Zm-0.675,0.675l-88.65,-0l0,111.15l88.65,0l0,-111.15Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M90.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M89.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M94.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "89.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M88.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M91.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 98 120" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RP/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RP/resource.json new file mode 100644 index 0000000..c764ee1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RP/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5f32b6c0c8a5111c6845a65556dee382aecffabee26b7d68f6d7e8b7a45dd2f7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RP/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RP/thumbnail.png new file mode 100644 index 0000000..195e267 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RP/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RP/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RP/view.json new file mode 100644 index 0000000..1e4ca6f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RP/view.json @@ -0,0 +1,1028 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": false + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 107, + "width": 75 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "RP" + }, + "position": { + "height": 107, + "width": 75 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].visibility": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M9.163,57.536c1.444,1.238 2.153,2.785 2.113,4.761c0.038,1.872 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M11.909,57.536c1.444,1.238 2.153,2.785 2.113,4.761c0.038,1.872 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.88,67.763l0,12.501", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "7.88", + "cy": "57.536", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M7.88,56.411c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "7.88", + "cy": "67.13", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M7.88,66.005c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M20.071,57.536c1.444,1.238 2.153,2.785 2.113,4.761c0.038,1.872 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.817,57.536c1.443,1.238 2.153,2.785 2.113,4.761c0.038,1.872 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.786,67.763l0,12.501", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "57.536", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,56.411c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "18.75", + "cy": "67.13", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,66.005c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "d": "M20.071,25.026c1.444,1.238 2.153,2.785 2.113,4.761c0.038,1.871 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.817,25.026c1.443,1.238 2.153,2.785 2.113,4.761c0.038,1.871 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.748", + "cy": "25.116", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.748,23.991c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "18.748", + "cy": "34.439", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.748,33.314c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,33.7018,23.3779)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "400AT", + "type": "text", + "x": "21.735px", + "y": "23.378px" + } + ], + "id": "Main-CB", + "name": "Main-CB", + "type": "group" + }, + { + "elements": [ + { + "d": "M30.875,57.536c1.444,1.238 2.153,2.785 2.113,4.761c0.038,1.872 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M33.621,57.536c1.443,1.238 2.153,2.785 2.113,4.761c0.038,1.872 -0.608,3.481 -2.113,4.762", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M29.692,67.763l0,12.501", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "29.692", + "cy": "57.536", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M29.692,56.411c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "29.692", + "cy": "67.13", + "fill": { + "paint": "#ebebeb" + }, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M29.692,66.005c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "37.5", + "x": "0", + "y": "12.764" + }, + { + "d": "M0,16.782l0,-4.018l4.464,-0l0,0.75l-3.714,-0l-0,3.268l-0.75,-0Zm10.714,-4.018l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm12.5,-0l0,0.75l-8.928,-0l-0,-0.75l8.928,-0Zm6.25,-0l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm8.036,4.018l-0.75,-0l0,-3.268l-3.714,-0l-0,-0.75l4.464,-0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,-0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,-0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,-0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,-0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,-0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,-0l0,2.411Zm-4.464,7.232l-0,-0.75l3.714,-0l0,-3.268l0.75,-0l0,4.018l-4.464,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-12.5,-0l-0,-0.75l8.928,-0l0,0.75l-8.928,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-8.036,-4.018l0.75,-0l-0,3.268l3.714,-0l0,0.75l-4.464,-0l-0,-4.018Zm-0,-5.625l0.75,-0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,-0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,-0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,-0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,-0l-0,2.411l-0.75,-0l-0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M18.75,35.001l0,11.513", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M29.692,56.527l0,-10.013", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M18.75,56.527l-0,-10.013", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M2.301,43.514l-0,6", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M35.272,43.514l-0,6", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M2.301,46.514l32.971,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.88,56.527l0,-10.013", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,43.1394,6.74479)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "400A,480V", + "type": "text", + "x": "22.52px", + "y": "6.745px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,37.3207,3.03345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "PP-HS1", + "type": "text", + "x": "22.269px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,54.8175,10.5334)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "3PH, 3W65kAIC", + "type": "text", + "x": "22.398px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 57 81" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RTU/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RTU/resource.json new file mode 100644 index 0000000..2a34711 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RTU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a86a83b1918e6e093d13d3a6d3290564a74c42a201e18ebf84f02bae2d65890c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:14:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RTU/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RTU/thumbnail.png new file mode 100644 index 0000000..57e9570 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RTU/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RTU/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RTU/view.json new file mode 100644 index 0000000..9f10c84 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/RTU/view.json @@ -0,0 +1,517 @@ +{ + "custom": { + "alarmSeverity": 1, + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "inPower": true, + "objectName": "RTU01", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 110, + "width": 80 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "RTU" + }, + "position": { + "height": 110, + "width": 80 + }, + "propConfig": { + "props.elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Enclosure", + "name": "Enclosure", + "type": "rect", + "width": "45", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l5.357,0l0,0.75l-4.607,-0l0,3.268l-0.75,-0Zm12.857,-4.018l0,0.75l-3.214,0l-0,-0.75l3.214,0Zm15,0l0,0.75l-10.714,0l-0,-0.75l10.714,0Zm7.5,0l0,0.75l-3.214,0l-0,-0.75l3.214,0Zm9.643,4.018l-0.75,-0l0,-3.268l-4.607,0l-0,-0.75l5.357,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-5.357,7.232l-0,-0.75l4.607,0l0,-3.268l0.75,0l0,4.018l-5.357,0Zm-7.5,0l-0,-0.75l3.214,0l0,0.75l-3.214,0Zm-15,0l-0,-0.75l10.714,0l0,0.75l-10.714,0Zm-7.5,0l-0,-0.75l3.214,0l0,0.75l-3.214,0Zm-9.643,-4.018l0.75,0l-0,3.268l4.607,0l0,0.75l-5.357,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.077,-0l0,-0.705l0.306,0c0.077,0 0.137,0.019 0.179,0.056c0.042,0.037 0.063,0.088 0.063,0.155c0,0.043 -0.01,0.081 -0.029,0.112c-0.019,0.031 -0.046,0.055 -0.082,0.072c-0.036,0.017 -0.08,0.025 -0.131,0.025l0.009,-0.015l0.033,-0c0.027,-0 0.051,0.007 0.071,0.02c0.021,0.013 0.039,0.034 0.054,0.063l0.118,0.217l-0.141,-0l-0.122,-0.225c-0.008,-0.015 -0.017,-0.026 -0.027,-0.034c-0.01,-0.009 -0.021,-0.015 -0.034,-0.018c-0.013,-0.003 -0.027,-0.005 -0.044,-0.005l-0.095,-0l0,0.282l-0.128,-0Zm0.128,-0.377l0.156,-0c0.046,-0 0.081,-0.009 0.104,-0.028c0.024,-0.019 0.036,-0.048 0.036,-0.086c0,-0.037 -0.012,-0.065 -0.036,-0.084c-0.023,-0.019 -0.058,-0.029 -0.104,-0.029l-0.156,0l0,0.227Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "fill": {}, + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,63.7053)", + "type": "group" + }, + { + "fill": {}, + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,45.5474,63.7053)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.247,-0l0,-0.598l-0.242,0l-0,-0.107l0.612,0l0,0.107l-0.242,0l0,0.598l-0.128,-0Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "fill": {}, + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,82.3466)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,44.3357,82.3466)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.37,0.01c-0.097,0 -0.171,-0.025 -0.222,-0.075c-0.051,-0.051 -0.076,-0.125 -0.076,-0.224l0,-0.416l0.128,0l0,0.415c0,0.063 0.014,0.111 0.043,0.143c0.029,0.031 0.072,0.047 0.127,0.047c0.055,0 0.097,-0.016 0.126,-0.047c0.029,-0.032 0.043,-0.08 0.043,-0.143l0,-0.415l0.127,0l0,0.416c0,0.099 -0.025,0.173 -0.075,0.224c-0.05,0.05 -0.124,0.075 -0.221,0.075Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "fill": {}, + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,100.988)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,46.5168,100.988)", + "type": "group" + } + ], + "id": "Name", + "name": "Name", + "transform": "matrix(0.654499,0,0,0.670554,15.7034,-6.33664)", + "type": "group" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "cx": "22.5", + "cy": "45", + "fill": { + "opacity": "0" + }, + "name": "circle", + "r": "5.625", + "stroke": { + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M18.6,41.002l-6.229,5.897", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M32.629,43.323l-6.3,5.832", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Motor1", + "name": "Motor1", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,31.2492,55.4948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "245 KVA", + "type": "text", + "x": "15.111px", + "y": "55.495px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,30.8626,59.2448)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "297 FLA", + "type": "text", + "x": "15.111px", + "y": "59.245px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "Motor", + "name": "Motor", + "type": "group" + }, + { + "id": "TagID", + "name": "TagID", + "transform": "matrix(4.16667,0,0,4.16667,49.4275,9.24479)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "RTU-01", + "type": "text", + "x": "34.842px", + "y": "9.245px" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 60 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmBorder" + }, + "position": { + "height": 94, + "width": 65, + "x": 2.76, + "y": 12.26 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"solid\"\n\telse:\n\t\treturn \"none\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "outlineWidth": "3" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 15, + "width": 15, + "x": 60.75, + "y": 5 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "ack": false + }, + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/SPD/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/SPD/resource.json new file mode 100644 index 0000000..f6130e5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/SPD/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "64f00855c28ed7e13f5837e335215f065d32e7543b586c5f58333aa61d34e85f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/SPD/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/SPD/thumbnail.png new file mode 100644 index 0000000..db6ab1b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/SPD/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/SPD/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/SPD/view.json new file mode 100644 index 0000000..3595e3e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/SPD/view.json @@ -0,0 +1,784 @@ +{ + "custom": { + "Status": true + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "propConfig": { + "custom.Status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Value" + }, + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "CB": "{/root/SPD.custom.breakerClosed}", + "inputPower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027inputPower\u0027] or value[\u0027CB\u0027] is None:\n\t\treturn 0\n\tif value[\u0027inputPower\u0027] and value[\u0027CB\u0027]:\n\t\treturn 1\n\telse: \n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 55, + "width": 53 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 38, + "x": 6, + "y": 30 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.textHandler.SPD1" + }, + "type": "property" + } + } + }, + "props": { + "alignVertical": "bottom", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 8, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "ColorHandler": {} + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "rotate": { + "anchor": "75% 25%" + }, + "width": 50 + }, + "propConfig": { + "custom.ColorHandler.Box": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "custom.ColorHandler.Text": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "custom.ColorHandler.breakerIn": { + "binding": { + "config": { + "struct": { + "in": "{view.params.inputPower}", + "sts": "{view.custom.Status}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027sts\u0027] and (value[\u0027in\u0027] \u003d\u003d 1):\n\t\treturn \"var(--olRed)\"\n\telse:\n\t\treturn \"var(--olGreen)\"", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.ColorHandler.breakerOut": { + "binding": { + "config": { + "path": "view.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.breakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Value" + }, + "type": "tag" + } + }, + "props.elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Text" + }, + "type": "property" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Text" + }, + "type": "property" + } + }, + "props.elements[2].fill": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Text" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[4].elements[2].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[3].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[4].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[5].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breakerOut" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn False\n\treturn value", + "type": "script" + }, + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.ColorHandler.Box" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M0.315,0.009c-0.037,0 -0.071,-0.003 -0.104,-0.01c-0.032,-0.007 -0.062,-0.016 -0.089,-0.028c-0.027,-0.013 -0.051,-0.028 -0.073,-0.046l0.029,-0.066c0.023,0.017 0.046,0.031 0.069,0.043c0.024,0.011 0.05,0.02 0.077,0.026c0.028,0.005 0.058,0.008 0.091,0.008c0.06,0 0.104,-0.011 0.133,-0.033c0.029,-0.023 0.044,-0.052 0.044,-0.089c-0,-0.019 -0.005,-0.036 -0.014,-0.05c-0.009,-0.014 -0.023,-0.026 -0.044,-0.036c-0.02,-0.01 -0.046,-0.018 -0.079,-0.025l-0.104,-0.021c-0.063,-0.013 -0.11,-0.035 -0.141,-0.065c-0.031,-0.031 -0.046,-0.071 -0.046,-0.122c0,-0.042 0.011,-0.079 0.032,-0.11c0.022,-0.031 0.052,-0.056 0.091,-0.073c0.039,-0.017 0.084,-0.026 0.134,-0.026c0.032,0 0.062,0.003 0.091,0.01c0.029,0.007 0.055,0.017 0.079,0.03c0.025,0.013 0.046,0.028 0.065,0.047l-0.029,0.064c-0.03,-0.027 -0.062,-0.047 -0.095,-0.059c-0.033,-0.013 -0.071,-0.019 -0.112,-0.019c-0.035,0 -0.066,0.005 -0.092,0.016c-0.025,0.011 -0.045,0.026 -0.06,0.047c-0.014,0.02 -0.021,0.043 -0.021,0.07c-0,0.032 0.01,0.057 0.029,0.076c0.02,0.019 0.052,0.032 0.097,0.041l0.104,0.022c0.067,0.014 0.117,0.035 0.149,0.064c0.033,0.028 0.049,0.066 0.049,0.115c-0,0.039 -0.011,0.073 -0.032,0.104c-0.021,0.03 -0.051,0.053 -0.09,0.07c-0.039,0.017 -0.085,0.025 -0.138,0.025Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "id": "Text", + "name": "Text", + "transform": "matrix(4.16667,0,0,4.16667,14.627,34.9155)", + "type": "group", + "visibility": "hidden" + }, + { + "elements": [ + { + "d": "M0.087,-0l0,-0.705l0.279,0c0.051,0 0.093,0.008 0.128,0.025c0.035,0.016 0.062,0.04 0.08,0.072c0.018,0.031 0.027,0.07 0.027,0.115c-0,0.044 -0.009,0.082 -0.027,0.114c-0.018,0.032 -0.045,0.056 -0.08,0.073c-0.035,0.017 -0.077,0.025 -0.128,0.025l-0.197,-0l-0,0.281l-0.082,-0Zm0.082,-0.35l0.187,-0c0.054,-0 0.095,-0.012 0.122,-0.036c0.028,-0.025 0.042,-0.06 0.042,-0.107c0,-0.047 -0.014,-0.083 -0.042,-0.107c-0.027,-0.025 -0.068,-0.037 -0.122,-0.037l-0.187,-0l-0,0.287Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,17.1895,34.9155)", + "type": "group", + "visibility": "hidden" + }, + { + "elements": [ + { + "d": "M0.087,-0l0,-0.705l0.238,0c0.077,0 0.141,0.014 0.194,0.041c0.053,0.027 0.094,0.066 0.121,0.119c0.028,0.052 0.042,0.116 0.042,0.192c0,0.076 -0.014,0.14 -0.042,0.193c-0.027,0.053 -0.068,0.093 -0.121,0.12c-0.053,0.027 -0.117,0.04 -0.194,0.04l-0.238,-0Zm0.082,-0.07l0.15,-0c0.093,-0 0.162,-0.024 0.207,-0.071c0.046,-0.047 0.069,-0.118 0.069,-0.212c0,-0.094 -0.023,-0.164 -0.069,-0.211c-0.046,-0.047 -0.115,-0.071 -0.207,-0.071l-0.15,0l0,0.565Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.827,34.9155)", + "type": "group", + "visibility": "hidden" + }, + { + "fill": "red", + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,22.9187,34.9155)", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "red" + }, + "height": "30", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "22.5", + "x": "7.5", + "y": "7.481" + }, + { + "d": "M30,7.481l0,30l-22.5,0l0,-30l22.5,0Zm-0.75,0.75l-21,0l-0,28.5l21,0l0,-28.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M30.358,0.629l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.49c-0.199,0.198 -0.522,0.198 -0.721,-0l-6.489,-6.49c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M29.663,8.941l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,0Zm-0.318,1.81l0,-1.104l1.305,-0l0,1.104l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M29.355,1.831c0.134,-0.228 0.378,-0.368 0.643,-0.368c0.264,-0 0.508,0.14 0.642,0.368c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.23 0.137,0.515 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,-0c-0.268,-0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.233 -0.131,-0.518 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M29.626,9.923l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M34.807,1.163l-0,12.632c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.632c-0,-0.266 0.215,-0.481 0.48,-0.481l8.657,-0c0.265,-0 0.481,0.215 0.481,0.481Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M29.626,9.023l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.913l0,-1.167l1.449,-0l-0,1.167l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "29.998", + "cy": "7.479", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M28.212,9.214l-0.389,-5.618l1.521,0l-0.377,5.618l-0.755,-0Zm-0.353,2.148l0,-1.311l1.449,-0l-0,1.311l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M31.097,9.214l-0.389,-5.618l1.521,0l-0.377,5.618l-0.755,-0Zm-0.353,2.148l0,-1.311l1.449,-0l-0,1.311l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M23.535,14.606c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.095 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M19.875,14.606c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "18.75", + "cy": "14.606", + "fill": {}, + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "cx": "18.75", + "cy": "23.606", + "fill": {}, + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M18.75,24.731l0,5.25", + "fill": { + "paint": "transparent" + }, + "id": "Out", + "name": "Out", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "d": "M37.5,-0.019l0,37.5l-37.5,0l0,-37.5l37.5,0Zm-0.675,0.675l-36.15,0l-0,36.15l36.15,0l-0,-36.15Z", + "fill": {}, + "id": "Upper", + "name": "Upper", + "type": "path" + }, + { + "d": "M37.5,29.981l0,7.5l-37.5,0l0,-7.5l37.5,0Zm-0.675,0.675l-36.15,0l-0,6.15l36.15,0l-0,-6.15Z", + "fill": {}, + "id": "Lower", + "name": "Lower", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 38 38" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_A/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_A/resource.json new file mode 100644 index 0000000..124b5b6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_A/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4f82b5a67787abac8b6e3017e0f8cb96690a6d313b5657fb08e7fb826ca20f29", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T21:49:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_A/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_A/thumbnail.png new file mode 100644 index 0000000..055ffbe Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_A/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_A/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_A/view.json new file mode 100644 index 0000000..483a74c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_A/view.json @@ -0,0 +1,1998 @@ +{ + "custom": { + "id": "DS-1A3", + "isEnergized": true, + "w1": true, + "w2": true, + "w3": false, + "w4": false + }, + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3", + "textColor": "var(--olGray)", + "textHandler": { + "text1": "DS-1A1", + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "propConfig": { + "custom.id": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\ttext \u003d value.split(\u0027_\u0027)\n\treturn text[-1]", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.isEnergized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Data/isEnergized" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 01" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 02" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 113, + "width": 166 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "DS" + }, + "position": { + "height": 110, + "width": 160 + }, + "propConfig": { + "custom.colorHandler.Bus": { + "binding": { + "config": { + "path": "view.custom.isEnergized" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.W1": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw\u0027]:\n\t\treturn \"var(--olRed)\"\n\telse:\n\t\treturn \"var(--olGreen)\"", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.W2": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw\u0027]:\n\t\treturn \"var(--olRed)\"\n\telse:\n\t\treturn \"var(--olGreen)\"", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.W3": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w3}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw\u0027]:\n\t\treturn \"var(--olRed)\"\n\telse:\n\t\treturn \"var(--olGreen)\"", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.W4": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w4}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw\u0027]:\n\t\treturn \"var(--olRed)\"\n\telse:\n\t\treturn \"var(--olGreen)\"", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{parent.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[3].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W1" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.w1" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W1" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.w1" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.w2" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.w2" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "visible" + }, + { + "input": true, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[8].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[6].elements[9].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[5].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[8].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text1" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[8].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text2" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text3" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text4" + }, + "type": "property" + } + }, + "props.elements[8].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "circle", + "width": 82.5, + "x": 3.75, + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l3.929,0l-0,0.75l-3.179,-0l0,3.268l-0.75,-0Zm9.429,-4.018l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.499,0l0,0.75l-2.357,0l0,-0.75l2.357,0Zm11.001,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.357,0l-0,-0.75l2.357,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm7.071,4.018l-0.75,-0l-0,-3.268l-3.179,0l0,-0.75l3.929,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.929,7.232l0,-0.75l3.179,0l0,-3.268l0.75,0l0,4.018l-3.929,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.499,0l-0,-0.75l2.357,0l-0,0.75l-2.357,0Zm-11.001,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.357,0l0,0.75l-2.357,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-7.071,-4.018l0.75,0l0,3.268l3.179,0l-0,0.75l-3.929,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M22.5,31.634l45,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,25.327l0,15.923", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,25.327l0,15.923", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M90,7.5l0,75l-90,-0l-0,-75l90,0Zm-0.75,0.75l-88.5,0l0,73.5l88.5,-0l0,-73.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "90", + "x": "-0", + "y": "7.5" + }, + { + "d": "M90.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M89.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M94.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "89.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M88.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M91.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + }, + { + "elements": [ + { + "cx": "22.5", + "cy": "25.327", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,26.452c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125Zm0,-0.675c0.248,0 0.45,-0.201 0.45,-0.45c0,-0.248 -0.202,-0.45 -0.45,-0.45c-0.248,0 -0.45,0.202 -0.45,0.45c0,0.249 0.202,0.45 0.45,0.45Z", + "name": "path", + "type": "path" + }, + { + "d": "M22.5,16.327l1.398,8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M22.5,16.327l4.579,7.749", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.68px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,20.5386,16.4583)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-1", + "type": "tspan", + "x": "11.967px 14.437px 16.834px 18.221px ", + "y": "16.458px 16.458px 16.458px 16.458px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "8.189px", + "y": "16.458px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.7675,23.2292)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "10.036px", + "y": "23.229px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,30.4087,30.2063)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "24.391px", + "y": "30.206px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "Way-1", + "name": "Way-1", + "type": "group" + }, + { + "elements": [ + { + "cx": "67.5", + "cy": "25.327", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,26.452c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125Zm0,-0.75c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M67.5,16.327l1.398,8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,16.327l4.579,7.749", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,65.5552,16.4583)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-2", + "type": "tspan", + "x": "56.984px 59.454px 61.85px 63.238px ", + "y": "16.458px 16.458px 16.458px 16.458px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "53.206px", + "y": "16.458px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,64.7841,23.2292)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "55.053px", + "y": "23.229px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,75.9375,30.2083)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NO", + "type": "text", + "x": "69.688px", + "y": "30.208px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "Way-2", + "name": "Way-2", + "type": "group" + }, + { + "elements": [ + { + "cx": 22.5, + "cy": "59.785", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,58.66c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M22.5,68.785l1.398,-8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,68.785l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M23.898,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 22.5, + "cy": "42.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,41.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": 22.5, + "cy": "51.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,50.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M27.558,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,52.067l0,7.833", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,20.5386,74.4792)", + "type": "group" + }, + { + "elements": [], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "WAY-4", + "type": "text", + "x": "8.189px", + "y": "74.479px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.7675,65.4822)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "10.036px", + "y": "65.482px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,33.1767,65.5208)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "27.159px", + "y": "65.521px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "Way-3", + "name": "Way-4", + "type": "group" + }, + { + "elements": [ + { + "cx": "67.5", + "cy": "59.785", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,58.66c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M67.5,68.785l1.398,-8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,68.785l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M68.883,42.405c1.261,1.2 1.896,2.695 1.871,4.5c0.008,2.095 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 67.5, + "cy": "42.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,41.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": 67.5, + "cy": "51.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,50.25c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M72.544,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,52.067l0,7.833", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,65.5552,74.4792)", + "type": "group" + }, + { + "elements": [], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "WAY-3", + "type": "text", + "x": "53.206px", + "y": "74.479px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,64.7841,65.4822)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "55.053px", + "y": "65.482px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,78.4735,65.5208)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "72.455px", + "y": "65.521px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "Way-4", + "name": "Way-4", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,103.018,14.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1A1", + "type": "text", + "visibility": "hidden", + "x": "88.199px", + "y": "14.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,114.137,17.9948)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ",", + "type": "tspan", + "x": "112.979px ", + "y": "17.995px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.343px", + "y": "17.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,117.199,21.7834)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "92.884px 94.042px ", + "y": "21.783px 21.783px " + }, + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "101.22px 102.377px ", + "y": "21.783px 21.783px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.325px", + "y": "21.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,114.102,25.5334)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "97.434px 99.983px 101.14px ", + "y": "25.533px 25.533px 25.533px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.482px", + "y": "25.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 120 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 37, + "x": 37, + "y": 63 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed Way 03\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Tripped Way 03\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027\n", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "overflow": "visible" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 20, + "width": 37, + "x": 50.5, + "y": 45 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed Way 04\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Tripped Way 04\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027\n", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "overflow": "visible", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 66, + "x": 99, + "y": -9 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\ttext \u003d value.split(\u0027_\u0027)\n\treturn text[-1]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_B/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_B/resource.json new file mode 100644 index 0000000..c182b8c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_B/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e98882d852cd61d8d8d5eae8b2841e8caa1904fffeef529126d8d99ddb407f72", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T21:49:42Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_B/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_B/thumbnail.png new file mode 100644 index 0000000..ec173f0 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_B/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_B/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_B/view.json new file mode 100644 index 0000000..5acbcf0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_DS_B/view.json @@ -0,0 +1,1952 @@ +{ + "custom": { + "isEnergized": true, + "w1": true, + "w2": true, + "w3": false, + "w4": true + }, + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B3", + "textColor": "var(--olGray)", + "textHandler": { + "text1": "DS-1A1", + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "propConfig": { + "custom.isEnergized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Data/isenergized" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 01" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 02" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.w4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 110, + "width": 166 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "DS" + }, + "position": { + "height": 110, + "width": 160 + }, + "propConfig": { + "custom.colorHandler.Bus": { + "binding": { + "config": { + "path": "view.custom.isEnergized" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.W1": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value [\u0027sw\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.W2": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value [\u0027sw\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.W3": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w3}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value [\u0027sw\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.W4": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw": "{view.custom.w4}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value [\u0027sw\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{parent.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[3].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[3].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({parent.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[4].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 02" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W2" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 02" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[4].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W1" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 01" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W1" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 01" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[5].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[6].elements[5].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[6].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[6].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[8].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W3" + }, + "type": "property" + } + }, + "props.elements[6].elements[9].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 03" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[7].elements[5].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Bus" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.W4" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].visibility": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed Way 04" + }, + "transforms": [ + { + "code": "\tvis \u003d \u0027hidden\u0027\n\tif not value:\n\t\tvis \u003d \u0027visible\u0027\n\treturn vis", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[8].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text1" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text2" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text3" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.text4" + }, + "type": "property" + } + }, + "props.elements[8].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "circle", + "width": 82.5, + "x": 3.75, + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l3.929,0l-0,0.75l-3.179,-0l0,3.268l-0.75,-0Zm9.429,-4.018l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.499,0l0,0.75l-2.357,0l0,-0.75l2.357,0Zm11.001,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.357,0l-0,-0.75l2.357,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm11,0l-0,0.75l-7.858,0l0,-0.75l7.858,0Zm5.5,0l-0,0.75l-2.358,0l0,-0.75l2.358,0Zm7.071,4.018l-0.75,-0l-0,-3.268l-3.179,0l0,-0.75l3.929,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.929,7.232l0,-0.75l3.179,0l0,-3.268l0.75,0l0,4.018l-3.929,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.499,0l-0,-0.75l2.357,0l-0,0.75l-2.357,0Zm-11.001,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.357,0l0,0.75l-2.357,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-11,0l0,-0.75l7.858,0l-0,0.75l-7.858,0Zm-5.5,0l0,-0.75l2.358,0l-0,0.75l-2.358,0Zm-7.071,-4.018l0.75,0l0,3.268l3.179,0l-0,0.75l-3.929,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M22.5,31.634l45,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,25.327l0,15.923", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,25.327l0,15.923", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "d": "M90,7.5l0,75l-90,-0l-0,-75l90,0Zm-0.75,0.75l-88.5,0l0,73.5l88.5,-0l0,-73.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "90", + "x": "-0", + "y": "7.5" + }, + { + "d": "M90.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M89.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M94.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "89.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M88.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M91.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + }, + { + "elements": [ + { + "cx": "22.5", + "cy": "25.327", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,26.452c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125Zm0,-0.675c0.248,0 0.45,-0.201 0.45,-0.45c0,-0.248 -0.202,-0.45 -0.45,-0.45c-0.248,0 -0.45,0.202 -0.45,0.45c0,0.249 0.202,0.45 0.45,0.45Z", + "name": "path", + "type": "path" + }, + { + "d": "M22.5,16.327l1.398,8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M22.5,16.327l4.579,7.749", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.68px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,20.5386,16.4583)", + "type": "group" + }, + { + "elements": [], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "WAY-2", + "type": "text", + "x": "8.189px", + "y": "16.458px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.7675,23.2292)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "10.036px", + "y": "23.229px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,30.4087,30.2063)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "24.391px", + "y": "30.206px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "Way-1", + "name": "Way-1", + "type": "group" + }, + { + "elements": [ + { + "cx": "67.5", + "cy": "25.327", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,26.452c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.62 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.505 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125Zm0,-0.75c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M67.5,16.327l1.398,8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,16.327l4.579,7.749", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,65.5552,16.4583)", + "type": "group" + }, + { + "elements": [], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "WAY-1", + "type": "text", + "x": "53.206px", + "y": "16.458px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,64.7841,23.2292)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "55.053px", + "y": "23.229px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,75.9375,30.2083)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NO", + "type": "text", + "x": "69.688px", + "y": "30.208px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + } + ], + "id": "Way-2", + "name": "Way-2", + "type": "group" + }, + { + "elements": [ + { + "cx": "22.5", + "cy": "59.785", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,58.66c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M22.5,68.785l1.398,-8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,68.785l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M23.898,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 22.5, + "cy": "42.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,41.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": 22.5, + "cy": "51.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M22.5,50.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M27.558,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,52.067l0,7.833", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,20.5386,74.4792)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-3", + "type": "tspan", + "x": "11.967px 14.437px 16.834px 18.221px ", + "y": "74.479px 74.479px 74.479px 74.479px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "8.189px", + "y": "74.479px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.7675,65.4822)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "10.036px", + "y": "65.482px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,33.1767,65.5208)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "27.159px", + "y": "65.521px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "Way-3", + "name": "Way-3", + "type": "group" + }, + { + "elements": [ + { + "cx": "67.5", + "cy": "59.785", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,58.66c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M67.5,68.785l1.398,-8.885", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,68.785l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M68.883,42.405c1.261,1.2 1.896,2.695 1.871,4.5c0.008,2.095 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": 67.5, + "cy": "42.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,41.25c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "cx": 67.5, + "cy": "51.375", + "fill": {}, + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M67.5,50.25c0.621,-0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.504 -1.125,-1.125c-0,-0.621 0.504,-1.125 1.125,-1.125Zm-0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c-0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M72.544,42.405c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.095 -0.592,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,52.067l0,7.833", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,65.5552,74.4792)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AY-4", + "type": "tspan", + "x": "56.984px 59.454px 61.85px 63.238px ", + "y": "74.479px 74.479px 74.479px 74.479px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "W", + "type": "text", + "x": "53.206px", + "y": "74.479px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,64.7841,65.4822)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "55.053px", + "y": "65.482px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,78.4735,65.5208)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "72.455px", + "y": "65.521px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "Way-4", + "name": "Way-4", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,103.018,14.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "88.199px", + "y": "14.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,114.137,17.9948)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ",", + "type": "tspan", + "x": "112.979px ", + "y": "17.995px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.343px", + "y": "17.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,117.199,21.7834)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "92.884px 94.042px ", + "y": "21.783px 21.783px " + }, + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "101.22px 102.377px ", + "y": "21.783px 21.783px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.325px", + "y": "21.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,114.102,25.5334)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "97.434px 99.983px 101.14px ", + "y": "25.533px 25.533px 25.533px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "88.482px", + "y": "25.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 120 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 37, + "x": 37, + "y": 63 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed Way 03\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Tripped Way 03\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027\n", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "overflow": "visible" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 20, + "width": 37, + "x": 50.5, + "y": 45 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed Way 04\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Tripped Way 04\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027\n", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "overflow": "visible", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 32, + "width": 67, + "x": 98, + "y": -9 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\ttext \u003d value.split(\"_\")\n\treturn text[-1]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_Generator/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_Generator/resource.json new file mode 100644 index 0000000..b4646ad --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_Generator/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "863ef3e2e193df8112c78c56f6cfb70d10eb53ce97404377d5c9f6c77a4799b7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T15:15:55Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_Generator/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_Generator/thumbnail.png new file mode 100644 index 0000000..ae07622 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_Generator/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_Generator/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_Generator/view.json new file mode 100644 index 0000000..506ca9f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_Generator/view.json @@ -0,0 +1,1451 @@ +{ + "custom": { + "coolDown": false, + "coolDownTimer": 5, + "running": 0 + }, + "params": { + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-1", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + }, + "propConfig": { + "custom.coolDown": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath_ATS": "{view.params.tagPath_ATS}" + }, + "tagPath": "{tagPath_ATS}/CP State" + }, + "enabled": false, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 34, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.coolDownTimer": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath_ATS": "{view.params.tagPath_ATS}" + }, + "tagPath": "{tagPath_ATS}/CP State Data" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Run Status" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath_ATS": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 104, + "width": 253 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandle": {} + }, + "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": "Generator SVG" + }, + "position": { + "height": 95, + "width": 126, + "x": 1.66, + "y": 8.88 + }, + "propConfig": { + "custom.colorHandle.Background": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "running": "{view.custom.running}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027alarmSeverity\u0027] \u003e 0:\n\t\tColor \u003d 2\n\telif value[\u0027running\u0027] \u003d\u003d True:\n\t\tColor \u003d 1\n\telse :\n\t\tColor \u003d 0\n\treturn Color\n", + "type": "script" + }, + { + "fallback": "#D5D5D5", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "#D5D5D5" + }, + { + "input": 1, + "output": "#FFFF47" + }, + { + "input": 2, + "output": "#FF0000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandle.Thunder": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "running": "{view.custom.running}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027running\u0027] \u003d\u003d True:\n\t\tColor \u003d \u0027Orange\u0027\n\telse:\n\t\tColor \u003d \u0027White\u0027\n\treturn Color\n", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandle.Thunder_border": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "running": "{view.custom.running}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027running\u0027] \u003d\u003d True:\n\t\tColor \u003d \u0027White\u0027\n\telse:\n\t\tColor \u003d \u0027Black\u0027\n\treturn Color\n", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[1].elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandle.Background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandle.Background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandle.Background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandle.Background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandle.Background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandle.Thunder" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandle.Thunder_border" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "name": "defs", + "type": "defs" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M.0,.0L1099.0,.0L1099.0,647.1L.0,647.1L.0,.0z", + "fill": {}, + "id": "shape2", + "name": "shape2", + "stroke": { + "paint": "black", + "width": 3 + }, + "transform": "translate(7.803696,64.809411)", + "type": "path" + }, + { + "elements": [ + { + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape4", + "name": "shape4", + "stroke": { + "paint": "#000000", + "width": 3 + }, + "transform": "translate(-0.000000,0.000000)", + "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": "shape5", + "name": "shape5", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(9.523796,10.439984)", + "type": "path" + }, + { + "elements": [ + { + "d": "M-0.0,11.0C-0.0,4.9,4.9,-0.0,10.9,-0.0C16.9,-0.0,21.9,4.9,21.9,11.0C21.9,17.1,16.9,22.0,10.9,22.0C4.9,22.0,-0.0,17.1,-0.0,11.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape7", + "name": "shape7", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.018123,0.018207)", + "type": "path" + }, + { + "d": "M-0.0,9.0C-0.0,4.0,4.0,-0.0,8.9,-0.0C13.8,-0.0,17.8,4.0,17.8,9.0C17.8,13.9,13.8,18.0,8.9,18.0C4.0,18.0,-0.0,13.9,-0.0,9.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape8", + "name": "shape8", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(2.020118,2.034389)", + "type": "path" + } + ], + "id": "group6", + "name": "group6", + "transform": "matrix(0.000000,1.000000,-1.000000,0.000000,193.502876,39.600685)", + "type": "group" + }, + { + "elements": [ + { + "d": "M-0.0,11.0C-0.0,4.9,4.9,-0.0,10.9,-0.0C16.9,-0.0,21.9,4.9,21.9,11.0C21.9,17.1,16.9,22.0,10.9,22.0C4.9,22.0,-0.0,17.1,-0.0,11.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape10", + "name": "shape10", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.018123,0.018207)", + "type": "path" + }, + { + "d": "M-0.0,9.0C-0.0,4.0,4.0,-0.0,8.9,-0.0C13.8,-0.0,17.8,4.0,17.8,9.0C17.8,13.9,13.8,18.0,8.9,18.0C4.0,18.0,-0.0,13.9,-0.0,9.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape11", + "name": "shape11", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(2.020118,2.034389)", + "type": "path" + } + ], + "id": "group9", + "name": "group9", + "transform": "matrix(0.000000,1.000000,-1.000000,0.000000,256.624551,39.600685)", + "type": "group" + }, + { + "elements": [ + { + "d": "M-0.0,11.0C-0.0,4.9,4.9,-0.0,10.9,-0.0C16.9,-0.0,21.9,4.9,21.9,11.0C21.9,17.1,16.9,22.0,10.9,22.0C4.9,22.0,-0.0,17.1,-0.0,11.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape13", + "name": "shape13", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.018123,0.018207)", + "type": "path" + }, + { + "d": "M-0.0,9.0C-0.0,4.0,4.0,-0.0,8.9,-0.0C13.8,-0.0,17.8,4.0,17.8,9.0C17.8,13.9,13.8,18.0,8.9,18.0C4.0,18.0,-0.0,13.9,-0.0,9.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape14", + "name": "shape14", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(2.020118,2.034389)", + "type": "path" + } + ], + "id": "group12", + "name": "group12", + "transform": "matrix(0.000000,1.000000,-1.000000,0.000000,193.502876,96.044098)", + "type": "group" + }, + { + "elements": [ + { + "d": "M-0.0,11.0C-0.0,4.9,4.9,-0.0,10.9,-0.0C16.9,-0.0,21.9,4.9,21.9,11.0C21.9,17.1,16.9,22.0,10.9,22.0C4.9,22.0,-0.0,17.1,-0.0,11.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape16", + "name": "shape16", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.018123,0.018207)", + "type": "path" + }, + { + "d": "M-0.0,9.0C-0.0,4.0,4.0,-0.0,8.9,-0.0C13.8,-0.0,17.8,4.0,17.8,9.0C17.8,13.9,13.8,18.0,8.9,18.0C4.0,18.0,-0.0,13.9,-0.0,9.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape17", + "name": "shape17", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(2.020118,2.034389)", + "type": "path" + } + ], + "id": "group15", + "name": "group15", + "transform": "matrix(0.000000,1.000000,-1.000000,0.000000,256.624551,96.044098)", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.0,.0L63.5,.0C64.1,.0,64.6,.5,64.6,1.0L64.6,64.1C64.6,64.6,64.1,65.1,63.5,65.1L1.0,65.1C.5,65.1,.0,64.6,.0,64.1L.0,1.0C.0,.5,.5,.0,1.0,.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape19", + "name": "shape19", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "type": "path" + }, + { + "d": "M1.0,.0L55.5,.0C56.1,.0,56.6,.5,56.6,1.0L56.6,36.5L35.2,57.3L1.0,57.3C.4,57.3,.0,56.8,.0,56.2L.0,1.0C.0,.5,.4,.0,1.0,.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape20", + "name": "shape20", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(4.006916,3.904640)", + "type": "path" + }, + { + "d": "M1.0,.0L53.5,.0C54.0,.0,54.5,.4,54.5,1.0L54.5,35.2L33.9,55.2L1.0,55.2C.4,55.2,.0,54.7,.0,54.1L.0,1.0C.0,.4,.4,.0,1.0,.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape21", + "name": "shape21", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(5.189219,5.230563)", + "type": "path" + }, + { + "d": "M.0,.0L20.2,24.0L22.6,21.6L.0,.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape22", + "name": "shape22", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(20.341088,18.535318)", + "type": "path" + }, + { + "d": "M.0,.0L5.9,.0", + "fill": { + "paint": "transparent" + }, + "id": "shape23", + "name": "shape23", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(11.477683,47.672420)", + "type": "path" + }, + { + "d": "M.0,.0L5.2,2.4", + "fill": { + "paint": "transparent" + }, + "id": "shape24", + "name": "shape24", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(13.719801,31.375364)", + "type": "path" + }, + { + "d": "M.0,.0L2.7,4.5", + "fill": { + "paint": "transparent" + }, + "id": "shape25", + "name": "shape25", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(31.656798,12.958820)", + "type": "path" + }, + { + "d": "M.0,.0L.0,5.3", + "fill": { + "paint": "transparent" + }, + "id": "shape26", + "name": "shape26", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(49.313414,10.031154)", + "type": "path" + }, + { + "d": "M.0,.0L17.8,.0L17.8,6.6L.0,6.6L.0,.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape27", + "name": "shape27", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(7.927037,8.358215)", + "type": "path" + }, + { + "d": "M.0,14.8C.0,6.4,6.7,-0.0,14.6,-0.0C14.6,.3,14.3,29.8,14.3,29.8C6.4,29.8,.0,23.2,.0,14.8z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape28", + "name": "shape28", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "matrix(0.707107,0.707107,-0.707107,0.707107,49.593653,29.494110)", + "type": "path" + }, + { + "d": "M.0,14.0C.0,6.1,6.3,-0.0,13.8,-0.0C13.8,.3,13.5,28.2,13.5,28.2C6.0,28.2,.0,21.9,.0,14.0z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape29", + "name": "shape29", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "matrix(0.707107,0.707107,-0.707107,0.707107,49.478237,30.529862)", + "type": "path" + }, + { + "d": "M.0,1.8C.0,.8,.8,.0,1.8,.0C2.9,.0,3.7,.8,3.7,1.8C3.7,2.8,2.9,3.7,1.8,3.7C.8,3.7,.0,2.8,.0,1.8z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape30", + "name": "shape30", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(30.832587,55.780594)", + "type": "path" + }, + { + "d": "M.0,1.8C.0,.8,.8,.0,1.8,.0C2.9,.0,3.7,.8,3.7,1.8C3.7,2.8,2.9,3.7,1.8,3.7C.8,3.7,.0,2.8,.0,1.8z", + "fill": { + "paint": "#ffffff", + "rule": "nonzero" + }, + "id": "shape31", + "name": "shape31", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(54.584078,32.287246)", + "type": "path" + } + ], + "id": "group18", + "name": "group18", + "transform": "translate(44.622343,39.707895)", + "type": "group" + } + ], + "id": "group3", + "name": "group3", + "transform": "translate(55.686687,125.529216)", + "type": "group" + }, + { + "d": "M.0,.0L671.7,.0L671.7,652.9L.0,652.9L.0,.0z", + "fill": { + "rule": "nonzero" + }, + "id": "shape32", + "name": "shape32", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(435.110930,64.809845)", + "type": "path" + }, + { + "d": "M.0,.0L341.1,.0L341.1,652.9L.0,652.9L.0,.0z", + "fill": { + "rule": "nonzero" + }, + "id": "shape33", + "name": "shape33", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(766.122799,64.809845)", + "type": "path" + }, + { + "d": "M66.8,.0L1032.1,.0L1099.0,34.2L1099.0,66.4L.0,66.4L.0,35.0L66.8,.0z", + "fill": { + "rule": "nonzero" + }, + "id": "shape34", + "name": "shape34", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(7.803696,0.000000)", + "type": "path" + }, + { + "d": "M.0,.0L1115.0,.0L1115.0,62.2L.0,62.2L.0,.0z", + "fill": { + "rule": "nonzero" + }, + "id": "shape35", + "name": "shape35", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(-0.000000,711.862000)", + "type": "path" + }, + { + "d": "M35.8,4.4L72.8,.0L33.1,47.5L80.1,43.2L16.8,132.2L47.1,64.6L.0,70.0L35.8,4.4z", + "fill": { + "rule": "nonzero" + }, + "id": "shape36", + "name": "shape36", + "stroke": { + "width": 3 + }, + "transform": "matrix(0.999391,0.034899,-0.034899,0.999391,965.169307,12.700373)", + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape39", + "name": "shape39", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape40", + "name": "shape40", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,35.670844)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape41", + "name": "shape41", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,74.659640)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape42", + "name": "shape42", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,110.567249)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape43", + "name": "shape43", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,147.423062)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape44", + "name": "shape44", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,184.278875)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape45", + "name": "shape45", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,219.831486)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape46", + "name": "shape46", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,257.991045)", + "type": "path" + } + ], + "id": "group38", + "name": "group38", + "transform": "translate(0.130280,0.000000)", + "type": "group" + }, + { + "elements": [ + { + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape48", + "name": "shape48", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape49", + "name": "shape49", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,35.670844)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape50", + "name": "shape50", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,74.659640)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape51", + "name": "shape51", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,110.567249)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape52", + "name": "shape52", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,147.423062)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape53", + "name": "shape53", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,184.278875)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape54", + "name": "shape54", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,219.831486)", + "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": "#ffffff", + "rule": "nonzero" + }, + "id": "shape55", + "name": "shape55", + "stroke": { + "paint": "#000000", + "width": "3" + }, + "transform": "translate(0.000000,257.991045)", + "type": "path" + } + ], + "id": "group47", + "name": "group47", + "transform": "translate(136.425137,0.004644)", + "type": "group" + } + ], + "id": "group37", + "name": "group37", + "transform": "translate(110.237594,405.443400)", + "type": "group" + } + ], + "id": "group1", + "name": "group1", + "transform": "translate(0.000000,5.669291)", + "type": "group" + } + ], + "id": "page1", + "name": "page1", + "transform": "", + "type": "group" + } + ], + "preserveAspectRatio": "xMaxYMax", + "style": { + "classes": "containers/HoverOver" + }, + "viewBox": "0 0 1132 804" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 10, + "width": 125, + "x": 127.85, + "y": 21.71 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "CDtimer": "{view.custom.coolDownTimer}", + "alarmSeverity": "{parent.custom.alarmSeverity}", + "cooldown": "{view.custom.coolDown}", + "runStatus": "{view.custom.running}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value[\u0027runStatus\u0027]\u003d\u003dTrue and value[\u0027CDtimer\u0027]\u003e0:\n\t\tstate \u003d \u0027Cooldown \u0027+ str(value[\u0027CDtimer\u0027]) + \u0027sec\u0027\n\telif value[\u0027runStatus\u0027] \u003d\u003d True:\n\t\tstate \u003d \u0027Running\u0027\n\telse:\n\t\tstate \u003d \u0027Off\u0027\n\tif value[\u0027alarmSeverity\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": { + "style": { + "overflow": "visible" + }, + "text": "Off", + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 11, + "width": 210, + "x": 127.9, + "y": 32.7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tstate \u003d system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:\u0027Run Hours\u0027})[0][\u0027value\u0027].value\n\tstate \u003d \"%.1f\" % state\n\treturn \u0027Run Hrs: \u0027+state+ \u0027 hr\u0027\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Run Hrs: 49.6 hrs", + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 10, + "width": 125, + "x": 127.9, + "y": 43.7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tstate \u003d system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:\u0027Fuel Percent\u0027})[0][\u0027value\u0027].value\n\tstate \u003d \"%.1f\" % state\n\treturn \u0027Fuel Percent: \u0027+state+ \u0027%\u0027\n", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Fuel Percent 91.0%", + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 10, + "width": 125, + "x": 127.9, + "y": 54.7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\u0027Power Total\u0027", + "engUnits": "\u0027KW\u0027", + "tagName": "\u0027Total kW\u0027", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tstate \u003d system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:value[\u0027tagName\u0027]})[0][\u0027value\u0027].value\n\tstate \u003d \"%.1f\" % state\n\treturn value[\u0027displayName\u0027]+\u0027: \u0027+state+ \u0027 \u0027 +value[\u0027engUnits\u0027]", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Power Total: 0.0 kW", + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 10, + "width": 125, + "x": 127.9, + "y": 65.7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\"Avg current\"", + "engUnits": "\"A\"", + "tagName": "\u0027Average Current\u0027", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tstate \u003d system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:value[\u0027tagName\u0027]})[0][\u0027value\u0027].value\n\tstate \u003d \"%.1f\" % state\n\treturn value[\u0027displayName\u0027]+\u0027: \u0027+state+ \u0027 \u0027 +value[\u0027engUnits\u0027]\n", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Avg Current- 0.0A", + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 10, + "width": 241, + "x": 127.9, + "y": 76.7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tstate \u003d system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:\u0027Fuel Gallons\u0027})[0][\u0027value\u0027].value\n\tstate \u003d \"%.1f\" % state\n\treturn \u0027Fuel remaining: \u0027+state+ \u0027 Gal\u0027\n", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Fuel remaining: 8341.0 Gal", + "textStyle": { + "fontSize": 10, + "overflow": "visible" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 10, + "width": 125, + "x": 127.9, + "y": 87.7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\u0027Battery voltage\u0027", + "engUnits": "\u0027V\u0027", + "tagName": "\u0027Battery Voltage\u0027", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tstate \u003d system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:value[\u0027tagName\u0027]})[0][\u0027value\u0027].value\n\tstate \u003d \"%.1f\" % state\n\treturn value[\u0027displayName\u0027]+\u0027: \u0027+state+ \u0027 \u0027 +value[\u0027engUnits\u0027]", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "Battery Voltage: 25.6V", + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 8.63, + "width": 104.95, + "x": 13.26, + "y": 6.42 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Gen", + "textStyle": { + "backgroundColor": "transparent", + "fontSize": 10, + "fontWeight": 650, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "thunder" + }, + "position": { + "height": 67, + "width": 36, + "x": 93.84, + "y": 8.759167556762696 + }, + "propConfig": { + "props.elements[1].elements[0].visibility": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "running": "{view.custom.running}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027running\u0027] \u003d\u003d True:\n\t\tColor \u003d \u0027visible\u0027\n\telse:\n\t\tColor \u003d \u0027hidden\u0027\n\treturn Color\n", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "elements": [ + { + "name": "defs", + "type": "defs" + }, + { + "elements": [ + { + "d": "M171.1,.0L350.1,.0L225.6,297.7L451.2,297.7L31.1,814.6L171.1,430.8L.0,430.8L171.1,.0z", + "fill": { + "paint": "orange" + }, + "id": "shape1", + "name": "shape1", + "stroke": { + "paint": "#101843", + "width": "4" + }, + "transform": "translate(40.393701,40.393701)", + "type": "path" + } + ], + "id": "page1", + "name": "page1", + "transform": "translate(5.5,5.5)", + "type": "group" + } + ], + "viewBox": "0 0 541 905" + }, + "type": "ia.shapes.svg" + } + ], + "custom": { + "alarmSeverity": 0 + }, + "meta": { + "name": "root" + }, + "position": { + "x": -116, + "y": -133.63750076293945 + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_GeneratorStatus/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_GeneratorStatus/resource.json new file mode 100644 index 0000000..537e3ce --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_GeneratorStatus/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "57475133b4c9a18e4723fd7b3935884857a82bb8c323a4be1fc4f0619304cff6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T20:34:40Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_GeneratorStatus/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_GeneratorStatus/thumbnail.png new file mode 100644 index 0000000..b1f3084 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_GeneratorStatus/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_GeneratorStatus/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_GeneratorStatus/view.json new file mode 100644 index 0000000..349b9f0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_GeneratorStatus/view.json @@ -0,0 +1,228 @@ +{ + "custom": { + "AlarmSeverity": 0, + "RunStatus": 1, + "Status": null, + "tag": "GEN 1.1" + }, + "params": { + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-1" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.RunStatus": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Run Status" + }, + "enabled": false, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e1,2, {view.custom.RunStatus})" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 65 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "60px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e1, 2, {view.custom.RunStatus})" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "lightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.tag" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e1, 2, {view.custom.RunStatus})" + }, + "transforms": [ + { + "fallback": "yellow", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "black" + }, + { + "input": 1, + "output": "black" + }, + { + "input": 2, + "output": "white" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "padding": "5px" + }, + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": "var(--borderRadiusInput)", + "borderBottomRightRadius": "var(--borderRadiusInput)", + "borderTopLeftRadius": "var(--borderRadiusInput)", + "borderTopRightRadius": "var(--borderRadiusInput)", + "classes": "containers/HoverOver" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES/resource.json new file mode 100644 index 0000000..e2bde1c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "edc3c270f322730f7c2a6827fc5831bc8bc0bf4161b6d7c5500aaa429614495c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T21:49:04Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES/thumbnail.png new file mode 100644 index 0000000..86d3c31 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES/view.json new file mode 100644 index 0000000..8615fad --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES/view.json @@ -0,0 +1,1129 @@ +{ + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/PQM_Main" + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "SEL-735", + "outputPower_1": 0, + "outputPower_2": 0, + "outputPower_3": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B", + "textColor": "var(--olGray)" + }, + "propConfig": { + "custom.tagPath": { + "binding": { + "config": { + "expression": "toStr({view.params.tagPath}+\u0027/PQM_Main\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower_1": { + "binding": { + "config": { + "path": "/root/FDR-1.props.params.outputPower" + }, + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.outputPower_2": { + "binding": { + "config": { + "path": "/root/FDR-2.props.params.outputPower" + }, + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.outputPower_3": { + "binding": { + "config": { + "path": "/root/FDR-3.props.params.outputPower" + }, + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 111, + "width": 479 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 58, + "x": 360, + "y": -8 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\ttext \u003d value.split(\u0027_\u0027)\n\treturn str(text[-2]) + \" \" + str(text[-1])", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "colorHandler": {} + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.parent.custom.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SES" + }, + "position": { + "height": 111, + "rotate": { + "anchor": "0% 0%" + }, + "width": 479 + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "type": "property" + } + }, + "custom.colorHandler.busIn": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../Main.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "custom.colorHandler.busOut": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({../Main.props.params.outputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "props.elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{this.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[2].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({this.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[2].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({this.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[2].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({this.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[2].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({this.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[2].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({this.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[2].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({this.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.busIn" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.busIn" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.busIn" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.busIn" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.busIn" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.busIn" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.busIn" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\treturn \"SES \" + str(value.split(\u0027_\u0027)[6])", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "307.5", + "x": "3.75", + "y": "11.235" + }, + { + "d": "M3.75,15.253l0,-4.018l3.853,-0l0,0.75l-3.103,-0l0,3.268l-0.75,-0Zm9.248,-4.018l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.789,-0l0,0.75l-7.706,-0l-0,-0.75l7.706,-0Zm5.395,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l-0,-0.75l7.707,-0Zm5.395,-0l-0,0.75l-2.312,-0l-0,-0.75l2.312,-0Zm10.789,-0l-0,0.75l-7.707,-0l0,-0.75l7.707,-0Zm5.395,-0l-0,0.75l-2.312,-0l-0,-0.75l2.312,-0Zm10.789,-0l0,0.75l-7.706,-0l-0,-0.75l7.706,-0Zm5.395,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.789,-0l0,0.75l-7.706,-0l-0,-0.75l7.706,-0Zm5.395,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l-0,-0.75l7.707,-0Zm5.395,-0l-0,0.75l-2.313,-0l0,-0.75l2.313,-0Zm10.788,-0l0,0.75l-7.706,-0l-0,-0.75l7.706,-0Zm5.396,-0l-0,0.75l-2.313,-0l0,-0.75l2.313,-0Zm10.789,-0l-0,0.75l-7.707,-0l-0,-0.75l7.707,-0Zm5.395,-0l-0,0.75l-2.312,-0l-0,-0.75l2.312,-0Zm10.789,-0l-0,0.75l-7.707,-0l0,-0.75l7.707,-0Zm5.394,-0l0,0.75l-2.311,-0l-0,-0.75l2.311,-0Zm10.79,-0l0,0.75l-7.706,-0l-0,-0.75l7.706,-0Zm5.395,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l0,-0.75l7.707,-0Zm5.394,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l-0,-0.75l7.707,-0Zm5.395,-0l-0,0.75l-2.313,-0l0,-0.75l2.313,-0Zm10.789,-0l0,0.75l-7.707,-0l0,-0.75l7.707,-0Zm5.395,-0l0,0.75l-2.312,-0l-0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l-0,-0.75l7.707,-0Zm5.394,-0l-0,0.75l-2.312,-0l-0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l-0,-0.75l7.707,-0Zm5.394,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l0,-0.75l7.707,-0Zm5.394,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.79,-0l-0,0.75l-7.707,-0l0,-0.75l7.707,-0Zm5.394,-0l0,0.75l-2.312,-0l0,-0.75l2.312,-0Zm10.79,-0l0,0.75l-7.707,-0l0,-0.75l7.707,-0Zm5.395,-0l-0,0.75l-2.312,-0l-0,-0.75l2.312,-0Zm6.936,4.018l-0.75,-0c0,-0 0,-3.268 0,-3.268l-3.103,-0l-0,-0.75l3.853,-0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,-0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,-0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.853,7.232l-0,-0.75l3.103,-0l0,-3.268l0.75,0l0,4.018l-3.853,-0Zm-5.395,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.789,-0l-0,-0.75l7.706,-0l0,0.75l-7.706,-0Zm-5.395,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l0,0.75l-7.707,-0Zm-5.395,-0l0,-0.75l2.312,-0l0,0.75l-2.312,-0Zm-10.789,-0l0,-0.75l7.707,-0l-0,0.75l-7.707,-0Zm-5.395,-0l0,-0.75l2.312,-0l0,0.75l-2.312,-0Zm-10.789,-0l-0,-0.75l7.706,-0l0,0.75l-7.706,-0Zm-5.395,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.789,-0l-0,-0.75l7.706,-0l0,0.75l-7.706,-0Zm-5.395,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l0,0.75l-7.707,-0Zm-5.395,-0l0,-0.75l2.313,-0l-0,0.75l-2.313,-0Zm-10.788,-0l-0,-0.75l7.706,-0l0,0.75l-7.706,-0Zm-5.396,-0l0,-0.75l2.313,-0l-0,0.75l-2.313,-0Zm-10.789,-0l0,-0.75l7.707,-0l0,0.75l-7.707,-0Zm-5.395,-0l0,-0.75l2.312,-0l0,0.75l-2.312,-0Zm-10.789,-0l0,-0.75l7.707,-0l-0,0.75l-7.707,-0Zm-5.394,-0l-0,-0.75l2.311,-0l0,0.75l-2.311,-0Zm-10.79,-0l-0,-0.75l7.706,-0l0,0.75l-7.706,-0Zm-5.395,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l-0,0.75l-7.707,-0Zm-5.394,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l0,0.75l-7.707,-0Zm-5.395,-0l0,-0.75l2.313,-0l-0,0.75l-2.313,-0Zm-10.789,-0l-0,-0.75l7.707,-0l-0,0.75l-7.707,-0Zm-5.395,-0l-0,-0.75l2.312,-0l0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l0,0.75l-7.707,-0Zm-5.394,-0l0,-0.75l2.312,-0l0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l0,0.75l-7.707,-0Zm-5.394,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l-0,0.75l-7.707,-0Zm-5.394,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.79,-0l0,-0.75l7.707,-0l-0,0.75l-7.707,-0Zm-5.394,-0l-0,-0.75l2.312,-0l-0,0.75l-2.312,-0Zm-10.79,-0l-0,-0.75l7.707,-0l-0,0.75l-7.707,-0Zm-5.395,-0l0,-0.75l2.312,-0l0,0.75l-2.312,-0Zm-6.936,-4.018l0.75,0c-0,0 -0,3.268 -0,3.268l3.103,-0l0,0.75l-3.853,-0l-0,-4.018Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,-0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "visibility": "visible", + "width": "315.74", + "x": "0", + "y": "7.485" + }, + { + "d": "M315.74,7.485l-0,75l-315.74,-0l0,-75l315.74,-0Zm-0.75,0.75l-314.24,-0c0,-0 0,73.5 -0,73.5l314.24,-0l-0,-73.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M315.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M314.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M314.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M314.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M319.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M314.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": 314.998, + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M313.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M316.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + }, + { + "elements": [ + { + "d": "M9.345,42.36l0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M304.485,42.36l-0,5.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M9.345,44.985l295.14,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M35.248,36.735l0,8.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M67.5,44.985l-0,4.522", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M157.5,44.985l-0,4.522", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M247.5,44.985l-0,4.522", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,329.901,14.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "314.849px", + "y": "14.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,356.939,17.9948)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "341.499px 342.657px ", + "y": "17.995px 17.995px " + }, + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "348.374px 349.532px ", + "y": "17.995px 17.995px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "1200A, 34.5kV, 3P, 3W", + "type": "text", + "x": "314.546px", + "y": "17.995px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,349.145,21.7834)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": " 3", + "type": "tspan", + "x": "342.661px 343.819px ", + "y": "21.783px 21.783px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "25kAIC, NEMA 3R", + "type": "text", + "x": "314.874px", + "y": "21.783px" + } + ], + "id": "TAgID-Plate", + "name": "TAgID-Plate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd" + }, + "viewBox": "0 0 360 83" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Main" + }, + "position": { + "height": 56, + "width": 89, + "x": 23.2, + "y": 5.5 + }, + "propConfig": { + "props.params.boxColor": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.params.inputPower": { + "binding": { + "config": { + "path": "view.params.inputPower" + }, + "type": "property" + } + }, + "props.params.outputPower": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed" + }, + "transforms": [ + { + "code": "\tif value and self.view.params.inputPower \u003d\u003d 1:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "toStr({view.params.tagPath}+\u0027/SEL_Main\u0027)" + }, + "type": "expr" + } + }, + "props.params.textColor": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "objectName": "SEL-751", + "outputPower": 0, + "textHandler": { + "txt1": "MAIN", + "txt2": "1200A", + "txt3": "NC" + } + }, + "path": "Library/Symbols/Electrical/Sym_SES_CB" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FDR-1" + }, + "position": { + "height": 59, + "width": 77, + "x": 66, + "y": 50 + }, + "propConfig": { + "props.params.boxColor": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.params.inputPower": { + "binding": { + "config": { + "path": "../Main.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.outputPower": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value and self.getSibling(\"Main\").props.params.outputPower \u003d\u003d 1:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "toStr({view.params.tagPath}+\u0027/SEL_FDR-1\u0027)" + }, + "type": "expr" + } + }, + "props.params.textColor": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "objectName": "SEL-751", + "outputPower": 0, + "textHandler": { + "txt1": "FDR-1", + "txt2": "1200A", + "txt3": "NC" + } + }, + "path": "Library/Symbols/Electrical/Sym_SES_CB" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FDR-2" + }, + "position": { + "height": 56, + "width": 77, + "x": 186, + "y": 50 + }, + "propConfig": { + "props.params.boxColor": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.params.inputPower": { + "binding": { + "config": { + "path": "../Main.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.outputPower": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value and self.getSibling(\"Main\").props.params.outputPower \u003d\u003d 1:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "toStr({view.params.tagPath}+\u0027/SEL_FDR-2\u0027)" + }, + "type": "expr" + } + }, + "props.params.textColor": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "objectName": "SEL-751", + "outputPower": 0, + "textHandler": { + "txt1": "FDR-2", + "txt2": "1200A", + "txt3": "NC" + } + }, + "path": "Library/Symbols/Electrical/Sym_SES_CB" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FDR-3" + }, + "position": { + "height": 60, + "width": 79, + "x": 306, + "y": 50 + }, + "propConfig": { + "props.params.boxColor": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.params.inputPower": { + "binding": { + "config": { + "path": "../Main.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.outputPower": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value and self.getSibling(\"Main\").props.params.outputPower \u003d\u003d 1:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "toStr({view.params.tagPath}+\u0027/SEL_FDR-3\u0027)" + }, + "type": "expr" + } + }, + "props.params.textColor": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "objectName": "SEL-751", + "outputPower": 0, + "textHandler": { + "txt1": "FDR-3", + "txt2": "1200A", + "txt3": "NC" + } + }, + "path": "Library/Symbols/Electrical/Sym_SES_CB" + }, + "type": "ia.display.view" + }, + { + "custom": { + "objectName": "SEL-735", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/PQM_Main" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.custom.tagPath\n\tobjectName \u003d self.custom.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SWBD PQM1" + }, + "position": { + "height": 18, + "rotate": { + "anchor": "25% 50%" + }, + "width": 32, + "x": 96.2, + "y": 20.5 + }, + "props": { + "style": { + "backgroundColor": "#27669C", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px", + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "color": "white", + "overflow": "visible" + }, + "text": "PQM", + "textStyle": { + "fontSize": 6, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root", + "tooltip": { + "width": 1 + } + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/PQM_Main/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.custom.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.tagPath": { + "binding": { + "config": { + "expression": "toStr({view.params.tagPath}+\u0027/PQM_Main\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES_CB/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES_CB/resource.json new file mode 100644 index 0000000..8d8d2dd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES_CB/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "931959d9f5588c24f8f72f950914b02310becac49f8a93028f9d8ac8d06b7bea", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T21:48:50Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES_CB/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES_CB/thumbnail.png new file mode 100644 index 0000000..0baa5bf Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES_CB/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES_CB/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES_CB/view.json new file mode 100644 index 0000000..d642bf8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_SES_CB/view.json @@ -0,0 +1,871 @@ +{ + "custom": { + "closed": null, + "output": 0 + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "SEL-735", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A/SEL_FDR-1", + "textColor": "var(--olGray)", + "textHandler": { + "txt1": "MAIN", + "txt2": "1200A", + "txt3": "NC" + } + }, + "propConfig": { + "custom.closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Breaker Closed" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.output": { + "binding": { + "config": { + "struct": { + "cb": "{view.custom.closed}", + "in": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027in\u0027] \u003d\u003d1 and value[\u0027cb\u0027] \u003d\u003d True:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "cb": "{view.custom.closed}", + "in": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027in\u0027] \u003d\u003d1 and value[\u0027cb\u0027] \u003d\u003d True:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 59, + "width": 94 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "SES-CB" + }, + "position": { + "height": 50, + "rotate": { + "anchor": "0% 0%" + }, + "width": 49 + }, + "propConfig": { + "custom.colorHandler.breakerIn": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.inputPower},\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "custom.colorHandler.breakerOut": { + "binding": { + "config": { + "expression": "concat(\u0027var(\u0027,\r\nif({view.params.inputPower} \u0026\u0026 tag(tostr({view.params.tagPath}+\u0027/Breaker Closed\u0027)),\u0027--olRed\u0027,\u0027--olGreen\u0027)\r\n,\u0027)\u0027)" + }, + "type": "expr" + } + }, + "custom.key": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Trip\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[4].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[5].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[6].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[7].visibility": { + "binding": { + "config": { + "expression": "if({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n\r\n\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerIn" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breakerOut" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn \u0027purple\u0027\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[7].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.txt1" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.txt2" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.txt3" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "30", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "22.5", + "x": "6.734", + "y": "7.5" + }, + { + "d": "M29.234,7.5l0,30l-22.5,-0l0,-30l22.5,-0Zm-0.75,0.75l-21,0l0,28.5l21,-0l0,-28.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M29.592,0.648l6.49,6.489c0.199,0.199 0.199,0.522 -0,0.721l-6.49,6.489c-0.198,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 0,-0.721l6.489,-6.489c0.199,-0.199 0.523,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M28.897,8.96l-0.35,-4.735l1.37,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M28.589,1.849c0.134,-0.227 0.379,-0.367 0.643,-0.367c0.264,-0 0.509,0.14 0.643,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.135,0.231 0.137,0.516 0.004,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.267,0 -0.514,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M28.861,9.942l-0.39,-4.988l1.522,0l-0.378,4.988l-0.754,-0Zm-0.353,1.907l-0,-1.164l1.448,0l0,1.164l-1.448,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M34.041,1.181l0,12.633c0,0.265 -0.215,0.481 -0.481,0.481l-8.656,-0c-0.266,-0 -0.481,-0.216 -0.481,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.481,-0.48l8.656,-0c0.266,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M28.861,9.042l-0.39,-5.001l1.522,-0l-0.378,5.001l-0.754,0Zm-0.353,1.912l-0,-1.167l1.448,0l0,1.167l-1.448,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "29.232", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M27.446,9.232l-0.389,-5.617l1.522,-0l-0.378,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M30.332,9.232l-0.39,-5.617l1.522,-0l-0.378,5.617l-0.754,0Zm-0.353,2.148l-0,-1.31l1.448,-0l0,1.31l-1.448,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + }, + { + "elements": [ + { + "d": "M21.809,19.603l-0,7.397l-7.622,-0l0,-7.397l7.622,0Zm-0.675,0.675l-6.272,0l0,6.047l6.272,-0l-0,-6.047Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M17.998,13.5l0,6.103", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M17.984,27l0,4.191", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M15.742,13.5l2.256,-1.477l2.257,1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M15.728,14.977l2.256,-1.477l2.257,1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M20.227,31.523l-2.256,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M20.241,30.045l-2.257,1.478l-2.256,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,10.1074,21.7326)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "-0.309px", + "y": "21.733px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,11.5946,25.4948)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "-0.454px", + "y": "25.495px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,5.70068,29.2834)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "-0.317px", + "y": "29.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,20.3387,24.7735)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "52", + "type": "text", + "x": "15.704px", + "y": "24.774px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMinYMin", + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 37 38" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 9, + "width": 38, + "x": 30.000000381469725, + "y": 41.000000381469725 + }, + "props": { + "style": { + "fontSize": 6, + "overflow": "visible", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 9, + "width": 38, + "x": 30.000000381469725, + "y": 31.000000381469725 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\tif value[\u0027Breaker Closed\u0027] \u003d\u003d True:\n\t\treturn \u0027Closed\u0027\n\telif value[\u0027Alarms\u0027][\u0027Breaker Trip\u0027] \u003d\u003d True:\n\t\treturn \u0027Tripped\u0027\n\telse:\n\t\treturn \u0027Open\u0027", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "fontSize": 6, + "overflow": "visible", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 9, + "width": 38, + "x": 30.000000381469725, + "y": 11.000000381469727 + }, + "props": { + "style": { + "fontSize": 6, + "overflow": "visible", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 9, + "width": 38, + "x": 30.000000381469725, + "y": 21.000000381469725 + }, + "props": { + "style": { + "fontSize": 6, + "overflow": "visible", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UPS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UPS/resource.json new file mode 100644 index 0000000..64cd520 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UPS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cd0e0e0d4a7916a5cb6d5b5e983d464c54ecff33c3c776b8d5672179bed5a07f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T15:25:23Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UPS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UPS/thumbnail.png new file mode 100644 index 0000000..c36f30e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UPS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UPS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UPS/view.json new file mode 100644 index 0000000..b00fea6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UPS/view.json @@ -0,0 +1,906 @@ +{ + "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" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UT/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UT/resource.json new file mode 100644 index 0000000..1d75176 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UT/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a26c6340f682e5a2b7ecdd39b3b26eee0bb5a9449ba1c82e272a94fc8b9a6205", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T21:57:03Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UT/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UT/thumbnail.png new file mode 100644 index 0000000..478a014 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UT/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UT/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UT/view.json new file mode 100644 index 0000000..b581bd5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/Sym_UT/view.json @@ -0,0 +1,1734 @@ +{ + "custom": { + "TagId": "UT-HS1", + "UT_energized": 1, + "VFI1": 1, + "VFI2": 1, + "isEnergized": 1, + "sw1": 1, + "sw2": 0 + }, + "params": { + "boxColor": "var(--text-muted)", + "objectName": "UT V2", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "propConfig": { + "custom.TagId": { + "persistent": true + }, + "custom.UT_energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Data/isEnergized" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.VFI1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Vacuum Fault Interrupter1 Tripped/Value" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.VFI2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Vacuum Fault Interrupter2 Tripped/Value" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.isEnergized": { + "binding": { + "config": { + "struct": { + "now": "now(1000)", + "ut": "{view.custom.UT_energized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value[\u0027ut\u0027]", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.sw1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Source 1 Switch/Value" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.sw2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Source 2 Switch/Value" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "vfi1": "{view.custom.VFI1}", + "vfi2": "{view.custom.VFI2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027vfi1\u0027] and value[\u0027vfi2\u0027]:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 111, + "width": 86 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 72, + "x": 43, + "y": -3 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "overlayOptOut": true, + "type": "tag" + } + } + }, + "props": { + "text": "UT", + "textStyle": { + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "rotate": { + "anchor": "87% 25%" + }, + "width": 86 + }, + "propConfig": { + "custom.Switch1_NormalState": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Source 1 Switch/Config/Target" + }, + "transforms": [ + { + "fallback": "NC", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "NO" + }, + { + "input": true, + "output": "NC" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.Switch2_NormalState": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Source 2 Switch/Config/Target" + }, + "transforms": [ + { + "fallback": "NC", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "NO" + }, + { + "input": true, + "output": "NC" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.SwitchOut": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "vfi1": "{view.custom.VFI1}", + "vfi2": "{view.custom.VFI2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value [\u0027vfi1\u0027] and value [\u0027vfi2\u0027]:\n\t\treturn \u0027var(--elec-off)\u0027\n\telse:\n\t\treturn \u0027var(--elec-on)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.breaker": { + "binding": { + "config": { + "expression": "if(!{view.custom.VFI1}||!{view.custom.VFI2},\u0027var(--elec-off)\u0027,{this.custom.colorHandler.SwitchOut})" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower_A": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw1": "{view.custom.sw1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw1\u0027]:\n\t\treturn \u0027var(--elec-on)\u0027\n\telse:\n\t\treturn \u0027var(--elec-off)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.inputPower_B": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw2": "{view.custom.sw2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw2\u0027]:\n\t\treturn \u0027var(--elec-on)\u0027\n\telse:\n\t\treturn \u0027var(--elec-off)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.switch_A": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw1": "{view.custom.sw1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw1\u0027]:\n\t\treturn \u0027var(--elec-on)\u0027\n\telse:\n\t\treturn \u0027var(--elec-off)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.switch_B": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw2": "{view.custom.sw2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw2\u0027]:\n\t\treturn \u0027var(--elec-on)\u0027\n\telse:\n\t\treturn \u0027var(--elec-off)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SwitchOut" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[0].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.VFI1}\u0026\u0026{view.custom.VFI2},\u0027visible\u0027,\u0027hidden\u0027)" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[0].elements[3].visibility": { + "binding": { + "config": { + "expression": "if(!({view.custom.VFI1}\u0026\u0026{view.custom.VFI2}),\u0027visible\u0027,\u0027hidden\u0027)" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[0].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[0].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Breaker_1" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Transformer_4" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Transformer_3" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[5].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Transformer_1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[7].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Transformer_2" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[9].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[9].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Transformer_5" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.breaker" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[2].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[2].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[2].elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower_A" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower_A" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.switch_A" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.sw1},\u0027visible\u0027,\u0027hidden\u0027)" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.switch_A" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[3].visibility": { + "binding": { + "config": { + "expression": "if(!{view.custom.sw1},\u0027visible\u0027,\u0027hidden\u0027)" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[3].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "this.custom.Switch1_NormalState" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SwitchA_1" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[4].elements[0].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower_B" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower_B" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.switch_B" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[4].elements[2].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.sw2},\u0027visible\u0027,\u0027hidden\u0027)" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "struct": { + "bus": "{view.custom.isEnergized}", + "sw1": "{view.custom.sw2}" + }, + "waitOnAll": true + }, + "overlayOptOut": true, + "transforms": [ + { + "code": "\tif value[\u0027bus\u0027] and value[\u0027sw1\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[4].elements[3].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.sw2},\u0027hidden\u0027,\u0027visible\u0027)" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[4].elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[1].text": { + "binding": { + "config": { + "path": "this.custom.Switch2_NormalState" + }, + "overlayOptOut": true, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[3].text": { + "binding": { + "config": { + "path": "view.params.textHandler.SwitchB_1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SwitchOut" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SwitchOut" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SwitchOut" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SwitchOut" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SwitchOut" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SwitchOut" + }, + "type": "property" + } + }, + "props.elements[6].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + }, + "props.elements[8].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[8].elements[2].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[8].elements[3].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[8].elements[4].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[8].elements[5].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[8].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + }, + "props.elements[8].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "overlayOptOut": true, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "cx": "22.5", + "cy": "36.038", + "fill": {}, + "id": "Terminal02", + "name": "Terminal02", + "r": "1.125", + "type": "circle" + }, + { + "cx": "22.5", + "cy": "45.038", + "fill": {}, + "id": "Terminal01", + "name": "Terminal01", + "r": "1.125", + "type": "circle" + }, + { + "d": "M23.625,36.038c1.261,1.2 1.896,2.694 1.87,4.5c0.009,2.094 -0.591,3.615 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M27.285,36.038c1.262,1.2 1.897,2.694 1.871,4.5c0.008,2.094 -0.592,3.615 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "30.789px", + "y": "41.625px" + }, + { + "d": "M22.5,55.163l0,-9", + "fill": { + "paint": "transparent" + }, + "id": "Out", + "name": "Out", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "67.5", + "id": "External", + "name": "External", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "width": "0.75px" + }, + "type": "rect", + "width": "37.5", + "x": "3.75", + "y": "11.288" + }, + { + "d": "M3.75,68.962l37.5,-0", + "fill": { + "paint": "transparent" + }, + "id": "Internal", + "name": "Internal", + "stroke": { + "dasharray": "3,3,0,0,0,0", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,37.0065,64.7171)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "25.519px", + "y": "64.717px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,20.303,66.1768)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "6.031px", + "y": "66.177px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,18.3067,51.1458)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "7.929px", + "y": "51.146px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,38.8379,51.1458)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "25.557px", + "y": "51.146px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,32.446,67.6771)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "25.41px", + "y": "67.677px" + } + ], + "id": "Text1", + "name": "Text1", + "type": "group" + }, + { + "d": "M16.285,61.371l-0,-1.527c0.204,-0.896 0.741,-1.283 1.554,-1.252c0.77,-0.039 1.298,0.365 1.553,1.252c0.272,-0.839 0.768,-1.285 1.554,-1.252c0.873,-0.026 1.336,0.46 1.554,1.252c0.245,-0.786 0.701,-1.284 1.554,-1.252c0.818,-0.042 1.344,0.368 1.554,1.252c0.228,-0.731 0.67,-1.23 1.553,-1.252c0.459,0.03 0.801,0.176 1.055,0.409c0.233,0.214 0.393,0.502 0.499,0.843l0,1.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M16.285,53.772l-0,1.527c0.204,0.895 0.741,1.283 1.554,1.252c0.77,0.039 1.298,-0.365 1.553,-1.252c0.272,0.839 0.768,1.285 1.554,1.252c0.873,0.025 1.336,-0.461 1.554,-1.252c0.245,0.785 0.701,1.284 1.554,1.252c0.818,0.042 1.344,-0.368 1.554,-1.252c0.228,0.73 0.67,1.229 1.553,1.252c0.459,-0.03 0.801,-0.176 1.055,-0.41c0.233,-0.214 0.393,-0.502 0.499,-0.842l0,-1.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M34.062,58.854l-0.927,0.892l-0.927,-0.892", + "fill": { + "paint": "transparent" + }, + "id": "Star02", + "name": "Star02", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.42px" + }, + "type": "path" + }, + { + "d": "M33.135,59.746l-0,1.177", + "fill": { + "paint": "transparent" + }, + "id": "Star01", + "name": "Star01", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.42px" + }, + "type": "path" + }, + { + "d": "M33.135,53.958l1.31,2.392l-2.62,-0l1.31,-2.392Zm-0,0.868c-0,-0 -0.607,1.107 -0.607,1.107l1.213,0l-0.606,-1.107Z", + "fill": {}, + "id": "Delta", + "name": "Delta", + "type": "path" + } + ], + "id": "Detail", + "name": "Detail", + "type": "group" + } + ], + "id": "TX", + "name": "TX", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "cx": "15", + "cy": "18.958", + "id": "Terminal", + "name": "Terminal", + "r": "1.125", + "type": "circle" + }, + { + "d": "M15,17.833c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "", + "type": "path" + }, + { + "d": "M14.998,27.958l1.398,-8.884", + "fill": { + "paint": "transparent" + }, + "id": "Closed1", + "name": "Closed1", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M14.998,27.958l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "id": "Open1", + "name": "Open1", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,20.7892,30.2322)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "15.975px", + "y": "30.232px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,13.7065,24.5813)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "11.483px", + "y": "24.581px" + } + ], + "id": "Text2", + "name": "Text2", + "type": "group" + } + ], + "id": "SW1-SRC01", + "name": "SW1-SRC01", + "type": "group" + }, + { + "elements": [ + { + "cx": "30", + "cy": "18.958", + "id": "Terminal1", + "name": "Terminal1", + "r": "1.125", + "type": "circle" + }, + { + "d": "M30,17.833c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "name": "path", + "type": "path" + }, + { + "d": "M30,27.958l1.398,-8.884", + "fill": { + "paint": "transparent" + }, + "id": "Closed2", + "name": "Closed2", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M30,27.958l4.579,-7.748", + "fill": { + "paint": "transparent" + }, + "id": "Open2", + "name": "Open2", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,35.8067,30.2322)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "30.992px", + "y": "30.232px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,29.1119,24.5813)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "type": "text", + "x": "26.889px", + "y": "24.581px" + } + ], + "id": "Text3", + "name": "Text3", + "type": "group" + } + ], + "id": "SW2-SRC02", + "name": "SW2-SRC02", + "type": "group" + }, + { + "elements": [ + { + "d": "M7.038,28.913l0.014,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Bar", + "name": "Bar", + "stroke": { + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M37.948,28.821l0.014,4.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "miter", + "miterlimit": "10", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M7.045,31.163l30.91,-0.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M22.5,34.913l-0,-3.75", + "fill": { + "paint": "transparent" + }, + "id": "Out1", + "name": "Out1", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M30,31.071l0,-3.113", + "fill": { + "paint": "transparent" + }, + "id": "SRC02", + "name": "SRC02", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M14.998,31.071l0,-3.113", + "fill": { + "paint": "transparent" + }, + "id": "SRC01", + "name": "SRC01", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Bus", + "name": "Bus", + "type": "group" + }, + { + "id": "TagID", + "name": "TagID", + "transform": "matrix(4.16667,0,0,4.16667,58.0715,14.3211)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "48.578px 49.966px ", + "y": "14.321px 14.321px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "12px", + "fontWeight": "700" + }, + "text": "", + "type": "text", + "x": "32px", + "y": "10px" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "45", + "x": "0", + "y": "7.5" + }, + { + "d": "M45,7.5l-0,75l-45,-0l-0,-75l45,0Zm-0.75,0.75l-43.5,0c-0,0 -0,73.5 0,73.5l43.5,-0l-0,-73.5Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M45.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M44.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M49.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "44.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M43.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M46.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group", + "visibility": "visible" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 65 84" + }, + "type": "ia.shapes.svg" + } + ], + "custom": { + "alarmSeverity": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "position": { + "x": -57.5, + "y": 111 + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/TX/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/TX/resource.json new file mode 100644 index 0000000..3135233 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/TX/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e3f7d91607447ac8452491ad0e11e3c1a774be59da6b1fe1fdf38fcfcb5d4014", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/TX/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/TX/thumbnail.png new file mode 100644 index 0000000..39f300c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/TX/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/TX/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/TX/view.json new file mode 100644 index 0000000..1ed92e2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/TX/view.json @@ -0,0 +1,438 @@ +{ + "custom": { + "TagID": "TAG", + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "Tag": "value", + "inPower": true + }, + "propConfig": { + "custom.TagID": { + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.Tag": { + "paramDirection": "input", + "persistent": true + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 102, + "width": 59 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "TX" + }, + "position": { + "height": 102, + "width": 59 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].text": { + "binding": { + "config": { + "path": "view.params.Tag" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "Box", + "name": "Box", + "type": "rect", + "width": "37.5", + "x": "0", + "y": "8.964" + }, + { + "d": "M0,12.982l0,-4.018l4.464,-0l0,0.675l-3.789,-0l-0,3.343l-0.675,-0Zm10.714,-4.018l0,0.675l-2.678,-0l-0,-0.675l2.678,-0Zm12.5,-0l0,0.675l-8.928,-0l-0,-0.675l8.928,-0Zm6.25,-0l0,0.675l-2.678,-0l-0,-0.675l2.678,-0Zm8.036,4.018l-0.675,-0l0,-3.343l-3.789,-0l-0,-0.675l4.464,-0l0,4.018Zm0,5.625l-0.675,-0l0,-2.411l0.675,-0l0,2.411Zm0,11.25l-0.675,-0l0,-8.036l0.675,0l0,8.036Zm0,5.625l-0.675,-0l0,-2.411l0.675,-0l0,2.411Zm0,11.25l-0.675,-0l0,-8.036l0.675,-0l0,8.036Zm0,5.625l-0.675,-0l0,-2.411l0.675,0l0,2.411Zm0,11.25l-0.675,-0l0,-8.036l0.675,-0l0,8.036Zm0,5.625l-0.675,-0l0,-2.411l0.675,-0l0,2.411Zm-4.464,7.232l-0,-0.675l3.789,-0l0,-3.343l0.675,-0l0,4.018l-4.464,-0Zm-6.25,-0l-0,-0.675l2.678,-0l0,0.675l-2.678,-0Zm-12.5,-0l-0,-0.675l8.928,-0l0,0.675l-8.928,-0Zm-6.25,-0l-0,-0.675l2.678,-0l0,0.675l-2.678,-0Zm-8.036,-4.018l0.675,-0l-0,3.343l3.789,-0l0,0.675l-4.464,-0l-0,-4.018Zm-0,-5.625l0.675,-0l-0,2.411l-0.675,-0l-0,-2.411Zm-0,-11.25l0.675,-0l-0,8.036l-0.675,-0l-0,-8.036Zm-0,-5.625l0.675,0l-0,2.411l-0.675,-0l-0,-2.411Zm-0,-11.25l0.675,0l-0,8.036l-0.675,-0l-0,-8.036Zm-0,-5.625l0.675,-0l-0,2.411l-0.675,-0l-0,-2.411Zm-0,-11.25l0.675,0l-0,8.036l-0.675,-0l-0,-8.036Zm-0,-5.625l0.675,-0l-0,2.411l-0.675,-0l-0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,16.2084,36.1051)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "480V", + "type": "text", + "x": "8.424px", + "y": "36.105px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,14.8529,51.1361)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "208/", + "type": "text", + "x": "8.365px", + "y": "51.136px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,15.8878,54.8551)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "120V", + "type": "text", + "x": "8.103px", + "y": "54.855px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,25.7904,51.1458)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "45", + "type": "text", + "x": "22.083px", + "y": "51.146px" + }, + { + "name": "group", + "transform": "matrix(3.33333,0,0,3.33333,28.3034,54.8958)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "KVA", + "type": "text", + "x": "21.881px", + "y": "54.896px" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "3.333px" + }, + "text": "K13", + "type": "text", + "x": "21.881px", + "y": "58.656px" + } + ], + "id": "Text", + "name": "Text", + "type": "group" + }, + { + "elements": [ + { + "d": "M32.166,45.004l-0.926,0.892l-0.927,-0.892", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.42px" + }, + "type": "path" + }, + { + "d": "M31.24,45.896l-0,1.177", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.42px" + }, + "type": "path" + }, + { + "d": "M31.222,38.355l1.309,2.391l-2.619,0l1.31,-2.391Zm-0,0.867c-0,0 -0.607,1.108 -0.607,1.108l1.213,-0l-0.606,-1.108Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "Detail", + "name": "Detail", + "type": "group" + }, + { + "d": "M10.039,47.674l-0,-2.298c0.287,-1.348 1.04,-1.931 2.181,-1.884c1.08,-0.059 1.822,0.549 2.18,1.884c0.382,-1.263 1.077,-1.934 2.181,-1.884c1.226,-0.039 1.875,0.692 2.181,1.884c0.344,-1.182 0.984,-1.932 2.181,-1.884c1.149,-0.064 1.886,0.553 2.181,1.884c0.32,-1.1 0.941,-1.851 2.181,-1.884c0.643,0.045 1.124,0.264 1.48,0.616c0.328,0.322 0.551,0.756 0.701,1.268l-0,2.298", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "round", + "width": "0.37px" + }, + "type": "path" + }, + { + "d": "M10.014,37.754l0,2.298c0.287,1.347 1.04,1.931 2.181,1.884c1.081,0.059 1.823,-0.549 2.181,-1.884c0.382,1.262 1.077,1.933 2.181,1.884c1.225,0.038 1.875,-0.693 2.181,-1.884c0.343,1.182 0.983,1.932 2.181,1.884c1.148,0.064 1.886,-0.554 2.181,-1.884c0.32,1.099 0.941,1.85 2.18,1.884c0.644,-0.045 1.124,-0.265 1.481,-0.616c0.327,-0.323 0.551,-0.756 0.7,-1.268l0,-2.298", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "round", + "width": "0.37px" + }, + "type": "path" + } + ], + "id": "TX", + "name": "TX", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,27.4125,2.98258)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "", + "type": "text", + "x": "22.088px", + "y": "2.983px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,43.5911,6.78345)", + "type": "group" + }, + { + "fill": { + "paint": "var(--olGray)" + }, + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "x": "21.826px", + "y": "6.783px" + } + ], + "id": "TagIDPlate", + "name": "TagIDPlate", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 45 77" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS wCB/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS wCB/resource.json new file mode 100644 index 0000000..9c7c80f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS wCB/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5d8fcb1655d288f3e684d62e2e919136eae7ed0f4ce83707f46d5454dcd301fc", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS wCB/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS wCB/thumbnail.png new file mode 100644 index 0000000..ca2bbf1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS wCB/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS wCB/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS wCB/view.json new file mode 100644 index 0000000..399a4fe --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS wCB/view.json @@ -0,0 +1,2610 @@ +{ + "custom": { + "batBkr1Open": false, + "batBkr2Open": false, + "batBkr3Open": false, + "batCharging": true, + "batDischarging": false, + "bpBreakerClosed": false, + "colorHandler": { + "lines": "var(--olGray)" + }, + "inBreakerClosed": true, + "outBreakerClosed": true, + "outPower": 0 + }, + "params": { + "inPower": 0, + "objectName": "UPS_HS", + "outPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_UPS" + }, + "propConfig": { + "custom.batBkr1Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery 1 Breaker" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.batBkr2Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery 2 Breaker" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.batBkr3Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery 3 Breaker" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.batCharging": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Charging" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.batDischarging": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Discharging" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.bpBreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Bypass Breaker Status" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.batBkr": { + "binding": { + "config": { + "struct": { + "bChar": "{view.custom.batCharging}", + "bDis": "{view.custom.batDischarging}", + "br1": "{view.custom.batBkr1Open}", + "br2": "{view.custom.batBkr2Open}", + "br3": "{view.custom.batBkr3Open}", + "in": "{view.custom.inBreakerClosed}", + "inPow": "{view.params.inPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027br1\u0027] and not value[\u0027br2\u0027] and not value[\u0027br3\u0027]:\n\t\tbatBr \u003d True\n\telse: \n\t\tbarBr \u003d False\n\tif value[\u0027bChar\u0027]:\n\t\tif batBr and value[\u0027in\u0027] and value[\u0027inPow\u0027]:\n\t\t\treturn \u0027var(--olRed)\u0027\n\t\telse:\n\t\t\treturn \u0027var(--olGreen)\u0027\n\telif value[\u0027bDis\u0027]:\n\t\tif batBr:\n\t\t\treturn \u0027var(--olRed)\u0027\n\t\telse:\n\t\t\treturn \u0027var(--olGreen)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.batLine": { + "binding": { + "config": { + "struct": { + "bChar": "{view.custom.batCharging}", + "bDis": "{view.custom.batDischarging}", + "br1": "{view.custom.batBkr1Open}", + "br2": "{view.custom.batBkr2Open}", + "br3": "{view.custom.batBkr3Open}", + "in": "{view.custom.inBreakerClosed}", + "inPow": "{view.params.inPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027br1\u0027] and not value[\u0027br2\u0027] and not value[\u0027br3\u0027]:\n\t\tbatBr \u003d True\n\telse: \n\t\tbarBr \u003d False\n\tif value[\u0027bChar\u0027]:\n\t\tif batBr and value[\u0027in\u0027] and value[\u0027inPow\u0027]:\n\t\t\treturn \u0027var(--olRed)\u0027\n\t\telse:\n\t\t\treturn \u0027var(--olGreen)\u0027\n\telif value[\u0027bDis\u0027]:\n\t\tif batBr:\n\t\t\treturn \u0027var(--olRed)\u0027\n\t\telse:\n\t\t\treturn \u0027var(--olGreen)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027\n\treturn value", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.bpBkr": { + "binding": { + "config": { + "path": "view.custom.bpBreakerClosed" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.bpLine": { + "binding": { + "config": { + "struct": { + "br": "{view.custom.bpBreakerClosed}", + "in": "{view.params.inPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027br\u0027] and (value[\u0027in\u0027] \u003d\u003d1):\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.in": { + "binding": { + "config": { + "path": "view.params.inPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inBkr": { + "binding": { + "config": { + "struct": { + "br": "{view.custom.inBreakerClosed}", + "in": "{view.params.inPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027br\u0027] and (value[\u0027in\u0027] \u003d\u003d1):\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.inLine": { + "binding": { + "config": { + "struct": { + "br": "{view.custom.inBreakerClosed}", + "in": "{view.params.inPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027br\u0027] and (value[\u0027in\u0027] \u003d\u003d1):\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.out": { + "binding": { + "config": { + "path": "view.custom.outPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.outBkr": { + "binding": { + "config": { + "struct": { + "bDis": "{view.custom.batDischarging}", + "bbr1": "{view.custom.batBkr1Open}", + "bbr2": "{view.custom.batBkr2Open}", + "bbr3": "{view.custom.batBkr3Open}", + "br": "{view.custom.inBreakerClosed}", + "in": "{view.params.inPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027bbr1\u0027] and not value[\u0027bbr2\u0027] and not value[\u0027bbr3\u0027]:\n\t\tbatBkrs \u003d True\n\telse:\n\t\tbatBkrs \u003d False\n\tif value[\u0027br\u0027] and (value[\u0027in\u0027] \u003d\u003d1):\n\t\treturn \u0027var(--olRed)\u0027\n\telif value[\u0027bDis\u0027] and batBkrs:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.outLine": { + "binding": { + "config": { + "struct": { + "bDis": "{view.custom.batDischarging}", + "bbr1": "{view.custom.batBkr1Open}", + "bbr2": "{view.custom.batBkr2Open}", + "bbr3": "{view.custom.batBkr3Open}", + "br": "{view.custom.inBreakerClosed}", + "in": "{view.params.inPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027bbr1\u0027] and not value[\u0027bbr2\u0027] and not value[\u0027bbr3\u0027]:\n\t\tbatBkrs \u003d True\n\telse:\n\t\tbatBkrs \u003d False\n\tif value[\u0027br\u0027] and (value[\u0027in\u0027] \u003d\u003d 1):\n\t\treturn \u0027var(--olRed)\u0027\n\telif value[\u0027bDis\u0027] and batBkrs:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.inBreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Input Breaker Status" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.outBreakerClosed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Output Breaker Status" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.outPower": { + "binding": { + "config": { + "struct": { + "bDis": "{view.custom.batDischarging}", + "bbr1": "{view.custom.batBkr1Open}", + "bbr2": "{view.custom.batBkr2Open}", + "bbr3": "{view.custom.batBkr3Open}", + "bbr4": "{view.custom.batBkr4Open}", + "bpBkr": "{view.custom.bpBreakerClosed}", + "br": "{view.custom.inBreakerClosed}", + "in": "{view.params.inPower}", + "outBkr": "{view.custom.outBreakerClosed}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027bbr1\u0027] and not value[\u0027bbr2\u0027] and not value[\u0027bbr3\u0027] and not value[\u0027bbr4\u0027]:\n\t\tbatBkrs \u003d True\n\telse:\n\t\tbatBkrs \u003d False\n\tif value[\u0027br\u0027] and value[\u0027outBkr\u0027] and (value[\u0027in\u0027] \u003d\u003d1):\n\t\treturn 1\n\telif value[\u0027bDis\u0027] and batBkrs and value[\u0027outBkr\u0027]:\n\t\treturn 1\n\telif value[\u0027bpBkr\u0027] and (value[\u0027in\u0027] \u003d\u003d1):\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.inPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outPower": { + "binding": { + "config": { + "path": "view.custom.outPower" + }, + "type": "property" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 160, + "width": 180 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 19, + "width": 104, + "x": 55, + "y": -6 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "UPS_wCB" + }, + "position": { + "height": 160, + "width": 180 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outLine" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batBkr" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[2].visibility": { + "binding": { + "config": { + "struct": { + "br1": "{view.custom.batBkr1Open}", + "br2": "{view.custom.batBkr2Open}", + "br3": "{view.custom.batBkr3Open}", + "br4": "{view.custom.batBkr4Open}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027br1\u0027] and not value[\u0027br2\u0027] and not value[\u0027br3\u0027] and not value[\u0027br4\u0027]:\n\t\treturn \u0027visible\u0027\n\telse:\n\t\treturn \u0027hidden\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[3].elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batBkr" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batBkr" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batBkr" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batBkr" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batBkr" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[7].visibility": { + "binding": { + "config": { + "struct": { + "br1": "{view.custom.batBkr1Open}", + "br2": "{view.custom.batBkr2Open}", + "br3": "{view.custom.batBkr3Open}", + "br4": "{view.custom.batBkr4Open}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif not value[\u0027br1\u0027] and not value[\u0027br2\u0027] and not value[\u0027br3\u0027] and not value[\u0027br4\u0027]:\n\t\treturn \u0027hidden\u0027\n\telse:\n\t\treturn \u0027visible\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.elements[3].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.batLine" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.outBreakerClosed" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.outBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[7].visibility": { + "binding": { + "config": { + "path": "view.custom.outBreakerClosed" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.bpBreakerClosed" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[7].visibility": { + "binding": { + "config": { + "path": "view.custom.bpBreakerClosed" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.inBreakerClosed" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "visible" + }, + { + "input": false, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.inBkr" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].elements[7].visibility": { + "binding": { + "config": { + "path": "view.custom.inBreakerClosed" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpLine" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.out" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.bpLine" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.in" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "enabled": false, + "type": "expr" + } + }, + "props.elements[7].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[7].elements[3].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d3,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[7].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d2,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[7].elements[5].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d1,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[7].elements[6].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + }, + "props.elements[7].elements[7].visibility": { + "binding": { + "config": { + "expression": "\r\nif({/root.custom.alarmSeverity}!\u003d4,\u0027hidden\u0027,\u0027visible\u0027)\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M57.329,31.922c-0.089,-0.506 -0.249,-0.865 -0.854,-0.874c-0.494,-0.007 -0.872,0.342 -0.872,0.874c-0.062,0.468 -0.282,0.808 -0.863,0.856c-0.498,-0.05 -0.784,-0.337 -0.862,-0.856", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M48.779,29.871l9.999,10.308", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M50.186,36.308l3,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M50.186,37.886l3,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M53.778,45l0,-4.821", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M53.778,29.871l0,-9.202", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "10.309", + "name": "rect", + "stroke": { + "width": "0.75px" + }, + "type": "rect", + "width": "10", + "x": "48.779", + "y": "29.871" + }, + { + "d": "M88.418,20.669l-17.025,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.393,20.669l-17.615,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "UPS-Input", + "name": "UPS-Input", + "type": "group" + }, + { + "elements": [ + { + "d": "M57.329,57.944c-0.089,-0.506 -0.249,-0.866 -0.854,-0.874c-0.494,-0.007 -0.872,0.342 -0.872,0.874c-0.062,0.467 -0.282,0.807 -0.863,0.856c-0.498,-0.05 -0.784,-0.338 -0.862,-0.856", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M50.186,51.909l3,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M50.186,53.487l3,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M48.779,60.076l9.999,-10.103", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M53.778,45l0,4.973", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M53.778,69.277l0,-9.201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "10.103", + "name": "rect", + "stroke": { + "width": "0.75px" + }, + "type": "rect", + "width": "10", + "x": "48.779", + "y": "49.973" + }, + { + "d": "M88.748,69.258l-17.355,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.393,69.258l-17.615,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "UPS-Output", + "name": "UPS-Output", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "id": "External", + "name": "External", + "type": "rect", + "width": "82.5", + "x": "41.25", + "y": "11.25" + }, + { + "d": "M41.25,15.268l0,-4.018l3.929,-0l-0,0.75l-3.179,-0l0,3.268l-0.75,-0Zm9.429,-4.018l-0,0.75l-2.358,-0l0,-0.75l2.358,-0Zm11,-0l-0,0.75l-7.858,-0l0,-0.75l7.858,-0Zm5.499,-0l0,0.75l-2.357,-0l0,-0.75l2.357,-0Zm11.001,-0l-0,0.75l-7.858,-0l0,-0.75l7.858,-0Zm5.5,-0l-0,0.75l-2.357,-0l-0,-0.75l2.357,-0Zm11,-0l-0,0.75l-7.858,-0l0,-0.75l7.858,-0Zm5.5,-0l-0,0.75l-2.358,-0l0,-0.75l2.358,-0Zm11,-0l-0,0.75l-7.858,-0l0,-0.75l7.858,-0Zm5.5,-0l-0,0.75l-2.358,-0l0,-0.75l2.358,-0Zm7.071,4.018l-0.75,-0l-0,-3.268l-3.179,-0l0,-0.75l3.929,-0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-3.929,7.232l0,-0.75l3.179,0l0,-3.268l0.75,0l0,4.018l-3.929,-0Zm-5.5,-0l0,-0.75l2.358,-0l-0,0.75l-2.358,-0Zm-11,-0l0,-0.75l7.858,-0l-0,0.75l-7.858,-0Zm-5.499,-0l-0,-0.75l2.357,-0l-0,0.75l-2.357,-0Zm-11.001,-0l0,-0.75l7.858,-0l-0,0.75l-7.858,-0Zm-5.5,-0l0,-0.75l2.357,-0l0,0.75l-2.357,-0Zm-11,-0l0,-0.75l7.858,-0l-0,0.75l-7.858,-0Zm-5.5,-0l0,-0.75l2.358,-0l-0,0.75l-2.358,-0Zm-11,-0l0,-0.75l7.858,-0l-0,0.75l-7.858,-0Zm-5.5,-0l0,-0.75l2.358,-0l-0,0.75l-2.358,-0Zm-7.071,-4.018l0.75,0l0,3.268l3.179,-0l-0,0.75l-3.929,-0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M82.125,11.25l0.75,0l0,4.018l-0.75,-0l0,-4.018Zm0,7.232l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,5.625l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,11.25l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,5.625l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,11.25l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,5.625l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,11.25l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,5.625l0.75,0l0,4.018l-0.75,0l0,-4.018Z", + "fill": {}, + "id": "Internal", + "name": "Internal", + "type": "path" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": 0 + }, + "height": 25, + "name": "rect", + "stroke": null, + "type": "rect", + "width": 18.75, + "x": 5.625, + "y": 52.5 + }, + { + "d": "M5.625,56.295l0,-3.795l4.464,0l0,0.75l-3.714,0l0,3.045l-0.75,-0Zm10.714,-3.795l0,0.75l-2.678,-0l-0,-0.75l2.678,0Zm8.036,3.795l-0.75,-0c0,-0 0,-3.045 0,-3.045l-3.714,-0l-0,-0.75l4.464,0l0,3.795Zm0,5.312l-0.75,0l0,-2.277l0.75,0l0,2.277Zm0,10.625l-0.75,0l0,-7.589l0.75,-0l0,7.589Zm0,5.313l-0.75,-0l0,-2.277l0.75,-0l0,2.277Zm0,10.625l-0.75,-0l0,-7.59l0.75,0l0,7.59Zm0,5.312l-0.75,0l0,-2.277l0.75,0l0,2.277Zm0,10.625l-0.75,0l0,-7.589l0.75,-0l0,7.589Zm0,5.313l-0.75,-0l0,-2.277l0.75,-0l0,2.277Zm-4.464,6.83l-0,-0.75l3.714,-0l0,-3.045l0.75,0l0,3.795l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-3.795l0.75,0c0,0 0,3.045 -0,3.045l3.714,0l0,0.75l-4.464,0l0,-3.795Zm0,-5.312l0.75,-0l0,2.277l-0.75,-0l0,-2.277Zm0,-10.625l0.75,-0l0,7.589l-0.75,0l0,-7.589Zm0,-5.313l0.75,0l0,2.277l-0.75,0l0,-2.277Zm0,-10.625l0.75,0l0,7.59l-0.75,-0l0,-7.59Zm0,-5.312l0.75,-0l0,2.277l-0.75,-0l0,-2.277Zm0,-10.625l0.75,-0l0,7.589l-0.75,0l0,-7.589Zm0,-5.313l0.75,0l0,2.277l-0.75,0l0,-2.277Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "fill": { + "opacity": 0, + "paint": "transparent" + }, + "height": 30, + "name": "rect", + "type": "rect", + "width": 18.75, + "x": 5.625, + "y": "86.25" + }, + { + "d": "M5.625,93.393l0,-7.143l4.464,-0l0,0.75l-3.714,0l0,6.393l-0.75,-0Zm10.714,-7.143l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm8.036,7.143l-0.75,-0c0,-0 0,-6.393 0,-6.393l-3.714,-0l-0,-0.75l4.464,-0l0,7.143Zm0,10l-0.75,-0l0,-4.286l0.75,0l0,4.286Zm-4.464,12.857l-0,-0.75l3.714,-0l0,-6.393l0.75,0l0,7.143l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-7.143l0.75,0c0,0 0,6.393 -0,6.393l3.714,0l0,0.75l-4.464,0l0,-7.143Zm0,-10l0.75,0l0,4.286l-0.75,-0l0,-4.286Z", + "name": "path", + "type": "path", + "visibility": "hidden" + }, + { + "d": "M10.105,92.833l9.79,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "12,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M12.552,96.2l4.896,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M10.105,99.567l9.79,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "12,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M12.552,102.933l4.896,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M10.105,106.3l9.79,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "12,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M12.552,109.667l4.896,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "12,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,49.0244,111.733)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "TT", + "type": "tspan", + "x": "43.934px 46.479px ", + "y": "111.733px 111.733px " + } + ], + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "Li-Ion BA", + "type": "text", + "x": "27.105px", + "y": "111.733px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,49.6205,115.535)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "V", + "type": "tspan", + "x": "46.841px ", + "y": "115.535px " + } + ], + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "5-min EOL", + "type": "text", + "x": "27.237px", + "y": "115.535px" + } + ], + "id": "cell", + "name": "cell", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,35.3889,64.7948)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "600A", + "type": "text", + "x": "25.658px", + "y": "64.795px" + }, + { + "d": "M16.125,58.953c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "15", + "cy": "58.953", + "fill": {}, + "id": "T1", + "name": "T1", + "r": 1.5, + "type": "circle" + }, + { + "d": "M15,57.828c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "15", + "cy": "67.953", + "fill": {}, + "id": "T2", + "name": "T2", + "r": 1.5, + "type": "circle" + }, + { + "d": "M15,66.828c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M19.785,58.953c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "d": "M15,68.679l0,24.371", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "53.778", + "cy": "45", + "name": "circle", + "r": "1.125", + "type": "circle" + }, + { + "d": "M15,58.23l0,-13.23l38.778,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "BATT", + "name": "BATT", + "type": "group" + }, + { + "elements": [ + { + "d": "M71.393,39.161l-0,-18.492", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.393,49.19l-0,20.068", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M72.437,42.327l4.24,-0c-0,-0 -2.192,0.108 -2.108,-0c0.084,-0.108 -2.132,3.54 -2.132,3.54l4.24,-0l-2.108,-3.54", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "10.029", + "name": "rect", + "stroke": { + "width": "0.38px" + }, + "type": "rect", + "width": "6.352", + "x": "68.217", + "y": "39.161" + }, + { + "d": "M70.337,45.865l-4.24,-0c-0,-0 2.192,-0.109 2.108,-0c-0.084,0.108 2.132,-3.541 2.132,-3.541l-4.24,0l2.108,3.541", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + } + ], + "id": "Diode", + "name": "Diode", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,59.0112,3.03345)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "color": "var(--olGray)", + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UPS-HS1", + "type": "text", + "visibility": "hidden", + "x": "40.951px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,71.5723,6.78345)", + "type": "group" + }, + { + "paint": "var(--olGray)" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,85.2808,10.5334)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "50.546px 51.703px ", + "y": "10.533px 10.533px " + }, + { + "name": "tspan", + "text": ", ", + "type": "tspan", + "x": "69.302px 70.459px ", + "y": "10.533px 10.533px " + } + ], + "fill": {}, + "name": "text", + "style": { + "color": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "480V3PH, 3W65kAIC", + "type": "text", + "x": "41.197px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,97.0707,74.6202)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "91.053px", + "y": "74.62px" + }, + { + "d": "M89.543,68.133c1.2,-1.261 2.694,-1.896 4.5,-1.87c2.094,-0.009 3.615,0.592 4.5,1.87", + "fill": { + "paint": "transparent" + }, + "id": "Closed1", + "name": "Closed1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M88.418,69.258c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Z", + "fill": {}, + "id": "T11", + "name": "T11", + "type": "path" + }, + { + "d": "M88.418,69.258c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Zm0.75,0c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375c-0.207,0 -0.375,0.168 -0.375,0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M97.418,69.258c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Z", + "fill": {}, + "id": "T21", + "name": "T21", + "type": "path" + }, + { + "d": "M97.418,69.258c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Zm0.75,0c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375c-0.207,0 -0.375,0.168 -0.375,0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M89.543,64.473c1.2,-1.262 2.694,-1.897 4.5,-1.871c2.094,-0.008 3.615,0.592 4.5,1.871", + "fill": { + "paint": "transparent" + }, + "id": "Open1", + "name": "Open1", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB03", + "name": "CB03", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,120.281,46.4923)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NO", + "type": "text", + "x": "114.031px", + "y": "46.492px" + }, + { + "d": "M106.392,40.803c1.262,1.159 1.897,2.604 1.871,4.348c0.008,2.024 -0.592,3.495 -1.871,4.349", + "fill": { + "paint": "transparent" + }, + "id": "Closed2", + "name": "Closed2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "105", + "cy": "40.803", + "fill": {}, + "id": "T12", + "name": "T12", + "r": "1.125", + "type": "circle" + }, + { + "d": "M105,39.678c0.621,-0 1.125,0.504 1.125,1.125c0,0.62 -0.504,1.125 -1.125,1.125c-0.621,-0 -1.125,-0.505 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,-0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,-0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "cx": "105", + "cy": "49.5", + "fill": {}, + "id": "T22", + "name": "T22", + "r": "1.125", + "type": "circle" + }, + { + "d": "M105,48.375c0.621,0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125Zm0,0.75c-0.207,0 -0.375,0.168 -0.375,0.375c0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c0,-0.207 -0.168,-0.375 -0.375,-0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M110.053,40.803c1.261,1.159 1.896,2.604 1.87,4.348c0.009,2.024 -0.592,3.495 -1.87,4.349", + "fill": { + "paint": "transparent" + }, + "id": "Open2", + "name": "Open2", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB02", + "name": "CB02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,97.0707,25.6728)", + "type": "group" + }, + { + "fill": {}, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "NC", + "type": "text", + "x": "91.053px", + "y": "25.673px" + }, + { + "d": "M89.543,19.544c1.2,-1.261 2.694,-1.896 4.5,-1.87c2.094,-0.009 3.615,0.592 4.5,1.87", + "fill": { + "paint": "transparent" + }, + "id": "Closed3", + "name": "Closed3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M88.418,20.669c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Z", + "fill": {}, + "id": "T23", + "name": "T23", + "type": "path" + }, + { + "d": "M88.418,20.669c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Zm0.75,0c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375c-0.207,0 -0.375,0.168 -0.375,0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M97.418,20.669c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Z", + "fill": {}, + "id": "T13", + "name": "T13", + "type": "path" + }, + { + "d": "M97.418,20.669c-0,-0.621 0.504,-1.125 1.125,-1.125c0.621,0 1.125,0.504 1.125,1.125c-0,0.621 -0.504,1.125 -1.125,1.125c-0.621,0 -1.125,-0.504 -1.125,-1.125Zm0.75,0c-0,0.207 0.168,0.375 0.375,0.375c0.207,0 0.375,-0.168 0.375,-0.375c-0,-0.207 -0.168,-0.375 -0.375,-0.375c-0.207,0 -0.375,0.168 -0.375,0.375Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M89.543,15.884c1.2,-1.261 2.694,-1.896 4.5,-1.871c2.094,-0.008 3.615,0.592 4.5,1.871", + "fill": { + "paint": "transparent" + }, + "id": "Open3", + "name": "Open3", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB01", + "name": "CB01", + "type": "group" + }, + { + "elements": [ + { + "d": "M105,50.625l0,18.633", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M99.668,69.258l5.071,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Outline", + "name": "Outline", + "type": "group" + }, + { + "elements": [ + { + "d": "M105,39.678l0,-19.009", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M99.668,20.669l5.071,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Inline", + "name": "Inline", + "type": "group" + } + ], + "id": "CB-Block", + "name": "CB-Block", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "transparent" + }, + "height": "112.5", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "127.5", + "x": "0", + "y": "7.5" + }, + { + "d": "M127.5,7.5l-0,112.5l-127.5,0l-0,-112.5l127.5,0Zm-0.75,0.75l-126,0l0,111l126,-0l-0,-111Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M127.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M127.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M126.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M127.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M132.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M127.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "127.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M125.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M128.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 135 120" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS woCB/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS woCB/resource.json new file mode 100644 index 0000000..24ae77a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS woCB/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cd4eefd5dcf3708da29109bfb9dbcc1d6a286658913406fedb5cb4bab15afdcb", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:48:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS woCB/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS woCB/thumbnail.png new file mode 100644 index 0000000..ef2708a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS woCB/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS woCB/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS woCB/view.json new file mode 100644 index 0000000..c794f85 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/UPS woCB/view.json @@ -0,0 +1,2184 @@ +{ + "custom": { + "UPS1": "SWBD P1.1 UPS 1", + "cbBat": true, + "cbBat1": true, + "cbBat2": true, + "cbBat3": true, + "cbBat4": true, + "cbByps": false, + "cbIn": true, + "cbOut": true, + "mode": false + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "UPS", + "outputPower": 1, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1", + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "propConfig": { + "custom.UPS1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cbBat": { + "binding": { + "config": { + "struct": { + "cb1": "{view.custom.cbBat1}", + "cb2": "{view.custom.cbBat2}", + "cb3": "{view.custom.cbBat3}", + "cb4": "{view.custom.cbBat4}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027cb1\u0027] || {value}[\u0027cb2\u0027] || {value}[\u0027cb3\u0027] || {value}[\u0027cb4\u0027] ", + "type": "expression" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.cbBat1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Breaker1" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cbBat2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Breaker2" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cbBat3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Breaker3" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cbBat4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Breaker4" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cbByps": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Maintenance Bypass Breaker Status" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cbIn": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Main Input Breaker Status" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.cbOut": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Output Breaker Status" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Operation Modes" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d 4 or value \u003d\u003d 5 or value \u003d\u003d 6:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.outputPower": { + "binding": { + "config": { + "struct": { + "bpCB": "{view.custom.cbByps}", + "inCB": "{view.custom.cbIn}", + "inPWR": "{view.params.inputPower}", + "outCB": "{view.custom.cbOut}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027inCB\u0027] \u0026\u0026 {value}[\u0027inPWR\u0027] \u0026\u0026 ({value}[\u0027bpCB\u0027] || {value}[\u0027outCB\u0027])", + "type": "expression" + }, + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + }, + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 164, + "width": 130 + } + }, + "root": { + "children": [ + { + "custom": { + "BatteryChargePercent": 100, + "colorHandler": {} + }, + "meta": { + "name": "UPS_woCB" + }, + "position": { + "height": 160, + "rotate": { + "anchor": "25% 75%" + }, + "width": 130 + }, + "propConfig": { + "custom.OperationModes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Operation Modes" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\t\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.batteryBreakerOpen": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\u0027/Battery Breaker1\u0027) ||\r\ntag({view.params.tagPath}+\u0027/Battery Breaker2\u0027) ||\r\ntag({view.params.tagPath}+\u0027/Battery Breaker3\u0027) ||\r\ntag({view.params.tagPath}+\u0027/Battery Breaker4\u0027)" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn false\n\treturn value", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.batteryPercentage": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Charge Percent" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.UPS-Bat-Connection": { + "binding": { + "config": { + "path": "view.custom.mode" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.battery": { + "binding": { + "config": { + "struct": { + "batteryPercentage": "{this.custom.BatteryChargePercent}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027batteryPercentage\u0027] \u003e\u003d 10", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.batteryBreaker": { + "binding": { + "config": { + "struct": { + "bpCB": "{view.custom.cbByps}", + "inCB": "{view.custom.cbIn}", + "inPwr": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027inCB\u0027] \u0026\u0026 {value}[\u0027inPwr\u0027] \u0026\u0026 !{value}[\u0027bpCB\u0027]", + "type": "expression" + }, + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.bypass": { + "binding": { + "config": { + "struct": { + "cb": "{view.custom.cbByps}", + "inputpower": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027inputpower\u0027] \u0026\u0026 {value}[\u0027cb\u0027] ", + "type": "expression" + }, + { + "fallback": "val(--Gray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.input": { + "binding": { + "config": { + "struct": { + "bpCB": "{view.custom.cbByps}", + "inCB": "{view.custom.cbIn}", + "inPWR": "{view.params.inputPower}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027bpCB\u0027] \u0026\u0026 {value}[\u0027inPWR\u0027] \u0026\u0026 {value}[\u0027inCB\u0027]", + "type": "expression" + }, + { + "fallback": "val(--Gray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.inverter": { + "binding": { + "config": { + "struct": { + "bpCB": "{view.custom.cbByps}", + "inCB": "{view.custom.cbIn}", + "inPWR": "{view.params.inputPower}", + "opMode": "{view.custom.mode}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027bpCB\u0027] \u0026\u0026 {value}[\u0027inPWR\u0027] \u0026\u0026 {value}[\u0027inCB\u0027] ", + "type": "expression" + }, + { + "fallback": "val(--Gray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.output": { + "binding": { + "config": { + "struct": { + "bpCB": "{view.custom.cbByps}", + "inCB": "{view.custom.cbIn}", + "inPWR": "{view.params.inputPower}", + "outCB": "{view.custom.cbOut}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "~{value}[\u0027bpCB\u0027] \u0026\u0026 {value}[\u0027inPWR\u0027] \u0026\u0026 {value}[\u0027inCB\u0027] \u0026\u0026 {value}[\u0027outCB\u0027]", + "type": "expression" + }, + { + "fallback": "val(--Gray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.rectifier": { + "binding": { + "config": { + "struct": { + "bpCB": "{view.custom.cbByps}", + "inCB": "{view.custom.cbIn}", + "inPWR": "{view.params.inputPower}", + "opMode": "{view.custom.mode}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "!{value}[\u0027bpCB\u0027] \u0026\u0026 {value}[\u0027inPWR\u0027] \u0026\u0026 {value}[\u0027inCB\u0027] ", + "type": "expression" + }, + { + "fallback": "val(--Gray)", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + }, + "props.elements[0].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.rectifier" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.rectifier" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.rectifier" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.rectifier" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.rectifier" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inverter" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inverter" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inverter" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inverter" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inverter" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bypass" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bypass" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bypass" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bypass" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bypass" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.input" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bypass" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.output" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.bypass" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[0].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[0].text": { + "binding": { + "config": { + "path": "view.custom.UPS1" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[2].text": { + "binding": { + "config": { + "path": "view.params.textHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.UPS3" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "this.custom.batteryPercentage" + }, + "transforms": [ + { + "fallback": "var(--olRed)", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 60, + "min": 0 + }, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.batteryPercentage" + }, + "transforms": [ + { + "fallback": "var(--olRed)", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 83.4, + "min": 0 + }, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.batteryPercentage" + }, + "transforms": [ + { + "fallback": "var(--olRed)", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 66.8, + "min": 0 + }, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.batteryPercentage" + }, + "transforms": [ + { + "fallback": "var(--olRed)", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 50.2, + "min": 0 + }, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.batteryPercentage" + }, + "transforms": [ + { + "fallback": "var(--olRed)", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 33.6, + "min": 0 + }, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[4].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.batteryPercentage" + }, + "transforms": [ + { + "fallback": "var(--olRed)", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 17, + "min": 0 + }, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.batteryPercentage" + }, + "transforms": [ + { + "fallback": "var(--olRed)", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 1, + "min": 0 + }, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[5].elements[1].text": { + "binding": { + "config": { + "path": "view.params.textHandler.Battery1" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.batteryBreaker" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.cbBat" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "hidden" + }, + { + "input": true, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.output" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.batteryBreaker" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[5].stroke": { + "binding": { + "config": { + "path": "this.custom.colorHandler.batteryBreaker" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.cbBat" + }, + "transforms": [ + { + "fallback": "visible", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "hidden" + }, + { + "input": false, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[5].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.batteryBreaker" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inverter" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[1].fill": { + "binding": { + "config": { + "path": "this.custom.colorHandler.output" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.output" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "expression": "case(\r\n\t{/root.custom.alarmSeverity},\r\n\t1, \"var(--coolpurple)\",\r\n\t2, \"var(--goldenyellow)\",\r\n\t3, \"var(--sunsetorange)\",\r\n\t4, \"var(--alarmred)\",\r\n\t\"transparent\"\r\n)\t" + }, + "type": "expr" + } + }, + "props.elements[2].elements[2].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[3].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[4].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[5].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[6].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[7].visibility": { + "binding": { + "config": { + "path": "parent.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M52.3,31.949c-0.089,-0.506 -0.249,-0.866 -0.853,-0.874c-0.494,-0.007 -0.872,0.342 -0.872,0.874c-0.063,0.468 -0.283,0.808 -0.863,0.856c-0.498,-0.05 -0.784,-0.337 -0.863,-0.856", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M43.75,29.897l10,10.309", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M45.158,36.334l3,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M45.158,37.913l3,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "10.309", + "name": "rect", + "stroke": { + "width": "0.75px" + }, + "type": "rect", + "width": "10", + "x": "43.75", + "y": "29.897" + } + ], + "id": "Rectifier", + "name": "Rectifier", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M52.3,57.971c-0.089,-0.507 -0.249,-0.866 -0.853,-0.875c-0.494,-0.007 -0.872,0.343 -0.872,0.875c-0.063,0.467 -0.283,0.807 -0.863,0.855c-0.498,-0.049 -0.784,-0.337 -0.863,-0.855", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M45.158,51.936l3,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M45.158,53.514l3,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "d": "M43.75,60.103l10,-10.103", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.38px" + }, + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "10.103", + "name": "rect", + "stroke": { + "width": "0.75px" + }, + "type": "rect", + "width": "10", + "x": "43.75", + "y": "50" + } + ], + "id": "Inverter", + "name": "Inverter", + "type": "group", + "visibility": "visible" + }, + { + "d": "M3.75,15.268l-0,-4.018l4.67,0l-0,0.75l-3.92,-0l-0,3.268l-0.75,-0Zm11.207,-4.018l-0,0.75l-2.802,0l0,-0.75l2.802,0Zm13.074,0l0,0.75l-9.339,0l0,-0.75l9.339,0Zm6.538,0l-0,0.75l-2.802,0l-0,-0.75l2.802,0Zm13.074,0l0,0.75l-9.339,0l0,-0.75l9.339,0Zm6.537,0l0,0.75l-2.801,0l-0,-0.75l2.801,0Zm8.405,4.018l-0.75,-0c0,-0 0,-3.268 0,-3.268l-3.919,0l-0,-0.75l4.669,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-4.669,7.232l-0,-0.75l3.919,0l0,-3.268l0.75,0l0,4.018l-4.669,0Zm-6.537,0l-0,-0.75l2.801,0l0,0.75l-2.801,0Zm-13.075,0l0,-0.75l9.339,0l0,0.75l-9.339,0Zm-6.537,0l-0,-0.75l2.802,0l-0,0.75l-2.802,0Zm-13.075,0l0,-0.75l9.339,0l0,0.75l-9.339,0Zm-6.537,0l0,-0.75l2.802,0l-0,0.75l-2.802,0Zm-8.405,-4.018l0.75,0c-0,0 -0,3.268 -0,3.268l3.92,0l-0,0.75l-4.67,0l-0,-4.018Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Zm-0,-11.25l0.75,0l-0,8.036l-0.75,-0l-0,-8.036Zm-0,-5.625l0.75,0l-0,2.411l-0.75,-0l-0,-2.411Z", + "name": "path", + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M26.727,39.197l-0,-18.491", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M26.727,49.226l-0,20.068", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M25.67,42.363l-4.239,0c-0,0 2.191,0.108 2.107,0c-0.084,-0.108 2.132,3.54 2.132,3.54l-4.239,0l2.107,-3.54", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "10.029", + "name": "rect", + "stroke": { + "width": "0.38px" + }, + "type": "rect", + "width": "6.352", + "x": "23.538", + "y": "39.197" + }, + { + "d": "M27.771,45.901l4.24,-0c-0,-0 -2.192,-0.108 -2.108,-0c0.084,0.108 -2.132,-3.54 -2.132,-3.54l4.24,-0l-2.108,3.54", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.38px" + }, + "type": "path" + } + ], + "id": "Bypass", + "name": "Bypass", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M48.75,29.897l0,-9.201", + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M48.849,20.696l-22.134,0", + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Input", + "name": "Input", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M48.75,69.304l0,-9.201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M48.75,69.285l-22.035,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Output", + "name": "Output", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "12px", + "fontWeight": "700", + "overflow": "visible" + }, + "type": "text", + "visibility": "hidden", + "x": "-16px", + "y": "3.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,38.4261,6.78345)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "3.296px", + "y": "6.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,47.7808,10.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "3.697px", + "y": "10.533px" + } + ], + "id": "TagID-Plate", + "name": "TagID-Plate", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.37,0.01c-0.097,0 -0.171,-0.025 -0.222,-0.075c-0.051,-0.051 -0.076,-0.125 -0.076,-0.224l0,-0.416l0.128,0l0,0.415c0,0.063 0.014,0.111 0.043,0.143c0.029,0.031 0.072,0.047 0.127,0.047c0.055,0 0.097,-0.016 0.126,-0.047c0.029,-0.032 0.043,-0.08 0.043,-0.143l0,-0.415l0.127,0l0,0.416c0,0.099 -0.025,0.173 -0.075,0.224c-0.05,0.05 -0.124,0.075 -0.221,0.075Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,63.7053)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,46.5168,63.7053)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.077,-0l0,-0.705l0.306,0c0.052,0 0.096,0.009 0.132,0.026c0.036,0.017 0.063,0.042 0.082,0.075c0.019,0.033 0.028,0.072 0.028,0.119c0,0.046 -0.009,0.086 -0.028,0.119c-0.019,0.033 -0.046,0.058 -0.082,0.076c-0.036,0.017 -0.08,0.026 -0.132,0.026l-0.178,-0l0,0.264l-0.128,-0Zm0.128,-0.365l0.158,-0c0.045,-0 0.08,-0.01 0.103,-0.03c0.023,-0.021 0.035,-0.051 0.035,-0.09c0,-0.039 -0.012,-0.069 -0.035,-0.089c-0.023,-0.02 -0.058,-0.03 -0.103,-0.03l-0.158,-0l0,0.239Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,82.3466)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,44.9136,82.3466)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.32,0.01c-0.037,0 -0.072,-0.003 -0.106,-0.01c-0.033,-0.006 -0.064,-0.015 -0.093,-0.027c-0.028,-0.012 -0.053,-0.026 -0.075,-0.043l0.039,-0.101c0.022,0.015 0.045,0.029 0.069,0.04c0.025,0.011 0.051,0.019 0.078,0.025c0.028,0.005 0.057,0.008 0.088,0.008c0.053,-0 0.091,-0.009 0.115,-0.026c0.024,-0.018 0.036,-0.041 0.036,-0.069c-0,-0.015 -0.004,-0.028 -0.011,-0.039c-0.007,-0.011 -0.019,-0.021 -0.036,-0.029c-0.017,-0.008 -0.039,-0.015 -0.066,-0.02l-0.11,-0.023c-0.063,-0.013 -0.111,-0.036 -0.142,-0.067c-0.031,-0.032 -0.046,-0.074 -0.046,-0.126c-0,-0.044 0.012,-0.082 0.035,-0.115c0.023,-0.033 0.056,-0.058 0.097,-0.076c0.041,-0.018 0.089,-0.027 0.143,-0.027c0.032,0 0.063,0.003 0.092,0.01c0.03,0.006 0.057,0.015 0.082,0.028c0.025,0.012 0.047,0.027 0.066,0.044l-0.039,0.096c-0.028,-0.023 -0.059,-0.041 -0.092,-0.052c-0.033,-0.012 -0.07,-0.018 -0.11,-0.018c-0.031,0 -0.057,0.004 -0.079,0.013c-0.022,0.009 -0.039,0.021 -0.051,0.037c-0.011,0.015 -0.017,0.034 -0.017,0.055c0,0.024 0.008,0.043 0.024,0.058c0.016,0.014 0.043,0.025 0.082,0.033l0.109,0.023c0.066,0.014 0.115,0.036 0.147,0.066c0.033,0.03 0.049,0.07 0.049,0.12c0,0.042 -0.011,0.079 -0.034,0.111c-0.023,0.032 -0.055,0.057 -0.097,0.075c-0.041,0.017 -0.09,0.026 -0.147,0.026Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,100.988)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,44.5221,100.988)", + "type": "group" + } + ], + "id": "Label", + "name": "Label", + "transform": "matrix(0.654499,0,0,0.670554,-11.7046,-5.86463)", + "type": "group", + "visibility": "visible" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0" + }, + "height": "63.75", + "id": "Box01", + "name": "Box01", + "type": "rect", + "width": "18.75", + "x": "64.275", + "y": "52.5" + }, + { + "d": "M64.275,56.295l0,-3.795l4.464,-0l0,0.75l-3.714,0l0,3.045l-0.75,-0Zm10.714,-3.795l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm8.036,3.795l-0.75,-0c0,-0 0,-3.045 0,-3.045l-3.714,-0l-0,-0.75l4.464,-0l0,3.795Zm0,5.312l-0.75,0l0,-2.277l0.75,0l0,2.277Zm0,10.625l-0.75,0l0,-7.589l0.75,-0l0,7.589Zm0,5.313l-0.75,-0l0,-2.277l0.75,-0l0,2.277Zm0,10.625l-0.75,-0l0,-7.59l0.75,0l0,7.59Zm0,5.312l-0.75,0l0,-2.277l0.75,0l0,2.277Zm0,10.625l-0.75,0l0,-7.589l0.75,-0l0,7.589Zm0,5.313l-0.75,-0l0,-2.277l0.75,-0l0,2.277Zm-4.464,6.83l-0,-0.75l3.714,-0l0,-3.045l0.75,0l0,3.795l-4.464,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-8.036,-3.795l0.75,0c0,0 0,3.045 -0,3.045l3.714,-0l0,0.75l-4.464,-0l0,-3.795Zm0,-5.312l0.75,-0l0,2.277l-0.75,-0l0,-2.277Zm0,-10.625l0.75,-0l0,7.589l-0.75,0l0,-7.589Zm0,-5.313l0.75,0l0,2.277l-0.75,0l0,-2.277Zm0,-10.625l0.75,0l0,7.59l-0.75,-0l0,-7.59Zm0,-5.312l0.75,-0l0,2.277l-0.75,-0l0,-2.277Zm0,-10.625l0.75,-0l0,7.589l-0.75,0l0,-7.589Zm0,-5.313l0.75,0l0,2.277l-0.75,0l0,-2.277Z", + "name": "path", + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "30", + "id": "Box02", + "name": "Box02", + "type": "rect", + "width": "18.75", + "x": "64.275", + "y": "86.25" + }, + { + "d": "M64.275,93.393l0,-7.143l4.464,-0l0,0.75l-3.714,0l0,6.393l-0.75,-0Zm10.714,-7.143l0,0.75l-2.678,-0l-0,-0.75l2.678,-0Zm8.036,7.143l-0.75,-0c0,-0 0,-6.393 0,-6.393l-3.714,-0l-0,-0.75l4.464,-0l0,7.143Zm0,10l-0.75,-0l0,-4.286l0.75,0l0,4.286Zm-4.464,12.857l-0,-0.75l3.714,-0l0,-6.393l0.75,0l0,7.143l-4.464,-0Zm-6.25,-0l-0,-0.75l2.678,-0l0,0.75l-2.678,-0Zm-8.036,-7.143l0.75,0c0,0 0,6.393 -0,6.393l3.714,-0l0,0.75l-4.464,-0l0,-7.143Zm0,-10l0.75,0l0,4.286l-0.75,-0l0,-4.286Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "d": "M68.755,92.833l9.79,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.202,96.2l4.896,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M68.755,99.567l9.79,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.202,102.933l4.896,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M68.755,106.3l9.79,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.202,109.667l4.896,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "dasharray": "7.5,3,2.25,3,0,0", + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Cell", + "name": "Cell", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,94.2632,64.9251)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "84.532px", + "y": "64.925px" + }, + { + "d": "M74.775,58.953c1.261,1.2 1.896,2.695 1.87,4.5c0.009,2.094 -0.591,3.616 -1.87,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Closed", + "name": "Closed", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + }, + { + "cx": "73.65", + "cy": "58.953", + "fill": {}, + "id": "T1", + "name": "T1", + "r": "1.125", + "type": "circle" + }, + { + "cx": "73.65", + "cy": "67.953", + "fill": {}, + "id": "T2", + "name": "T2", + "r": "1.125", + "type": "circle" + }, + { + "d": "M78.435,58.953c1.262,1.2 1.897,2.695 1.871,4.5c0.008,2.094 -0.592,3.616 -1.871,4.5", + "fill": { + "paint": "transparent" + }, + "id": "Open", + "name": "Open", + "type": "path" + }, + { + "d": "M73.65,68.679l0,17.571", + "fill": { + "paint": "transparent" + }, + "id": "Output1", + "name": "Output1", + "stroke": { + "linecap": "butt", + "linejoin": "round", + "miterlimit": "1.5", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "CB", + "name": "CB", + "type": "group" + }, + { + "elements": [ + { + "d": "M48.75,50l0,-9.794", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M48.736,46.125c-0.621,0 -1.125,-0.504 -1.125,-1.125c0,-0.621 0.504,-1.125 1.125,-1.125c0.621,-0 1.125,0.504 1.125,1.125c0,0.621 -0.504,1.125 -1.125,1.125Z", + "name": "path", + "type": "path" + }, + { + "d": "M73.65,58.23l0,-13.23l-24.914,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Supply", + "name": "Supply", + "type": "group" + } + ], + "id": "Battery", + "name": "Battery", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "112.5", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "90", + "x": "0", + "y": "7.5" + }, + { + "d": "M90,7.5l0,112.5l-90,-0l0,-112.5l90,-0Zm-0.75,0.75l-88.5,0l0,111l88.5,-0l0,-111Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "d": "M90.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M89.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M94.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M89.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "89.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linejoin": "round", + "miterlimit": "1.5", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M88.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M91.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 98 120" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 83, + "x": 69, + "y": -18 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontSize": 15, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\t#pageId \u003d self.page.props.pageId\n\t#system.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/VFD-CHWP/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/VFD-CHWP/resource.json new file mode 100644 index 0000000..d35a924 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/VFD-CHWP/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5e1d6af6ea4787b8f35a98c0efe3359f93e33290194a4784557a7d336279dc66", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:14:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/VFD-CHWP/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/VFD-CHWP/thumbnail.png new file mode 100644 index 0000000..edabf1a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/VFD-CHWP/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/VFD-CHWP/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/VFD-CHWP/view.json new file mode 100644 index 0000000..a964aed --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Electrical/VFD-CHWP/view.json @@ -0,0 +1,946 @@ +{ + "custom": { + "alarmSeverity": -1, + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": { + "VFD": { + "InputPower": 0, + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD01" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "path": "view.params.VFD.tagPath" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.cables": { + "binding": { + "config": { + "path": "view.params.VFD.InputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.VFD": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.taxtHandler": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 255, + "width": 70 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 15, + "width": 73, + "x": 2.7481, + "y": 254.364 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.VFD.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontSize": 12, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.cables" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].text": { + "binding": { + "config": { + "path": "view.params.taxtHandler.CHWP2" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[0].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[6].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].text": { + "binding": { + "config": { + "path": "view.params.taxtHandler.VFD1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].text": { + "binding": { + "config": { + "path": "view.params.taxtHandler.VFD2" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].text": { + "binding": { + "config": { + "path": "view.params.taxtHandler.CHWP1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M16.574,151.875l-0,-73.125", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "cx": 16.574, + "cy": "157.5", + "fill": { + "opacity": 0 + }, + "name": "circle", + "r": "5.625", + "stroke": { + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M12.673,153.502l-6.229,5.897", + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M26.703,155.823l-6.301,5.832", + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "miter", + "miterlimit": "1", + "width": "0.75px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,19.0137,158.991)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "type": "text", + "x": "14.379px", + "y": "158.991px" + } + ], + "id": "Motor", + "name": "Motor", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "fill": { + "opacity": 0 + }, + "height": 67.5, + "name": "rect", + "style": { + "classes": "containers/HoverOver" + }, + "type": "rect", + "width": "37.5", + "x": "3.75", + "y": "11.25" + }, + { + "d": "M3.75,15.268l0,-4.018l4.464,0l0,0.75l-3.714,-0l0,3.268l-0.75,-0Zm10.714,-4.018l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm12.5,0l0,0.75l-8.928,0l-0,-0.75l8.928,0Zm6.25,0l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm8.036,4.018l-0.75,-0l0,-3.268l-3.714,0l-0,-0.75l4.464,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-4.464,7.232l-0,-0.75l3.714,0l0,-3.268l0.75,0l0,4.018l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-12.5,0l-0,-0.75l8.928,0l0,0.75l-8.928,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-4.018l0.75,0l-0,3.268l3.714,0l0,0.75l-4.464,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "fill": { + "opacity": "0" + }, + "height": "67.5", + "name": "rect", + "type": "rect", + "width": "37.5", + "x": "3.75", + "y": "123.75" + }, + { + "d": "M3.75,127.768l0,-4.018l4.464,0l0,0.75l-3.714,-0l0,3.268l-0.75,-0Zm10.714,-4.018l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm12.5,0l0,0.75l-8.928,0l-0,-0.75l8.928,0Zm6.25,0l0,0.75l-2.678,0l-0,-0.75l2.678,0Zm8.036,4.018l-0.75,-0l0,-3.268l-3.714,0l-0,-0.75l4.464,0l0,4.018Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm0,11.25l-0.75,-0l0,-8.036l0.75,0l0,8.036Zm0,5.625l-0.75,-0l0,-2.411l0.75,0l0,2.411Zm-4.464,7.232l-0,-0.75l3.714,0l0,-3.268l0.75,0l0,4.018l-4.464,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-12.5,0l-0,-0.75l8.928,0l0,0.75l-8.928,0Zm-6.25,0l-0,-0.75l2.678,0l0,0.75l-2.678,0Zm-8.036,-4.018l0.75,0l-0,3.268l3.714,0l0,0.75l-4.464,0l0,-4.018Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Zm0,-11.25l0.75,0l0,8.036l-0.75,-0l0,-8.036Zm0,-5.625l0.75,0l0,2.411l-0.75,-0l0,-2.411Z", + "name": "path", + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.405,0.01c-0.073,0 -0.136,-0.015 -0.189,-0.044c-0.052,-0.03 -0.092,-0.072 -0.12,-0.126c-0.028,-0.055 -0.042,-0.119 -0.042,-0.193c-0,-0.074 0.014,-0.138 0.042,-0.192c0.028,-0.054 0.068,-0.096 0.12,-0.125c0.053,-0.03 0.116,-0.045 0.189,-0.045c0.047,0 0.092,0.007 0.134,0.022c0.043,0.015 0.078,0.036 0.105,0.063l-0.042,0.102c-0.03,-0.025 -0.061,-0.044 -0.092,-0.055c-0.031,-0.012 -0.065,-0.018 -0.101,-0.018c-0.071,0 -0.126,0.022 -0.163,0.065c-0.037,0.043 -0.056,0.104 -0.056,0.183c0,0.079 0.019,0.141 0.056,0.184c0.037,0.043 0.092,0.065 0.163,0.065c0.036,0 0.07,-0.006 0.101,-0.017c0.031,-0.012 0.062,-0.031 0.092,-0.056l0.042,0.102c-0.027,0.027 -0.062,0.048 -0.105,0.063c-0.042,0.015 -0.087,0.022 -0.134,0.022Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,63.7053)", + "type": "group", + "visibility": "visible" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,45.4169,63.7053)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.077,-0l0,-0.705l0.128,0l0,0.294l0.363,-0l0,-0.294l0.128,0l0,0.705l-0.128,-0l0,-0.304l-0.363,0l-0,0.304l-0.128,-0Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,82.3466)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,47.1692,82.3466)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.271,-0l-0.249,-0.705l0.132,0l0.195,0.578l-0.04,0l0.204,-0.578l0.095,0l0.197,0.578l-0.035,0l0.198,-0.578l0.125,0l-0.251,0.705l-0.106,-0l-0.19,-0.542l0.023,0l-0.192,0.542l-0.106,-0Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,100.988)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,53.5073,100.988)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.077,-0l0,-0.705l0.306,0c0.052,0 0.096,0.009 0.132,0.026c0.036,0.017 0.063,0.042 0.082,0.075c0.019,0.033 0.028,0.072 0.028,0.119c0,0.046 -0.009,0.086 -0.028,0.119c-0.019,0.033 -0.046,0.058 -0.082,0.076c-0.036,0.017 -0.08,0.026 -0.132,0.026l-0.178,-0l0,0.264l-0.128,-0Zm0.128,-0.365l0.158,-0c0.045,-0 0.08,-0.01 0.103,-0.03c0.023,-0.021 0.035,-0.051 0.035,-0.09c0,-0.039 -0.012,-0.069 -0.035,-0.089c-0.023,-0.02 -0.058,-0.03 -0.103,-0.03l-0.158,-0l0,0.239Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,119.629)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,44.9136,119.629)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(0.654499,0,0,0.670554,6.47358,100.438)", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M0.303,-0l-0.314,-0.705l0.137,0l0.255,0.591l-0.043,-0l0.254,-0.591l0.132,0l-0.314,0.705l-0.107,-0Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,63.7053)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,46.0507,63.7053)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.077,-0l0,-0.705l0.461,0l0,0.102l-0.333,0l0,0.199l0.312,-0l0,0.102l-0.312,-0l0,0.302l-0.128,-0Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,82.3466)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,43.2359,82.3466)", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.077,-0l0,-0.705l0.262,0c0.079,0 0.145,0.014 0.2,0.041c0.055,0.027 0.097,0.067 0.126,0.12c0.029,0.052 0.044,0.116 0.044,0.191c-0,0.075 -0.015,0.139 -0.044,0.192c-0.029,0.053 -0.071,0.093 -0.126,0.12c-0.055,0.027 -0.121,0.041 -0.2,0.041l-0.262,-0Zm0.128,-0.106l0.126,-0c0.082,-0 0.143,-0.02 0.183,-0.061c0.041,-0.041 0.061,-0.103 0.061,-0.186c0,-0.083 -0.02,-0.144 -0.061,-0.185c-0.041,-0.041 -0.102,-0.061 -0.183,-0.061l-0.126,0l0,0.493Z", + "fill": { + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,32.7595,100.988)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(18.6413,0,0,18.6413,46.9642,100.988)", + "type": "group" + } + ], + "name": "group", + "transform": "matrix(0.654499,0,0,0.670554,-3.48581,-6.46789)", + "type": "group", + "visibility": "visible" + } + ], + "id": "Box", + "name": "Box", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,40.9489,10.2476)", + "type": "group", + "visibility": "visible" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "22.502px", + "y": "6.003px" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "22.502px", + "y": "10.248px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,30.8354,6.00335)", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,39.9683,123.033)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "type": "text", + "visibility": "hidden", + "x": "21.216px", + "y": "123.033px" + }, + { + "type": "group" + } + ], + "id": "TagID", + "name": "TagID", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "75", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "45", + "x": "-0", + "y": "7.5" + }, + { + "d": "M45,7.5l-0,75l-45,-0l-0,-75l45,0Zm-0.75,0.75l-43.5,0c0,7.782 0,73.5 0,73.5l43.5,-0l-0,-73.5Z", + "fill": { + "paint": "#f00" + }, + "name": "path", + "type": "path" + }, + { + "d": "M45.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "round", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M44.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "round", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M49.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "round", + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "44.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "linecap": "round", + "linejoin": "round", + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M43.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M46.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group", + "visibility": "hidden" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 53 192" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmBorder" + }, + "position": { + "height": 98, + "width": 57, + "x": 1.76, + "y": 10.26 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"solid\"\n\telse:\n\t\treturn \"none\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineWidth": "3" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 15, + "width": 15, + "x": 50.75, + "y": 2 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "ack": false + }, + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.VFD.tagPath\n\tobjectName \u003d self.view.params.VFD.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAC/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAC/resource.json new file mode 100644 index 0000000..5f75604 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAC/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ba1230f4584b231b30fd2c7fea774dd1f88a5c1c405384ceb53c774f91187a34", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:14:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAC/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAC/thumbnail.png new file mode 100644 index 0000000..f7bd000 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAC/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAC/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAC/view.json new file mode 100644 index 0000000..d66f385 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAC/view.json @@ -0,0 +1,482 @@ +{ + "custom": { + "Alarm": false, + "AlarmSeverity": 2, + "Running": 0, + "Status": 0 + }, + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1" + }, + "propConfig": { + "custom.Alarm": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "code": "\tif(value\u003e2):\n\t\tvalue \u003d True\n\telse:\n\t\tvalue \u003d False\n\treturn value", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Status" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "expression": "if({view.custom.Alarm}, 2, {view.custom.Running})" + }, + "type": "expr" + }, + "persistent": true + }, + "params.TagPosition": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 70, + "width": 120 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 70, + "width": 120 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.TagPosition" + }, + "transforms": [ + { + "fallback": "top", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "bottom" + }, + { + "input": true, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Container" + }, + "position": { + "height": 41, + "width": 92, + "x": 10, + "y": 13.5 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var01" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 01" + }, + "position": { + "height": 23, + "width": 44, + "x": 60, + "y": 15 + }, + "props": { + "text": "SAT °F", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var02" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 30 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 02" + }, + "position": { + "height": 23, + "width": 44, + "x": 60, + "y": 30 + }, + "props": { + "text": "RAT °F", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Box" + }, + "position": { + "height": 50, + "width": 102, + "x": 5, + "y": 9.5 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineWidth": 3 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 21, + "width": 21, + "x": 97.99, + "y": -1.01 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAH/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAH/resource.json new file mode 100644 index 0000000..0a44e78 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAH/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c5ff37b8356e5b1c0543c635aaa5d23722e093f2f3938c6019e86032d98d0932", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:14:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAH/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAH/thumbnail.png new file mode 100644 index 0000000..519ce00 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAH/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAH/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAH/view.json new file mode 100644 index 0000000..7ce569f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_CRAH/view.json @@ -0,0 +1,568 @@ +{ + "custom": { + "Alarm": false, + "AlarmSeverity": null, + "AvgSF": null, + "Running": false, + "SF1": null, + "SF2": null, + "SF3": null, + "Status": 0 + }, + "params": { + "TagPosition": true, + "objectName": "CRAH", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1263/SATB1_IDF1263_CRAH_01" + }, + "propConfig": { + "custom.Alarm": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.AvgSF": { + "binding": { + "config": { + "struct": { + "sf1": "{view.custom.SF1}", + "sf2": "{view.custom.SF2}", + "sf3": "{view.custom.SF3}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "({value}[\u0027sf1\u0027] + {value}[\u0027sf2\u0027] +{value}[\u0027sf3\u0027])/3", + "type": "expression" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.Running": { + "binding": { + "config": { + "struct": { + "fanSpeed_1": "tag({view.params.tagPath}+\u0027/Fan Speed 1\u0027)", + "fanSpeed_2": "tag({view.params.tagPath}+\u0027/Fan Speed 2\u0027)", + "fanSpeed_3": "tag({view.params.tagPath}+\u0027/Fan Speed 3\u0027)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif (value[\u0027fanSpeed_1\u0027] \u003e 0)or(value[\u0027fanSpeed_2\u0027] \u003e 0)or(value[\u0027fanSpeed_3\u0027] \u003e 0):\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.SF1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Speed 1" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.SF2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Speed 2" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.SF3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Speed 3" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "expression": "if({view.custom.Alarm}, 2, if({view.custom.Running},1,0))" + }, + "type": "expr" + }, + "persistent": true + }, + "params.TagPosition": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 70, + "width": 120 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 70, + "width": 120 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.TagPosition" + }, + "transforms": [ + { + "fallback": "top", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "bottom" + }, + { + "input": true, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Container" + }, + "position": { + "height": 41, + "width": 92, + "x": 10, + "y": 13.5 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#4F4F4F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var01" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 01" + }, + "position": { + "height": 23, + "width": 44, + "x": 60, + "y": 15 + }, + "props": { + "text": "RA °F", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "contextMenu": { + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "menu-item", + "type": "link" + } + ] + }, + "name": "Var02" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 30 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.AvgSF" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 02" + }, + "position": { + "height": 23, + "width": 44, + "x": 60, + "y": 30 + }, + "props": { + "text": "SF %", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Box" + }, + "position": { + "height": 50, + "width": 102, + "x": 5, + "y": 9.5 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineWidth": 3 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 21, + "width": 21, + "x": 97.99, + "y": -1.01 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_DOAS_Status/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_DOAS_Status/resource.json new file mode 100644 index 0000000..3231995 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_DOAS_Status/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "892392f5dff6fb3b0f1a60f919e5bad90030e1167dbf1a458898637fc3e48d06", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_DOAS_Status/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_DOAS_Status/thumbnail.png new file mode 100644 index 0000000..3045e0b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_DOAS_Status/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_DOAS_Status/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_DOAS_Status/view.json new file mode 100644 index 0000000..1c6d5aa --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_DOAS_Status/view.json @@ -0,0 +1,322 @@ +{ + "custom": { + "Running": 1, + "Status": 1, + "alarm": 0, + "tag": "DOAS" + }, + "params": { + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + "propConfig": { + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Status" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "expression": "if({view.custom.alarm}, 2, if({view.custom.Running},1,0))" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.alarm": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\talarmValue \u003d alarm.summary.calcMaxPriority(self.view.params.tagPath)\n\treturn True if alarmValue \u003e 0 else False", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 90 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.tag" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "Red", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "visible", + "padding": "2px" + }, + "textStyle": { + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##.##", + "type": "format" + }, + { + "expression": "{value} + \" degF\"", + "type": "expression" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "Red", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "overflow": "visible", + "padding": "2px" + }, + "text": "64.8 degF", + "textStyle": { + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + } + ], + "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": "root" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "marginLeft": 2, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_FCU/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_FCU/resource.json new file mode 100644 index 0000000..5aa953e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_FCU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "bd0b36a34a37bb93bd8ff487889a6e637b1fb0d96933c49e052ab8da26c38989", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:27:57Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_FCU/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_FCU/thumbnail.png new file mode 100644 index 0000000..4a0804b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_FCU/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_FCU/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_FCU/view.json new file mode 100644 index 0000000..26ddb84 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_FCU/view.json @@ -0,0 +1,311 @@ +{ + "custom": {}, + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1128/SATB1_HS2_EL1128_FCU16" + }, + "propConfig": { + "params.TagPosition": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 70, + "width": 120 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 70, + "width": 120 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.TagPosition" + }, + "transforms": [ + { + "fallback": "top", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "bottom" + }, + { + "input": true, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "FCU", + "textStyle": { + "color": "var(--text-muted)", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Container" + }, + "position": { + "height": 41, + "width": 92, + "x": 10, + "y": 13.5 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Current Error Code" + }, + "transforms": [ + { + "code": "\tif value \u003e0:\n\t\treturn \"var(--state-faulted)\"\n\telse:\n\t\treturn \"var(--state-standby)\"", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var01" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Space Temperature" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 72.5, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 01" + }, + "position": { + "height": 23, + "width": 44, + "x": 60, + "y": 15 + }, + "props": { + "text": "degF", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var02" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 30 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Controls/System Mode" + }, + "enabled": false, + "transforms": [ + { + "fallback": "error", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Cool" + }, + { + "input": 2, + "output": "Heat" + }, + { + "input": 3, + "output": "Fan" + }, + { + "input": 4, + "output": "Auto" + }, + { + "input": 5, + "output": "Dry" + }, + { + "input": 0, + "output": "Off" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Cool", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 02" + }, + "position": { + "height": 23, + "width": 44, + "x": 60, + "y": 30 + }, + "props": { + "text": "Mode", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Box" + }, + "position": { + "height": 50, + "width": 102, + "x": 5, + "y": 9.5 + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_HUM/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_HUM/resource.json new file mode 100644 index 0000000..81f1580 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_HUM/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3f4c021f9451fc7fc048691684fffac55a7033c21dae4fc093a99de15ec82d56", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T00:38:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_HUM/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_HUM/thumbnail.png new file mode 100644 index 0000000..8c48a5e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_HUM/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_HUM/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_HUM/view.json new file mode 100644 index 0000000..962276f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_HUM/view.json @@ -0,0 +1,431 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Faulted": false, + "Running": 1, + "Status": 1 + }, + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1262/SATB1_GAL1262_HUM_01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "enabled": false, + "transforms": [ + { + "expression": "{value}[\u0027Alarms\u0027][\u0027Alarm Critical\u0027] ||\r\n{value}[\u0027Alarms\u0027][\u0027Danger\u0027] ||\r\n{value}[\u0027Alarms\u0027][\u0027Low\u0027] ||\r\n{value}[\u0027Alarms\u0027][\u0027Warning\u0027]", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Unit Status" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "struct": { + "fault": "{view.custom.Faulted}", + "run": "{view.custom.Running}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d 0\n\tif value[\"fault\"]:\n\t\toutput \u003d 2\n\telse:\n\t\tif value[\"run\"]:\n\t\t\toutput \u003d 1\n\t\telse:\n\t\t\toutput \u003d 0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.TagPosition": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 70, + "width": 120 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 74, + "width": 110, + "x": 10 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.TagPosition" + }, + "transforms": [ + { + "fallback": "top", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "bottom" + }, + { + "input": true, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "HUM 01", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Container" + }, + "position": { + "height": 41, + "width": 92, + "x": 10, + "y": 17 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var01" + }, + "position": { + "height": 23, + "width": 44, + "x": 17, + "y": 25 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Relative Humidity Setpoint" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 20.4, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "fontWeight": "bold", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 01" + }, + "position": { + "height": 23, + "width": 33, + "x": 68, + "y": 25 + }, + "props": { + "text": "%", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Box" + }, + "position": { + "height": 50, + "width": 102, + "x": 5, + "y": 9.5 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineWidth": 3 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 21, + "width": 21, + "x": 97.99, + "y": -1.01 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_LD/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_LD/resource.json new file mode 100644 index 0000000..da9b4c7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_LD/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "39654e9e0565a2ae8614c23329b538704219990d2e8832589b205162fac838ed", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T20:38:50Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_LD/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_LD/thumbnail.png new file mode 100644 index 0000000..e66ff22 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_LD/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_LD/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_LD/view.json new file mode 100644 index 0000000..08e31f4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_LD/view.json @@ -0,0 +1,530 @@ +{ + "custom": { + "AlarmSeverity": 0, + "AlarmSeverity_Info": 0, + "Status": false, + "Status_Info": "value" + }, + "params": { + "TagPosition": false, + "layout": 1, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_DH1_LD1_CTRL" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.AlarmSeverity_Info": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath_Info": "{view.params.tagPath_Info}" + }, + "tagPath": "{tagPath_Info}" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "struct": { + "as1": "{view.custom.AlarmSeverity}", + "as2": "{view.custom.AlarmSeverity_Info}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027as1\u0027] \u003e 0 or value[\u0027as2\u0027] \u003e 0:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.Status_Info": { + "persistent": true + }, + "params.TagPosition": { + "paramDirection": "input", + "persistent": true + }, + "params.layout": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName_Info": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath_Info": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 83, + "width": 76 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 72 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.TagPosition" + }, + "transforms": [ + { + "fallback": "top", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "bottom" + }, + { + "input": true, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "LD", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Container" + }, + "position": { + "height": 68, + "width": 72, + "y": 14 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "var(--state-standby)", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--state-standby)" + }, + { + "input": true, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "var(--olGray)", + "borderStyle": "solid", + "borderWidth": 1.5 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var01" + }, + "position": { + "height": 32, + "width": 70, + "y": 17 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Alarm Target Disagree" + }, + "enabled": false, + "transforms": [ + { + "fallback": "error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No Leak Detected" + }, + { + "input": true, + "output": "Leak Detected" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "No Leak Detected", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Box" + }, + "position": { + "height": 32, + "width": 67, + "x": 1, + "y": 16 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineWidth": 3 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 21, + "width": 20.36, + "x": 61.9970703125, + "y": 3.4990234375 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Container_0" + }, + "position": { + "height": 22, + "width": 62, + "x": 5, + "y": 54 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity_Info" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"var(--state-faulted)\"\n\telse:\n\t\treturn \"var(--state-standby)\"", + "type": "script" + } + ], + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity_Info" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"White\"\n\telse:\n\t\treturn \"Gray\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderColor": "var(--olGray)", + "borderStyle": "solid", + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "borderWidth": 1.5 + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath_Info\n\tobjectName \u003d self.view.params.objectName_Info\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label_0" + }, + "position": { + "height": 20, + "width": 58.36, + "x": 5, + "y": 55.29 + }, + "propConfig": { + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity_Info" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"white\"\n\telse:\n\t\treturn \"darkgrey\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Info", + "textStyle": { + "classes": "containers/HoverOver", + "color": "black", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 0, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_LR/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_LR/resource.json new file mode 100644 index 0000000..a3a86dc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_LR/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json" + ], + "attributes": { + "lastModificationSignature": "5cea5ce096a5b89526656822cb6f086386e6969be61d107f65613beac206f8fd", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:00:49Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_LR/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_LR/view.json new file mode 100644 index 0000000..5f7fad3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_LR/view.json @@ -0,0 +1,118 @@ +{ + "custom": {}, + "params": { + "NS": true, + "leak": 38, + "stops": [ + 10, + 15, + 20, + 25, + 30, + 35, + 40, + 45, + 50, + 60 + ] + }, + "propConfig": { + "params.NS": { + "paramDirection": "input", + "persistent": true + }, + "params.leak": { + "paramDirection": "input", + "persistent": true + }, + "params.stops": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 15 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "35%", + "grow": 1 + }, + "props": { + "textStyle": { + "borderStyle": "dashed" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "65%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundImage": { + "binding": { + "config": { + "path": "view.params.leak" + }, + "transforms": [ + { + "code": "\tstops \u003d self.view.params.stops\n # Colors\n\tnoleak \u003d \"rgba(0,0,0,0)\"\n\tleak \u003d \"rgba(255,0,0,0.75)\"\n\t# start the gradient\n\tgradient_parts \u003d []\n\t# iterate thourgh the stops\n\tfor i in range(len(stops) - 1):\n\t\tstart \u003d stops[i]\n\t\tend \u003d stops[i+1]\n\t\t# Set the segment color\n\t\tcolor \u003d leak if start \u003c\u003d value \u003c\u003d end else noleak\n\t\tgradient_parts.append(\"{color}\".format(color\u003dcolor))\n\t\n\t# get all the element together\n\treturn \"linear-gradient(to right, \" + \", \".join(gradient_parts) + \")\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "\n" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "props.direction": { + "binding": { + "config": { + "path": "view.params.NS" + }, + "transforms": [ + { + "fallback": "column", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "column" + }, + { + "input": false, + "output": "column-reverse" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_RTU_Status/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_RTU_Status/resource.json new file mode 100644 index 0000000..9790849 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_RTU_Status/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "57f3e1d0de1a60fcf5ceaf2049aa60bf4e2ee86b1de24f2990d2e4c252023653", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_RTU_Status/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_RTU_Status/thumbnail.png new file mode 100644 index 0000000..62663ec Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_RTU_Status/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_RTU_Status/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_RTU_Status/view.json new file mode 100644 index 0000000..b4be4b6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_RTU_Status/view.json @@ -0,0 +1,323 @@ +{ + "custom": { + "Running": 1, + "Status": 1, + "alarm": 0, + "tag": "RTU" + }, + "params": { + "objectName": "RTU", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + "propConfig": { + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control Status" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "expression": "if({view.custom.alarm}, 2, if({view.custom.Running},1,0))" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.alarm": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/General Alarm" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 90 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "Red", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "visible", + "padding": "2px" + }, + "text": "RTU", + "textStyle": { + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##.##", + "type": "format" + }, + { + "expression": "{value} + \" degF\"", + "type": "expression" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "Red", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "overflow": "visible", + "padding": "2px" + }, + "text": "58.3 degF", + "textStyle": { + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + } + ], + "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": "root" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "marginLeft": 2, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_STU/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_STU/resource.json new file mode 100644 index 0000000..f15e087 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_STU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "05ca29a25fc8cc9045f6d6be1ae8208411f622c9515995ba0411de435ddf9527", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:22:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_STU/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_STU/thumbnail.png new file mode 100644 index 0000000..a111719 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_STU/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_STU/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_STU/view.json new file mode 100644 index 0000000..89f89e2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/HVAC/Sym_STU/view.json @@ -0,0 +1,615 @@ +{ + "custom": { + "Alarm": 0, + "AlarmSeverity": 0, + "Running": 1, + "Status": 1 + }, + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU01" + }, + "propConfig": { + "custom.Alarm": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Alarm" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "expression": "if({view.custom.Alarm}, 2, {view.custom.Running})" + }, + "type": "expr" + }, + "persistent": true + }, + "params.TagPosition": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 70, + "width": 120 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 80, + "width": 112, + "x": 8, + "y": -6 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.TagPosition" + }, + "transforms": [ + { + "fallback": "top", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "bottom" + }, + { + "input": true, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "STU01", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Container" + }, + "position": { + "height": 41, + "width": 105, + "x": 10, + "y": 13.5 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "var(--olGray)", + "borderStyle": "solid", + "borderWidth": 1.5 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var01" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 68.1, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 01" + }, + "position": { + "height": 23, + "width": 44, + "x": 56, + "y": 15 + }, + "propConfig": { + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--darkbluegray)" + }, + { + "input": 1, + "output": "var(--darkbluegray)" + }, + { + "input": 2, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "RA °F", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Var02" + }, + "position": { + "height": 23, + "width": 44, + "x": 20, + "y": 30 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Fan Speed Feedback" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 21, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU 02" + }, + "position": { + "height": 23, + "width": 44, + "x": 56, + "y": 30 + }, + "propConfig": { + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--darkbluegray)" + }, + { + "input": 1, + "output": "var(--darkbluegray)" + }, + { + "input": 2, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "SF %", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 17, + "width": 20, + "x": 92, + "y": 34 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode CMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 2 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Mode": 1 + }, + "path": "Library/Widgets/ModeBadgeSmall" + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Box" + }, + "position": { + "height": 50, + "width": 112, + "x": 5, + "y": 9.5 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineWidth": 3 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 21, + "width": 21, + "x": 107.486, + "y": -3.00826 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/ASP/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/ASP/resource.json new file mode 100644 index 0000000..0fa1d05 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/ASP/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5a89e885abaec32468d21edaecb4fb732463e815a43d28e744acc23b07b6c90b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:31:43Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/ASP/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/ASP/thumbnail.png new file mode 100644 index 0000000..4168127 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/ASP/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/ASP/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/ASP/view.json new file mode 100644 index 0000000..72e7d63 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/ASP/view.json @@ -0,0 +1,316 @@ +{ + "custom": {}, + "params": { + "Name": "value" + }, + "propConfig": { + "params.Name": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 70, + "width": 70 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "ASP" + }, + "position": { + "height": 70, + "width": 70 + }, + "propConfig": { + "props.elements[1].text": { + "binding": { + "config": { + "path": "view.params.Name" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "name": "group", + "transform": "matrix(8.37628,0,0,8.37628,37.7086,16.5982)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "8.376px" + }, + "type": "text", + "x": "8.842px", + "y": "16.598px" + }, + { + "name": "group", + "transform": "matrix(8.37628,0,0,8.37628,38.0521,48.7459)", + "type": "group" + }, + { + "fill": { + "paint": "#1a32e6" + }, + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "8.376px" + }, + "text": "Running", + "type": "text", + "x": "6.85px", + "y": "48.746px" + }, + { + "elements": [ + { + "d": "M33.75,30c-0,-6.209 -5.041,-11.25 -11.25,-11.25c-6.209,-0 -11.25,5.041 -11.25,11.25c-0,6.209 5.041,11.25 11.25,11.25c6.209,-0 11.25,-5.041 11.25,-11.25Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M33.75,30l-16.5,-9.75l0,19.5l16.5,-9.75Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Motor", + "name": "Motor", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "45", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "45", + "x": "0", + "y": "7.5" + }, + { + "d": "M45,7.5l0,45l-45,-0l0,-45l45,0Zm-1.667,1.667l-41.666,-0l-0,41.666l41.666,0l0,-41.666Z", + "fill": { + "paint": "#f00" + }, + "name": "path", + "type": "path" + }, + { + "d": "M45.358,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.663,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M44.355,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.626,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M49.807,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M44.626,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "44.998", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M43.212,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M46.097,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "AlarmItems", + "name": "AlarmItems", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 53 53" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/CHW Pump/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/CHW Pump/resource.json new file mode 100644 index 0000000..bc81b52 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/CHW Pump/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0e408ce4066225c3757f1e6c6e072f33a7af8f1d9bda216c53c250ca37187e25", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/CHW Pump/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/CHW Pump/thumbnail.png new file mode 100644 index 0000000..41d364a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/CHW Pump/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/CHW Pump/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/CHW Pump/view.json new file mode 100644 index 0000000..60aceb8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/CHW Pump/view.json @@ -0,0 +1,746 @@ +{ + "custom": { + "AlarmSeverity": -1, + "Layout": false, + "STS_Alarm": null, + "STS_Running": null + }, + "params": { + "objectName": "VSD", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD03" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Layout": { + "persistent": true + }, + "custom.STS_Alarm": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/ALARM" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.STS_Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Sts_Running" + }, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 80, + "width": 115 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "CHW Pump VFD" + }, + "position": { + "height": 0.625, + "rotate": {}, + "width": 0.4348, + "x": 0.0136, + "y": 0.1309 + }, + "propConfig": { + "custom.colorHandler.pump": { + "binding": { + "config": { + "expression": " if({view.custom.STS_Alarm},2,if({view.custom.STS_Running},1,0))" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "position.rotate.angle": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "transforms": [ + { + "fallback": "0deg", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "0deg" + }, + { + "input": true, + "output": "270deg" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.pump" + }, + "type": "property" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e0, \"solid\", \"none\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "cx": "11.625", + "cy": "11.625", + "fill": {}, + "name": "circle", + "r": "11.25", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M11.625,22.875l9.75,-16.5l-19.5,0l9.75,16.5Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Pump", + "name": "Pump", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": "2" + }, + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "height": 0.2, + "y": 0.7829 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "type": "property" + } + }, + "position.width": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.width" + }, + "type": "property" + } + }, + "position.x": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.x" + }, + "type": "property" + } + } + }, + "props": { + "text": "Running", + "textStyle": { + "color": "#0600FF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Tag02" + }, + "position": { + "basis": "34%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Load" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val_SpdFdbk" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "#0600FF", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "%", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "33%", + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "width": 0.513, + "x": 0.467 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "position.height": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.height" + }, + "type": "property" + } + }, + "position.y": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.y" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Tag01" + }, + "position": { + "height": 0.2, + "y": -0.0316 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "type": "property" + } + }, + "position.width": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.width" + }, + "type": "property" + } + }, + "position.x": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.x" + }, + "type": "property" + } + } + }, + "props": { + "text": "ASP01", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 0.25, + "width": 0.1739, + "x": 0.3652 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 3, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 3, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 2, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 1, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 4, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 4, \"visible\", \"hidden\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/HarmonicFilter/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/HarmonicFilter/resource.json new file mode 100644 index 0000000..1473a8b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/HarmonicFilter/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "568877418a6b25927a9c83803f6d629f205c309689624399c7b27063b68c2ce3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:31:43Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/HarmonicFilter/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/HarmonicFilter/thumbnail.png new file mode 100644 index 0000000..5f15848 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/HarmonicFilter/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/HarmonicFilter/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/HarmonicFilter/view.json new file mode 100644 index 0000000..c8bb850 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/HarmonicFilter/view.json @@ -0,0 +1,330 @@ +{ + "custom": { + "AlarmSeverity": 2, + "color": "Red" + }, + "params": { + "objectName": "VSD", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_HF" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.color": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"Red\"\n\treturn \"Black\"", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 66, + "width": 48 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "1652620303816" + }, + "position": { + "height": 1, + "rotate": { + "anchor": "50% 37%" + }, + "width": 1 + }, + "propConfig": { + "props.elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + }, + "props.elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.color" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "fill": { + "paint": "transparent" + }, + "height": "820.258", + "name": "rect", + "stroke": { + "width": "41.67px" + }, + "type": "rect", + "width": "820.258", + "x": "20.833", + "y": "20.833" + }, + { + "d": "M20.833,841.092l820.259,-820.259", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M480.421,629.619l275.556,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M480.421,738.987l275.556,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M226.688,1102.86l150.876,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M480.421,1102.86l150.876,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M631.297,841.092l0,261.765", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M226.688,841.092l-0,261.765", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M377.564,971.974l0,261.765", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M480.421,971.974l-0,261.765", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + }, + { + "d": "M108.413,180.726c30.798,-34.424 58.294,-68.741 88.196,-68.741c26.385,0 50.08,30.832 88.196,68.741c36.864,36.666 59.888,63.842 88.195,63.842c28.308,-0 57.398,-32.539 88.196,-63.842", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "41.67px" + }, + "type": "path" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 862 1255" + }, + "type": "ia.shapes.svg" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHWPump/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHWPump/resource.json new file mode 100644 index 0000000..8da4eb3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHWPump/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ea49b9001df44e609dbf4271f99279faae628b5a69ed029969fb979db33acee8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T01:20:44Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHWPump/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHWPump/thumbnail.png new file mode 100644 index 0000000..9a96b44 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHWPump/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHWPump/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHWPump/view.json new file mode 100644 index 0000000..40cca76 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHWPump/view.json @@ -0,0 +1,871 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Layout": false, + "Mode": 1, + "STS_Alarm": false, + "STS_Running": 1 + }, + "params": { + "objectName": "VSD", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD13" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Layout": { + "persistent": true + }, + "custom.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 2 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.STS_Alarm": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "enabled": false, + "transforms": [ + { + "expression": "if({value}\u003e0, True, False)", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.STS_Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 62, + "width": 106 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "height": 0.2581, + "y": 1.0102 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "type": "property" + } + }, + "position.width": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.width" + }, + "type": "property" + } + }, + "position.x": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.x" + }, + "type": "property" + } + } + }, + "props": { + "text": "Running", + "textStyle": { + "color": "#0600FF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Tag02" + }, + "position": { + "basis": "34%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "VFD", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Load" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Speed Feedback Percent" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 45, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "basis": "31.1%" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "33%", + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "width": 0.5318, + "x": 0.4683 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "position.height": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.height" + }, + "type": "property" + } + }, + "position.y": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.y" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Tag01" + }, + "position": { + "height": 0.2581, + "y": -0.0408 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "type": "property" + } + }, + "position.width": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.width" + }, + "type": "property" + } + }, + "position.x": { + "binding": { + "config": { + "path": "../CHW Pump VFD.position.x" + }, + "type": "property" + } + } + }, + "props": { + "text": "ASP01", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ModeBadge" + }, + "position": { + "height": 0.2742, + "width": 0.1656, + "x": 0.0174, + "y": 0.6613 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Mode" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": true + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Mode": { + "binding": { + "config": { + "path": "view.custom.Mode" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Widgets/ModeBadgeSmall", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "colorHandler": {} + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\t\n\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CHW Pump VFD" + }, + "position": { + "height": 0.5484, + "rotate": {}, + "width": 0.3313, + "x": 0.1095, + "y": 0.1689 + }, + "propConfig": { + "custom.colorHandler.pump": { + "binding": { + "config": { + "expression": " if({view.custom.STS_Alarm},2,if({view.custom.STS_Running},1,0))" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "position.rotate.angle": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "transforms": [ + { + "fallback": "0deg", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "0deg" + }, + { + "input": true, + "output": "270deg" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.pump" + }, + "type": "property" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e0, \"solid\", \"none\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "cx": "11.625", + "cy": "11.625", + "fill": {}, + "name": "circle", + "r": "11.25", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M11.825000002980232 28.675000101327896l9.75-16.5-19.5 0 9.75 16.5Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "transform": "matrix(1 0 0 -1 0 29.25)", + "type": "path" + } + ], + "id": "Pump", + "name": "Pump", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": 2 + }, + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 0.3226, + "width": 0.1744, + "x": 0.3574 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 3, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 3, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 2, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 1, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 4, \"visible\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003d 4, \"visible\", \"hidden\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHW_System_Status/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHW_System_Status/resource.json new file mode 100644 index 0000000..7cc9430 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHW_System_Status/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c84516be523fec4d0587cd90635af5a44d3399b9f001587262b0585389769e63", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T15:12:56Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHW_System_Status/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHW_System_Status/thumbnail.png new file mode 100644 index 0000000..0a8a695 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHW_System_Status/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHW_System_Status/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHW_System_Status/view.json new file mode 100644 index 0000000..2f58278 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_CHW_System_Status/view.json @@ -0,0 +1,485 @@ +{ + "custom": { + "Alarm": false, + "AlarmSevery": 0, + "ModeSts": 5, + "RunStatus": 1, + "Status": 1, + "Tag": "CH01", + "available": 1, + "priority": 0 + }, + "params": { + "CH": "01", + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_SYSTEM", + "objectName": "ChillerSystem" + }, + "propConfig": { + "custom.Alarm": { + "binding": { + "config": { + "path": "view.custom.AlarmSevery" + }, + "enabled": false, + "transforms": [ + { + "expression": "if({value}\u003e0, True, False)", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.AlarmSevery": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "SYS_tagPath": "{view.params.SYS_tagPath}" + }, + "tagPath": "{SYS_tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 4\n\treturn alarm.summary.calcMaxPriority(self.params.SYS_tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.ModeSts": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "SYS_tagPath": "{view.params.SYS_tagPath}" + }, + "tagPath": "{SYS_tagPath}/Control/MODE" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 5\n\treturn value", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.RunStatus": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "MTR_tagPath": "{view.params.MTR_tagPath}" + }, + "tagPath": "{MTR_tagPath}/Status Running" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + }, + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "struct": { + "alarm": "{view.custom.Alarm}", + "mode": "{view.custom.ModeSts}", + "running": "{view.custom.RunStatus}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027alarm\u0027]:\n\t\treturn 2\n\telif value[\u0027mode\u0027] \u003d\u003d False:\n\t\treturn 3\n\telse:\n\t\treturn value[\u0027running\u0027]", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.Tag": { + "binding": { + "config": { + "expression": "\"CH\" + {view.params.CH}" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.available": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "SYS_tagPath": "{view.params.SYS_tagPath}" + }, + "tagPath": "{SYS_tagPath}/Chiller System Available" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.priority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "LLS_tagPath": "{view.params.LLS_tagPath}", + "index": "tostr(toint(right({view.custom.Tag},2))-1)" + }, + "tagPath": "{LLS_tagPath}[{index}]" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.CH": { + "paramDirection": "input", + "persistent": true + }, + "params.LLS_tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.MTR_tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.SYS_tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 65, + "width": 50 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 65, + "width": 50 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "{view.custom.Status}" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + }, + { + "input": 3, + "output": "#9C6427" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "left({view.custom.Tag},4)\r\n" + }, + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "{view.custom.Status}" + }, + "transforms": [ + { + "fallback": "yellow", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "black" + }, + { + "input": 1, + "output": "black" + }, + { + "input": 2, + "output": "white" + }, + { + "input": 3, + "output": "white" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "outlineColor": "#000000", + "outlineStyle": "none", + "outlineWidth": "1", + "paddingLeft": 2 + }, + "textStyle": { + "fontSize": 12, + "textAlign": "Left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 28, + "width": 42.98, + "x": 4.07, + "y": 12.72 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "modeSts": "{view.custom.ModeSts}", + "priority": "{view.custom.priority}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value[\u0027modeSts\u0027] \u003d\u003d 5:\n\t\treturn \"No Comms\"\n \tif value[\u0027modeSts\u0027]\u003d\u003d0:\n \t\ttext\u003d\u0027Manual\u0027\n \telse:\n \t\tif value[\u0027priority\u0027]\u003d\u003d0:\n \t\t\tPriority \u003d \u0027OOS\u0027\n \t\telse:\n \t\t\tPriority \u003d str(value[\u0027priority\u0027])\n \t\ttext\u003d\u0027Auto \u0027+ Priority\n \treturn text\n \t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "{view.custom.Status}" + }, + "transforms": [ + { + "fallback": "yellow", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "black" + }, + { + "input": 1, + "output": "black" + }, + { + "input": 2, + "output": "white" + }, + { + "input": 3, + "output": "white" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "text": "Auto 2", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "320px", + "height": 20, + "width": 20, + "x": 4, + "y": 42 + }, + "props": { + "path": "Library/Framework/Frwk_Badge_XS", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 20, + "width": 20, + "x": 26, + "y": 42 + }, + "props": { + "params": { + "Mode": 1, + "Options": [ + "R", + "L" + ] + }, + "path": "Library/Framework/Frwk_Badge_XS", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "CoordinateContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "boxShawdow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.SYS_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": "root" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": "var(--borderRadiusInput)", + "borderBottomRightRadius": "var(--borderRadiusInput)", + "borderTopLeftRadius": "var(--borderRadiusInput)", + "borderTopRightRadius": "var(--borderRadiusInput)", + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_Chiller/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_Chiller/resource.json new file mode 100644 index 0000000..6e958fb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_Chiller/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "82040cdc0ed0442dee5c120eee245d55639f51744d4a0e77f519a93b45bf09a6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T01:02:17Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_Chiller/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_Chiller/thumbnail.png new file mode 100644 index 0000000..170bf42 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_Chiller/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_Chiller/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_Chiller/view.json new file mode 100644 index 0000000..5173ae0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_Chiller/view.json @@ -0,0 +1,1291 @@ +{ + "custom": { + "Alarm": 0, + "RunningSts": 1, + "alarmSeverity": 0 + }, + "params": { + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_MOTOR" + }, + "propConfig": { + "custom.Alarm": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Alarm Summary" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.RunningSts": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 150, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmBorder" + }, + "position": { + "height": 0.8333, + "width": 0.91, + "x": 0.005, + "y": 0.1259 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn \"solid\"\n\telse:\n\t\treturn \"none\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "outlineWidth": "3" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "colorHandler": { + "lines": "var(--text-muted)" + } + }, + "meta": { + "name": "Chiller" + }, + "position": { + "height": 0.98, + "width": 0.97, + "x": 0.02, + "y": -0.0001 + }, + "propConfig": { + "custom.colorHandler.status": { + "binding": { + "config": { + "expression": "if({view.custom.Alarm}, \"var(--state-faulted)\",if({view.custom.RunningSts},\"var(--state-running)\",\"var(--state-standby)\"))" + }, + "type": "expr" + } + }, + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "visible" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.alarmSeverity" + }, + "transforms": [ + { + "fallback": "hidden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.status" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.status" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.status" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.status" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M100.525,0.648l6.489,6.489c0.199,0.199 0.199,0.522 -0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M99.83,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l-0,-1.105l1.305,0l-0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M99.522,1.849c0.134,-0.227 0.378,-0.367 0.642,-0.367c0.265,-0 0.509,0.14 0.643,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.135,0.231 0.137,0.516 0.004,0.748c-0.133,0.232 -0.379,0.375 -0.647,0.375l-12.39,0c-0.267,0 -0.514,-0.143 -0.647,-0.375c-0.132,-0.232 -0.131,-0.517 0.005,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M99.793,9.942l-0.39,-4.988l1.522,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l-0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M104.973,1.181l0,12.633c0,0.265 -0.215,0.481 -0.481,0.481l-8.656,-0c-0.265,-0 -0.481,-0.216 -0.481,-0.481l0,-12.633c0,-0.265 0.216,-0.48 0.481,-0.48l8.656,-0c0.266,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M99.793,9.042l-0.39,-5.001l1.522,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l-0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "100.164", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M98.379,9.232l-0.39,-5.617l1.522,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l-0,-1.31l1.448,-0l0,1.31l-1.448,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M101.264,9.232l-0.39,-5.617l1.522,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l-0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.417,15.187l78.328,-0.004l0.099,35.067l16.823,0l-0,25.323l-95.25,0l-0,-60.386Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "var(--olGray)", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M55.647,14.775l0.004,-2.433l20.681,-0l0,2.433", + "fill": {}, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "var(--olGray)", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M30.391,14.775l0.003,-2.433l20.681,-0l0,2.433", + "fill": {}, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "var(--olGray)", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M4.748,14.775l0.004,-2.433l20.681,-0l-0,2.433", + "fill": {}, + "name": "path", + "stroke": { + "linecap": "butt", + "paint": "var(--olGray)", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M3.417,15.313l-0,58.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M3.417,73.317l92.25,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M3.417,48.317l75.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M3.417,50.234l75.333,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M28.122,16.632l-11.787,31.367", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M53.385,16.286l-11.821,31.714", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M78.745,15.766l-12.206,32.251", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M3.417,18.62l11.099,29.379", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.77px" + }, + "type": "path" + }, + { + "d": "M28.187,16.632l12.015,31.363", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M53.385,16.286l11.86,31.731", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M4.344,15.183l11.143,29.462", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.79px" + }, + "type": "path" + }, + { + "d": "M29.88,15.183l10.966,28.45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.79px" + }, + "type": "path" + }, + { + "d": "M55.063,15.183l10.796,28.317", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.79px" + }, + "type": "path" + }, + { + "d": "M26.618,15.183l-11.103,29.462", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M51.6,15.183l-10.754,28.45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.82px" + }, + "type": "path" + }, + { + "d": "M76.657,15.183l-10.798,28.321", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.82px" + }, + "type": "path" + }, + { + "d": "M30.392,13.943l20.683,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M4.749,13.943l20.684,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M55.649,13.943l20.683,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "Internal-Lines", + "name": "Internal-Lines", + "type": "group" + } + ], + "id": "Chiller", + "name": "Chiller", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 108 76" + }, + "type": "ia.shapes.svg" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Hover", + "tooltip": { + "enabled": true, + "location": "top-right" + } + }, + "position": { + "height": 0.84, + "width": 0.92, + "y": 0.1192 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver", + "outlineColor": "#FF0000", + "outlineStyle": "none", + "outlineWidth": "3" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 0.1533, + "width": 0.52, + "x": 0.195, + "y": 0.7133 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if({view.custom.Alarm}, \"Faulted\",if({view.custom.RunningSts},\"Running\",\"OFF\"))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 0.1467, + "width": 0.41, + "x": 0.39, + "y": 0.0267 + }, + "propConfig": { + "custom.LLSAssignment": { + "binding": { + "config": { + "struct": { + "MotorNo": "{this.custom.motorNumber}", + "tagPath": "{[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tLLSasignment \u003d value[\u0027tagPath\u0027][value[\u0027MotorNo\u0027]-1]\n\treturn LLSasignment", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.motorNumber": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\tparts \u003d value.split(\u0027_\u0027)[5][2:]\n\treturn int(parts)", + "type": "script" + } + ], + "type": "property" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({this.custom.LLSAssignment}\u003e0,True,False)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "concat(\u0027LLS: \u0027, {this.custom.LLSAssignment})" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_SP/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_SP/resource.json new file mode 100644 index 0000000..55672cd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_SP/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e9a5daf4069f99933160f688873cdb8b4b549678ac44db4dcc3b4643dcac24e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T15:33:49Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_SP/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_SP/thumbnail.png new file mode 100644 index 0000000..3f3f457 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_SP/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_SP/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_SP/view.json new file mode 100644 index 0000000..db20807 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_SP/view.json @@ -0,0 +1,486 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Status": 1, + "StatusRunning": 1, + "faulted": 0 + }, + "params": { + "embedded": false, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1141/SATB1_RM1141_PMP_01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "struct": { + "faulted": "{view.custom.Faulted}", + "running": "{view.custom.StatusRunning}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d 0\n\tif value[\"faulted\"]:\n\t\toutput \u003d 2\n\telse:\n\t\tif value[\"running\"]:\n\t\t\toutput \u003d 1\n\t\telse:\n\t\t\toutput \u003d 0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.StatusRunning": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/AlarmSummary" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 170, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Simple motor 2" + }, + "position": { + "height": 100, + "width": 140, + "x": 30, + "y": 56 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M994,297 l-83,0 0,83 83,0 0,-83z", + "fill": { + "paint": "#e0e0e0" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M353,672 l0,-30 200,0 0,30 23,0 0,46 159,0 0,-46 15,0 64,-11 51,-26 34,-38 12,-47 0,-424 -12,-49 -34,-38 -51,-26 -64,-8 -580,0 -64,8 -53,26 -34,38 -14,49 0,424 14,47 34,38 53,26 62,11 0,46 159,0 0,-46 26,0z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M327,680 l-159,0 0,32 159,0 0,-32z", + "fill": { + "paint": "#e0e0e0" + }, + "name": "path", + "type": "path" + }, + { + "d": "M735,680 l-159,0 0,32 159,0 0,-32z", + "fill": { + "paint": "#e0e0e0" + }, + "name": "path", + "type": "path" + }, + { + "d": "M164,5 l0,664", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M754,5 l0,664", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,338 l159,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M911,338 l-157,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M327,680 l-159,0 0,32 159,0 0,-32", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M735,680 l-159,0 0,32 159,0 0,-32", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + } + ], + "viewBox": "0 0 999 723" + }, + "type": "ia.shapes.svg" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 112, + "width": 157, + "x": 18.5, + "y": 50 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 28, + "width": "100%", + "y": 25 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "SP", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 24, + "width": "100%", + "y": 5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Room" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "paddingLeft": 10 + }, + "text": "Room" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 48, + "width": 45, + "x": 153.97, + "y": 22.5 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 2, + "borderBottomRightRadius": 2, + "borderTopLeftRadius": 2, + "borderTopRightRadius": 2, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES/resource.json new file mode 100644 index 0000000..5e2aa46 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cbc4c6f6b3c1ed80e3b66be9e6e93ccf8ce57f330a84077f6f8da3218291f29c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T01:26:15Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES/thumbnail.png new file mode 100644 index 0000000..4f153e0 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES/view.json new file mode 100644 index 0000000..6bd5b8e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES/view.json @@ -0,0 +1,354 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Mode": 1, + "TES_Color": "var(--state-running)" + }, + "params": { + "objectName": "TES", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Mode" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.TES_Color": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e0, 5, {view.custom.Mode})" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + }, + { + "input": 3, + "output": "var(--state-auto)" + }, + { + "input": 5, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 83, + "width": 65 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "TES" + }, + "position": { + "height": 0.8434, + "width": 0.7692, + "x": 0.0308, + "y": 0.1204 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "40.833", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "rect", + "width": "37.5", + "x": "0.417", + "y": "6.25" + }, + { + "d": "M37.911,5.978C37.673,2.896 29.365,0.417 19.167,0.417C8.968,0.417 0.66,2.896 0.422,5.978L37.911,5.978Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M37.906,47.083C37.668,50.165 29.36,52.644 19.161,52.644C8.963,52.644 0.655,50.165 0.417,47.083L37.906,47.083Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TES", + "name": "TES", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 39 54" + }, + "type": "ia.shapes.svg" + }, + { + "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": "AlarmBorder" + }, + "position": { + "height": 0.8675, + "width": 0.8154, + "y": 0.1084 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 0.241, + "width": 0.3077, + "x": 0.6615, + "y": -0.0482 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 20, + "y": 0 + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES_Group/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES_Group/resource.json new file mode 100644 index 0000000..6a521cd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES_Group/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "eb8bbce4ebd52d645695e52de944427fa6422a73003dd6aa88b84169ca7de9ff", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES_Group/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES_Group/thumbnail.png new file mode 100644 index 0000000..cded710 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES_Group/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES_Group/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES_Group/view.json new file mode 100644 index 0000000..b5c58d1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_TES_Group/view.json @@ -0,0 +1,932 @@ +{ + "custom": { + "AlarmSeverity": 1, + "DepletingTime": null, + "Mode": null, + "TES_Color": "var(--state-faulted)", + "shownTime": 0 + }, + "params": { + "TES": [ + "TES01", + "TES02", + "TES03" + ], + "objectName": "TES", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.DepletingTime": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Depleting Elapsed Time" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.ElapsedTime": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Recharge Fail Elapsed Time" + }, + "type": "tag" + } + }, + "custom.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Mode" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.TES_Color": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e0, 5, {view.custom.Mode})" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + }, + { + "input": 3, + "output": "var(--hpBlue)" + }, + { + "input": 5, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + }, + "persistent": true + }, + "custom.shownTime": { + "binding": { + "config": { + "struct": { + "depleting": "{view.custom.DepletingTime}", + "elapsed": "{view.custom.ElapsedTime}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\"depleting\"] \u003e 0:\n\t\toutput \u003d value[\"depleting\"]\n\telif value[\"elapsed\"] \u003e 0:\n\t\toutput \u003d value[\"elapsed\"]\n\telse:\n\t\toutput \u003d 0\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.TES": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 97, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 17, + "rotate": { + "anchor": "25% 25%" + }, + "width": 50, + "x": 228, + "y": -2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Mode" + }, + "transforms": [ + { + "fallback": "Unknown", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Off" + }, + { + "input": 1, + "output": "Normal" + }, + { + "input": 2, + "output": "Depleted" + }, + { + "input": 3, + "output": "Recharging" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "Arial", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Text" + }, + "position": { + "height": 17, + "rotate": { + "anchor": "25% 25%" + }, + "width": 50, + "x": 239, + "y": 21 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.shownTime" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\toutput \u003d True\n\telse:\n\t\toutput \u003d False\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.Mode" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": "Depleting" + }, + { + "input": 2, + "output": "" + }, + { + "input": 3, + "output": "Fail Elapsed" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 17, + "rotate": { + "anchor": "25% 25%" + }, + "width": 25, + "x": 262.99, + "y": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.shownTime" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\toutput \u003d True\n\telse:\n\t\toutput \u003d False\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "sec", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Variable" + }, + "position": { + "height": 17, + "rotate": { + "anchor": "25% 25%" + }, + "width": 33, + "x": 233, + "y": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.shownTime" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\toutput \u003d True\n\telse:\n\t\toutput \u003d False\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.shownTime" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TES" + }, + "position": { + "height": 70, + "width": 55, + "x": -2, + "y": 10 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "40.833", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "rect", + "width": "37.5", + "x": "0.417", + "y": "6.25" + }, + { + "d": "M37.911,5.978C37.673,2.896 29.365,0.417 19.167,0.417C8.968,0.417 0.66,2.896 0.422,5.978L37.911,5.978Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M37.906,47.083C37.668,50.165 29.36,52.644 19.161,52.644C8.963,52.644 0.655,50.165 0.417,47.083L37.906,47.083Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TES", + "name": "TES", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 39 54" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "TES_0" + }, + "position": { + "height": 70, + "width": 55, + "x": 88, + "y": 10 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "40.833", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "rect", + "width": "37.5", + "x": "0.417", + "y": "6.25" + }, + { + "d": "M37.911,5.978C37.673,2.896 29.365,0.417 19.167,0.417C8.968,0.417 0.66,2.896 0.422,5.978L37.911,5.978Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M37.906,47.083C37.668,50.165 29.36,52.644 19.161,52.644C8.963,52.644 0.655,50.165 0.417,47.083L37.906,47.083Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TES", + "name": "TES", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 39 54" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "TES_1" + }, + "position": { + "height": 70, + "width": 55, + "x": 177, + "y": 10 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.TES_Color" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "40.833", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "rect", + "width": "37.5", + "x": "0.417", + "y": "6.25" + }, + { + "d": "M37.911,5.978C37.673,2.896 29.365,0.417 19.167,0.417C8.968,0.417 0.66,2.896 0.422,5.978L37.911,5.978Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M37.906,47.083C37.668,50.165 29.36,52.644 19.161,52.644C8.963,52.644 0.655,50.165 0.417,47.083L37.906,47.083Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TES", + "name": "TES", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd", + "overflow": "visible" + }, + "viewBox": "0 0 39 54" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 17, + "rotate": { + "anchor": "25% 25%" + }, + "width": 50, + "x": 37.9988, + "y": 79 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.TES[0]" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 17, + "rotate": { + "anchor": "25% 25%" + }, + "width": 50, + "x": 126.995, + "y": 79 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.TES[1]" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 17, + "rotate": { + "anchor": "25% 25%" + }, + "width": 50, + "x": 216.995, + "y": 79 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.TES[2]" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AlarmBorder" + }, + "position": { + "height": 72, + "width": 230, + "y": 9 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": "auto", + "width": "auto", + "x": 222, + "y": -10 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 20, + "y": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_VFD_Status/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_VFD_Status/resource.json new file mode 100644 index 0000000..9cd6761 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_VFD_Status/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e65def02a0325d2ab3f13e26e4dddcbffefe6e9e18dc89b65e59e97bf6767729", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_VFD_Status/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_VFD_Status/thumbnail.png new file mode 100644 index 0000000..30cced9 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_VFD_Status/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_VFD_Status/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_VFD_Status/view.json new file mode 100644 index 0000000..bf624a3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_VFD_Status/view.json @@ -0,0 +1,372 @@ +{ + "custom": { + "AlarmSeverity": null, + "Running": null, + "Status": 0, + "alarm": null, + "mode": null, + "tag": null + }, + "params": { + "objectName": "VSD", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD07" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "struct": { + "alarm": "{view.custom.AlarmSeverity}", + "mode": "{view.custom.mode}", + "running": "{view.custom.Running}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027alarm\u0027]\u003e0:\n\t\treturn 2\n\telif value[\u0027mode\u0027] \u003d\u003d False:\n\t\treturn 3\n\telse:\n\t\tif value[\u0027running\u0027]:\n\t\t\treturn 1\n\t\telse:\n\t\t\treturn 0", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.alarm": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "expression": "if({value}\u003e0, True, False)", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 65 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + }, + { + "input": 3, + "output": "#9C6427" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.tag" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "Red", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + }, + { + "input": 3, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "visible", + "padding": "2px" + }, + "textStyle": { + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-standby)" + }, + { + "input": 1, + "output": "var(--state-running)" + }, + { + "input": 2, + "output": "var(--state-faulted)" + }, + { + "input": 3, + "output": "#9C6427" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Speed Feedback Percent" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##.##", + "type": "format" + }, + { + "expression": "{value} + \" %\"", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "Red", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + }, + { + "input": 3, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "overflow": "visible", + "padding": "2px" + }, + "text": " %", + "textStyle": { + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + } + ], + "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": "root" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "marginLeft": 2, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveC/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveC/resource.json new file mode 100644 index 0000000..677d0d4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveC/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3843e35ca049530e6214de0eca3602e0c750614e5b90e6ef60560753d834501c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:06:04Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveC/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveC/thumbnail.png new file mode 100644 index 0000000..208bc3d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveC/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveC/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveC/view.json new file mode 100644 index 0000000..6c074f4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveC/view.json @@ -0,0 +1,3586 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Postion": { + "Closed": 0, + "Faulted": 0, + "Open": 1 + }, + "Status": 2, + "Val": "Open", + "colorHandler": {}, + "tag": "Valve" + }, + "params": { + "Layout": 2, + "objectName": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1260_FCV69" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Postion": { + "persistent": true + }, + "custom.Postion.Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Closed" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Postion.Faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Alarm Summary" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Postion.Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Open" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Status": { + "binding": { + "config": { + "expression": "binEnum({view.custom.Postion.Closed},{view.custom.Postion.Open},{view.custom.Postion.Faulted})\r\n\t " + }, + "type": "expr" + }, + "persistent": true + }, + "custom.Val": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Actuating" + }, + { + "input": 1, + "output": "Closed" + }, + { + "input": 2, + "output": "Open" + }, + { + "input": 3, + "output": "Faulted" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.text": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "black" + }, + { + "input": 1, + "output": "black" + }, + { + "input": 2, + "output": "black" + }, + { + "input": 3, + "output": "white" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.valve": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-auto)" + }, + { + "input": 1, + "output": "var(--state-standby)" + }, + { + "input": 2, + "output": "var(--state-running)" + }, + { + "input": 3, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.Layout": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 75, + "width": 100 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Val" + }, + "position": { + "height": 10, + "width": 40, + "x": 2, + "y": 61 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Valve Position Feedback" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##0.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 30, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Tag" + }, + "position": { + "height": 15, + "width": 74, + "x": 3 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Valve", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Valve_Vertical" + }, + "position": { + "height": 50, + "width": 50, + "x": 15, + "y": 12 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "transforms": [ + { + "fallback": "M", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "M" + }, + { + "input": true, + "output": "A" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "11.25", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "rect", + "width": "15.75", + "x": "4.167", + "y": "0.375" + }, + { + "d": "M12.042,11.625l-0,12.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M12.042,24.375l11.625,-5.25l-0,10.5l-11.625,-5.25Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M12.042,24.375l-11.625,-5.25l-0,10.5l11.625,-5.25Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(10.4167,0,0,10.4167,16.3879,9.72823)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "10.417px" + }, + "type": "text", + "x": "7.711px", + "y": "9.728px" + } + ], + "id": "Valve", + "name": "Valve", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "borderStyle": "none", + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": 2, + "paddingBottom": 3, + "paddingLeft": 3, + "paddingRight": 3, + "paddingTop": 3 + }, + "viewBox": "0 0 25 31" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 20, + "rotate": { + "anchor": "50% 39%" + }, + "width": 20, + "x": 56 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "visible" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 15, + "width": 36, + "x": 47.4978, + "y": 58.9933 + }, + "props": { + "text": "%", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "VierticalView" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Val" + }, + "position": { + "height": 10, + "width": 27, + "x": 54, + "y": 32.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Valve Position Feedback" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##0.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 30, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Tag" + }, + "position": { + "height": 15, + "width": 16, + "x": 54.9965, + "y": 5.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Valve", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Valve_Horizontal" + }, + "position": { + "height": 50, + "width": 50, + "x": 3, + "y": 12.5 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].elements[0].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": "M", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "M" + }, + { + "input": true, + "output": "A" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": 62.5, + "name": "rect", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "rect", + "width": "45.833", + "x": "1.729", + "y": "17.354" + }, + { + "elements": [ + { + "elements": [ + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "39.263px" + }, + "text": "A", + "type": "text", + "x": "8.325px", + "y": "61.555px" + } + ], + "name": "group", + "stroke": { + "width": "1px" + }, + "transform": "matrix(1,0,0,0.921677,0,4.82116)", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M104.075,48.604l23.438,46.875l-46.876,0l23.438,-46.875Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "path" + }, + { + "d": "M104.075,48.604l23.438,-46.875l-46.876,0l23.438,46.875Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "path" + }, + { + "d": "M104.075,48.604l-56.25,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "path" + } + ], + "id": "Valve", + "name": "Valve", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": "2" + }, + "viewBox": "0 0 130 98" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 20, + "rotate": { + "anchor": "50% 39%" + }, + "width": 20, + "x": 44.992984484863285 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "visible" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Tag_0" + }, + "position": { + "height": 15, + "width": 16, + "x": 81, + "y": 29.5 + }, + "props": { + "text": "%", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "HorizontalView" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Val" + }, + "position": { + "height": 10, + "width": 40, + "x": 2, + "y": 61 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Valve Position Feedback" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##0.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Tag" + }, + "position": { + "height": 15, + "width": 74, + "x": 3 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "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": "Valve_Vertical" + }, + "position": { + "height": 50, + "width": 50, + "x": 15, + "y": 12 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "transforms": [ + { + "fallback": "M", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "M" + }, + { + "input": true, + "output": "A" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "11.25", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "rect", + "width": "15.75", + "x": "4.167", + "y": "0.375" + }, + { + "d": "M12.042,11.625l-0,12.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M12.042,24.375l11.625,-5.25l-0,10.5l-11.625,-5.25Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M12.042,24.375l-11.625,-5.25l-0,10.5l11.625,-5.25Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.83px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(10.4167,0,0,10.4167,16.3879,9.72823)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "10.417px" + }, + "type": "text", + "x": "7.711px", + "y": "9.728px" + } + ], + "id": "Valve", + "name": "Valve", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "borderStyle": "none", + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": 2, + "paddingBottom": 3, + "paddingLeft": 3, + "paddingRight": 3, + "paddingTop": 3 + }, + "viewBox": "0 0 25 31" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 20, + "rotate": { + "anchor": "50% 39%" + }, + "width": 20, + "x": 56 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "visible" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 15, + "width": 36, + "x": 47.4978, + "y": 58.9933 + }, + "props": { + "text": "%", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "VierticalView2" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 3, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Val" + }, + "position": { + "height": 0.1333, + "width": 0.27, + "x": 0.54, + "y": 0.4333 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Valve Position Feedback" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##0.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 80, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Tag" + }, + "position": { + "height": 0.2, + "width": 0.44, + "x": 0.55, + "y": 0.0733 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Valve", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "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": "Valve_Horizontal" + }, + "position": { + "height": 0.6667, + "width": 0.5, + "x": 0.03, + "y": 0.1667 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.text" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": 62.5, + "name": "rect", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "rect", + "width": "45.833", + "x": "1.729", + "y": "17.354" + }, + { + "elements": [ + { + "elements": [ + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "39.263px" + }, + "text": "A", + "type": "text", + "x": "12px", + "y": "61.555px" + } + ], + "name": "group", + "stroke": { + "width": "1px" + }, + "transform": "matrix(1,0,0,0.921677,0,4.82116)", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M104.075,48.604l23.438,46.875l-46.876,0l23.438,-46.875Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "path" + }, + { + "d": "M104.075,48.604l23.438,-46.875l-46.876,0l23.438,46.875Z", + "fill": {}, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "path" + }, + { + "d": "M104.075,48.604l-56.25,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "path" + } + ], + "id": "Valve", + "name": "Valve", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": "2", + "overflow": "visible" + }, + "viewBox": "0 0 130 98" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 0.2667, + "rotate": { + "anchor": "50% 39%" + }, + "width": 0.2, + "x": 0.4499 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "visible" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Tag_0" + }, + "position": { + "height": 0.2, + "width": 0.16, + "x": 0.81, + "y": 0.3933 + }, + "props": { + "text": "%", + "textStyle": { + "fontFamily": "Arial", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "HorizontalView2" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 4, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveM/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveM/resource.json new file mode 100644 index 0000000..47618cd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveM/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c1ab65c6f61b68893d21babed0ee2e45865fd94a6fb60f2a321d7e290ef31d5f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T01:24:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveM/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveM/thumbnail.png new file mode 100644 index 0000000..c9d2bdf Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveM/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveM/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveM/view.json new file mode 100644 index 0000000..7cffd92 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Mechanical/Sym_ValveM/view.json @@ -0,0 +1,2001 @@ +{ + "custom": { + "AlarmSeverity": 0, + "Postion": { + "Closed": 1, + "Faulted": 0, + "Open": 0 + }, + "Status": 1, + "Val": "Closed", + "colorHandler": { + "body": "var(--text-muted)" + }, + "tag": "Valve" + }, + "params": { + "Layout": true, + "objectName": "ValveM", + "tagPath": "[Ignition_Common_IO_Gtwy]/Roof/CV48" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Postion": { + "persistent": true + }, + "custom.Postion.Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Closed" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Postion.Faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Alarm Summary" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Postion.Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Open" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Status": { + "binding": { + "config": { + "expression": "binEnum({view.custom.Postion.Closed},{view.custom.Postion.Open},{view.custom.Postion.Faulted})\r\n\t " + }, + "type": "expr" + }, + "persistent": true + }, + "custom.Val": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Actuating" + }, + { + "input": 1, + "output": "Closed" + }, + { + "input": 2, + "output": "Open" + }, + { + "input": 3, + "output": "Faulted" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.colorHandler": { + "persistent": true + }, + "custom.colorHandler.text": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "black" + }, + { + "input": 1, + "output": "black" + }, + { + "input": 2, + "output": "black" + }, + { + "input": 3, + "output": "white" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.valve": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--state-auto)" + }, + { + "input": 1, + "output": "var(--state-standby)" + }, + { + "input": 2, + "output": "var(--state-running)" + }, + { + "input": 3, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.Layout": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 101, + "width": 100 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Val" + }, + "position": { + "height": 15, + "width": 74, + "x": 2, + "y": 76 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.Val" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "#0013FF", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Tag" + }, + "position": { + "height": 12, + "width": 74, + "x": 3 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Valve", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Valve_Vertical", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 68, + "width": 70, + "x": 5, + "y": 12 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Tooltip" + }, + "type": "tag" + } + }, + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "enabled": false, + "transforms": [ + { + "fallback": "M", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "M" + }, + { + "input": true, + "output": "A" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "11.25", + "name": "rect", + "stroke": { + "width": "0.75px" + }, + "type": "rect", + "width": "15.75", + "x": "4.167", + "y": "0.375" + }, + { + "d": "M12.042,11.625l-0,12.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M12.042,24.375l11.625,-5.25l-0,10.5l-11.625,-5.25Z", + "fill": {}, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M12.042,24.375l-11.625,-5.25l-0,10.5l11.625,-5.25Z", + "fill": {}, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(10.4167,0,0,10.4167,16.3879,9.72823)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "10.417px" + }, + "text": "A", + "type": "text", + "x": "7.711px", + "y": "9.728px" + } + ], + "id": "Valve", + "name": "Valve", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "borderStyle": "none", + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": 2, + "paddingBottom": 3, + "paddingLeft": 3, + "paddingRight": 3, + "paddingTop": 3 + }, + "viewBox": "0 0 25 31" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 20, + "rotate": { + "anchor": "50% 39%" + }, + "width": 20, + "x": 56 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "visible" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "contextMenu": { + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "menu-item", + "type": "method" + }, + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "menu-item", + "type": "link" + } + ] + }, + "name": "VierticalView", + "tooltip": { + "enabled": true, + "location": "top", + "text": null + } + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Val" + }, + "position": { + "height": 10, + "width": 40, + "x": 55, + "y": 41.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.Val" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "#0013FF", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Tag" + }, + "position": { + "height": 15, + "width": 45, + "x": 55, + "y": 19.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Valve_Horizontal", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 50, + "width": 50, + "x": 3, + "y": 12.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Tooltip" + }, + "type": "tag" + } + }, + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[0].elements[0].text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "transforms": [ + { + "fallback": "M", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "M" + }, + { + "input": true, + "output": "A" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.valve" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.body" + }, + "type": "property" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": 62.5, + "name": "rect", + "stroke": { + "width": "3.46px" + }, + "type": "rect", + "width": "45.833", + "x": "1.729", + "y": "17.354" + }, + { + "elements": [ + { + "elements": [ + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "39.263px" + }, + "type": "text", + "x": "8.325px", + "y": "61.555px" + } + ], + "name": "group", + "stroke": { + "width": "1px" + }, + "transform": "matrix(1,0,0,0.921677,0,4.82116)", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M104.075,48.604l23.438,46.875l-46.876,0l23.438,-46.875Z", + "fill": {}, + "name": "path", + "stroke": { + "width": "3.46px" + }, + "type": "path" + }, + { + "d": "M104.075,48.604l23.438,-46.875l-46.876,0l23.438,46.875Z", + "fill": {}, + "name": "path", + "stroke": { + "width": "3.46px" + }, + "type": "path" + }, + { + "d": "M104.075,48.604l-56.25,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "3.46px" + }, + "type": "path" + } + ], + "id": "Valve", + "name": "Valve", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": "2" + }, + "viewBox": "0 0 130 98" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 20, + "rotate": { + "anchor": "50% 39%" + }, + "width": 20, + "x": 44.992984484863285 + }, + "propConfig": { + "props.elements[0].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "visible" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "visible" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "visible" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "hidden" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].visibility": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "hiden", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "hidden" + }, + { + "input": 0, + "output": "hidden" + }, + { + "input": 1, + "output": "hidden" + }, + { + "input": 2, + "output": "hidden" + }, + { + "input": 3, + "output": "hidden" + }, + { + "input": 4, + "output": "visible" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "HorizontalView" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": false + }, + { + "input": false, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor/resource.json new file mode 100644 index 0000000..403f6b8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6f262b660ae26fc619006cbfda0fe322051afd9533e7efa2f7aa4410d0fd8a5d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:14:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor/thumbnail.png new file mode 100644 index 0000000..9049b98 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor/view.json new file mode 100644 index 0000000..d212afa --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor/view.json @@ -0,0 +1,463 @@ +{ + "custom": { + "AlarmSeverity": -1, + "Faulted": false, + "Layout": true, + "Mode": 1, + "Running": true + }, + "params": { + "Layout": true, + "Popup": true, + "embedded": false, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_HS1_ASP1" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/Alarm Summary" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.Layout": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "type": "property" + }, + "persistent": true + }, + "custom.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 2 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "type": "tag" + }, + "persistent": true + }, + "params.Layout": { + "paramDirection": "input", + "persistent": true + }, + "params.Popup": { + "paramDirection": "input", + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 68, + "width": 75 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "height": "auto", + "width": 60, + "y": 50 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if({view.custom.Faulted},\"Faulted\", if({view.custom.Running},\"Running\",\"Stand By\"))" + }, + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "#0600FF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Tag01" + }, + "position": { + "height": "auto", + "width": 60 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ModeBadge" + }, + "position": { + "height": 17, + "width": 21, + "x": 48.97, + "y": 12.4 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "path": "view.custom.Mode" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/CommonObjects/ModeBadgeSmall", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif self.view.params.embedded:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\t\t\t\u0027top\u0027:\u00270\u0027,\n\t\t\t\t\u0027width\u0027: \u00271000px\u0027,\n\t\t\t\t\u0027height\u0027: \u0027800px\u0027\n\t\t\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\telse:\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CHW Pump VFD" + }, + "position": { + "height": 43, + "rotate": { + "anchor": "36% 39%" + }, + "width": 35, + "x": 12.29, + "y": 20.16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.Popup" + }, + "enabled": false, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "position.rotate.angle": { + "binding": { + "config": { + "path": "view.custom.Layout" + }, + "transforms": [ + { + "fallback": "0deg", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "0deg" + }, + { + "input": true, + "output": "270deg" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "expression": "if({view.custom.Faulted},\"var(--state-faulted)\", if({view.custom.Running},\"var(--state-running)\",\"var(--state-standby)\"))" + }, + "type": "expr" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "white", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003e0, \"solid\", \"none\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "cx": "11.625", + "cy": "11.625", + "fill": {}, + "name": "circle", + "r": "11.25", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M11.625,22.875l9.75,-16.5l-19.5,0l9.75,16.5Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Pump", + "name": "Pump", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": "2" + }, + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 20, + "width": 20, + "x": 45.98, + "y": 3 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor_Simple/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor_Simple/resource.json new file mode 100644 index 0000000..995c1b3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor_Simple/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9489fb8751bab3559b20004fbb88824e476275b70f47645b061576e48a6aa5b8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:14:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor_Simple/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor_Simple/thumbnail.png new file mode 100644 index 0000000..a91b344 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor_Simple/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor_Simple/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor_Simple/view.json new file mode 100644 index 0000000..7d05c98 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Motor_Simple/view.json @@ -0,0 +1,374 @@ +{ + "custom": { + "AlarmSeverity": -1, + "Faulted": false, + "Mode": 1, + "Running": false + }, + "params": { + "Layout": false, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Faulted": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "code": "\tif value \u003e 0:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 2 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.Running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "type": "tag" + }, + "persistent": true + }, + "params.Layout": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 45, + "width": 61 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 50, + "width": 41.02, + "y": -5 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.Layout" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "bottom" + }, + { + "input": true, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "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": "CHW Pump VFD" + }, + "position": { + "height": 34.63, + "rotate": { + "angle": "270deg" + }, + "width": 24, + "x": 8.95, + "y": 2.46 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "expression": "if({view.custom.Faulted},\"var(--state-faulted)\", if({view.custom.Running},\"var(--state-running)\",\"var(--state-standby)\"))" + }, + "type": "expr" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "white", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003e0, \"solid\", \"none\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "cx": "11.625", + "cy": "11.625", + "fill": {}, + "name": "circle", + "r": "11.25", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "circle" + }, + { + "d": "M11.625,22.875l9.75,-16.5l-19.5,0l9.75,16.5Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "Pump", + "name": "Pump", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "classes": "containers/HoverOver", + "clipRule": "evenodd", + "outlineWidth": "2" + }, + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "ModeBadge" + }, + "position": { + "height": 16, + "width": 20, + "x": 35.96, + "y": 11.92 + }, + "propConfig": { + "props.params.Mode": { + "binding": { + "config": { + "path": "view.custom.Mode" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/CommonObjects/ModeBadgeSmall", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 15.87, + "width": 16.66, + "x": 32.41, + "y": -1.68 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Panel/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Panel/resource.json new file mode 100644 index 0000000..81986c3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Panel/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4d4029d30090677814f9b4c73303c6f738e51a33ba671b879218fd397c299cb0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T15:35:55Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Panel/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Panel/thumbnail.png new file mode 100644 index 0000000..113a33d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Panel/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Panel/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Panel/view.json new file mode 100644 index 0000000..a39a0c2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Panel/view.json @@ -0,0 +1,584 @@ +{ + "custom": { + "AlarmSeverity": 0 + }, + "params": { + "embedded": false, + "objectName": "Panel_340_580", + "tagPath": "[Ignition_Common_IO_Gtwy]SR1133/SATB1_HS1_SR1133_EF03" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 190, + "width": 170 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Generic panel" + }, + "position": { + "height": 0.5824, + "width": 0.4647, + "x": 0.2588, + "y": 0.3294 + }, + "props": { + "elements": [ + { + "d": "M5,72 l23,0 0,854 -23,0 0,-854z", + "fill": { + "paint": "#b2b29b" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,117 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,297 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,476 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,656 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,836 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,162 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,342 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,521 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,701 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,881 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,207 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,387 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,566 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M5,746 l23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,252 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,431 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,611 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,791 l-23,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M28,5 l808,0 0,988 -808,0 0,-988z", + "fill": { + "paint": "#e5e5dd" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M32,988 l799,0 0,-624 -799,168 0,456z", + "fill": { + "paint": "#deded4" + }, + "name": "path", + "type": "path" + }, + { + "d": "M32,988 l799,0 0,-557 -799,169 0,388z", + "fill": { + "paint": "#d4d4c7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M32,988 l799,0 0,-399 -799,168 0,231z", + "fill": { + "paint": "#ccccbd" + }, + "name": "path", + "type": "path" + }, + { + "d": "M95,72 l674,0 0,854 -674,0 0,-854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#4c4c4c", + "width": "2" + }, + "type": "path" + }, + { + "d": "M140,117 l90,0 0,23 -90,0 0,-23z", + "fill": { + "paint": "#ccccbd" + }, + "name": "path", + "type": "path" + }, + { + "d": "M836,454 l22,0 0,90 -22,0 0,-90z", + "fill": { + "paint": "#4c4c16" + }, + "name": "path", + "type": "path" + } + ], + "viewBox": "0 0 864 999" + }, + "type": "ia.shapes.svg" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "height": 0.6588, + "width": 0.5353, + "x": 0.2147, + "y": 0.2912 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 0.1647, + "width": 1, + "y": 0.1471 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Panel", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 0.1412, + "width": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Room" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Room" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 0.2824, + "width": 0.2647, + "x": 0.6263, + "y": 0.1294 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "backgroundColor": "var(--containerNested)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "overflow": "hidden", + "paddingBottom": 10, + "paddingLeft": 10, + "paddingRight": 10, + "paddingTop": 10 + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Xmtr/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Xmtr/resource.json new file mode 100644 index 0000000..cfee7b3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Xmtr/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "465676f63666f0b90da5afa4aa8e65f24b799de6734c7abf5af5a4e03034b89b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T15:00:07Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Xmtr/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Xmtr/thumbnail.png new file mode 100644 index 0000000..5872f94 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Xmtr/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Xmtr/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Xmtr/view.json new file mode 100644 index 0000000..1c0f362 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sym_Xmtr/view.json @@ -0,0 +1,225 @@ +{ + "custom": { + "H": true, + "v": false + }, + "params": { + "EU": "degF", + "EU_Pos": 1, + "Val": 0.108 + }, + "propConfig": { + "custom.H": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": true + }, + { + "input": 0, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.v": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": false + }, + { + "input": 0, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.EU": { + "paramDirection": "input", + "persistent": true + }, + "params.EU_Pos": { + "paramDirection": "input", + "persistent": true + }, + "params.Val": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 75 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Var", + "tooltip": { + "width": "100%" + } + }, + "position": { + "align": "center" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.Val" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "#021CB4", + "fontSize": 12, + "fontWeight": "bold", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU H" + }, + "position": { + "basis": "AUTO" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.custom.H" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.EU" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "marginLeft": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer", + "tooltip": { + "width": 1 + } + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "alignItems": "center", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EU Ver" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.EU" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.custom.v" + }, + "type": "property" + } + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "justify": "flex-end" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sys_DH_Xmtr/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sys_DH_Xmtr/resource.json new file mode 100644 index 0000000..a3374ca --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sys_DH_Xmtr/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f7c54168d8d1bc874b4e9c002dbe1e80cd73e3751a02a0484fdba4eabcc3f738", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:14:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sys_DH_Xmtr/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sys_DH_Xmtr/thumbnail.png new file mode 100644 index 0000000..98d599f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sys_DH_Xmtr/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sys_DH_Xmtr/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sys_DH_Xmtr/view.json new file mode 100644 index 0000000..fbe4eac --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Symbols/Sys_DH_Xmtr/view.json @@ -0,0 +1,262 @@ +{ + "custom": { + "AlarmSeverity": 0, + "value": 29.605074 + }, + "params": { + "EU": "°F", + "embedded": true, + "objectName": "AnalogInRS485", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL22_C1_TT01" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/DH/Temp6" + }, + "type": "tag" + }, + "persistent": true + }, + "params.EU": { + "paramDirection": "input", + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 100 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": "stream-light", + "output": "var(--containerNested)" + }, + { + "input": "stream-dark", + "output": "lightgray" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "None", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "None" + }, + { + "input": 0, + "output": "None" + }, + { + "input": 1, + "output": "Solid" + }, + { + "input": 2, + "output": "Solid" + }, + { + "input": 3, + "output": "Solid" + }, + { + "input": 4, + "output": "Solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "concat(numberFormat({view.custom.value}, \"0.0\"), \" \", {view.params.EU})" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": 12, + "overflow": "visible" + }, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "format": "##0.0#", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "basis": "0.1%" + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "style": { + "marginLeft": -7, + "marginTop": -10, + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Body/resource.json new file mode 100644 index 0000000..f6da3c7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "26222d61c7fe582c444c0c359f51a60cc65cab5aff214d18eebeeb3cd27f5208", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Body/thumbnail.png new file mode 100644 index 0000000..dd2018e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Body/view.json new file mode 100644 index 0000000..92dbed9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Body/view.json @@ -0,0 +1,410 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "ATS", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/ATS" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Config/resource.json new file mode 100644 index 0000000..17bbf64 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "575fb150dee6912f20f1e10d4905146f9581ec6505961daf406e108b7b79944c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:24:04Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Config/view.json new file mode 100644 index 0000000..d664840 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Config/view.json @@ -0,0 +1,96 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Info/resource.json new file mode 100644 index 0000000..43f7357 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ddbdf70cc33d792324cb768a24171ae44f649a124c633a00ce0becaeff39398a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Info/thumbnail.png new file mode 100644 index 0000000..86ca13d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Info/view.json new file mode 100644 index 0000000..1bae414 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Info/view.json @@ -0,0 +1,423 @@ +{ + "custom": { + "CPStateEngUnit": null, + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Source 1 Frequency", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Source 2 Frequency", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "CP State Data", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Source 1 Voltage AB", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Source 1 Voltage BC", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Source 1 Voltage CA", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Source 2 Voltage AB", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Source 2 Voltage BC", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Source 2 Voltage CA", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Source 1", + "numDecimals": 1, + "options": [ + "False", + "Bypassed" + ] + }, + { + "dataType": "", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "CP State", + "numDecimals": 1 + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "On Source 1", + "numDecimals": 1, + "options": [ + "False", + "True" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "On Source 2", + "numDecimals": 1, + "options": [ + "False", + "True" + ] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Operating Mode", + "numDecimals": 1, + "options": [ + "Normal", + "Emergency" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Source", + "numDecimals": 1, + "options": [ + "Utility", + "Generator" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Source 1 Available", + "numDecimals": 1, + "options": [ + "not Available", + "Available" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Source 1 Breaker Tripped", + "numDecimals": 1, + "options": [ + "Normal", + "Tripped" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Source 2 Available", + "numDecimals": 1, + "options": [ + "not Available", + "Available" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Source 2 Breaker Tripped", + "numDecimals": 1, + "options": [ + "Normal", + "Tripped" + ] + } + ], + "textArray": [ + "Load on Normal, Normal OK", + "Timer 1C (TDES) running", + "Waiting for Emergency acceptable", + "Transfer to Emergency inhibited by F6Z", + "Transfer to Emergency inhibited by F34B", + "Timer 2B (TDNE) running", + "Timer 31F (N to E pre transfer signal) running", + "In phase monitor time delay (OTTS N to E transfer)", + "Waiting for in phase (OTTS N to E transfer)", + "In phase monitor time delay with load shed", + "Waiting for in phase with load shed", + "In sync monitor time delay", + "Waiting for in sync", + "Sources paralleled", + "Load disconnected CT bypass", + "Load disconnected", + "Normal to Emergency load shed is active", + "Timer 31M running", + "Load on Emergency waiting for removal of transfer requests", + "Timer 3A running", + "Transfer to Normal inhibited by G6C", + "Transfer to N inhibited by F34A", + "Timer 31G runing", + "In phase monitor time time delay", + "waiting for in phase", + "In phase monitor time delay with load shed", + "Waiting for in shed load shed", + "In sync monitor time delay", + "Waiting for in sync", + "Sources paralleled", + "Load disconnected CT bypass", + "Load disconnected", + "Emergency to Normal load shed is active", + "Timer 31N", + "Timer 2E (Cooldown)", + "Timer 1C while timer 2E running", + "Power up inhibit", + "Transition state" + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + }, + "propConfig": { + "custom.CPStateEngUnit": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/CP State" + }, + "transforms": [ + { + "code": "\tsystem.tag.writeBlocking(self.params.tagPath+\u0027/CP State Data.EngUnit\u0027,self.custom.textArray[value])\n\t#[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS/CP State Data.EngUnit\n\treturn self.custom.textArray[value]", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"numDecimals\": 1,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.allTags[10].options": { + "binding": { + "config": { + "path": "view.custom.textArray" + }, + "type": "property" + } + }, + "custom.textArray": { + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Meta/resource.json new file mode 100644 index 0000000..64fc9d4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1a34546b5bc26075f31e368d0d2016321693b1b50f227823b01d8f1a66808fd5", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:40Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Meta/thumbnail.png new file mode 100644 index 0000000..d7e6118 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Meta/view.json new file mode 100644 index 0000000..5f48c54 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Meta/view.json @@ -0,0 +1,127 @@ +{ + "custom": { + "allTags": null, + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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 + }, + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\t\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Trends/resource.json new file mode 100644 index 0000000..323365f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "afea976c35bb1809141b67554d07eeb845210618537841ed5ed30dce92f3bc46", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Trends/thumbnail.png new file mode 100644 index 0000000..bf55ec5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Trends/view.json new file mode 100644 index 0000000..0ef98d5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ATS/Trends/view.json @@ -0,0 +1,483 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1267 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "key": "value" + }, + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\ttagName \u003d tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1]\n\t\t\t\tlowtagName \u003d tagName.lower()\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + lowtagName\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947963012 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947963012 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Body/resource.json new file mode 100644 index 0000000..0935dd4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9200bcd0ad66b0c9cfc06b2a6832afee9251dc0e7a2287300970c11d782dfb7b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Body/thumbnail.png new file mode 100644 index 0000000..817e4d0 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Body/view.json new file mode 100644 index 0000000..0c7967e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO5_default]SATB1_DH5_P5_SWBD5_XA_SPD" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Config/resource.json new file mode 100644 index 0000000..b58f21e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "20747eba134832cdf1a0dcf0ae8a6ab7b905c78fca020f75fb86a7ec9da7ad25", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Config/thumbnail.png new file mode 100644 index 0000000..75c1317 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Config/view.json new file mode 100644 index 0000000..8d750a1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Config/view.json @@ -0,0 +1,993 @@ +{ + "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" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Control/resource.json new file mode 100644 index 0000000..b4d5fae --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "43332d15f4598ee3e514fe256019762a05d39c29ad0b358e59c31321b37119bc", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:39:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Control/thumbnail.png new file mode 100644 index 0000000..3e340ca Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Control/view.json new file mode 100644 index 0000000..32525e7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Control/view.json @@ -0,0 +1,291 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_TT_RET" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.SubEn": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteEN" + }, + "type": "tag" + } + }, + "custom.OCmd.SubVal": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteVal" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OOSBtn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Enable" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubEn" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "SubEnable" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description" + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "struct": { + "Ocmd_En": "{view.custom.OCmd.SubEn}", + "auth": "{view.params.auth.control}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027auth\u0027] and value[\u0027Ocmd_En\u0027]:\n\t\treturn True\n\telse:\n\t\treturn False\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubVal" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "SubVal" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Info/resource.json new file mode 100644 index 0000000..7d63d4e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a565b5dbfce9f5c5c41526e1fb71411fef18eb97e0c94a677312a6c15d9058dd", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Info/thumbnail.png new file mode 100644 index 0000000..dfabdd3 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Info/view.json new file mode 100644 index 0000000..897b5e1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Info/view.json @@ -0,0 +1,108 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Val", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PD43" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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])\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Meta/resource.json new file mode 100644 index 0000000..6be7045 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e9251b5f2ed407886d9336b07c8c873ab387a317f64fa4ee0aece666827f2beb", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Meta/thumbnail.png new file mode 100644 index 0000000..51e8716 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Trends/resource.json new file mode 100644 index 0000000..b90c087 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "21f75c80226b67630c61f0d9562a2206b0cd95c90c8ce8b4095bdcfe5616beb7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Trends/thumbnail.png new file mode 100644 index 0000000..cd6bdce Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Trends/view.json new file mode 100644 index 0000000..d0c608a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogIn/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES02_TT02" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"HH:mm\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947368983 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947368983 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Body/resource.json new file mode 100644 index 0000000..044da70 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "de73ac6d51857328ef9d308cd8b5a64f774be95b36f062dfa34ef88c3cb31c82", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Body/thumbnail.png new file mode 100644 index 0000000..6b17c90 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Body/view.json new file mode 100644 index 0000000..a67c101 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "AnalogInRS485", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_PNL16_C1_HT01" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Config/resource.json new file mode 100644 index 0000000..c51d713 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a5b0aff21acd5b7abb688fbc2c365b149adffe809326861d3502f6d2305906c7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Config/thumbnail.png new file mode 100644 index 0000000..7f0e835 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Config/view.json new file mode 100644 index 0000000..f03f5bd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Config/view.json @@ -0,0 +1,1034 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Deadband" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Celcius To Farenheit" + }, + { + "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": "ROC Deviation SP" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ROC Enabled" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ROC Interval SP" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ROC Sample SP" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + } + ], + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_DHT01" + }, + "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 + }, + "custom.auth": { + "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", + "name": "HiHi 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/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_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" + }, + { + "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/Celcius To Farenheit\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Boolean", + "name": "Celcius to Farenheit", + "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/PV Decimal Places\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "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/ROC Enabled\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Boolean", + "name": "ROC Enabled", + "options": [] + }, + "path": "Library/Framework/Tag ConfigV2" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_6" + }, + "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/ROC Deviation SP\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "name": "ROC Deviation SP", + "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" + }, + "enabled": false, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath}, \"/Config/ROC Interval SP\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Int8", + "enabled": false, + "max": 9999, + "min": -9999, + "name": "ROC Interval SP", + "options": [], + "visible": true + }, + "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" + }, + "enabled": false, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath}, \"/Config/ROC Sample SP\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Int8", + "enabled": false, + "name": "ROC Sample SP", + "options": [] + }, + "path": "Library/Framework/Tag ConfigV2" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_7" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Control/resource.json new file mode 100644 index 0000000..1ddcc3c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "df0471243ea3ae5fd4240394b378c0f78bac915879c00c46867dc83fbd1abb9e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:39:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Control/thumbnail.png new file mode 100644 index 0000000..efba6e9 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Control/view.json new file mode 100644 index 0000000..db5e970 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Control/view.json @@ -0,0 +1,278 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHT01" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.SubEn": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteEN" + }, + "type": "tag" + } + }, + "custom.OCmd.SubVal": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteVal" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OOSBtn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Enable" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubEn" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "SubEnable" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description" + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.custom.OCmd.SubEn} \u0026\u0026 {view.params.auth.control}" + }, + "type": "expr" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubVal" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "SubVal" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Info/resource.json new file mode 100644 index 0000000..171bdc6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "32d2c66700c3c6d6bd830508ada9e52adb353917c9858f252f8b776c88b661a7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Info/thumbnail.png new file mode 100644 index 0000000..ce16137 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Info/view.json new file mode 100644 index 0000000..cbf1b57 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Info/view.json @@ -0,0 +1,152 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Comm_Percentage", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "ROC Dropping", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "ROC Rising", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "ROC Val", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Val", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHT01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Meta/resource.json new file mode 100644 index 0000000..0f75265 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f8e70810d4b8b59e27c9ffb9e125a0e509836e51ad31a89d0b9211c4a3d8f173", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Meta/thumbnail.png new file mode 100644 index 0000000..51e8716 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Meta/view.json new file mode 100644 index 0000000..81a95b5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Meta/view.json @@ -0,0 +1,395 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "instances": [ + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ], + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Trends/resource.json new file mode 100644 index 0000000..d9f0511 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dbcbaf0ef4c3b74aab8cfc7af2563af050f71b6a3efaa1cec2ab1ad20da71055", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Trends/thumbnail.png new file mode 100644 index 0000000..cde5dd1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Trends/view.json new file mode 100644 index 0000000..5bf44e2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInROCRS485/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_H1_TT01" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947393186 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947393186 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Body/resource.json new file mode 100644 index 0000000..9165796 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d5304e4615dcf2915fcdc7d14455902095869d6f6da91319831a53b256a275c8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Body/thumbnail.png new file mode 100644 index 0000000..6b17c90 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Body/view.json new file mode 100644 index 0000000..a67c101 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "AnalogInRS485", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_PNL16_C1_HT01" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Config/resource.json new file mode 100644 index 0000000..e13b798 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8da690b27fe074b7b8f49e2023a0d1d9c1ea9164d335b733cfe7b100049e4d74", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Config/thumbnail.png new file mode 100644 index 0000000..18bbcc4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Config/view.json new file mode 100644 index 0000000..242ea0e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Config/view.json @@ -0,0 +1,848 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Deadband" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Celcius To Farenheit" + }, + { + "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": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + } + ], + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_H0_TT01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "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 + }, + "custom.auth": { + "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", + "name": "HiHi 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/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_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" + }, + { + "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/Celcius To Farenheit\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Boolean", + "name": "Celcius to Farenheit", + "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/PV Decimal Places\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "name": "Decimal Places", + "options": [] + }, + "path": "Library/Framework/Tag ConfigV2" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_6" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Control/resource.json new file mode 100644 index 0000000..a95aa32 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "953a817779a96ed374ce23e57f3ac8d2ba944cc057fc6b7e30a25eaf51e6f29b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:39:37Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Control/thumbnail.png new file mode 100644 index 0000000..bd36590 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Control/view.json new file mode 100644 index 0000000..6d53d22 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Control/view.json @@ -0,0 +1,278 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_C0_HT01" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.SubEn": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteEN" + }, + "type": "tag" + } + }, + "custom.OCmd.SubVal": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteVal" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OOSBtn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Enable" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubEn" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "SubEnable" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description" + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.custom.OCmd.SubEn} \u0026\u0026 {view.params.auth.control}" + }, + "type": "expr" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubVal" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "SubVal" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Info/resource.json new file mode 100644 index 0000000..6a7b5e0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8d471031dc3cefb0f1fd1d74d5b40fbee82e98b580b8e414e389a09144cc03c1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Info/thumbnail.png new file mode 100644 index 0000000..b3b3b5b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Info/view.json new file mode 100644 index 0000000..b2e46eb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Info/view.json @@ -0,0 +1,118 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Comm_Percentage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Val", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_PNL16_C1_HT01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Meta/resource.json new file mode 100644 index 0000000..3bab992 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "363b44fea191a64aceee50531bec966bb3c90b1c947540cb674773362beed73f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Meta/thumbnail.png new file mode 100644 index 0000000..51e8716 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Meta/view.json new file mode 100644 index 0000000..81a95b5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Meta/view.json @@ -0,0 +1,395 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "instances": [ + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ], + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Trends/resource.json new file mode 100644 index 0000000..d9f0511 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dbcbaf0ef4c3b74aab8cfc7af2563af050f71b6a3efaa1cec2ab1ad20da71055", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Trends/thumbnail.png new file mode 100644 index 0000000..cde5dd1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Trends/view.json new file mode 100644 index 0000000..5bf44e2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AnalogInRS485/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_H1_TT01" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947393186 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947393186 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Body/resource.json new file mode 100644 index 0000000..0f08498 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "64ec04223caa4257653ad4b1b14f2155c04e0adb0017cfefa0dd16a472f41d64", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Body/thumbnail.png new file mode 100644 index 0000000..93b5f55 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Body/view.json new file mode 100644 index 0000000..b7047b7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_SYSTEM" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Config/resource.json new file mode 100644 index 0000000..dca2272 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f223aed8c9756af3606c2788e1816a9a3d2e55ca892eb4d312ebe41bb8457038", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Config/thumbnail.png new file mode 100644 index 0000000..a653b08 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Config/view.json new file mode 100644 index 0000000..5ad8690 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Config/view.json @@ -0,0 +1,144 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "format": "0,0.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Lower Range" + }, + { + "dataType": "Int4", + "format": "0,0", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Number Of Devices" + }, + { + "dataType": "Float4", + "format": "0,0.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tolerance" + }, + { + "dataType": "Float4", + "format": "0,0.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Upper Range" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/DH5_DP_AvgObj" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \t\"format\": \u00270,0\u0027,\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Control/resource.json new file mode 100644 index 0000000..9529d94 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ebf8c0d7540a90be389bba2474481d1be748044c2488f9dcbbaa5ff36e0805b8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T13:39:37Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Control/thumbnail.png new file mode 100644 index 0000000..5144ac5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Control/view.json new file mode 100644 index 0000000..97bd2df --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Control/view.json @@ -0,0 +1,228 @@ +{ + "custom": {}, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/DH1_DP_AvgObj1" + }, + "propConfig": { + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Auto Reject Enable", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Ocmd_AutoReject" + }, + "type": "tag" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "Auto Reject" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Output", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Select" + }, + "type": "tag" + } + } + }, + "props": { + "options": [ + { + "label": "Average", + "value": 0 + }, + { + "label": "Maximum", + "value": 1 + }, + { + "label": "Minimum", + "value": 2 + } + ], + "wrapMultiSelectValues": false + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Auto Reject_0" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Info/resource.json new file mode 100644 index 0000000..36bd48c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e9f7483708ee28234857e5ec2a3aa1ac8a7c78737a37e5496e48722ccd2d0ab", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Info/thumbnail.png new file mode 100644 index 0000000..583246a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Info/view.json new file mode 100644 index 0000000..41f6161 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Info/view.json @@ -0,0 +1,141 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Value AVG", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Value MAX", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Value MIN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Value OUT", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/DH5_DP_AvgObj" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Meta/resource.json new file mode 100644 index 0000000..65f15f0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "148b585b90fd3cb1b90dc43e5b81dad518b1faa324273f7685c6698b4bee3ac0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Meta/thumbnail.png new file mode 100644 index 0000000..51e8716 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Meta/view.json new file mode 100644 index 0000000..a11ab02 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Meta/view.json @@ -0,0 +1,227 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Trends/resource.json new file mode 100644 index 0000000..854270f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "97a913128ffeab2b41013a3fbab094b1beb39bbe8fc8dcb8db538e01f837416b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Trends/thumbnail.png new file mode 100644 index 0000000..ff437da Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Trends/view.json new file mode 100644 index 0000000..a36adcf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/AvgMinMax/Trends/view.json @@ -0,0 +1,481 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_SYSTEM" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + }, + "selected": true + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 4, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1732050757002 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1732050757002 + ], + "$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 + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Base/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Base/resource.json new file mode 100644 index 0000000..943d5c9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Base/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c2cba3cca9464a52e027759df1803232e20c2ae875494dd295ba17d2a6970e00", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Base/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Base/thumbnail.png new file mode 100644 index 0000000..6bb5024 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Base/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Base/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Base/view.json new file mode 100644 index 0000000..88a1517 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Base/view.json @@ -0,0 +1,382 @@ +{ + "custom": { + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + } + }, + "params": { + "objectName": "VSD", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1/Source 1 Switch" + }, + "propConfig": { + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.auth_almShelve": { + "access": "PUBLIC" + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 835 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "transforms": [ + { + "code": "\treturn \u0027%s\u0027%(value)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.perspective.closePopup(\u0027\u0027)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_1" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "image": { + "height": 20, + "icon": { + "path": "material/close" + }, + "width": 20 + }, + "primary": false, + "style": { + "classes": "buttons/circle-icon" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)", + "border-top": "1px solid var(--border)", + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "36px", + "shrink": 0 + }, + "props": { + "text": "Alarms" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmStatusTable" + }, + "position": { + "basis": "400px" + }, + "propConfig": { + "props.enableAcknowledge": { + "binding": { + "config": { + "path": "view.custom.auth.almAck" + }, + "type": "property" + } + }, + "props.enableShelve": { + "binding": { + "config": { + "path": "view.custom.auth.almShelve" + }, + "type": "property" + } + }, + "props.enableUnshelve": { + "binding": { + "config": { + "path": "view.custom.auth.almShelve" + }, + "type": "property" + } + }, + "props.filters.active.conditions": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\tpathArr \u003d value.split(\"]\")\n\t\n\treturn {\"provider\":pathArr[0].replace(\"[\",\"\"), \"source\":\"*\"+pathArr[1]+\"*\"}", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "columns": { + "active": { + "activeTime": { + "width": 90 + }, + "displayPath": { + "width": 300 + }, + "name": { + "enabled": false + }, + "priority": { + "width": 50 + }, + "source": { + "enabled": false + }, + "state": { + "width": "auto" + } + } + }, + "filters": { + "active": { + "priorities": { + "critical": false, + "high": false, + "low": false, + "medium": false + }, + "states": { + "clearUnacked": false + } + } + }, + "pager": { + "enabled": false + }, + "rowStyles": { + "activeAcked": { + "priorities": { + "critical": { + "backgroundColor": "#e2202888" + }, + "high": { + "backgroundColor": "#de7c3388" + }, + "low": { + "backgroundColor": "#7266b788" + }, + "medium": { + "backgroundColor": "#f4b83488" + } + } + }, + "activeUnacked": { + "priorities": { + "critical": { + "backgroundColor": "var(--alarmred)" + }, + "high": { + "backgroundColor": "var(--sunsetorange)" + }, + "low": { + "backgroundColor": "var(--coolpurple)" + }, + "medium": { + "backgroundColor": "var(--goldenyellow)" + } + } + } + }, + "toolbar": { + "enablePreFilters": false + } + }, + "type": "ia.display.alarmstatustable" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "250px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.objectName" + }, + "transforms": [ + { + "fallback": true, + "inputType": "scalar", + "mappings": [ + { + "input": "FltCodeEnables", + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Body" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "props.params.auth": { + "binding": { + "config": { + "path": "view.custom.auth" + }, + "type": "property" + } + }, + "props.params.objectName": { + "binding": { + "config": { + "path": "view.params.objectName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\"Library/Templates/\",{view.params.objectName},\"/Body\")" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "margin": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Body/resource.json new file mode 100644 index 0000000..f84c1d3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "76d8ba96c323fa2efe07cbb15e55a87f5af622fcb6536adc4f7845aaa39af5c6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Body/thumbnail.png new file mode 100644 index 0000000..266cdcf Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Body/view.json new file mode 100644 index 0000000..1fd7637 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Body/view.json @@ -0,0 +1,403 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Breaker", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Breaker A/Info" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Config/resource.json new file mode 100644 index 0000000..5c88b4e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f13e82b6c0aa7985006d373cb1a87df0215cd1360ccae052f9ae6100349a4e92", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Config/thumbnail.png new file mode 100644 index 0000000..9bc146c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Config/view.json new file mode 100644 index 0000000..53d979d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Config/view.json @@ -0,0 +1,95 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Info/resource.json new file mode 100644 index 0000000..ece4559 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "294be13f2baee7097334740a373f69530612d90ff10699d3fbb10949172bcb50", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Info/thumbnail.png new file mode 100644 index 0000000..fb8facb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Info/view.json new file mode 100644 index 0000000..0bef607 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Info/view.json @@ -0,0 +1,181 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Amps G", + "numDecimals": 4, + "options": [], + "visible": true + }, + { + "dataType": "Int4", + "display": true, + "displaySelection": 1, + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Status", + "numDecimals": 1, + "options": [ + "Open", + "Closed" + ], + "visible": true + }, + { + "dataType": "Boolean", + "display": true, + "displaySelection": 1, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Tripped", + "numDecimals": 1, + "options": [ + "Not Tripped", + "Tripped" + ], + "visible": true + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE2" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n if system.tag.read(tagPath).value \u003d\u003d None:\n \tdisplay \u003d False\n else:\n \tdisplay \u003d True\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"numDecimals\":1,\n \"options\": [],\n \"visible\": True,\n \"display\": display,\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Meta/resource.json new file mode 100644 index 0000000..1046144 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b8d17ee7e364c8910a0873209c5cac8cb9395f9b494bf0622ab17cf68a206516", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Meta/thumbnail.png new file mode 100644 index 0000000..c5f2965 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Meta/view.json new file mode 100644 index 0000000..e1becab --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Meta/view.json @@ -0,0 +1,269 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Alarm Description" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarms Enabled", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Alarms Enabled" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Area Served", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Area Served" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Type", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Breaker Type" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag ConfigV2", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Trends/resource.json new file mode 100644 index 0000000..aba3914 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1526ca438c32dbb236debbba507728ee0173984db03a3c3788940e70ccb76b12", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Trends/thumbnail.png new file mode 100644 index 0000000..2fbb0a5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Trends/view.json new file mode 100644 index 0000000..88da5e9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker A/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947448421 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947448421 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Body/resource.json new file mode 100644 index 0000000..fd055dd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "066b3f659c9438c959e96585f9d334f81166fb19cb8ff65a2e92c903cc0771c8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Body/thumbnail.png new file mode 100644 index 0000000..6c0aa97 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Body/view.json new file mode 100644 index 0000000..4aabe17 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Body/view.json @@ -0,0 +1,403 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Breaker", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Breaker E/Info" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Config/resource.json new file mode 100644 index 0000000..f684c93 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4d86eac85274a3ea9040a3fba03d6090958c796b044c4669899d10c923b4291f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Config/thumbnail.png new file mode 100644 index 0000000..8a8e857 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Config/view.json new file mode 100644 index 0000000..53d979d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Config/view.json @@ -0,0 +1,95 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Info/resource.json new file mode 100644 index 0000000..5ade187 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ca357704ccf7f2c703d038263f6b3f3517bf2cb8d4a250454eda21388d9e82bd", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Info/thumbnail.png new file mode 100644 index 0000000..de9c80e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Info/view.json new file mode 100644 index 0000000..834711a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Info/view.json @@ -0,0 +1,285 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "AB Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "BC Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "CA Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power Total", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Demand KW", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Boolean", + "display": true, + "displaySelection": 1, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Status", + "numDecimals": 1, + "options": [ + "Open", + "Closed" + ], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Boolean", + "display": true, + "displaySelection": 1, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Tripped", + "numDecimals": 1, + "options": [ + "Not Tripped", + "Tripped" + ], + "visible": true + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F3\n" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n if system.tag.read(tagPath).value \u003d\u003d None:\n \tdisplay \u003d False\n else:\n \tdisplay \u003d True\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"numDecimals\":1,\n \"options\": [],\n \"visible\": True,\n \"display\": display,\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Meta/resource.json new file mode 100644 index 0000000..c5ceb08 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e53e504e712ef2e5a93f373bb02ea8716e2c3f069cf528a371715a5f693268fc", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Meta/thumbnail.png new file mode 100644 index 0000000..16903a5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Meta/view.json new file mode 100644 index 0000000..e1becab --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Meta/view.json @@ -0,0 +1,269 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Alarm Description" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarms Enabled", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Alarms Enabled" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Area Served", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Area Served" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Type", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Breaker Type" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag ConfigV2", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Trends/resource.json new file mode 100644 index 0000000..aba3914 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1526ca438c32dbb236debbba507728ee0173984db03a3c3788940e70ccb76b12", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Trends/thumbnail.png new file mode 100644 index 0000000..2fbb0a5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Trends/view.json new file mode 100644 index 0000000..88da5e9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker E/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947448421 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947448421 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Body/resource.json new file mode 100644 index 0000000..2a4a5e8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3ab7ae03c2c2454025f154f1f1d48bec88fbb0b5c9a74a045e240f4c0b23d1d8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Body/thumbnail.png new file mode 100644 index 0000000..de3d969 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Body/view.json new file mode 100644 index 0000000..b6ec2c0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Body/view.json @@ -0,0 +1,403 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Breaker", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Breaker P/Info" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Config/resource.json new file mode 100644 index 0000000..f684c93 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4d86eac85274a3ea9040a3fba03d6090958c796b044c4669899d10c923b4291f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Config/thumbnail.png new file mode 100644 index 0000000..8a8e857 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Config/view.json new file mode 100644 index 0000000..53d979d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Config/view.json @@ -0,0 +1,95 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Info/resource.json new file mode 100644 index 0000000..d946a1b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f3362342f8dec4a450c4f022ea96d6d3b57ef507ebb343ed8a5e6f6b7cca4b1e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Info/thumbnail.png new file mode 100644 index 0000000..d282e69 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Info/view.json new file mode 100644 index 0000000..9e952d5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Info/view.json @@ -0,0 +1,389 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps Avg", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps G", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "AB Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "AN Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "BC Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "BN Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "CA Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "CN Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "L-L Voltage Avg", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "L-N Voltage Avg", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power Total", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Demand KW", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Energy", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Boolean", + "display": true, + "displaySelection": 1, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Status", + "numDecimals": 1, + "options": [ + "Open", + "Closed" + ], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "numDecimals": 2, + "options": [], + "visible": true + }, + { + "dataType": "Boolean", + "display": true, + "displaySelection": 1, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Tripped", + "numDecimals": 1, + "options": [ + "Not Tripped", + "Tripped" + ], + "visible": true + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n if system.tag.read(tagPath).value \u003d\u003d None:\n \tdisplay \u003d False\n else:\n \tdisplay \u003d True\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"numDecimals\":1,\n \"options\": [],\n \"visible\": True,\n \"display\": display,\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Meta/resource.json new file mode 100644 index 0000000..022dbb3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "99530aa9d4823f5dc49785da79924f390a0ab4a60f8390a7d21bdcf57a1d811b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Meta/thumbnail.png new file mode 100644 index 0000000..16903a5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Meta/view.json new file mode 100644 index 0000000..e1becab --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Meta/view.json @@ -0,0 +1,269 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Alarm Description" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarms Enabled", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Alarms Enabled" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Area Served", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Area Served" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Type", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Breaker Type" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag ConfigV2", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Trends/resource.json new file mode 100644 index 0000000..aba3914 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1526ca438c32dbb236debbba507728ee0173984db03a3c3788940e70ccb76b12", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Trends/thumbnail.png new file mode 100644 index 0000000..2fbb0a5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Trends/view.json new file mode 100644 index 0000000..88da5e9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker P/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947448421 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947448421 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Body/resource.json new file mode 100644 index 0000000..18d99c0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4fe077d3ebf08bc175c4dbd8d6eee907f2a33f685cce609b5d515512e2f3059f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Body/thumbnail.png new file mode 100644 index 0000000..5c135e4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Body/view.json new file mode 100644 index 0000000..119f5cb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Body/view.json @@ -0,0 +1,403 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Breaker", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_FE1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Breaker X/Info" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Config/resource.json new file mode 100644 index 0000000..f684c93 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4d86eac85274a3ea9040a3fba03d6090958c796b044c4669899d10c923b4291f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Config/thumbnail.png new file mode 100644 index 0000000..8a8e857 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Config/view.json new file mode 100644 index 0000000..53d979d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Config/view.json @@ -0,0 +1,95 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Info/resource.json new file mode 100644 index 0000000..d512327 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "415f8be3238ed103b7ed2b670bb83b4bbf6e1ac170f9313f71d03c1a25b91d87", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Info/thumbnail.png new file mode 100644 index 0000000..f9fffe2 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Info/view.json new file mode 100644 index 0000000..9f268a9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Info/view.json @@ -0,0 +1,506 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Amps A", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Amps B", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Amps C", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage AB", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage AN", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage BC", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage BN", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage CA", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage CN", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps Avg", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps G", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "AB Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "AN Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "BC Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "BN Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "CA Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "CN Voltage", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "L-L Voltage Avg", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "L-N Voltage Avg", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power Total", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Demand KW", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Energy", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Boolean", + "display": true, + "displaySelection": 1, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Status", + "numDecimals": 1, + "options": [ + "Open", + "Closed" + ], + "visible": true + }, + { + "dataType": "Float4", + "display": true, + "displaySelection": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "numDecimals": 1, + "options": [], + "visible": true + }, + { + "dataType": "Boolean", + "display": true, + "displaySelection": 1, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Tripped", + "numDecimals": 1, + "options": [ + "Not Tripped", + "Tripped" + ], + "visible": true + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52U" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n if system.tag.read(tagPath).value \u003d\u003d None:\n \tdisplay \u003d False\n else:\n \tdisplay \u003d True\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"numDecimals\":1,\n \"options\": [],\n \"visible\": True,\n \"display\": display,\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Meta/resource.json new file mode 100644 index 0000000..de5b61b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "28da9f43f302c10b68687993dd8287e353e3e10c097f33452469ce7b86ae2fe6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Meta/thumbnail.png new file mode 100644 index 0000000..16903a5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Meta/view.json new file mode 100644 index 0000000..e1becab --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Meta/view.json @@ -0,0 +1,269 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Alarm Description" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarms Enabled", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Alarms Enabled" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Area Served", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Area Served" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Type", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Breaker Type" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_CB-52F1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag ConfigV2", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Trends/resource.json new file mode 100644 index 0000000..5a05a00 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "061c0442b3d278916e8b5a08fc619ac63541cda37c2a0dc1e831301046ddb15a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Trends/thumbnail.png new file mode 100644 index 0000000..5622557 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Trends/view.json new file mode 100644 index 0000000..0090aa9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Breaker X/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_CB-52U" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947448421 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947448421 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Body/resource.json new file mode 100644 index 0000000..4597d5a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "aa1da9628552002e058dac28cc83e86a5bbe38a5a6dd02695137c83104ace6f2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Body/thumbnail.png new file mode 100644 index 0000000..27ffe19 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Body/view.json new file mode 100644 index 0000000..44564d4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Body/view.json @@ -0,0 +1,410 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "CRAC", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_CRAC1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Config/resource.json new file mode 100644 index 0000000..b042073 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9878da8cf0b915fac0a8b4656e7036e555b2f3492a6f4bcf3092257c087f2648", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Config/thumbnail.png new file mode 100644 index 0000000..0e2d9ee Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Config/view.json new file mode 100644 index 0000000..e0ac1bf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Config/view.json @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": null + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1" + }, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Control/resource.json new file mode 100644 index 0000000..79bf7dd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3c8a67fa71e05b47c25896c8bdbb5ec8f5f98d0ae003be2998428b5bf9896841", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Control/thumbnail.png new file mode 100644 index 0000000..7bc40ac Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Control/view.json new file mode 100644 index 0000000..3b49286 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Control/view.json @@ -0,0 +1,389 @@ +{ + "custom": { + "OCmd": { + "Reset": 0 + }, + "StsAuto": true + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_CRAC1" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Enable": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Command Enable" + }, + "type": "tag" + } + }, + "custom.StsAuto": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Unit Status" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Enable \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "EnableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Enable" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Enable" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Enable \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "DisableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Enable" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": false + }, + { + "input": 0, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Disable" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "375px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ResetBtn" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row02" + }, + "position": { + "basis": "375px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Tag Config_0" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Return Air Temperature Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "\u00270,0.##\u0027", + "name": "Return Air Temperature Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Tag Config" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Return Air Humidity Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "0,0.##", + "name": "Return Air Humidity Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 2 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "grow": 12 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Info/resource.json new file mode 100644 index 0000000..ed8c02d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3c81c6f7af35539a69973ec8053b6732c0ef51cd9b02e7a1f99c01dd73cb63dd", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Info/thumbnail.png new file mode 100644 index 0000000..6adfae8 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Info/view.json new file mode 100644 index 0000000..77b223c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Info/view.json @@ -0,0 +1,123 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Status", + "options": [ + "Open", + "Closed", + "Error" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Comm Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Trends/resource.json new file mode 100644 index 0000000..2eac0c4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "bce2b5e42b49a08bcbdeb402c1838c55685eadbab2dfb38dc76de6df30953135", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Trends/thumbnail.png new file mode 100644 index 0000000..7d7cf84 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Trends/view.json new file mode 100644 index 0000000..f49faa5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CAM/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947461621 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947461621 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Body/resource.json new file mode 100644 index 0000000..0242a52 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0c5ac5b654de1800065eb6721c79f04156cfd6ce716b97326b4f8e51010aeeae", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Body/thumbnail.png new file mode 100644 index 0000000..27ffe19 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Body/view.json new file mode 100644 index 0000000..2aadfd0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Body/view.json @@ -0,0 +1,428 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [ + "Return Air Humidity" + ] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "CRAC", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_CRAC1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Config/resource.json new file mode 100644 index 0000000..61a8f02 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ac27446b2b310ffd96df29ad744dafa0b47f8b293df7b31ee9e72816b574f7ef", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Config/thumbnail.png new file mode 100644 index 0000000..e7fab86 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Config/view.json new file mode 100644 index 0000000..38c2df4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Config/view.json @@ -0,0 +1,154 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature Low Setpoint" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_CRAC1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 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\",\"Int4\")\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# 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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Control/resource.json new file mode 100644 index 0000000..c2d9edf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2434929ffb6deb7ef04568514f274721c2e37eef87a264c97a814c612f77d6e1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Control/thumbnail.png new file mode 100644 index 0000000..9b5a1a6 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Control/view.json new file mode 100644 index 0000000..94a7acc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Control/view.json @@ -0,0 +1,378 @@ +{ + "custom": { + "OCmd": { + "Reset": 0 + }, + "StsAuto": false + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_HS1_RM1152_CRAC2" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Enable": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Command Enable" + }, + "type": "tag" + } + }, + "custom.StsAuto": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Unit Status" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Enable \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "EnableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Enable" + }, + "type": "property" + } + } + }, + "props": { + "text": "Enable" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Enable \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "DisableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Enable" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": false + }, + { + "input": false, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Disable" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "375px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ResetBtn" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row02" + }, + "position": { + "basis": "375px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%", + "grow": 2 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Tag Config_0" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Return Air Temp Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Int4", + "format": "\u00270,0.##\u0027", + "name": "Return Air Temp Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Tag Config" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Return Air Hum Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "0,0.##", + "name": "Return Air Hum Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50%", + "grow": 12 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Info/resource.json new file mode 100644 index 0000000..e615b2d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a48061f6bb4017052f07daf4ba0a315dc73c5499a50d3d80da0a8f90e11f9418", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Info/thumbnail.png new file mode 100644 index 0000000..a01b645 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Info/view.json new file mode 100644 index 0000000..359b21e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Info/view.json @@ -0,0 +1,325 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "DX Cooling Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Dehumidifier State", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Heater 1 Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Heater 2 Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Humidifier Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Unit Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Operation Status", + "options": [ + "Primary", + "Stand by" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Ckt1 Compressor 1 Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Ckt2 Compressor 1 Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Heater 1 Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Humidifier Runtime", + "numDecimals": 1, + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Meta/resource.json new file mode 100644 index 0000000..4bca754 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2aac2ff4afdf2d26faac278ea26194b3293338a5bb5ecf07ca00f677f7db8971", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Meta/thumbnail.png new file mode 100644 index 0000000..e13ba32 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Meta/view.json new file mode 100644 index 0000000..577c22c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Trends/resource.json new file mode 100644 index 0000000..5c6d4a8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "20a94fe3962c9439c49ac8e26951674a347f284fd936839c998153a57fcdf65a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Trends/thumbnail.png new file mode 100644 index 0000000..ed539ff Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Trends/view.json new file mode 100644 index 0000000..6cb2adb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAC/Trends/view.json @@ -0,0 +1,512 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [ + "Return Air Humidity" + ], + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeEndDate": { + "$": [ + "ts", + 0, + 1752533895036 + ], + "$ts": 1752533870984 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": { + "$": [ + "ts", + 0, + 1752533895036 + ], + "$ts": 1752526694984 + }, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1752533895034 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": { + "$": [ + "ts", + 192, + 1752533895034 + ], + "$ts": 1752533870984 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": { + "$": [ + "ts", + 192, + 1752533895034 + ], + "$ts": 1752526694984 + }, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1752533895034 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Body/resource.json new file mode 100644 index 0000000..5e65b0b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ab57cbce055a3e6ce5b236bcc440f8ac1358c26a0c88e55083d0189c879877d6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Body/thumbnail.png new file mode 100644 index 0000000..27ffe19 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Body/view.json new file mode 100644 index 0000000..0fb8add --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "CRAC", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_M1_2_MPR1240_CRAH_01" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Config/resource.json new file mode 100644 index 0000000..3d2f1d4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c380b3993789969b86890df0000f843aac04a6fd6cebe9df0e2910cfa020270a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Config/thumbnail.png new file mode 100644 index 0000000..41dc867 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Config/view.json new file mode 100644 index 0000000..7ebf9eb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Config/view.json @@ -0,0 +1,175 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Hi Limit RAH Alarm" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Lo Limit RAH Alarm" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature Low Setpoint" + } + ], + "auth": true + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_M5_6_MPR1150_CRAH_01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "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 + }, + "custom.auth": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.instances[0].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[1].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Control/resource.json new file mode 100644 index 0000000..4281014 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "84b1711b184d56d13fffe767108072f3cdd2828a9cff7833f2734247c6c9cb41", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Control/thumbnail.png new file mode 100644 index 0000000..c223149 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Control/view.json new file mode 100644 index 0000000..6a8f228 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Control/view.json @@ -0,0 +1,469 @@ +{ + "custom": { + "OCmd": {}, + "StsAuto": null + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]ER1245/SATB1_P1_4_ER1245_CRAH_01" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Enable": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unit Enable" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Alarm Reset Command" + }, + "type": "tag" + } + }, + "custom.StsAuto": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Unit Status" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Enable \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "EnableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Enable" + }, + "type": "property" + } + } + }, + "props": { + "text": "Enable" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Enable \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "DisableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Enable" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Disable" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "375px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ResetBtn" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row02" + }, + "position": { + "basis": "375px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%", + "grow": 2 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Tag Config_2" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Return Air Temperature Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "\u00270,0.##\u0027", + "name": "Return Air Temperature Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Tag Config_0" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Supply Air Temperature Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "\u00270,0.##\u0027", + "name": "Supply Air Temperature Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Checkbox" + }, + "position": { + "basis": "52px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Supply Fan Override" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Supply Fan Override", + "textPosition": "left" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Tag Config_1" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "struct": { + "auth": "{view.params.auth.control}", + "sf_O": "{../Checkbox.props.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027auth\u0027] \u0026\u0026 {value}[\u0027sf_O\u0027]", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Supply Fan Speed Command\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "\u00270,0.##\u0027", + "name": "Supply Fan Speed Command", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50%", + "grow": 12 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Info/resource.json new file mode 100644 index 0000000..38d731a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5f7486d4011286e899a17ace17462e8a704a1ac1ad79ff1feacc8789c058c675", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Info/thumbnail.png new file mode 100644 index 0000000..1f9e0d2 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Info/view.json new file mode 100644 index 0000000..8ef0b5b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Info/view.json @@ -0,0 +1,314 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": 0, + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "CHW Valve Command", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1000, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Speed 1", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1005, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Speed 2", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": 0, + "instancePosition": 1010, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Speed 3", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Speed Command", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "heart": true, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "BMS Heart Beat", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Comms", + "options": [ + "Disconnected", + "Connected" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1002, + "instanceStyle": { + "classes": "" + }, + "name": "Fan 1 Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1007, + "instanceStyle": { + "classes": "" + }, + "name": "Fan 2 Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1012, + "instanceStyle": { + "classes": "" + }, + "name": "Fan 3 Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 900, + "instanceStyle": { + "classes": "" + }, + "name": "Control Mode", + "options": [ + "BMS", + "Hand" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Dirty Filter", + "options": [ + "OK", + "Dirty" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "###.##", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Run Hours", + "options": [] + } + ], + "dictionary": { + "ER1242": 1, + "key_1": 2 + }, + "room": "ER1242" + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_P1_1_ER1242_CRAH_01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.dictionary": { + "persistent": true + }, + "custom.room": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Room" + }, + "type": "tag" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Meta/resource.json new file mode 100644 index 0000000..5735bd3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f4c6bbe1bb6ea2111796e541700501398ace2e0aceff9d3214ccb96316764805", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Trends/resource.json new file mode 100644 index 0000000..6bfc08f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "de91a50982b75b327b99f0842052438c51f1d0311ec4a586bfd7aa92cbe411c3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Trends/thumbnail.png new file mode 100644 index 0000000..185855f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Trends/view.json new file mode 100644 index 0000000..e1e61c5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/CRAH/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SATB1_P2_1_ER1248_CRAH_01" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947747922 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947747922 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Body/resource.json new file mode 100644 index 0000000..99aa4eb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2aa895fa9b6f0fb17399704cb78a076db5ca772c8902acb2feefa2c665dc9488", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Body/thumbnail.png new file mode 100644 index 0000000..b844c94 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Body/view.json new file mode 100644 index 0000000..bd5c748 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Body/view.json @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Chiller LLS", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 2 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Config/resource.json new file mode 100644 index 0000000..919f835 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dc975be1ede7cb33ea743f5e72a82f95686eac0f7b7543ddfc7ec65916a1cc25", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Config/view.json new file mode 100644 index 0000000..87526e2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Config/view.json @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Info/resource.json new file mode 100644 index 0000000..83a3225 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fed0f05ad76da28d6d99ea1700c9d65d142d28159449143a03cd1e3ae405dd74", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Info/thumbnail.png new file mode 100644 index 0000000..9ac3e15 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Info/view.json new file mode 100644 index 0000000..341494c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Info/view.json @@ -0,0 +1,207 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4Array", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Device Runtime", + "options": [] + }, + { + "dataType": "Int4Array", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Ref_Devices", + "options": [] + }, + { + "dataType": "Int4Array", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_Avail_Devices", + "options": [] + }, + { + "dataType": "Int4Array", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_Devices", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_LineUp_Adjusting", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_LineUp_Complete", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_TransActive", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Val_Avail", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Val_Demand", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Val_Fdbk", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Meta/resource.json new file mode 100644 index 0000000..4f97b4e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "783b2547578393ea0465021a8200d1ecd8cfc8e27a02fc9a7a57faf2083fc32c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Meta/view.json new file mode 100644 index 0000000..5335abd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS\n" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Trends/resource.json new file mode 100644 index 0000000..7ac9fbe --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8c4d530d8c589a8db00003155b181e3e259e3ab4586f2391ca3f40dfc4386ee1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Trends/thumbnail.png new file mode 100644 index 0000000..4ba3cba Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Trends/view.json new file mode 100644 index 0000000..34c26b9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller LLS/Trends/view.json @@ -0,0 +1,621 @@ +{ + "custom": { + "trendConfig": { + "allPens": [ + { + "group": "misc", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Demand_SP", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Demand_SP" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Enable_ChillerCMDS", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Enable_ChillerCMDS" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ORef_Chillers", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/ORef_Chillers" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ref_Chillers", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Ref_Chillers" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_Avail_Chiller", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Sts_Avail_Chiller" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_Chillers", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Sts_Chillers" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_LineUp_Adjusting", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Sts_LineUp_Adjusting" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_LineUp_Complete", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Sts_LineUp_Complete" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Sts_TransActive", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Sts_TransActive" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Val_Avail", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Val_Avail" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Val_Demand", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Val_Demand" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Val_Fdbk", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1/Val_Fdbk" + } + ] + } + ] + } + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller LLS 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947775165 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947775165 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Body/resource.json new file mode 100644 index 0000000..5eac9a5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e60dca21faa6aae357aade7cfe9edfc0c2661fd0cd540c7f965190f1d9b30129", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Body/thumbnail.png new file mode 100644 index 0000000..c914516 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Body/view.json new file mode 100644 index 0000000..033769a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Chiller", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Config/resource.json new file mode 100644 index 0000000..1117276 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "566a65b4a6a73fb3dc0845044d0b975a80a3028cb10fc3984d811799962474e2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:24:27Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Config/thumbnail.png new file mode 100644 index 0000000..508dcfe Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Config/view.json new file mode 100644 index 0000000..c8b514d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Config/view.json @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_SYSTEM" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Control/resource.json new file mode 100644 index 0000000..1df6ff3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "56f92423d0c3c6ff8af11d56c798df583b1335942c2650c896cfb93035a156a7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:24:19Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Control/thumbnail.png new file mode 100644 index 0000000..3de047b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Control/view.json new file mode 100644 index 0000000..e4b7029 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Control/view.json @@ -0,0 +1,354 @@ +{ + "custom": { + "Mode": null, + "OCmd_Reset": null, + "OCmd_Run": null, + "System_HOA": null + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_SYSTEM" + }, + "propConfig": { + "custom.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/MODE" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.OCmd_Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Reset" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.OCmd_Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Run" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.System_HOA": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/System HOA" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd_Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.custom.System_HOA} \u003d True,\r\n\tif({view.custom.Mode}\u003d False ,\r\n\t\tif({view.params.auth.control}\u003dTrue,True,False),\r\n\tFalse),\r\nFalse)" + }, + "type": "expr" + } + } + }, + "props": { + "primary": false, + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd_Run \u003d False\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.custom.System_HOA} \u003d True ,\r\n\tif({view.custom.Mode}\u003d False,\r\n\t\tif({view.params.auth.control} \u003d True ,True, False),\r\n\tFalse),\r\nFalse)" + }, + "type": "expr" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd_Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.custom.System_HOA} \u003d True ,if({view.custom.Mode}\u003d False ,if({view.params.auth.control} \u003d True,True,False),False),False)" + }, + "type": "expr" + } + } + }, + "props": { + "primary": false, + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd_Run \u003d False\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.custom.System_HOA} \u003d True ,if({view.custom.Mode}\u003d False ,if({view.params.auth.control} \u003d True , True, False),False),False)" + }, + "type": "expr" + } + } + }, + "props": { + "primary": false, + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd_Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.custom.System_HOA} \u003d True ,if({view.custom.Mode}\u003d False , if({view.params.auth.control} \u003d True,True,False),False),False)" + }, + "type": "expr" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Info/resource.json new file mode 100644 index 0000000..5d471a7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4cb5cb6fc1ae73c581485ebea87da411ead23416413b405aaa4510eb7422c6ff", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:24:15Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Info/thumbnail.png new file mode 100644 index 0000000..a5e6930 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Info/view.json new file mode 100644 index 0000000..3be1e8b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Info/view.json @@ -0,0 +1,827 @@ +{ + "custom": { + "OP_Codes": [ + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "No code", + "Manual Override", + "Daily Schedule Shutdown", + "Unit Switch Off", + "Remote Controlled Shutdown", + "Reserved", + "Flow Switch Shutdown", + "VSD Cooling Shutdown", + "Serial Number Shutdown", + "Reserved", + "Discharge Spuerheat Recovery", + "Reserved", + "No Run Permissive", + "Anti-Recycle Timer Active", + "System Switch Off", + "System Not Running", + "System Running", + "Discharge Pressure Limiting", + "Suction Pressure Limiting", + "Motor Current Limiting", + "Free Cooliong", + "ISN/BAS Motor Current Limiting", + "Remote Motor Current Limiting", + "System Shutting Down", + "VSD Pre-Charging", + "VSD Baseplate Temp Limiting", + "VSD Internal Ambient Temp Limiting", + "Sounf Limiting", + "ISN Sounf Limiting", + "Remote Sound Limiting", + "Pulldown Motor Current Limiting", + "Cooling Demand Shutdown", + "Input Current Limiting", + "ISN Input Current Limiting", + "Remote Input Current Limiting", + "Pulldown Input Current Limiting" + ], + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Comm Interface Percentage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Economizer Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Economizer Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 1 Fan Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 2 Fan Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "FLA Motor 1 Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "FLA Motor 2 Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Compressor 1", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Compressor 2", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power System 1 Fan", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power System 2 Fan", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "VSD CMD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "VSD Output", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Ambient Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Eductor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Motor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Eductor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Motor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 1 Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 2 Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator In Water Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator Out Water Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Discharge Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Flow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Runtime", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Runtime", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Active Setpoint", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Chiller System Available", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Starts", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Starts", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 1 Fan Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 2 Fan Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator Heater Status", + "options": [ + "Off", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator Pump Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Flow Switch", + "options": [ + "OFF", + "Activated" + ] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 0, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 OpCode" + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 OpCode" + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System HOA", + "options": [ + "LOCAL", + "REMOTE" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System Interlock Active", + "options": [ + "OK", + "Interlocked" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System Permissive OK", + "options": [ + "Not OK", + "value" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Oil Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Oil Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Discharge Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Discharge Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Suction Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Discharge Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Suction Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System Suction Cutout", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_SYSTEM" + }, + "propConfig": { + "custom.OP_Codes": { + "persistent": true + }, + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.allTags[40].options": { + "binding": { + "config": { + "path": "view.custom.OP_Codes" + }, + "type": "property" + } + }, + "custom.allTags[41].options": { + "binding": { + "config": { + "path": "view.custom.OP_Codes" + }, + "type": "property" + } + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Meta/resource.json new file mode 100644 index 0000000..eaf4b0c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3eeeebfbec406ac1145ed36a85c9beddfa623b1ea233d67f482de8af279777a7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:31:44Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Meta/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Meta/view.json new file mode 100644 index 0000000..4b4306c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Meta/view.json @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Trends/resource.json new file mode 100644 index 0000000..9fe2128 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9349e5a157dc2b3e5457a03fe914e05c7be2326b79992ddc9591386c08b5633a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Trends/thumbnail.png new file mode 100644 index 0000000..15d0ae4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Trends/view.json new file mode 100644 index 0000000..c15f9b3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Chiller/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Chiller 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947762435 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947762435 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Body/resource.json new file mode 100644 index 0000000..2d732fd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3e79966c279ef43b138a112fed25179108982eb1e046c2d360241c79581dfb95", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Body/thumbnail.png new file mode 100644 index 0000000..bd4fc76 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Body/view.json new file mode 100644 index 0000000..fb72f4c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Body/view.json @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "ChillerSystem", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_SYSTEM" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Config/resource.json new file mode 100644 index 0000000..57f8809 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f9ba520047d86aaac03a92f0d5c26d44e4d83231b2e892fe764becf07518bb34", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Config/thumbnail.png new file mode 100644 index 0000000..8fd08f9 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Config/view.json new file mode 100644 index 0000000..1ef4019 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Config/view.json @@ -0,0 +1,216 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Temperature DB" + }, + { + "dataType": "Float4", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Max DP" + }, + { + "dataType": "Float4", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Max Differential Pressure" + }, + { + "dataType": "Float4", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Max Flow" + }, + { + "dataType": "Float4", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Min Flow SP" + }, + { + "dataType": "Int8", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Close Delay SP" + }, + { + "dataType": "Int8", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Open Delay SP" + }, + { + "dataType": "Int8", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Run Delay SP" + }, + { + "dataType": "Int8", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Stop Delay SP" + }, + { + "dataType": "Int8", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Startup Alarm Delay SP" + }, + { + "dataType": "Int8", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Temperature Delay" + }, + { + "dataType": "Int8", + "format": "##,###.##", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Valve Close Delay SP" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_SYSTEM" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType,\n\t \"format\": \u0027##,###.##\u0027\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Control/resource.json new file mode 100644 index 0000000..58de8ef --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "59659b81bdc3f47d8566ff39b2706724088df438c95f82e146a3a40be008aa16", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:06:46Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Control/thumbnail.png new file mode 100644 index 0000000..2129ff4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Control/view.json new file mode 100644 index 0000000..2242a8e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Control/view.json @@ -0,0 +1,526 @@ +{ + "custom": { + "OCmd": { + "OOS": null + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_SYSTEM" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Maint": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Maintenance" + }, + "type": "tag" + } + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/MODE" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Run" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False\n\tprint \"PRIME Manual button pressed\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StartBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode},True,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StopBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode}, True,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Maintenance", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.Maint" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "Maintenance" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Expiration date and time" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "DateTimeInput_0" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/ExpirationTime" + }, + "type": "tag" + } + } + }, + "props": { + "formattedValue": null, + "style": { + "paddingLeft": 100, + "paddingRight": 100 + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Info/resource.json new file mode 100644 index 0000000..85b6497 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c75f442f49c1f4742bc23d1a29fb49ef47b616182462af4ed3c537ac31e20474", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Info/thumbnail.png new file mode 100644 index 0000000..a93220e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Info/view.json new file mode 100644 index 0000000..186d8bb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Info/view.json @@ -0,0 +1,918 @@ +{ + "custom": { + "FLT_Codes": [ + "0: No Fault", + "1: Low Ambient Temperature", + "2: High Ambient Temperature", + "3: Low Chilled Liquid Temperature", + "4: VSD Initialization Failure", + "5: Low RTC Battery Voltage", + "6: Invalid Number of Compressors Selected", + "7: VSD Communications Failure", + "8: Pre-charge Low DC Bus Voltage", + "9: Pre-charge DC Bus Voltage Imbalance", + "10: High DC Bus Voltage", + "11: Low DC Bus Voltage", + "12: DC Bus Voltage Imbalance", + "13: High VSD Ambien Temperature", + "14: Single Phase Input", + "15: VSD Power Supply Fault", + "16: VSD Logic Board Fault", + "17: Motor Current Overload (Hardware)", + "18: CT Plug Fault", + "19: High Harmonic Filter Temperature", + "20: Evap Anti-Freeze Pump Fault", + "21: Low Heat Exchange Temperature", + "22: Replace RTC Battery", + "23: N/A", + "24: N/A", + "25: N/A", + "26: N/A", + "27: High Discharge Pressure", + "28: High Differential Oil Pressure", + "29: Low Differential Oil Pressure", + "30: Low Suction Pressure", + "31: High Discharge Temperature", + "32: N/A", + "33: Eductor Clog Fault", + "34: Sensor Failure", + "35: Low Motor Current", + "36: High Motor Temperature", + "37: Pre-charge Low DC Bus Voltage Immbalance", + "38: Pre-charge DC Bus Voltage Imbalance", + "39: High DC Bus Voltage", + "40: Low DC Bus Voltage", + "41: DC Bus Voltage Imbalance", + "42: High Motor Current", + "43: Motor Current Overload", + "44: IGBT Gate Driver Fault", + "45: High Baseplate Temperature", + "46: Single Phase Input", + "47: VSD Run Signal Fault", + "48: High Discharge Press (HPCO)", + "49: Low Suction Superheat", + "50: Control Valve Fault", + "51: Low Discharge Superheat", + "52: Low Suction PRessure Smart Freeze", + "53: Isolation Valve Failed to Close Warning", + "54: Isolation Valve failed to Open Fault", + "55: High Discharge Pressure Rate", + "56: Condenser Fan VSD Fault Warning", + "57: N/A", + "58: N/A", + "59: N/A", + "60: N/A", + "61: N/A", + "62: N/A" + ], + "OP_Codes": [ + "0: No code", + "1: No code", + "2: No code", + "3: No code", + "4: No code", + "5: No code", + "6: No code", + "7: No code", + "8: No code", + "9: No code", + "10: No code", + "11: No code", + "12: No code", + "13: No code", + "14: 1No code", + "15: No code", + "16: No code", + "17: No code", + "18: No code", + "19: No code", + "20: No code", + "21: No code", + "22: No code", + "23: No code", + "24: No code", + "25: No code", + "26: No code", + "27: No code", + "28: No code", + "29: No code", + "30: No code", + "31: No code", + "32: No code", + "33: No code", + "34: No code", + "35: No code", + "36: No code", + "37: No code", + "38: No code", + "39: No code", + "40: No code", + "41: No code", + "42: No code", + "43: No code", + "44: No code", + "45: No code", + "46: No code", + "47: No code", + "48: No code", + "49: No code", + "50: No code", + "51: No code", + "52: No code", + "53: No code", + "54: No code", + "55: No code", + "56: No code", + "57: No code", + "58: No code", + "59: No code", + "60: No code", + "61: No code", + "62: No code", + "63: Manual Override", + "64: Daily Schedule Shutdown", + "65: Unit Switch Off", + "66: Remote Controlled Shutdown", + "67: Loss of External Communications", + "68: Flow Switch Shutdown", + "69: VSD Cooling Shutdown", + "70: Serial Number Shutdown", + "71: N/A", + "72: Discharge Spuerheat Recovery", + "73: N/A", + "74: No Run Permissive", + "75: Anti-Recycle Timer Active", + "76: System Switch Off", + "77: System Not Running", + "78: System Running", + "79: Discharge Pressure Limiting", + "80: Suction Pressure Limiting", + "81: Motor Current Limiting", + "82: Free Cooliong", + "83:BAS Motor Current Limiting", + "84: Remote Motor Current Limiting", + "85: System Pumping Down", + "86: VSD Pre-Charging", + "87: VSD Baseplate Temp Limiting", + "88: VSD Internal Ambient Temp Limiting", + "89: Sounf Limiting", + "90: BAS Sounf Limiting", + "91: Remote Sound Limiting", + "92: Pulldown Motor Current Limiting", + "93: Cooling Demand Shutdown", + "94: Input Current Limiting", + "95: BAS Input Current Limiting", + "96: Remote Input Current Limiting", + "97: Pulldown Input Current Limiting" + ], + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 20, + "instanceStyle": { + "classes": "" + }, + "name": "Comm Interface Percentage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 43, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Economizer Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 44, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Economizer Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 51, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 1 Fan Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 52, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 2 Fan Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 29, + "instanceStyle": { + "classes": "" + }, + "name": "FLA Motor 1 Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 30, + "instanceStyle": { + "classes": "" + }, + "name": "FLA Motor 2 Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Load", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 31, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 32, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 27, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Fan Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 28, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Fan Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 17, + "instanceStyle": { + "classes": "" + }, + "name": "VSD CMD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 19, + "instanceStyle": { + "classes": "" + }, + "name": "VSD Output", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Ambient Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 37, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Eductor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 39, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Motor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 38, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Eductor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 40, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Motor Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 53, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 1 Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 54, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 2 Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 16, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator In Water Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 18, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator Out Water Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 22, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Discharge Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Flow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 45, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Runtime", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 46, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Runtime", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Active Setpoint", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Chiller System Available", + "options": [ + "Not ready", + "Ready" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 47, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Starts", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 33, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Status", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 48, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Starts", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 34, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Status", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 49, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 1 Fan Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 50, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser 2 Fan Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator Heater Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Evaporator Pump Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Flow Switch", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": -3, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 OpCode" + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": 0, + "instancePosition": 0, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Fault Code" + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": 0, + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Fault Code" + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": 0, + "instancePosition": -2, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 OpCode" + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "System HOA", + "options": [ + "Local", + "Remote" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "System Interlock Active", + "options": [ + "Not Tripped", + "Tripped" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "System Permissive OK", + "options": [ + "Not Ready", + "Ready" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 41, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Oil Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 42, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Oil Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 23, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Discharge Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 21, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Discharge Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 25, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Suction Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 24, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Discharge Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 26, + "instanceStyle": { + "classes": "" + }, + "name": "System 2 Suction Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "System Suction Cutout", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 20, + "instanceStyle": { + "classes": "" + }, + "name": "System 1 Discharge Pressure", + "options": [], + "visible": false + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_SYSTEM" + }, + "propConfig": { + "custom.FLT_Codes": { + "persistent": true + }, + "custom.OP_Codes": { + "persistent": true + }, + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.allTags[38].options": { + "binding": { + "config": { + "path": "view.custom.OP_Codes" + }, + "type": "property" + } + }, + "custom.allTags[39].options": { + "binding": { + "config": { + "path": "view.custom.FLT_Codes" + }, + "type": "property" + } + }, + "custom.allTags[40].options": { + "binding": { + "config": { + "path": "view.custom.FLT_Codes" + }, + "type": "property" + } + }, + "custom.allTags[41].options": { + "binding": { + "config": { + "path": "view.custom.OP_Codes" + }, + "type": "property" + } + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Meta/resource.json new file mode 100644 index 0000000..ad79dd1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a3b1a5ef6faf7e59421906fdd2475d9ec0c49116aa21b3be3510a4d2f848531f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Meta/view.json new file mode 100644 index 0000000..31f6006 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Meta/view.json @@ -0,0 +1,227 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value [\u0027auth\u0027]\t\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Trends/resource.json new file mode 100644 index 0000000..c932085 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "04e617c8664a7e30ef7c8a84581f71095415c181bc677ac9bf374fd302df559e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Trends/thumbnail.png new file mode 100644 index 0000000..d39f37b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Trends/view.json new file mode 100644 index 0000000..52268c4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ChillerSystem/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_SYSTEM" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947799223 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947799223 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Body/resource.json new file mode 100644 index 0000000..00d983b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0ba8b412a02b90e7bf73db4db518c29009b77f94735676398c081b2196b76262", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Body/thumbnail.png new file mode 100644 index 0000000..a969c6a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Body/view.json new file mode 100644 index 0000000..4760c50 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Body/view.json @@ -0,0 +1,429 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_02" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "params": { + "tagPath_2": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_DH5_HS1_GA1182_HUM2" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Config/resource.json new file mode 100644 index 0000000..40e110e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c547c9841bbdf46f1c6bdb1f513655958f3fd866852f19c2ae1205d42c4dc81d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Config/thumbnail.png new file mode 100644 index 0000000..da43120 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Config/view.json new file mode 100644 index 0000000..43ec150 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Config/view.json @@ -0,0 +1,155 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail Delay SP" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Run Delay Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Stop Delay Setpoint " + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime Reset" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air RH SP" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_DHUM3" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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\",\"Int4\")\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# 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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Control/resource.json new file mode 100644 index 0000000..ee30c79 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f2cb84e6e366ccd577878b7086ba34a62eef700d86d43840880d989fcbe519ff", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:06:47Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Control/thumbnail.png new file mode 100644 index 0000000..4a8e5dd Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Control/view.json new file mode 100644 index 0000000..e109359 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Control/view.json @@ -0,0 +1,627 @@ +{ + "custom": { + "OCmd": {}, + "OCmd_MB": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_DHUM3" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Run" + }, + "type": "tag" + } + }, + "custom.OCmd_MB": { + "persistent": true + }, + "custom.OCmd_MB.DHUM_Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/DHUM Reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StartBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StopBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd_MB.DHUM_Reset \u003d True\n\tself.view.custom.OCmd.Reset \u003d True\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RstBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd_MB.Reset" + }, + "type": "property" + } + } + }, + "props": { + "text": "Alarm Reset" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "EnableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd_MB.Enable" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.OCmd_MB.Enable" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Disable" + }, + { + "input": 0, + "output": "Enable" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px", + "display": false + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Info/resource.json new file mode 100644 index 0000000..b3c6412 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5f52c7660a989c2fecdf93a5ec6d19451f94f9747ce0c31d7f200ab51227307c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Info/thumbnail.png new file mode 100644 index 0000000..6b07b98 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Info/view.json new file mode 100644 index 0000000..9701d8a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Info/view.json @@ -0,0 +1,161 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "EquipCounts", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Leak Detector", + "options": [ + "No Leak", + "Leak Detected" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "options": [ + "No Avaliable", + "Available" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Stopped", + "Running" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_DHUM3" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\t\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Trends/resource.json new file mode 100644 index 0000000..1de5190 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3c7e53905c2ed035f70e9720a79abdf8ea93c655753c78e1022e8ebf633929f4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Trends/thumbnail.png new file mode 100644 index 0000000..e3a81ac Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Trends/view.json new file mode 100644 index 0000000..c06bff4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DHUM/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947980653 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947980653 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Body/resource.json new file mode 100644 index 0000000..93e4d13 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0361a23c967985fc7e71609f348fefad3fa70fbc6b451e41e04013254167e4f3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Body/thumbnail.png new file mode 100644 index 0000000..fe7e824 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Body/view.json new file mode 100644 index 0000000..abd902b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Body/view.json @@ -0,0 +1,458 @@ +{ + "custom": { + "UDTSelected": 2, + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "DOAS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02" + }, + "propConfig": { + "custom.UDTSelected": { + "binding": { + "config": { + "path": "/root/TabContainer/Status.props.params.tagPath" + }, + "transforms": [ + { + "code": "\ttypeID \u003d system.tag.getConfiguration(value)[0][\u0027typeId\u0027]\n\treturn typeID", + "type": "script" + }, + { + "fallback": 1, + "inputType": "scalar", + "mappings": [ + { + "input": "Objects/Air/DOAS", + "output": 1 + }, + { + "input": "Objects/Air/DOAS 2", + "output": 2 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info \u0027,{view.custom.UDTSelected})" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config \u0027, {view.custom.UDTSelected})" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 1/resource.json new file mode 100644 index 0000000..1432a02 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "25a5bd91e2e2e7443b5a7f6a55a1b175afb42e9331b199d2c65414ac4c730755", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:31:42Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 1/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 1/thumbnail.png new file mode 100644 index 0000000..b9cf66d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 1/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 1/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 1/view.json new file mode 100644 index 0000000..933d080 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 1/view.json @@ -0,0 +1,139 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Limit Bld Press Alarm Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Supply Air Dewpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Supply Air Temperature Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Low Supply Air Temperature Setpoint" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[default]_types_/Objects/Air/DOAS" + }, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 2/resource.json new file mode 100644 index 0000000..0d54119 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0e92938c70d1f62aeef37f4d9fe7bb449fd23909f102b3a0f47a08770a7ef1be", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 2/thumbnail.png new file mode 100644 index 0000000..e584f93 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 2/view.json new file mode 100644 index 0000000..f101090 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Config 2/view.json @@ -0,0 +1,139 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Limit Bld Press Alarm Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Supply Air Dewpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Supply Air Temperature Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Low Supply Air Temperature Setpoint" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[default]_types_/Objects/Air/DOAS 2" + }, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Control/resource.json new file mode 100644 index 0000000..8e7b697 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fe97f7392ba666537c2eca0bcaa1b54285779d95bcc4279d5207577e0ea0fb5e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Control/thumbnail.png new file mode 100644 index 0000000..9358ace Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Control/view.json new file mode 100644 index 0000000..2060f11 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Control/view.json @@ -0,0 +1,415 @@ +{ + "custom": { + "OCmd_Run": true, + "Schedule_Force_Occupied": 1 + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + "propConfig": { + "custom.Schedule_Force_Occupied": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Schedule Force Occupied" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.Schedule_Force_Occupied \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.Schedule_Force_Occupied" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "OFF" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.Schedule_Force_Occupied \u003d 1\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.Schedule_Force_Occupied" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Occupied" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.Schedule_Force_Occupied \u003d 2\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_1" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.Schedule_Force_Occupied" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Unoccupied" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Tag Config" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Supply Air Temperature Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "0,0.##", + "min": 1, + "name": "Supply Air Temperature Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Tag Config_0" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Supply Air Dewpoint Setpoint\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Float4", + "format": "0,0.##", + "min": 1, + "name": "Supply Air Dewpoint Setpoint", + "options": [] + }, + "path": "Library/Framework/Tag Config" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%", + "grow": 4 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Enable" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Controls/Schedule Force Occupied" + }, + "type": "tag" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "SubEnable", + "visible": false + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "grow": 1, + "shrink": 2 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 1/resource.json new file mode 100644 index 0000000..3ec0121 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "86c9d94d12a2734f6710c5212a93e0ff4245c71757bb14209dd2775071428cb0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 1/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 1/thumbnail.png new file mode 100644 index 0000000..d4658e6 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 1/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 1/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 1/view.json new file mode 100644 index 0000000..240cf88 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 1/view.json @@ -0,0 +1,398 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor A Signal", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B Signal", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser A Signal", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser B Signal", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Modulating Hot Gas Reheat Valve Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Building Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor A Enabled", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B1 Enabled", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B2 Enabled", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Enabled Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Exhaust Fan Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Heating Enabled Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Remote Forced Occupied Status", + "options": [ + "Unforced", + "Forced" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge A Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge B Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outdoor Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 2/resource.json new file mode 100644 index 0000000..9454535 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0fc8a448156531d58a8391ec489bd5a9e9a6cd8f6c77fccbf787c1288f9adba3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 2/thumbnail.png new file mode 100644 index 0000000..91b7c19 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 2/view.json new file mode 100644 index 0000000..1244ad0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Info 2/view.json @@ -0,0 +1,423 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor A1 Signal", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B1 Signal", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser A1 Signal", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser B1 Signal", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Condenser C Signal", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Modulating Hot Gas Reheat Valve Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor A1 Enabled", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B1 Enabled", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor C1 Enabled", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor C2 Enabled", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Enabled Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Exhaust Fan Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Heating Enabled Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Remote Forced Occupied Status", + "options": [ + "Unforced", + "Forced" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge A Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge B Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge C Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outdoor Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Meta/resource.json new file mode 100644 index 0000000..5735bd3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f4c6bbe1bb6ea2111796e541700501398ace2e0aceff9d3214ccb96316764805", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Trends/resource.json new file mode 100644 index 0000000..b227922 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "be7a6515630d7caa93b796ca88b06be7f49b9d985ef6274c7556ef33a9c0928b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Trends/thumbnail.png new file mode 100644 index 0000000..dc3f948 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Trends/view.json new file mode 100644 index 0000000..e966743 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DOAS/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/DOAS1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947830409 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947830409 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Body/resource.json new file mode 100644 index 0000000..d5c4cb4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "83a7d8ce9b6d4f744ecb24fe25b0cfc6ed06bf33ebfdfe332c48f119e3314db1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Body/thumbnail.png new file mode 100644 index 0000000..0a74829 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Body/view.json new file mode 100644 index 0000000..5e578e4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Body/view.json @@ -0,0 +1,429 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [ + "Breaker Open Way 01", + "Breaker Open Way 02" + ] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Config/resource.json new file mode 100644 index 0000000..d632711 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dbfbc06f1a61486103b0d937a45ac18ac699dc3592dcb2d1e42c9bb24743199e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Config/view.json new file mode 100644 index 0000000..76248e3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Config/view.json @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/DS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info Old/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info Old/resource.json new file mode 100644 index 0000000..8cc51b5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info Old/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dcef7de00338eca203828f59835d8c41a1bc147c094130a6c126c0ff350f09ad", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info Old/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info Old/thumbnail.png new file mode 100644 index 0000000..3b9892c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info Old/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info Old/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info Old/view.json new file mode 100644 index 0000000..a6594a9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info Old/view.json @@ -0,0 +1,283 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 0, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Closed Way 01", + "options": [ + "Not Closed", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Closed Way 02", + "options": [ + "Not Closed", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Closed Way 03", + "options": [ + "Not Closed", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Closed Way 04", + "options": [ + "Not Closed", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Grounded Way 01", + "options": [ + "Not Grounded", + "Grounded" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Grounded Way 02", + "options": [ + "Not Grounded", + "Grounded" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Grounded Way 03", + "options": [ + "Not Grounded", + "Grounded" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Grounded Way 04", + "options": [ + "Not Grounded", + "Grounded" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Open Way 01", + "options": [ + "Not Open", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Open Way 02", + "options": [ + "Not Open", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Open Way 03", + "options": [ + "Not Open", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Open Way 04", + "options": [ + "Not Open", + "Open" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "custom.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info/resource.json new file mode 100644 index 0000000..cac4196 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9eb2d8c728e250659a980b4ff39b1b034193e196fcd6557f67bd5ff055f2729d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:07:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info/thumbnail.png new file mode 100644 index 0000000..5d65c28 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info/view.json new file mode 100644 index 0000000..29cf23c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Info/view.json @@ -0,0 +1,597 @@ +{ + "custom": {}, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\u0027Way \u0027+{parent.custom.wayNumber}+\u0027 Status:\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "Status": {} + }, + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.Status.Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Closed Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Grounded": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Grounded Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Open Way {wayNumber}" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "struct": { + "Closed": "{this.custom.Status.Closed}", + "Grounded": "{this.custom.Status.Grounded}", + "Open": "{this.custom.Status.Open}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "if({value}[\u0027Closed\u0027],1,\r\nif({value}[\u0027Open\u0027],2,\r\nif({value}[\u0027Grounded\u0027],3,0\r\n)))", + "type": "expression" + }, + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Closed" + }, + { + "input": 2, + "output": "Open" + }, + { + "input": 3, + "output": "Grounded" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "gap": "5px" + }, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "wayNumber": "01" + }, + "meta": { + "name": "Way 1" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\u0027Way \u0027+{parent.custom.wayNumber}+\u0027 Status:\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "Status": {} + }, + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.Status.Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Closed Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Grounded": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Grounded Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Open Way {wayNumber}" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "struct": { + "Closed": "{this.custom.Status.Closed}", + "Grounded": "{this.custom.Status.Grounded}", + "Open": "{this.custom.Status.Open}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "if({value}[\u0027Closed\u0027],1,\r\nif({value}[\u0027Open\u0027],2,\r\nif({value}[\u0027Grounded\u0027],3,0\r\n)))", + "type": "expression" + }, + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Closed" + }, + { + "input": 2, + "output": "Open" + }, + { + "input": 3, + "output": "Grounded" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "gap": "10px 0" + }, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "wayNumber": "02" + }, + "meta": { + "name": "Way 2" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\u0027Way \u0027+{parent.custom.wayNumber}+\u0027 Status:\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "Status": {} + }, + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.Status.Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Closed Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Grounded": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Grounded Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Open Way {wayNumber}" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "struct": { + "Closed": "{this.custom.Status.Closed}", + "Grounded": "{this.custom.Status.Grounded}", + "Open": "{this.custom.Status.Open}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "if({value}[\u0027Closed\u0027],1,\r\nif({value}[\u0027Open\u0027],2,\r\nif({value}[\u0027Grounded\u0027],3,0\r\n)))", + "type": "expression" + }, + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Closed" + }, + { + "input": 2, + "output": "Open" + }, + { + "input": 3, + "output": "Grounded" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "gap": "5px" + }, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "wayNumber": "03" + }, + "meta": { + "name": "Way 3" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\u0027Way \u0027+{parent.custom.wayNumber}+\u0027 Status:\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "Status": {} + }, + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.Status.Closed": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Closed Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Grounded": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Grounded Way {wayNumber}" + }, + "type": "tag" + } + }, + "custom.Status.Open": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}", + "wayNumber": "{parent.custom.wayNumber}" + }, + "tagPath": "{tagPath}/Breaker Open Way {wayNumber}" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "struct": { + "Closed": "{this.custom.Status.Closed}", + "Grounded": "{this.custom.Status.Grounded}", + "Open": "{this.custom.Status.Open}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "if({value}[\u0027Closed\u0027],1,\r\nif({value}[\u0027Open\u0027],2,\r\nif({value}[\u0027Grounded\u0027],3,0\r\n)))", + "type": "expression" + }, + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Closed" + }, + { + "input": 2, + "output": "Open" + }, + { + "input": 3, + "output": "Grounded" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "gap": "5px" + }, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "wayNumber": "04" + }, + "meta": { + "name": "Way 4" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Meta/resource.json new file mode 100644 index 0000000..5735bd3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f4c6bbe1bb6ea2111796e541700501398ace2e0aceff9d3214ccb96316764805", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Trends/resource.json new file mode 100644 index 0000000..9cbf52e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2452c21071e4f044d9037948c92ef12c0651811fc048b589f817a9a9bb01001f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Trends/thumbnail.png new file mode 100644 index 0000000..bf04acb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Trends/view.json new file mode 100644 index 0000000..f9db101 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DS/Trends/view.json @@ -0,0 +1,430 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t#histprov:MSSQL_Server:/drv:ignition-satb1-io6:default:/tag:yard/satb1_yard_ds-1b1/breaker open way 01\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1744233841621 + ], + "$ts": 1744271940000 + }, + "rangeSelectorPen": "histprov:MSSQL_Server:/drv:ignition-satb1-io6:default:/tag:yard/satb1_yard_ds-1b1/breaker open way 01", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1744233827719 + ], + "$ts": 1744039359000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + } + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947885209 + ], + "$ts": 1744271940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:MSSQL_Server:/drv:ignition-satb1-io6:default:/tag:yard/satb1_yard_ds-1b1/breaker open way 01", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947885209 + ], + "$ts": 1744039359000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Body/resource.json new file mode 100644 index 0000000..5b2d266 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e8548e06dd0b1df303d7ca92142eb88913c145fddc474395f4ad4004c0506066", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Body/thumbnail.png new file mode 100644 index 0000000..d68322a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Body/view.json new file mode 100644 index 0000000..f4498cf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Data Hall", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Config/resource.json new file mode 100644 index 0000000..bf7d90f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "37bfa07b2ea21b739e911c9f35c39dc1dd52c56d577c927a202d2e92a1a2af17", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Config/thumbnail.png new file mode 100644 index 0000000..95da02a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Config/view.json new file mode 100644 index 0000000..0f41b56 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Config/view.json @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Info/resource.json new file mode 100644 index 0000000..6574330 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7cd51f7fbd25ef413b6c8213f6b164d6e7ebcd4889a64a653526812cd2b3f535", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Info/thumbnail.png new file mode 100644 index 0000000..92d9cdc Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Info/view.json new file mode 100644 index 0000000..fff8a7b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Info/view.json @@ -0,0 +1,162 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Cold Aisle Space Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Hot Aisle Differential Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Space Differential Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Cold Aisle Space Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Hot Aisle Space Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Space Dew Point Setpoint", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Trends/resource.json new file mode 100644 index 0000000..a396847 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fce297aa949a4bcb3f4a2636fd4d47d1ecfb4f202264000732c4e651ff29f590", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Trends/thumbnail.png new file mode 100644 index 0000000..fb196f3 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Trends/view.json new file mode 100644 index 0000000..bfafe50 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Data Hall/Trends/view.json @@ -0,0 +1,555 @@ +{ + "custom": { + "trendConfig": { + "allPens": [ + { + "group": "misc", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cold Aisle Space Humidity", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall/Cold Aisle Space Humidity" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cold Aisle Space Temperature", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall/Cold Aisle Space Temperature" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Hot Aisle Differential Pressure", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall/Hot Aisle Differential Pressure" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Hot Aisle Space Temperature", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall/Hot Aisle Space Temperature" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Space Dew Point Setpoint", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall/Space Dew Point Setpoint" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Space Differential Pressure", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall/Space Differential Pressure" + } + ] + } + ] + } + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Data Hall" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947899741 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947899741 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Body/resource.json new file mode 100644 index 0000000..6e28051 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0c47973489649732dd907117f296102a9ab35a9815a1a61e0443710e3537460c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Body/thumbnail.png new file mode 100644 index 0000000..e54c21e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Body/view.json new file mode 100644 index 0000000..cdef63f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Body/view.json @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2/Device Fault" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 4 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Config/resource.json new file mode 100644 index 0000000..83a8557 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0238a82fbf01a37578b4e4d63ad03eb08015d4b006c285b2f3273075453aa8ef", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Config/thumbnail.png new file mode 100644 index 0000000..17b3354 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Config/view.json new file mode 100644 index 0000000..b8f5cb2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Config/view.json @@ -0,0 +1,139 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Delay" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Target Disagree Enable" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Target" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[default]_types_/Objects/Electrical/UT/Vacuum Fault Interrupter2 Tripped" + }, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Control/resource.json new file mode 100644 index 0000000..1acf0a6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b603f32b9690732291fdfdf0cb7c3f27a359277c39085db179c4c50e91b9d777", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:07:09Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Control/thumbnail.png new file mode 100644 index 0000000..25682f6 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Control/view.json new file mode 100644 index 0000000..a082bc9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Control/view.json @@ -0,0 +1,269 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1/Liquid Temperature Alarm High" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.SubEn": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteEN" + }, + "type": "tag" + } + }, + "custom.OCmd.SubVal": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SubstituteVal" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OOSBtn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Enable" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubEn" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "SubEnable" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "Substitute Value" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.custom.OCmd.SubEn} \u0026\u0026 {view.params.auth.control}" + }, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.SubVal" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "SubVal" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Info/resource.json new file mode 100644 index 0000000..b98b932 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4592c31a9960f39d3b23571320f037603c24e1f0cc4c969b3f42daa27c618cf8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Info/thumbnail.png new file mode 100644 index 0000000..1ec3897 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Info/view.json new file mode 100644 index 0000000..bda7587 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Info/view.json @@ -0,0 +1,108 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Value", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2/Device Fault" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Meta/resource.json new file mode 100644 index 0000000..6f9daef --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ab2e369731a5350acca70e8a4f51ccc9b55bc1bb9556e642dde8833ce89d2de7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Trends/resource.json new file mode 100644 index 0000000..5ab1f09 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6482e972ed9e272861499708e864f6ff3cac5f83f839b670668c18f567279ab2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Trends/thumbnail.png new file mode 100644 index 0000000..86c1272 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Trends/view.json new file mode 100644 index 0000000..7e38499 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/DiscreteIn/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1/Source 1 Switch" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947747922 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947747922 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Body/resource.json new file mode 100644 index 0000000..5b60221 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9fac8aa400629c6af970a4dca03a4c73d8b88edcabd67bb627ae27ab37fd2307", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Body/thumbnail.png new file mode 100644 index 0000000..9a9f578 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Body/view.json new file mode 100644 index 0000000..9975575 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Body/view.json @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 2 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Config/resource.json new file mode 100644 index 0000000..66a5371 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4535025adcc84cf757aac3bc35de6c69c8703675e09ec5e6917268781b2813c8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Config/view.json new file mode 100644 index 0000000..9ea4cd5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Config/view.json @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_MOTOR" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Control/resource.json new file mode 100644 index 0000000..1fe63f9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "32de4d82f86863a7116aff033b1233502a3cc31b81466e230ca59dab27852303", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:07:09Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Control/thumbnail.png new file mode 100644 index 0000000..a04edbb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Control/view.json new file mode 100644 index 0000000..a2fc6b1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Control/view.json @@ -0,0 +1,468 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Run" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StartBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StopBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Info/resource.json new file mode 100644 index 0000000..2d1fd09 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1032687dabca31c0d1c2a1c2cd80048c4d1a7f2a0bd7991d6cf5bf5237385dcd", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Info/thumbnail.png new file mode 100644 index 0000000..c430d72 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Info/view.json new file mode 100644 index 0000000..427e32c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Info/view.json @@ -0,0 +1,133 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "EquipCounts", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Stopped", + "Running" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Trends/resource.json new file mode 100644 index 0000000..5d74b75 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "95f683f6128615092ec2d262a58881f5f4114cd2a082b33f050c94efde7aac52", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Trends/thumbnail.png new file mode 100644 index 0000000..46bbf3b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Trends/view.json new file mode 100644 index 0000000..0b97663 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Motor 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948157059 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948157059 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Body/resource.json new file mode 100644 index 0000000..76b625a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0f94524fa270648d2c26440252f29d71b83a87a88dbce40693c6ee312161ce08", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Body/thumbnail.png new file mode 100644 index 0000000..1813497 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Body/view.json new file mode 100644 index 0000000..2efff4b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "UT", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Config/resource.json new file mode 100644 index 0000000..18fe792 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "82e75b857c0235b11285255a11044e70aaf24c191ee72912ba67962f693b32d1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Config/thumbnail.png new file mode 100644 index 0000000..1b27915 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Config/view.json new file mode 100644 index 0000000..eab5997 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Config/view.json @@ -0,0 +1,122 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Max Speed Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Max Speed Tmr" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_EF5" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Info/resource.json new file mode 100644 index 0000000..1bb97ff --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e45e0a2014c896fd3a9d875bd2110ec5781b9b4fa8e6d05b5e1ed75d35585b4f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Info/thumbnail.png new file mode 100644 index 0000000..1c3174d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Info/view.json new file mode 100644 index 0000000..64c8780 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Info/view.json @@ -0,0 +1,300 @@ +{ + "custom": { + "Motor": "/Motor", + "PID": "/PID", + "inTagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_EF5" + }, + "params": { + "embedded": false, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_EF5" + }, + "propConfig": { + "custom.Motor": { + "persistent": true + }, + "custom.PID": { + "persistent": true + }, + "custom.inTagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.ZSO01\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "VSD", + "tagPath": "{view.custom.inTagPath}{view.custom.Motor}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "150PX" + }, + "propConfig": { + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "backgroundColor": "#AEAEAE", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Motor", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.ZSO02\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "PID_Loop", + "tagPath": "{view.custom.inTagPath}{view.custom.PID}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "150PX" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.ZSO02} +\"/Alarms/Alarm Target Disagree\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "backgroundColor": "#AEAEAE", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "PID", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "150px" + }, + "props": { + "justify": "space-around", + "style": { + "gap": 5, + "padding": 5 + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Meta/resource.json new file mode 100644 index 0000000..17bcdb7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d253c03f3af145cf063c3bf51c835dc4745502910b538524642e8a309ec2ce78", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Meta/view.json new file mode 100644 index 0000000..a11ab02 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Meta/view.json @@ -0,0 +1,227 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Trends/resource.json new file mode 100644 index 0000000..d6dd790 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c2fe195d6904a06c9e7f804ee67ddff63cd1a2fccb402d101cfcf62ea7bdb444", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Trends/thumbnail.png new file mode 100644 index 0000000..3099273 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Trends/view.json new file mode 100644 index 0000000..cb865d0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/EF_V2/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948666485 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948666485 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Body/resource.json new file mode 100644 index 0000000..acbe137 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "18f0aef53a9b8859ade0d74dd3703c4e259bfc5d321056e5f8fb212de44e82fe", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Body/thumbnail.png new file mode 100644 index 0000000..9a9f578 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Body/view.json new file mode 100644 index 0000000..9975575 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Body/view.json @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 2 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Config/resource.json new file mode 100644 index 0000000..72a75ee --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "106b42451775f313a6271e71630b6beef111c1b737fd2b96a765ecbd9b624867", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Config/view.json new file mode 100644 index 0000000..9ea4cd5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Config/view.json @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_MOTOR" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Control/resource.json new file mode 100644 index 0000000..2bc72f0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3a5bd416552d29b3798ae64fd9745961c82055ae88503b9b65b25a2db998da0f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:07:10Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Control/thumbnail.png new file mode 100644 index 0000000..a04edbb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Control/view.json new file mode 100644 index 0000000..a2fc6b1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Control/view.json @@ -0,0 +1,468 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Run" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StartBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StopBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Info/resource.json new file mode 100644 index 0000000..323f3ba --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "bf120d6f726ab475b8db6528e5ef05757bc4c04b08aa4035d22c26c44d34902d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Info/thumbnail.png new file mode 100644 index 0000000..b749901 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Info/view.json new file mode 100644 index 0000000..427e32c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Info/view.json @@ -0,0 +1,133 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "EquipCounts", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Stopped", + "Running" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Trends/resource.json new file mode 100644 index 0000000..5d74b75 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "95f683f6128615092ec2d262a58881f5f4114cd2a082b33f050c94efde7aac52", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Trends/thumbnail.png new file mode 100644 index 0000000..46bbf3b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Trends/view.json new file mode 100644 index 0000000..0b97663 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ESP/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Motor 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948157059 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948157059 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Body/resource.json new file mode 100644 index 0000000..ba06b6d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dc2b16fee6ed8788f7c94cc0767e32a715a753e592e53737362c42985860ae10", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Body/thumbnail.png new file mode 100644 index 0000000..35fe82b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Body/view.json new file mode 100644 index 0000000..9796365 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Body/view.json @@ -0,0 +1,431 @@ +{ + "custom": { + "tabsConfig": { + "showConfig": true, + "showControl": true, + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]FS1232/SATB1_HS2_FS1232_FCU21" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Controls" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "\r\nif (split({view.params.tagPath},\u0027_\u0027)[6,0] \u003d \"FCU21\",\r\nconcat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info_\u0027,split({view.params.tagPath},\u0027_\u0027)[6,0]),\r\nconcat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027))" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Config/resource.json new file mode 100644 index 0000000..3bdebcc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a8ffa2b0f3bc0bb865a80c3c03ca099c0f940d87f15a213eea5a6d1fad2b289e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Config/thumbnail.png new file mode 100644 index 0000000..06c15a9 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Config/view.json new file mode 100644 index 0000000..8fbc614 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FCU/Config/view.json @@ -0,0 +1,139 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Hi Limit Spc Temp Alarm Sp" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Lo Limit Spc Temp Alarm Sp" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Space Temperature Cooling Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Space Temperature Cooling Setpoint DB" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1128/SATB1_HS2_EL1128_FCU16" + }, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Body/resource.json new file mode 100644 index 0000000..cae9de3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e92ec72c68bb1848a51f98cdf51780d6e3b723de54eacb3ef64d25ce8b101cc2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Body/thumbnail.png new file mode 100644 index 0000000..019aff1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Body/view.json new file mode 100644 index 0000000..c07e7d9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Body/view.json @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO5_default]SATB1_DH5_P5_SWBD5_XA_SPD" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 4 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Config/resource.json new file mode 100644 index 0000000..9bafa6d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "90343b473c98d64d0dffb39ba0e4d03dad784b1a80732fb257717d661aa8409c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Config/thumbnail.png new file mode 100644 index 0000000..d0adf3c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Config/view.json new file mode 100644 index 0000000..2f3baba --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Config/view.json @@ -0,0 +1,266 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_AlmDB" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_HiHi_AlmDelay" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_HiHi_AlmEN" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_HiHi_AlmSP" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Hi_AlmDelay" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Hi_AlmEN" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Hi_AlmSP" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_LoLo_AlmDelay" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_LoLo_AlmEN" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_LoLo_AlmSP" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Lo_AlmDelay" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Lo_AlmEN" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Lo_AlmSP" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Offset" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_PVDecPlaces" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_PVEUMax" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_PVEUMin" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_RawMax" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_RawMin" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_ResetReq" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1102/SATB1_RM1102_Fire System Panel" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Control/resource.json new file mode 100644 index 0000000..9dbabe7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4513c5879dd3f512cfeb5f3cdd80bf7e5f503465289c0745fbfb0f7f39f1a5db", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Control/thumbnail.png new file mode 100644 index 0000000..8974247 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Control/view.json new file mode 100644 index 0000000..fafb630 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Control/view.json @@ -0,0 +1,138 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Inp_PV" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "OCmd_Reset" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "OCmd_SubstituteEN" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "OCmd_SubstituteVal" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1102/SATB1_RM1102_Fire System Panel" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Control\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Info/resource.json new file mode 100644 index 0000000..02014f8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ea6569a641b754ec11d1f7f3f10ad5d52b404cc433e5178c48bf8547b02453e7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Info/thumbnail.png new file mode 100644 index 0000000..9094cd2 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Info/view.json new file mode 100644 index 0000000..015a539 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Info/view.json @@ -0,0 +1,139 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fire Alarm Trouble", + "options": [ + "Normal", + "Alarmed" + ] + }, + { + "dataType": "Float4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fire alarm Event", + "options": [ + "Normal", + "Alarmed" + ] + }, + { + "dataType": "Float4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fire alarm Supervisory (Notification Alarm)", + "options": [ + "Normal", + "Alarmed" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]RM1102/SATB1_RM1102_Fire System Panel" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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])\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Meta/resource.json new file mode 100644 index 0000000..6f9daef --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ab2e369731a5350acca70e8a4f51ccc9b55bc1bb9556e642dde8833ce89d2de7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Trends/resource.json new file mode 100644 index 0000000..ad0b557 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "192350f5306750b531163715098a304e7654baae0567dfa60e9eda4b1b2d1ac5", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Trends/thumbnail.png new file mode 100644 index 0000000..8c7e6c0 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Trends/view.json new file mode 100644 index 0000000..6d10349 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Fire Panel/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]RM1102/SATB1_RM1102_Fire System Panel" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"HH:mm\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947368983 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947368983 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/Body/resource.json new file mode 100644 index 0000000..6e5be96 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d5adf19f2aad0fee2c46b6bd0783338d4a5c90c2946e8e43e1c8b5940e44a0e0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/Body/thumbnail.png new file mode 100644 index 0000000..0b23bee Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/Body/view.json new file mode 100644 index 0000000..f1fc78b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/Body/view.json @@ -0,0 +1,195 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "lnUp_8", + "lnUp_9", + "lnUp_10", + "lnUp_11", + "lnUp_12", + "lnUp_13", + "lnUp_14", + "lnUp_15" + ] + } + }, + "params": { + "objectName": "FltCodeEnables", + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "lnUp_1" + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lnUp_2" + }, + "position": { + "tabIndex": 1 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP09" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lnUp_3" + }, + "position": { + "tabIndex": 2 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP10" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lnUp_4" + }, + "position": { + "tabIndex": 3 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP11" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lnUp_5" + }, + "position": { + "tabIndex": 4 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP12" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lnUp_6" + }, + "position": { + "tabIndex": 5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP13" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lnUp_7" + }, + "position": { + "tabIndex": 6 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP14" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lnUp_8" + }, + "position": { + "tabIndex": 7 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP15" + }, + "path": "Library/Templates/FltCodeEnables/lnUp" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/lnUp/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/lnUp/resource.json new file mode 100644 index 0000000..f08a1fd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/lnUp/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e58c634bc1aa147518c63d1f53fc2776a7f031214c2ff4de2202dcb2d58acba2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/lnUp/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/lnUp/thumbnail.png new file mode 100644 index 0000000..a422c9e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/lnUp/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/lnUp/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/lnUp/view.json new file mode 100644 index 0000000..150863f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/FltCodeEnables/lnUp/view.json @@ -0,0 +1,980 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "0: No Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[0]", + "value": false + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "1: Low Ambient Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[1]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "2: High Ambient Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[2]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "3: Low Chilled Liquid Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[3]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "4: VSD Initialization Failure", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[4]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "5: Low RTC Battery Voltage", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[5]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "6: Invalid Number of Compressors Selected", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[6]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "7: VSD Communications Failure", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[7]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "8: Pre-charge Low DC Bus Voltage", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[8]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "9: Pre-charge DC Bus Voltage Imbalance", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[9]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "10: High DC Bus Voltage", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[10]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "11: Low DC Bus Voltage", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[11]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "12: DC Bus Voltage Imbalance", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[12]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "13: High VSD Ambien Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[13]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "14: Single Phase Input", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[14]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "15: VSD Power Supply Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[15]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "16: VSD Logic Board Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[16]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "17: Motor Current Overload (Hardware)", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[17]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "18: CT Plug Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[18]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "19: High Harmonic Filter Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[19]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "20: Evap Anti-Freeze Pump Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[20]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "21: Low Heat Exchange Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[21]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "22: N/A", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[22]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "23: N/A", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[23]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "24: N/A", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[24]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "25: N/A", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[25]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "26: N/A", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[26]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "27: High Discharge Pressure", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[27]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "28: High Differential Oil Pressure", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[28]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "29: Low Differential Oil Pressure", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[29]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "30: Low Suction Pressure", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[30]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "31: High Discharge Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[31]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "32: N/A", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[32]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "33: Eductor Clog Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[33]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "34: Sensor Failure", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[34]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "35: Low Motor Current", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[35]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "36: High Motor Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[36]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "37: Pre-charge Low DC Bus Voltage Immbalance", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[37]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "38: Pre-charge DC Bus Voltage Imbalance", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[38]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "39: High DC Bus Voltage", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[39]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "40: Low DC Bus Voltage", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[40]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "41: DC Bus Voltage Imbalance", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[41]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "42: High Motor Current", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[42]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "43: Motor Current Overload", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[43]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "44: IGBT Gate Driver Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[44]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "45: High Baseplate Temperature", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[45]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "46: Single Phase Input", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[46]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "47: VSD Run Signal Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[47]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "48: High Discharge Press (HPCO)", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[48]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "49: Low Suction Superheat", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[49]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "50: Control Valve Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[50]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "51: Low Discharge Superheat", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[51]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "52: Low Suction PRessure Smart Freeze", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[52]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "53: Isolation Valve Failed to Close Warning", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[53]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "54: Isolation Valve failed to Open Fault", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[54]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "55: High Discharge Pressure Rate", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[55]", + "value": true + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "isArray": true, + "name": "56: Condenser Fan VSD Fault Warning", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[56]", + "value": true + } + ], + "fltCodes": [ + "0: No Fault", + "1: Low Ambient Temperature", + "2: High Ambient Temperature", + "3: Low Chilled Liquid Temperature", + "4: VSD Initialization Failure", + "5: Low RTC Battery Voltage", + "6: Invalid Number of Compressors Selected", + "7: VSD Communications Failure", + "8: Pre-charge Low DC Bus Voltage", + "9: Pre-charge DC Bus Voltage Imbalance", + "10: High DC Bus Voltage", + "11: Low DC Bus Voltage", + "12: DC Bus Voltage Imbalance", + "13: High VSD Ambien Temperature", + "14: Single Phase Input", + "15: VSD Power Supply Fault", + "16: VSD Logic Board Fault", + "17: Motor Current Overload (Hardware)", + "18: CT Plug Fault", + "19: High Harmonic Filter Temperature", + "20: Evap Anti-Freeze Pump Fault", + "21: Low Heat Exchange Temperature", + "22: N/A", + "23: N/A", + "24: N/A", + "25: N/A", + "26: N/A", + "27: High Discharge Pressure", + "28: High Differential Oil Pressure", + "29: Low Differential Oil Pressure", + "30: Low Suction Pressure", + "31: High Discharge Temperature", + "32: N/A", + "33: Eductor Clog Fault", + "34: Sensor Failure", + "35: Low Motor Current", + "36: High Motor Temperature", + "37: Pre-charge Low DC Bus Voltage Immbalance", + "38: Pre-charge DC Bus Voltage Imbalance", + "39: High DC Bus Voltage", + "40: Low DC Bus Voltage", + "41: DC Bus Voltage Imbalance", + "42: High Motor Current", + "43: Motor Current Overload", + "44: IGBT Gate Driver Fault", + "45: High Baseplate Temperature", + "46: Single Phase Input", + "47: VSD Run Signal Fault", + "48: High Discharge Press (HPCO)", + "49: Low Suction Superheat", + "50: Control Valve Fault", + "51: Low Discharge Superheat", + "52: Low Suction PRessure Smart Freeze", + "53: Isolation Valve Failed to Close Warning", + "54: Isolation Valve failed to Open Fault", + "55: High Discharge Pressure Rate", + "56: Condenser Fan VSD Fault Warning", + "57: N/A", + "58: N/A", + "59: N/A", + "60: N/A", + "61: N/A", + "62: N/A" + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "fltCodes": "{view.custom.fltCodes}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tcount \u003d 0\n\ttagPath \u003d value[\u0027tagPath\u0027] #[Ignition_Common_IO_Gtwy]ChillerFltCodes/CP08[0]\n\tnodes \u003d system.tag.readBlocking(value[\u0027tagPath\u0027])\n\tdecode \u003d system.util.jsonDecode(system.util.jsonEncode(nodes))\n\tvals \u003d decode[0][\u0027value\u0027]\n\tfltCodes \u003d value[\u0027fltCodes\u0027]\n\tlista \u003d zip(vals , fltCodes)\n\t\n\tfor vals, fltCode in lista:\n\t\tif count \u003e\u003d 57:\n\t\t\tbreak\n\t\tinstance \u003d {\n \t\"instanceStyle\": {\n \t\"classes\": \"\"\n \t},\n \t\"instancePosition\": 999,\n \t\"name\": fltCode,\n \t\"value\": vals,\n \t\"tagPath\": tagPath + \u0027[\u0027 + str(count) + \u0027]\u0027,\n \t\"dataType\": \u0027Boolean\u0027,\n \t\"displaySelection\": 0,\n \t\"format\": \"0.0\",\n \t\"isArray\": True,\n \t\"options\": []\n \t}\n \toutput.append(instance)\n \tcount +\u003d 1\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.fltCodes": { + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "RightColumn" + }, + "position": { + "basis": "100%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Framework/TrendTable/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Framework/TrendTable/resource.json new file mode 100644 index 0000000..a10e5c2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Framework/TrendTable/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ad78638669df63b67d6e6ad96413e22899b24251045cefde91ecc914f9dfadc6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:21:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Framework/TrendTable/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Framework/TrendTable/thumbnail.png new file mode 100644 index 0000000..e4e1728 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Framework/TrendTable/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Framework/TrendTable/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Framework/TrendTable/view.json new file mode 100644 index 0000000..eb8be05 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Framework/TrendTable/view.json @@ -0,0 +1,761 @@ +{ + "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" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Body/resource.json new file mode 100644 index 0000000..a88b3f7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c5c5221ce64ad7f271f241422332939a7080cf14379441c309f81ab82539d746", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Body/thumbnail.png new file mode 100644 index 0000000..dac37af Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Body/view.json new file mode 100644 index 0000000..347ed4b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Body/view.json @@ -0,0 +1,430 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [ + "Amps A", + "Amps B" + ] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-3" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Config/resource.json new file mode 100644 index 0000000..6167dc2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "abaf06a517cd1aaecc75fef042b0889863319a50650cea515f54c4f2e76b756d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Config/view.json new file mode 100644 index 0000000..3561c1a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Config/view.json @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Yard/GEN-P1_1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Info/resource.json new file mode 100644 index 0000000..90c26ee --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0d211a20ced2394bc25c7876249d6b627a8ef59b248330d3e58e7aab6947043a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Info/thumbnail.png new file mode 100644 index 0000000..aa39c66 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Info/view.json new file mode 100644 index 0000000..afff557 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Info/view.json @@ -0,0 +1,441 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Average Current", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Voltage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": 0, + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Coolant Temperature", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current C", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Engine RPM", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fuel Gallons", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fuel Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fuel Rate", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fuel Usage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Manifold Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Number Of Starts", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Oil Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Oil Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Run Hours", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Run Status", + "options": [ + "Stopped", + "Running" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Load", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total PF", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total kVA", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total kVAR", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total kW", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total kWh", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AB", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BC", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CA", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Communication Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-5" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Trends/resource.json new file mode 100644 index 0000000..5797856 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "68a856a5d74efe5a81a57a588d6a32a809bf7759987179c2564dd37114dd2aa8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Trends/thumbnail.png new file mode 100644 index 0000000..a2529a4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Trends/view.json new file mode 100644 index 0000000..16e671c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/Trends/view.json @@ -0,0 +1,483 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-3" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1267 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "key": "value" + }, + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\ttagName \u003d tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1]\n\t\t\t\tlowtagName \u003d tagName.lower()\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + lowtagName\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947963012 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947963012 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/_Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/_Trends/resource.json new file mode 100644 index 0000000..3c1d27c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/_Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "83f1e8352af156fcc8d57bd8ddcee61d80f7e2842302e7d05922baefedeb5672", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:21:21Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/_Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/_Trends/thumbnail.png new file mode 100644 index 0000000..831e3a2 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/_Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/_Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/_Trends/view.json new file mode 100644 index 0000000..e06d7a9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/GEN/_Trends/view.json @@ -0,0 +1,451 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [ + "Amps A", + "Amps B" + ], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Generator 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\t" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "measureOfTime": "minutes", + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 4, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 0, + 1731972414891 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "historical", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": { + "$": [ + "ts", + 0, + 1731972414891 + ], + "$ts": 1730879452730 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": { + "$": [ + "ts", + 0, + 1731972414891 + ], + "$ts": 1730733759000 + }, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972414891 + ], + "$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 + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Body/resource.json new file mode 100644 index 0000000..7661e94 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "431e07f011c9274f7ff47ad5192fced934c948bfe8bc313507e630af748577d1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Body/thumbnail.png new file mode 100644 index 0000000..d33da2e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Body/view.json new file mode 100644 index 0000000..fb847e9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Body/view.json @@ -0,0 +1,432 @@ +{ + "custom": { + "tabsConfig": { + "showControl": false, + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_ER1151_H2" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "enabled": false, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "params": { + "embedded": false, + "objectName": "DiscreteIn" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Config/resource.json new file mode 100644 index 0000000..44ad8a1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ee75db30dacffc9e2bfa5b439cbd1164ef84136aac2c95fb9e4441a6797f476d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Config/view.json new file mode 100644 index 0000000..539e01c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Config/view.json @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Control/resource.json new file mode 100644 index 0000000..41ee8a3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e10dc4f002c05893a97677d9d3fe4630fb88d2835cee6e6ec59e0e636a1ca86a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:21:22Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Control/thumbnail.png new file mode 100644 index 0000000..68d6841 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Control/view.json new file mode 100644 index 0000000..9d400e9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Control/view.json @@ -0,0 +1,125 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Info/resource.json new file mode 100644 index 0000000..609269c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cfc9afea1aeca104d1fd1516df26f3a662cb48657a9c6735a67f2f2c302481f6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Info/thumbnail.png new file mode 100644 index 0000000..ffcd78d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Info/view.json new file mode 100644 index 0000000..d3f1178 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Info/view.json @@ -0,0 +1,467 @@ +{ + "custom": { + "XA": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2/Device Fault", + "XAH": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2/Alarm High", + "XAHH": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2/Alarm High High" + }, + "params": { + "embedded": false, + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "propConfig": { + "custom.XA": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value} + \u0027/Device Fault\u0027", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.XAH": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value} + \u0027/Alarm High\u0027", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.XAHH": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value} + \u0027/Alarm High High\u0027", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d \n\tobjectName \u003d \u0027DiscreteIn\u0027\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.XA}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.XA}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Device Fault", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.custom.XAH\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.XAH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.XAH}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Alarm High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.custom.XAHH\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.XAHH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.XAHH}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA03}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Alarm High High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "132px" + }, + "props": { + "justify": "space-around", + "style": { + "gap": 5, + "padding": 5 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Meta/resource.json new file mode 100644 index 0000000..dc2e0b9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "11aa2cc1d8f2a4e78d40f054dc2d0f8d9d54122ec316946403e99c2d1dbd6233", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Meta/thumbnail.png new file mode 100644 index 0000000..d36a97b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Meta/view.json new file mode 100644 index 0000000..a4df025 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Meta/view.json @@ -0,0 +1,227 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Trends/resource.json new file mode 100644 index 0000000..778b681 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "24b894d43feb552cb6eabc05c97e3b0255b1d3f05b849d2f00e124f154aa1b06", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Trends/thumbnail.png new file mode 100644 index 0000000..b0d6754 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Trends/view.json new file mode 100644 index 0000000..4980fd1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2 HS/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948358902 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948358902 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Body/resource.json new file mode 100644 index 0000000..80efb9f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5507fc1e78b17a8c21afd7b9beb5b84f5e768fc5d14e7311a9d19e3be771087e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Body/thumbnail.png new file mode 100644 index 0000000..4e822c9 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Body/view.json new file mode 100644 index 0000000..d541c37 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Body/view.json @@ -0,0 +1,430 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "params": { + "embedded": false, + "objectName": "DiscreteIn" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Config/resource.json new file mode 100644 index 0000000..44ad8a1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ee75db30dacffc9e2bfa5b439cbd1164ef84136aac2c95fb9e4441a6797f476d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Config/view.json new file mode 100644 index 0000000..539e01c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Config/view.json @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Control/resource.json new file mode 100644 index 0000000..4e6ba89 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7b2a1cc7cf4f50cc2f295dcc1af22e4b46d45e7cc99c49efcb6036ea036b6b76", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:21:21Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Control/thumbnail.png new file mode 100644 index 0000000..68d6841 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Control/view.json new file mode 100644 index 0000000..9d400e9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Control/view.json @@ -0,0 +1,125 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Info/resource.json new file mode 100644 index 0000000..609269c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cfc9afea1aeca104d1fd1516df26f3a662cb48657a9c6735a67f2f2c302481f6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Info/thumbnail.png new file mode 100644 index 0000000..ffcd78d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Info/view.json new file mode 100644 index 0000000..d3f1178 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Info/view.json @@ -0,0 +1,467 @@ +{ + "custom": { + "XA": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2/Device Fault", + "XAH": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2/Alarm High", + "XAHH": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2/Alarm High High" + }, + "params": { + "embedded": false, + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "propConfig": { + "custom.XA": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value} + \u0027/Device Fault\u0027", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.XAH": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value} + \u0027/Alarm High\u0027", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.XAHH": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value} + \u0027/Alarm High High\u0027", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d \n\tobjectName \u003d \u0027DiscreteIn\u0027\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.XA}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.XA}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Device Fault", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.custom.XAH\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.XAH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.XAH}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Alarm High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.custom.XAHH\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.XAHH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.XAHH}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA03}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Alarm High High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "132px" + }, + "props": { + "justify": "space-around", + "style": { + "gap": 5, + "padding": 5 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Meta/resource.json new file mode 100644 index 0000000..5038a43 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a0434e451ff613f66ae899bac4fda9009ac9b4f6da91b794eb8a2f8204aa730b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Meta/thumbnail.png new file mode 100644 index 0000000..d36a97b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Meta/view.json new file mode 100644 index 0000000..a4df025 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Meta/view.json @@ -0,0 +1,227 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Trends/resource.json new file mode 100644 index 0000000..778b681 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "24b894d43feb552cb6eabc05c97e3b0255b1d3f05b849d2f00e124f154aa1b06", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Trends/thumbnail.png new file mode 100644 index 0000000..b0d6754 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Trends/view.json new file mode 100644 index 0000000..4980fd1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/H2/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948358902 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948358902 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Body/resource.json new file mode 100644 index 0000000..00d983b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0ba8b412a02b90e7bf73db4db518c29009b77f94735676398c081b2196b76262", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Body/thumbnail.png new file mode 100644 index 0000000..a969c6a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Body/view.json new file mode 100644 index 0000000..4760c50 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Body/view.json @@ -0,0 +1,429 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_02" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "params": { + "tagPath_2": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_DH5_HS1_GA1182_HUM2" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Config/resource.json new file mode 100644 index 0000000..98602e5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b2ea5da4dd2599cbced6ff74f8eedde62f78cc529ffd1b8306b5dd1cfbeb71bb", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Config/thumbnail.png new file mode 100644 index 0000000..9f74144 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Config/view.json new file mode 100644 index 0000000..832d74e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Config/view.json @@ -0,0 +1,146 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Run Delay Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Stop Delay Setpoint " + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Relative Humidity Setpoint" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime Reset" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 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\",\"Int4\")\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# 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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Control/resource.json new file mode 100644 index 0000000..b06944f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8f2e6a480779124c05f92a1f765949f01c1bdcf9e185a6c0432d2f97251dc0fe", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:21:22Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Control/thumbnail.png new file mode 100644 index 0000000..9834c79 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Control/view.json new file mode 100644 index 0000000..5aa438f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Control/view.json @@ -0,0 +1,639 @@ +{ + "custom": { + "OCmd": {}, + "OCmd_MB": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Run" + }, + "type": "tag" + } + }, + "custom.OCmd_MB": { + "persistent": true + }, + "custom.OCmd_MB.Enable": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Enable" + }, + "type": "tag" + } + }, + "custom.OCmd_MB.Reset": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Alarm Reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StartBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StopBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True\n\tself.view.custom.OCmd_MB.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RstBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd_MB.Reset" + }, + "type": "property" + } + } + }, + "props": { + "text": "Alarm Reset" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "EnableBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd_MB.Enable" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.OCmd_MB.Enable" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Disable" + }, + { + "input": 0, + "output": "Enable" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px", + "display": false + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Info/resource.json new file mode 100644 index 0000000..fbfa2af --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "20e0e9db181506d2166ba7edb4c7cf38037cde67dc4a903e8791e0d1f8ac2340", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Info/thumbnail.png new file mode 100644 index 0000000..d923eb5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Info/view.json new file mode 100644 index 0000000..f7c86d2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Info/view.json @@ -0,0 +1,233 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Max Output", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Relative Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Run Hours", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Comm percent", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Drain Valve Status", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "EquipCounts", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fill Valve Status", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "options": [ + "Not Ready", + "Ready" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Stopped", + "Running" + ] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Unit Status", + "options": [ + "Not Enabled", + "Enabled" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_02" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\t\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Meta/resource.json new file mode 100644 index 0000000..5735bd3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f4c6bbe1bb6ea2111796e541700501398ace2e0aceff9d3214ccb96316764805", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Trends/resource.json new file mode 100644 index 0000000..1de5190 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3c7e53905c2ed035f70e9720a79abdf8ea93c655753c78e1022e8ebf633929f4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Trends/thumbnail.png new file mode 100644 index 0000000..e3a81ac Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Trends/view.json new file mode 100644 index 0000000..c06bff4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HUM/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947980653 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947980653 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Body/resource.json new file mode 100644 index 0000000..8cdacd8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fb1729c653b57e396b5b6c47ebc33379d9e8a6785a8c257488295500a9794758", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Body/thumbnail.png new file mode 100644 index 0000000..83214ed Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Body/view.json new file mode 100644 index 0000000..a3a576f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Body/view.json @@ -0,0 +1,437 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Details", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [ + "Amps A", + "Amps B" + ] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "HarmonicFilter", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_HF" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Details" + }, + "position": { + "tabIndex": 5 + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Details\u0027)" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/HarmonicFilter/Details" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "enabled": false, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "tabs": [ + "Status", + "Config", + "Trend", + "Meta", + "Wiki", + "Details" + ] + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Config/resource.json new file mode 100644 index 0000000..9fa21d5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "09c4159ddcf86a4fd82d0636d80669745595905ad9cc5bf3af60d2426e0b0fd1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Config/thumbnail.png new file mode 100644 index 0000000..8482c42 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Config/view.json new file mode 100644 index 0000000..3896859 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Config/view.json @@ -0,0 +1,122 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Hi Temperature Alm Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Lo Temperature Alm Setpoint" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_HF" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Details/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Details/resource.json new file mode 100644 index 0000000..2704397 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Details/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "423581ed77622151059587404cc3e818006c045c25edbb496d9fb51bb7f65068", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Details/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Details/thumbnail.png new file mode 100644 index 0000000..486d37f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Details/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Details/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Details/view.json new file mode 100644 index 0000000..27d9d04 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Details/view.json @@ -0,0 +1,903 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Capture Command", + "options": [ + "Capture done", + "Start Capture" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Communication Percent", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Contactor Status", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Control Mode", + "options": [ + "Always Open", + "Always Closed", + "Auto load", + "Auto kVRA", + "External Control Input", + "No contactor", + "Diagnostic Always Close" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current A TDD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current A THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current B TDD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current B THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current C TDD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current C THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 1", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 11", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 13", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 17", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 19", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 23", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 25", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 3", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 5", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line A Harmonic 7", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 1", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 11", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 13", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 17", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 19", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 23", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 25", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 3", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 5", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line B Harmonic 7", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 1", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 11", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 13", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 17", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 19", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 23", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 25", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 3", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 5", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Line C Harmonic 7", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Load A THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Load B THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Load C THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Tune A THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Tune B THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Tune C THD", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Filter At Maximum Capacity", + "options": [ + "Normal", + "At Capacity" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Filter Controls Temperature", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Filter Powered On", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Filter Status", + "options": [ + "Normal", + "Warning" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Line Apparent Power Total", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Line Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Line Reactive Power Total", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Line Real Power Total", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Apparent Power Total", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Reactive Power Total", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Real Measure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Real Power Total", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System State", + "options": [ + "Initialization State Machine", + "Initialization Parameters", + "Power on Delay", + "Unit self State Configuration Check", + "Reset", + "Force Open Contactor", + "Force Close Contactor", + "Auto Load Open", + "Auto Load Close", + "Auto kVAR Close", + "Auto kVAR Open", + "External Open", + "External Close", + "No Contactor", + "Contactor Closed Inhibited", + "Calibrate offsets", + "Calibrate Magnitude", + "No Communication", + "Communication configuration", + "PCB Calibration Check", + "Unit Calibration check", + "Pre-Calibration Check", + "Unit in Contactor debug Close State" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AB THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BC THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CA THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Load AB THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Load BC THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Load CA THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Tune AB THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Tune BC THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Tune CA THD", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_HF" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Info/resource.json new file mode 100644 index 0000000..68efe53 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1c3419e691b9ae7955f536eb8c7216e165e1c4628101c9c3927b3a8d4abd6212", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Info/thumbnail.png new file mode 100644 index 0000000..4fb2f32 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Info/view.json new file mode 100644 index 0000000..18d2f5f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Info/view.json @@ -0,0 +1,210 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Communication Percent", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Contactor Status", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 50, + "instanceStyle": { + "classes": "" + }, + "name": "Current A THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 60, + "instanceStyle": { + "classes": "" + }, + "name": "Current B THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 70, + "instanceStyle": { + "classes": "" + }, + "name": "Current C THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 30, + "instanceStyle": { + "classes": "" + }, + "name": "Filter Controls Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 20, + "instanceStyle": { + "classes": "" + }, + "name": "Load Real Power Total", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 51, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AB THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 67, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BC THD", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 70, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CA THD", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_HF" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Trends/resource.json new file mode 100644 index 0000000..4df68d3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7168d41b3d629db3b311c40c1212ed70d694663f0316a3366c34c891dbd28b4e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Trends/thumbnail.png new file mode 100644 index 0000000..a2529a4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Trends/view.json new file mode 100644 index 0000000..16e671c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/Trends/view.json @@ -0,0 +1,483 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-3" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1267 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "key": "value" + }, + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\ttagName \u003d tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1]\n\t\t\t\tlowtagName \u003d tagName.lower()\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + lowtagName\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947963012 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947963012 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/_Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/_Trends/resource.json new file mode 100644 index 0000000..86d57eb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/_Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b8d25eaec09daeaf1b525cee109e9408187c7890f16d92077c5948424411dac7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:24:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/_Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/_Trends/thumbnail.png new file mode 100644 index 0000000..831e3a2 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/_Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/_Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/_Trends/view.json new file mode 100644 index 0000000..e06d7a9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/HarmonicFilter/_Trends/view.json @@ -0,0 +1,451 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [ + "Amps A", + "Amps B" + ], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Generator 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\t" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "measureOfTime": "minutes", + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 4, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 0, + 1731972414891 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "historical", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": { + "$": [ + "ts", + 0, + 1731972414891 + ], + "$ts": 1730879452730 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": { + "$": [ + "ts", + 0, + 1731972414891 + ], + "$ts": 1730733759000 + }, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972414891 + ], + "$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 + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Body/resource.json new file mode 100644 index 0000000..358a420 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c0bffa3b70eb05a21788086946bc34af5f66f518ff71097725c954d73cecb458", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Body/thumbnail.png new file mode 100644 index 0000000..baf0f92 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Body/view.json new file mode 100644 index 0000000..c974885 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Body/view.json @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "ValveM", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/ValveM 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 3 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Config/resource.json new file mode 100644 index 0000000..b90986d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8c04138cafbe94aacbc5d7560d0fb48de55676c86d62b69130e8016e5ff60fa2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Config/thumbnail.png new file mode 100644 index 0000000..78e3156 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Config/view.json new file mode 100644 index 0000000..01d77fb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Config/view.json @@ -0,0 +1,159 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CV31" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.instances[0].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[1].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[2].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "instances": [ + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Close Delay Setpoint", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CV31/Config/Fail To Close Delay Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Open Delay Setpoint", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CV31/Config/Fail To Open Delay Setpoint" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CV31/Config/Reset Required" + } + ], + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Control/resource.json new file mode 100644 index 0000000..5eff4a1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1d8b34079be0af76b3b9b34bba0f8cae11d4a7c02663d2f9cbf90a48ec9a88c7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:25:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Control/thumbnail.png new file mode 100644 index 0000000..30f3cf8 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Control/view.json new file mode 100644 index 0000000..d46693d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Control/view.json @@ -0,0 +1,484 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CV31" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Close": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Close" + }, + "type": "tag" + } + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Open": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Open" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ManualBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Close \u003d False\n\tself.view.custom.OCmd.Open \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode},true,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Open" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Open" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Open \u003d False\n\tself.view.custom.OCmd.Close \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode},true,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Closed" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Close" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d False\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "RightColumn" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Info/resource.json new file mode 100644 index 0000000..3a4b46d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3d33f337e8a14bf359ccfc7b6512f16ccfdc906a01123ba7691ec7500fd00e70", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Info/thumbnail.png new file mode 100644 index 0000000..749418f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Info/view.json new file mode 100644 index 0000000..54de3bb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Info/view.json @@ -0,0 +1,178 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Cable break alarm", + "options": [ + "Good", + "Broken" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 40, + "instanceStyle": { + "classes": "" + }, + "name": "Cable length", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 30, + "instanceStyle": { + "classes": "" + }, + "name": "Contamination detected", + "options": [ + "Good", + "Contaminated" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 20, + "instanceStyle": { + "classes": "" + }, + "name": "Leak Detected", + "options": [ + "Good", + "Leak" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Leak distance", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Unit of measure", + "options": [ + "meters", + "feet" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_DH1_LD1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Meta/resource.json new file mode 100644 index 0000000..5735bd3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f4c6bbe1bb6ea2111796e541700501398ace2e0aceff9d3214ccb96316764805", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Trends/resource.json new file mode 100644 index 0000000..b13d349 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5fce1f84bc3b973b50e0987f36463ee92c790ea0cc74fe582db1b3b774dcaf64", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Trends/thumbnail.png new file mode 100644 index 0000000..88290f1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Trends/view.json new file mode 100644 index 0000000..8938532 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LD/Trends/view.json @@ -0,0 +1,428 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CV31" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Body/resource.json new file mode 100644 index 0000000..d7d70f3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "795ffbe4488f708c6ba96539d08af15cad82ae5d35b8e721b632e0abe09a42a7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Body/thumbnail.png new file mode 100644 index 0000000..9539a1b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Body/view.json new file mode 100644 index 0000000..1f2ff7b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "LV Feeder", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Config/resource.json new file mode 100644 index 0000000..45f0f09 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "434a29206f868b36e27b635455f1a3a144f318af3bb621a5b6b855a673466792", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Config/view.json new file mode 100644 index 0000000..e259e83 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Config/view.json @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Info/resource.json new file mode 100644 index 0000000..4e5d389 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fc053c3e7e5ed2feddfb4021ae710645373391a2a3d0d4b87845403b0fe515a0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Info/thumbnail.png new file mode 100644 index 0000000..72f2932 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Info/view.json new file mode 100644 index 0000000..8dd8481 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Info/view.json @@ -0,0 +1,272 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps N", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Average Phase Current", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Average Phase Voltage", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KVA", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KVAR", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KW Demand", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total KWH", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage C", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Meta/resource.json new file mode 100644 index 0000000..5735bd3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f4c6bbe1bb6ea2111796e541700501398ace2e0aceff9d3214ccb96316764805", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Trends/resource.json new file mode 100644 index 0000000..d7d780a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e0ce3ee29d0a96dd5462d2358650b6029d8c302361a31db639de759b4b73d147", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Trends/thumbnail.png new file mode 100644 index 0000000..55e8942 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Trends/view.json new file mode 100644 index 0000000..30d8cbe --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV Feeder/Trends/view.json @@ -0,0 +1,705 @@ +{ + "custom": { + "trendConfig": { + "allPens": [ + { + "group": "A", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Amps A" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Amps B" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Amps C" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps N", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Amps N" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Average Phase Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Average Phase Current" + } + ] + }, + { + "group": "Hz", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "Hz", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Frequency" + } + ] + }, + { + "group": "KWH", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "KWH", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Total KWH", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Total KWH" + } + ] + }, + { + "group": "PF", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "PF", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Power Factor" + } + ] + }, + { + "group": "V", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Average Phase Voltage", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Average Phase Voltage" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Voltage A" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Voltage B" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/Voltage C" + } + ] + }, + { + "group": "kVA", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kVA", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KVA", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/KVA" + } + ] + }, + { + "group": "kVAR", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kVAR", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KVAR", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/KVAR" + } + ] + }, + { + "group": "kW", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kW", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KW", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/KW" + } + ] + }, + { + "group": "kWH", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kWH", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KW Demand", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1/KW Demand" + } + ] + } + ] + } + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV Feeder 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948086061 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948086061 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Body/resource.json new file mode 100644 index 0000000..56f2d3c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "08951d9b7d5037d5eaabcf4113d98acf497ae69a7bc54c009e78d44225772925", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Body/thumbnail.png new file mode 100644 index 0000000..9539a1b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Body/view.json new file mode 100644 index 0000000..4b6ed29 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "LV SWBD", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Config/resource.json new file mode 100644 index 0000000..c6d7abd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "013b8012d011acbf3059efdc8b2c099bf049c5270a00c9ec19a465eec543284f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Config/view.json new file mode 100644 index 0000000..bdbd413 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Config/view.json @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Info/resource.json new file mode 100644 index 0000000..2344481 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9498f16b5b951c009169fc78257d47e81ce6dea0145b921e2e9ded17284e5ff9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Info/thumbnail.png new file mode 100644 index 0000000..f43c90f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Info/view.json new file mode 100644 index 0000000..278cdb3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Info/view.json @@ -0,0 +1,448 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps G", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps N", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Average Phase Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- GFD", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- GFPU", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- INST", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- LTD", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- LTPU", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- Rating Plug Type", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- STD", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- STPU", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KVA", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KVAR", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KW Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total KWH", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Sag_Swell", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Waveform Capture", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Trends/resource.json new file mode 100644 index 0000000..cd185f8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3883803260750c60ca66899ec1fe290156892e2b8ad024bfc696771911492a8e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Trends/thumbnail.png new file mode 100644 index 0000000..80385c7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Trends/view.json new file mode 100644 index 0000000..f223ca4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/LV SWBD/Trends/view.json @@ -0,0 +1,900 @@ +{ + "custom": { + "trendConfig": { + "allPens": [ + { + "group": "%", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/THD Current A" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/THD Current B" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/THD Current C" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/THD Voltage A" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/THD Voltage B" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/THD Voltage C" + } + ] + }, + { + "group": "6xlr", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "6xlr", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- LTD", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- LTD" + } + ] + }, + { + "group": "A", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Amps A" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Amps B" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Amps C" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Amps N", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Amps N" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- Rating Plug Type", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- Rating Plug Type" + } + ] + }, + { + "group": "Hz", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "Hz", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Frequency" + } + ] + }, + { + "group": "PF", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "PF", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Power Factor" + } + ] + }, + { + "group": "Secs.", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "Secs.", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- STD", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- STD" + } + ] + }, + { + "group": "V", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Average Phase Voltage", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Average Phase Voltage" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Voltage A" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Voltage B" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Voltage C" + } + ] + }, + { + "group": "kVA", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kVA", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KVA", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/KVA" + } + ] + }, + { + "group": "kVAR", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kVAR", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KVAR", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/KVAR" + } + ] + }, + { + "group": "kW", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kW", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KW", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/KW" + } + ] + }, + { + "group": "kWH", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kWH", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "KW Demand", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/KW Demand" + }, + { + "color": "", + "enabled": false, + "engUnit": "kWH", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Total KWH", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Total KWH" + } + ] + }, + { + "group": "lg", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "lg", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- GFPU", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- GFPU" + } + ] + }, + { + "group": "misc", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Sag_Swell", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Voltage Sag_Swell" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Waveform Capture", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Waveform Capture" + } + ] + }, + { + "group": "tg", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "tg", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- GFD", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- GFD" + } + ] + }, + { + "group": "xlr", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "xlr", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- INST", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- INST" + }, + { + "color": "", + "enabled": false, + "engUnit": "xlr", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- LTPU", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- LTPU" + }, + { + "color": "", + "enabled": false, + "engUnit": "xlr", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Setpoint- STPU", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1/Breaker Setpoint- STPU" + } + ] + } + ] + } + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/LV SWBD 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948107800 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948107800 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Body/resource.json new file mode 100644 index 0000000..b19d0ac --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3f02362355fdcecb0374e3368bbcf13f2c849f1c57c8f711667105d69da1d857", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Body/thumbnail.png new file mode 100644 index 0000000..3478eb4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Body/view.json new file mode 100644 index 0000000..7948345 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "MV SWGR", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/MV SWGR 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Config/resource.json new file mode 100644 index 0000000..5eea640 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3c4a18d52d057b618fb5b9046a1517b17f2b29f925353a21393d88b370406578", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Config/view.json new file mode 100644 index 0000000..7ac7613 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Config/view.json @@ -0,0 +1,106 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/MV SWGR 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Info/resource.json new file mode 100644 index 0000000..0e57508 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4d58ef81e5f30d386ad3d07d22847851c90936a4844abf82c2fc307c4fc4a974", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Info/thumbnail.png new file mode 100644 index 0000000..34ce0db Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Info/view.json new file mode 100644 index 0000000..f478ea0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Info/view.json @@ -0,0 +1,327 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps A", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps B", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps C", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Amps N", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Average Phase Current", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KVA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KVAR", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KW", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KW Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "MVAR", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "MWH", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "THD Voltage C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Sag_Swell", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Waveform Capture", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/MV SWGR 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Meta/resource.json new file mode 100644 index 0000000..6f9daef --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ab2e369731a5350acca70e8a4f51ccc9b55bc1bb9556e642dde8833ce89d2de7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Trends/resource.json new file mode 100644 index 0000000..edf12e8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "70acdad557fa0f6b75bda80ca50d0fc720ad1f27882e68543093ecd54e6c696c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Trends/thumbnail.png new file mode 100644 index 0000000..5135cd7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Trends/view.json new file mode 100644 index 0000000..920ba69 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/MV SWGR/Trends/view.json @@ -0,0 +1,1085 @@ +{ + "custom": { + "trendConfig": { + "allPens": [ + { + "group": "#", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "#", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Strings in System", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Strings in System" + } + ] + }, + { + "group": "%", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Battery Charge Percent", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Battery Charge Percent" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current THD A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Current THD A" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current THD B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Current THD B" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current THD C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Current THD C" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage THD A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Voltage THD A" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage THD B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Voltage THD B" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage THD C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Voltage THD C" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Total Output Percent Load", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Total Output Percent Load" + } + ] + }, + { + "group": "A", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Amps A" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Amps B" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Amps C" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Discharge Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Discharge Current" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Float Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Float Current" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch JAR Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch JAR Current" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Min_Max Battery Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Min_Max Battery Current" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Amps A" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Amps B" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Amps C" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps A", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Amps A" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps B", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Amps B" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps C", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Amps C" + }, + { + "color": "", + "enabled": false, + "engUnit": "A", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Neutral Current", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Neutral Current" + } + ] + }, + { + "group": "Hz", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "Hz", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Frequency", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Frequency" + }, + { + "color": "", + "enabled": false, + "engUnit": "Hz", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Frequency", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Frequency" + }, + { + "color": "", + "enabled": false, + "engUnit": "Hz", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Frequency", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Frequency" + } + ] + }, + { + "group": "V", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts AB", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Volts AB" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts AN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Volts AN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts BC", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Volts BC" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts BN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Volts BN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts CA", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Volts CA" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts CN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass Volts CN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch JAR Voltage", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch JAR Voltage" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Min_Max Battery Voltage", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Min_Max Battery Voltage" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts AB", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Volts AB" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts AN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Volts AN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts BC", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Volts BC" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts BN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Volts BN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts CA", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Volts CA" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts CN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input Volts CN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts AB", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Volts AB" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts AN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Volts AN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts BC", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Volts BC" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts BN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Volts BN" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts CA", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Volts CA" + }, + { + "color": "", + "enabled": false, + "engUnit": "V", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts CN", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Output Volts CN" + } + ] + }, + { + "group": "deg C", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "deg C", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cellwatch Cell Temperature", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Cellwatch Cell Temperature" + } + ] + }, + { + "group": "kW", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "kW", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass KW", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Bypass KW" + }, + { + "color": "", + "enabled": false, + "engUnit": "kW", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Input KW", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Input KW" + }, + { + "color": "", + "enabled": false, + "engUnit": "kW", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ouput KW", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Ouput KW" + } + ] + }, + { + "group": "mOhms", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "mOhms", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Celwath JAR Impedence", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1/Celwath JAR Impedence" + } + ] + } + ] + } + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948127218 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948127218 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Body/resource.json new file mode 100644 index 0000000..8a5c632 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e1119c93f53460e094c136ed14e6f0d01ad95ffb5b4d3e99873c0ec3fb676d3a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Body/thumbnail.png new file mode 100644 index 0000000..0818c56 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Body/view.json new file mode 100644 index 0000000..9bd08c1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Body/view.json @@ -0,0 +1,430 @@ +{ + "custom": { + "tabsConfig": { + "showConfig": false, + "showControl": false, + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1141/SATB1_RM1141_PMP_01" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "enabled": false, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "enabled": false, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Config/resource.json new file mode 100644 index 0000000..bd9c049 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dadc4587b3edc0a93c91fd8dd8fc0ec4656d351fb18a87ae21e374fcc8fad4ad", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Config/view.json new file mode 100644 index 0000000..9ea4cd5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Config/view.json @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_MOTOR" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Control/resource.json new file mode 100644 index 0000000..771d5ab --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4f8416ddef5760aa79e0e4a5f260ef909289df7dfc7cadc735e8c8f028a6147f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:25:31Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Control/thumbnail.png new file mode 100644 index 0000000..a04edbb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Control/view.json new file mode 100644 index 0000000..a2fc6b1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Control/view.json @@ -0,0 +1,468 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Run" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StartBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StopBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Info/resource.json new file mode 100644 index 0000000..2cbf8c1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0618947335053d046e232c1551b0e584a0e10ca089c91eff855e7689ccb449c2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Info/thumbnail.png new file mode 100644 index 0000000..191b579 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Info/view.json new file mode 100644 index 0000000..40577d1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Info/view.json @@ -0,0 +1,111 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Off", + "On" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]RM1141/SATB1_RM1141_PMP_02" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Meta/resource.json new file mode 100644 index 0000000..6f9daef --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ab2e369731a5350acca70e8a4f51ccc9b55bc1bb9556e642dde8833ce89d2de7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Trends/resource.json new file mode 100644 index 0000000..4a2fe29 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a1b3f24426dd5c8b476a20ed0b48ff5cbd8fad273856429beb57b26db4a8d4d4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Trends/thumbnail.png new file mode 100644 index 0000000..46bbf3b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Trends/view.json new file mode 100644 index 0000000..0b97663 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor JockeyFP/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Motor 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948157059 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948157059 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Body/resource.json new file mode 100644 index 0000000..621ecff --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b343a05c552fd161473007f911b3329da818374df26d8dbce14262ce2ad73e43", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Body/thumbnail.png new file mode 100644 index 0000000..d7d4e16 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Body/view.json new file mode 100644 index 0000000..b30d27e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Body/view.json @@ -0,0 +1,430 @@ +{ + "custom": { + "tabsConfig": { + "showConfig": false, + "showControl": false, + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "enabled": false, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "enabled": false, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Config/resource.json new file mode 100644 index 0000000..66a5371 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4535025adcc84cf757aac3bc35de6c69c8703675e09ec5e6917268781b2813c8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Config/view.json new file mode 100644 index 0000000..9ea4cd5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Config/view.json @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_MOTOR" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Control/resource.json new file mode 100644 index 0000000..64a6e01 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f1cf38a09922c7cb616ce4a63ea2cec1a5c95928e1b4765e8c02e481451c93e2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:25:45Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Control/thumbnail.png new file mode 100644 index 0000000..a04edbb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Control/view.json new file mode 100644 index 0000000..a2fc6b1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Control/view.json @@ -0,0 +1,468 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Run" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StartBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StopBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Info/resource.json new file mode 100644 index 0000000..1dfb1a1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "73f8a0b49a6f94867cbfe171607c3b5e50816f3411b3796cca33428469e9ee53", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Info/thumbnail.png new file mode 100644 index 0000000..8457d0b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Info/view.json new file mode 100644 index 0000000..87e3777 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Info/view.json @@ -0,0 +1,233 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "AC Amps Avg", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "AC Amps Line 1", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "AC Amps Line 2", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "AC Amps Line 3", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Suction Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "System Pressure", + "options": [] + }, + { + "dataType": "Bool", + "displaySelection": 1, + "format": 0, + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Emergency Power Available", + "options": [ + "Not Available", + "Available" + ] + }, + { + "dataType": "Bool", + "displaySelection": 1, + "format": 0, + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Normal Power Available", + "options": [ + "Not Available", + "Available" + ] + }, + { + "dataType": "Bool", + "displaySelection": 1, + "format": 0, + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Transfer Switch Emergency", + "options": [ + "Not Active", + "Active" + ] + }, + { + "dataType": "Bool", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Transfer Switch Normal", + "options": [ + "Not Active", + "Active" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]RM1141/SATB1_RM1141_PMP_01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Trends/resource.json new file mode 100644 index 0000000..4a2fe29 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a1b3f24426dd5c8b476a20ed0b48ff5cbd8fad273856429beb57b26db4a8d4d4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Trends/thumbnail.png new file mode 100644 index 0000000..46bbf3b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Trends/view.json new file mode 100644 index 0000000..0b97663 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor MainFP/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Motor 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948157059 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948157059 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Body/resource.json new file mode 100644 index 0000000..acbe137 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "18f0aef53a9b8859ade0d74dd3703c4e259bfc5d321056e5f8fb212de44e82fe", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Body/thumbnail.png new file mode 100644 index 0000000..9a9f578 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Body/view.json new file mode 100644 index 0000000..9975575 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Body/view.json @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 2 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Config/resource.json new file mode 100644 index 0000000..bd9c049 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dadc4587b3edc0a93c91fd8dd8fc0ec4656d351fb18a87ae21e374fcc8fad4ad", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Config/view.json new file mode 100644 index 0000000..9ea4cd5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Config/view.json @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_MOTOR" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Control/resource.json new file mode 100644 index 0000000..771d5ab --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4f8416ddef5760aa79e0e4a5f260ef909289df7dfc7cadc735e8c8f028a6147f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:25:31Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Control/thumbnail.png new file mode 100644 index 0000000..a04edbb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Control/view.json new file mode 100644 index 0000000..a2fc6b1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Control/view.json @@ -0,0 +1,468 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Run" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StartBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StopBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Info/resource.json new file mode 100644 index 0000000..948db39 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1d8d86432d62ae6f11b08650ec5646778b61e8509257c7c9a54577761e8e3f46", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Info/thumbnail.png new file mode 100644 index 0000000..0517480 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Info/view.json new file mode 100644 index 0000000..c8c045f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Info/view.json @@ -0,0 +1,147 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "EquipCounts", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "options": [ + "Not Available", + "Available" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Stopped", + "Running" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Meta/resource.json new file mode 100644 index 0000000..5735bd3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f4c6bbe1bb6ea2111796e541700501398ace2e0aceff9d3214ccb96316764805", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Trends/resource.json new file mode 100644 index 0000000..5d74b75 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "95f683f6128615092ec2d262a58881f5f4114cd2a082b33f050c94efde7aac52", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Trends/thumbnail.png new file mode 100644 index 0000000..46bbf3b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Trends/view.json new file mode 100644 index 0000000..0b97663 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Motor/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Motor 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948157059 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948157059 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Body/resource.json new file mode 100644 index 0000000..97cfae1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ee4c0b05f3d036f35498f3712fc46c30da126229942a9401fbafa18b9839df14", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Body/thumbnail.png new file mode 100644 index 0000000..48e2ada Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Body/view.json new file mode 100644 index 0000000..c63ec27 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Body/view.json @@ -0,0 +1,500 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki", + "PQM" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "PDU", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-2" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status", + "tooltip": { + "enabled": true, + "text": "Wavestar" + } + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PQM" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/PQM\u0027" + }, + "type": "expr" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/PQM\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Breakers" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)\n\t", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Breakers\u0027" + }, + "type": "expr" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Breakers\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 2 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Config/resource.json new file mode 100644 index 0000000..edd2bf0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3c86a2d43e0e85bae130adb4f96b0b6b18b0c37502dc69e80c4e89332fc79279", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Config/view.json new file mode 100644 index 0000000..4121e2f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Config/view.json @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/PDU 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info/resource.json new file mode 100644 index 0000000..55c9605 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c64beaecd522139b373735d5fb0cb6fb9116cb7e7ceb9c1a81d4bf82276e950c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info/thumbnail.png new file mode 100644 index 0000000..ce8c56c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info/view.json new file mode 100644 index 0000000..e63f4cb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info/view.json @@ -0,0 +1,504 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 1", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 20, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 2", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 30, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 3", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 40, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 4", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 50, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 5", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 130, + "instanceStyle": { + "classes": "" + }, + "name": "Ground Current", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 70, + "instanceStyle": { + "classes": "" + }, + "name": "Input AB THD-F", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 90, + "instanceStyle": { + "classes": "" + }, + "name": "Input BC THD-F", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 110, + "instanceStyle": { + "classes": "" + }, + "name": "Input CA THD-F", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 150, + "instanceStyle": { + "classes": "" + }, + "name": "Input Frequency", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 80, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage AB", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 100, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage BC", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 120, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage CA", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 60, + "instanceStyle": { + "classes": "" + }, + "name": "Main Breaker", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 140, + "instanceStyle": { + "classes": "" + }, + "name": "Neutral Current", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 170, + "instanceStyle": { + "classes": "" + }, + "name": "Output A KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 180, + "instanceStyle": { + "classes": "" + }, + "name": "Output A PF", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 190, + "instanceStyle": { + "classes": "" + }, + "name": "Output B KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 200, + "instanceStyle": { + "classes": "" + }, + "name": "Output B PF", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 210, + "instanceStyle": { + "classes": "" + }, + "name": "Output C KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 220, + "instanceStyle": { + "classes": "" + }, + "name": "Output C PF", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 230, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 250, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 270, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 240, + "instanceStyle": { + "classes": "" + }, + "name": "Output KVA", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 260, + "instanceStyle": { + "classes": "" + }, + "name": "Output KWh", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 280, + "instanceStyle": { + "classes": "" + }, + "name": "Output Total KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 290, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage AB", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 300, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage AN", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 310, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage BC", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 320, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage BN", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 330, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage CA", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 340, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage CN", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 160, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage CN", + "options": [], + "visible": false + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "SPD Alarm", + "options": [ + "No Alarm", + "Alarmed" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info2/resource.json new file mode 100644 index 0000000..aac1378 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "61ee6034a4b675f168b312f53ae092fc876b6b9816e5e0724a5e0dcfcae474a7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info2/thumbnail.png new file mode 100644 index 0000000..d584e02 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info2/view.json new file mode 100644 index 0000000..7c2e95f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Info2/view.json @@ -0,0 +1,489 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 1", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 2", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 3", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 4", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker 5", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Ground Current", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input AB THD-F", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input BC THD-F", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input CA THD-F", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Frequency", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage AB", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage BC", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage CA", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Breaker", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Neutral Current", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output A KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output A PF", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output B KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output B PF", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output C KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output C PF", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current A", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current B", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output KVA", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output KWh", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Total KW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage AB", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage AN", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage BC", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage BN", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage CA", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Voltage CN", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "SPD Alarm", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Meta/resource.json new file mode 100644 index 0000000..ed8d2db --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "41bf4722d42df8d6a208c846d151480ba7d5265099d0cc40a8b3aafe04b36dda", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Meta/thumbnail.png new file mode 100644 index 0000000..f1bcc59 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Meta/view.json new file mode 100644 index 0000000..9ac490d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Meta/view.json @@ -0,0 +1,260 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Alarm Description" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarms Enabled", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Alarms Enabled" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Area Served", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Area Served" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/PQM/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/PQM/resource.json new file mode 100644 index 0000000..723a7b0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/PQM/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d5c20432684b7302a2b0e136b07dc30a284aef7d32b8ecf4174cd7e7f68df908", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/PQM/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/PQM/thumbnail.png new file mode 100644 index 0000000..3857c71 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/PQM/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/PQM/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/PQM/view.json new file mode 100644 index 0000000..6a8cb2f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/PQM/view.json @@ -0,0 +1,416 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Avg", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Current N", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage AN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage Avg", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage BN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Voltage CN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KFactor A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KFactor B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "KFactor C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Energy", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Sag Events", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage THD A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage THD B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage THD C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Unbalance", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "kW A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "kW B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "kW C", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-2/PQM" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Trends/resource.json new file mode 100644 index 0000000..132aa7d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5cf33c6a6fbd3fdaa6464a3d85092c778e8d8818a7a4aafb7cb55780350c187f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Trends/thumbnail.png new file mode 100644 index 0000000..1f46e3c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Trends/view.json new file mode 100644 index 0000000..f37d202 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PDU/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-3" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948194045 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948194045 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Body/resource.json new file mode 100644 index 0000000..ebe1067 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "affbb998585e1e9db32270d9355340b53ba8499be0e03faa2000cb11649a9b33", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Body/thumbnail.png new file mode 100644 index 0000000..5fd1cc8 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Body/view.json new file mode 100644 index 0000000..a9bf1a0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Body/view.json @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "PID_Loop", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/PID_Loop" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Config/resource.json new file mode 100644 index 0000000..c317ab3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6fa1fc9c737487a99a20db2e025371590f7965107831e0298de94ed89e02a8be", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Config/thumbnail.png new file mode 100644 index 0000000..b801c7d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Config/view.json new file mode 100644 index 0000000..b352e4e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Config/view.json @@ -0,0 +1,191 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "format": "0,0", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CV Min" + }, + { + "dataType": "Float4", + "format": "0,0", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CV Max" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "" + }, + { + "dataType": "Float4", + "format": "0,0.0000#", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Bias" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Derivative Gain Enable" + }, + { + "dataType": "Float4", + "format": "0,0", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Derivative Gain" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Integral Gain Enable" + }, + { + "dataType": "Float4", + "format": "0,0", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Integral Gain" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Proportional Gain Enable" + }, + { + "dataType": "Float4", + "format": "0,0.0000#", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Proportional Gain" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Control/resource.json new file mode 100644 index 0000000..7f1a971 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a5a6df087d524a7d1ee44106cb54b1ccacebcf18e27adfcc990465794f88e7ec", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:25:46Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Control/thumbnail.png new file mode 100644 index 0000000..a30d4c6 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Control/view.json new file mode 100644 index 0000000..f17da82 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Control/view.json @@ -0,0 +1,503 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_PID" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Mode Cmd" + }, + "type": "tag" + } + }, + "custom.OCmd.Override": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OverrideMode" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Output Override Mode", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.Override" + }, + "type": "property" + } + } + }, + "props": { + "checkedIcon": { + "color": { + "enabled": "var(--tagvalue-color)" + } + }, + "text": "", + "uncheckedIcon": { + "color": { + "enabled": "var(--tagvalue-color)" + } + } + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Operator Control Value", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.custom.OCmd.Override} \u0026\u0026 {view.params.auth.control}" + }, + "type": "expr" + } + }, + "props.style.color": { + "binding": { + "config": { + "path": "this.props.enabled" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--tagvalue-color)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OSet_CV" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 100, + "minimum": 0 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "PositionSP" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Operator Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "struct": { + "auth": "{view.params.auth.control}", + "auto": "{view.custom.OCmd.Mode}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027auth\u0027] and not value[\u0027auto\u0027]:\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.style.color": { + "binding": { + "config": { + "path": "this.props.enabled" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--tagvalue-color)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OSet_SP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 100, + "minimum": 0 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "PositionSP_0" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Info/resource.json new file mode 100644 index 0000000..638f0a6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6a677f6713728dfebea5104cfd46525dc0612896f172b3ad9d70ceabe7bd8050", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Info/thumbnail.png new file mode 100644 index 0000000..bd60e76 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Info/view.json new file mode 100644 index 0000000..4d053b3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Info/view.json @@ -0,0 +1,169 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "At Max", + "options": [ + "No", + "Yes" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "At Min", + "options": [ + "No", + "Yes" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Error", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Activate", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input PV", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Out CV", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_2" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Trends/resource.json new file mode 100644 index 0000000..8a286f0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "da72601653d53980b6401438da245214b113c743854b4be593e5d72f939161d6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Trends/thumbnail.png new file mode 100644 index 0000000..46bbf3b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Trends/view.json new file mode 100644 index 0000000..e02791d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PID_Loop/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/PID_Loop" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948226158 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948226158 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Body/resource.json new file mode 100644 index 0000000..4d42cb6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c8ceb32dea941fadd4f6b97638f2ede7a20743fc70d8890cb1dc6a76302072cb", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Body/thumbnail.png new file mode 100644 index 0000000..5107f8e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Body/view.json new file mode 100644 index 0000000..b7047b7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_SYSTEM" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Config/resource.json new file mode 100644 index 0000000..e1bc339 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0251a9dc86d8122ef7c1ba3248c533acb4ec7e46c189cebb658b18a95eaf079a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Config/thumbnail.png new file mode 100644 index 0000000..4ed3ab6 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Config/view.json new file mode 100644 index 0000000..e771299 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Config/view.json @@ -0,0 +1,163 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CWS Temperature High SP" + }, + { + "dataType": "Float8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CWS Temperature High Tmr SP" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Fail Tmr Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low Tmr Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Flow Difference Deadband" + }, + { + "dataType": "Float8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Quantity Fail Setpoint" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Info/resource.json new file mode 100644 index 0000000..c2ec0ac --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8048989b11e9fa189a66f5683c83c70e0974358c654d5abdf714cbcdde9e4fcf", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Info/thumbnail.png new file mode 100644 index 0000000..752deb7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Info/view.json new file mode 100644 index 0000000..136ddd5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Info/view.json @@ -0,0 +1,1019 @@ +{ + "custom": { + "JA01": "/AC Primary Power Fault", + "JA02": "/AC Secondary Power Fault", + "JA03": "/DC Power Supply 1 Fault", + "JA04": "/DC Power Supply 2 Fault", + "PLC_A_Fail": false, + "PLC_A_Online": false, + "PLC_B_Fail": false, + "PLC_B_Online": false, + "RedundancySTS": "/Hot Standby Status", + "TAH": "/High Temperature", + "XA": "/Panel Intrusion", + "allTags": [ + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Chiller Quantity Fail" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Fail" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Temp Fail" + } + ], + "inTagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_PNL24" + }, + "params": { + "embedded": false, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_PNL24" + }, + "propConfig": { + "custom.JA01": { + "persistent": true + }, + "custom.JA02": { + "persistent": true + }, + "custom.JA03": { + "persistent": true + }, + "custom.JA04": { + "persistent": true + }, + "custom.PLC_A_Fail": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Hot Standby Status/PLC A Fail" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.PLC_A_Online": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Hot Standby Status/PLC A Online" + }, + "transforms": [ + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.PLC_B_Fail": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Hot Standby Status/PLC B Fail" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.PLC_B_Online": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Hot Standby Status/PLC B Online" + }, + "transforms": [ + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.RedundancySTS": { + "persistent": true + }, + "custom.TAH": { + "persistent": true + }, + "custom.XA": { + "persistent": true + }, + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "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 + }, + "custom.inTagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA01\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA01}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA01}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA01}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "AC Primary Power Failure", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA02\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA02}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA02}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA02}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "AC Secondary Power Failure", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA03\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA03}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA03}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA03}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA03}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "DC Power Supply 1 Fault", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA04\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA04}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA04}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA04}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA04}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "DC Power Supply 2 Fault", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.TAH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.TAH}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.TAH}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.TAH}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Temperature High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.XA}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_5" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.XA}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.XA}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Panel Intrusion", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "Redundancy", + "tagPath": "{view.custom.inTagPath}{view.custom.RedundancySTS}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_6" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "struct": { + "PLC_A": "{view.custom.PLC_A_Fail}", + "PLC_A_On": "{view.custom.PLC_A_Online}", + "PLC_B": "{view.custom.PLC_B_Fail}", + "PLC_B_On": "{view.custom.PLC_B_Online}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027PLC_A\u0027] or value[\u0027PLC_B\u0027] or value[\u0027PLC_A_On\u0027] or value[\u0027PLC_B_On\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--state-standby)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Redundancy Status", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "136px" + }, + "props": { + "justify": "space-evenly", + "style": { + "gap": 5, + "overflow": "visible", + "padding": 5 + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Meta/resource.json new file mode 100644 index 0000000..17bcdb7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d253c03f3af145cf063c3bf51c835dc4745502910b538524642e8a309ec2ce78", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Meta/view.json new file mode 100644 index 0000000..a11ab02 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Meta/view.json @@ -0,0 +1,227 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Trends/resource.json new file mode 100644 index 0000000..778b681 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "24b894d43feb552cb6eabc05c97e3b0255b1d3f05b849d2f00e124f154aa1b06", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Trends/thumbnail.png new file mode 100644 index 0000000..b0d6754 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Trends/view.json new file mode 100644 index 0000000..4980fd1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel Red/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948358902 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948358902 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Body/resource.json new file mode 100644 index 0000000..4d42cb6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c8ceb32dea941fadd4f6b97638f2ede7a20743fc70d8890cb1dc6a76302072cb", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Body/thumbnail.png new file mode 100644 index 0000000..5107f8e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Body/view.json new file mode 100644 index 0000000..b7047b7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_SYSTEM" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Config/resource.json new file mode 100644 index 0000000..7660e7c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a3c5ee66f2627b743d8743b876a0b51dce48281d87ce5e8a1944a6d5ab92dbc0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Config/thumbnail.png new file mode 100644 index 0000000..4ed3ab6 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Config/view.json new file mode 100644 index 0000000..e771299 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Config/view.json @@ -0,0 +1,163 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CWS Temperature High SP" + }, + { + "dataType": "Float8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CWS Temperature High Tmr SP" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Fail Tmr Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low Tmr Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Flow Difference Deadband" + }, + { + "dataType": "Float8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Quantity Fail Setpoint" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Info/resource.json new file mode 100644 index 0000000..7483ddb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c68874da897e262ae18b57a8d92be3a5eb7de57fcba4fc15178126e416be961c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Info/thumbnail.png new file mode 100644 index 0000000..1b58c4f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Info/view.json new file mode 100644 index 0000000..ce226a2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Info/view.json @@ -0,0 +1,1606 @@ +{ + "custom": { + "JA01": "/AC Primary Power Fault", + "JA02": "/AC Secondary Power Fault", + "JA03": "/DC Power Supply 1 Fault", + "JA04": "/DC Power Supply 2 Fault", + "TAH": "/High Temperature", + "XA": "/Panel Intrusion", + "allTags": [ + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Chiller Quantity Fail" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Fail" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Temp Fail" + } + ], + "inTagPath": "[Ignition_Common_IO_Gtwy]PLC/SATB1_MPR1240_PNL58" + }, + "params": { + "embedded": false, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]PLC/SATB1_MPR1240_PNL58" + }, + "propConfig": { + "custom.JA01": { + "persistent": true + }, + "custom.JA02": { + "persistent": true + }, + "custom.JA03": { + "persistent": true + }, + "custom.JA04": { + "persistent": true + }, + "custom.TAH": { + "persistent": true + }, + "custom.XA": { + "persistent": true + }, + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "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 + }, + "custom.inTagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA01\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA01}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "AC Primary Power Failure", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA02\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA02}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "AC Secondary Power Failure", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA03\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA03}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA03}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA03}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "DC Power Supply 1 Fault", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA04\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA04}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA04}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA04}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "DC Power Supply 2 Fault", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.TAH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.TAH}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.TAH}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Temperature High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.XA}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_5" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Panel Intrusion", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "136px", + "display": false + }, + "props": { + "justify": "space-evenly", + "style": { + "gap": 5, + "overflow": "visible", + "padding": 5 + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA01\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA01}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA01}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA01}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "AC Primary Power Failure", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA02\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA02}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA02}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA02}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "AC Secondary Power Failure", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA03\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA03}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA03}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA03}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA03}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "DC Power Supply 1 Fault", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA04\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.JA04}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.JA04}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA04}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA04}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "DC Power Supply 2 Fault", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.TAH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.TAH}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.TAH}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.TAH}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Temperature High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.XA}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_5" + }, + "position": { + "basis": "112px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.custom.inTagPath}+{view.custom.XA}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.XA}+\"/Alarms/Alarm IO Fail\")" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none" + }, + "text": "Panel Intrusion", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "136px" + }, + "props": { + "justify": "space-evenly", + "style": { + "gap": 5, + "overflow": "visible", + "padding": 5 + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Meta/resource.json new file mode 100644 index 0000000..36ca77f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2767194fbc0ec28c44a8c208c7a33a9f5949a5181b8d12eca752a0d72d84609a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Meta/view.json new file mode 100644 index 0000000..a11ab02 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Meta/view.json @@ -0,0 +1,227 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Trends/resource.json new file mode 100644 index 0000000..9e8b5ec --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9637418e67386883d751fb9556250d27dcbdb23f3dfe3490eb7ce50484718e91", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Trends/thumbnail.png new file mode 100644 index 0000000..b0d6754 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Trends/view.json new file mode 100644 index 0000000..4980fd1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Panel/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948358902 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948358902 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Body/resource.json new file mode 100644 index 0000000..3bcbcde --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5a6f1750a01c83a7c449156dc1d508f3b8748c2df537217916c55cdca9c1d2fe", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Body/thumbnail.png new file mode 100644 index 0000000..e2a548f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Body/view.json new file mode 100644 index 0000000..3631cbd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Body/view.json @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "AvgMinMax", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_SYSTEM" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Config/resource.json new file mode 100644 index 0000000..e1bc339 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0251a9dc86d8122ef7c1ba3248c533acb4ec7e46c189cebb658b18a95eaf079a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Config/thumbnail.png new file mode 100644 index 0000000..4ed3ab6 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Config/view.json new file mode 100644 index 0000000..e771299 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Config/view.json @@ -0,0 +1,163 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CWS Temperature High SP" + }, + { + "dataType": "Float8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CWS Temperature High Tmr SP" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Fail Tmr Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low Tmr Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Flow Difference Deadband" + }, + { + "dataType": "Float8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Quantity Fail Setpoint" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Control/resource.json new file mode 100644 index 0000000..2827bc6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1c49ac292b79d8c3ead38f5d441b29de613188a854bf6156b28558212accb855", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:26:01Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Control/thumbnail.png new file mode 100644 index 0000000..db7a5ef Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Control/view.json new file mode 100644 index 0000000..1f6119c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Control/view.json @@ -0,0 +1,140 @@ +{ + "custom": { + "reset": false + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Info/resource.json new file mode 100644 index 0000000..5054903 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "764eaa8ab1ceeec0eaef77e5921f2cf568f53f666daa2629563edfd92d9b6a44", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Info/thumbnail.png new file mode 100644 index 0000000..ad1a55a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Info/view.json new file mode 100644 index 0000000..2c1951d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Info/view.json @@ -0,0 +1,238 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Chiller Quantity Fail", + "options": [ + "No Fail", + "Fail" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "DP Fail", + "options": [ + "No Fail", + "Fail" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low", + "options": [ + "Normal", + "Low" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Flow Difference", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Temp Fail", + "options": [ + "No Fail", + "Fail" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "instances": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Chiller Quantity Fail", + "options": [ + "No Fail", + "Fail" + ], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters/Chiller Quantity Fail" + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "DP Fail", + "options": [ + "No Fail", + "Fail" + ], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters/DP Fail" + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "DP Low", + "options": [ + "Normal", + "Low" + ], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters/DP Low" + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Flow Difference", + "options": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters/Flow Difference" + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Temp Fail", + "options": [ + "No Fail", + "Fail" + ], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters/Supply Temp Fail" + } + ], + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Meta/resource.json new file mode 100644 index 0000000..17bcdb7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d253c03f3af145cf063c3bf51c835dc4745502910b538524642e8a309ec2ce78", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Meta/view.json new file mode 100644 index 0000000..a11ab02 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Meta/view.json @@ -0,0 +1,227 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Trends/resource.json new file mode 100644 index 0000000..f2541cf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4d6c7b3d83cb59f4ea1a529b2e05d9541d72de2fad0a2cd397efa505665b7ad1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Trends/thumbnail.png new file mode 100644 index 0000000..3099273 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Trends/view.json new file mode 100644 index 0000000..8d51a26 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/PlantFailure/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948381171 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948381171 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Body/resource.json new file mode 100644 index 0000000..a68cd38 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4315ea5b8a27ed35e015cdd6f149e8e23e79214393e1855f86f4e5d93caf0650", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Body/thumbnail.png new file mode 100644 index 0000000..3a74d25 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Body/view.json new file mode 100644 index 0000000..6118898 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "RTU01", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/RTU-1 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Config/resource.json new file mode 100644 index 0000000..a5069be --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e5436b5763aa938ab81e6a1af50cb82af83aa3a2c8bbc29db5c9a2c6ff71b2e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Config/thumbnail.png new file mode 100644 index 0000000..312e195 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Config/view.json new file mode 100644 index 0000000..bdbf775 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Config/view.json @@ -0,0 +1,929 @@ +{ + "custom": { + "O_Time": { + "$": [ + "ts", + 0, + 1753735493457 + ], + "$ts": 1753678860457 + }, + "U_time": { + "$": [ + "ts", + 0, + 1753737628957 + ], + "$ts": 1753762440473 + }, + "allTags": [ + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Dehumidifier High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Dehumidifier Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Enthalpy Enable SP" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Cooldown Supply Air Temp SP" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Dewpoint Hi Limit" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature Override" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Warmup Supply Air Temp SP" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Duct Static Pressure SP" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Startup Pressure Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Maximum Outdoor Airflow" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Minimum Outdoor Airflow" + }, + { + "dataType": "Int4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Emergency Override Alarm Delay Minutes" + }, + { + "dataType": "Int4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Occupancy Mode Start Time" + }, + { + "dataType": "Boolean", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temp Override En" + }, + { + "dataType": "Int4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Unoccupied Mode Start Time" + }, + { + "dataType": "Int8", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Emergency Override Alarm Delay" + }, + { + "dataType": "Float4", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Enable Setpoint" + } + ], + "o_time_adj": "5:01 AM", + "u_time_adj": "4:14 AM", + "weekDay": 255 + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + "propConfig": { + "custom.O_Time": { + "persistent": true + }, + "custom.U_time": { + "persistent": true + }, + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": 999,\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.o_time_adj": { + "binding": { + "config": { + "path": "view.custom.O_Time" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "type": "format" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.u_time_adj": { + "binding": { + "config": { + "path": "view.custom.U_time" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "type": "format" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.weekDay": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Day of the week Enable Cmd" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.SA_Ovr": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Supply Air Temperature Override" + }, + "type": "tag" + } + }, + "custom.SA_Ovr_En": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Supply Air Temp Override EN" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d False:\n\t\tself.custom.SA_Ovr \u003d 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.instances[14].enabled": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01/Config/Supply Air Temp Override En" + }, + "type": "tag" + } + }, + "props.instances[16].enabled": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Supply Air Temp Override En" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag ConfigV2", + "style": { + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "text": "Unoccupied Mode Start Time" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "DateTimeInput" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.U_time" + }, + "type": "property" + } + } + }, + "props": { + "formattedValue": "Jul 28, 2025 11:14 PM", + "pickerType": "time" + }, + "type": "ia.input.date-time-input" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "text": "Occupancy Mode Start Time" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "DateTimeInput_0" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.O_Time" + }, + "type": "property" + } + } + }, + "props": { + "formattedValue": "Jul 28, 2025 12:01 AM", + "pickerType": "time" + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "150px", + "display": false, + "grow": 1 + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Day of the Week Enable" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 1\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Monday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},1)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Monday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 2\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Tuesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},2)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Tuesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 3\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Wednesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},3)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Wednesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 4\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Thursday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},4)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Thursday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 5\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Friday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},5)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Friday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 6\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Saturday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},6)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Saturday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 7\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Sunday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},7)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Sunday" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "space-evenly", + "style": { + "gap": "5px", + "overflow": "visible", + "padding": "5px" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "100%" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Control/resource.json new file mode 100644 index 0000000..4312556 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ffcadbf00e279980c1cc124e0b7820db5ef144e4a48522ce7c2a1ad1574eba31", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:26:15Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Control/thumbnail.png new file mode 100644 index 0000000..0cebea2 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Control/view.json new file mode 100644 index 0000000..87829bb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Control/view.json @@ -0,0 +1,226 @@ +{ + "custom": {}, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + "propConfig": { + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40%" + }, + "props": { + "text": "Schedule Override" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "60%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Schedule Override Cmd" + }, + "type": "tag" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 0 + }, + { + "label": "Force Occupied", + "value": 1 + }, + { + "label": "Force Unoccupied", + "value": 2 + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "FlexContainer" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "LeftContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40%" + }, + "props": { + "text": "HVAC Override" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "60%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/HVAC Override Cmd" + }, + "type": "tag" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 0 + }, + { + "label": "Vent", + "value": 1 + }, + { + "label": "Cool", + "value": 2 + }, + { + "label": "Heat", + "value": 3 + }, + { + "label": "Vent Dehum", + "value": 4 + }, + { + "label": "Cool Dehum", + "value": 5 + }, + { + "label": "Heat Dehum", + "value": 6 + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "FlexContainer" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "RightContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Info/resource.json new file mode 100644 index 0000000..413033f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1a04d9475053c7ab959b4642bd707a663e152b503943c16d98ece55f12b757d0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Info/thumbnail.png new file mode 100644 index 0000000..b20b550 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Info/view.json new file mode 100644 index 0000000..47ac10a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Info/view.json @@ -0,0 +1,563 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 1 VFD Speed", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 2 VFD Speed", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor 3 Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Int8", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Control Mode", + "options": [ + "Supply Air Cooling Only", + "Supply Air Tempering", + "Outdoor Temperature Control", + "Return Air Constant Volume Mode", + "Space Temp Constant Volume Mode", + "Space Temp w/ High OA Content", + "Single Zone VAV" + ] + }, + { + "dataType": "Int8", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Control Status", + "options": [ + "Unoccupied", + "Occupied", + "Override Mode", + "Holiday Unoccupied", + "Holiday Occupied", + "Force Occupied", + "Force Unoccupied", + "Remote Contact Occupied" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Cooling Enabled", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.####", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Duct Static Pressure", + "numDecimals": 4, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Duct Static Pressure Control Signal", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Enabled Status", + "options": [ + "Disabled", + "Enabled" + ] + }, + { + "dataType": "Int8", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "HVAC Mode", + "options": [ + "Off", + "Vent Mode", + "Cooling Mode", + "Heating Mode", + "Ven RH Mode", + "Cooling RH Mode", + "Heating RH Mode", + "Warm UP Mode", + "Purge Mode", + "Defrost Mode", + "Cool Down Mode" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Heating Enabled Status", + "options": [ + "Disabled", + "Enabled" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Modulating Heat Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Modulation Hot Gas Reheat Valve Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Enthalpy", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.#", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Flow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Temperature", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Quantity Of Requests", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 3, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Remote Forced Occupied Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Damper", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Enthalpy", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Fan Speed", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Fan Status", + "options": [ + "Off", + "Running" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Plenum Control Signal", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Plenum Pressure", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Plenum Pressure SP", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor Runtime", + "numDecimals": 1, + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Runtime", + "numDecimals": 1, + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Meta/resource.json new file mode 100644 index 0000000..5735bd3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f4c6bbe1bb6ea2111796e541700501398ace2e0aceff9d3214ccb96316764805", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Trends/resource.json new file mode 100644 index 0000000..32eb8f2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "349001c00ebca54898dcf955aa5902302efd6ca9bd96e0587a8f876bc1a527bf", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Trends/thumbnail.png new file mode 100644 index 0000000..0862d24 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Trends/view.json new file mode 100644 index 0000000..a489d46 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU01/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/RTU-1 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \"\",\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948408573 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948408573 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Body/resource.json new file mode 100644 index 0000000..5d9fa1a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6efea98f5310db798cf76b7bd017aa1a9eaee7be8ca656cc1f0218d590c4c9ca", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Body/thumbnail.png new file mode 100644 index 0000000..a6c29b7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Body/view.json new file mode 100644 index 0000000..4b0702f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Body/view.json @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "RTU02", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/RTU-2 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Config/resource.json new file mode 100644 index 0000000..66322f1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "91e41ae1a2c18c40a560cd22768bc2df87b9f036bf6b765e2176c496815cc962", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Config/thumbnail.png new file mode 100644 index 0000000..9b318fa Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Config/view.json new file mode 100644 index 0000000..354b1ee --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Config/view.json @@ -0,0 +1,956 @@ +{ + "custom": { + "airOvr": false, + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Dehumidifier High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Dehumidifier Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Enthalpy Enable SP" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Control Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temp Override" + }, + { + "dataType": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Emergency Override Alarm Delay Minutes" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Day of Week Enable" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Occupancy Mode Start Time" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temp Override En" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Unoccupancy Mode Start Time" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Emergency Override Alarm Delay" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Space Temperature Setpoint" + } + ], + "weekDay": 254 + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + }, + "propConfig": { + "custom.airOvr": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Supply Air Temp Override En" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.weekDay": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Day of Week Enable" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.SA_Ovr": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Supply Air Temp Override" + }, + "type": "tag" + } + }, + "custom.SA_Ovr_En": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Supply Air Temp Override EN" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d False:\n\t\tself.custom.SA_Ovr \u003d 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.instances[0].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[10].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[1].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[2].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[3].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[4].enabled": { + "binding": { + "config": { + "struct": { + "airOv": "{view.custom.airOvr}", + "auth": "{view.params.auth.config}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\"airOv\"] \u0026\u0026 {value}[\"auth\"]", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[5].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[6].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "enabled": false, + "type": "property" + } + }, + "props.instances[7].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[8].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.instances[9].enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "instances": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 100, + "min": 0, + "name": "Dehumidifier High Setpoint", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Dehumidifier High Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 100, + "min": 0, + "name": "Dehumidifier Low Setpoint", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Dehumidifier Low Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 35, + "min": 25, + "name": "Economizer Enthalpy Enable SP", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Economizer Enthalpy Enable SP" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 80, + "min": -30, + "name": "Economizer Enable Setpoint", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Economizer Enable Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 200, + "min": 0, + "name": "Supply Air Temp Override", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Supply Air Temp Override" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 9999, + "min": 0, + "name": "Emergency Override Alarm Delay Minutes", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Emergency Override Alarm Delay Minutes", + "visible": true + }, + { + "dataType": "Int4", + "enabled": true, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 120, + "min": 0, + "name": "Space Temperature Setpoint", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Space Temperature Setpoint" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 9999, + "min": 0, + "name": "Occupancy Mode Start Time", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Occupancy Mode Start Time" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 9999, + "min": -9999, + "name": "Supply Air Temp Override En", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Supply Air Temp Override En" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "min": 0, + "name": "Unoccupancy Mode Start Time", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Unoccupancy Mode Start Time" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "min": 0, + "name": "Emergency Override Alarm Delay", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02/Config/Emergency Override Alarm Delay" + } + ], + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag ConfigV2", + "style": { + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Day of the Week Enable" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 1\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Monday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},1)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Monday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 2\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Tuesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},2)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Tuesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 3\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Wednesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},3)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Wednesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 4\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Thursday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},4)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Thursday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 5\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Friday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},5)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Friday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 6\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Saturday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},6)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Saturday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 7\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Sunday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},7)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Sunday" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "space-evenly", + "style": { + "gap": "5px", + "padding": "5px" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "100%" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Control/resource.json new file mode 100644 index 0000000..f8c0fa1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2d0859179c04d9fc0e105cf443e2a3a924101c4ac15c1734d15e9771f73f0761", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Control/thumbnail.png new file mode 100644 index 0000000..b116329 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Control/view.json new file mode 100644 index 0000000..e749a94 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Control/view.json @@ -0,0 +1,322 @@ +{ + "custom": {}, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + }, + "propConfig": { + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40%" + }, + "props": { + "text": "Schedule Override" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "60%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Schedule Override Command" + }, + "type": "tag" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 0 + }, + { + "label": "Force Occupied", + "value": 1 + }, + { + "label": "Force Unoccupied", + "value": 2 + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "FlexContainer" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "LeftContainer" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40%" + }, + "props": { + "text": "HVAC Override" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "60%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/HVAC Override Cmd" + }, + "type": "tag" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 0 + }, + { + "label": "Vent", + "value": 1 + }, + { + "label": "Cool", + "value": 2 + }, + { + "label": "Heat", + "value": 3 + }, + { + "label": "Vent Dehum", + "value": 4 + }, + { + "label": "Cool Dehum", + "value": 5 + }, + { + "label": "Heat Dehum", + "value": 6 + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Dropdown" + }, + "position": { + "display": false + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Tag ConfigV2" + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Emergency Override\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Boolean", + "name": "Emergency Override", + "options": [] + }, + "path": "Library/Framework/Tag ConfigV2" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Tag ConfigV2" + }, + "propConfig": { + "props.params.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.tagPath}+\u0027/Control/Occupancy Override\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "dataType": "Boolean", + "name": "Occupancy Override", + "options": [] + }, + "path": "Library/Framework/Tag ConfigV2" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "RightContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Info/resource.json new file mode 100644 index 0000000..0d7f67f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ec7a175e59cccf7242f42a6f95106742d6428fc71132d4ea31b72df56d9bd735", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Info/thumbnail.png new file mode 100644 index 0000000..ed73a5d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Info/view.json new file mode 100644 index 0000000..8e53d0c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Info/view.json @@ -0,0 +1,515 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor A VFD Speed", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor A1 Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor A2 Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B VFD Speed", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B1 Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor B2 Running", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Compressor Runtime", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Control Mode", + "options": [ + "Cooling", + "SA Tempering", + "OA Control", + "RA Constant Volume", + "Space Temp Const Vol", + "Space Temp With OA", + "Single Zone VAV" + ] + }, + { + "dataType": "Int8", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Control Status", + "options": [ + "Unoccupied", + "Occupied", + "Override MOde", + "Holiday Unoccupied", + "Holiday Occupaied", + "Forced Occupied", + "Force Unoccupied", + "Remote Contact Occupied", + "Reserved", + "Reserved", + "Reserved", + "OA Damper Calibration" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Enabled Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Economizer Position Feedback", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Fan Runtime", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "HVAC Mode", + "options": [ + "Off", + "Vent Mode", + "Cooling mode", + "Heating Mode", + "Vent RH Mode", + "Cooling RH Mode", + "Heating RH Mode", + "Warm Up Mode", + "Purge Mode", + "Defrost Mode", + "Cool Down Mode" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Heat Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Flow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Outside Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Reheat Valve Position", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Remote Forced Occupied Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Damper", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Enthalpy", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Running Status", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Space Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Space Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Space Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Dewpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Humidity", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + } + ], + "controlMode": [ + "Cooling", + "SA Tempering", + "OA Control", + "RA Constant Volume", + "Space Temp Const Vol", + "Space Temp With OA", + "Single Zone VAV" + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.controlMode": { + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Trends/resource.json new file mode 100644 index 0000000..475aa6a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e06d2d8e8f60aa5cde4f26e5b4fe4d96526978517fb36bb800c7eb1c365a81ce", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Trends/thumbnail.png new file mode 100644 index 0000000..5b76d0d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Trends/view.json new file mode 100644 index 0000000..d114f04 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/RTU02/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \"\",\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948474968 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948474968 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Body/resource.json new file mode 100644 index 0000000..b9d23a0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2ab4157013ab9ae812fb3a1cbf66a1281ba07496d63a07f8287c96ba73a5aa47", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Body/thumbnail.png new file mode 100644 index 0000000..df18451 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Body/view.json new file mode 100644 index 0000000..0fb8add --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "CRAC", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_M1_2_MPR1240_CRAH_01" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Info/resource.json new file mode 100644 index 0000000..2f33303 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2f215db9f0478bef0d20990b4745e8cfff286ab1eef6c19fa4894dcbeba0a004", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Info/thumbnail.png new file mode 100644 index 0000000..1a67a5b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Info/view.json new file mode 100644 index 0000000..289ace3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Info/view.json @@ -0,0 +1,181 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Application Matches", + "options": [ + "no Match", + "Match" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Primary PLC", + "options": [ + "A", + "B" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "PLC A Fail", + "options": [ + "Not Failed", + "Failed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "PLC A Online", + "options": [ + "Offline", + "Online" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "PLC B Fail", + "options": [ + "Not Failed", + "Failed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "PLC B Online", + "options": [ + "Offline", + "Online" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_PNL23/Hot Standby Status" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Meta/resource.json new file mode 100644 index 0000000..5735bd3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f4c6bbe1bb6ea2111796e541700501398ace2e0aceff9d3214ccb96316764805", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Trends/resource.json new file mode 100644 index 0000000..6bfc08f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "de91a50982b75b327b99f0842052438c51f1d0311ec4a586bfd7aa92cbe411c3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Trends/thumbnail.png new file mode 100644 index 0000000..185855f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Trends/view.json new file mode 100644 index 0000000..e1e61c5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/Redundancy/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SATB1_P2_1_ER1248_CRAH_01" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947747922 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947747922 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Body/resource.json new file mode 100644 index 0000000..4f666e7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9692a94cea1b1d3dad930977f450feb6f0644051e177b1806ca523bd1d08fbb7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Body/thumbnail.png new file mode 100644 index 0000000..3e04acb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Body/view.json new file mode 100644 index 0000000..280fffb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "SEL-735", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/SEL-735 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Config/resource.json new file mode 100644 index 0000000..86f0032 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2c3d2fd52e821ab5e1b12fadd23c14e2b039a8d0d114ba3653d0024aa0387d49", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Config/thumbnail.png new file mode 100644 index 0000000..c8336d1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Config/view.json new file mode 100644 index 0000000..4551f54 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Config/view.json @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/SEL-735 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Info/resource.json new file mode 100644 index 0000000..142ec06 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ae43517bcde4e972530f776888c86033511a5c4079c8d18e2435015a43530f25", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Info/thumbnail.png new file mode 100644 index 0000000..9c6c59a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Info/view.json new file mode 100644 index 0000000..93df9bb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Info/view.json @@ -0,0 +1,534 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 38, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Energy Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 40, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Energy Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 16, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Current Avg", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Current N", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 25, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Apparent Power Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 27, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Apparent Power Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 26, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Reactive Power Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 28, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Reactive Power Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 33, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Real Power Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 35, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Real Power Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 19, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 29, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Apparent Power Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 31, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Apparent Power Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 30, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Reactive Power Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 32, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Reactive Power Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 37, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Real Power Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 39, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Real Power Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 20, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 34, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Energy Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 36, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Energy Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 18, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 21, + "instanceStyle": { + "classes": "" + }, + "name": "Real Energy", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 22, + "instanceStyle": { + "classes": "" + }, + "name": "Real Energy Delivered", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 24, + "instanceStyle": { + "classes": "" + }, + "name": "Real Energy Received", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 17, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Average", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CN", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A/PQM_Main" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027visible\u0027] \u003d True\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.instances[22].visible": { + "binding": { + "config": { + "expression": "False" + }, + "type": "expr" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Trends/resource.json new file mode 100644 index 0000000..1e901c1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "753700f718707352b2c3d473cf0fa1bfc8b4e77fe6445c0584583848d16037cb", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Trends/thumbnail.png new file mode 100644 index 0000000..bbfa27b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Trends/view.json new file mode 100644 index 0000000..0d7419c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-735/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/SEL-735 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 4, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1732050757002 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1732050757002 + ], + "$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 + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Body/resource.json new file mode 100644 index 0000000..670be62 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c3a74c8f8c5ac236c7e7bc7eb227e61db5645c05316ec0fb029f92a32aeac813", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Body/thumbnail.png new file mode 100644 index 0000000..b844c94 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Body/view.json new file mode 100644 index 0000000..1a58e67 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Body/view.json @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "SEL-751", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/SEL-751" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 2 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Config/resource.json new file mode 100644 index 0000000..0e6abb9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "320dc7c40eb4a6b063ea381e610c04a13f889048cecc69669a07c3460d983fdf", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Config/view.json new file mode 100644 index 0000000..3e973b8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Config/view.json @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/SEL-751 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Info/resource.json new file mode 100644 index 0000000..f3bd591 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fa2182ec03787ae10b58e16705cf92d26311c731096ec379f6d9a2dcaad1fc23", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Info/thumbnail.png new file mode 100644 index 0000000..0785dfe Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Info/view.json new file mode 100644 index 0000000..5eb0198 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Info/view.json @@ -0,0 +1,656 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 23, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 25, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 27, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 29, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power C", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Position", + "options": [ + "Racked In", + "Unracked" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Breaker Status", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Current G", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 21, + "instanceStyle": { + "classes": "" + }, + "name": "Current Imbalance", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 17, + "instanceStyle": { + "classes": "" + }, + "name": "Current N", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 19, + "instanceStyle": { + "classes": "" + }, + "name": "Current avg", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 31, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 33, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 35, + "instanceStyle": { + "classes": "" + }, + "name": "Demand Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "EXT Trips", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 34, + "instanceStyle": { + "classes": "" + }, + "name": "Energy In (VAR)", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 36, + "instanceStyle": { + "classes": "" + }, + "name": "Energy In (W)", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 38, + "instanceStyle": { + "classes": "" + }, + "name": "Energy Out (VAR)", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 40, + "instanceStyle": { + "classes": "" + }, + "name": "Energy Out (W)", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 42, + "instanceStyle": { + "classes": "" + }, + "name": "Energy Tot (VA)", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 24, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 37, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 39, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 41, + "instanceStyle": { + "classes": "" + }, + "name": "Peak Demand Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 26, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 28, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 30, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 32, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 44, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 46, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 48, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 50, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 43, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 45, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 47, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 49, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power C", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Relay Status", + "options": [ + "Enabled", + "Disabled" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Relay Trips", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 16, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Average Line", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 18, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Average Phase", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CN", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 20, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage DC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 22, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Imbalance", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A/SEL_Main" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\t\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Trends/resource.json new file mode 100644 index 0000000..4329462 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b7f7e69fd02fc1a65c0f63c09e28b3d24b1aeb7f11233f460d9ff324f9278798", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Trends/thumbnail.png new file mode 100644 index 0000000..bbfa27b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Trends/view.json new file mode 100644 index 0000000..a36e46c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SEL-751/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/SEL-751 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 4, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1732050757002 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1732050757002 + ], + "$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 + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Body/resource.json new file mode 100644 index 0000000..4e5e51c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "962eeeeab955ad4b15c851dd153aaa43eb603e77f979c90b44a7ac1bbd52fa0f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Body/thumbnail.png new file mode 100644 index 0000000..0a1707f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Body/view.json new file mode 100644 index 0000000..a72b531 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Body/view.json @@ -0,0 +1,433 @@ +{ + "custom": { + "tabsConfig": { + "showConfig": true, + "showControl": true, + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [ + "Discharge Air Temperature A" + ] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 3 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Config/resource.json new file mode 100644 index 0000000..6f50bfa --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "05f99b229deebfa8556ae27dfe9b372437cc14c973b5d243f0f59bd1e64a7c90", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Config/thumbnail.png new file mode 100644 index 0000000..f33ba76 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Config/view.json new file mode 100644 index 0000000..c029a84 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Config/view.json @@ -0,0 +1,164 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Limit Disch Air Temp Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "High Limit Ret Air Temp Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Low Limit Disch Air Temp Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Low Limit Ret Air Temp Setpoint" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FTR Delay Setpoint" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FTS Delay Setpoint" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/STU-8" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Control/resource.json new file mode 100644 index 0000000..61380c8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b8fd959167436aebf16d0b84f1df144c32550bd6baac3310a78e2395b97d6571", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:26:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Control/thumbnail.png new file mode 100644 index 0000000..511442f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Control/view.json new file mode 100644 index 0000000..8ad2b65 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Control/view.json @@ -0,0 +1,635 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/STU-8" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Mode CMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Run" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StartBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode},true,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "StopBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode},true,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OOS" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Speed Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Speed SP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 100, + "minimum": 0 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Row03" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Temperature Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({view.params.auth.control}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Temperature SP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 100, + "minimum": 0 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Row3" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Info/resource.json new file mode 100644 index 0000000..a999b62 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "051fe0d87e8fd8c9b21cc8fc33aff0ee01fce549c95f0b90d0263b93d46a157d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Info/thumbnail.png new file mode 100644 index 0000000..6e05f51 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Info/view.json new file mode 100644 index 0000000..8ad22bb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Info/view.json @@ -0,0 +1,419 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": 0, + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "CHW Valve Feedback", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": 0, + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "CHW Valve Command", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 22, + "instanceStyle": { + "classes": "" + }, + "name": "CMD_Out", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Comm Percentage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge Air Temperature A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge Air Temperature B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge Air Temperature C", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": 0, + "instancePosition": 22, + "instanceStyle": { + "classes": "" + }, + "name": "EquipCounts", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": 0, + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Return Water Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 23, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 16, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "options": [ + "Manual", + "Auto" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 18, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Not Running", + "Running" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Speed Feedback", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1A", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1B", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1C", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1D", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1E", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1F", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1G", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 17, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1H", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 19, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1I", + "options": [ + "OFF", + "ON" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Water Temperature", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 24, + "instanceStyle": { + "classes": "" + }, + "name": "Unit Status", + "options": [ + "Unknown", + "Unit OFF - Normal", + "Controller Powered", + "Unit ON Fans only", + "Unit ON CW Cooling", + "Unit ON Alarm", + "Unit Failure", + "Unit Starting" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 821, + "width": 816 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Meta/resource.json new file mode 100644 index 0000000..6f9daef --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ab2e369731a5350acca70e8a4f51ccc9b55bc1bb9556e642dde8833ce89d2de7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Trends/resource.json new file mode 100644 index 0000000..f83e668 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "028bb65c4f8c922742964f92b9cbbcc8adad9f3239289f89f43952ce0d33d07c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Trends/thumbnail.png new file mode 100644 index 0000000..e095739 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Trends/view.json new file mode 100644 index 0000000..a8b9f82 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747947762435 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747947762435 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/TrendsOld/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/TrendsOld/resource.json new file mode 100644 index 0000000..2cd1469 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/TrendsOld/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "014a899589ad32def8ff08ff7fd8bff9007596cb634e530b9d6340746ec6574b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/TrendsOld/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/TrendsOld/thumbnail.png new file mode 100644 index 0000000..e155d9d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/TrendsOld/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/TrendsOld/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/TrendsOld/view.json new file mode 100644 index 0000000..50335bc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/STU/TrendsOld/view.json @@ -0,0 +1,773 @@ +{ + "custom": { + "trendConfig": { + "allPens": [ + { + "group": "%", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CHW Valve Feedback", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/CHW Valve Feedback" + }, + { + "color": "", + "enabled": false, + "engUnit": "%", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Comm Percentage", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Comm Percentage" + } + ] + }, + { + "group": "% Full Speed", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "% Full Speed", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Speed Feedback", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Speed Feedback" + } + ] + }, + { + "group": "Hrs", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "Hrs", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Runtime" + } + ] + }, + { + "group": "misc", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "CMD_Out", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/CMD_Out" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EquipCounts", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/EquipCounts" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Status Available" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Status Running" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1A", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1A" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1B", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1B" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1C", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1C" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1D", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1D" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1E", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1E" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1F", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1F" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1G", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1G" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1H", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1H" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Fan Status 1I", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Fan Status 1I" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Unit Status", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Unit Status" + } + ] + }, + { + "group": "°F", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "°F", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge Air Temperature A", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Discharge Air Temperature A" + }, + { + "color": "", + "enabled": false, + "engUnit": "°F", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge Air Temperature B", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Discharge Air Temperature B" + }, + { + "color": "", + "enabled": false, + "engUnit": "°F", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Discharge Air Temperature C", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Discharge Air Temperature C" + }, + { + "color": "", + "enabled": false, + "engUnit": "°F", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Air Temperature", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Return Air Temperature" + }, + { + "color": "", + "enabled": false, + "engUnit": "°F", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Return Water Temperature", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Return Water Temperature" + }, + { + "color": "", + "enabled": false, + "engUnit": "°F", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Water Temperature", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06/Supply Water Temperature" + } + ] + } + ] + } + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948508092 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948508092 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Body/resource.json new file mode 100644 index 0000000..f31697a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6f2c6c805aa1611759de413bf4481cb254f150e9c10a70aa6e4a27722eeb29d4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Body/thumbnail.png new file mode 100644 index 0000000..683fe15 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Body/view.json new file mode 100644 index 0000000..55cf12e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Body/view.json @@ -0,0 +1,410 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "SWBDPQM", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242_P1-1/SWBD/SATB1_ER1242_PQM1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Config/resource.json new file mode 100644 index 0000000..abc5bbc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4835162ee62778811cd74ff515f941847e2d4b968a7de2e8686463ecefea9f4a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Config/view.json new file mode 100644 index 0000000..53d979d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Config/view.json @@ -0,0 +1,95 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Info/resource.json new file mode 100644 index 0000000..30eff17 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7c88b913139d5fa91653a565c9aed1bf62150eca057a92e826db6a6cdd556c49", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Info/thumbnail.png new file mode 100644 index 0000000..407a8c3 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Info/view.json new file mode 100644 index 0000000..4c494e4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Info/view.json @@ -0,0 +1,395 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Apparent Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Crest Factor A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Crest Factor B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current Crest Factor C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current THD A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current THD B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current THD C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Frequency", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "K Factor A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "K Factor B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "K Factor C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Power Factor", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Reactive Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Energy", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Real Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "SPD Alarm", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Avg", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage THD A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage THD B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage THD C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage Unbalance", + "numDecimals": 2, + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_PQM1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Trends/resource.json new file mode 100644 index 0000000..94a23d0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "16fa32c71773120943faf3a76f6f7009784fec8ad0a27ce8ec0419a58f83bc4a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Trends/thumbnail.png new file mode 100644 index 0000000..8672361 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Trends/view.json new file mode 100644 index 0000000..1a4831e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/SWBDPQM/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/Breaker 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948558079 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948558079 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Body/resource.json new file mode 100644 index 0000000..5584160 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "621bf806be04aa9d56038b167d2bc66b196825f44e2ffa07f8b400499d4bb14b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Body/thumbnail.png new file mode 100644 index 0000000..cfbb822 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Body/view.json new file mode 100644 index 0000000..8901a16 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Body/view.json @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "TES", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/AnalogIn" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 3 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Config/resource.json new file mode 100644 index 0000000..cb92c1c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7c3389e8dc51906737760f04eff25910d240dcc69f8e462e948bbeee160642c3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Config/thumbnail.png new file mode 100644 index 0000000..d7422df Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Config/view.json new file mode 100644 index 0000000..6ba82aa --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Config/view.json @@ -0,0 +1,164 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Diff Temp SP" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Temp SP" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Diff Temp Delay" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Recharge Bypass SP" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Recharge Diff Temp DB" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Recharge Diff Temp Delay" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Recharge Iso Valve SP" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Control/resource.json new file mode 100644 index 0000000..04b5833 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "09f0165cd2f5d2f6c691816bd0e77b4051cf66f41dc6440072e96d8a085f23ba", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:26:47Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Control/thumbnail.png new file mode 100644 index 0000000..eafc3f4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Control/view.json new file mode 100644 index 0000000..724078e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Control/view.json @@ -0,0 +1,250 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Enable": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Enable" + }, + "type": "tag" + } + }, + "custom.OCmd.Recharge": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Recharge" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Recharge \u003d not self.view.custom.OCmd.Recharge" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Recharge Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Recharge" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d not self.view.custom.OCmd.Reset" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginRight": 20 + }, + "text": "TES System Enable", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.Enable" + }, + "type": "property" + } + } + }, + "props": { + "text": "", + "textPosition": "left" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "SubEnable" + }, + "position": { + "basis": "50px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Info/resource.json new file mode 100644 index 0000000..4470854 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1b2b9618fcf0749bc7e6562b2b6c1fb6a914c3878f4b71ad39992ba90f235b4c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Info/thumbnail.png new file mode 100644 index 0000000..e724108 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Info/view.json new file mode 100644 index 0000000..5b753fb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Info/view.json @@ -0,0 +1,149 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Depleting Elapsed Time", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Mode", + "options": [ + "Off", + "Normal", + "Depleted", + "Recharging" + ] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Recharge Fail Elapsed Time", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System Not Ready", + "options": [ + "Ready", + "Not Ready" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Meta/resource.json new file mode 100644 index 0000000..5735bd3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f4c6bbe1bb6ea2111796e541700501398ace2e0aceff9d3214ccb96316764805", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Trends/resource.json new file mode 100644 index 0000000..cd9ae59 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "40ba3a9eeaff02bce6f23f0bfeab85c54b1e2266e2b6bce14ba2c80adc30a8b7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Trends/thumbnail.png new file mode 100644 index 0000000..eea27cf Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Trends/view.json new file mode 100644 index 0000000..be9791f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/TES/Trends/view.json @@ -0,0 +1,533 @@ +{ + "custom": { + "trendConfig": { + "allPens": [ + { + "group": "misc", + "penList": [ + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Depleting Elapsed Time", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System/Depleting Elapsed Time" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Mode", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System/Mode" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Recharge Fail Elapsed Time", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System/Recharge Fail Elapsed Time" + }, + { + "color": "", + "enabled": false, + "engUnit": "misc", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "System Not Ready", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System/System Not Ready" + } + ] + } + ] + } + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_DH5_Thermal_System" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948590619 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948590619 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Body/resource.json new file mode 100644 index 0000000..ab24022 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "16b55fad646690c309a71e6eee1b63367f68b36258f0d78fbed5d58e2eeb88c2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Body/thumbnail.png new file mode 100644 index 0000000..d758009 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Body/view.json new file mode 100644 index 0000000..66bec47 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Body/view.json @@ -0,0 +1,601 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki", + "Battery R1", + "Battery R2", + "Battery R3", + "Battery R4", + "Battery R5" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "UPS", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1\n" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1210 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack1 Batt" + }, + "position": { + "tabIndex": 5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value}+\"/Batteries/Rack 1\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info Rack1 Batt\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack2 Batt" + }, + "position": { + "tabIndex": 6 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value}+\"/Batteries/Rack 2\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info Rack2 Batt\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack3 Batt" + }, + "position": { + "tabIndex": 7 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value}+\"/Batteries/Rack 3\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info Rack3 Batt\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack4 Batt" + }, + "position": { + "tabIndex": 8 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value}+\"/Batteries/Rack 4\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info Rack4 Batt\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack5 Batt" + }, + "position": { + "tabIndex": 9 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value}+\"/Batteries/Rack 5\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info Rack5 Batt\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Config/resource.json new file mode 100644 index 0000000..386825e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "37ab3df80cd6e0978b31921113ed1547baf806b4d46cc3381db30700501a73f3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Config/thumbnail.png new file mode 100644 index 0000000..f4d64a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Config/view.json new file mode 100644 index 0000000..dcd8eda --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Config/view.json @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1\n" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Control/resource.json new file mode 100644 index 0000000..e554ef7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1716e91fb4a45aa1c6487fac1e3f8c05f6f0b97974bc0a13e2e15d41eb165219", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:26:48Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Control/thumbnail.png new file mode 100644 index 0000000..284bab1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Control/view.json new file mode 100644 index 0000000..072ef51 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Control/view.json @@ -0,0 +1,155 @@ +{ + "custom": { + "OCmd": { + "Enable": null, + "Recharge": null + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1\n" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Enable": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Enable" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.OCmd.Recharge": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Recharge" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack1 Batt/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack1 Batt/resource.json new file mode 100644 index 0000000..0e2f8ec --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack1 Batt/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4e1fd84aa2364baf12381930241f3e5d1b2e32053bc7b746d5c9660536397a18", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack1 Batt/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack1 Batt/thumbnail.png new file mode 100644 index 0000000..da93699 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack1 Batt/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack1 Batt/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack1 Batt/view.json new file mode 100644 index 0000000..0cdbc99 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack1 Batt/view.json @@ -0,0 +1,266 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "", + "displaySelection": 0, + "format": "0.##0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack2 Batt/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack2 Batt/resource.json new file mode 100644 index 0000000..75871ee --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack2 Batt/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c8065d7d470edd0bcd39162fa178d2e1478cf606aeed56576b4651db6b51df10", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack2 Batt/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack2 Batt/thumbnail.png new file mode 100644 index 0000000..e8f9047 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack2 Batt/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack2 Batt/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack2 Batt/view.json new file mode 100644 index 0000000..b3cf1e8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack2 Batt/view.json @@ -0,0 +1,266 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "", + "displaySelection": 0, + "format": "0.##0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 2" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack3 Batt/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack3 Batt/resource.json new file mode 100644 index 0000000..5fcd207 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack3 Batt/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d01b844e07a39762b5ade2dbde2b1b4e62e869330bc763d4f980d01a5c63b906", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack3 Batt/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack3 Batt/thumbnail.png new file mode 100644 index 0000000..476c86b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack3 Batt/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack3 Batt/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack3 Batt/view.json new file mode 100644 index 0000000..9696d23 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack3 Batt/view.json @@ -0,0 +1,266 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "", + "displaySelection": 0, + "format": "0.##0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 3\n\n" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack4 Batt/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack4 Batt/resource.json new file mode 100644 index 0000000..4d6ace2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack4 Batt/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dcab43fbf8dcbf946818db586101ac045e7008c0ee26bedf25e575d3fd44b127", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack4 Batt/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack4 Batt/thumbnail.png new file mode 100644 index 0000000..080c40b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack4 Batt/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack4 Batt/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack4 Batt/view.json new file mode 100644 index 0000000..1cd66bf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack4 Batt/view.json @@ -0,0 +1,266 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "", + "displaySelection": 0, + "format": "0.##0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 4" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack5 Batt/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack5 Batt/resource.json new file mode 100644 index 0000000..c6c43e3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack5 Batt/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0d085642766b3d5e46397e3969f1854bef6d4598e3f81e5583373e1bba97c3d9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack5 Batt/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack5 Batt/thumbnail.png new file mode 100644 index 0000000..3c68931 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack5 Batt/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack5 Batt/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack5 Batt/view.json new file mode 100644 index 0000000..6b9f701 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info Rack5 Batt/view.json @@ -0,0 +1,266 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "", + "displaySelection": 0, + "format": "0.##0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 14, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature Fahrenheit", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 13, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 12, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 15, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 5" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info/resource.json new file mode 100644 index 0000000..469addf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8ac32e865e70fdf885f028c73019619b644b860928e15f9d519c9e68f9b2cb4e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info/thumbnail.png new file mode 100644 index 0000000..d93749c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info/view.json new file mode 100644 index 0000000..e9bc4c8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Info/view.json @@ -0,0 +1,779 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Breaker1", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Breaker2", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Breaker3", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Breaker4", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Charge Percent", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Charging", + "options": [ + "False", + "True" + ] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Current", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Discharge Current", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Float Charging", + "options": [ + "False", + "True" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Temperature Celsius", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Voltage", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery number of Racks in service", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery runtime remaining Hours", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery runtime remaining minutes", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Amps C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Frequency", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Total Active Power", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Total Apparent Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Volts CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Amps C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Frequency", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Volts CA", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Input Breaker Status", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Maintenance Bypass Breaker Status", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Operating On Battery", + "options": [ + "False", + "True" + ] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Operation Modes", + "options": [ + "None", + "Normal Operation", + "Battery Operation", + "Battery Test", + "Requested Static Bypass", + "Forced Static Bypass", + "Maintenance Bypass", + "Off", + "Emergency Static Bypass", + "Static Bypass Standby", + "Inverter Standby", + "Power Saving Mode", + "Inverter SPoT Mode", + "ECO Mode", + "ECOnversion", + "Charger SPoT Mode", + "Battery Discharge SPoT Mode" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Amps C", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Breaker Status", + "options": [ + "Open", + "Closed" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current THD A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current THD B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Current THD C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Frequency", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts AB", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts BC", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Volts CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output kVA percentage A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output kVA percentage B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output kVA percentage C", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total Input Active Power", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total Input Apparent Power", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total Input kWh", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total Output Apparent Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total Output Percent Load", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total Output kW", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Total Output kWh", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "UPS Operating On Battery", + "options": [ + "False", + "True" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Meta/resource.json new file mode 100644 index 0000000..5735bd3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f4c6bbe1bb6ea2111796e541700501398ace2e0aceff9d3214ccb96316764805", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Trends/resource.json new file mode 100644 index 0000000..a443e3e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "66accfb87aa2c6b45b77714bc1e759aefc26cc17d58001fe154b25557d6b327c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Trends/thumbnail.png new file mode 100644 index 0000000..88290f1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Trends/view.json new file mode 100644 index 0000000..7607f3a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948612077 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948612077 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Body/resource.json new file mode 100644 index 0000000..c0c71e7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d58a59a4ba27189193be430d7a16709b1cb164da23d6b3c834c15ebe48e71d2e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Body/thumbnail.png new file mode 100644 index 0000000..c4c1601 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Body/view.json new file mode 100644 index 0000000..3ded84c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Body/view.json @@ -0,0 +1,479 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki", + "Battery R1", + "Battery R2", + "Battery R3" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "UPS", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_UPS" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1210 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack1 Batt" + }, + "position": { + "tabIndex": 4 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 1" + }, + "path": "Library/Templates/UPS_HS/Info Rack1 Batt" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack2 Batt" + }, + "position": { + "tabIndex": 5 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 2" + }, + "path": "Library/Templates/UPS_HS/Info Rack2 Batt" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info Rack3 Batt" + }, + "position": { + "tabIndex": 6 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 3\n\n" + }, + "path": "Library/Templates/UPS_HS/Info Rack3 Batt" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 6 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Config/resource.json new file mode 100644 index 0000000..2ecafeb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8b11057099480875d298cb07e2d7f8bfc1b73bc39d9946e136674c42c8b8f406", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Config/thumbnail.png new file mode 100644 index 0000000..95da02a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Config/view.json new file mode 100644 index 0000000..dcd8eda --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Config/view.json @@ -0,0 +1,105 @@ +{ + "custom": { + "allTags": [] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1\n" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Control/resource.json new file mode 100644 index 0000000..24ddfa5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0c393847aca6ed585126e22109509c37573a6ab2f637d12ca95be0325016ffeb", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:27:01Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Control/thumbnail.png new file mode 100644 index 0000000..284bab1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Control/view.json new file mode 100644 index 0000000..072ef51 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Control/view.json @@ -0,0 +1,155 @@ +{ + "custom": { + "OCmd": { + "Enable": null, + "Recharge": null + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1\n" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Enable": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Enable" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.OCmd.Recharge": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd Recharge" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack1 Batt/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack1 Batt/resource.json new file mode 100644 index 0000000..d62311a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack1 Batt/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4e210bf2bfd049fb6f486b0024e85928c55c875fe62d314da87a60e921496172", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack1 Batt/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack1 Batt/thumbnail.png new file mode 100644 index 0000000..0aedb64 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack1 Batt/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack1 Batt/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack1 Batt/view.json new file mode 100644 index 0000000..4820435 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack1 Batt/view.json @@ -0,0 +1,243 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack2 Batt/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack2 Batt/resource.json new file mode 100644 index 0000000..109557d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack2 Batt/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4e4aa16713f25c6b601e94d97d9d53d314e17589b22fb216de134bc610ede8e3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack2 Batt/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack2 Batt/thumbnail.png new file mode 100644 index 0000000..c968b46 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack2 Batt/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack2 Batt/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack2 Batt/view.json new file mode 100644 index 0000000..60f42bd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack2 Batt/view.json @@ -0,0 +1,243 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 2" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack3 Batt/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack3 Batt/resource.json new file mode 100644 index 0000000..767681a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack3 Batt/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2d4b4a84dbb290c4dc44ed003d3200b827c578040c2c9987983af83189a4366c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack3 Batt/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack3 Batt/thumbnail.png new file mode 100644 index 0000000..4bf8861 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack3 Batt/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack3 Batt/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack3 Batt/view.json new file mode 100644 index 0000000..0e64675 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info Rack3 Batt/view.json @@ -0,0 +1,243 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Avg Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Temperature", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell Voltage Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cell temperature Position", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Alm Summary", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Charge Percent", + "options": [] + }, + { + "dataType": "", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Rack Health Percent", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1/Batteries/Rack 3\n\n" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info/resource.json new file mode 100644 index 0000000..ff01965 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6c22beecd7fd94853edc408be48672ddaf21a6fa94c1c0a622b676e11fa7d7ca", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info/thumbnail.png new file mode 100644 index 0000000..6aa7673 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info/view.json new file mode 100644 index 0000000..32eb887 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Info/view.json @@ -0,0 +1,606 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery 1 Breaker", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery 2 Breaker", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery 3 Breaker", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Charging", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Current", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Discharging", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Operation Mode", + "options": [ + "Initialize Operation", + "Off", + "Battery Operation", + "Normal Operation", + "Forced Static Bypass", + "Requested Static Bypass", + "Maintenance Bypass", + "Emergency Static Bypass", + "Inverter Standby", + "Static Bypass Standby", + "Battery Test", + "Inverter SPoT Mode Power Svaing Mode", + "Charger SPoT Mode", + "Battery Discharge SPoT Mode", + "ECOnversion", + "ECO Mode" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Resting", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Runtime minutes", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Battery Voltage", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Breaker Status", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Voltage AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Voltage BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass Voltage CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Bypass kW", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Breaker Status", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Input Energy", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Inverter Disabled", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Voltage AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Voltage BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load Voltage CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Load kW", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Current A", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Current B", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Current C", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Frequency", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Voltage AB", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Voltage BC", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main Voltage CA", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main kVA Total", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Main kW", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Operating on Battery", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Breaker Status", + "options": [] + }, + { + "dataType": "Int8", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Output Energy", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Static Switch Input Breaker Status", + "options": [ + "Closed", + "Open" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "System isolation Brekaer Status", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_UPS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Meta/resource.json new file mode 100644 index 0000000..6f9daef --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ab2e369731a5350acca70e8a4f51ccc9b55bc1bb9556e642dde8833ce89d2de7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Trends/resource.json new file mode 100644 index 0000000..a443e3e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "66accfb87aa2c6b45b77714bc1e759aefc26cc17d58001fe154b25557d6b327c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Trends/thumbnail.png new file mode 100644 index 0000000..88290f1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Trends/view.json new file mode 100644 index 0000000..7607f3a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UPS_HS/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/UPS 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948612077 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948612077 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Body/resource.json new file mode 100644 index 0000000..ffd8663 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "751a3b6e78ef3c74b86fd04131dcfc044d9a1e37d04d94c95978fc9790811340", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Body/thumbnail.png new file mode 100644 index 0000000..61727a4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Body/view.json new file mode 100644 index 0000000..4a40239 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Body/view.json @@ -0,0 +1,427 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "UT", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + }, + "currentTabIndex": 1 + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Config/resource.json new file mode 100644 index 0000000..068c368 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c82e97f077e653c3b7a62c36f69ed30fda92d90d0d9cade82b191e259ac35ef6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Config/thumbnail.png new file mode 100644 index 0000000..5a8f276 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Config/view.json new file mode 100644 index 0000000..e23669b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Config/view.json @@ -0,0 +1,274 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cfg_Target" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\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": "Label", + "tooltip": { + "enabled": true, + "text": "Normal state controls how the alarm react. It will alarm when state is different from normal state value." + } + }, + "position": { + "basis": "200px" + }, + "props": { + "text": "Switch1 Normal State:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "style": { + "textAlign": "right" + }, + "text": "NO" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Source 1 Switch/Config/Target" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "tglswch" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "Label_1" + }, + "props": { + "text": "NC" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Sw1 Normal State" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%", + "display": false + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "200px" + }, + "props": { + "text": "Switch2 Normal State:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "style": { + "textAlign": "right" + }, + "text": "NO" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.config" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Source 2 Switch/Config/Target" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "tglswch" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "NC" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Info/resource.json new file mode 100644 index 0000000..adb2ce0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "aa23e6e50046e2b87963681716d4ee97ada7dac6901cd93bec323bee0e6da333", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Info/thumbnail.png new file mode 100644 index 0000000..1e67ee2 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Info/view.json new file mode 100644 index 0000000..8f76b9f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Info/view.json @@ -0,0 +1,1634 @@ +{ + "custom": { + "LA": "/Liquid Level Alarm", + "PRD": "/Pressure Relief Device Alarm", + "PSW": "/Pressure Switch", + "RRR_TRIP": "/Rapid Rise Relay Tripped", + "RRR_WRN": "/Rapid Rise Relay Warning", + "TAH": "/Liquid Temperature Alarm High", + "TAHH": "/Liquid Temperature Alarm High High", + "VFI01": "/Vacuum Fault Interrupter1 Tripped", + "VFI02": "/Vacuum Fault Interrupter2 Tripped", + "VSW": "/Vacuum Switch", + "ZSO01": "/Source 1 Switch", + "ZSO02": "/Source 2 Switch", + "inTagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1" + }, + "params": { + "embedded": false, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1" + }, + "propConfig": { + "custom.LA": { + "persistent": true + }, + "custom.PRD": { + "persistent": true + }, + "custom.PSW": { + "persistent": true + }, + "custom.RRR_TRIP": { + "persistent": true + }, + "custom.RRR_WRN": { + "persistent": true + }, + "custom.TAH": { + "persistent": true + }, + "custom.TAHH": { + "persistent": true + }, + "custom.VFI01": { + "persistent": true + }, + "custom.VFI02": { + "persistent": true + }, + "custom.VSW": { + "persistent": true + }, + "custom.ZSO01": { + "persistent": true + }, + "custom.ZSO02": { + "persistent": true + }, + "custom.inTagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.ZSO01\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.ZSO01}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "150PX" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.ZSO01} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Source 1 Switch", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.ZSO02\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.ZSO02}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "150PX" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.ZSO02} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Source 2 Switch", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "150px" + }, + "props": { + "justify": "space-around", + "style": { + "gap": 5, + "padding": 5 + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.LA\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.LA}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.LA} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA03}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Liquid Level Alarm", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.TAH\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.TAH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.TAH} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.JA04}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Liquid Temperature Alarm High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.TAHH\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.TAHH}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.TAHH} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.TAH}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Liquid Temperature Alarm High High", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.VSW\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.VSW}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_5" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.VSW} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Vacuum Switch", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.PSW\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.PSW}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_6" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.PSW} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Pressure Switch", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.RRR_WRN\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.RRR_WRN}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_7" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.RRR_WRN} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Rapid Rise Relay Warning", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.RRR_TRIP\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.RRR_TRIP}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_8" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.RRR_TRIP} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Rapid Rise Realy Tripped", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.PRD\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.PRD}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_9" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.PRD} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Pressure Relief Device Alarm", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.VFI01\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.VFI01}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_10" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.VFI01} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Vacuum Fault Interrupter 1 Tripped", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": [ + { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.VFI02\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + }, + { + "config": { + "draggable": true, + "id": "sII9XbeP", + "modal": false, + "overlayDismiss": false, + "position": { + "height": 800, + "width": 1000 + }, + "positionType": "exact", + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "objectName": "DiscreteIn", + "tagPath": "{view.custom.inTagPath}{view.custom.VFI02}" + }, + "viewPath": "Library/Templates/Base", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Label_11" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.VFI02} +\"/Alarms/Alarm Target Disagree\"" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--state-faulted)" + }, + { + "input": false, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" + }, + "enabled": false, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "white" + }, + { + "input": true, + "output": "var(--state-standby)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "classes": "containers/HoverOver", + "outlineStyle": "none", + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + }, + "text": "Vacuum Fault Interrupter 2 Tripped", + "textStyle": { + "color": "white", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "310px" + }, + "props": { + "justify": "space-around", + "style": { + "gap": 15, + "padding": 10 + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Meta/resource.json new file mode 100644 index 0000000..17bcdb7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d253c03f3af145cf063c3bf51c835dc4745502910b538524642e8a309ec2ce78", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Meta/view.json new file mode 100644 index 0000000..a11ab02 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Meta/view.json @@ -0,0 +1,227 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Trends/resource.json new file mode 100644 index 0000000..d6dd790 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c2fe195d6904a06c9e7f804ee67ddff63cd1a2fccb402d101cfcf62ea7bdb444", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Trends/thumbnail.png new file mode 100644 index 0000000..3099273 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Trends/view.json new file mode 100644 index 0000000..cb865d0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/UT/Trends/view.json @@ -0,0 +1,480 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "historianSettings": { + "dateFormat": "YYYY/MM/DD", + "endDate": { + "$": [ + "ts", + 192, + 1747948666485 + ], + "$ts": 1730879940000 + }, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "hours", + "mode": "realtime", + "penNamePathDepth": 1, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 192, + 1747948666485 + ], + "$ts": 1730733759000 + }, + "tagBrowserStartPath": "", + "timeFormat": "h:mm A", + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": false, + "showTagBrowserButton": false, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": false + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Body/resource.json new file mode 100644 index 0000000..2631a0b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fb9b0636c0ca0f9ae3eec106aa209119b34a28551b4a2b5fb5f1a24197e63e09", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Body/thumbnail.png new file mode 100644 index 0000000..0f1d2fb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Body/view.json new file mode 100644 index 0000000..7aef350 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "VAV", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/VAV" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Config/resource.json new file mode 100644 index 0000000..6d46247 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a6842b80b15bc88e4c8d55dda06da8085ef1d28726f3679a759fc5a362f61a14", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Config/thumbnail.png new file mode 100644 index 0000000..7ef45f5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Config/view.json new file mode 100644 index 0000000..4664422 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Config/view.json @@ -0,0 +1,706 @@ +{ + "custom": { + "Monday": 0, + "allTags": [ + { + "dataType": "Float4", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Air Flow Out of Range SP" + }, + { + "dataType": "Float4", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Max Cooling Airflow" + }, + { + "dataType": "Float4", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Max Heating Airflow" + }, + { + "dataType": "Float4", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Min Cooling Airflow" + }, + { + "dataType": "Float4", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Min Heating Airflow" + }, + { + "dataType": "Int8", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Occupied Deadband Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Unoccupied Deadband Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Occupancy Minimum Time" + }, + { + "dataType": "Int8", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Standby Mode Timer SP" + }, + { + "dataType": "Int4", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Occuppacy Mode Start Time" + }, + { + "dataType": "Int4", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Unoccupied Mode Start Time", + "visible": false + }, + { + "dataType": "Float4", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Standby Mode Offset" + }, + { + "dataType": "Int4", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Unoccupied Mode Start Time", + "visible": true + } + ], + "weekDay": 254 + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1109/SATB1_HS1_RM1109_VAV06" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": 999,\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.weekDay": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Day of Week Enable" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag ConfigV2", + "style": { + "gap": "10px 0", + "overflow": "visible", + "padding": "5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Day of the Week Enable" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 1\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Monday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},1)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Monday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 2\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Tuesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},2)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Tuesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 3\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Wednesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},3)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Wednesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 4\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Thursday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},4)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Thursday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 5\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Friday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},5)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Friday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 6\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Saturday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},6)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Saturday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 7\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Sunday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},7)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Sunday" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "space-evenly", + "style": { + "gap": "5px", + "padding": "5px" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "99.5%", + "grow": 1 + }, + "props": { + "alignContent": "center", + "alignItems": "flex-start", + "direction": "column", + "justify": "center", + "style": { + "border": "1px solid var(--border)", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container", + "paddingBottom": 10, + "paddingLeft": 10, + "paddingRight": 10, + "paddingTop": 10 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Control/resource.json new file mode 100644 index 0000000..ad5aea2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7e7ee268a9ba3fe4331a79825e2e9d60fe72135e6a81fe299bec77793b89580b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:27:18Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Control/thumbnail.png new file mode 100644 index 0000000..671b9b5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Control/view.json new file mode 100644 index 0000000..6bfdcc5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Control/view.json @@ -0,0 +1,874 @@ +{ + "custom": { + "Mode": 1, + "OCmd": {}, + "damperCmd": 4 + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1109/SATB1_HS1_RM1109_VAV06" + }, + "propConfig": { + "custom.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/User Control Mode" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.ModeCMD": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Mode" + }, + "type": "tag" + } + }, + "custom.OCmd.Occupied": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Cmd_OccMode" + }, + "type": "tag" + } + }, + "custom.OCmd.Unoccupied": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Cmd_UnOccMode" + }, + "type": "tag" + } + }, + "custom.damperCmd": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Damper Override mode" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.ModeCMD \u003d True\n\t\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoModeBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Mode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.auth.control}" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.ModeCMD" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto/Schedule" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.ModeCMD \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ManualOccBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Mode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.auth.control}" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "expression": "!{view.custom.OCmd.ModeCMD}" + }, + "type": "expr" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row0" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Unoccupied \u003d False\t\n\tself.view.custom.OCmd.Occupied \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OccModeBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Cmd_OccMode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if({view.custom.OCmd.ModeCMD},false,true),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Occupied" + }, + "type": "property" + } + } + }, + "props": { + "text": "Occupied Mode" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Occupied \u003d False\n\tself.view.custom.OCmd.Unoccupied \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "UnOccBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Cmd_UnOccMode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if({view.custom.OCmd.ModeCMD},false,true),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Unoccupied" + }, + "type": "property" + } + } + }, + "props": { + "text": "Unoccupied Mode" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "User Control Command" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/User Control Mode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.Mode" + }, + "type": "property" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 1 + }, + { + "label": "Heat", + "value": 2 + }, + { + "label": "Cool", + "value": 3 + }, + { + "label": "Off", + "value": 4 + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Damper Override Command" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown_0", + "tooltip": { + "enabled": true, + "text": "Min or Max airflow depends on Current Mode. Example: If heat demand \u003e0 then Min or Max Heating Airflow." + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Damper Override mode.OpcItemPath" + }, + "enabled": false, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.damperCmd" + }, + "type": "property" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 1 + }, + { + "label": "Full OPEN", + "value": 2 + }, + { + "label": "Full CLOSE", + "value": 3 + }, + { + "label": "Min Airflow", + "value": 4 + }, + { + "label": "Max Air Flow", + "value": 5 + } + ], + "placeholder": { + "text": "Damper Override Command of Current Mode" + } + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Row3" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Left control Container" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Occupied Temperature Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "35%", + "grow": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Occupied Temp Setpoint.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Occupied Temp Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 104, + "minimum": 50 + }, + "spinner": { + "enabled": false + }, + "style": { + "fontWeight": "bold", + "max-height": "40px", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "10%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Occupied Temp Setpoint.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--units-color)", + "textAlign": "left" + }, + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Unoccupied Temperature Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "35%", + "grow": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Temperature SP.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Temperature SP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 104, + "minimum": 50 + }, + "spinner": { + "enabled": false + }, + "style": { + "fontWeight": "bold", + "max-height": "40px", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "10%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Temperature SP.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--units-color)", + "textAlign": "left" + }, + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row5" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right control Container" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Info/resource.json new file mode 100644 index 0000000..1f6f3ab --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d315a79ff1ae3953552b8c5e60b6e7ecc9c9c24d28644364ee88930d28af66bb", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Info/thumbnail.png new file mode 100644 index 0000000..30c3f3b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Info/view.json new file mode 100644 index 0000000..9394061 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Info/view.json @@ -0,0 +1,265 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Air Flow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Air Flow Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Control SP", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Cooling Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Damper Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Heat Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Max allowed Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Min allowed Temperature", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Mode", + "options": [ + "No Mode", + "Occupancy", + "Unoccupied", + "Standby Mode" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Occupancy Sensor", + "options": [ + "No Movement", + "Activity" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Space Temperature", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Stage-1 Heater Sts", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Stage-2 Heater Sts", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]RM1109/SATB1_HS1_RM1109_VAV06" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Trends/resource.json new file mode 100644 index 0000000..4483e33 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e7bc479b00783f8be9d1ee2b780b29a78f5ee910dfad5d97d1423f6e44893aad", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Trends/thumbnail.png new file mode 100644 index 0000000..5d66e63 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Trends/view.json new file mode 100644 index 0000000..4a6fb98 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV v2/Trends/view.json @@ -0,0 +1,428 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]RM1109/SATB1_HS1_RM1109_VAV06" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Body/resource.json new file mode 100644 index 0000000..2631a0b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fb9b0636c0ca0f9ae3eec106aa209119b34a28551b4a2b5fb5f1a24197e63e09", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Body/thumbnail.png new file mode 100644 index 0000000..0f1d2fb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Body/view.json new file mode 100644 index 0000000..7aef350 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "VAV", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/VAV" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Config/resource.json new file mode 100644 index 0000000..82f1aba --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c7da6dc6eca5fbd2fac6b94b16a5ed401a6a1fa22d92c6956b450922109e3cce", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Config/thumbnail.png new file mode 100644 index 0000000..0f7b1bd Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Config/view.json new file mode 100644 index 0000000..4c02fe8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Config/view.json @@ -0,0 +1,660 @@ +{ + "custom": { + "Monday": 0, + "allTags": [ + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 240, + "min": 0, + "name": "Occupancy Minimum Time" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Occuppacy Mode Start Time" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Standby Mode Timer SP" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Unoccupied Mode Start Time" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Standby Mode Offset" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Air Flow Out of Range SP" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "max": 10, + "min": 0, + "name": "Occupied Deadband Setpoint" + } + ], + "weekDay": 254 + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1116/SATB1_HS1_RM1116_VAV01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.weekDay": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Day of Week Enable" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "gap": "10px 0", + "overflow": "visible", + "padding": "5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Day of the Week Enable" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 1\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Monday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},1)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Monday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 2\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Tuesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},2)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Tuesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 3\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Wednesday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},3)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Wednesday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 4\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Thursday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},4)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Thursday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 5\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Friday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},5)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Friday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 6\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Saturday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},6)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Saturday" + }, + "type": "ia.input.checkbox" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tposition \u003d 7\n\tself.view.custom.weekDay \u003d self.view.custom.weekDay ^ (int(1) \u003c\u003c position)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Sunday Chbox" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "path": "view.custom.weekDay" + }, + "transforms": [ + { + "expression": "getBit({value},7)", + "type": "expression" + }, + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Sunday" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "space-evenly", + "style": { + "gap": "5px", + "padding": "5px" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "99.5%", + "grow": 1 + }, + "props": { + "alignContent": "center", + "alignItems": "flex-start", + "direction": "column", + "justify": "center", + "style": { + "border": "1px solid var(--border)", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container", + "paddingBottom": 10, + "paddingLeft": 10, + "paddingRight": 10, + "paddingTop": 10 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Control/resource.json new file mode 100644 index 0000000..875b7d0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "63953984670e47c23e036a0501b1d29ab33b63620f1947eac3c22b273156127e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:27:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Control/thumbnail.png new file mode 100644 index 0000000..0e636ae Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Control/view.json new file mode 100644 index 0000000..2f033c2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Control/view.json @@ -0,0 +1,1043 @@ +{ + "custom": { + "Mode": 1, + "OCmd": {}, + "damperCmd": 1 + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1121/SATB1_HS1_RM1121_VAV19" + }, + "propConfig": { + "custom.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/User Control Command" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.ModeCMD": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Mode" + }, + "type": "tag" + } + }, + "custom.OCmd.Occupied": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OccMode" + }, + "type": "tag" + } + }, + "custom.OCmd.Unoccupied": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_UnOccMode" + }, + "type": "tag" + } + }, + "custom.damperCmd": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Damper Override Command" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.ModeCMD \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Ocmd_Mode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.ModeCMD" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.ModeCMD \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ManualBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Ocmd_Mode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.ModeCMD" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Unoccupied \u003d False\t\n\tself.view.custom.OCmd.Occupied \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OccModeBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OccMode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if({view.custom.OCmd.ModeCMD},false,true),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Occupied" + }, + "type": "property" + } + } + }, + "props": { + "text": "Occupied Mode" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Occupied \u003d False\n\tself.view.custom.OCmd.Unoccupied \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "UnOccBtn", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_UnOccMode.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if({view.custom.OCmd.ModeCMD},false,true),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Unoccupied" + }, + "type": "property" + } + } + }, + "props": { + "text": "Unoccupied Mode" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row01" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "User Control Command" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/User Control Command.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.Mode" + }, + "type": "property" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 1 + }, + { + "label": "Heat", + "value": 2 + }, + { + "label": "Cool", + "value": 3 + }, + { + "label": "Off", + "value": 4 + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Damper Override Command" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config/Damper Override Command.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.damperCmd" + }, + "type": "property" + } + } + }, + "props": { + "options": [ + { + "label": "Auto", + "value": 1 + }, + { + "label": "Open", + "value": 2 + }, + { + "label": "Close", + "value": 3 + }, + { + "label": "Min Cool", + "value": 4 + }, + { + "label": "Max Cool", + "value": 5 + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Row3" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Left control Container" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Occupied Temperature Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "35%", + "grow": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Occupied Temp Setpoint.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Occupied Temp Setpoint" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 104, + "minimum": 50 + }, + "spinner": { + "enabled": false + }, + "style": { + "fontWeight": "bold", + "max-height": "40px", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "10%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Occupied Temp Setpoint.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--units-color)", + "textAlign": "left" + }, + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Unoccupied Cooling Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": {} + }, + "position": { + "basis": "35%", + "grow": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Cool SP.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "path": ".../Row4/NumericEntryField.props.value" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Cool SP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 104 + }, + "spinner": { + "enabled": false + }, + "style": { + "fontWeight": "bold", + "max-height": "40px", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "10%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Cool SP.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--units-color)", + "textAlign": "left" + }, + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row3" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Unoccupied Heating Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField", + "tooltip": {} + }, + "position": { + "basis": "35%", + "grow": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Heat SP.OpcItemPath" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "path": ".../Row3/NumericEntryField.props.value" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Heat SP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "minimum": 50 + }, + "spinner": { + "enabled": false + }, + "style": { + "fontWeight": "bold", + "max-height": "40px", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "10%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/Unoccupied Heat SP.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "var(--units-color)", + "textAlign": "left" + }, + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row4" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right control Container" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Info/resource.json new file mode 100644 index 0000000..e9931fc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2b1891daf880ce923919775f111089e80c5aaa78b9a1298886f86aa820fa2422", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Info/thumbnail.png new file mode 100644 index 0000000..bfd5d41 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Info/view.json new file mode 100644 index 0000000..70852df --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Info/view.json @@ -0,0 +1,254 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Air Flow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Air Flow Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Control Setpoint", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Cooling Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Damper Position", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Heat Demand", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Maximum Cooling Airflow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Maximum Heat Airflow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Minimum Cooling Airflow", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Minimum Heat Airflow", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Occupancy Sensor", + "options": [ + "Off", + "On" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Space Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Supply Air Temperature", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Temperature Setpoint", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]RM1116/SATB1_HS1_RM1116_VAV01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Trends/resource.json new file mode 100644 index 0000000..8bf039a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fa3c576c8b33eeb72c05074027b3621aa71e98f35790d571978b7781af0b6b11", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Trends/thumbnail.png new file mode 100644 index 0000000..46bbf3b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Trends/view.json new file mode 100644 index 0000000..1f00f9e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAV/Trends/view.json @@ -0,0 +1,428 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/VAV" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Body/resource.json new file mode 100644 index 0000000..fb09f25 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "86e5f4d57eb7b83d753e1a39b2fce0693eb0a5fbc91d99b0dfa945c3387606da", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:31:39Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Body/thumbnail.png new file mode 100644 index 0000000..996f413 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Body/view.json new file mode 100644 index 0000000..9563fa3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Body/view.json @@ -0,0 +1,429 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Info", + "Control", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "VAVMaster", + "tagPath": "[Ignition_Common_IO_Gtwy]VAV/SATB1_VAV_Master" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Info" + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]VAV/SATB1_VAV_Master" + }, + "path": "Library/Templates/VAVMaster/Info" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Control/resource.json new file mode 100644 index 0000000..c1905b0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6a73458c3c1ea80967aa2a3ea6e89f7b9933dd8abdb7fa02544e391be8838858", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:27:19Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Control/thumbnail.png new file mode 100644 index 0000000..9925c14 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Control/view.json new file mode 100644 index 0000000..ee45434 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Control/view.json @@ -0,0 +1,544 @@ +{ + "custom": { + "OCmd": { + "Occupied": null, + "sEND": null + }, + "tagPaths": [ + "[Ignition_Common_IO_Gtwy]RM1100/SATB1_HS1_RM1100_VAV13", + "[Ignition_Common_IO_Gtwy]RM1100/SATB1_HS1_RM1100_VAV14", + "[Ignition_Common_IO_Gtwy]RM1101/SATB1_HS1_RM1101_VAV17", + "[Ignition_Common_IO_Gtwy]RM1102/SATB1_HS1_RM1102_VAV15", + "[Ignition_Common_IO_Gtwy]RM1102-2/SATB1_HS1_RM1102-2_VAV16", + "[Ignition_Common_IO_Gtwy]RM1103/SATB1_HS1_RM1103_VAV09", + "[Ignition_Common_IO_Gtwy]RM1109/SATB1_HS1_RM1109_VAV06", + "[Ignition_Common_IO_Gtwy]RM1110/SATB1_HS1_RM1110_VAV04", + "[Ignition_Common_IO_Gtwy]RM1110/SATB1_HS1_RM1110_VAV05", + "[Ignition_Common_IO_Gtwy]RM1111/SATB1_HS1_RM1111_VAV11", + "[Ignition_Common_IO_Gtwy]RM1113/SATB1_HS1_RM1113_VAV08", + "[Ignition_Common_IO_Gtwy]RM1114/SATB1_HS1_RM1114_VAV07", + "[Ignition_Common_IO_Gtwy]RM1116/SATB1_HS1_RM1116_VAV01", + "[Ignition_Common_IO_Gtwy]RM1117/SATB1_HS1_RM1117_VAV02", + "[Ignition_Common_IO_Gtwy]RM1118/SATB1_HS1_RM1118_VAV03", + "[Ignition_Common_IO_Gtwy]RM1121/SATB1_HS1_RM1121_VAV19", + "[Ignition_Common_IO_Gtwy]RM1127/SATB1_HS1_RM1127_VAV22", + "[Ignition_Common_IO_Gtwy]RM1127/SATB1_HS1_RM1127_VAV23", + "[Ignition_Common_IO_Gtwy]RM1133/SATB1_HS1_RM1133_VAV25", + "[Ignition_Common_IO_Gtwy]RM1133-5/SATB1_HS1_RM1133-5_VAV18", + "[Ignition_Common_IO_Gtwy]RM1134/SATB1_HS1_RM1134_VAV20", + "[Ignition_Common_IO_Gtwy]RM1135/SATB1_HS1_RM1135_VAV21", + "[Ignition_Common_IO_Gtwy]RM1137/SATB1_HS1_RM1137_VAV12", + "[Ignition_Common_IO_Gtwy]RM1138/SATB1_HS1_RM1138_VAV29", + "[Ignition_Common_IO_Gtwy]RM1139/SATB1_HS1_RM1139_VAV26", + "[Ignition_Common_IO_Gtwy]RM1139/SATB1_HS1_RM1139_VAV27", + "[Ignition_Common_IO_Gtwy]RM1139/SATB1_HS1_RM1139_VAV28", + "[Ignition_Common_IO_Gtwy]RM1141/SATB1_HS1_RM1141_VAV24", + "[Ignition_Common_IO_Gtwy]RM1153/SATB1_HS1_RM1153_VAV34", + "[Ignition_Common_IO_Gtwy]RM1190/SATB1_HS1_RM1190_VAV33", + "[Ignition_Common_IO_Gtwy]RM1192/SATB1_HS1_RM1192_VAV31", + "[Ignition_Common_IO_Gtwy]RM1194/SATB1_HS1_RM1194_VAV32" + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]VAV/SATB1_VAV_Master" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Send": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SendALL" + }, + "type": "tag" + } + }, + "custom.tagPaths": { + "binding": { + "config": { + "struct": { + "hb": "now(3000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIO_Gateways \u003d [\"[Ignition_Common_IO_Gtwy]\"]\n\t\t\t\t\n\t#Change manually the gateway to search through\n\tpath \u003d IO_Gateways[0]\n\t\n\ttagType \u003d {\"tagType\":\"UdtInstance\"}\n\t#Look for this udt type\n\ttypeId \u003d \"Objects/Air/VAV v2\"\n\tdef recursive_browser(base_path, type_id):\n\t\tfound_udt_paths \u003d []\n\t\tbrowse_results \u003d system.tag.browse(base_path)\n\t\tfor item in browse_results:\n\t\t\titem_fullPath \u003d item.get(\u0027fullPath\u0027, \u0027N/A\u0027)\n\t\t\titem_tag_type \u003d item.get(\u0027tagType\u0027, \u0027N/A\u0027)\n\t\t\titem_type_id \u003d item.get(\u0027typeId\u0027, \u0027N/A\u0027)\n\t\t\t\n\t\t\tif str(item_type_id) \u003d\u003d type_id:\n\t\t\t\tfound_udt_paths.append(item_fullPath)\n\t\t\tif str(item_tag_type) \u003d\u003d \"Folder\":\n\t\t\t\tfound_udt_paths.extend(recursive_browser(item_fullPath, type_id))\n\t\treturn found_udt_paths\n\treturn recursive_browser(path, typeId)\n", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Send \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Send to all VAV" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Left control Container" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Occupied Temperature Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpaths \u003d self.view.custom.tagPaths\n\ttags \u003d []\n\tvalues \u003d []\n\tfor path in paths:\n\t\ttags.append(\"{}/Control/Occupied Temp Setpoint\".format(path))\n\t\tvalues.append(self.props.value)\n\tsystem.tag.writeBlocking(tags, values) " + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OccTempSP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 104, + "minimum": 50 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Unoccupied Temperature Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpaths \u003d self.view.custom.tagPaths\n\ttags \u003d []\n\tvalues \u003d []\n\tfor path in paths:\n\t\ttags.append(\"{}/Control/Unoccupied Temperature SP\".format(path))\n\t\tvalues.append(self.props.value)\n\tsystem.tag.writeBlocking(tags, values) " + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_UnOccModeTempSP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 82, + "minimum": 65 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Row3" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Occupied Mode Start Hour", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OccModeStartHR" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Row5" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Unoccupied Mode Start Hour", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_UnOccModeStartHR" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Row6" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right control Container" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Info/resource.json new file mode 100644 index 0000000..ca3e1c5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "be5baf3596ed8d5d2f84baf11a1fc2e69d864ddff313c9cb310741b9a76462a5", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Info/thumbnail.png new file mode 100644 index 0000000..07b47fb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Info/view.json new file mode 100644 index 0000000..09463d2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Info/view.json @@ -0,0 +1,119 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Number of Occupied Zones", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Number of Unccupied Zones", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]VAV/SATB1_VAV_Master" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Trends/resource.json new file mode 100644 index 0000000..8bf039a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fa3c576c8b33eeb72c05074027b3621aa71e98f35790d571978b7781af0b6b11", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Trends/thumbnail.png new file mode 100644 index 0000000..46bbf3b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Trends/view.json new file mode 100644 index 0000000..1f00f9e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VAVMaster/Trends/view.json @@ -0,0 +1,428 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/VAV" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Body/resource.json new file mode 100644 index 0000000..046c3bf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "da7ce01cfa367fa3953780052c831c5fcf11b8e590ad61837b1751a3bfd1784d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Body/thumbnail.png new file mode 100644 index 0000000..c2d0df4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Body/view.json new file mode 100644 index 0000000..2eaf130 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "VSD", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/VSD 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Config/resource.json new file mode 100644 index 0000000..52bfba2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "10afb8d8409d7016acf8f8ecc9f95838085ac9f0bce740b638d0549b47f9c851", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Config/thumbnail.png new file mode 100644 index 0000000..627e5a8 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Config/view.json new file mode 100644 index 0000000..4007ca1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Config/view.json @@ -0,0 +1,172 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Run Delay Setpoint" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Stop Delay Setpoint" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Minimum Speed Setpoint" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Speed Command Raw Maximum" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Speed Command Raw Minimum" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Speed Feedback Raw Maximum" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Speed Feedback Raw Minimum" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD08" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Control/resource.json new file mode 100644 index 0000000..ce65f6c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1ed749d3019d40e8084a0c7aacf7c82b9c1ae74e77080998973ef173d834bb0f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:27:19Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Control/thumbnail.png new file mode 100644 index 0000000..cc64e1e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Control/view.json new file mode 100644 index 0000000..452499a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Control/view.json @@ -0,0 +1,582 @@ +{ + "custom": { + "OCmd": {}, + "StsAuto": null + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD05" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.ModeCMD": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "custom.OCmd.Run": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Run" + }, + "type": "tag" + } + }, + "custom.StsAuto": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Auto" + }, + "type": "tag" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.ModeCMD \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.ModeCMD" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.ModeCMD \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.ModeCMD" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if({view.custom.OCmd.ModeCMD},false,true),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "type": "property" + } + } + }, + "props": { + "text": "Run" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Run \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if({view.custom.OCmd.ModeCMD},false,true),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Run" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": false + }, + { + "input": false, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row01" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ResetBtn" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row02" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Speed Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if({this.props.enabled}, \u0027var(--tagvalue-color)\u0027, \u0027\u0027)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_SpdSP" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 100, + "minimum": 0 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Row03" + }, + "position": { + "basis": "58px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Info/resource.json new file mode 100644 index 0000000..6e53d29 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "439bf72507498abd05f771a01e6b7bfa9227f96c748085cd21e29f33cffc3243", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Info/thumbnail.png new file mode 100644 index 0000000..b88124b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Info/view.json new file mode 100644 index 0000000..5ab6e4c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Info/view.json @@ -0,0 +1,238 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "CommPercentage", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 4, + "instanceStyle": { + "classes": "" + }, + "name": "Current", + "options": [] + }, + { + "dataType": "Int4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 8, + "instanceStyle": { + "classes": "" + }, + "name": "Equipment Count", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 6, + "instanceStyle": { + "classes": "" + }, + "name": "Power", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 10, + "instanceStyle": { + "classes": "" + }, + "name": "Runtime", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 7, + "instanceStyle": { + "classes": "" + }, + "name": "Speed Command", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 9, + "instanceStyle": { + "classes": "" + }, + "name": "Speed Feedback", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 11, + "instanceStyle": { + "classes": "" + }, + "name": "Speed Feedback RPM", + "options": [] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 3, + "instanceStyle": { + "classes": "" + }, + "name": "Status HOA", + "options": [ + "Local", + "Remote" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 1, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "options": [ + "Not Available", + "Available" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 5, + "instanceStyle": { + "classes": "" + }, + "name": "Status Running", + "options": [ + "Not Running", + "Running" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 2, + "instanceStyle": { + "classes": "" + }, + "name": "Voltage", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD01" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Meta/resource.json new file mode 100644 index 0000000..12c4a9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9e20c8f6ebe564d464a9138c8c7fe55aae3f6f7614a997d96eb1991486d2e0c4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Trends/resource.json new file mode 100644 index 0000000..bdc3c94 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "19d41859c904020982f1f0eb277bcb18d4f378c0abfc05384862f4715432cdee", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Trends/thumbnail.png new file mode 100644 index 0000000..88290f1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Trends/view.json new file mode 100644 index 0000000..f486edf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/VSD/Trends/view.json @@ -0,0 +1,428 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/VSD 1" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Body/resource.json new file mode 100644 index 0000000..b468ec7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b0e6d0b80f67d941547028db6ed31cfbbbe099b4d9021df1f6cb18fc7fe27f0b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Body/thumbnail.png new file mode 100644 index 0000000..a83c9df Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Body/view.json new file mode 100644 index 0000000..551befc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Body/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "objectName": "ValveC", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/ValveC 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Config/resource.json new file mode 100644 index 0000000..48dda7b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1483354c7fa7fca410d50d900da49dc2218fb253601b97c696ca4e7336cc0112", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Config/thumbnail.png new file mode 100644 index 0000000..a695440 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Config/view.json new file mode 100644 index 0000000..0f58d57 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Config/view.json @@ -0,0 +1,195 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Close Delay Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Open Delay Setpoint" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Position Command Raw Maximum" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Position Command Raw Minimum" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Position Feedback Raw Maximum" + }, + { + "dataType": "Int4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Position Feedback Raw Minimum" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + }, + { + "dataType": "Float4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Stall Deadband" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Stall Delay Setpoint" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Use Limit Switches" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Use Position Feedback" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES14_MOV67" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Control/resource.json new file mode 100644 index 0000000..f1d6819 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "138bec4a567ac2208655f716c72abaeb2ac04bded2843a09d833223e59355521", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:27:37Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Control/thumbnail.png new file mode 100644 index 0000000..50d59d7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Control/view.json new file mode 100644 index 0000000..bb3cec7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Control/view.json @@ -0,0 +1,439 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES01_MOV50" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.PosSP": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_PosSP" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Reset Btn" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Left Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Description" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Position Setpoint", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.style.color": { + "binding": { + "config": { + "path": "this.props.enabled" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--oltagvalue-color)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.PosSP" + }, + "type": "property" + } + } + }, + "props": { + "inputBounds": { + "maximum": 100, + "minimum": 0 + }, + "style": { + "fontWeight": "bold", + "min-height": "30px" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "PositionSP" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Right Column" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Info/resource.json new file mode 100644 index 0000000..51e34d3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "08365bcc6ef7a7a972404dcd832be2f722bea368f17c47c52a50f2658e6bfd60", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Info/thumbnail.png new file mode 100644 index 0000000..783d3a1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Info/view.json new file mode 100644 index 0000000..46e99c1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Info/view.json @@ -0,0 +1,161 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "options": [ + "Not Available", + "Available" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Closed", + "options": [ + "Not Closed", + "Closed" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Open", + "options": [ + "Not Open", + "Open" + ] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Valve Position Command", + "options": [] + }, + { + "dataType": "Float4", + "displaySelection": 0, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Valve Position Feedback", + "options": [] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES01_MOV50" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "33%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Meta/resource.json new file mode 100644 index 0000000..6f9daef --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ab2e369731a5350acca70e8a4f51ccc9b55bc1bb9556e642dde8833ce89d2de7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Meta/view.json new file mode 100644 index 0000000..9bfb166 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Trends/resource.json new file mode 100644 index 0000000..0b32c31 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "15c7143e1d3adcec4182fa9b20aebf074bfa5a73be328b864394c7e8e88dac5a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:20:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Trends/thumbnail.png new file mode 100644 index 0000000..17938b8 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Trends/view.json new file mode 100644 index 0000000..dcad027 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveC/Trends/view.json @@ -0,0 +1,428 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES02_MOV51" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Body/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Body/resource.json new file mode 100644 index 0000000..546be1c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Body/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c932e55917fab977fbb55d72f04e4ac6dc3cd7db245df13c4ddc26e5c22ba7df", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:27:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Body/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Body/thumbnail.png new file mode 100644 index 0000000..86f1520 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Body/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Body/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Body/view.json new file mode 100644 index 0000000..0cadaa0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Body/view.json @@ -0,0 +1,421 @@ +{ + "custom": { + "tabsConfig": { + "tabs": [ + "Status", + "Control", + "Config", + "Trend", + "Meta", + "Wiki" + ] + }, + "trendConfig": { + "selectedPens": [] + } + }, + "params": { + "auth": "view.params.auth.control", + "objectName": "ValveM", + "tagPath": "[Ignition_SATB1_IO1_default]Datahall 1/Development/ValveM 1" + }, + "propConfig": { + "custom.tabsConfig": { + "persistent": true + }, + "custom.tabsConfig.showConfig": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Config" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.tabsConfig.showControl": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.params.tagPath}" + }, + "tagPath": "{1}/Control" + }, + "transforms": [ + { + "expression": "coalesce({value},false) !\u003d false", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.trendConfig": { + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Status" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Trend" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "view.custom.trendConfig.selectedPens" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Config" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Meta" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Wiki" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Framework/Tag Notes/View Notes" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Control" + }, + "propConfig": { + "position.tabIndex": { + "binding": { + "config": { + "expression": "{parent.props.tabs}" + }, + "transforms": [ + { + "code": "\treturn value.indexOf(self.meta.name)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.params.auth": { + "binding": { + "config": { + "path": "view.params.auth" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.tabs": { + "binding": { + "config": { + "expression": "{view.custom.tabsConfig}" + }, + "transforms": [ + { + "code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "contentStyle": { + "backgroundColor": "var(--container)" + } + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "enableDisablePen", + "pageScope": true, + "script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Config/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Config/resource.json new file mode 100644 index 0000000..754802b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Config/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cc106cf6765d903f05a9adc764eec81b683f4a3e64e16d133d0316848193c6ae", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Config/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Config/thumbnail.png new file mode 100644 index 0000000..b0afe20 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Config/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Config/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Config/view.json new file mode 100644 index 0000000..e4b7d53 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Config/view.json @@ -0,0 +1,131 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Close Delay Setpoint" + }, + { + "dataType": "Int8", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Fail To Open Delay Setpoint" + }, + { + "dataType": "Boolean", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Reset Required" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_CV31" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttry:\n\t\t# Simulate fetching tag configurations and sorting by name\n\t\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\t\tfor item in nodes:\n\t\t if \u0027tags\u0027 in item:\n\t\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t\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 \t\n\t for tagConfig in sortedTags:\n\t if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t name \u003d tagConfig.get(\"name\", \"\")\n\t dataType \u003d tagConfig.get(\"dataType\", \"\")\n\t tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t instance \u003d {\n\t \"instanceStyle\": {\n\t \"classes\": \"\"\n\t },\n\t \"instancePosition\": {},\n\t \"name\": name,\n\t \"dataType\": dataType\n\t }\n\t # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n\t output.append(instance)\n\t\t\n\t\t# Return or process the sorted output\n\t\treturn output\n\texcept:\n\t\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Config\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Control/resource.json new file mode 100644 index 0000000..fff492b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "beee32ffd7556df6cb54deadd8987971dc229b1af7e62867c098272cc6e84986", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:27:37Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Control/thumbnail.png new file mode 100644 index 0000000..5738dfc Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Control/view.json new file mode 100644 index 0000000..2ede63d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Control/view.json @@ -0,0 +1,487 @@ +{ + "custom": { + "OCmd": {} + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_CV01" + }, + "propConfig": { + "custom.OCmd": { + "persistent": true + }, + "custom.OCmd.Close": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Close" + }, + "type": "tag" + } + }, + "custom.OCmd.Mode": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/ModeCMD" + }, + "type": "tag" + } + }, + "custom.OCmd.OOS": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_OOS" + }, + "type": "tag" + } + }, + "custom.OCmd.Open": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Open" + }, + "type": "tag" + } + }, + "custom.OCmd.Reset": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Reset" + }, + "type": "tag" + } + }, + "params.auth": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AutoBtn" + }, + "position": { + "basis": "185px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "type": "property" + } + } + }, + "props": { + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Mode \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ManualBtn" + }, + "position": { + "basis": "185px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.OCmd.Mode" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Manual" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Close \u003d False\n\tself.view.custom.OCmd.Open \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "basis": "185px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode},true,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/CMD_Open" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Open" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Open \u003d False\n\tself.view.custom.OCmd.Close \u003d True" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "CloseBtn" + }, + "position": { + "basis": "185px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if({view.params.auth.control},if(!{view.custom.OCmd.Mode},true,false),false)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/CMD_Close" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Close" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.OCmd.Reset \u003d True\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OpenBtn" + }, + "position": { + "basis": "380px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Description", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Out of Service", + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Val" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.params.auth.control" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.OCmd.OOS" + }, + "type": "property" + } + } + }, + "props": { + "text": "" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "OutOfService" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "RightColumn" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/padded-container", + "gap": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Info/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Info/resource.json new file mode 100644 index 0000000..e83890f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Info/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "79248ae20b1d778ab6847781dfa6dc36e4be5bf2136082c80d53212513b9ae56", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:22:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Info/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Info/thumbnail.png new file mode 100644 index 0000000..021e4bb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Info/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Info/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Info/view.json new file mode 100644 index 0000000..69b888d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Info/view.json @@ -0,0 +1,130 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "Boolean", + "displaySelection": 1, + "format": "0.0", + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Available", + "options": [ + "Not Available", + "Available" + ] + }, + { + "dataType": "Boolean", + "displaySelection": 1, + "format": 0, + "instancePosition": 999, + "instanceStyle": { + "classes": "" + }, + "name": "Status Open-Closed", + "options": [ + "Closed", + "Open", + "Transitioning", + "Error" + ] + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_CV13" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\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 \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\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 if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Info", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Meta/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Meta/resource.json new file mode 100644 index 0000000..9e2ff45 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Meta/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0ab2a8405b3fc13ddc2fb476827e814178e9dffe78e0f420bed66906c266c174", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:23:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Meta/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Meta/thumbnail.png new file mode 100644 index 0000000..3545640 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Meta/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Meta/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Meta/view.json new file mode 100644 index 0000000..2774180 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Meta/view.json @@ -0,0 +1,242 @@ +{ + "custom": { + "allTags": [ + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Alarm Description", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Alarm Description" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Building", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Building" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Cabinet", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Cabinet" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqMake", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqMake" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "EqName", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/EqName" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "FW Version", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/FW Version" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Floor", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Floor" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Gateway Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Gateway Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "IP Address", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/IP Address" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Ignition Tag Name", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Ignition Tag Name" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "ModelNo", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/ModelNo" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Port", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Port" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Room", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Room" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Switch Location", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Switch Location" + }, + { + "dataType": "String", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "name": "Tooltip", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS/Meta/Tooltip" + } + ] + }, + "params": { + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + "propConfig": { + "custom.allTags": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.params.tagPath} + \"/Meta\"" + }, + "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 \"tagPath\": tagPath,\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": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allTags": "{view.custom.allTags}", + "auth": "{view.params.auth.config}", + "tagPath": "{view.params.tagPath} + \"/Meta/\"" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\t\n\t\toutput.append(tag)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignContent": "flex-start", + "elementPosition": { + "basis": "50%", + "grow": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Framework/Tag Config", + "style": { + "border": "1px solid var(--border)", + "gap": "10px 0", + "padding": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Trends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Trends/resource.json new file mode 100644 index 0000000..86aac62 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Trends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6044c5bff7ec2f432441101983c0ddc304873c5c330ecd74e9165e0cfc3437f8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:21:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Trends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Trends/thumbnail.png new file mode 100644 index 0000000..46bbf3b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Trends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Trends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Trends/view.json new file mode 100644 index 0000000..8938532 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Templates/ValveM/Trends/view.json @@ -0,0 +1,428 @@ +{ + "custom": { + "trendConfig": {} + }, + "params": { + "selectedPens": [], + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CV31" + }, + "propConfig": { + "custom.trendConfig": { + "persistent": true + }, + "custom.trendConfig.allPens": { + "binding": { + "config": { + "struct": { + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": " # Initialize a dictionary to store instances grouped by \u0027engUnit\u0027\n lists \u003d {}\n output \u003d []\n \n # Fetch tag configurations, including nested tags\n nodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n total \u003d 0\n for item in nodes:\n # Check if the item contains the \u0027tags\u0027 key\n if \u0027tags\u0027 in item:\n \ttotal \u003d len(item[\u0027tags\u0027])\n \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027))\n \t\n \tfor i, tagConfig in enumerate(sortedTags):\n \t\tif str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n\t\t\t\t\tisEnabled \u003d False\n\t\t\t\t\t# Get the engineering unit or default to \u0027Misc\u0027 if not available\n\t\t\t\t\tengUnit \u003d tagConfig.get(\"engUnit\", \"misc\")\n\t\t\t\t\tif engUnit \u003d\u003d \"\":\n\t\t\t\t\t engUnit \u003d \"misc\"\n\t\t\t\t\t\n\t\t\t\t\t# Initialize a list for the \u0027engUnit\u0027 if it hasn\u0027t been added\n\t\t\t\t\tif engUnit not in lists:\n\t\t\t\t\t lists[engUnit] \u003d []\n\t\t\t\t\t\n\t\t\t\t\t# Create tag instance details\n\t\t\t\t\tname \u003d tagConfig.get(\"name\", \"\")\n\t\t\t\t\ttagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n\t\t\t\t\tif name in value[\u0027pens\u0027]:\n\t\t\t\t\t\tisEnabled \u003d True\n\t\t\t\t\tinstance \u003d {\n\t\t\t\t\t \"instanceStyle\": {\n\t\t\t\t\t \"classes\": \"\"\n\t\t\t\t\t },\n\t\t\t\t\t \"instancePosition\": {},\n\t\t\t\t\t \"name\": name,\n\t\t\t\t\t \"tagPath\": tagPath,\n\t\t\t\t\t \"engUnit\": engUnit,\n\t\t\t\t\t \"color\": \u0027\u0027,\n\t\t\t\t\t \"enabled\": isEnabled\n\t\t\t\t\t}\n\t\t\t\t\tlists[engUnit].append(instance)\n\t\t\t\t\t\n # Return the sorted and grouped output\n for li in sorted(lists):\n \toutput.append({\n \t\t\u0027group\u0027: lists[li][0][\u0027engUnit\u0027],\n \t\t\u0027penList\u0027: lists[li]\n \t})\n return output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.trendConfig.selectedPens": { + "binding": { + "config": { + "path": "view.params.selectedPens" + }, + "type": "property" + } + }, + "params.selectedPens": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "34px", + "shrink": 0 + }, + "props": { + "label": { + "text": "Table View" + } + }, + "type": "ia.input.toggle-switch" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "struct": { + "allPens": "{view.custom.trendConfig.allPens}", + "selectedPens": "{view.custom.trendConfig.selectedPens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tallPens \u003d value[\u0027allPens\u0027]\n\tfor i in range(len(allPens)):\n\t\tpenGroup \u003d allPens[i].get(\u0027group\u0027, \u0027Misc\u0027)\n\t\tpenList \u003d allPens[i].get(\u0027penList\u0027, [])\n\t\tlistLength \u003d len(penList)\n\t\tnewPenList \u003d []\n\t\tfor i, pen in enumerate(penList):\n\t\t\tpen \u003d dict(pen)\n\t\t\tname \u003d pen[\u0027name\u0027]\n\t\t\tpen[\u0027color\u0027] \u003d utils.misc.getHexColorFromInt(i + 1, listLength)\n\t\t\tif name in value[\u0027selectedPens\u0027]:\n\t\t\t\tpen[\u0027enabled\u0027] \u003d True\n\t\t\tnewPenList.append(pen)\n\t\toutput.append({\n\t\t\t\u0027group\u0027: penGroup, \n\t\t\t\u0027penList\u0027: newPenList\n\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "loading": { + "order": "with-parent" + }, + "path": "Library/Templates/Framework/Pen List", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Pens Lists" + }, + "position": { + "basis": "250px" + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)", + "border-right": "none" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "domId": "CustomPowerChart", + "name": "Power Chart" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "propConfig": { + "custom.pens": { + "binding": { + "config": { + "struct": { + "axes": "{this.props.axes}", + "pens": "{view.custom.trendConfig.selectedPens}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\tinfo \u003d value\n\ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\tdef find_characters(text, char_list):\n\t\tfound_characters \u003d {}\n\t\tfor char_to_find in char_list:\n\t\t\tif char_to_find in text:\n\t\t\t\tfound_characters[char_to_find] \u003d True\n\t\t\t\treturn found_characters\n\t\n\tsearch_text \u003d value[\u0027tagPath\u0027].split(\u0027]\u0027)[0].split(\u0027_\u0027)[2]\n\tcharacters_to_find \u003d [\u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027]\n\tfound \u003d find_characters(search_text, characters_to_find)\n\t\t\n\tif found:\n\t\tfor character in found:\n\t\t\tif character \u003d\u003d \"1\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io1\u0027\n\t\t\telif character \u003d\u003d \"2\":\n\t\t\t\ttagProvider \u003d \u0027ignition-satb1-io2\u0027\n\t\t\telif character \u003d\u003d \"3\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io3\u0027\n \t\t\telif character \u003d\u003d \"4\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io4\u0027\n \t\t\telif character \u003d\u003d \"5\":\n \t\t\t \ttagProvider \u003d \u0027ignition-satb1-io5\u0027\n\t\t\telse:\n\t\t\t \ttagProvider \u003d \u0027ignition-satb1-io6\u0027\n\treturn tagProvider", + "type": "script" + }, + { + "code": "\toutput \u003d []\n\t\n\ttry:\n\t\tpensList \u003d self.parent.parent.getChild(\"Pens Lists\").getChild(\"FlexRepeater\").props.instances\n\t\tfor tagGroup in pensList:\n\t\t\tgroupName \u003d tagGroup[\u0027group\u0027]\n\t\t\tpenList \u003d tagGroup[\u0027penList\u0027]\n\t\t\tfor tag in penList:\n\t\t\t\taxis \u003d tag[\u0027engUnit\u0027]\n\t\t\t\tcolor \u003d tag[\u0027color\u0027]\n\t\t\t\tinstance \u003d {\n\t\t\t\t\"axis\": axis,\n\t\t\t\t\"data\": {\n\t\t\t\t\"aggregateMode\": \"default\",\n\t\t\t\t\"source\": \u0027histprov:Ignition_Hist:/drv:\u0027+ value +\u0027:default:/tag:\u0027 + tag[\u0027tagPath\u0027].split(\u0027]\u0027)[1].lower()\n\t\t\t\t},\n\t\t\t\t\"display\": {\n\t\t\t\t\"breakLine\": True,\n\t\t\t\t\"interpolation\": \"curveLinear\",\n\t\t\t\t\"radius\": 3,\n\t\t\t\t\"styles\": {\n\t\t\t\t \"highlighted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"muted\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.4\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.4,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"normal\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 0.8\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 0.8,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t },\n\t\t\t\t \"selected\": {\n\t\t\t\t \"fill\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"opacity\": 1\n\t\t\t\t },\n\t\t\t\t \"stroke\": {\n\t\t\t\t \"color\": color,\n\t\t\t\t \"dashArray\": 0,\n\t\t\t\t \"opacity\": 1,\n\t\t\t\t \"width\": 1\n\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"type\": \"line\"\n\t\t\t\t},\n\t\t\t\t\"enabled\": True,\n\t\t\t\t\"name\": tag[\u0027name\u0027],\n\t\t\t\t\"plot\": 1,\n\t\t\t\t\"selectable\": False,\n\t\t\t\t\"visible\": True\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\toutput.append(instance)\n\texcept:\n\t\tpass\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "!{.../Pens Lists/ToggleSwitch.props.selected}" + }, + "type": "expr" + } + }, + "props.axes": { + "binding": { + "config": { + "struct": { + "tags": "{.../Pens Lists/FlexRepeater.props.instances}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taxes \u003d []\n\tfor i, engUnit in enumerate(value[\u0027tags\u0027]):\n#\t\tengUnit \u003d tagConfig[\u0027engUnit\u0027]\n\t\tif engUnit not in axes:\n\t\t\taxes.append(engUnit)\n\t\t\toutput.append({\n\t\t\t\t\"name\": engUnit,\n\t\t\t\t\"position\": \"left\",\n\t\t\t\t\"width\": 60,\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"dataFormat\": \"0,0.##\",\n\t\t\t\t\"range\": {\n\t\t\t\t\"auto\": True,\n\t\t\t\t\"min\": \"\",\n\t\t\t\t\"max\": \"\"\n\t\t\t\t},\n\t\t\t\t\"label\": {\n\t\t\t\t\"text\": engUnit,\n\t\t\t\t\"offset\": 0,\n\t\t\t\t\"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"tick\": {\n\t\t\t\t\"color\": \"#757A7F\",\n\t\t\t\t\"count\": \"Auto\",\n\t\t\t\t\"label\": {\n\t\t\t\t \"format\": \"Auto\",\n\t\t\t\t \"font\": {\n\t\t\t\t \"color\": \"#757A7F\",\n\t\t\t\t \"size\": 10\n\t\t\t\t },\n\t\t\t\t \"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t \"classes\": \"\"\n\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"style\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t}\n\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.config": { + "onChange": { + "enabled": null, + "script": "\tconfig \u003d currentValue.value\n\t\n\tif config[\u0027mode\u0027].value \u003d\u003d \u0027historical\u0027:\n\t\tif previousValue !\u003d None:\n\t\t\tif previousValue.value !\u003d None:\n\n\t\t\t\ttry:\n\t\t\t\t\tstartDate \u003d config[\u0027startDate\u0027].value \n\t\t\t\t\tendDate \u003d config[\u0027endDate\u0027].value\n\t\t\t\texcept:\n\t\t\t\t\tstartDate \u003d system.date.now()\n\t\t\t\t\tendDate \u003d system.date.addDays(startDate, -1)\t\t\t\t\n\t\t\t\t\n\t\t\t\tdaysBetween \u003d system.date.daysBetween(startDate,endDate)\n\t\t\t\t\n\t\t\t\tif daysBetween \u003e 14:\n\t\t\t\t\toldStartDate \u003d previousValue.value[\u0027startDate\u0027].value\n\t\t\t\t\toldEndDate \u003d previousValue.value[\u0027endDate\u0027].value\n\t\t\t\t\t\n\t\t\t\t\tif oldStartDate \u003d\u003d startDate:\n\t\t\t\t\t\tself.props.config.startDate \u003d system.date.addDays(endDate,-14)\n\t\t\t\t\telse:\n\t\t\t\t\t\tself.props.config.endDate \u003d system.date.addDays(startDate,14)\n\telif config[\u0027mode\u0027].value \u003d\u003d \u0027realtime\u0027:\n\t\tunits \u003d config[\u0027measureOfTime\u0027].value\n\t\ttime \u003d config[\u0027unitOfTime\u0027].value\n\t\t\n\t\tif units \u003d\u003d \u0027seconds\u0027:\n\t\t\tif time \u003e 1209600:\n\t\t\t\tself.props.config.unitOfTime \u003d 1209600\n\t\telif units \u003d\u003d \u0027minutes\u0027:\n\t\t\tif time \u003e 20160:\n\t\t\t\tself.props.config.unitOfTime \u003d 20160\n\t\telif units \u003d\u003d \u0027hours\u0027:\n\t\t\tif time \u003e 336:\n\t\t\t\tself.props.config.unitOfTime \u003d 336\n\t\telif units \u003d\u003d \u0027days\u0027:\n\t\t\tif time \u003e 14:\n\t\t\t\tself.props.config.unitOfTime \u003d 14\n\t\telif units \u003d\u003d \u0027weeks\u0027:\n\t\t\tif time \u003e 2:\n\t\t\t\tself.props.config.unitOfTime \u003d 2\n\t\telse:\n\t\t\tself.props.config.unitOfTime \u003d 2\n\t\t\tself.props.config.measureOfTime \u003d \u0027weeks\u0027\n\thistSetting \u003d utils.helper.sanitize_tree(self.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings)\n#\tsystem.perspective.print(\"%s\"%histSetting)\n\thistSetting.update(utils.helper.sanitize_tree(self.props.config))\n\tself.parent.parent.parent.getChild(\"FlexContainer\").custom.historianSettings \u003d histSetting" + } + }, + "props.pens": { + "binding": { + "config": { + "struct": { + "enabledPens": "{view.custom.trendConfig.selectedPens}", + "pens": "{this.custom.pens}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t# Utilize the trendConfig.allPens to know which pens from the \u0027pens\u0027\n\t# custom property to append to the pensToReturn list.\n\t\n\tcurrentPens \u003d self.props.pens\n\t\n\tpensToReturn \u003d []\n\t\n\tpens \u003d value[\u0027pens\u0027]\n\tenabledPens \u003d value[\u0027enabledPens\u0027]\n\t\n\tfor pen in pens:\n\t\tif pen.name in enabledPens:\n\t\t\thistoryPen \u003d ({\u0027axis\u0027:pen.axis,\u0027data\u0027:pen.data,\u0027display\u0027:pen.display,\n\t\t\t\u0027enabled\u0027:pen.enabled,\u0027name\u0027:pen.name,\u0027plot\u0027:pen.plot,\n\t\t\t\u0027selectable\u0027:pen.selectable,\u0027visible\u0027:pen.visible})\n\t\t\t\n\t\t\t# To retain visibility settings.\n\t\t\tfor currPen in currentPens:\n\t\t\t\tif pen.name \u003d\u003d currPen.name:\n\t\t\t\t\thistoryPen[\u0027visible\u0027] \u003d currPen.visible\n\t\t\t\t\t\n\t\t\tpensToReturn.append(historyPen)\n\t\t\t\n\treturn pensToReturn", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "config": { + "endDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730879940000 + }, + "rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A", + "responsiveDesignWidth": 100, + "startDate": { + "$": [ + "ts", + 0, + 1731972292627 + ], + "$ts": 1730733759000 + }, + "unitOfTime": 2, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showSettingsButton": false, + "showTagBrowserButton": false + } + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "plots": [ + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 3, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 2, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + }, + { + "color": "transparent", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "visible": false + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Power Chart.props.pens" + }, + "transforms": [ + { + "code": "\t# If no pens are enabled, then show this label (informing the user to select a pen).\n\t\n\tfor pen in value:\n\t\tif pen.enabled \u003d\u003d True:\n\t\t\treturn False\n\treturn True", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "--neutral-80", + "fontSize": "14px", + "marginTop": "-143px", + "minHeight": "-143px" + }, + "text": "Please select a tag." + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Pens Cont" + }, + "position": { + "basis": "0px" + }, + "props": { + "alignItems": "center", + "direction": "column", + "style": { + "overflow": "visible", + "zIndex": 0 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TrendTable" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Pens Lists/ToggleSwitch.props.selected" + }, + "type": "property" + } + }, + "props.params.historianSettings": { + "binding": { + "config": { + "path": "..../FlexContainer.custom.historianSettings" + }, + "type": "property" + } + }, + "props.params.selectedPens": { + "binding": { + "config": { + "path": "../Power Chart.props.pens" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Templates/Framework/TrendTable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Chart Cont" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "containers/padded-container" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/DeviceStatus_VFD/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/DeviceStatus_VFD/resource.json new file mode 100644 index 0000000..2ec3da1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/DeviceStatus_VFD/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0e022e4b974358da68e482588f2ebd0815359f16328e95d0f154a27f8066a02e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:29:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/DeviceStatus_VFD/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/DeviceStatus_VFD/thumbnail.png new file mode 100644 index 0000000..ca8b46b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/DeviceStatus_VFD/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/DeviceStatus_VFD/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/DeviceStatus_VFD/view.json new file mode 100644 index 0000000..c6c2da0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/DeviceStatus_VFD/view.json @@ -0,0 +1,211 @@ +{ + "custom": { + "AlarmSevery": 4, + "RunStatus": false, + "Status": null, + "tag": "GEN-P4_5" + }, + "params": { + "objectName": "GEN", + "tagPath": "[Ignition_SATB1_IO1_default]Yard/GEN-P1_1" + }, + "propConfig": { + "custom.AlarmSevery": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.RunStatus": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Run_Status" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.Status": { + "binding": { + "config": { + "expression": "if({view.params.tagPath}/AlarmSummary \u003e1,2, {view.params.tagPath}/Run_Status)\r\n" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.tag": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/Label" + }, + "type": "tag" + }, + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 65 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "60px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSevery}\u003e1, 2, {view.custom.RunStatus})" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "lightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.tag" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSevery}\u003e1, 2, {view.custom.RunStatus})" + }, + "transforms": [ + { + "fallback": "yellow", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "black" + }, + { + "input": 1, + "output": "black" + }, + { + "input": 2, + "output": "white" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginBottom": 0, + "marginLeft": 0, + "marginRight": 0, + "marginTop": 0 + }, + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "borderBottomLeftRadius": "var(--borderRadiusInput)", + "borderBottomRightRadius": "var(--borderRadiusInput)", + "borderTopLeftRadius": "var(--borderRadiusInput)", + "borderTopRightRadius": "var(--borderRadiusInput)", + "classes": "containers/HoverOver", + "marginLeft": 2 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/DH ER/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/DH ER/resource.json new file mode 100644 index 0000000..31497db --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/DH ER/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e6a46c45a9f57dfe04526cfb8b8f05f02bf33a3bc8a9852fea9953cb77844e22", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:22:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/DH ER/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/DH ER/thumbnail.png new file mode 100644 index 0000000..f3e97eb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/DH ER/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/DH ER/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/DH ER/view.json new file mode 100644 index 0000000..647a30d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/DH ER/view.json @@ -0,0 +1,1260 @@ +{ + "custom": {}, + "params": { + "Objects": { + "ATS_1": 1, + "ATS_2": 0, + "GEN": 0, + "PDU1": 2, + "PDU2": 2, + "PDU3": 2, + "PDU4": 2, + "UPS1": 1, + "UPS2": 1, + "UT": 1 + }, + "Room": "P1.1", + "tagPath": { + "ATS": "[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_ATS", + "GEN": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-1", + "PDU1": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-1", + "PDU2": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-2", + "PDU3": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-3", + "PDU4": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-4", + "UPS1": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-1", + "UPS2": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-2", + "UT": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-1" + } + }, + "propConfig": { + "params.Objects": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 125, + "width": 220 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Room ID" + }, + "position": { + "basis": "21px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{view.params.Room}" + }, + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 18, + "fontWeight": "bold", + "paddingBottom": 2, + "paddingLeft": 5, + "paddingTop": 2 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.UT\n\tobjectName \u003d \"UT\"\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": "UT" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.UT" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.UT" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 5, + "marginLeft": 2, + "marginRight": 2, + "marginTop": 5 + }, + "text": "UT", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.GEN\n\tobjectName \u003d \"GEN\"\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": "Gen STS" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.GEN" + }, + "transforms": [ + { + "fallback": "#D3D3D3", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "#D3D3D3" + }, + { + "input": 1, + "output": "#FFFF47" + }, + { + "input": 2, + "output": "#FF0000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.GEN" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 5, + "marginLeft": 2, + "marginRight": 2, + "marginTop": 5 + }, + "text": "GEN", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Column1" + }, + "position": { + "basis": "25%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.ATS\n\tobjectName \u003d \"ATS\"\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": "SRC 1" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.ATS_1" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.ATS_1" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + }, + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 5, + "marginLeft": 2, + "marginRight": 2, + "marginTop": 5 + }, + "text": "ATS SRC1 Utility", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.ATS\n\tobjectName \u003d \"ATS\"\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": "SRC 2" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.ATS_2" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.ATS_2" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 5, + "marginLeft": 2, + "marginRight": 2, + "marginTop": 5 + }, + "text": "ATS SRC2 Gen.", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Column2" + }, + "position": { + "basis": "25%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.UPS1\n\tobjectName \u003d \"UPS\"\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": "UPS1_Lbl" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.UPS1" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.UPS1" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 2, + "marginLeft": 3, + "marginRight": 3, + "marginTop": 2, + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + }, + "text": "UPS1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.UPS2\n\tobjectName \u003d \"UPS\"\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": "UPS2_Lbl" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.UPS2" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.UPS2" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 2, + "marginLeft": 3, + "marginRight": 3, + "marginTop": 2, + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + }, + "text": "UPS2", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row1" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.PDU1\n\tobjectName \u003d \"PDU\"\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": "PDU1_Lbl" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.PDU1" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.PDU1" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "var(--state-running)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 2, + "marginLeft": 3, + "marginRight": 3, + "marginTop": 2, + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + }, + "text": "PDU1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.PDU2\n\tobjectName \u003d \"PDU\"\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": "PDU2_Lbl" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.PDU2" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.PDU2" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 2, + "marginLeft": 3, + "marginRight": 3, + "marginTop": 2, + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + }, + "text": "PDU2", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row2" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.PDU3\n\tobjectName \u003d \"PDU\"\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": "PDU3_Lbl" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.PDU3" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.PDU3" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 2, + "marginLeft": 3, + "marginRight": 3, + "marginTop": 2, + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + }, + "text": "PDU3", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath.PDU4\n\tobjectName \u003d \"PDU\"\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": "PDU4_Lbl" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Objects.PDU4" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "LightGray" + }, + { + "input": 1, + "output": "White" + }, + { + "input": 2, + "output": "Red" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.Objects.PDU4" + }, + "transforms": [ + { + "fallback": "LightGray", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Black" + }, + { + "input": 1, + "output": "Black" + }, + { + "input": 2, + "output": "White" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 1, + "classes": "containers/HoverOver", + "marginBottom": 2, + "marginLeft": 3, + "marginRight": 3, + "marginTop": 2, + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + }, + "text": "PDU4", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Row3" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Column3" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "paddingBottom": 2, + "paddingLeft": 2, + "paddingRight": 2, + "paddingTop": 2 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Devices" + }, + "position": { + "basis": "128px" + }, + "props": { + "style": { + "borderStyle": "none" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "#E5E5E5", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginTop": 10, + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GEN_Widget/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GEN_Widget/resource.json new file mode 100644 index 0000000..d790516 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GEN_Widget/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a420f7a508a4e539020004df637bf3de8cfb4418ea521498dabc293b55446747", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:49:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GEN_Widget/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GEN_Widget/thumbnail.png new file mode 100644 index 0000000..b05bfba Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GEN_Widget/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GEN_Widget/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GEN_Widget/view.json new file mode 100644 index 0000000..4043441 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GEN_Widget/view.json @@ -0,0 +1,227 @@ +{ + "custom": {}, + "params": { + "TagId": "value" + }, + "propConfig": { + "params.TagId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 224, + "width": 701 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "GEN Resume", + "textStyle": { + "fontSize": 18, + "fontWeight": "bold", + "paddingLeft": 15 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "SimpleGauge" + }, + "position": { + "grow": 1 + }, + "props": { + "arc": { + "cornerRadius": 5 + }, + "endAngle": 425, + "label": { + "maxDecimal": 0, + "offsetY": 22, + "units": "/35" + }, + "maxValue": 35, + "startAngle": 120, + "value": 15 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Ready", + "textStyle": { + "fontSize": 18, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "SimpleGauge" + }, + "position": { + "grow": 1 + }, + "props": { + "arc": { + "cornerRadius": 5 + }, + "endAngle": 425, + "label": { + "maxDecimal": 0, + "offsetY": 22, + "units": "/35" + }, + "maxValue": 35, + "startAngle": 120, + "value": 18 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Running", + "textStyle": { + "fontSize": 18, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "SimpleGauge" + }, + "position": { + "grow": 1 + }, + "props": { + "arc": { + "cornerRadius": 5 + }, + "endAngle": 425, + "label": { + "color": "#EF4341", + "maxDecimal": 0, + "offsetY": 22, + "units": "/35" + }, + "maxValue": 35, + "startAngle": 120, + "value": 2 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Faulted", + "textStyle": { + "fontSize": 18, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "212px" + }, + "props": { + "justify": "space-evenly", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "#E3E3E3", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3, + "marginBottom": 10, + "marginLeft": 10, + "marginRight": 10, + "marginTop": 10, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel/resource.json new file mode 100644 index 0000000..88f8180 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b547e44a84eb48f8ac274db0204c6b3bcc9e44545deb23cbc213404e1ffe3a5a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:51:40Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel/thumbnail.png new file mode 100644 index 0000000..34e1c3b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel/view.json new file mode 100644 index 0000000..ccd0ae2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel/view.json @@ -0,0 +1,275 @@ +{ + "custom": { + "percent": null + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS1" + }, + "propConfig": { + "custom.percent": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fuel Percent" + }, + "type": "tag" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 150, + "width": 145 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.desiredHigh": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + }, + "props.processValue": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + } + }, + "props": { + "desiredLow": 25, + "highAlarm": 100, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 25, + "lowInterlock": null, + "lowLowAlarm": null, + "reverseIndicator": true + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "children": [ + { + "meta": { + "name": "desc" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "text": "Fuel", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "35%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Run Hours" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "Hrs", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "75%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 3, + "paddingLeft": 3, + "paddingRight": 3, + "paddingTop": 3 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel_Big/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel_Big/resource.json new file mode 100644 index 0000000..d1758cf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel_Big/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3ac1093fa3fdcd7b80b57b8db8a63208cac7669e5c80caa00a095ce60aa80f2e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:52:03Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel_Big/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel_Big/thumbnail.png new file mode 100644 index 0000000..34e1c3b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel_Big/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel_Big/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel_Big/view.json new file mode 100644 index 0000000..ccd0ae2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/GenFuel_Big/view.json @@ -0,0 +1,275 @@ +{ + "custom": { + "percent": null + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS1" + }, + "propConfig": { + "custom.percent": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fuel Percent" + }, + "type": "tag" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 150, + "width": 145 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.desiredHigh": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + }, + "props.processValue": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + } + }, + "props": { + "desiredLow": 25, + "highAlarm": 100, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 25, + "lowInterlock": null, + "lowLowAlarm": null, + "reverseIndicator": true + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "children": [ + { + "meta": { + "name": "desc" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "text": "Fuel", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "35%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Run Hours" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "Hrs", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "75%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 3, + "paddingLeft": 3, + "paddingRight": 3, + "paddingTop": 3 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Power Critical/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Power Critical/resource.json new file mode 100644 index 0000000..46a6575 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Power Critical/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "208c2be9f6fc2b872509a4dea46c265fd053592a5859aaf259a92e76533d6315", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:49:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Power Critical/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Power Critical/thumbnail.png new file mode 100644 index 0000000..9dcd6af Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Power Critical/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Power Critical/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Power Critical/view.json new file mode 100644 index 0000000..4b91dd6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Power Critical/view.json @@ -0,0 +1,2785 @@ +{ + "custom": { + "current": [ + null, + null, + null, + null + ], + "data_hist": [ + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898301167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898331167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898361167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898391167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898421167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898451167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898481167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898511167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898541167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898571167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898601167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898631167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898661167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898691167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898721167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898751167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898781167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898811167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898841167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898871167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898901167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898931167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898961167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758898991167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899021167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899051167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899081167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899111167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899141167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899171167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899201167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899231167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899261167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899291167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899321167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899351167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899381167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899411167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899441167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899471167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899501167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899531167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899561167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899591167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899621167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899651167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899681167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899711167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899741167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899771167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899801167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899831167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899861167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899891167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899921167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899951167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758899981167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900011167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900041167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900071167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900101167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900131167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900161167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900191167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900221167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900251167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900281167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900311167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900341167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900371167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900401167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900431167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900461167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900491167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900521167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900551167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900581167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900611167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900641167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900671167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900701167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900731167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900761167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900791167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900821167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900851167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900881167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900911167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900941167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758900971167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901001167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901031167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901061167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901091167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901121167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901151167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901181167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901211167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901241167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901271167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901301167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901331167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901361167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901391167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901421167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901451167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901481167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901511167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901541167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901571167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901601167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901631167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901661167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901691167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901721167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901751167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901781167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901811167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901841167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901871167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901901167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901931167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901961167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758901991167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902021167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902051167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902081167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902111167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902141167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902171167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902201167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902231167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902261167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902291167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902321167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902351167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902381167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902411167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902441167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902471167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902501167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902531167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902561167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902591167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902621167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902651167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902681167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902711167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902741167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902771167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902801167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902831167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902861167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902891167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902921167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902951167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758902981167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903011167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903041167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903071167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903101167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903131167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903161167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903191167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903221167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903251167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903281167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903311167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903341167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903371167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903401167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903431167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903461167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903491167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903521167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903551167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903581167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903611167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903641167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903671167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903701167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903731167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903761167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903791167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903821167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903851167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903881167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903911167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903941167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758903971167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904001167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904031167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904061167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904091167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904121167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904151167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904181167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904211167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904241167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904271167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904301167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904331167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904361167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904391167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904421167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904451167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904481167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904511167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904541167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904571167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904601167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904631167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904661167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904691167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904721167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904751167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904781167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904811167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904841167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904871167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904901167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904931167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904961167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758904991167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905021167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905051167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905081167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905111167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905141167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905171167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905201167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905231167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905261167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905291167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905321167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905351167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905381167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905411167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905441167 + }, + { + "P1": 0, + "P2": 0, + "P3": null, + "P4": null, + "t_stamp": 1758905471167 + } + ], + "hist_tagPath": [ + { + "aggregate": "LastValue", + "alias": "P1", + "path": "[Ignition_Hist/ignition-satb1-io2:default]GAL1271/SATB1_GAL1271_PDU_P2-2-1/output total kw" + }, + { + "aggregate": "LastValue", + "alias": "P2", + "path": "[Ignition_Hist/ignition-satb1-io2:default]GAL1271/SATB1_GAL1271_PDU_P2-2-2/output total kw" + }, + { + "aggregate": "LastValue", + "alias": "P3", + "path": "[Ignition_Hist/ignition-satb1-io2:default]GAL1271/SATB1_GAL1271_PDU_P2-2-3/output total kw" + }, + { + "aggregate": "LastValue", + "alias": "P4", + "path": "[Ignition_Hist/ignition-satb1-io2:default]GAL1271/SATB1_GAL1271_PDU_P2-2-4/output total kw" + } + ], + "max": 0, + "min": 0, + "test": [ + { + "real power": null, + "t_stamp": 1758901900909 + }, + { + "real power": null, + "t_stamp": 1758901936909 + }, + { + "real power": null, + "t_stamp": 1758901972909 + }, + { + "real power": null, + "t_stamp": 1758902008909 + }, + { + "real power": null, + "t_stamp": 1758902044909 + }, + { + "real power": null, + "t_stamp": 1758902080909 + }, + { + "real power": null, + "t_stamp": 1758902116909 + }, + { + "real power": null, + "t_stamp": 1758902152909 + }, + { + "real power": null, + "t_stamp": 1758902188909 + }, + { + "real power": null, + "t_stamp": 1758902224909 + }, + { + "real power": null, + "t_stamp": 1758902260909 + }, + { + "real power": null, + "t_stamp": 1758902296909 + }, + { + "real power": null, + "t_stamp": 1758902332909 + }, + { + "real power": null, + "t_stamp": 1758902368909 + }, + { + "real power": null, + "t_stamp": 1758902404909 + }, + { + "real power": null, + "t_stamp": 1758902440909 + }, + { + "real power": null, + "t_stamp": 1758902476909 + }, + { + "real power": null, + "t_stamp": 1758902512909 + }, + { + "real power": null, + "t_stamp": 1758902548909 + }, + { + "real power": null, + "t_stamp": 1758902584909 + }, + { + "real power": null, + "t_stamp": 1758902620909 + }, + { + "real power": null, + "t_stamp": 1758902656909 + }, + { + "real power": null, + "t_stamp": 1758902692909 + }, + { + "real power": null, + "t_stamp": 1758902728909 + }, + { + "real power": null, + "t_stamp": 1758902764909 + }, + { + "real power": null, + "t_stamp": 1758902800909 + }, + { + "real power": null, + "t_stamp": 1758902836909 + }, + { + "real power": null, + "t_stamp": 1758902872909 + }, + { + "real power": null, + "t_stamp": 1758902908909 + }, + { + "real power": null, + "t_stamp": 1758902944909 + }, + { + "real power": null, + "t_stamp": 1758902980909 + }, + { + "real power": null, + "t_stamp": 1758903016909 + }, + { + "real power": null, + "t_stamp": 1758903052909 + }, + { + "real power": null, + "t_stamp": 1758903088909 + }, + { + "real power": null, + "t_stamp": 1758903124909 + }, + { + "real power": null, + "t_stamp": 1758903160909 + }, + { + "real power": null, + "t_stamp": 1758903196909 + }, + { + "real power": null, + "t_stamp": 1758903232909 + }, + { + "real power": null, + "t_stamp": 1758903268909 + }, + { + "real power": null, + "t_stamp": 1758903304909 + }, + { + "real power": null, + "t_stamp": 1758903340909 + }, + { + "real power": null, + "t_stamp": 1758903376909 + }, + { + "real power": null, + "t_stamp": 1758903412909 + }, + { + "real power": null, + "t_stamp": 1758903448909 + }, + { + "real power": null, + "t_stamp": 1758903484909 + }, + { + "real power": null, + "t_stamp": 1758903520909 + }, + { + "real power": null, + "t_stamp": 1758903556909 + }, + { + "real power": null, + "t_stamp": 1758903592909 + }, + { + "real power": null, + "t_stamp": 1758903628909 + }, + { + "real power": null, + "t_stamp": 1758903664909 + }, + { + "real power": null, + "t_stamp": 1758903700909 + }, + { + "real power": null, + "t_stamp": 1758903736909 + }, + { + "real power": null, + "t_stamp": 1758903772909 + }, + { + "real power": null, + "t_stamp": 1758903808909 + }, + { + "real power": null, + "t_stamp": 1758903844909 + }, + { + "real power": null, + "t_stamp": 1758903880909 + }, + { + "real power": null, + "t_stamp": 1758903916909 + }, + { + "real power": null, + "t_stamp": 1758903952909 + }, + { + "real power": null, + "t_stamp": 1758903988909 + }, + { + "real power": null, + "t_stamp": 1758904024909 + }, + { + "real power": null, + "t_stamp": 1758904060909 + }, + { + "real power": null, + "t_stamp": 1758904096909 + }, + { + "real power": null, + "t_stamp": 1758904132909 + }, + { + "real power": null, + "t_stamp": 1758904168909 + }, + { + "real power": null, + "t_stamp": 1758904204909 + }, + { + "real power": null, + "t_stamp": 1758904240909 + }, + { + "real power": null, + "t_stamp": 1758904276909 + }, + { + "real power": null, + "t_stamp": 1758904312909 + }, + { + "real power": null, + "t_stamp": 1758904348909 + }, + { + "real power": null, + "t_stamp": 1758904384909 + }, + { + "real power": null, + "t_stamp": 1758904420909 + }, + { + "real power": null, + "t_stamp": 1758904456909 + }, + { + "real power": null, + "t_stamp": 1758904492909 + }, + { + "real power": null, + "t_stamp": 1758904528909 + }, + { + "real power": null, + "t_stamp": 1758904564909 + }, + { + "real power": null, + "t_stamp": 1758904600909 + }, + { + "real power": null, + "t_stamp": 1758904636909 + }, + { + "real power": null, + "t_stamp": 1758904672909 + }, + { + "real power": null, + "t_stamp": 1758904708909 + }, + { + "real power": null, + "t_stamp": 1758904744909 + }, + { + "real power": null, + "t_stamp": 1758904780909 + }, + { + "real power": null, + "t_stamp": 1758904816909 + }, + { + "real power": null, + "t_stamp": 1758904852909 + }, + { + "real power": null, + "t_stamp": 1758904888909 + }, + { + "real power": null, + "t_stamp": 1758904924909 + }, + { + "real power": null, + "t_stamp": 1758904960909 + }, + { + "real power": null, + "t_stamp": 1758904996909 + }, + { + "real power": null, + "t_stamp": 1758905032909 + }, + { + "real power": null, + "t_stamp": 1758905068909 + }, + { + "real power": null, + "t_stamp": 1758905104909 + }, + { + "real power": null, + "t_stamp": 1758905140909 + }, + { + "real power": null, + "t_stamp": 1758905176909 + }, + { + "real power": null, + "t_stamp": 1758905212909 + }, + { + "real power": null, + "t_stamp": 1758905248909 + }, + { + "real power": null, + "t_stamp": 1758905284909 + }, + { + "real power": null, + "t_stamp": 1758905320909 + }, + { + "real power": null, + "t_stamp": 1758905356909 + }, + { + "real power": null, + "t_stamp": 1758905392909 + }, + { + "real power": null, + "t_stamp": 1758905428909 + }, + { + "real power": null, + "t_stamp": 1758905464909 + } + ] + }, + "params": { + "DH": 2, + "Gallery": "GAL1271", + "Gateway": "[Ignition_SATB1_IO2_default]", + "Linuep": 2 + }, + "propConfig": { + "custom.current": { + "persistent": true + }, + "custom.current[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "Gallery": "{view.params.Gallery}", + "Gateway": "{view.params.Gateway}", + "Linuep": "{view.params.Linuep}" + }, + "tagPath": "{Gateway}{Gallery}/SATB1_{Gallery}_PDU_P{DH}-{Linuep}-1/Output Total KW" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.current[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "Gallery": "{view.params.Gallery}", + "Gateway": "{view.params.Gateway}", + "Linuep": "{view.params.Linuep}" + }, + "tagPath": "{Gateway}{Gallery}/SATB1_{Gallery}_PDU_P{DH}-{Linuep}-2/Output Total KW" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.current[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "Gallery": "{view.params.Gallery}", + "Gateway": "{view.params.Gateway}", + "Linuep": "{view.params.Linuep}" + }, + "tagPath": "{Gateway}{Gallery}/SATB1_{Gallery}_PDU_P{DH}-{Linuep}-3/Output Total KW" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.current[3]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "Gallery": "{view.params.Gallery}", + "Gateway": "{view.params.Gateway}", + "Linuep": "{view.params.Linuep}" + }, + "tagPath": "{Gateway}{Gallery}/SATB1_{Gallery}_PDU_P{DH}-{Linuep}-4/Output Total KW" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + } + ], + "type": "tag" + } + }, + "custom.data": { + "binding": { + "config": { + "path": "view.custom.data_hist" + }, + "transforms": [ + { + "code": "\ttotal_hist \u003d []\n\tfor item in value:\n\t\tP1 \u003d item[\u0027P1\u0027]\n\t\tif P1 is None:\n\t\t\tP1 \u003d 0\n\t\tP2 \u003d item[\u0027P2\u0027]\n\t\tif P2 is None:\n\t\t\tP2 \u003d 0\n\t\tP3 \u003d item[\u0027P3\u0027]\n\t\tif P3 is None:\n\t\t\tP3 \u003d 0\n\t\tP4 \u003d item[\u0027P4\u0027]\n\t\tif P4 is None:\n\t\t\tP4 \u003d 0\n\t\ttotal_hist.append(P1 + P2 + P3 + P4)\n\treturn total_hist", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.data_hist": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.hist_tagPath}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + }, + "persistent": true + }, + "custom.hist_tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.params.DH}", + "gallery": "{view.params.Gallery}", + "gtwy": "{view.params.Gateway}", + "lineup": "{view.params.Linuep}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tprovider \u003d {\"[Ignition_Common_IO_Gtwy]\":\"[Ignition_Hist/ignition-satb1-io6:default]\",\n\t\t\t\"[Ignition_SATB1_IO1_default]\": \"[Ignition_Hist/ignition-satb1-io1:default]\",\n\t\t\t\"[Ignition_SATB1_IO2_default]\": \"[Ignition_Hist/ignition-satb1-io2:default]\",\n\t\t\t\"[Ignition_SATB1_IO3_default]\": \"[Ignition_Hist/ignition-satb1-io3:default]\",\n\t\t\t\"[Ignition_SATB1_IO4_default]\": \"[Ignition_Hist/ignition-satb1-io4:default]\",\n\t\t\t\"[Ignition_SATB1_IO5_default]\": \"[Ignition_Hist/ignition-satb1-io5:default]\"}\n\tio_gtwy \u003d provider[value[\u0027gtwy\u0027]]\n\tgallery \u003d value[\u0027gallery\u0027]\n\tlineup \u003d value [\u0027lineup\u0027]\n\tdh \u003d value[\u0027dh\u0027]\n\toutputArray \u003d []\n\tfor i in range(1,5):\n\t\ttagpath \u003d \"{}{}/SATB1_{}_PDU_P{}-{}-{}/output total kw\".format(io_gtwy, gallery, gallery, dh, lineup, i)\n\t\toutput \u003d {}\n\t\toutput[\u0027path\u0027] \u003d tagpath\n\t\toutput[\u0027alias\u0027] \u003d \u0027P{}\u0027.format(i) \n\t\toutput[\u0027aggregate\u0027] \u003d \u0027LastValue\u0027\n\t\toutputArray.append(output)\n\treturn outputArray\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.max": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.min": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "expression": "min({value})", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.test": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "1", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": [ + { + "path": "[Ignition/ignition-satb1-io2:default]er1248/swbd/satb1_er1248_pqm2/real power" + } + ], + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + }, + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.Gallery": { + "paramDirection": "input", + "persistent": true + }, + "params.Gateway": { + "paramDirection": "input", + "persistent": true + }, + "params.Linuep": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 180, + "width": 250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "time01" + }, + "position": { + "height": 10, + "width": 40, + "x": 218, + "y": 131.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "time02" + }, + "position": { + "height": 10, + "width": 40, + "x": 8, + "y": 131.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-7200000" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Sparkline", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 103, + "width": 245, + "x": 9.5, + "y": 29.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "min": "{this.custom.min}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "\"Max: \" + {value}[\u0027max\u0027] + \" | \" + \"Min: \" + {value}[\u0027min\u0027]\r\n", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.points": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "type": "property" + } + }, + "props.range.high": { + "binding": { + "config": { + "path": "view.custom.max" + }, + "transforms": [ + { + "expression": "{value}+1", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.range.low": { + "binding": { + "config": { + "path": "view.custom.min" + }, + "transforms": [ + { + "expression": "{value}-1", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "desired": { + "fill": { + "color": "var(--container)" + } + }, + "marker": { + "high": { + "fill": { + "color": "#FB9306" + }, + "style": { + "transform": "rotate(180)" + } + } + }, + "range": {} + }, + "type": "ia.display.sparkline" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "height": 20, + "width": 122, + "x": 100.49, + "y": 7.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.current" + }, + "transforms": [ + { + "expression": "{value}[0] + {value}[1] + {value}[2] + {value}[3] ", + "type": "expression" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder", + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 20, + "width": 70, + "x": 190.721, + "y": 157 + }, + "props": { + "text": "Max kW" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value_0" + }, + "position": { + "height": 15, + "width": 105, + "x": 7.8, + "y": 143.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.min" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder", + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_2" + }, + "position": { + "height": 20, + "width": 70, + "x": 7.8, + "y": 157 + }, + "props": { + "text": "Min kW" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value_1" + }, + "position": { + "height": 15, + "width": 92, + "x": 159.5, + "y": 143.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.max" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder", + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_4" + }, + "position": { + "height": 19, + "width": 138, + "x": 8.66, + "y": 15 + }, + "props": { + "text": "Real Power" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_5" + }, + "position": { + "height": 20, + "width": 28, + "x": 227, + "y": 7.5 + }, + "props": { + "text": "kW" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_6" + }, + "position": { + "height": 19, + "width": 175, + "x": 9, + "y": 2 + }, + "props": { + "text": "Critical (PDU)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "time2" + }, + "position": { + "height": 10, + "width": 40, + "x": 113, + "y": 131.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-3600000" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root", + "tooltip": { + "width": "" + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SES/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SES/resource.json new file mode 100644 index 0000000..683486f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SES/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e21b689f693938e0c65d6f77d4b774413a8e748864de13c0675c2aa41615affa", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:49:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SES/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SES/thumbnail.png new file mode 100644 index 0000000..7c3d5f5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SES/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SES/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SES/view.json new file mode 100644 index 0000000..4476479 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SES/view.json @@ -0,0 +1,271 @@ +{ + "custom": {}, + "params": { + "TagId": "value" + }, + "propConfig": { + "params.TagId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 234, + "width": 417 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.TagId" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 18, + "fontWeight": "bold", + "paddingLeft": 15 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Gauge", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "244px" + }, + "props": { + "backgroundColor": "", + "innerAxis": { + "data": "secondaryValue", + "maxValue": 80, + "percentRadius": 85, + "show": false, + "width": 1 + }, + "outerAxis": { + "data": "value", + "maxValue": 120, + "percentRadius": 80, + "ranges": [ + { + "color": "#77B6D8", + "end": 80, + "start": 0, + "width": 8 + }, + { + "color": "#6E94D7", + "end": 105, + "start": 80, + "width": 12 + }, + { + "color": "#7A6BD5", + "end": 120, + "start": 105, + "width": 16 + } + ], + "show": true, + "width": 1 + } + }, + "type": "ia.chart.gauge" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "backgroundColor": "white", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginTop": 2 + }, + "text": "Main CB Closed", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "backgroundColor": "white", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginTop": 2 + }, + "text": "CB 01 Closed", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "backgroundColor": "white", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginTop": 2 + }, + "text": "CB 02 Closed", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "backgroundColor": "white", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginTop": 2 + }, + "text": "CB 03 Closed", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "backgroundColor": "white", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "marginTop": 2 + }, + "text": "CB 04 Closed", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0", + "tooltip": { + "width": "50%" + } + }, + "position": { + "basis": "135px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "195px" + }, + "props": { + "justify": "space-evenly", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "#E3E3E3", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3, + "marginBottom": 10, + "marginLeft": 10, + "marginRight": 10, + "marginTop": 10, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SWBD_Kw_Widget/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SWBD_Kw_Widget/resource.json new file mode 100644 index 0000000..ccb9420 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SWBD_Kw_Widget/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b9ae1ceaad6e7bdc3c43d3c9520fef9374849260a18a757b2d984515f07694d2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:49:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SWBD_Kw_Widget/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SWBD_Kw_Widget/thumbnail.png new file mode 100644 index 0000000..63f0f94 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SWBD_Kw_Widget/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SWBD_Kw_Widget/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SWBD_Kw_Widget/view.json new file mode 100644 index 0000000..b28bbbb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/SWBD_Kw_Widget/view.json @@ -0,0 +1,771 @@ +{ + "custom": { + "data": [ + { + "power": 28.491136310948196, + "t_stamp": 1758675959835 + }, + { + "power": 28.475597595436277, + "t_stamp": 1758676031835 + }, + { + "power": 28.469703674316406, + "t_stamp": 1758676103835 + }, + { + "power": 28.493675231933594, + "t_stamp": 1758676175835 + }, + { + "power": 28.534833908081055, + "t_stamp": 1758676247835 + }, + { + "power": 28.488161087036133, + "t_stamp": 1758676319835 + }, + { + "power": 28.521841049194336, + "t_stamp": 1758676391835 + }, + { + "power": 28.495252235854533, + "t_stamp": 1758676463835 + }, + { + "power": 28.491363525390625, + "t_stamp": 1758676535835 + }, + { + "power": 28.51979683526415, + "t_stamp": 1758676607835 + }, + { + "power": 28.53113555908203, + "t_stamp": 1758676679835 + }, + { + "power": 28.4451847076416, + "t_stamp": 1758676751835 + }, + { + "power": 28.52183011106277, + "t_stamp": 1758676823835 + }, + { + "power": 28.533044815063477, + "t_stamp": 1758676895835 + }, + { + "power": 28.548046112060547, + "t_stamp": 1758676967835 + }, + { + "power": 28.514476776123047, + "t_stamp": 1758677039835 + }, + { + "power": 28.57921028137207, + "t_stamp": 1758677111835 + }, + { + "power": 28.5916565095451, + "t_stamp": 1758677183835 + }, + { + "power": 28.593481063842773, + "t_stamp": 1758677255835 + }, + { + "power": 28.53420639038086, + "t_stamp": 1758677327835 + }, + { + "power": 28.62860107421875, + "t_stamp": 1758677399835 + }, + { + "power": 28.631607055664062, + "t_stamp": 1758677471835 + }, + { + "power": 28.588659286499023, + "t_stamp": 1758677543835 + }, + { + "power": 28.604841178655626, + "t_stamp": 1758677615835 + }, + { + "power": 28.605300903320312, + "t_stamp": 1758677687835 + }, + { + "power": 28.614164864886934, + "t_stamp": 1758677759835 + }, + { + "power": 28.616641998291016, + "t_stamp": 1758677831835 + }, + { + "power": 28.55630111694336, + "t_stamp": 1758677903835 + }, + { + "power": 28.587173491541545, + "t_stamp": 1758677975835 + }, + { + "power": 28.649255752563477, + "t_stamp": 1758678047835 + }, + { + "power": 28.63207244873047, + "t_stamp": 1758678119835 + }, + { + "power": 28.656673431396484, + "t_stamp": 1758678191835 + }, + { + "power": 28.625307083129883, + "t_stamp": 1758678263835 + }, + { + "power": 28.658588409423828, + "t_stamp": 1758678335835 + }, + { + "power": 28.640701293945312, + "t_stamp": 1758678407835 + }, + { + "power": 28.549243927001953, + "t_stamp": 1758678479835 + }, + { + "power": 28.636775970458984, + "t_stamp": 1758678551835 + }, + { + "power": 28.616222381591797, + "t_stamp": 1758678623835 + }, + { + "power": 28.308494567871094, + "t_stamp": 1758678695835 + }, + { + "power": 28.522099163926654, + "t_stamp": 1758678767835 + }, + { + "power": 28.648223876953125, + "t_stamp": 1758678839835 + }, + { + "power": 28.668643951416016, + "t_stamp": 1758678911835 + }, + { + "power": 28.640989303588867, + "t_stamp": 1758678983835 + }, + { + "power": 28.703964233398438, + "t_stamp": 1758679055835 + }, + { + "power": 28.651222229003906, + "t_stamp": 1758679127835 + }, + { + "power": 28.662123259550295, + "t_stamp": 1758679199835 + }, + { + "power": 28.665847778320312, + "t_stamp": 1758679271835 + }, + { + "power": 28.557416313424035, + "t_stamp": 1758679343835 + }, + { + "power": 28.533287048339844, + "t_stamp": 1758679415835 + }, + { + "power": 28.616060256958008, + "t_stamp": 1758679487835 + }, + { + "power": 28.514129638671875, + "t_stamp": 1758679559835 + }, + { + "power": 28.59821891784668, + "t_stamp": 1758679631835 + }, + { + "power": 28.59140396118164, + "t_stamp": 1758679703835 + }, + { + "power": 28.522823333740234, + "t_stamp": 1758679775835 + }, + { + "power": 28.59061661240877, + "t_stamp": 1758679847835 + }, + { + "power": 28.62272071838379, + "t_stamp": 1758679919835 + }, + { + "power": 28.61822509765625, + "t_stamp": 1758679991835 + }, + { + "power": 28.645343780517578, + "t_stamp": 1758680063835 + }, + { + "power": 28.564895629882812, + "t_stamp": 1758680135835 + }, + { + "power": 28.578948974609375, + "t_stamp": 1758680207835 + }, + { + "power": 28.525196075439453, + "t_stamp": 1758680279835 + }, + { + "power": 28.595237731933594, + "t_stamp": 1758680351835 + }, + { + "power": 28.551042556762695, + "t_stamp": 1758680423835 + }, + { + "power": 28.610729217529297, + "t_stamp": 1758680495835 + }, + { + "power": 28.55870246887207, + "t_stamp": 1758680567835 + }, + { + "power": 28.570991198698678, + "t_stamp": 1758680639835 + }, + { + "power": 28.578588485717773, + "t_stamp": 1758680711835 + }, + { + "power": 28.549306869506836, + "t_stamp": 1758680783835 + }, + { + "power": 28.594905853271484, + "t_stamp": 1758680855835 + }, + { + "power": 28.60809326171875, + "t_stamp": 1758680927835 + }, + { + "power": 28.50653839111328, + "t_stamp": 1758680999835 + }, + { + "power": 28.581340789794922, + "t_stamp": 1758681071835 + }, + { + "power": 28.551450303450938, + "t_stamp": 1758681143835 + }, + { + "power": 28.529525071253875, + "t_stamp": 1758681215835 + }, + { + "power": 28.60228157043457, + "t_stamp": 1758681287835 + }, + { + "power": 28.582502608535645, + "t_stamp": 1758681359835 + }, + { + "power": 28.570274353027344, + "t_stamp": 1758681431835 + }, + { + "power": 28.582969665527344, + "t_stamp": 1758681503835 + }, + { + "power": 28.5413875579834, + "t_stamp": 1758681575835 + }, + { + "power": 28.587844848632812, + "t_stamp": 1758681647835 + }, + { + "power": 28.55695915222168, + "t_stamp": 1758681719835 + }, + { + "power": 28.580080032348633, + "t_stamp": 1758681791835 + }, + { + "power": 28.564483424582253, + "t_stamp": 1758681863835 + }, + { + "power": 28.561012268066406, + "t_stamp": 1758681935835 + }, + { + "power": 28.6016902923584, + "t_stamp": 1758682007835 + }, + { + "power": 28.539165496826172, + "t_stamp": 1758682079835 + }, + { + "power": 28.548025131225586, + "t_stamp": 1758682151835 + }, + { + "power": 28.590129852294922, + "t_stamp": 1758682223835 + }, + { + "power": 28.53024673461914, + "t_stamp": 1758682295835 + }, + { + "power": 28.53032875061035, + "t_stamp": 1758682367835 + }, + { + "power": 28.592792510986328, + "t_stamp": 1758682439835 + }, + { + "power": 28.58839988708496, + "t_stamp": 1758682511835 + }, + { + "power": 28.52210235595703, + "t_stamp": 1758682583835 + }, + { + "power": 28.5828121823053, + "t_stamp": 1758682655835 + }, + { + "power": 28.621307373046875, + "t_stamp": 1758682727835 + }, + { + "power": 28.52875328063965, + "t_stamp": 1758682799835 + }, + { + "power": 28.562522888183594, + "t_stamp": 1758682871835 + }, + { + "power": 28.551809310913086, + "t_stamp": 1758682943835 + }, + { + "power": 28.581287384033203, + "t_stamp": 1758683015835 + }, + { + "power": 28.645061492919922, + "t_stamp": 1758683087835 + } + ], + "key": "value", + "path": [ + { + "aggregate": "LastValue", + "alias": "power", + "path": "[Ignition_hist/ignition-satb1-io6:default]mpr1240/satb1_mpr1240_m1_pqm/real power" + } + ] + }, + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM" + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{view.custom.path}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + }, + "persistent": true + }, + "custom.key": { + "persistent": true + }, + "custom.path": { + "binding": { + "config": { + "path": "view.params.tagpath" + }, + "transforms": [ + { + "code": "\tdh \u003d value.lower()\n\ttag \u003d dh.split(\u0027]\u0027)\n\tpath \u003d \"[Ignition_hist/ignition-satb1-io6:default]\" + tag[1] + \"/real power\"\n\toutput \u003d {}\n\toutput[\u0027path\u0027] \u003d path\n\toutput[\u0027alias\u0027] \u003d \u0027power\u0027\n\toutput[\u0027aggregate\u0027] \u003d \u0027LastValue\u0027\n\toutputArray \u003d []\n\toutputArray.append(output)\n\treturn outputArray", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.tagpath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 244, + "width": 233 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagpath" + }, + "transforms": [ + { + "code": "\ttxt_items \u003d value.split(\u0027_\u0027)\n\toutput \u003d txt_items[-2]+\" - \"+txt_items[-1]\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 18, + "fontWeight": "bold", + "paddingLeft": 15 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Sparkline" + }, + "position": { + "height": 0.7509, + "width": 0.6103, + "x": 0.075, + "y": 0.1136 + }, + "propConfig": { + "props.points": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor item in value:\n\t\toutput.append(item[\u0027power\u0027])\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.range.high": { + "binding": { + "config": { + "path": "this.props.points" + }, + "transforms": [ + { + "expression": "max({value})+10", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.range.low": { + "binding": { + "config": { + "path": "this.props.points" + }, + "transforms": [ + { + "expression": "min({value})-10", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "range": {} + }, + "type": "ia.display.sparkline" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 0.1657, + "width": 0.2347, + "x": 0.72, + "y": 0.2959 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagpath": "{view.params.tagpath}" + }, + "tagPath": "{tagpath}/Real Power" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 25, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 0.1657, + "width": 0.2347, + "x": 0.72, + "y": 0.4741 + }, + "props": { + "alignVertical": "top", + "text": "kW", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 0.0933, + "width": 0.1831, + "x": 0.638, + "y": 0.8746 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 0.0933, + "width": 0.1831, + "x": 0.0372, + "y": 0.874 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-7200000\r\n" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 0.0933, + "width": 0.1831, + "x": 0.3376, + "y": 0.8746 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-3600000\r\n" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CoordinateContainer" + }, + "position": { + "basis": "200px" + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "#E3E3E3", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3, + "marginBottom": 10, + "marginLeft": 10, + "marginRight": 10, + "marginTop": 10, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS old/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS old/resource.json new file mode 100644 index 0000000..7fc4ae4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS old/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ce1de86eaa52ea3fcb51172a04e4d6fad7acfb03ea9261820ab4a873607119b7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:49:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS old/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS old/thumbnail.png new file mode 100644 index 0000000..816690a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS old/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS old/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS old/view.json new file mode 100644 index 0000000..1165de4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS old/view.json @@ -0,0 +1,726 @@ +{ + "custom": {}, + "params": { + "objectName": "UPS", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1165_P5-5/SATB1_ER1165_UPS-1" + }, + "propConfig": { + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 104, + "width": 292 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 10, + "width": 134, + "x": 130.08, + "y": 21.67 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:\u0027Operating On Battery\u0027})[0][\u0027value\u0027].value \u003d\u003d True:\n\t\tstate \u003d \u0027On Battery\u0027\n\telse:\n\t\tstate \u003d \u0027Charging\u0027\n\tif value[\u0027alarmSeverity\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" + }, + "position": { + "height": 10, + "width": 133, + "x": 130.08, + "y": 32.65 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\ttag \u003d system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:\u0027Operation Modes\u0027})[0][\u0027value\u0027].value\n\tif tag \u003d\u003d 1: #1\u003dNormal Operation\n\t\tstate \u003d \u0027Normal Operation\u0027\n\telif tag \u003d\u003d 2: #2\u003dBattery operation\n\t\tstate \u003d \u0027Battery operation\u0027\n\telif tag \u003d\u003d 3: #3\u003dBattery Test\n\t\tstate \u003d \u0027Battery Test\u0027\n\telif tag \u003d\u003d 4: #4\u003dRequested Static Bypass\n\t\tstate \u003d \u0027Req Static Byp\u0027\n\telif tag \u003d\u003d 5: #5\u003dForced Static Bypass\n\t\tstate \u003d \u0027Forced Static Byp\u0027\n\telif tag \u003d\u003d 6: #6\u003d Maintenance Bypass\n\t\tstate \u003d \u0027Maintenance Byp\u0027\n\telif tag \u003d\u003d 7: ##7\u003dOff\n\t\tstate \u003d \u0027Off\u0027\n\telif tag \u003d\u003d 8: #8\u003d Emergency StaticBypass\n\t\tstate \u003d \u0027Emergency Byp\u0027\n\telif tag \u003d\u003d 9: #9\u003dStatic Bypass Standby\n\t\tstate \u003d \u0027RStatic Byp Stdby\u0027\n\telif tag \u003d\u003d 10: #10\u003dInverter Standby\n\t\tstate \u003d \u0027Inverter Stdby\u0027\n\telif tag \u003d\u003d 11: #11\u003dPower Saving Mode\n\t\tstate \u003d \u0027Power Saving Mode\u0027\n\telif tag \u003d\u003d 12: #12\u003dInverter SPoT Mode\n\t\tstate \u003d \u0027Inverter SPoT Mode\u0027\n\telif tag \u003d\u003d 13: #13\u003dEco Mode\n\t\tstate \u003d \u0027Eco Mode\u0027\n\telif tag \u003d\u003d 14: #14\u003dECOnversion\n\t\tstate \u003d \u0027ECOnversion\u0027\n\telse:\n\t\tstate \u003d \u0027No mode received\u0027\n\treturn \u0027Mode: \u0027+state\n\n", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 10, + "width": 131, + "x": 130.08, + "y": 43.65 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\u0027Batt Charge Pct\u0027", + "engUnits": "\u0027%\u0027", + "tagName": "\u0027Battery Charge Percent\u0027", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "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": { + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 10, + "width": 183, + "x": 130.08, + "y": 54.65 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\u0027Battery runtime\u0027", + "engUnits": "\u0027Hr\u0027", + "tagName": "\u0027Battery runtime\u0027", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "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": { + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 10, + "width": 176, + "x": 130.08, + "y": 65.65 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\"Battery Voltage\"", + "engUnits": "\"V\"", + "tagName": "\"Battery Voltage\"", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "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]\n", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4", + "visible": false + }, + "position": { + "height": 10, + "width": 129.76, + "x": 130.08, + "y": 76.65 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\u0027Input power\u0027", + "engUnits": "\u0027kW\u0027", + "tagName": "\u0027Input KW\u0027", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "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": { + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 11, + "width": 137, + "x": 130.08, + "y": 87.65 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "displayName": "\u0027Input Freq\u0027", + "engUnits": "\u0027Hz\u0027", + "tagName": "\u0027Input Frequency\u0027", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "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": { + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 8.63, + "width": 88, + "x": 37.75, + "y": 6.37 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "tagPath": "tag({view.params.tagPath}+\u0027/Parameters.DeviceLabel\u0027)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value[\u0027tagPath\u0027]\n", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "textStyle": { + "backgroundColor": "transparent", + "fontSize": 10, + "fontWeight": 650, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "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": { + "height": 78, + "width": 124, + "x": 6.348125, + "y": 21.99625 + }, + "propConfig": { + "custom.colorHandler.Background": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027alarmSeverity\u0027] \u003c 0:\n\t\tColor \u003d \u0027Red\u0027\n\telif system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:\u0027Operating On Battery\u0027})[0][\u0027value\u0027].value \u003d\u003d True:\n\t\tColor \u003d \u0027White\u0027\n\telse :\n\t\tColor \u003d \u0027Lightgray\u0027\n\treturn Color\n", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.colorHandler.Battery": { + "binding": { + "config": { + "struct": { + "alarmSeverity": "{parent.custom.alarmSeverity}", + "tagPath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:\u0027Operating On Battery\u0027})[0][\u0027value\u0027].value \u003d\u003d True:\n\t\tColor \u003d \u0027#00FF00\u0027\n\telse:\n\t\tColor \u003d \u0027Light Gray\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[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Battery" + }, + "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" + }, + "transform": "translate(30.862135,-0.000000)", + "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" + }, + "transform": "translate(0.000000,28.533245)", + "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" + }, + "transform": "matrix(0.000000,-1.000000,1.000000,0.000000,21.443090,147.049433)", + "type": "path" + } + ], + "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" + } + ], + "viewBox": "0 0 1132 804" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -116, + "y": -133.63750076293945 + }, + "propConfig": { + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_HS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_HS/resource.json new file mode 100644 index 0000000..223d6bf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_HS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "87500a3fb2bd2c35633cf94e1f732ea1b2659772b555a0145d4b93e613d15065", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:49:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_HS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_HS/thumbnail.png new file mode 100644 index 0000000..f389d56 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_HS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_HS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_HS/view.json new file mode 100644 index 0000000..f8534bb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_HS/view.json @@ -0,0 +1,279 @@ +{ + "custom": { + "percent": 100 + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_UPS" + }, + "propConfig": { + "custom.percent": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Charging level" + }, + "type": "tag" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 150, + "width": 145 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.desiredHigh": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + }, + "props.processValue": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + } + }, + "props": { + "desiredLow": 25, + "highAlarm": 100, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 25, + "lowInterlock": null, + "lowLowAlarm": null, + "reverseIndicator": true + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "children": [ + { + "meta": { + "name": "desc" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "text": "Battery", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "35%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Runtime" + }, + "transforms": [ + { + "expression": "{value} /3600", + "type": "expression" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "Hrs", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "35%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "75%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 3, + "paddingLeft": 3, + "paddingRight": 3, + "paddingTop": 3 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P/resource.json new file mode 100644 index 0000000..9f44c47 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c8efce9e54b53ee58defa2522e194106bf9f27db4a442adbe18e965ea82f6acf", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:49:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P/thumbnail.png new file mode 100644 index 0000000..c585d80 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P/view.json new file mode 100644 index 0000000..a7bd675 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P/view.json @@ -0,0 +1,275 @@ +{ + "custom": { + "percent": 100 + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1" + }, + "propConfig": { + "custom.percent": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Charge Percent" + }, + "type": "tag" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 150, + "width": 145 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.desiredHigh": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + }, + "props.processValue": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + } + }, + "props": { + "desiredLow": 25, + "highAlarm": 100, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 25, + "lowInterlock": null, + "lowLowAlarm": null, + "reverseIndicator": true + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "children": [ + { + "meta": { + "name": "desc" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "text": "Battery", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "35%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery runtime remaining Hours" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "Hrs", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "35%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "75%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 3, + "paddingLeft": 3, + "paddingRight": 3, + "paddingTop": 3 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P_Big/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P_Big/resource.json new file mode 100644 index 0000000..3914c12 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P_Big/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "847a229d39feefab83efa38cf7c9aa89ad9b0a371125c1bd8cd1a0407d209606", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:49:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P_Big/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P_Big/thumbnail.png new file mode 100644 index 0000000..36698cd Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P_Big/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P_Big/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P_Big/view.json new file mode 100644 index 0000000..0e27918 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UPS_P_Big/view.json @@ -0,0 +1,284 @@ +{ + "custom": { + "percent": 100 + }, + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1" + }, + "propConfig": { + "custom.percent": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery Charge Percent" + }, + "type": "tag" + }, + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 180, + "width": 75 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\ttext \u003d value.split(\u0027_\u0027)\n\treturn text[-1] + \" Battery\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "propConfig": { + "props.desiredHigh": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + }, + "props.processValue": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "type": "property" + } + } + }, + "props": { + "desiredLow": 25, + "highAlarm": 100, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 25, + "lowInterlock": null, + "lowLowAlarm": null, + "reverseIndicator": true + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.percent" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "number", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "35%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "val" + }, + "position": { + "basis": "55%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Battery runtime remaining Hours" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "eu" + }, + "position": { + "basis": "45%", + "grow": 1 + }, + "props": { + "text": "Hrs", + "textStyle": { + "color": "var(--units-color)", + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "35%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 3, + "paddingLeft": 3, + "paddingRight": 3, + "paddingTop": 3 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UT_Widget/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UT_Widget/resource.json new file mode 100644 index 0000000..b9c2526 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UT_Widget/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3b51ba846036c86dfa8f0838e1e8c6486f25f986fd56789ac39c3b6f6d95249a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:49:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UT_Widget/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UT_Widget/thumbnail.png new file mode 100644 index 0000000..c16651f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UT_Widget/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UT_Widget/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UT_Widget/view.json new file mode 100644 index 0000000..e613023 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/UT_Widget/view.json @@ -0,0 +1,184 @@ +{ + "custom": {}, + "params": { + "TagId": "value" + }, + "propConfig": { + "params.TagId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 264, + "width": 397 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "UTs Status", + "textStyle": { + "fontSize": 18, + "fontWeight": "bold", + "paddingLeft": 15 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "SimpleGauge" + }, + "position": { + "grow": 1 + }, + "props": { + "arc": { + "cornerRadius": 5 + }, + "endAngle": 425, + "label": { + "maxDecimal": 0, + "offsetY": 22, + "units": "/35" + }, + "maxValue": 35, + "startAngle": 120, + "value": 33 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Running", + "textStyle": { + "fontSize": 18, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer", + "tooltip": { + "width": "75%" + } + }, + "position": { + "basis": "268px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "alignVertical": "bottom", + "text": 2, + "textStyle": { + "color": "#F72A2A", + "fontSize": 40, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "50%" + }, + "props": { + "alignVertical": "top", + "text": "Faulted", + "textStyle": { + "fontSize": 18, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0", + "tooltip": { + "width": "25%" + } + }, + "position": { + "basis": "109px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "212px" + }, + "props": { + "justify": "space-evenly", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "#E3E3E3", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3, + "marginBottom": 10, + "marginLeft": 10, + "marginRight": 10, + "marginTop": 10, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/VariableValue/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/VariableValue/resource.json new file mode 100644 index 0000000..08e38f3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/VariableValue/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3f820e5ca8fc8d56dc8102477bcb5ea440c0c9d2b5b0ab2fe302dee84a7d18dc", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:49:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/VariableValue/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/VariableValue/thumbnail.png new file mode 100644 index 0000000..4119b8c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/VariableValue/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/VariableValue/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/VariableValue/view.json new file mode 100644 index 0000000..eeb8b04 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/VariableValue/view.json @@ -0,0 +1,173 @@ +{ + "custom": {}, + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_GAL1171_PDU_P3-1-1/Output Total KW" + }, + "propConfig": { + "params.desc": { + "paramDirection": "input", + "persistent": true + }, + "params.tagpath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 139, + "width": 107 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "70%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagpath": "{view.params.tagpath}" + }, + "tagPath": "{tagpath}.OpcItemPath" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagpath": "{view.params.tagpath}" + }, + "tagPath": "{tagpath}" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "#.#", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 18, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "30%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagpath": "{view.params.tagpath}" + }, + "tagPath": "{tagpath}.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--units-color)", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.desc" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Wdt_Power/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Wdt_Power/resource.json new file mode 100644 index 0000000..349492d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Wdt_Power/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5237d412d19bcad4e7767610eedb3191e1bb82d0a0627184a81d02b2dba8d946", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T21:50:44Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Wdt_Power/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Wdt_Power/thumbnail.png new file mode 100644 index 0000000..b2f57e5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Wdt_Power/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Wdt_Power/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Wdt_Power/view.json new file mode 100644 index 0000000..52043e6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Electrical/Wdt_Power/view.json @@ -0,0 +1,1952 @@ +{ + "custom": { + "data_hist": [ + { + "power": 0, + "t_stamp": 1763079337375 + }, + { + "power": 0, + "t_stamp": 1763079367375 + }, + { + "power": 0, + "t_stamp": 1763079397375 + }, + { + "power": 0, + "t_stamp": 1763079427375 + }, + { + "power": 0, + "t_stamp": 1763079457375 + }, + { + "power": 0, + "t_stamp": 1763079487375 + }, + { + "power": 0, + "t_stamp": 1763079517375 + }, + { + "power": 0, + "t_stamp": 1763079547375 + }, + { + "power": 0, + "t_stamp": 1763079577375 + }, + { + "power": 0, + "t_stamp": 1763079607375 + }, + { + "power": 0, + "t_stamp": 1763079637375 + }, + { + "power": 0, + "t_stamp": 1763079667375 + }, + { + "power": 0, + "t_stamp": 1763079697375 + }, + { + "power": 0, + "t_stamp": 1763079727375 + }, + { + "power": 0, + "t_stamp": 1763079757375 + }, + { + "power": 0, + "t_stamp": 1763079787375 + }, + { + "power": 0, + "t_stamp": 1763079817375 + }, + { + "power": 0, + "t_stamp": 1763079847375 + }, + { + "power": 0, + "t_stamp": 1763079877375 + }, + { + "power": 0, + "t_stamp": 1763079907375 + }, + { + "power": 0, + "t_stamp": 1763079937375 + }, + { + "power": 0, + "t_stamp": 1763079967375 + }, + { + "power": 0, + "t_stamp": 1763079997375 + }, + { + "power": 0, + "t_stamp": 1763080027375 + }, + { + "power": 0, + "t_stamp": 1763080057375 + }, + { + "power": 0, + "t_stamp": 1763080087375 + }, + { + "power": 0, + "t_stamp": 1763080117375 + }, + { + "power": 0, + "t_stamp": 1763080147375 + }, + { + "power": 0, + "t_stamp": 1763080177375 + }, + { + "power": 24.921358108520508, + "t_stamp": 1763080207375 + }, + { + "power": 24.94806214295919, + "t_stamp": 1763080237375 + }, + { + "power": 24.957902908325195, + "t_stamp": 1763080267375 + }, + { + "power": 24.87958608705424, + "t_stamp": 1763080297375 + }, + { + "power": 24.850732803344727, + "t_stamp": 1763080327375 + }, + { + "power": 24.65717346909841, + "t_stamp": 1763080357375 + }, + { + "power": 25.05116844177246, + "t_stamp": 1763080387375 + }, + { + "power": 25.049511504586167, + "t_stamp": 1763080417375 + }, + { + "power": 25.332538604736328, + "t_stamp": 1763080447375 + }, + { + "power": 25.02580667541729, + "t_stamp": 1763080477375 + }, + { + "power": 24.893552780151367, + "t_stamp": 1763080507375 + }, + { + "power": 25.253948800488725, + "t_stamp": 1763080537375 + }, + { + "power": 25.062808990478516, + "t_stamp": 1763080567375 + }, + { + "power": 25.101728138496394, + "t_stamp": 1763080597375 + }, + { + "power": 24.823612213134766, + "t_stamp": 1763080627375 + }, + { + "power": 24.784195064732142, + "t_stamp": 1763080657375 + }, + { + "power": 25.38239288330078, + "t_stamp": 1763080687375 + }, + { + "power": 25.124360385733443, + "t_stamp": 1763080717375 + }, + { + "power": 25.001073837280273, + "t_stamp": 1763080747375 + }, + { + "power": 25.35259198287358, + "t_stamp": 1763080777375 + }, + { + "power": 25.20871925354004, + "t_stamp": 1763080807375 + }, + { + "power": 25.18591318693716, + "t_stamp": 1763080837375 + }, + { + "power": 25.29405403137207, + "t_stamp": 1763080867375 + }, + { + "power": 25.101112675216672, + "t_stamp": 1763080897375 + }, + { + "power": 26.25695037841797, + "t_stamp": 1763080927375 + }, + { + "power": 25.650114549358904, + "t_stamp": 1763080957375 + }, + { + "power": 25.16931915283203, + "t_stamp": 1763080987375 + }, + { + "power": 25.064603268177873, + "t_stamp": 1763081017375 + }, + { + "power": 25.006471633911133, + "t_stamp": 1763081047375 + }, + { + "power": 25.042390621227497, + "t_stamp": 1763081077375 + }, + { + "power": 25.53459930419922, + "t_stamp": 1763081107375 + }, + { + "power": 25.098896568081738, + "t_stamp": 1763081137375 + }, + { + "power": 25.138858795166016, + "t_stamp": 1763081167375 + }, + { + "power": 25.073120484045916, + "t_stamp": 1763081197375 + }, + { + "power": 25.317764282226562, + "t_stamp": 1763081227375 + }, + { + "power": 25.12706844701319, + "t_stamp": 1763081257375 + }, + { + "power": 25.035036087036133, + "t_stamp": 1763081287375 + }, + { + "power": 25.0609546671295, + "t_stamp": 1763081317375 + }, + { + "power": 25.070505142211914, + "t_stamp": 1763081347375 + }, + { + "power": 25.461646222387145, + "t_stamp": 1763081377375 + }, + { + "power": 25.60576820373535, + "t_stamp": 1763081407375 + }, + { + "power": 25.135366045354424, + "t_stamp": 1763081437375 + }, + { + "power": 24.962032318115234, + "t_stamp": 1763081467375 + }, + { + "power": 24.954695548502603, + "t_stamp": 1763081497375 + }, + { + "power": 24.95199203491211, + "t_stamp": 1763081527375 + }, + { + "power": 24.99573881034563, + "t_stamp": 1763081557375 + }, + { + "power": 25.011857986450195, + "t_stamp": 1763081587375 + }, + { + "power": 24.91663847891141, + "t_stamp": 1763081617375 + }, + { + "power": 24.881549835205078, + "t_stamp": 1763081647375 + }, + { + "power": 24.914517708036428, + "t_stamp": 1763081677375 + }, + { + "power": 24.926666259765625, + "t_stamp": 1763081707375 + }, + { + "power": 25.165982374191284, + "t_stamp": 1763081737375 + }, + { + "power": 25.254167556762695, + "t_stamp": 1763081767375 + }, + { + "power": 25.085400949223835, + "t_stamp": 1763081797375 + }, + { + "power": 25.023212432861328, + "t_stamp": 1763081827375 + }, + { + "power": 24.90924859530131, + "t_stamp": 1763081857375 + }, + { + "power": 24.86725425720215, + "t_stamp": 1763081887375 + }, + { + "power": 24.856175417979635, + "t_stamp": 1763081917375 + }, + { + "power": 24.852092742919922, + "t_stamp": 1763081947375 + }, + { + "power": 25.118170011202494, + "t_stamp": 1763081977375 + }, + { + "power": 25.216224670410156, + "t_stamp": 1763082007375 + }, + { + "power": 24.951921347818438, + "t_stamp": 1763082037375 + }, + { + "power": 24.854490280151367, + "t_stamp": 1763082067375 + }, + { + "power": 25.074854373955727, + "t_stamp": 1763082097375 + }, + { + "power": 25.156082153320312, + "t_stamp": 1763082127375 + }, + { + "power": 24.940506016286793, + "t_stamp": 1763082157375 + }, + { + "power": 24.861053466796875, + "t_stamp": 1763082187375 + }, + { + "power": 24.9404443144691, + "t_stamp": 1763082217375 + }, + { + "power": 24.969707489013672, + "t_stamp": 1763082247375 + }, + { + "power": 25.34771315511068, + "t_stamp": 1763082277375 + }, + { + "power": 25.487051010131836, + "t_stamp": 1763082307375 + }, + { + "power": 25.133863984952352, + "t_stamp": 1763082337375 + }, + { + "power": 25.003690719604492, + "t_stamp": 1763082367375 + }, + { + "power": 25.195533475875855, + "t_stamp": 1763082397375 + }, + { + "power": 25.266237258911133, + "t_stamp": 1763082427375 + }, + { + "power": 25.20124455283152, + "t_stamp": 1763082457375 + }, + { + "power": 25.177289962768555, + "t_stamp": 1763082487375 + }, + { + "power": 24.96447827469508, + "t_stamp": 1763082517375 + }, + { + "power": 24.88603973388672, + "t_stamp": 1763082547375 + }, + { + "power": 24.876668555030932, + "t_stamp": 1763082577375 + }, + { + "power": 24.873214721679688, + "t_stamp": 1763082607375 + }, + { + "power": 25.114375095383643, + "t_stamp": 1763082637375 + }, + { + "power": 25.20326042175293, + "t_stamp": 1763082667375 + }, + { + "power": 25.547440635681152, + "t_stamp": 1763082697375 + }, + { + "power": 25.674299240112305, + "t_stamp": 1763082727375 + }, + { + "power": 25.26423895292282, + "t_stamp": 1763082757375 + }, + { + "power": 25.11309814453125, + "t_stamp": 1763082787375 + }, + { + "power": 25.035881976922354, + "t_stamp": 1763082817375 + }, + { + "power": 25.007421493530273, + "t_stamp": 1763082847375 + }, + { + "power": 25.399434216767418, + "t_stamp": 1763082877375 + }, + { + "power": 25.54393196105957, + "t_stamp": 1763082907375 + }, + { + "power": 25.53851332114514, + "t_stamp": 1763082937375 + }, + { + "power": 25.53480531025479, + "t_stamp": 1763082967375 + }, + { + "power": 25.531097299364436, + "t_stamp": 1763082997375 + }, + { + "power": 25.527389288474087, + "t_stamp": 1763083027375 + }, + { + "power": 25.523681277583737, + "t_stamp": 1763083057375 + }, + { + "power": 25.519973266693388, + "t_stamp": 1763083087375 + }, + { + "power": 25.516265255803038, + "t_stamp": 1763083117375 + }, + { + "power": 25.512557244912685, + "t_stamp": 1763083147375 + }, + { + "power": 25.508849234022335, + "t_stamp": 1763083177375 + }, + { + "power": 25.505141223131986, + "t_stamp": 1763083207375 + }, + { + "power": 25.501433212241636, + "t_stamp": 1763083237375 + }, + { + "power": 25.497725201351287, + "t_stamp": 1763083267375 + }, + { + "power": 25.494017190460934, + "t_stamp": 1763083297375 + }, + { + "power": 25.490309179570584, + "t_stamp": 1763083327375 + }, + { + "power": 25.486601168680235, + "t_stamp": 1763083357375 + }, + { + "power": 25.482893157789885, + "t_stamp": 1763083387375 + }, + { + "power": 25.479185146899535, + "t_stamp": 1763083417375 + }, + { + "power": 25.475477136009182, + "t_stamp": 1763083447375 + }, + { + "power": 25.471769125118833, + "t_stamp": 1763083477375 + }, + { + "power": 25.468061114228483, + "t_stamp": 1763083507375 + }, + { + "power": 25.464353103338134, + "t_stamp": 1763083537375 + }, + { + "power": 25.46064509244778, + "t_stamp": 1763083567375 + }, + { + "power": 25.45693708155743, + "t_stamp": 1763083597375 + }, + { + "power": 25.45322907066708, + "t_stamp": 1763083627375 + }, + { + "power": 25.449521059776732, + "t_stamp": 1763083657375 + }, + { + "power": 25.445813048886382, + "t_stamp": 1763083687375 + }, + { + "power": 25.44210503799603, + "t_stamp": 1763083717375 + }, + { + "power": 25.43839702710568, + "t_stamp": 1763083747375 + }, + { + "power": 25.43468901621533, + "t_stamp": 1763083777375 + }, + { + "power": 25.43098100532498, + "t_stamp": 1763083807375 + }, + { + "power": 25.42727299443463, + "t_stamp": 1763083837375 + }, + { + "power": 25.423564983544278, + "t_stamp": 1763083867375 + }, + { + "power": 25.41985697265393, + "t_stamp": 1763083897375 + }, + { + "power": 25.41614896176358, + "t_stamp": 1763083927375 + }, + { + "power": 25.41244095087323, + "t_stamp": 1763083957375 + }, + { + "power": 25.40873293998288, + "t_stamp": 1763083987375 + }, + { + "power": 25.405024929092527, + "t_stamp": 1763084017375 + }, + { + "power": 25.401316918202177, + "t_stamp": 1763084047375 + }, + { + "power": 25.397608907311827, + "t_stamp": 1763084077375 + }, + { + "power": 25.393900896421478, + "t_stamp": 1763084107375 + }, + { + "power": 25.39019288553113, + "t_stamp": 1763084137375 + }, + { + "power": 25.386484874640775, + "t_stamp": 1763084167375 + }, + { + "power": 25.382776863750426, + "t_stamp": 1763084197375 + }, + { + "power": 25.379068852860076, + "t_stamp": 1763084227375 + }, + { + "power": 25.375360841969727, + "t_stamp": 1763084257375 + }, + { + "power": 25.371652831079373, + "t_stamp": 1763084287375 + }, + { + "power": 25.367944820189024, + "t_stamp": 1763084317375 + }, + { + "power": 25.364236809298674, + "t_stamp": 1763084347375 + }, + { + "power": 25.360528798408325, + "t_stamp": 1763084377375 + }, + { + "power": 25.356820787517975, + "t_stamp": 1763084407375 + }, + { + "power": 25.353112776627622, + "t_stamp": 1763084437375 + }, + { + "power": 25.349404765737273, + "t_stamp": 1763084467375 + }, + { + "power": 25.345696754846923, + "t_stamp": 1763084497375 + }, + { + "power": 25.341988743956573, + "t_stamp": 1763084527375 + }, + { + "power": 25.338280733066224, + "t_stamp": 1763084557375 + }, + { + "power": 25.33457272217587, + "t_stamp": 1763084587375 + }, + { + "power": 25.33086471128552, + "t_stamp": 1763084617375 + }, + { + "power": 25.32715670039517, + "t_stamp": 1763084647375 + }, + { + "power": 25.323448689504822, + "t_stamp": 1763084677375 + }, + { + "power": 25.319740678614473, + "t_stamp": 1763084707375 + }, + { + "power": 25.31603266772412, + "t_stamp": 1763084737375 + }, + { + "power": 25.31232465683377, + "t_stamp": 1763084767375 + }, + { + "power": 25.30861664594342, + "t_stamp": 1763084797375 + }, + { + "power": 25.30490863505307, + "t_stamp": 1763084827375 + }, + { + "power": 25.301200624162718, + "t_stamp": 1763084857375 + }, + { + "power": 25.297492613272368, + "t_stamp": 1763084887375 + }, + { + "power": 25.29378460238202, + "t_stamp": 1763084917375 + }, + { + "power": 25.29007659149167, + "t_stamp": 1763084947375 + }, + { + "power": 25.28636858060132, + "t_stamp": 1763084977375 + }, + { + "power": 25.282660569710966, + "t_stamp": 1763085007375 + }, + { + "power": 25.278952558820617, + "t_stamp": 1763085037375 + }, + { + "power": 25.275244547930267, + "t_stamp": 1763085067375 + }, + { + "power": 25.271536537039918, + "t_stamp": 1763085097375 + }, + { + "power": 25.267828526149568, + "t_stamp": 1763085127375 + }, + { + "power": 25.264120515259215, + "t_stamp": 1763085157375 + }, + { + "power": 25.260412504368865, + "t_stamp": 1763085187375 + }, + { + "power": 25.256704493478516, + "t_stamp": 1763085217375 + }, + { + "power": 25.252996482588166, + "t_stamp": 1763085247375 + }, + { + "power": 25.249288471697817, + "t_stamp": 1763085277375 + }, + { + "power": 25.245580460807464, + "t_stamp": 1763085307375 + }, + { + "power": 25.241872449917114, + "t_stamp": 1763085337375 + }, + { + "power": 25.238164439026765, + "t_stamp": 1763085367375 + }, + { + "power": 25.234456428136415, + "t_stamp": 1763085397375 + }, + { + "power": 25.230748417246065, + "t_stamp": 1763085427375 + }, + { + "power": 25.227040406355712, + "t_stamp": 1763085457375 + }, + { + "power": 25.223332395465363, + "t_stamp": 1763085487375 + }, + { + "power": 25.219624384575013, + "t_stamp": 1763085517375 + }, + { + "power": 25.215916373684664, + "t_stamp": 1763085547375 + }, + { + "power": 25.212208362794314, + "t_stamp": 1763085577375 + }, + { + "power": 25.20850035190396, + "t_stamp": 1763085607375 + }, + { + "power": 25.20479234101361, + "t_stamp": 1763085637375 + }, + { + "power": 25.201084330123262, + "t_stamp": 1763085667375 + }, + { + "power": 25.197376319232912, + "t_stamp": 1763085697375 + }, + { + "power": 25.19366830834256, + "t_stamp": 1763085727375 + }, + { + "power": 25.18996029745221, + "t_stamp": 1763085757375 + }, + { + "power": 25.18625228656186, + "t_stamp": 1763085787375 + }, + { + "power": 25.18254427567151, + "t_stamp": 1763085817375 + }, + { + "power": 25.17883626478116, + "t_stamp": 1763085847375 + }, + { + "power": 25.175128253890808, + "t_stamp": 1763085877375 + }, + { + "power": 25.17142024300046, + "t_stamp": 1763085907375 + }, + { + "power": 25.16771223211011, + "t_stamp": 1763085937375 + }, + { + "power": 25.16400422121976, + "t_stamp": 1763085967375 + }, + { + "power": 25.16029621032941, + "t_stamp": 1763085997375 + }, + { + "power": 25.156588199439057, + "t_stamp": 1763086027375 + }, + { + "power": 25.152880188548707, + "t_stamp": 1763086057375 + }, + { + "power": 25.149172177658357, + "t_stamp": 1763086087375 + }, + { + "power": 25.145464166768008, + "t_stamp": 1763086117375 + }, + { + "power": 25.14175615587766, + "t_stamp": 1763086147375 + }, + { + "power": 25.138048144987305, + "t_stamp": 1763086177375 + }, + { + "power": 25.134340134096956, + "t_stamp": 1763086207375 + }, + { + "power": 25.130632123206606, + "t_stamp": 1763086237375 + }, + { + "power": 25.126924112316257, + "t_stamp": 1763086267375 + }, + { + "power": 25.123216101425903, + "t_stamp": 1763086297375 + }, + { + "power": 25.119508090535554, + "t_stamp": 1763086327375 + }, + { + "power": 25.115800079645204, + "t_stamp": 1763086357375 + }, + { + "power": 25.113801956176758, + "t_stamp": 1763086387375 + }, + { + "power": 25.19507473301305, + "t_stamp": 1763086417375 + }, + { + "power": 25.225051879882812, + "t_stamp": 1763086447375 + }, + { + "power": 25.225051879882812, + "t_stamp": 1763086477375 + }, + { + "power": 25.225051879882812, + "t_stamp": 1763086507375 + } + ], + "hist_tagPath": [ + { + "aggregate": "LastValue", + "alias": "power", + "path": "[Ignition_Hist/ignition-satb1-io4:default]er1254/swbd/satb1_er1254_pqm1/real power" + } + ], + "max": 26.25695037841797, + "min": 0, + "test": [ + { + "real power": null, + "t_stamp": 1763082398488 + }, + { + "real power": null, + "t_stamp": 1763082434488 + }, + { + "real power": null, + "t_stamp": 1763082470488 + }, + { + "real power": null, + "t_stamp": 1763082506488 + }, + { + "real power": null, + "t_stamp": 1763082542488 + }, + { + "real power": null, + "t_stamp": 1763082578488 + }, + { + "real power": null, + "t_stamp": 1763082614488 + }, + { + "real power": null, + "t_stamp": 1763082650488 + }, + { + "real power": null, + "t_stamp": 1763082686488 + }, + { + "real power": null, + "t_stamp": 1763082722488 + }, + { + "real power": null, + "t_stamp": 1763082758488 + }, + { + "real power": null, + "t_stamp": 1763082794488 + }, + { + "real power": null, + "t_stamp": 1763082830488 + }, + { + "real power": null, + "t_stamp": 1763082866488 + }, + { + "real power": null, + "t_stamp": 1763082902488 + }, + { + "real power": null, + "t_stamp": 1763082938488 + }, + { + "real power": null, + "t_stamp": 1763082974488 + }, + { + "real power": null, + "t_stamp": 1763083010488 + }, + { + "real power": null, + "t_stamp": 1763083046488 + }, + { + "real power": null, + "t_stamp": 1763083082488 + }, + { + "real power": null, + "t_stamp": 1763083118488 + }, + { + "real power": null, + "t_stamp": 1763083154488 + }, + { + "real power": null, + "t_stamp": 1763083190488 + }, + { + "real power": null, + "t_stamp": 1763083226488 + }, + { + "real power": null, + "t_stamp": 1763083262488 + }, + { + "real power": null, + "t_stamp": 1763083298488 + }, + { + "real power": null, + "t_stamp": 1763083334488 + }, + { + "real power": null, + "t_stamp": 1763083370488 + }, + { + "real power": null, + "t_stamp": 1763083406488 + }, + { + "real power": null, + "t_stamp": 1763083442488 + }, + { + "real power": null, + "t_stamp": 1763083478488 + }, + { + "real power": null, + "t_stamp": 1763083514488 + }, + { + "real power": null, + "t_stamp": 1763083550488 + }, + { + "real power": null, + "t_stamp": 1763083586488 + }, + { + "real power": null, + "t_stamp": 1763083622488 + }, + { + "real power": null, + "t_stamp": 1763083658488 + }, + { + "real power": null, + "t_stamp": 1763083694488 + }, + { + "real power": null, + "t_stamp": 1763083730488 + }, + { + "real power": null, + "t_stamp": 1763083766488 + }, + { + "real power": null, + "t_stamp": 1763083802488 + }, + { + "real power": null, + "t_stamp": 1763083838488 + }, + { + "real power": null, + "t_stamp": 1763083874488 + }, + { + "real power": null, + "t_stamp": 1763083910488 + }, + { + "real power": null, + "t_stamp": 1763083946488 + }, + { + "real power": null, + "t_stamp": 1763083982488 + }, + { + "real power": null, + "t_stamp": 1763084018488 + }, + { + "real power": null, + "t_stamp": 1763084054488 + }, + { + "real power": null, + "t_stamp": 1763084090488 + }, + { + "real power": null, + "t_stamp": 1763084126488 + }, + { + "real power": null, + "t_stamp": 1763084162488 + }, + { + "real power": null, + "t_stamp": 1763084198488 + }, + { + "real power": null, + "t_stamp": 1763084234488 + }, + { + "real power": null, + "t_stamp": 1763084270488 + }, + { + "real power": null, + "t_stamp": 1763084306488 + }, + { + "real power": null, + "t_stamp": 1763084342488 + }, + { + "real power": null, + "t_stamp": 1763084378488 + }, + { + "real power": null, + "t_stamp": 1763084414488 + }, + { + "real power": null, + "t_stamp": 1763084450488 + }, + { + "real power": null, + "t_stamp": 1763084486488 + }, + { + "real power": null, + "t_stamp": 1763084522488 + }, + { + "real power": null, + "t_stamp": 1763084558488 + }, + { + "real power": null, + "t_stamp": 1763084594488 + }, + { + "real power": null, + "t_stamp": 1763084630488 + }, + { + "real power": null, + "t_stamp": 1763084666488 + }, + { + "real power": null, + "t_stamp": 1763084702488 + }, + { + "real power": null, + "t_stamp": 1763084738488 + }, + { + "real power": null, + "t_stamp": 1763084774488 + }, + { + "real power": null, + "t_stamp": 1763084810488 + }, + { + "real power": null, + "t_stamp": 1763084846488 + }, + { + "real power": null, + "t_stamp": 1763084882488 + }, + { + "real power": null, + "t_stamp": 1763084918488 + }, + { + "real power": null, + "t_stamp": 1763084954488 + }, + { + "real power": null, + "t_stamp": 1763084990488 + }, + { + "real power": null, + "t_stamp": 1763085026488 + }, + { + "real power": null, + "t_stamp": 1763085062488 + }, + { + "real power": null, + "t_stamp": 1763085098488 + }, + { + "real power": null, + "t_stamp": 1763085134488 + }, + { + "real power": null, + "t_stamp": 1763085170488 + }, + { + "real power": null, + "t_stamp": 1763085206488 + }, + { + "real power": null, + "t_stamp": 1763085242488 + }, + { + "real power": null, + "t_stamp": 1763085278488 + }, + { + "real power": null, + "t_stamp": 1763085314488 + }, + { + "real power": null, + "t_stamp": 1763085350488 + }, + { + "real power": null, + "t_stamp": 1763085386488 + }, + { + "real power": null, + "t_stamp": 1763085422488 + }, + { + "real power": null, + "t_stamp": 1763085458488 + }, + { + "real power": null, + "t_stamp": 1763085494488 + }, + { + "real power": null, + "t_stamp": 1763085530488 + }, + { + "real power": null, + "t_stamp": 1763085566488 + }, + { + "real power": null, + "t_stamp": 1763085602488 + }, + { + "real power": null, + "t_stamp": 1763085638488 + }, + { + "real power": null, + "t_stamp": 1763085674488 + }, + { + "real power": null, + "t_stamp": 1763085710488 + }, + { + "real power": null, + "t_stamp": 1763085746488 + }, + { + "real power": null, + "t_stamp": 1763085782488 + }, + { + "real power": null, + "t_stamp": 1763085818488 + }, + { + "real power": null, + "t_stamp": 1763085854488 + }, + { + "real power": null, + "t_stamp": 1763085890488 + }, + { + "real power": null, + "t_stamp": 1763085926488 + }, + { + "real power": null, + "t_stamp": 1763085962488 + } + ] + }, + "params": { + "tagpath": "[Ignition_SATB1_IO4_default]ER1254/SWBD/SATB1_ER1254_PQM1", + "title": "Main" + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "path": "view.custom.data_hist" + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor item in value:\n\t\toutput.append(item[\u0027power\u0027])\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.data_hist": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.hist_tagPath}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + }, + "persistent": true + }, + "custom.hist_tagPath": { + "binding": { + "config": { + "path": "view.params.tagpath" + }, + "transforms": [ + { + "code": "\tprovider \u003d {\"Ignition_Common_IO_Gtwy\":\"[Ignition_Hist/ignition-satb1-io6:default]\",\n\t\t\t\"Ignition_SATB1_IO1_default\": \"[Ignition_Hist/ignition-satb1-io1:default]\",\n\t\t\t\"Ignition_SATB1_IO2_default\": \"[Ignition_Hist/ignition-satb1-io2:default]\",\n\t\t\t\"Ignition_SATB1_IO3_default\": \"[Ignition_Hist/ignition-satb1-io3:default]\",\n\t\t\t\"Ignition_SATB1_IO4_default\": \"[Ignition_Hist/ignition-satb1-io4:default]\",\n\t\t\t\"Ignition_SATB1_IO5_default\": \"[Ignition_Hist/ignition-satb1-io5:default]\"}\n\tpath_split \u003d value.split(\"]\")\n\tio_gtwy \u003d path_split[0][1:]\n\tpath\u003d path_split[1].lower()\n\ttagpath \u003d provider[io_gtwy]+ path + \"/real power\"\n\toutput \u003d {}\n\toutput[\u0027path\u0027] \u003d tagpath\n\toutput[\u0027alias\u0027] \u003d \u0027power\u0027\n\toutput[\u0027aggregate\u0027] \u003d \u0027LastValue\u0027\n\toutputArray \u003d []\n\toutputArray.append(output)\n\treturn outputArray\t", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.max": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.min": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "expression": "min({value})", + "type": "expression" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.test": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "1", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": [ + { + "path": "[Ignition/ignition-satb1-io2:default]er1248/swbd/satb1_er1248_pqm2/real power" + } + ], + "valueFormat": "DOCUMENT" + }, + "enabled": false, + "type": "tag-history" + }, + "persistent": true + }, + "params.tagpath": { + "paramDirection": "input", + "persistent": true + }, + "params.title": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 180, + "width": 250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "time01" + }, + "position": { + "height": 10, + "width": 40, + "x": 218, + "y": 131.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8, + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "time02" + }, + "position": { + "height": 10, + "width": 40, + "x": 8, + "y": 131.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-7200000" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Sparkline", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 103, + "width": 245, + "x": 9.5, + "y": 29.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "min": "{this.custom.min}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "\"Max: \" + {value}[\u0027max\u0027] + \" | \" + \"Min: \" + {value}[\u0027min\u0027]\r\n", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.points": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "type": "property" + } + }, + "props.range.high": { + "binding": { + "config": { + "path": "view.custom.max" + }, + "transforms": [ + { + "expression": "{value}+1", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.range.low": { + "binding": { + "config": { + "path": "view.custom.min" + }, + "transforms": [ + { + "expression": "{value}-1", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "desired": { + "fill": { + "color": "var(--container)" + } + }, + "marker": { + "high": { + "fill": { + "color": "#FB9306" + }, + "style": { + "transform": "rotate(180)" + } + } + }, + "range": {} + }, + "type": "ia.display.sparkline" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "height": 20, + "width": 122, + "x": 100.49, + "y": 7.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagpath": "{view.params.tagpath}" + }, + "tagPath": "{tagpath}/Real Power" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder", + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 20, + "width": 70, + "x": 190.721, + "y": 157 + }, + "props": { + "text": "Max kW" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value_0" + }, + "position": { + "height": 15, + "width": 105, + "x": 7.8, + "y": 143.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.min" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder", + "textAlign": "start" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_2" + }, + "position": { + "height": 20, + "width": 70, + "x": 7.8, + "y": 157 + }, + "props": { + "text": "Min kW" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value_1" + }, + "position": { + "height": 15, + "width": 92, + "x": 159.5, + "y": 143.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.max" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder", + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_4" + }, + "position": { + "height": 19, + "width": 100, + "x": 8.66418, + "y": 14.9976 + }, + "props": { + "text": "Real Power" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_5" + }, + "position": { + "height": 20, + "width": 28, + "x": 227, + "y": 7.5 + }, + "props": { + "text": "kW" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_6" + }, + "position": { + "height": 19, + "width": 100, + "x": 9, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.title" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "time2" + }, + "position": { + "height": 10, + "width": 40, + "x": 113, + "y": 131.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-3600000" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root", + "tooltip": { + "width": "" + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Gauge wAlarm/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Gauge wAlarm/resource.json new file mode 100644 index 0000000..9849a1c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Gauge wAlarm/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "980bcaadb96408f89dcf2ae9d0bb88b6d91ab4a67f13d8d3b47d8bc5725b3a54", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:30:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Gauge wAlarm/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Gauge wAlarm/thumbnail.png new file mode 100644 index 0000000..4a1cd74 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Gauge wAlarm/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Gauge wAlarm/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Gauge wAlarm/view.json new file mode 100644 index 0000000..d039489 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Gauge wAlarm/view.json @@ -0,0 +1,427 @@ +{ + "custom": { + "EU": "value", + "TagID": "STU", + "Values": 35 + }, + "params": { + "EU": "value", + "Tag": "STU", + "Values": 35, + "objectName": "value", + "tagPath": "value" + }, + "propConfig": { + "custom.EU": { + "binding": { + "config": { + "path": "view.params.EU" + }, + "type": "property" + }, + "persistent": true + }, + "custom.TagID": { + "binding": { + "config": { + "path": "view.params.Tag" + }, + "type": "property" + }, + "persistent": true + }, + "custom.Values": { + "binding": { + "config": { + "path": "view.params.Values" + }, + "type": "property" + }, + "persistent": true + }, + "params.EU": { + "paramDirection": "input", + "persistent": true + }, + "params.Tag": { + "paramDirection": "input", + "persistent": true + }, + "params.Values": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 132, + "width": 166 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "SimpleGauge" + }, + "position": { + "height": 0.9015, + "width": 1.0542, + "x": -0.0755, + "y": 0.0869 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "path": "view.params.Values" + }, + "type": "property" + } + } + }, + "props": { + "animate": true, + "arc": { + "width": 100 + }, + "label": { + "offsetY": 12, + "visible": false + }, + "style": { + "margin": -10, + "opacity": "1", + "outlineWidth": "2", + "overflow": "visible" + } + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "x": 0.0064, + "y": 0.1217 + }, + "propConfig": { + "position.height": { + "binding": { + "config": { + "expression": "{../SimpleGauge.position.height}*0.7" + }, + "type": "expr" + } + }, + "position.width": { + "binding": { + "config": { + "expression": "{../SimpleGauge.position.width}*0.75" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#FF0000", + "borderStyle": "solid", + "borderWidth": 2, + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 0.1652, + "width": 0.4335 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.TagID" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 0.1652, + "width": 0.3383, + "x": 0.0346, + "y": 0.723 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.Values" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "#002BFF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 0.1652, + "width": 0.3563, + "x": 0.4162, + "y": 0.723 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.EU" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIcons" + }, + "position": { + "height": 0.1773, + "width": 0.2084, + "x": 0.6961, + "y": 0.0377 + }, + "props": { + "elements": [ + { + "d": "M7.858,0.648l6.489,6.489c0.199,0.199 0.199,0.522 0,0.721l-6.489,6.489c-0.199,0.199 -0.522,0.199 -0.721,0l-6.489,-6.489c-0.199,-0.199 -0.199,-0.522 -0,-0.721l6.489,-6.489c0.199,-0.199 0.522,-0.199 0.721,-0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.163,8.96l-0.351,-4.735l1.371,0l-0.34,4.735l-0.68,-0Zm-0.318,1.81l0,-1.105l1.305,0l0,1.105l-1.305,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M6.855,1.849c0.134,-0.227 0.378,-0.367 0.643,-0.367c0.264,-0 0.508,0.14 0.642,0.367c1.411,2.401 4.768,8.113 6.195,10.541c0.136,0.231 0.137,0.516 0.005,0.748c-0.133,0.232 -0.38,0.375 -0.647,0.375l-12.39,0c-0.268,0 -0.515,-0.143 -0.647,-0.375c-0.133,-0.232 -0.131,-0.517 0.004,-0.748c1.427,-2.428 4.784,-8.14 6.195,-10.541Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.942l-0.389,-4.988l1.521,0l-0.377,4.988l-0.755,-0Zm-0.353,1.907l0,-1.164l1.449,0l-0,1.164l-1.449,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M12.307,1.181l-0,12.633c-0,0.265 -0.216,0.481 -0.481,0.481l-8.657,-0c-0.265,-0 -0.48,-0.216 -0.48,-0.481l-0,-12.633c-0,-0.265 0.215,-0.48 0.48,-0.48l8.657,-0c0.265,-0 0.481,0.215 0.481,0.48Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M7.126,9.042l-0.389,-5.001l1.521,-0l-0.377,5.001l-0.755,0Zm-0.353,1.912l0,-1.167l1.449,0l-0,1.167l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "7.498", + "cy": "7.498", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "7.198", + "stroke": { + "paint": "#000", + "width": "0.48px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M5.712,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M8.597,9.232l-0.389,-5.617l1.521,-0l-0.377,5.617l-0.755,0Zm-0.353,2.148l0,-1.31l1.449,-0l-0,1.31l-1.449,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 15 15" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisle2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisle2/resource.json new file mode 100644 index 0000000..b390cf9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisle2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c508dff81b987eb4e54f45a5618eea88d88e926dad36faeb537fef06f135540e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T18:46:29Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisle2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisle2/thumbnail.png new file mode 100644 index 0000000..1b08bcc Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisle2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisle2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisle2/view.json new file mode 100644 index 0000000..78e161c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisle2/view.json @@ -0,0 +1,644 @@ +{ + "custom": { + "Temp": [ + null, + null, + null + ], + "gradient": [ + null, + null, + null + ], + "inMax": 5, + "inMin": -5, + "paths": [ + null, + null, + null + ] + }, + "params": { + "Aisle": "TL200", + "SP": 65, + "embedded": true, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_" + }, + "propConfig": { + "custom.Temp": { + "persistent": true + }, + "custom.Temp[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Val" + }, + "type": "tag" + } + }, + "custom.Temp[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.paths[1]}" + }, + "tagPath": "{1}/Val" + }, + "type": "tag" + } + }, + "custom.Temp[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "2": "{view.custom.paths[2]}" + }, + "tagPath": "{2}/Val" + }, + "type": "tag" + } + }, + "custom.gradient": { + "persistent": true + }, + "custom.gradient[0]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[0]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 5\n\tif value\u003cself.custom.inMin: value \u003d -5\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[1]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[1]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[2]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[2]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.inMax": { + "persistent": true + }, + "custom.inMin": { + "persistent": true + }, + "custom.paths": { + "persistent": true + }, + "custom.paths[0]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT04_C\")" + }, + "type": "expr" + } + }, + "custom.paths[1]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT05_C\")" + }, + "type": "expr" + } + }, + "custom.paths[2]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT06_C\")" + }, + "type": "expr" + } + }, + "params.Aisle": { + "paramDirection": "input", + "persistent": true + }, + "params.SP": { + "paramDirection": "input", + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "uppterTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT04_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "upperHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_HT04_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "upperTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "midTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[1]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT05_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "midHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_HT05_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "midTransmitters" + }, + "position": { + "basis": "60%" + }, + "props": { + "alignContent": "space-between", + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "lowerTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[2]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT06_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "lowerHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_HT06_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "lowerTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.backgroundImage": { + "binding": { + "config": { + "expression": "concat(\"linear-gradient(to bottom, rgba(00.0, 127.0,210.0, \",{view.custom.gradient[0]},\"), rgba(00.0, 127.0,210.0, \",{view.custom.gradient[1]},\"),rgba(00.0, 127.0,210.0, \",{view.custom.gradient[2]},\"))\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible", + "paddingBottom": "2px", + "paddingLeft": "2px", + "paddingRight": "2px", + "paddingTop": "2px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisleTL/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisleTL/resource.json new file mode 100644 index 0000000..1ed4627 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisleTL/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b03e49afd81b485dd25004ac5fdff20ce0c5c6f4175451989ffb08fe60065ccf", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T18:46:29Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisleTL/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisleTL/thumbnail.png new file mode 100644 index 0000000..be3872c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisleTL/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisleTL/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisleTL/view.json new file mode 100644 index 0000000..3b8495e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/ColdAisleTL/view.json @@ -0,0 +1,639 @@ +{ + "custom": { + "Temp": [ + null, + null, + null + ], + "gradient": [ + null, + null, + null + ], + "inMax": 5, + "inMin": -5, + "paths": [ + null, + null, + null + ] + }, + "params": { + "SP": 65, + "embedded": true, + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200" + }, + "propConfig": { + "custom.Temp": { + "persistent": true + }, + "custom.Temp[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Val" + }, + "type": "tag" + } + }, + "custom.Temp[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.paths[1]}" + }, + "tagPath": "{1}/Val" + }, + "type": "tag" + } + }, + "custom.Temp[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "2": "{view.custom.paths[2]}" + }, + "tagPath": "{2}/Val" + }, + "type": "tag" + } + }, + "custom.gradient": { + "persistent": true + }, + "custom.gradient[0]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[0]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 5\n\tif value\u003cself.custom.inMin: value \u003d -5\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[1]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[1]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[2]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[2]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.inMax": { + "persistent": true + }, + "custom.inMin": { + "persistent": true + }, + "custom.paths": { + "persistent": true + }, + "custom.paths[0]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_TT01_C\")" + }, + "type": "expr" + } + }, + "custom.paths[1]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_TT02_C\")" + }, + "type": "expr" + } + }, + "custom.paths[2]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_TT03_C\")" + }, + "type": "expr" + } + }, + "params.SP": { + "paramDirection": "input", + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "uppterTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_TT01_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "upperHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_HT01_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInROCRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "upperTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "midTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[1]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_TT02_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "midHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_HT02_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInROCRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "midTransmitters" + }, + "position": { + "basis": "60%" + }, + "props": { + "alignContent": "space-between", + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "lowerTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[2]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_TT03_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "lowerHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},\"_HT03_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInROCRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "lowerTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.backgroundImage": { + "binding": { + "config": { + "expression": "concat(\"linear-gradient(to bottom, rgba(00.0, 127.0,210.0, \",{view.custom.gradient[0]},\"), rgba(00.0, 127.0,210.0, \",{view.custom.gradient[1]},\"),rgba(00.0, 127.0,210.0, \",{view.custom.gradient[2]},\"))\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible", + "paddingBottom": "2px", + "paddingLeft": "2px", + "paddingRight": "2px", + "paddingTop": "2px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DH/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DH/resource.json new file mode 100644 index 0000000..805c40b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DH/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "be749a24401d2a999491149ba3c79fcbc308e4a9eea0ecc653fa8884aeadbddc", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T18:46:29Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DH/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DH/thumbnail.png new file mode 100644 index 0000000..75c3e84 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DH/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DH/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DH/view.json new file mode 100644 index 0000000..9bb2c40 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DH/view.json @@ -0,0 +1,2641 @@ +{ + "custom": {}, + "params": { + "DH": 5, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5" + }, + "propConfig": { + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 700, + "width": 248 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "22px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"DH\", {view.params.DH})" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "XYChart" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "20", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": {}, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\ttags \u003d system.tag.browse(self.view.params.tagPath, {\"name\":\"*C**_TT*\",\"typeId\":\"Objects/Basic/AnalogIn_RS485\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\trun_path \u003d str(item[\"fullPath\"]) + \"/Val\"\n\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Average": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tavgValue \u003d 0\n\titems \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tavgValue +\u003d item[key]\n\t\t\titems +\u003d 1\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Average\": avgValue/items})\n\t\titems \u003d 0\n\t\tavgValue \u003d 0\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Maximum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tmaxValue \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003e maxValue:\n\t\t\t\tmaxValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Maximum\": maxValue})\t\n\n\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Minimum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput, keys, values \u003d [], [],[]\n\tminValue \u003d 99999\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003c minValue:\n\t\t\t\tminValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Minimum\": minValue})\t\n\n\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "render": "gradient" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Average", + "x": "t_stamp", + "y": "Average" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Temperature" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "#F91111", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "#FA1616", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Average", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Temperature", + "zIndex": 1 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Minimum", + "x": "t_stamp", + "y": "Minimum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Minimum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Temperature", + "zIndex": 2 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Maximum", + "x": "t_stamp", + "y": "Maximum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Maximum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Temperature", + "zIndex": 3 + } + ], + "style": { + "marginBottom": -20, + "overflow": "visible" + }, + "title": { + "appearance": { + "color": "#828282", + "font": { + "size": 12 + }, + "padding": { + "bottom": 8, + "top": -10 + } + }, + "text": "Temp (Avg, Min, Max)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 15, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "minute" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Temperature" + }, + "name": "Temperature", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "###.#", + "logarithmic": false, + "range": { + "max": 100, + "min": 0, + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "meta": { + "name": "XYChart_0" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "20", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": {}, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\ttags \u003d system.tag.browse(self.view.params.tagPath, {\"name\":\"*C**_HT*\",\"typeId\":\"Objects/Basic/AnalogIn_RS485\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\trun_path \u003d str(item[\"fullPath\"]) + \"/Val\"\n\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Average": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tavgValue \u003d 0\n\titems \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tavgValue +\u003d item[key]\n\t\t\titems +\u003d 1\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Average\": avgValue/items})\n\t\titems \u003d 0\n\t\tavgValue \u003d 0\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Maximum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tmaxValue \u003d 0\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003e maxValue:\n\t\t\t\tmaxValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Maximum\": maxValue})\t\n\n\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Minimum": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput, keys, values \u003d [], [],[]\n\tminValue \u003d 99999\n\tfor item in rawHist:\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] \u003c minValue:\n\t\t\t\tminValue \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"Minimum\": minValue})\t\n\n\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "render": "gradient" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Average", + "x": "t_stamp", + "y": "Average" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Temperature" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "#F91111", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "#FA1616", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Average", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Humidity", + "zIndex": 1 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Minimum", + "x": "t_stamp", + "y": "Minimum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Minimum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Humidity", + "zIndex": 2 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Maximum", + "x": "t_stamp", + "y": "Maximum" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Maximum", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Humidity", + "zIndex": 3 + } + ], + "style": { + "marginBottom": -20, + "overflow": "visible" + }, + "title": { + "appearance": { + "color": "#828282", + "font": { + "size": 12 + }, + "padding": { + "bottom": 8, + "top": -10 + } + }, + "text": "Hum (Avg, Min, Max)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 15, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "minute" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Humidity" + }, + "name": "Humidity", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "Humidity" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "###.#", + "logarithmic": false, + "range": { + "max": 100, + "min": 0, + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "children": [ + { + "meta": { + "name": "STU PieChart" + }, + "position": { + "basis": "75%", + "grow": 1 + }, + "propConfig": { + "custom.tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_Common_IO_Gtwy]DH\",{view.params.DH})" + }, + "type": "expr" + } + }, + "props.params.Values": { + "binding": { + "config": { + "struct": {}, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\trunning \u003d 0\n\tstandby \u003d 0\n\tfaulted \u003d 0\n\ttags \u003d system.tag.browse(self.custom.tagPath,{\"typeId\":\"Objects/Air/STU\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\tunitStatus \u003d system.tag.readBlocking(str(item[\"fullPath\"]) + \"/Unit Status\")\n\t\tfailureAlarm \u003d system.tag.readBlocking(str(item[\"fullPath\"]) + \"/Alarms/Failure Alarm\")\n\t\tif(failureAlarm[0].value):\n\t\t\tfaulted+\u003d1\n\t\t\tcontinue\n\t\tif(unitStatus[0].value \u003d\u003d 1):\n\t\t\trunning+\u003d1\n\t\telse:\n\t\t\tstandby+\u003d1\n\t\t\n\toutput.append({\"Status\":\"Running\", \"count\": running})\n\toutput.append({\"Status\":\"Standby\", \"count\": standby})\n\toutput.append({\"Status\":\"Faulted\", \"count\": faulted})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "Tag": "STU" + }, + "path": "Library/CommonObjects/PieChartt", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "15%" + }, + "props": { + "style": { + "fontSize": 12, + "textAlign": "center" + }, + "text": "Dewpoint" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/DH{DH} Dewpoint" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "label": { + "style": { + "fontSize": 30, + "fontWeight": "normal", + "overflow": "visible", + "textAlign": "left" + } + }, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null, + "style": { + "bowShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "80%" + }, + "props": { + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/DH{DH} Dewpoint" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.00", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "--tagvalue-color", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "psi", + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "15%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0", + "tooltip": { + "width": "35%" + } + }, + "position": { + "basis": "55%" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "30%" + }, + "props": { + "text": "Source: ", + "textStyle": { + "fontSize": 12, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "params": { + "FalseText": "Utility", + "TrueText": "Generators", + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_TT_RET" + }, + "path": "Library/CommonObjects/BooleanIndicator", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "35px", + "grow": 1 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "75px", + "grow": 1 + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_SATB1_IO1_default]Yard/GEN-P\",{view.params.DH},\"_1\")" + }, + "type": "expr" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_SATB1_IO1_default]Yard/GEN-P\",{view.params.DH},\"_2\")" + }, + "type": "expr" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_SATB1_IO1_default]Yard/GEN-P\",{view.params.DH},\"_3\")" + }, + "type": "expr" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_SATB1_IO1_default]Yard/GEN-P\",{view.params.DH},\"_4\")" + }, + "type": "expr" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "expression": "concat(\"[Ignition_SATB1_IO1_default]Yard/GEN-P\",{view.params.DH},\"_5\")" + }, + "type": "expr" + } + } + }, + "props": { + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tag": "value" + } + ], + "justify": "center", + "path": "Library/CommonObjects/DeviceStatus_Gen", + "style": { + "gap": "5px", + "overflow": "visible", + "padding": "5px 0" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_Card/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_Card/resource.json new file mode 100644 index 0000000..589c150 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_Card/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d4c6c1bdd43a7bd45748602b6e31fc19acc2f3938a65c854592072f50921ac44", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_Card/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_Card/thumbnail.png new file mode 100644 index 0000000..c605996 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_Card/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_Card/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_Card/view.json new file mode 100644 index 0000000..086a8fe --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_Card/view.json @@ -0,0 +1,315 @@ +{ + "custom": { + "alarm": true, + "alarmSeverity": 2, + "key": true, + "running": true + }, + "params": { + "embedded": false, + "ht_tp": "value", + "label": "value", + "objectName": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_DHUM3", + "tt_tp": "value" + }, + "propConfig": { + "custom.alarm": { + "binding": { + "config": { + "expression": "if({view.custom.alarmSeverity}\u003e0, true, false)" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.alarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Status Running" + }, + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.ht_tp": { + "paramDirection": "input", + "persistent": true + }, + "params.label": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.tt_tp": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 95, + "width": 100 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\t#tagPath \u003d self.view.params.tagPath\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({view.custom.alarm} \u003d true, \"var(--state-faulted)\", \r\nif({view.custom.running} \u003d true, \"var(--state-running)\",\t\"var(--state-standby)\"))" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.label" + }, + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "if({view.custom.alarm} \u003d true, \"white\", \"black\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "overflow": "visible" + }, + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tt_tp\n\tobjectName \u003d \"AnalogInROCRS485\"\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "uppterTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "enabled": false, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tt_tp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "EU": "degF", + "objectName": "AnalogInRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.ht_tp\n\tobjectName \u003d \"AnalogInROCRS485\"\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "upperHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.ht_tp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInROCRS485" + }, + "path": "Library/CommonObjects/DH_Transmitter", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "upperTransmitters" + }, + "position": { + "basis": "75px" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_LowerCard/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_LowerCard/resource.json new file mode 100644 index 0000000..efc391c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_LowerCard/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ac9796eacc691bb8f891b2abb903a33d19d55550a142e20800cc8d870ca4d7d6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_LowerCard/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_LowerCard/thumbnail.png new file mode 100644 index 0000000..8cbc742 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_LowerCard/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_LowerCard/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_LowerCard/view.json new file mode 100644 index 0000000..88e9617 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DHUM_LowerCard/view.json @@ -0,0 +1,426 @@ +{ + "custom": { + "paths": { + "MMR1": { + "DIS_SP": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_MMR1_DHUM_Disable_SP", + "EN": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_MMR1_DHUM_Enable", + "EN_SP": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_MMR1_DHUM_Enable_SP" + }, + "MMR2": { + "DIS_SP": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_MMR2_DHUM_Disable_SP", + "EN": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_MMR2_DHUM_Enable", + "EN_SP": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_MMR2_DHUM_Enable_SP" + }, + "TL200": { + "DIS_SP": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHUM_Disable_SP", + "EN": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHUM_Enable", + "EN_SP": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHUM_Enable_SP" + } + }, + "selected": { + "DIS_SP": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHUM_Disable_SP", + "EN": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHUM_Enable", + "EN_SP": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_DHUM_Enable_SP" + } + }, + "params": { + "room": "TL200" + }, + "propConfig": { + "custom.paths": { + "persistent": true + }, + "custom.selected": { + "binding": { + "config": { + "struct": { + "lib": "{view.custom.paths}", + "room": "{view.params.room}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tlibrary \u003d value[\u0027lib\u0027]\n\treturn library[value[\u0027room\u0027]]", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.room": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 250, + "width": 350 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "propConfig": { + "props.params.room": { + "binding": { + "config": { + "path": "view.params.room" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/C_AirSystem/Widgets/TapeLibraryAvg", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "propConfig": { + "props.params.room": { + "binding": { + "config": { + "path": "view.params.room" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "DH": "DH1" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/TapeLibraryAvgHum", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "gap": "15px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView", + "tooltip": { + "enabled": true, + "text": "Recommended 41-44" + } + }, + "position": { + "basis": "60px" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.selected.EN_SP" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "dataType": "Int8", + "enabled": true, + "format": "##.##", + "isArray": false, + "max": 100, + "min": 0, + "name": "Enable SP", + "options": [], + "substitute": null + }, + "path": "Library/Framework/Tag ConfigShort" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0", + "tooltip": { + "enabled": true, + "text": "Recommended 34-39" + } + }, + "position": { + "basis": "60px" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.selected.DIS_SP" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "dataType": "Int8", + "enabled": true, + "format": "##.##", + "isArray": false, + "max": 100, + "min": 0, + "name": "Disable SP", + "options": [], + "substitute": null + }, + "path": "Library/Framework/Tag ConfigShort" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "props": { + "text": "Demand:", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.custom.selected.EN}" + }, + "transforms": [ + { + "fallback": "Unknown", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Disabled" + }, + { + "input": true, + "output": "Enabled" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontWeight": "bolder" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "32px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "props": { + "text": "Redundancy:", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/DHUM_Redundancy" + }, + "transforms": [ + { + "fallback": "Unknown", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Normal" + }, + { + "input": true, + "output": "Faulted" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/DHUM_Redundancy" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--tagvalue-color)" + }, + { + "input": true, + "output": "var(--state-faulted)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontWeight": "bolder" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.room" + }, + "transforms": [ + { + "expression": "if({value} \u003d\"TL200\", true, false)", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50%", + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DOAS_Panel/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DOAS_Panel/resource.json new file mode 100644 index 0000000..4dc424c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DOAS_Panel/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7862844979e1aedafceb0ff7e1ff388c8f8ece95f2296d72003b6629bf52342a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T18:46:29Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DOAS_Panel/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DOAS_Panel/thumbnail.png new file mode 100644 index 0000000..5ba7d81 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DOAS_Panel/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DOAS_Panel/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DOAS_Panel/view.json new file mode 100644 index 0000000..a76c9bf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/DOAS_Panel/view.json @@ -0,0 +1,924 @@ +{ + "custom": { + "path": [ + { + "aggregate": "LastValue", + "alias": "BP" + } + ] + }, + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + "propConfig": { + "custom.path": { + "persistent": true + }, + "custom.path[0].path": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\"}\n\ttagname \u003d str(value) + \"/Building Pressure\"\n\tnameparts \u003d tagname.split(\"]\")\n\tprovider\u003d histProvider[nameparts[0][1:]]\n\treturn \"[{}]{}\".format(provider, nameparts[1])\n\t\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 400, + "width": 400 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "marginLeft": 5 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "XYChart" + }, + "position": { + "basis": "194px" + }, + "propConfig": { + "props.dataSources.data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.path}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + } + }, + "props": { + "background": { + "render": "color" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "data", + "x": "t_stamp", + "y": "BP" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Building Pressure", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "BP", + "zIndex": 0 + } + ], + "style": { + "marginBottom": -50 + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": false + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "Bldg Pressure" + }, + "name": "BP", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "SAT", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "223px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "basis": "34.3px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "SAT Widget" + }, + "position": { + "basis": "17.2%" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Transmitter_0" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Modulating Heat Position" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "% Heat Pos", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_1" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Modulating Hot Gas Reheat Valve Position" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "% Hot Gas Valve", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_2" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fan Runtime" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "hours", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "text": "Outside conditions", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Transmitter_2" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_3" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Humidity" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "% RH", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_4" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outdoor Air Dewpoint" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F Dwpt", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "174px" + }, + "props": { + "justify": "space-between" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/RTU_Panel/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/RTU_Panel/resource.json new file mode 100644 index 0000000..5096e79 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/RTU_Panel/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5dcc6d78fbf75f47a73d7b20438962a7ac8c2e1a0a0c53ae8401da94a4812404", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T18:46:29Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/RTU_Panel/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/RTU_Panel/thumbnail.png new file mode 100644 index 0000000..dac625a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/RTU_Panel/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/RTU_Panel/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/RTU_Panel/view.json new file mode 100644 index 0000000..5204425 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/RTU_Panel/view.json @@ -0,0 +1,1027 @@ +{ + "custom": { + "path": [ + { + "aggregate": "LastValue", + "alias": "BP" + } + ] + }, + "params": { + "RTU": 2, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + }, + "propConfig": { + "custom.path": { + "persistent": true + }, + "custom.path[0].path": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\"}\n\ttagname \u003d str(value) + \"/Supply Air Temperature\"\n\tnameparts \u003d tagname.split(\"]\")\n\tprovider\u003d histProvider[nameparts[0][1:]]\n\treturn \"[{}]{}\".format(provider, nameparts[1])\n\t\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + }, + "params.RTU": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 400, + "width": 400 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "marginLeft": 5 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "XYChart" + }, + "position": { + "basis": "194px" + }, + "propConfig": { + "props.dataSources.data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.path}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + } + }, + "props": { + "background": { + "render": "color" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "data", + "x": "t_stamp", + "y": "BP" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Building Pressure", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "BP", + "zIndex": 0 + } + ], + "style": { + "marginBottom": -50 + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": false + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "Supply Air Temp" + }, + "name": "BP", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "SAT", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "223px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "basis": "34.3px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Supply Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "SAT Widget" + }, + "position": { + "basis": "10%" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "RAT", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "223px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "basis": "34.3px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "SAT Widget_0" + }, + "position": { + "basis": "10%" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Transmitter_0" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Dewpoint" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF OA Dwpt", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_1" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Flow" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "cfm OA Flow", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_2" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Outside Air Temperature" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "degF OA Temp", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Transmitter_0" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Damper" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "% DA Damper", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_1" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Enthalpy" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "RA Enthalpy", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_2" + }, + "position": { + "basis": "320px" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Return Air Humidity" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "% RA Hum", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/CommonObjects/Variable" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "174px" + }, + "props": { + "justify": "space-between" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingLeft": 20, + "paddingRight": 2, + "paddingTop": 10 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvg/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvg/resource.json new file mode 100644 index 0000000..824ea0b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvg/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "20c746f64fbe391a94cedfc7e5f22cffe707d42d13eef810f134981ef65d2a19", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T18:46:29Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvg/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvg/thumbnail.png new file mode 100644 index 0000000..c515297 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvg/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvg/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvg/view.json new file mode 100644 index 0000000..2ad5086 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvg/view.json @@ -0,0 +1,2829 @@ +{ + "custom": { + "alarmHi": null, + "data": [ + { + "T1": 73, + "T2": 73.09105214608927, + "T3": 72.38656206113339, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775141946189 + }, + { + "T1": 73, + "T2": 73.0999984741211, + "T3": 72.4000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775141976189 + }, + { + "T1": 73, + "T2": 73.19552845966578, + "T3": 72.59104862287523, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142006189 + }, + { + "T1": 73, + "T2": 73.19999694824219, + "T3": 72.69105233780213, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142036189 + }, + { + "T1": 73.95516367757851, + "T2": 73.4865948636373, + "T3": 72.79105605272902, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142066189 + }, + { + "T1": 74, + "T2": 73.5, + "T3": 72.80000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142096189 + }, + { + "T1": 73.0449925012498, + "T2": 73.5, + "T3": 72.89551552580669, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142126189 + }, + { + "T1": 73, + "T2": 73.5, + "T3": 72.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142156189 + }, + { + "T1": 73, + "T2": 73.21342275609874, + "T3": 72.8044848741308, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142186189 + }, + { + "T1": 73, + "T2": 73.19999694824219, + "T3": 72.80000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142216189 + }, + { + "T1": 73, + "T2": 72.72237990852618, + "T3": 72.6089656563441, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142246189 + }, + { + "T1": 73, + "T2": 72.69999694824219, + "T3": 72.50896527487437, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142276189 + }, + { + "T1": 72.04495149838328, + "T2": 72.31790307695924, + "T3": 72.40896489340464, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142306189 + }, + { + "T1": 72, + "T2": 72.30000305175781, + "T3": 72.4000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142336189 + }, + { + "T1": 72, + "T2": 71.7268281155433, + "T3": 71.826892983373, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142366189 + }, + { + "T1": 72, + "T2": 71.69999694824219, + "T3": 71.80000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142396189 + }, + { + "T1": 72, + "T2": 71.4134138917711, + "T3": 71.41791552467947, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142426189 + }, + { + "T1": 72, + "T2": 71.26341490902371, + "T3": 71.4000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142456189 + }, + { + "T1": 71.04488333333333, + "T2": 71.11341592627632, + "T3": 71.11342883457746, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142486189 + }, + { + "T1": 71, + "T2": 70.96341694352891, + "T3": 71.0999984741211, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142516189 + }, + { + "T1": 71, + "T2": 70.81341796078152, + "T3": 70.90895790660467, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142546189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 70.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142576189 + }, + { + "T1": 71.95508483050565, + "T2": 71.08658493475211, + "T3": 70.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142606189 + }, + { + "T1": 72, + "T2": 71.23658330329597, + "T3": 70.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142636189 + }, + { + "T1": 72, + "T2": 71.38658167183985, + "T3": 70.99552006835937, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142666189 + }, + { + "T1": 72, + "T2": 71.4000015258789, + "T3": 71, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142696189 + }, + { + "T1": 72, + "T2": 71.78210282193622, + "T3": 71.28655813907008, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142726189 + }, + { + "T1": 72, + "T2": 71.9821000108838, + "T3": 71.30000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142756189 + }, + { + "T1": 72, + "T2": 72.18209719983138, + "T3": 71.49103998738521, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142786189 + }, + { + "T1": 72, + "T2": 72.19999694824219, + "T3": 71.5, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142816189 + }, + { + "T1": 72.9551, + "T2": 72.48657725160304, + "T3": 71.88208782564996, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142846189 + }, + { + "T1": 73, + "T2": 72.63658002750508, + "T3": 71.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142876189 + }, + { + "T1": 73, + "T2": 72.78658280340711, + "T3": 72.09104399596414, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142906189 + }, + { + "T1": 73, + "T2": 72.80000305175781, + "T3": 72.19104354410429, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142936189 + }, + { + "T1": 73, + "T2": 72.99105028572806, + "T3": 72.29104309224445, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142966189 + }, + { + "T1": 73, + "T2": 73.0910470932357, + "T3": 72.30000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775142996189 + }, + { + "T1": 73, + "T2": 73.19104390074334, + "T3": 72.395518410393, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143026189 + }, + { + "T1": 73, + "T2": 73.19999694824219, + "T3": 72.4000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143056189 + }, + { + "T1": 73, + "T2": 73.29552770403636, + "T3": 72.59104036391753, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143086189 + }, + { + "T1": 73, + "T2": 73.30000305175781, + "T3": 72.69104324545928, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143116189 + }, + { + "T1": 73.95509925165419, + "T2": 73.49105332073731, + "T3": 72.79104612700105, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143146189 + }, + { + "T1": 74, + "T2": 73.5, + "T3": 72.80000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143176189 + }, + { + "T1": 73.04488408140136, + "T2": 73.4044747909546, + "T3": 72.89552166890256, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143206189 + }, + { + "T1": 73, + "T2": 73.4000015258789, + "T3": 72.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143236189 + }, + { + "T1": 73, + "T2": 72.92237615296845, + "T3": 72.6134446426127, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143266189 + }, + { + "T1": 73, + "T2": 72.9000015258789, + "T3": 72.46344627406883, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143296189 + }, + { + "T1": 72.0449181639388, + "T2": 72.23132215309143, + "T3": 72.31344790552497, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143326189 + }, + { + "T1": 72, + "T2": 72.19999694824219, + "T3": 72.30000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143356189 + }, + { + "T1": 72, + "T2": 71.43581405741118, + "T3": 71.8224193448196, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143386189 + }, + { + "T1": 72, + "T2": 71.4000015258789, + "T3": 71.80000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143416189 + }, + { + "T1": 71.04493333333333, + "T2": 71.1134322546641, + "T3": 71.41792855971427, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143446189 + }, + { + "T1": 71, + "T2": 70.96343263613383, + "T3": 71.4000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143476189 + }, + { + "T1": 71, + "T2": 70.81343301760356, + "T3": 71.20896685455232, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143506189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 71.19999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143536189 + }, + { + "T1": 71, + "T2": 70.60895201237996, + "T3": 70.72240602854487, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143566189 + }, + { + "T1": 71, + "T2": 70.5999984741211, + "T3": 70.69999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143596189 + }, + { + "T1": 71, + "T2": 70.79105906652856, + "T3": 70.69999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143626189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 70.69999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143656189 + }, + { + "T1": 71, + "T2": 71.08656457471622, + "T3": 70.79551815175681, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143686189 + }, + { + "T1": 71, + "T2": 71.0999984741211, + "T3": 70.80000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143716189 + }, + { + "T1": 71.9550932639896, + "T2": 71.4821057036942, + "T3": 70.99103968870318, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143746189 + }, + { + "T1": 72, + "T2": 71.5, + "T3": 71, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143776189 + }, + { + "T1": 72, + "T2": 71.9776174127529, + "T3": 71.28655813907008, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143806189 + }, + { + "T1": 72, + "T2": 72, + "T3": 71.30000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143836189 + }, + { + "T1": 72, + "T2": 72.38208205483524, + "T3": 71.6820514526947, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143866189 + }, + { + "T1": 72, + "T2": 72.4000015258789, + "T3": 71.69999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143896189 + }, + { + "T1": 72.9550810873877, + "T2": 72.5910481631717, + "T3": 71.89104072341395, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143926189 + }, + { + "T1": 73, + "T2": 72.5999984741211, + "T3": 71.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143956189 + }, + { + "T1": 73, + "T2": 72.88654773438672, + "T3": 72.18651895099697, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775143986189 + }, + { + "T1": 73, + "T2": 72.9000015258789, + "T3": 72.19999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144016189 + }, + { + "T1": 73, + "T2": 73.0910299787953, + "T3": 72.29552058859788, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144046189 + }, + { + "T1": 73, + "T2": 73.19102916893111, + "T3": 72.30000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144076189 + }, + { + "T1": 73, + "T2": 73.2910283590669, + "T3": 72.58652502707798, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144106189 + }, + { + "T1": 73, + "T2": 73.39102754920269, + "T3": 72.5999984741211, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144136189 + }, + { + "T1": 73.95485451454854, + "T2": 73.49102673933848, + "T3": 72.79100472742708, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144166189 + }, + { + "T1": 74, + "T2": 73.5, + "T3": 72.89099927588147, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144196189 + }, + { + "T1": 74, + "T2": 73.5955055088816, + "T3": 72.99099382433587, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144226189 + }, + { + "T1": 74, + "T2": 73.5999984741211, + "T3": 73, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144256189 + }, + { + "T1": 73.04502492123557, + "T2": 73.31345419164109, + "T3": 72.9044920561043, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144286189 + }, + { + "T1": 73, + "T2": 73.30000305175781, + "T3": 72.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144316189 + }, + { + "T1": 73, + "T2": 72.91791582326105, + "T3": 72.61344950767715, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144346189 + }, + { + "T1": 73, + "T2": 72.9000015258789, + "T3": 72.5999984741211, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144376189 + }, + { + "T1": 72.04502883045029, + "T2": 72.32690163841824, + "T3": 72.21796218634307, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144406189 + }, + { + "T1": 72, + "T2": 72.30000305175781, + "T3": 72.19999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144436189 + }, + { + "T1": 72, + "T2": 71.91792855971427, + "T3": 72.00897682892123, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144466189 + }, + { + "T1": 72, + "T2": 71.9000015258789, + "T3": 72, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144496189 + }, + { + "T1": 72, + "T2": 71.61342928227853, + "T3": 71.71347289187389, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144526189 + }, + { + "T1": 72, + "T2": 71.5999984741211, + "T3": 71.56347702324034, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144556189 + }, + { + "T1": 72, + "T2": 71.12242160552681, + "T3": 71.41348115460677, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144586189 + }, + { + "T1": 72, + "T2": 71.0999984741211, + "T3": 71.4000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144616189 + }, + { + "T1": 71.04495899179835, + "T2": 70.81343396607514, + "T3": 71.01794156356597, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144646189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 71, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144676189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 70.80898246576318, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144706189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 70.80000305175781, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144736189 + }, + { + "T1": 71.95503183439448, + "T2": 71.08655345519186, + "T3": 70.89551477811509, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144766189 + }, + { + "T1": 72, + "T2": 71.0999984741211, + "T3": 70.9000015258789, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144796189 + }, + { + "T1": 72, + "T2": 71.48207326494853, + "T3": 71.09102527770996, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144826189 + }, + { + "T1": 72, + "T2": 71.5, + "T3": 71.0999984741211, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144856189 + }, + { + "T1": 72, + "T2": 71.97760758691956, + "T3": 71.48206600045644, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144886189 + }, + { + "T1": 72, + "T2": 72, + "T3": 71.5, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144916189 + }, + { + "T1": 72.95503483217226, + "T2": 72.38207538836535, + "T3": 71.69102405092764, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144946189 + }, + { + "T1": 73, + "T2": 72.4000015258789, + "T3": 71.69999694824219, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775144976189 + }, + { + "T1": 73, + "T2": 72.6865617054026, + "T3": 71.98654941482668, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775145006189 + }, + { + "T1": 73, + "T2": 72.69999694824219, + "T3": 72, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775145036189 + }, + { + "T1": 73, + "T2": 72.89103191854572, + "T3": 72.09550884194186, + "T4": 0, + "T5": 0, + "T6": 0, + "t_stamp": 1775145066189 + }, + { + "T1": 73, + "T2": 72.9000015258789, + "T3": 72.0999984741211, + "T4": 0, + "T5": 74, + "T6": 74.30000305175781, + "t_stamp": 1775145096189 + }, + { + "T1": 73, + "T2": 73.18655648129696, + "T3": 72.29102603001452, + "T4": 0, + "T5": 74, + "T6": 74.39551666906219, + "t_stamp": 1775145126189 + }, + { + "T1": 73, + "T2": 73.19999694824219, + "T3": 72.30000305175781, + "T4": 0, + "T5": 74, + "T6": 74.44551507281601, + "t_stamp": 1775145156189 + }, + { + "T1": 73, + "T2": 73.39102971730324, + "T3": 72.58652412887812, + "T4": 0, + "T5": 74, + "T6": 74.49551347656983, + "t_stamp": 1775145186189 + }, + { + "T1": 73, + "T2": 73.49102593226401, + "T3": 72.5999984741211, + "T4": 73.80000305175781, + "T5": 74, + "T6": 74.54551188032364, + "t_stamp": 1775145216189 + }, + { + "T1": 73, + "T2": 73.59102214722478, + "T3": 72.79101314565658, + "T4": 73.89549348673924, + "T5": 74, + "T6": 74.59551028407746, + "t_stamp": 1775145246189 + }, + { + "T1": 73, + "T2": 73.5999984741211, + "T3": 72.80000305175781, + "T4": 73.9000015258789, + "T5": 74, + "T6": 74.64550868783128, + "t_stamp": 1775145276189 + }, + { + "T1": 73, + "T2": 73.50449144841433, + "T3": 72.89550022798875, + "T4": 73.70902973559983, + "T5": 74, + "T6": 74.6955070915851, + "t_stamp": 1775145306189 + }, + { + "T1": 73, + "T2": 73.5, + "T3": 72.9000015258789, + "T4": 73.69999694824219, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775145336189 + }, + { + "T1": 73, + "T2": 73.21346253406811, + "T3": 72.70898775339397, + "T4": 73.2225325351342, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775145366189 + }, + { + "T1": 73, + "T2": 73.19999694824219, + "T3": 72.69999694824219, + "T4": 73.19999694824219, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775145396189 + }, + { + "T1": 72.04503558511259, + "T2": 72.62689975077468, + "T3": 72.41348267688751, + "T4": 72.62706227763276, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775145426189 + }, + { + "T1": 72, + "T2": 72.5999984741211, + "T3": 72.26348305835724, + "T4": 72.3270755400196, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775145456189 + }, + { + "T1": 72, + "T2": 72.21794308516539, + "T3": 72.11348343982696, + "T4": 72.02708880240647, + "T5": 74, + "T6": 74.50897289731455, + "t_stamp": 1775145486189 + }, + { + "T1": 72, + "T2": 72.19999694824219, + "T3": 72.0999984741211, + "T4": 72, + "T5": 74, + "T6": 74.5, + "t_stamp": 1775145516189 + }, + { + "T1": 72, + "T2": 72.00896682874048, + "T3": 71.90898183787058, + "T4": 71.71353617969872, + "T5": 74, + "T6": 74.40448494024915, + "t_stamp": 1775145546189 + }, + { + "T1": 72, + "T2": 72, + "T3": 71.9000015258789, + "T4": 71.5635315610145, + "T5": 74, + "T6": 74.4000015258789, + "t_stamp": 1775145576189 + }, + { + "T1": 71.04509624197983, + "T2": 71.61796371222198, + "T3": 71.51799190264724, + "T4": 71.41352694233026, + "T5": 73.04526214045262, + "T6": 74.20897973862184, + "t_stamp": 1775145606189 + }, + { + "T1": 71, + "T2": 71.5999984741211, + "T3": 71.5, + "T4": 71.4000015258789, + "T5": 73, + "T6": 74.19999694824219, + "t_stamp": 1775145636189 + }, + { + "T1": 71, + "T2": 71.4089751709723, + "T3": 71.30898957103247, + "T4": 71.20900427142125, + "T5": 73, + "T6": 74.10448529666779, + "t_stamp": 1775145666189 + }, + { + "T1": 71, + "T2": 71.4000015258789, + "T3": 71.20898585610558, + "T4": 71.19999694824219, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775145696189 + }, + { + "T1": 71, + "T2": 71.11345383524845, + "T3": 71.10898214117869, + "T4": 71.2955010352976, + "T5": 73, + "T6": 73.90897153850779, + "t_stamp": 1775145726189 + }, + { + "T1": 71, + "T2": 71.0999984741211, + "T3": 71.0999984741211, + "T4": 71.30000305175781, + "T5": 73, + "T6": 73.9000015258789, + "t_stamp": 1775145756189 + }, + { + "T1": 71, + "T2": 71.29102442719389, + "T3": 71.00449000632148, + "T4": 71.68200328967671, + "T5": 73, + "T6": 73.80448593164063, + "t_stamp": 1775145786189 + }, + { + "T1": 71, + "T2": 71.39102230871657, + "T3": 71, + "T4": 71.69999694824219, + "T5": 73, + "T6": 73.75448562056997, + "t_stamp": 1775145816189 + }, + { + "T1": 71.95490450954904, + "T2": 71.49102019023927, + "T3": 71.09550217582134, + "T4": 71.9864762147951, + "T5": 73, + "T6": 73.70448530949929, + "t_stamp": 1775145846189 + }, + { + "T1": 72, + "T2": 71.5, + "T3": 71.0999984741211, + "T4": 72, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775145876189 + }, + { + "T1": 72, + "T2": 71.78653769036205, + "T3": 71.29101269615379, + "T4": 72.38198085644908, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775145906189 + }, + { + "T1": 72, + "T2": 71.80000305175781, + "T3": 71.30000305175781, + "T4": 72.4000015258789, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775145936189 + }, + { + "T1": 72, + "T2": 72.18205708368671, + "T3": 71.58650412984993, + "T4": 72.5909912288158, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775145966189 + }, + { + "T1": 72, + "T2": 72.38206093937393, + "T3": 71.5999984741211, + "T4": 72.69099107327722, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775145996189 + }, + { + "T1": 72.95494849828327, + "T2": 72.58206479506114, + "T3": 71.79101573003658, + "T4": 72.79099091773864, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775146026189 + }, + { + "T1": 73, + "T2": 72.5999984741211, + "T3": 71.80000305175781, + "T4": 72.89099076220008, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775146056189 + }, + { + "T1": 73, + "T2": 72.79102662845271, + "T3": 72.08651390462869, + "T4": 72.9909906066615, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775146086189 + }, + { + "T1": 73, + "T2": 72.80000305175781, + "T3": 72.0999984741211, + "T4": 73.09099045112293, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775146116189 + }, + { + "T1": 73, + "T2": 72.89551326103211, + "T3": 72.19550201683045, + "T4": 73.19099029558436, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775146146189 + }, + { + "T1": 73, + "T2": 72.9000015258789, + "T3": 72.19999694824219, + "T4": 73.19999694824219, + "T5": 73, + "T6": 73.69999694824219, + "t_stamp": 1775146176189 + }, + { + "T1": 73, + "T2": 73.18651305293331, + "T3": 72.39099540357618, + "T4": 73.29548830290479, + "T5": 73, + "T6": 73.79551178382536, + "t_stamp": 1775146206189 + }, + { + "T1": 73, + "T2": 73.19999694824219, + "T3": 72.4000015258789, + "T4": 73.30000305175781, + "T5": 73, + "T6": 73.84551257023382, + "t_stamp": 1775146236189 + }, + { + "T1": 73, + "T2": 73.3910172279015, + "T3": 72.68650147938611, + "T4": 73.49098605303698, + "T5": 73.95476214288095, + "T6": 73.89551335664227, + "t_stamp": 1775146266189 + }, + { + "T1": 73, + "T2": 73.49102260964031, + "T3": 72.69999694824219, + "T4": 73.5, + "T5": 74, + "T6": 73.94551414305072, + "t_stamp": 1775146296189 + }, + { + "T1": 73.95498033202213, + "T2": 73.59102799137912, + "T3": 72.89101738799087, + "T4": 73.59549824277022, + "T5": 74, + "T6": 73.99551492945916, + "t_stamp": 1775146326189 + }, + { + "T1": 74, + "T2": 73.5999984741211, + "T3": 72.9000015258789, + "T4": 73.5999984741211, + "T5": 74, + "T6": 74, + "t_stamp": 1775146356189 + }, + { + "T1": 74, + "T2": 73.50448970700269, + "T3": 72.99550362676568, + "T4": 73.50451425396847, + "T5": 74, + "T6": 74.19102071775626, + "t_stamp": 1775146386189 + }, + { + "T1": 74, + "T2": 73.5, + "T3": 73, + "T4": 73.5, + "T5": 74, + "T6": 74.19999694824219, + "t_stamp": 1775146416189 + }, + { + "T1": 73.04507117378405, + "T2": 73.2134718607351, + "T3": 72.80899943120659, + "T4": 73.11802671190719, + "T5": 74, + "T6": 74.29551159695282, + "t_stamp": 1775146446189 + }, + { + "T1": 73, + "T2": 73.19999694824219, + "T3": 72.80000305175781, + "T4": 73.0999984741211, + "T5": 74, + "T6": 74.34551315804168, + "t_stamp": 1775146476189 + }, + { + "T1": 73, + "T2": 72.62691975172388, + "T3": 72.5134808111662, + "T4": 72.8135144279433, + "T5": 74, + "T6": 74.39551471913053, + "t_stamp": 1775146506189 + }, + { + "T1": 73, + "T2": 72.5999984741211, + "T3": 72.5, + "T4": 72.66351230937772, + "T5": 74, + "T6": 74.4000015258789, + "t_stamp": 1775146536189 + }, + { + "T1": 72.04504849838338, + "T2": 72.21797279529306, + "T3": 72.30899276475274, + "T4": 72.51351019081214, + "T5": 74, + "T6": 74.4000015258789, + "t_stamp": 1775146566189 + }, + { + "T1": 72, + "T2": 72.01798727207046, + "T3": 72.30000305175781, + "T4": 72.5, + "T5": 74, + "T6": 74.4000015258789, + "t_stamp": 1775146596189 + }, + { + "T1": 72, + "T2": 71.81800174884785, + "T3": 72.01351856036717, + "T4": 72.30903186060992, + "T5": 74, + "T6": 74.30449113268415, + "t_stamp": 1775146626189 + }, + { + "T1": 72, + "T2": 71.80000305175781, + "T3": 72, + "T4": 72.30000305175781, + "T5": 74, + "T6": 74.25449179934192, + "t_stamp": 1775146656189 + }, + { + "T1": 72, + "T2": 71.51350734094821, + "T3": 71.61800610985954, + "T4": 72.2045106322756, + "T5": 74, + "T6": 74.2044924659997, + "t_stamp": 1775146686189 + }, + { + "T1": 72, + "T2": 71.36350958659763, + "T3": 71.5999984741211, + "T4": 72.19999694824219, + "T5": 74, + "T6": 74.15449313265748, + "t_stamp": 1775146716189 + }, + { + "T1": 72, + "T2": 71.21351183224705, + "T3": 71.31351262045209, + "T4": 72.00902971171794, + "T5": 73.04550832347402, + "T6": 74.10449379931526, + "t_stamp": 1775146746189 + }, + { + "T1": 72, + "T2": 71.06351407789647, + "T3": 71.30000305175781, + "T4": 72, + "T5": 73, + "T6": 74.05449446597304, + "t_stamp": 1775146776189 + }, + { + "T1": 71.0452303179788, + "T2": 70.91351632354589, + "T3": 70.91804675761882, + "T4": 71.90452441328436, + "T5": 73, + "T6": 74.00449513263082, + "t_stamp": 1775146806189 + }, + { + "T1": 71, + "T2": 70.9000015258789, + "T3": 70.9000015258789, + "T4": 71.9000015258789, + "T5": 73, + "T6": 73.9544957992886, + "t_stamp": 1775146836189 + }, + { + "T1": 71.95483032202146, + "T2": 70.99550302719929, + "T3": 70.80450669167907, + "T4": 72.09096195298896, + "T5": 73, + "T6": 73.90449646594637, + "t_stamp": 1775146866189 + }, + { + "T1": 72, + "T2": 71, + "T3": 70.80000305175781, + "T4": 72.19096566791586, + "T5": 73, + "T6": 73.9000015258789, + "t_stamp": 1775146896189 + }, + { + "T1": 72, + "T2": 71.38202085117544, + "T3": 70.99099347076417, + "T4": 72.29096938284275, + "T5": 73, + "T6": 73.9000015258789, + "t_stamp": 1775146926189 + }, + { + "T1": 72, + "T2": 71.58202478708104, + "T3": 71.09099194488526, + "T4": 72.30000305175781, + "T5": 73, + "T6": 73.9000015258789, + "t_stamp": 1775146956189 + }, + { + "T1": 72, + "T2": 71.78202872298665, + "T3": 71.19099041900635, + "T4": 72.58645110914442, + "T5": 73, + "T6": 73.9000015258789, + "t_stamp": 1775146986189 + }, + { + "T1": 72, + "T2": 71.98203265889225, + "T3": 71.19999694824219, + "T4": 72.73645009189183, + "T5": 73, + "T6": 73.9000015258789, + "t_stamp": 1775147016189 + }, + { + "T1": 72, + "T2": 72.18203659479786, + "T3": 71.48648747514811, + "T4": 72.88644907463922, + "T5": 73, + "T6": 73.99550506858826, + "t_stamp": 1775147046189 + }, + { + "T1": 72, + "T2": 72.19999694824219, + "T3": 71.63648775102472, + "T4": 73.03644805738661, + "T5": 73, + "T6": 74.0455043056488, + "t_stamp": 1775147076189 + }, + { + "T1": 72.95482193744063, + "T2": 72.48652747522168, + "T3": 71.78648802690132, + "T4": 73.18644704013401, + "T5": 73, + "T6": 74.09550354270935, + "t_stamp": 1775147106189 + }, + { + "T1": 73, + "T2": 72.63652775109828, + "T3": 71.80000305175781, + "T4": 73.19999694824219, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775147136189 + }, + { + "T1": 73, + "T2": 72.78652802697489, + "T3": 71.99099468817442, + "T4": 73.29548485421323, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775147166189 + }, + { + "T1": 73, + "T2": 72.80000305175781, + "T3": 72.0909955449819, + "T4": 73.34548724868228, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775147196189 + }, + { + "T1": 73, + "T2": 72.99101623775353, + "T3": 72.19099640178938, + "T4": 73.39548964315132, + "T5": 73.95473635090994, + "T6": 74.19550906832828, + "t_stamp": 1775147226189 + }, + { + "T1": 73, + "T2": 73.0910144155717, + "T3": 72.29099725859686, + "T4": 73.4000015258789, + "T5": 74, + "T6": 74.24550937939894, + "t_stamp": 1775147256189 + }, + { + "T1": 73, + "T2": 73.1910125933899, + "T3": 72.39099811540434, + "T4": 73.59098210407338, + "T5": 74, + "T6": 74.2955096904696, + "t_stamp": 1775147286189 + }, + { + "T1": 73, + "T2": 73.29101077120808, + "T3": 72.4000015258789, + "T4": 73.69098415224391, + "T5": 74, + "T6": 74.30000305175781, + "t_stamp": 1775147316189 + }, + { + "T1": 73, + "T2": 73.39100894902627, + "T3": 72.68650170431808, + "T4": 73.79098620041444, + "T5": 74, + "T6": 74.49101665401902, + "t_stamp": 1775147346189 + }, + { + "T1": 73, + "T2": 73.49100712684445, + "T3": 72.69999694824219, + "T4": 73.80000305175781, + "T5": 74, + "T6": 74.5, + "t_stamp": 1775147376189 + }, + { + "T1": 73.95488408526525, + "T2": 73.59100530466264, + "T3": 72.79549920906419, + "T4": 73.80000305175781, + "T5": 74, + "T6": 74.5, + "t_stamp": 1775147406189 + }, + { + "T1": 74, + "T2": 73.5999984741211, + "T3": 72.84549952013485, + "T4": 73.80000305175781, + "T5": 74, + "T6": 74.5, + "t_stamp": 1775147436189 + }, + { + "T1": 73.04511666666667, + "T2": 73.50449500632851, + "T3": 72.89549983120551, + "T4": 73.51353036314033, + "T5": 74, + "T6": 74.69100693558515, + "t_stamp": 1775147466189 + }, + { + "T1": 73, + "T2": 73.5, + "T3": 72.9000015258789, + "T4": 73.5, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775147496189 + }, + { + "T1": 73, + "T2": 73.02245112255613, + "T3": 72.80449828285163, + "T4": 73.11803217680784, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775147526189 + }, + { + "T1": 73, + "T2": 73, + "T3": 72.80000305175781, + "T4": 72.91802808046678, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775147556189 + }, + { + "T1": 73, + "T2": 72.42696055868166, + "T3": 72.41799751136467, + "T4": 72.71802398412572, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775147586189 + }, + { + "T1": 73, + "T2": 72.4000015258789, + "T3": 72.21800508144314, + "T4": 72.69999694824219, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775147616189 + }, + { + "T1": 72.04513032464503, + "T2": 72.01799250234734, + "T3": 72.0180126515216, + "T4": 72.5090097062395, + "T5": 74, + "T6": 74.60448954165366, + "t_stamp": 1775147646189 + }, + { + "T1": 72, + "T2": 72, + "T3": 72, + "T4": 72.40900940499542, + "T5": 74, + "T6": 74.55449002681803, + "t_stamp": 1775147676189 + }, + { + "T1": 72, + "T2": 71.7134837904445, + "T3": 71.71349276031103, + "T4": 72.30900910375134, + "T5": 74, + "T6": 74.50449051198241, + "t_stamp": 1775147706189 + }, + { + "T1": 72, + "T2": 71.56347792166969, + "T3": 71.69999694824219, + "T4": 72.20900880250727, + "T5": 74, + "T6": 74.45449099714678, + "t_stamp": 1775147736189 + }, + { + "T1": 72, + "T2": 71.41347205289489, + "T3": 71.50899334599505, + "T4": 72.10900850126319, + "T5": 74, + "T6": 74.40449148231114, + "t_stamp": 1775147766189 + }, + { + "T1": 72, + "T2": 71.4000015258789, + "T3": 71.5, + "T4": 72.0999984741211, + "T5": 74, + "T6": 74.4000015258789, + "t_stamp": 1775147796189 + }, + { + "T1": 71.04509774511274, + "T2": 70.92246744368164, + "T3": 71.2134966355817, + "T4": 72.00450811427115, + "T5": 73.04523107177974, + "T6": 74.4000015258789, + "t_stamp": 1775147826189 + }, + { + "T1": 71, + "T2": 70.9000015258789, + "T3": 71.19999694824219, + "T4": 72, + "T5": 73, + "T6": 74.4000015258789, + "t_stamp": 1775147856189 + }, + { + "T1": 71, + "T2": 70.80450109155004, + "T3": 70.8180600676317, + "T4": 72, + "T5": 73, + "T6": 74.20899337100508, + "t_stamp": 1775147886189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 70.80000305175781, + "T4": 72, + "T5": 73, + "T6": 74.19999694824219, + "t_stamp": 1775147916189 + }, + { + "T1": 71.95486140049672, + "T2": 70.99100665400495, + "T3": 70.80000305175781, + "T4": 72.0954846830468, + "T5": 73, + "T6": 74.10449514711863, + "t_stamp": 1775147946189 + }, + { + "T1": 72, + "T2": 71, + "T3": 70.80000305175781, + "T4": 72.0999984741211, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775147976189 + }, + { + "T1": 72, + "T2": 71.38202115761784, + "T3": 70.89549666970069, + "T4": 72.38646532572143, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775148006189 + }, + { + "T1": 72, + "T2": 71.5820252539589, + "T3": 70.9000015258789, + "T4": 72.53646891344765, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775148036189 + }, + { + "T1": 72, + "T2": 71.78202935029996, + "T3": 71.18648860318646, + "T4": 72.68647250117385, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775148066189 + }, + { + "T1": 72, + "T2": 71.80000305175781, + "T3": 71.33648969083899, + "T4": 72.83647608890007, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775148096189 + }, + { + "T1": 72, + "T2": 72.27754434411268, + "T3": 71.48649077849151, + "T4": 72.98647967662627, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775148126189 + }, + { + "T1": 72, + "T2": 72.30000305175781, + "T3": 71.63649186614404, + "T4": 73, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775148156189 + }, + { + "T1": 72.9547901148161, + "T2": 72.5865249354047, + "T3": 71.78649295379657, + "T4": 73.19098739522298, + "T5": 73, + "T6": 74.19550603396662, + "t_stamp": 1775148186189 + }, + { + "T1": 73, + "T2": 72.73652330394856, + "T3": 71.80000305175781, + "T4": 73.2909877766927, + "T5": 73, + "T6": 74.24550562903451, + "t_stamp": 1775148216189 + }, + { + "T1": 73, + "T2": 72.88652167249244, + "T3": 71.9910030207626, + "T4": 73.39098815816243, + "T5": 73, + "T6": 74.29550522410241, + "t_stamp": 1775148246189 + }, + { + "T1": 73, + "T2": 72.9000015258789, + "T3": 72, + "T4": 73.4000015258789, + "T5": 73, + "T6": 74.34550481917032, + "t_stamp": 1775148276189 + }, + { + "T1": 73, + "T2": 73.09098011481525, + "T3": 72.28645539765667, + "T4": 73.49549101486238, + "T5": 73.95457650842317, + "T6": 74.3955044142382, + "t_stamp": 1775148306189 + }, + { + "T1": 73, + "T2": 73.0999984741211, + "T3": 72.30000305175781, + "T4": 73.54548900197325, + "T5": 74, + "T6": 74.4455040093061, + "t_stamp": 1775148336189 + }, + { + "T1": 73, + "T2": 73.38650958972671, + "T3": 72.49098431111983, + "T4": 73.59548698908412, + "T5": 74, + "T6": 74.495503604374, + "t_stamp": 1775148366189 + }, + { + "T1": 73, + "T2": 73.4000015258789, + "T3": 72.59099195260806, + "T4": 73.5999984741211, + "T5": 74, + "T6": 74.5455031994419, + "t_stamp": 1775148396189 + }, + { + "T1": 73, + "T2": 73.49550419780262, + "T3": 72.6909995940963, + "T4": 73.88648071230567, + "T5": 74, + "T6": 74.59550279450978, + "t_stamp": 1775148426189 + }, + { + "T1": 73, + "T2": 73.54550385152695, + "T3": 72.69999694824219, + "T4": 73.9000015258789, + "T5": 74, + "T6": 74.64550238957769, + "t_stamp": 1775148456189 + }, + { + "T1": 73, + "T2": 73.59550350525127, + "T3": 72.79550285210294, + "T4": 73.61353180342597, + "T5": 74, + "T6": 74.69550198464559, + "t_stamp": 1775148486189 + }, + { + "T1": 73, + "T2": 73.5999984741211, + "T3": 72.80000305175781, + "T4": 73.46353718471632, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775148516189 + }, + { + "T1": 73, + "T2": 73.3135021708082, + "T3": 72.80000305175781, + "T4": 73.31354256600667, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775148546189 + }, + { + "T1": 73, + "T2": 73.30000305175781, + "T3": 72.80000305175781, + "T4": 73.30000305175781, + "T5": 74, + "T6": 74.69999694824219, + "t_stamp": 1775148576189 + }, + { + "T1": 73, + "T2": 72.91797612608174, + "T3": 72.70449585605918, + "T4": 72.91803582971914, + "T5": 74, + "T6": 74.79550921948156, + "t_stamp": 1775148606189 + }, + { + "T1": 73, + "T2": 72.9000015258789, + "T3": 72.69999694824219, + "T4": 72.9000015258789, + "T5": 74, + "T6": 74.80000305175781, + "t_stamp": 1775148636189 + }, + { + "T1": 72.04509924834586, + "T2": 72.42248410979278, + "T3": 72.31800884347149, + "T4": 72.61352838625683, + "T5": 74, + "T6": 74.70449806646334, + "t_stamp": 1775148666189 + }, + { + "T1": 72, + "T2": 72.17249244284834, + "T3": 72.30000305175781, + "T4": 72.5999984741211, + "T5": 74, + "T6": 74.65449894670148, + "t_stamp": 1775148696189 + }, + { + "T1": 72, + "T2": 71.9225007759039, + "T3": 72.01350513737997, + "T4": 72.40902513697309, + "T5": 74, + "T6": 74.60449982693962, + "t_stamp": 1775148726189 + }, + { + "T1": 72, + "T2": 71.67250910895947, + "T3": 72, + "T4": 72.30902862574258, + "T5": 74, + "T6": 74.55450070717775, + "t_stamp": 1775148756189 + }, + { + "T1": 72, + "T2": 71.42251744201504, + "T3": 71.52256403419601, + "T4": 72.20903211451208, + "T5": 74, + "T6": 74.50450158741589, + "t_stamp": 1775148786189 + }, + { + "T1": 72, + "T2": 71.4000015258789, + "T3": 71.5, + "T4": 72.10903560328158, + "T5": 74, + "T6": 74.5, + "t_stamp": 1775148816189 + }, + { + "T1": 71.04513709475789, + "T2": 71.11350986703016, + "T3": 71.21353595410469, + "T4": 72.00903909205108, + "T5": 74, + "T6": 74.5, + "t_stamp": 1775148846189 + }, + { + "T1": 71, + "T2": 70.96350899849266, + "T3": 71.0635338355391, + "T4": 71.9090425808206, + "T5": 74, + "T6": 74.5, + "t_stamp": 1775148876189 + }, + { + "T1": 71, + "T2": 70.81350812995514, + "T3": 70.91353171697352, + "T4": 71.8090460695901, + "T5": 73.04536213045363, + "T6": 74.40450123222904, + "t_stamp": 1775148906189 + }, + { + "T1": 71, + "T2": 70.80000305175781, + "T3": 70.9000015258789, + "T4": 71.80000305175781, + "T5": 73, + "T6": 74.4000015258789, + "t_stamp": 1775148936189 + }, + { + "T1": 71, + "T2": 70.89550311123753, + "T3": 70.9000015258789, + "T4": 72.0864623270341, + "T5": 73, + "T6": 74.20899397077659, + "t_stamp": 1775148966189 + }, + { + "T1": 71, + "T2": 70.9000015258789, + "T3": 70.9000015258789, + "T4": 72.0999984741211, + "T5": 73, + "T6": 74.19999694824219, + "t_stamp": 1775148996189 + }, + { + "T1": 71.95491516383879, + "T2": 70.9000015258789, + "T3": 70.99549991866184, + "T4": 72.29098587814357, + "T5": 73, + "T6": 74.10449196356608, + "t_stamp": 1775149026189 + }, + { + "T1": 72, + "T2": 70.9000015258789, + "T3": 71, + "T4": 72.30000305175781, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775149056189 + }, + { + "T1": 72, + "T2": 70.9000015258789, + "T3": 71, + "T4": 72.30000305175781, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775149086189 + }, + { + "T1": 72, + "T2": 70.9000015258789, + "T3": 71, + "T4": 72.30000305175781, + "T5": 73, + "T6": 74.0999984741211, + "t_stamp": 1775149116189 + } + ], + "hiRange": 90, + "lib": { + "MMR1": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_tt01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_tt02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_tt03_c/val" + } + ], + "MMR2": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1188/satb1_hs1_mmr1188_tt01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1188/satb1_hs1_mmr1188_tt02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1188/satb1_hs1_mmr1188_tt03_c/val" + } + ], + "TL200": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_tt01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_tt02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_tt03_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T4", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_tt01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T5", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_tt02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T6", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_tt03_c/val" + } + ] + }, + "loRange": 50, + "tagPath": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_tt01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_tt02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_tt03_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T4", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_tt01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T5", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_tt02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T6", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_tt03_c/val" + } + ] + }, + "params": { + "room": "TL200" + }, + "propConfig": { + "custom.alarmHi": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--sunsetorange)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.tagPath}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + }, + "persistent": true + }, + "custom.hiRange": { + "persistent": true + }, + "custom.lib": { + "persistent": true + }, + "custom.loRange": { + "persistent": true + }, + "custom.tagPath": { + "binding": { + "config": { + "struct": { + "lib": "{view.custom.lib}", + "room": "{view.params.room}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tlibrary \u003d value[\u0027lib\u0027]\n\treturn library[value[\u0027room\u0027]]", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.room": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 102, + "width": 125 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "time01" + }, + "position": { + "height": 25, + "width": 37, + "x": 85, + "y": 60 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "time02" + }, + "position": { + "height": 25, + "width": 38, + "x": 6, + "y": 60 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-7200000" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Sparkline", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 65, + "width": 108, + "x": 10.5, + "y": 5.5 + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "code": "\tdata \u003d []\n\tfor item in value:\n\t\tdim \u003d len(dict(item))\n\t\tif dim \u003d\u003d 4:\n\t\t\tavg \u003d (item[\u0027T1\u0027]+item[\u0027T2\u0027]+item[\u0027T3\u0027] )/3\n\t\tif dim \u003d\u003d 7:\n\t\t\tavg \u003d (item[\u0027T1\u0027]+item[\u0027T2\u0027]+item[\u0027T3\u0027]+item[\u0027T4\u0027]+item[\u0027T5\u0027]+item[\u0027T6\u0027] )/6\n\t\tdata.append(avg)\n\treturn data", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.max": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.min": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "transforms": [ + { + "expression": "min({value})", + "type": "expression" + } + ], + "type": "property" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "min": "{this.custom.min}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "\"Max: \" + {value}[\u0027max\u0027] + \" | \" + \"Min: \" + {value}[\u0027min\u0027]\r\n", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.desired.high": { + "binding": { + "config": { + "path": "view.custom.hiRange" + }, + "enabled": false, + "type": "property" + } + }, + "props.desired.low": { + "binding": { + "config": { + "path": "view.custom.hiRange" + }, + "enabled": false, + "type": "property" + } + }, + "props.points": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "type": "property" + } + }, + "props.range.high": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "range": 77 + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027max\u0027] \u003c value[\u0027range\u0027]:\n\t\treturn value[\u0027range\u0027]\n\telse:\n\t\treturn value[\u0027max\u0027]+0.7", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.range.low": { + "binding": { + "config": { + "struct": { + "min": "{this.custom.min}", + "range": 60 + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027min\u0027] \u003e value[\u0027range\u0027]:\n\t\treturn value[\u0027range\u0027]\n\telse:\n\t\treturn value[\u0027min\u0027]-0.7", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "desired": { + "fill": { + "color": "var(--container)" + }, + "high": 77, + "low": 60 + }, + "marker": { + "high": { + "fill": { + "color": "#FB9306" + }, + "style": { + "transform": "rotate(180)" + } + } + }, + "range": {} + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "CurrentTemp": { + "MMR1": [ + null, + null, + null + ], + "MMR2": [ + null, + null, + null + ], + "TL200": [ + null, + null, + null, + null, + null, + null + ] + } + }, + "meta": { + "name": "Value" + }, + "position": { + "height": 32, + "width": 39, + "x": 18.5045, + "y": 73.5 + }, + "propConfig": { + "custom.CurrentTemp.MMR1[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_TT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.MMR1[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_TT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.MMR1[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_TT03_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.MMR2[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_TT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.MMR2[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_TT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.MMR2[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_TT03_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.TL200[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL198_TT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.TL200[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL198_TT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.TL200[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL198_TT03_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.TL200[3]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_TT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.TL200[4]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_TT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentTemp.TL200[5]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_TT03_C/Val" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "struct": { + "current": "{this.custom.CurrentTemp}", + "room": "{view.params.room}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tlib \u003d value[\u0027current\u0027]\n\tdim \u003d len(lib[value[\u0027room\u0027]])\n\tavg \u003d 0\n\tfor item in lib[value[\u0027room\u0027]]:\n\t\tavg +\u003d item\n\treturn avg / dim", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 32, + "width": 41, + "x": 60.5045, + "y": 73.5 + }, + "props": { + "text": "degF" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root", + "tooltip": { + "width": "" + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvgHum/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvgHum/resource.json new file mode 100644 index 0000000..7963761 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvgHum/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "711e62a06b495b69df662dc6ae3a7d6437d78c9ce1b6034cb4f13ce69f15e203", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:14:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvgHum/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvgHum/thumbnail.png new file mode 100644 index 0000000..6256e13 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvgHum/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvgHum/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvgHum/view.json new file mode 100644 index 0000000..2449c34 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/TapeLibraryAvgHum/view.json @@ -0,0 +1,2222 @@ +{ + "custom": { + "alarmHi": null, + "data": [ + { + "T1": 40.735300336020444, + "T2": 38.5, + "T3": 38.695588211103306, + "t_stamp": 1775141946257 + }, + { + "T1": 40.70000076293945, + "T2": 38.5, + "T3": 38.70000076293945, + "t_stamp": 1775141976257 + }, + { + "T1": 40.31763989237365, + "T2": 38.5, + "T3": 38.604408722066246, + "t_stamp": 1775142006257 + }, + { + "T1": 40.29999923706055, + "T2": 38.5, + "T3": 38.599998474121094, + "t_stamp": 1775142036257 + }, + { + "T1": 40.01317738234767, + "T2": 38.5, + "T3": 38.599998474121094, + "t_stamp": 1775142066257 + }, + { + "T1": 40, + "T2": 38.5, + "T3": 38.599998474121094, + "t_stamp": 1775142096257 + }, + { + "T1": 40, + "T2": 38.691169603699436, + "T3": 39.07792066024123, + "t_stamp": 1775142126257 + }, + { + "T1": 40, + "T2": 38.70000076293945, + "T3": 39.099998474121094, + "t_stamp": 1775142156257 + }, + { + "T1": 40.28674927075704, + "T2": 39.08230005026996, + "T3": 39.86460434060406, + "t_stamp": 1775142186257 + }, + { + "T1": 40.436748889287315, + "T2": 39.099998474121094, + "T3": 39.900001525878906, + "t_stamp": 1775142216257 + }, + { + "T1": 40.58674850781759, + "T2": 39.386750286823016, + "T3": 39.900001525878906, + "t_stamp": 1775142246257 + }, + { + "T1": 40.599998474121094, + "T2": 39.400001525878906, + "T3": 39.900001525878906, + "t_stamp": 1775142276257 + }, + { + "T1": 40.31323486518361, + "T2": 39.30441122530166, + "T3": 39.70882457112154, + "t_stamp": 1775142306257 + }, + { + "T1": 40.29999923706055, + "T2": 39.29999923706055, + "T3": 39.60881918938273, + "t_stamp": 1775142336257 + }, + { + "T1": 40.20440758270671, + "T2": 39.108812281765005, + "T3": 39.50881380764391, + "t_stamp": 1775142366257 + }, + { + "T1": 40.20000076293945, + "T2": 39.099998474121094, + "T3": 39.5, + "t_stamp": 1775142396257 + }, + { + "T1": 40.00880380710574, + "T2": 39.00440181959355, + "T3": 39.40440311544422, + "t_stamp": 1775142426257 + }, + { + "T1": 40, + "T2": 39, + "T3": 39.354401257980776, + "t_stamp": 1775142456257 + }, + { + "T1": 39.90439993871276, + "T2": 39, + "T3": 39.30439940051733, + "t_stamp": 1775142486257 + }, + { + "T1": 39.900001525878906, + "T2": 39, + "T3": 39.29999923706055, + "t_stamp": 1775142516257 + }, + { + "T1": 39.613198388399866, + "T2": 38.8087991239651, + "T3": 39.01319996643066, + "t_stamp": 1775142546257 + }, + { + "T1": 39.599998474121094, + "T2": 38.79999923706055, + "T3": 39, + "t_stamp": 1775142576257 + }, + { + "T1": 39.50440630567256, + "T2": 38.704407068612014, + "T3": 39, + "t_stamp": 1775142606257 + }, + { + "T1": 39.5, + "T2": 38.70000076293945, + "T3": 39, + "t_stamp": 1775142636257 + }, + { + "T1": 40.4559970664711, + "T2": 38.70000076293945, + "T3": 39, + "t_stamp": 1775142666257 + }, + { + "T1": 40.5, + "T2": 38.70000076293945, + "T3": 39, + "t_stamp": 1775142696257 + }, + { + "T1": 42.12501114473656, + "T2": 38.70000076293945, + "T3": 38.80882172180375, + "t_stamp": 1775142726257 + }, + { + "T1": 42.20000076293945, + "T2": 38.70000076293945, + "T3": 38.79999923706055, + "t_stamp": 1775142756257 + }, + { + "T1": 42.486803273993154, + "T2": 38.89120365260585, + "T3": 38.99118778567366, + "t_stamp": 1775142786257 + }, + { + "T1": 42.5, + "T2": 38.900001525878906, + "T3": 39.091194000839266, + "t_stamp": 1775142816257 + }, + { + "T1": 42.213200509374346, + "T2": 38.900001525878906, + "T3": 39.19120021600488, + "t_stamp": 1775142846257 + }, + { + "T1": 42.20000076293945, + "T2": 38.900001525878906, + "T3": 39.20000076293945, + "t_stamp": 1775142876257 + }, + { + "T1": 41.3395849639359, + "T2": 38.99560166047425, + "T3": 39.2956008975348, + "t_stamp": 1775142906257 + }, + { + "T1": 41.29999923706055, + "T2": 39, + "T3": 39.29999923706055, + "t_stamp": 1775142936257 + }, + { + "T1": 40.91762662292689, + "T2": 39, + "T3": 39.10881110668858, + "t_stamp": 1775142966257 + }, + { + "T1": 40.900001525878906, + "T2": 39, + "T3": 39.099998474121094, + "t_stamp": 1775142996257 + }, + { + "T1": 40.61322816771383, + "T2": 39, + "T3": 39.195590809001025, + "t_stamp": 1775143026257 + }, + { + "T1": 40.599998474121094, + "T2": 39, + "T3": 39.20000076293945, + "t_stamp": 1775143056257 + }, + { + "T1": 40.21760879619607, + "T2": 38.80880333765098, + "T3": 39.00880410059043, + "t_stamp": 1775143086257 + }, + { + "T1": 40.20000076293945, + "T2": 38.79999923706055, + "T3": 39, + "t_stamp": 1775143116257 + }, + { + "T1": 39.913199888888784, + "T2": 38.704398945710324, + "T3": 38.90441905553888, + "t_stamp": 1775143146257 + }, + { + "T1": 39.76319681663299, + "T2": 38.65439792162506, + "T3": 38.900001525878906, + "t_stamp": 1775143176257 + }, + { + "T1": 39.61319374437719, + "T2": 38.60439689753979, + "T3": 38.70879922285472, + "t_stamp": 1775143206257 + }, + { + "T1": 39.599998474121094, + "T2": 38.599998474121094, + "T3": 38.70000076293945, + "t_stamp": 1775143236257 + }, + { + "T1": 39.408797751495456, + "T2": 38.408813990359405, + "T3": 38.70000076293945, + "t_stamp": 1775143266257 + }, + { + "T1": 39.308799116904545, + "T2": 38.400001525878906, + "T3": 38.70000076293945, + "t_stamp": 1775143296257 + }, + { + "T1": 39.208800482313634, + "T2": 38.304406157949145, + "T3": 38.60440467504429, + "t_stamp": 1775143326257 + }, + { + "T1": 39.10880184772273, + "T2": 38.254405093755466, + "T3": 38.554403234273416, + "t_stamp": 1775143356257 + }, + { + "T1": 39.00880321313182, + "T2": 38.20440402956178, + "T3": 38.50440179350253, + "t_stamp": 1775143386257 + }, + { + "T1": 39, + "T2": 38.1544029653681, + "T3": 38.5, + "t_stamp": 1775143416257 + }, + { + "T1": 39, + "T2": 38.10440190117442, + "T3": 38.30880579054609, + "t_stamp": 1775143446257 + }, + { + "T1": 39, + "T2": 38.099998474121094, + "T3": 38.29999923706055, + "t_stamp": 1775143476257 + }, + { + "T1": 40.43383051412383, + "T2": 38.099998474121094, + "T3": 38.39559626839956, + "t_stamp": 1775143506257 + }, + { + "T1": 40.5, + "T2": 38.099998474121094, + "T3": 38.44559645913442, + "t_stamp": 1775143536257 + }, + { + "T1": 41.838349654366745, + "T2": 38.19559696183839, + "T3": 38.495596649869285, + "t_stamp": 1775143566257 + }, + { + "T1": 41.900001525878906, + "T2": 38.20000076293945, + "T3": 38.5, + "t_stamp": 1775143596257 + }, + { + "T1": 42.18681947832947, + "T2": 38.391180256956154, + "T3": 38.5, + "t_stamp": 1775143626257 + }, + { + "T1": 42.20000076293945, + "T2": 38.49117301856746, + "T3": 38.5, + "t_stamp": 1775143656257 + }, + { + "T1": 41.530909488149256, + "T2": 38.59116578017876, + "T3": 38.69116930939123, + "t_stamp": 1775143686257 + }, + { + "T1": 41.5, + "T2": 38.599998474121094, + "T3": 38.70000076293945, + "t_stamp": 1775143716257 + }, + { + "T1": 40.9264058594625, + "T2": 38.599998474121094, + "T3": 38.70000076293945, + "t_stamp": 1775143746257 + }, + { + "T1": 40.900001525878906, + "T2": 38.599998474121094, + "T3": 38.70000076293945, + "t_stamp": 1775143776257 + }, + { + "T1": 40.5176064403901, + "T2": 38.50440048757755, + "T3": 38.70000076293945, + "t_stamp": 1775143806257 + }, + { + "T1": 40.5, + "T2": 38.45440154064055, + "T3": 38.70000076293945, + "t_stamp": 1775143836257 + }, + { + "T1": 39.92647836957168, + "T2": 38.40440259370355, + "T3": 38.604411393627004, + "t_stamp": 1775143866257 + }, + { + "T1": 39.900001525878906, + "T2": 38.35440364676655, + "T3": 38.599998474121094, + "t_stamp": 1775143896257 + }, + { + "T1": 39.70880834395899, + "T2": 38.304404699829554, + "T3": 38.695596888434366, + "t_stamp": 1775143926257 + }, + { + "T1": 39.70000076293945, + "T2": 38.25440575289255, + "T3": 38.70000076293945, + "t_stamp": 1775143956257 + }, + { + "T1": 39.31770821072147, + "T2": 38.20440680595555, + "T3": 38.50885448683046, + "t_stamp": 1775143986257 + }, + { + "T1": 39.29999923706055, + "T2": 38.154407859018555, + "T3": 38.5, + "t_stamp": 1775144016257 + }, + { + "T1": 39.108861699205896, + "T2": 38.10440891208155, + "T3": 38.404426103275746, + "t_stamp": 1775144046257 + }, + { + "T1": 39.008864731212604, + "T2": 38.05440996514455, + "T3": 38.35442493658185, + "t_stamp": 1775144076257 + }, + { + "T1": 38.90886776321931, + "T2": 38.004411018207556, + "T3": 38.30442376988796, + "t_stamp": 1775144106257 + }, + { + "T1": 38.80887079522602, + "T2": 37.95441207127055, + "T3": 38.25442260319407, + "t_stamp": 1775144136257 + }, + { + "T1": 38.70887382723272, + "T2": 37.90441312433355, + "T3": 38.20442143650018, + "t_stamp": 1775144166257 + }, + { + "T1": 38.70000076293945, + "T2": 37.854414177396556, + "T3": 38.154420269806295, + "t_stamp": 1775144196257 + }, + { + "T1": 38.604435242335, + "T2": 37.804415230459554, + "T3": 38.104419103112406, + "t_stamp": 1775144226257 + }, + { + "T1": 38.599998474121094, + "T2": 37.75441628352255, + "T3": 38.05441793641852, + "t_stamp": 1775144256257 + }, + { + "T1": 39.077910723237586, + "T2": 37.70441733658556, + "T3": 38.00441676972463, + "t_stamp": 1775144286257 + }, + { + "T1": 39.099998474121094, + "T2": 37.70000076293945, + "T3": 38, + "t_stamp": 1775144316257 + }, + { + "T1": 40.246960971280814, + "T2": 37.795596977219006, + "T3": 38, + "t_stamp": 1775144346257 + }, + { + "T1": 40.846941353404475, + "T2": 37.79999923706055, + "T3": 38, + "t_stamp": 1775144376257 + }, + { + "T1": 41.44692173552813, + "T2": 37.79999923706055, + "T3": 38.095576166449135, + "t_stamp": 1775144406257 + }, + { + "T1": 41.5, + "T2": 37.79999923706055, + "T3": 38.099998474121094, + "t_stamp": 1775144436257 + }, + { + "T1": 41.40440885986084, + "T2": 37.991172416903964, + "T3": 38.099998474121094, + "t_stamp": 1775144466257 + }, + { + "T1": 41.400001525878906, + "T2": 38.09118279941194, + "T3": 38.099998474121094, + "t_stamp": 1775144496257 + }, + { + "T1": 40.922018926458925, + "T2": 38.191193181919914, + "T3": 38.29119224323265, + "t_stamp": 1775144526257 + }, + { + "T1": 40.900001525878906, + "T2": 38.20000076293945, + "T3": 38.29999923706055, + "t_stamp": 1775144556257 + }, + { + "T1": 40.326553142467645, + "T2": 38.20000076293945, + "T3": 38.204426329428365, + "t_stamp": 1775144586257 + }, + { + "T1": 40.29999923706055, + "T2": 38.20000076293945, + "T3": 38.20000076293945, + "t_stamp": 1775144616257 + }, + { + "T1": 39.822029010178056, + "T2": 38.20000076293945, + "T3": 38.295593349666575, + "t_stamp": 1775144646257 + }, + { + "T1": 39.79999923706055, + "T2": 38.20000076293945, + "T3": 38.29999923706055, + "t_stamp": 1775144676257 + }, + { + "T1": 39.41763417055867, + "T2": 38.00881640641936, + "T3": 38.20440888206965, + "t_stamp": 1775144706257 + }, + { + "T1": 39.400001525878906, + "T2": 38, + "T3": 38.20000076293945, + "t_stamp": 1775144736257 + }, + { + "T1": 39.11321404907019, + "T2": 37.90440705876078, + "T3": 38.20000076293945, + "t_stamp": 1775144766257 + }, + { + "T1": 39.099998474121094, + "T2": 37.85440639208523, + "T3": 38.20000076293945, + "t_stamp": 1775144796257 + }, + { + "T1": 38.90881776413931, + "T2": 37.80440572540967, + "T3": 38.00881640641936, + "t_stamp": 1775144826257 + }, + { + "T1": 38.900001525878906, + "T2": 37.754405058734115, + "T3": 38, + "t_stamp": 1775144856257 + }, + { + "T1": 38.61320448885028, + "T2": 37.704404392058564, + "T3": 37.904403418841, + "t_stamp": 1775144886257 + }, + { + "T1": 38.599998474121094, + "T2": 37.654403725383006, + "T3": 37.900001525878906, + "t_stamp": 1775144916257 + }, + { + "T1": 38.504419122383716, + "T2": 37.60440305870745, + "T3": 37.900001525878906, + "t_stamp": 1775144946257 + }, + { + "T1": 38.5, + "T2": 37.554402392031896, + "T3": 37.900001525878906, + "t_stamp": 1775144976257 + }, + { + "T1": 38.30880421822248, + "T2": 37.50440172535634, + "T3": 37.70880574410138, + "t_stamp": 1775145006257 + }, + { + "T1": 38.29999923706055, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775145036257 + }, + { + "T1": 38.204408735142145, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775145066257 + }, + { + "T1": 38.20000076293945, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775145096257 + }, + { + "T1": 38.48677981328375, + "T2": 37.40440819874972, + "T3": 37.604405315095704, + "t_stamp": 1775145126257 + }, + { + "T1": 38.5, + "T2": 37.400001525878906, + "T3": 37.599998474121094, + "t_stamp": 1775145156257 + }, + { + "T1": 39.64706337615045, + "T2": 37.400001525878906, + "T3": 37.599998474121094, + "t_stamp": 1775145186257 + }, + { + "T1": 39.70000076293945, + "T2": 37.400001525878906, + "T3": 37.599998474121094, + "t_stamp": 1775145216257 + }, + { + "T1": 41.03798994374632, + "T2": 37.495574064769194, + "T3": 37.69557283594071, + "t_stamp": 1775145246257 + }, + { + "T1": 41.099998474121094, + "T2": 37.545565803068996, + "T3": 37.745565527771795, + "t_stamp": 1775145276257 + }, + { + "T1": 41.386677944747795, + "T2": 37.5955575413688, + "T3": 37.79555821960289, + "t_stamp": 1775145306257 + }, + { + "T1": 41.400001525878906, + "T2": 37.599998474121094, + "T3": 37.79999923706055, + "t_stamp": 1775145336257 + }, + { + "T1": 40.826625070411254, + "T2": 37.791147728048976, + "T3": 37.99114849098843, + "t_stamp": 1775145366257 + }, + { + "T1": 40.52661122783639, + "T2": 37.79999923706055, + "T3": 38, + "t_stamp": 1775145396257 + }, + { + "T1": 40.22659738526153, + "T2": 37.89558279683601, + "T3": 38, + "t_stamp": 1775145426257 + }, + { + "T1": 39.92658354268667, + "T2": 37.900001525878906, + "T3": 38, + "t_stamp": 1775145456257 + }, + { + "T1": 39.62656970011181, + "T2": 37.8044272289512, + "T3": 38.09556898466648, + "t_stamp": 1775145486257 + }, + { + "T1": 39.599998474121094, + "T2": 37.79999923706055, + "T3": 38.099998474121094, + "t_stamp": 1775145516257 + }, + { + "T1": 39.31324118968238, + "T2": 37.79999923706055, + "T3": 38.004414001658155, + "t_stamp": 1775145546257 + }, + { + "T1": 39.29999923706055, + "T2": 37.79999923706055, + "T3": 38, + "t_stamp": 1775145576257 + }, + { + "T1": 38.91769298882388, + "T2": 37.60884747549767, + "T3": 37.80884823843712, + "t_stamp": 1775145606257 + }, + { + "T1": 38.900001525878906, + "T2": 37.599998474121094, + "T3": 37.79999923706055, + "t_stamp": 1775145636257 + }, + { + "T1": 38.61324471270942, + "T2": 37.599998474121094, + "T3": 37.79999923706055, + "t_stamp": 1775145666257 + }, + { + "T1": 38.599998474121094, + "T2": 37.599998474121094, + "T3": 37.79999923706055, + "t_stamp": 1775145696257 + }, + { + "T1": 38.50441652566492, + "T2": 37.50441411135018, + "T3": 37.704417288604375, + "t_stamp": 1775145726257 + }, + { + "T1": 38.5, + "T2": 37.45441444468129, + "T3": 37.70000076293945, + "t_stamp": 1775145756257 + }, + { + "T1": 38.308856497028245, + "T2": 37.4044147780124, + "T3": 37.70000076293945, + "t_stamp": 1775145786257 + }, + { + "T1": 38.208868614043894, + "T2": 37.35441511134351, + "T3": 37.70000076293945, + "t_stamp": 1775145816257 + }, + { + "T1": 38.108880731059536, + "T2": 37.304415444674625, + "T3": 37.5088805550448, + "t_stamp": 1775145846257 + }, + { + "T1": 38.099998474121094, + "T2": 37.254415778005736, + "T3": 37.5, + "t_stamp": 1775145876257 + }, + { + "T1": 38.00441770369961, + "T2": 37.20441611133685, + "T3": 37.5, + "t_stamp": 1775145906257 + }, + { + "T1": 38, + "T2": 37.15441644466796, + "T3": 37.5, + "t_stamp": 1775145936257 + }, + { + "T1": 38.191164209839464, + "T2": 37.10441677799907, + "T3": 37.404419718157286, + "t_stamp": 1775145966257 + }, + { + "T1": 38.20000076293945, + "T2": 37.099998474121094, + "T3": 37.400001525878906, + "t_stamp": 1775145996257 + }, + { + "T1": 39.44254099137207, + "T2": 37.195577717674944, + "T3": 37.400001525878906, + "t_stamp": 1775146026257 + }, + { + "T1": 39.5, + "T2": 37.24557645011345, + "T3": 37.400001525878906, + "t_stamp": 1775146056257 + }, + { + "T1": 41.1249148930473, + "T2": 37.29557518255195, + "T3": 37.49558245696713, + "t_stamp": 1775146086257 + }, + { + "T1": 41.20000076293945, + "T2": 37.345573914990446, + "T3": 37.54558294403985, + "t_stamp": 1775146116257 + }, + { + "T1": 41.20000076293945, + "T2": 37.39557264742895, + "T3": 37.59558343111257, + "t_stamp": 1775146146257 + }, + { + "T1": 41.20000076293945, + "T2": 37.445571379867445, + "T3": 37.599998474121094, + "t_stamp": 1775146176257 + }, + { + "T1": 40.62657414623706, + "T2": 37.49557011230595, + "T3": 37.599998474121094, + "t_stamp": 1775146206257 + }, + { + "T1": 40.599998474121094, + "T2": 37.5, + "T3": 37.599998474121094, + "t_stamp": 1775146236257 + }, + { + "T1": 39.835400973387294, + "T2": 37.5, + "T3": 37.791148760776665, + "t_stamp": 1775146266257 + }, + { + "T1": 39.79999923706055, + "T2": 37.5, + "T3": 37.79999923706055, + "t_stamp": 1775146296257 + }, + { + "T1": 39.41765044475972, + "T2": 37.5, + "T3": 37.704412950581116, + "t_stamp": 1775146326257 + }, + { + "T1": 39.400001525878906, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775146356257 + }, + { + "T1": 39.113234446541064, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775146386257 + }, + { + "T1": 38.96323335888853, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775146416257 + }, + { + "T1": 38.813232271236004, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775146446257 + }, + { + "T1": 38.66323118358348, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775146476257 + }, + { + "T1": 38.51323009593095, + "T2": 37.404415505507735, + "T3": 37.60440886908432, + "t_stamp": 1775146506257 + }, + { + "T1": 38.5, + "T2": 37.35441489810114, + "T3": 37.599998474121094, + "t_stamp": 1775146536257 + }, + { + "T1": 38.30882882926471, + "T2": 37.30441429069455, + "T3": 37.599998474121094, + "t_stamp": 1775146566257 + }, + { + "T1": 38.29999923706055, + "T2": 37.29999923706055, + "T3": 37.599998474121094, + "t_stamp": 1775146596257 + }, + { + "T1": 38.20443162350749, + "T2": 37.29999923706055, + "T3": 37.50442539836002, + "t_stamp": 1775146626257 + }, + { + "T1": 38.20000076293945, + "T2": 37.29999923706055, + "T3": 37.45443163586535, + "t_stamp": 1775146656257 + }, + { + "T1": 38.008882478972666, + "T2": 37.20443433226688, + "T3": 37.404437873370675, + "t_stamp": 1775146686257 + }, + { + "T1": 37.90889209654118, + "T2": 37.15443612603033, + "T3": 37.354444110875995, + "t_stamp": 1775146716257 + }, + { + "T1": 37.808901714109695, + "T2": 37.10443791979378, + "T3": 37.30445034838132, + "t_stamp": 1775146746257 + }, + { + "T1": 37.79999923706055, + "T2": 37.05443971355723, + "T3": 37.29999923706055, + "t_stamp": 1775146776257 + }, + { + "T1": 37.8955593133293, + "T2": 37.00444150732068, + "T3": 37.29999923706055, + "t_stamp": 1775146806257 + }, + { + "T1": 37.900001525878906, + "T2": 37, + "T3": 37.29999923706055, + "t_stamp": 1775146836257 + }, + { + "T1": 39.333495983750396, + "T2": 37, + "T3": 37.29999923706055, + "t_stamp": 1775146866257 + }, + { + "T1": 39.400001525878906, + "T2": 37, + "T3": 37.29999923706055, + "t_stamp": 1775146896257 + }, + { + "T1": 40.6423467576759, + "T2": 37.09556361570813, + "T3": 37.29999923706055, + "t_stamp": 1775146926257 + }, + { + "T1": 40.70000076293945, + "T2": 37.099998474121094, + "T3": 37.29999923706055, + "t_stamp": 1775146956257 + }, + { + "T1": 40.98669981215385, + "T2": 37.29113238878943, + "T3": 37.29999923706055, + "t_stamp": 1775146986257 + }, + { + "T1": 41, + "T2": 37.29999923706055, + "T3": 37.29999923706055, + "t_stamp": 1775147016257 + }, + { + "T1": 40.61766815312725, + "T2": 37.39556706468368, + "T3": 37.49113489230681, + "t_stamp": 1775147046257 + }, + { + "T1": 40.599998474121094, + "T2": 37.44556767209027, + "T3": 37.59113610711999, + "t_stamp": 1775147076257 + }, + { + "T1": 39.8354472193856, + "T2": 37.495568279496865, + "T3": 37.69113732193318, + "t_stamp": 1775147106257 + }, + { + "T1": 39.79999923706055, + "T2": 37.5, + "T3": 37.70000076293945, + "t_stamp": 1775147136257 + }, + { + "T1": 39.5132925769669, + "T2": 37.404417194456116, + "T3": 37.60441431114526, + "t_stamp": 1775147166257 + }, + { + "T1": 39.36329170842939, + "T2": 37.400001525878906, + "T3": 37.599998474121094, + "t_stamp": 1775147196257 + }, + { + "T1": 39.213290839891876, + "T2": 37.400001525878906, + "T3": 37.695571325960344, + "t_stamp": 1775147226257 + }, + { + "T1": 39.20000076293945, + "T2": 37.400001525878906, + "T3": 37.70000076293945, + "t_stamp": 1775147256257 + }, + { + "T1": 38.72215872697338, + "T2": 37.400001525878906, + "T3": 37.60443016835899, + "t_stamp": 1775147286257 + }, + { + "T1": 38.70000076293945, + "T2": 37.400001525878906, + "T3": 37.599998474121094, + "t_stamp": 1775147316257 + }, + { + "T1": 38.50885551773118, + "T2": 37.30441985396496, + "T3": 37.599998474121094, + "t_stamp": 1775147346257 + }, + { + "T1": 38.40885102955957, + "T2": 37.29999923706055, + "T3": 37.599998474121094, + "t_stamp": 1775147376257 + }, + { + "T1": 38.30884654138796, + "T2": 37.29999923706055, + "T3": 37.50441772883533, + "t_stamp": 1775147406257 + }, + { + "T1": 38.20884205321635, + "T2": 37.29999923706055, + "T3": 37.454416467067965, + "t_stamp": 1775147436257 + }, + { + "T1": 38.10883756504474, + "T2": 37.20442311728795, + "T3": 37.4044152053006, + "t_stamp": 1775147466257 + }, + { + "T1": 38.00883307687313, + "T2": 37.15442340339025, + "T3": 37.354413943533245, + "t_stamp": 1775147496257 + }, + { + "T1": 37.90882858870152, + "T2": 37.10442368949254, + "T3": 37.30441268176588, + "t_stamp": 1775147526257 + }, + { + "T1": 37.900001525878906, + "T2": 37.05442397559484, + "T3": 37.29999923706055, + "t_stamp": 1775147556257 + }, + { + "T1": 37.804419273690655, + "T2": 37.00442426169713, + "T3": 37.29999923706055, + "t_stamp": 1775147586257 + }, + { + "T1": 37.75442158284033, + "T2": 36.95442454779943, + "T3": 37.29999923706055, + "t_stamp": 1775147616257 + }, + { + "T1": 37.70442389199001, + "T2": 36.90442483390172, + "T3": 37.10884487965493, + "t_stamp": 1775147646257 + }, + { + "T1": 37.70000076293945, + "T2": 36.900001525878906, + "T3": 37.099998474121094, + "t_stamp": 1775147676257 + }, + { + "T1": 38.17786020330077, + "T2": 36.900001525878906, + "T3": 37.099998474121094, + "t_stamp": 1775147706257 + }, + { + "T1": 38.20000076293945, + "T2": 36.900001525878906, + "T3": 37.099998474121094, + "t_stamp": 1775147736257 + }, + { + "T1": 39.442618093051685, + "T2": 36.900001525878906, + "T3": 37.099998474121094, + "t_stamp": 1775147766257 + }, + { + "T1": 39.5, + "T2": 36.900001525878906, + "T3": 37.099998474121094, + "t_stamp": 1775147796257 + }, + { + "T1": 40.646983380099385, + "T2": 36.99558195498734, + "T3": 37.195581921042695, + "t_stamp": 1775147826257 + }, + { + "T1": 40.70000076293945, + "T2": 37, + "T3": 37.245580236840716, + "t_stamp": 1775147856257 + }, + { + "T1": 40.50887811028395, + "T2": 37.1911226526555, + "T3": 37.29557855263874, + "t_stamp": 1775147886257 + }, + { + "T1": 40.5, + "T2": 37.20000076293945, + "T3": 37.34557686843676, + "t_stamp": 1775147916257 + }, + { + "T1": 40.02217212670739, + "T2": 37.29557364074124, + "T3": 37.39557518423478, + "t_stamp": 1775147946257 + }, + { + "T1": 39.77215754252332, + "T2": 37.29999923706055, + "T3": 37.4455735000328, + "t_stamp": 1775147976257 + }, + { + "T1": 39.52214295833924, + "T2": 37.29999923706055, + "T3": 37.49557181583082, + "t_stamp": 1775148006257 + }, + { + "T1": 39.5, + "T2": 37.29999923706055, + "T3": 37.5, + "t_stamp": 1775148036257 + }, + { + "T1": 39.11767364238967, + "T2": 37.29999923706055, + "T3": 37.4044202336646, + "t_stamp": 1775148066257 + }, + { + "T1": 39.099998474121094, + "T2": 37.29999923706055, + "T3": 37.400001525878906, + "t_stamp": 1775148096257 + }, + { + "T1": 38.622074209978955, + "T2": 37.20441584274123, + "T3": 37.495584920198226, + "t_stamp": 1775148126257 + }, + { + "T1": 38.599998474121094, + "T2": 37.20000076293945, + "T3": 37.5, + "t_stamp": 1775148156257 + }, + { + "T1": 38.31330632001016, + "T2": 37.20000076293945, + "T3": 37.30887068209653, + "t_stamp": 1775148186257 + }, + { + "T1": 38.29999923706055, + "T2": 37.20000076293945, + "T3": 37.29999923706055, + "t_stamp": 1775148216257 + }, + { + "T1": 38.10883360817773, + "T2": 37.10444025041135, + "T3": 37.3955838745925, + "t_stamp": 1775148246257 + }, + { + "T1": 38.099998474121094, + "T2": 37.05444172629396, + "T3": 37.400001525878906, + "t_stamp": 1775148276257 + }, + { + "T1": 38.00444208097852, + "T2": 37.00444320217657, + "T3": 37.30442181041224, + "t_stamp": 1775148306257 + }, + { + "T1": 38, + "T2": 37, + "T3": 37.25442370293185, + "t_stamp": 1775148336257 + }, + { + "T1": 37.808850893624324, + "T2": 37, + "T3": 37.20442559545147, + "t_stamp": 1775148366257 + }, + { + "T1": 37.79999923706055, + "T2": 37, + "T3": 37.20000076293945, + "t_stamp": 1775148396257 + }, + { + "T1": 37.70441613710932, + "T2": 36.90442304246102, + "T3": 37.20000076293945, + "t_stamp": 1775148426257 + }, + { + "T1": 37.70000076293945, + "T2": 36.85442201837575, + "T3": 37.20000076293945, + "t_stamp": 1775148456257 + }, + { + "T1": 37.50884277754947, + "T2": 36.80442099429049, + "T3": 37.00884277754947, + "t_stamp": 1775148486257 + }, + { + "T1": 37.5, + "T2": 36.79999923706055, + "T3": 37, + "t_stamp": 1775148516257 + }, + { + "T1": 38.16904906253815, + "T2": 36.79999923706055, + "T3": 37, + "t_stamp": 1775148546257 + }, + { + "T1": 38.20000076293945, + "T2": 36.79999923706055, + "T3": 37, + "t_stamp": 1775148576257 + }, + { + "T1": 39.4423941277315, + "T2": 36.8955759438149, + "T3": 36.90443268180811, + "t_stamp": 1775148606257 + }, + { + "T1": 39.5, + "T2": 36.94557509290082, + "T3": 36.900001525878906, + "t_stamp": 1775148636257 + }, + { + "T1": 40.64697365894971, + "T2": 36.995574241986745, + "T3": 37.0911607639299, + "t_stamp": 1775148666257 + }, + { + "T1": 40.70000076293945, + "T2": 37.045573391072665, + "T3": 37.099998474121094, + "t_stamp": 1775148696257 + }, + { + "T1": 40.60441690858205, + "T2": 37.09557254015859, + "T3": 37.195574930109615, + "t_stamp": 1775148726257 + }, + { + "T1": 40.599998474121094, + "T2": 37.14557168924452, + "T3": 37.24557220433682, + "t_stamp": 1775148756257 + }, + { + "T1": 40.12214589025588, + "T2": 37.19557083833044, + "T3": 37.29556947856402, + "t_stamp": 1775148786257 + }, + { + "T1": 40.099998474121094, + "T2": 37.20000076293945, + "T3": 37.29999923706055, + "t_stamp": 1775148816257 + }, + { + "T1": 39.526541701952084, + "T2": 37.20000076293945, + "T3": 37.49115270976663, + "t_stamp": 1775148846257 + }, + { + "T1": 39.5, + "T2": 37.20000076293945, + "T3": 37.5, + "t_stamp": 1775148876257 + }, + { + "T1": 39.02215648695942, + "T2": 37.20000076293945, + "T3": 37.5, + "t_stamp": 1775148906257 + }, + { + "T1": 39, + "T2": 37.20000076293945, + "T3": 37.5, + "t_stamp": 1775148936257 + }, + { + "T1": 38.61768060448015, + "T2": 37.20000076293945, + "T3": 37.404421974154026, + "t_stamp": 1775148966257 + }, + { + "T1": 38.599998474121094, + "T2": 37.20000076293945, + "T3": 37.400001525878906, + "t_stamp": 1775148996257 + }, + { + "T1": 38.31324964504432, + "T2": 37.20000076293945, + "T3": 37.400001525878906, + "t_stamp": 1775149026257 + }, + { + "T1": 38.29999923706055, + "T2": 37.20000076293945, + "T3": 37.400001525878906, + "t_stamp": 1775149056257 + }, + { + "T1": 38.29999923706055, + "T2": 37.20000076293945, + "T3": 37.400001525878906, + "t_stamp": 1775149086257 + }, + { + "T1": 38.29999923706055, + "T2": 37.20000076293945, + "T3": 37.400001525878906, + "t_stamp": 1775149116257 + } + ], + "hiRange": 100, + "lib": { + "MMR1": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_ht01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_ht02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_ht03_c/val" + } + ], + "MMR2": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1188/satb1_hs1_mmr1188_ht01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1188/satb1_hs1_mmr1188_ht02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1188/satb1_hs1_mmr1188_ht03_c/val" + } + ], + "TL200": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_ht01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_ht02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl198_ht03_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T4", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_ht01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T5", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_ht02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T6", + "path": "[Ignition_Hist/ignition-satb1-io6:default]rm1152/satb1_rm1152_tl200_ht03_c/val" + } + ] + }, + "loRange": 20, + "tagPath": [ + { + "aggregate": "LastValue", + "alias": "T1", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_ht01_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T2", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_ht02_c/val" + }, + { + "aggregate": "LastValue", + "alias": "T3", + "path": "[Ignition_Hist/ignition-satb1-io6:default]mmr1120/satb1_hs1_mmr1120_ht03_c/val" + } + ] + }, + "params": { + "DH": "DH1", + "room": "MMR1" + }, + "propConfig": { + "custom.alarmHi": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--sunsetorange)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.tagPath}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + }, + "persistent": true + }, + "custom.hiRange": { + "persistent": true + }, + "custom.lib": { + "persistent": true + }, + "custom.loRange": { + "persistent": true + }, + "custom.tagPath": { + "binding": { + "config": { + "struct": { + "lib": "{view.custom.lib}", + "room": "{view.params.room}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tlibrary \u003d value[\u0027lib\u0027]\n\treturn library[value[\u0027room\u0027]]", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.room": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 102, + "width": 125 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "time01" + }, + "position": { + "height": 25, + "width": 37, + "x": 85, + "y": 60 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "time02" + }, + "position": { + "height": 25, + "width": 38, + "x": 6, + "y": 60 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-7200000" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Sparkline", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 65, + "width": 108, + "x": 10.5, + "y": 5.5 + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "code": "\tdata \u003d []\n\tfor item in value:\n\t\tdim \u003d len(dict(item))\n\t\tif dim \u003d\u003d 4:\n\t\t\tavg \u003d (item[\u0027T1\u0027]+item[\u0027T2\u0027]+item[\u0027T3\u0027] )/3\n\t\tif dim \u003d\u003d 7:\n\t\t\tavg \u003d (item[\u0027T1\u0027]+item[\u0027T2\u0027]+item[\u0027T3\u0027]+item[\u0027T4\u0027]+item[\u0027T5\u0027]+item[\u0027T6\u0027] )/6\n\t\tdata.append(avg)\n\treturn data", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.max": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.min": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "transforms": [ + { + "expression": "min({value})", + "type": "expression" + } + ], + "type": "property" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "min": "{this.custom.min}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "\"Max: \" + {value}[\u0027max\u0027] + \" | \" + \"Min: \" + {value}[\u0027min\u0027]\r\n", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.desired.high": { + "binding": { + "config": { + "path": "view.custom.hiRange" + }, + "enabled": false, + "type": "property" + } + }, + "props.desired.low": { + "binding": { + "config": { + "path": "view.custom.hiRange" + }, + "enabled": false, + "type": "property" + } + }, + "props.points": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "type": "property" + } + }, + "props.range.high": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "range": 50 + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027max\u0027] \u003c value[\u0027range\u0027]:\n\t\treturn value[\u0027range\u0027]\n\telse:\n\t\treturn value[\u0027max\u0027]+0.7", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.range.low": { + "binding": { + "config": { + "struct": { + "min": "{this.custom.min}", + "range": 20 + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027min\u0027] \u003e value[\u0027range\u0027]:\n\t\treturn value[\u0027range\u0027]\n\telse:\n\t\treturn value[\u0027min\u0027]-0.7", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "desired": { + "fill": { + "color": "var(--container)" + }, + "high": 50, + "low": 20 + }, + "marker": { + "high": { + "fill": { + "color": "#FB9306" + }, + "style": { + "transform": "rotate(180)" + } + } + }, + "range": {} + }, + "type": "ia.display.sparkline" + }, + { + "meta": { + "name": "Border" + }, + "position": { + "height": 35, + "width": 89, + "x": 13, + "y": 91.5 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--sunsetorange)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "outlineWidth": 3 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 32, + "width": 41, + "x": 60.5045, + "y": 72.5011 + }, + "props": { + "text": "%rh" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 29, + "rotate": { + "anchor": "50% 100%" + }, + "width": 32, + "x": 87.9945, + "y": 63.501099999999994 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 3 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "ack": false + }, + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + }, + { + "custom": { + "CurrentHum": { + "MMR1": [ + null, + null, + null + ], + "MMR2": [ + null, + null, + null + ], + "TL200": [ + null, + null, + null, + null, + null, + null + ] + } + }, + "meta": { + "name": "Value_0" + }, + "position": { + "height": 32, + "width": 39, + "x": 18.5, + "y": 73.5 + }, + "propConfig": { + "custom.CurrentHum.MMR1[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_HT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.MMR1[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_HT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.MMR1[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1120/SATB1_HS1_MMR1120_HT03_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.MMR2[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_HT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.MMR2[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_HT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.MMR2[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_HT03_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.TL200[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL198_HT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.TL200[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL198_HT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.TL200[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL198_HT03_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.TL200[3]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_HT01_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.TL200[4]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_HT02_C/Val" + }, + "type": "tag" + } + }, + "custom.CurrentHum.TL200[5]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1152/SATB1_RM1152_TL200_HT03_C/Val" + }, + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "struct": { + "current": "{this.custom.CurrentHum}", + "room": "{view.params.room}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tlib \u003d value[\u0027current\u0027]\n\tdim \u003d len(lib[value[\u0027room\u0027]])\n\tavg \u003d 0\n\tfor item in lib[value[\u0027room\u0027]]:\n\t\tavg +\u003d item\n\treturn avg / dim", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "0.0", + "type": "format" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root", + "tooltip": { + "width": "" + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_ColdAisle/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_ColdAisle/resource.json new file mode 100644 index 0000000..19d1e12 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_ColdAisle/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c74871df211543f6f64533fa5cab05d80bb655f44bb1689e3c7ba15da0719ef6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T20:38:56Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_ColdAisle/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_ColdAisle/thumbnail.png new file mode 100644 index 0000000..7a0261a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_ColdAisle/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_ColdAisle/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_ColdAisle/view.json new file mode 100644 index 0000000..54785d5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_ColdAisle/view.json @@ -0,0 +1,646 @@ +{ + "custom": { + "Temp": [ + 65, + 78, + 60 + ], + "gradient": [ + null, + null, + null + ], + "inMax": 5, + "inMin": -5, + "paths": [ + null, + null, + null + ] + }, + "params": { + "Aisle": "", + "SP": 65, + "embedded": true, + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188" + }, + "propConfig": { + "custom.Temp": { + "persistent": true + }, + "custom.Temp[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/DH/Temp1" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Temp[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/DH/Temp5" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.Temp[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/DH/Temp10" + }, + "enabled": false, + "type": "tag" + } + }, + "custom.gradient": { + "persistent": true + }, + "custom.gradient[0]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[0]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 5\n\tif value\u003cself.custom.inMin: value \u003d -5\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[1]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[1]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[2]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[2]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.inMax": { + "persistent": true + }, + "custom.inMin": { + "persistent": true + }, + "custom.paths": { + "persistent": true + }, + "custom.paths[0]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT01_C\")" + }, + "type": "expr" + } + }, + "custom.paths[1]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT02_C\")" + }, + "type": "expr" + } + }, + "custom.paths[2]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT03_C\")" + }, + "type": "expr" + } + }, + "params.Aisle": { + "paramDirection": "input", + "persistent": true + }, + "params.SP": { + "paramDirection": "input", + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "uppterTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "enabled": false, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/DH/Temp1" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F", + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "upperHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_HT01_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "upperTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "midTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[1]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "enabled": false, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT02_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "°F", + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "midHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_HT02_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "midTransmitters" + }, + "position": { + "basis": "60%" + }, + "props": { + "alignContent": "space-between", + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "lowerTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[2]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "enabled": false, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT03_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "°F", + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "lowerHT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_HT03_C\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "%", + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "lowerTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.backgroundImage": { + "binding": { + "config": { + "expression": "concat(\"linear-gradient(to bottom, rgba(00.0, 127.0,210.0, \",{view.custom.gradient[0]},\"), rgba(00.0, 127.0,210.0, \",{view.custom.gradient[1]},\"),rgba(00.0, 127.0,210.0, \",{view.custom.gradient[2]},\"))\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible", + "paddingBottom": "2px", + "paddingLeft": "2px", + "paddingRight": "2px", + "paddingTop": "2px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_Dewpoint/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_Dewpoint/resource.json new file mode 100644 index 0000000..8ea34a4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_Dewpoint/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "bde9115db7cae7691442ff0d02b428400789005e4b3589a826bfea00f0acfc1b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:24:25Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_Dewpoint/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_Dewpoint/thumbnail.png new file mode 100644 index 0000000..fa964d7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_Dewpoint/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_Dewpoint/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_Dewpoint/view.json new file mode 100644 index 0000000..da3693e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_Dewpoint/view.json @@ -0,0 +1,1553 @@ +{ + "custom": { + "alarmHi": 0, + "data": [ + { + "dwpt": 48.93775767938427, + "t_stamp": 1776971595257 + }, + { + "dwpt": 48.93954980623839, + "t_stamp": 1776971625257 + }, + { + "dwpt": 48.94134193309251, + "t_stamp": 1776971655257 + }, + { + "dwpt": 48.94313405994663, + "t_stamp": 1776971685257 + }, + { + "dwpt": 48.94492618680076, + "t_stamp": 1776971715257 + }, + { + "dwpt": 48.94671831365488, + "t_stamp": 1776971745257 + }, + { + "dwpt": 48.948510440509, + "t_stamp": 1776971775257 + }, + { + "dwpt": 48.95030256736312, + "t_stamp": 1776971805257 + }, + { + "dwpt": 48.952094694217244, + "t_stamp": 1776971835257 + }, + { + "dwpt": 48.953826904296875, + "t_stamp": 1776971865257 + }, + { + "dwpt": 48.954286565869715, + "t_stamp": 1776971895257 + }, + { + "dwpt": 48.95473135660561, + "t_stamp": 1776971925257 + }, + { + "dwpt": 48.95517614734151, + "t_stamp": 1776971955257 + }, + { + "dwpt": 48.955620938077416, + "t_stamp": 1776971985257 + }, + { + "dwpt": 48.956065728813314, + "t_stamp": 1776972015257 + }, + { + "dwpt": 48.95651051954921, + "t_stamp": 1776972045257 + }, + { + "dwpt": 48.95695531028512, + "t_stamp": 1776972075257 + }, + { + "dwpt": 48.957400101021015, + "t_stamp": 1776972105257 + }, + { + "dwpt": 48.95784489175691, + "t_stamp": 1776972135257 + }, + { + "dwpt": 48.958274841308594, + "t_stamp": 1776972165257 + }, + { + "dwpt": 48.958274841308594, + "t_stamp": 1776972195257 + }, + { + "dwpt": 48.958274841308594, + "t_stamp": 1776972225257 + }, + { + "dwpt": 48.958274841308594, + "t_stamp": 1776972255257 + }, + { + "dwpt": 48.958274841308594, + "t_stamp": 1776972285257 + }, + { + "dwpt": 48.958274841308594, + "t_stamp": 1776972315257 + }, + { + "dwpt": 48.958274841308594, + "t_stamp": 1776972345257 + }, + { + "dwpt": 48.96246632260701, + "t_stamp": 1776972375257 + }, + { + "dwpt": 48.966522594831275, + "t_stamp": 1776972405257 + }, + { + "dwpt": 48.97057886705554, + "t_stamp": 1776972435257 + }, + { + "dwpt": 48.97463513927981, + "t_stamp": 1776972465257 + }, + { + "dwpt": 48.97869141150408, + "t_stamp": 1776972495257 + }, + { + "dwpt": 48.98261260986328, + "t_stamp": 1776972525257 + }, + { + "dwpt": 48.97307560214996, + "t_stamp": 1776972555257 + }, + { + "dwpt": 48.970306396484375, + "t_stamp": 1776972585257 + }, + { + "dwpt": 48.98039213175324, + "t_stamp": 1776972615257 + }, + { + "dwpt": 48.98632503353692, + "t_stamp": 1776972645257 + }, + { + "dwpt": 48.9922579353206, + "t_stamp": 1776972675257 + }, + { + "dwpt": 48.99799346923828, + "t_stamp": 1776972705257 + }, + { + "dwpt": 48.98232587224112, + "t_stamp": 1776972735257 + }, + { + "dwpt": 48.96766662597656, + "t_stamp": 1776972765257 + }, + { + "dwpt": 48.99042862892151, + "t_stamp": 1776972795257 + }, + { + "dwpt": 49.01172637939453, + "t_stamp": 1776972825257 + }, + { + "dwpt": 49.00887027115255, + "t_stamp": 1776972855257 + }, + { + "dwpt": 49.0061060279271, + "t_stamp": 1776972885257 + }, + { + "dwpt": 49.00334178470165, + "t_stamp": 1776972915257 + }, + { + "dwpt": 49.0005775414762, + "t_stamp": 1776972945257 + }, + { + "dwpt": 48.99781329825075, + "t_stamp": 1776972975257 + }, + { + "dwpt": 48.99504905502529, + "t_stamp": 1776973005257 + }, + { + "dwpt": 48.99228481179984, + "t_stamp": 1776973035257 + }, + { + "dwpt": 48.991455078125, + "t_stamp": 1776973065257 + }, + { + "dwpt": 48.99073126712821, + "t_stamp": 1776973095257 + }, + { + "dwpt": 48.99030545420727, + "t_stamp": 1776973125257 + }, + { + "dwpt": 48.98987964128632, + "t_stamp": 1776973155257 + }, + { + "dwpt": 48.98945382836538, + "t_stamp": 1776973185257 + }, + { + "dwpt": 48.98902801544443, + "t_stamp": 1776973215257 + }, + { + "dwpt": 48.98860220252349, + "t_stamp": 1776973245257 + }, + { + "dwpt": 48.98817638960254, + "t_stamp": 1776973275257 + }, + { + "dwpt": 48.9877505766816, + "t_stamp": 1776973305257 + }, + { + "dwpt": 48.987324763760654, + "t_stamp": 1776973335257 + }, + { + "dwpt": 48.98689895083971, + "t_stamp": 1776973365257 + }, + { + "dwpt": 48.986473137918765, + "t_stamp": 1776973395257 + }, + { + "dwpt": 48.98604732499782, + "t_stamp": 1776973425257 + }, + { + "dwpt": 48.985621512076875, + "t_stamp": 1776973455257 + }, + { + "dwpt": 48.98519569915593, + "t_stamp": 1776973485257 + }, + { + "dwpt": 48.984769886234986, + "t_stamp": 1776973515257 + }, + { + "dwpt": 48.984642028808594, + "t_stamp": 1776973545257 + }, + { + "dwpt": 48.98321690333607, + "t_stamp": 1776973575257 + }, + { + "dwpt": 48.982378462714486, + "t_stamp": 1776973605257 + }, + { + "dwpt": 48.9815400220929, + "t_stamp": 1776973635257 + }, + { + "dwpt": 48.980701581471315, + "t_stamp": 1776973665257 + }, + { + "dwpt": 48.97986314084974, + "t_stamp": 1776973695257 + }, + { + "dwpt": 48.97902470022815, + "t_stamp": 1776973725257 + }, + { + "dwpt": 48.97818625960657, + "t_stamp": 1776973755257 + }, + { + "dwpt": 48.97734781898499, + "t_stamp": 1776973785257 + }, + { + "dwpt": 48.9765093783634, + "t_stamp": 1776973815257 + }, + { + "dwpt": 48.97567093774182, + "t_stamp": 1776973845257 + }, + { + "dwpt": 48.97513961791992, + "t_stamp": 1776973875257 + }, + { + "dwpt": 48.98038324575191, + "t_stamp": 1776973905257 + }, + { + "dwpt": 48.98422107626643, + "t_stamp": 1776973935257 + }, + { + "dwpt": 48.98805890678095, + "t_stamp": 1776973965257 + }, + { + "dwpt": 48.99189673729547, + "t_stamp": 1776973995257 + }, + { + "dwpt": 48.99304962158203, + "t_stamp": 1776974025257 + }, + { + "dwpt": 49.01760207339745, + "t_stamp": 1776974055257 + }, + { + "dwpt": 49.06324768066406, + "t_stamp": 1776974085257 + }, + { + "dwpt": 49.072952395248414, + "t_stamp": 1776974115257 + }, + { + "dwpt": 49.075775146484375, + "t_stamp": 1776974145257 + }, + { + "dwpt": 49.162017822265625, + "t_stamp": 1776974175257 + }, + { + "dwpt": 49.18662643432617, + "t_stamp": 1776974205257 + }, + { + "dwpt": 49.22480392456055, + "t_stamp": 1776974235257 + }, + { + "dwpt": 49.33439254760742, + "t_stamp": 1776974265257 + }, + { + "dwpt": 49.34982358887006, + "t_stamp": 1776974295257 + }, + { + "dwpt": 49.36427307128906, + "t_stamp": 1776974325257 + }, + { + "dwpt": 49.4187126159668, + "t_stamp": 1776974355257 + }, + { + "dwpt": 49.44184112548828, + "t_stamp": 1776974385257 + }, + { + "dwpt": 49.41184616088867, + "t_stamp": 1776974415257 + }, + { + "dwpt": 49.43357675565803, + "t_stamp": 1776974445257 + }, + { + "dwpt": 49.44950555188255, + "t_stamp": 1776974475257 + }, + { + "dwpt": 49.46491241455078, + "t_stamp": 1776974505257 + }, + { + "dwpt": 49.44029998779297, + "t_stamp": 1776974535257 + }, + { + "dwpt": 49.502130354649005, + "t_stamp": 1776974565257 + }, + { + "dwpt": 49.547393061895804, + "t_stamp": 1776974595257 + }, + { + "dwpt": 49.56104278564453, + "t_stamp": 1776974625257 + }, + { + "dwpt": 49.56673410634496, + "t_stamp": 1776974655257 + }, + { + "dwpt": 49.56774139404297, + "t_stamp": 1776974685257 + }, + { + "dwpt": 49.60948944091797, + "t_stamp": 1776974715257 + }, + { + "dwpt": 49.63447910619303, + "t_stamp": 1776974745257 + }, + { + "dwpt": 49.652772258265934, + "t_stamp": 1776974775257 + }, + { + "dwpt": 49.65827178955078, + "t_stamp": 1776974805257 + }, + { + "dwpt": 49.648982267634075, + "t_stamp": 1776974835257 + }, + { + "dwpt": 49.6473388671875, + "t_stamp": 1776974865257 + }, + { + "dwpt": 49.67273498431588, + "t_stamp": 1776974895257 + }, + { + "dwpt": 49.68767944428825, + "t_stamp": 1776974925257 + }, + { + "dwpt": 49.70262390426062, + "t_stamp": 1776974955257 + }, + { + "dwpt": 49.71756836423299, + "t_stamp": 1776974985257 + }, + { + "dwpt": 49.72704315185547, + "t_stamp": 1776975015257 + }, + { + "dwpt": 49.71781476653944, + "t_stamp": 1776975045257 + }, + { + "dwpt": 49.711058993980124, + "t_stamp": 1776975075257 + }, + { + "dwpt": 49.70430322142081, + "t_stamp": 1776975105257 + }, + { + "dwpt": 49.70001983642578, + "t_stamp": 1776975135257 + }, + { + "dwpt": 49.745941162109375, + "t_stamp": 1776975165257 + }, + { + "dwpt": 49.75809344210157, + "t_stamp": 1776975195257 + }, + { + "dwpt": 49.769861685097325, + "t_stamp": 1776975225257 + }, + { + "dwpt": 49.78162992809309, + "t_stamp": 1776975255257 + }, + { + "dwpt": 49.79301452636719, + "t_stamp": 1776975285257 + }, + { + "dwpt": 49.808630525051086, + "t_stamp": 1776975315257 + }, + { + "dwpt": 49.81317901611328, + "t_stamp": 1776975345257 + }, + { + "dwpt": 49.83413907283911, + "t_stamp": 1776975375257 + }, + { + "dwpt": 49.84647408081868, + "t_stamp": 1776975405257 + }, + { + "dwpt": 49.85880908879825, + "t_stamp": 1776975435257 + }, + { + "dwpt": 49.87074279785156, + "t_stamp": 1776975465257 + }, + { + "dwpt": 49.885271069335936, + "t_stamp": 1776975495257 + }, + { + "dwpt": 49.89934158020019, + "t_stamp": 1776975525257 + }, + { + "dwpt": 49.90826416015625, + "t_stamp": 1776975555257 + }, + { + "dwpt": 49.88678741455078, + "t_stamp": 1776975585257 + }, + { + "dwpt": 49.91400348516351, + "t_stamp": 1776975615257 + }, + { + "dwpt": 49.93002047587251, + "t_stamp": 1776975645257 + }, + { + "dwpt": 49.94017791748047, + "t_stamp": 1776975675257 + }, + { + "dwpt": 49.943929290771486, + "t_stamp": 1776975705257 + }, + { + "dwpt": 49.94567108154297, + "t_stamp": 1776975735257 + }, + { + "dwpt": 49.96929489002284, + "t_stamp": 1776975765257 + }, + { + "dwpt": 49.98027801513672, + "t_stamp": 1776975795257 + }, + { + "dwpt": 49.9922582574515, + "t_stamp": 1776975825257 + }, + { + "dwpt": 50.00103499174805, + "t_stamp": 1776975855257 + }, + { + "dwpt": 50.009811726044596, + "t_stamp": 1776975885257 + }, + { + "dwpt": 50.01858846034114, + "t_stamp": 1776975915257 + }, + { + "dwpt": 50.02708053588867, + "t_stamp": 1776975945257 + }, + { + "dwpt": 50.05751037597656, + "t_stamp": 1776975975257 + }, + { + "dwpt": 50.043951386451724, + "t_stamp": 1776976005257 + }, + { + "dwpt": 50.034023636817935, + "t_stamp": 1776976035257 + }, + { + "dwpt": 50.031036376953125, + "t_stamp": 1776976065257 + }, + { + "dwpt": 50.05364536853735, + "t_stamp": 1776976095257 + }, + { + "dwpt": 50.06652069091797, + "t_stamp": 1776976125257 + }, + { + "dwpt": 50.10275988273621, + "t_stamp": 1776976155257 + }, + { + "dwpt": 50.11332321166992, + "t_stamp": 1776976185257 + }, + { + "dwpt": 50.121934487276356, + "t_stamp": 1776976215257 + }, + { + "dwpt": 50.12683868408203, + "t_stamp": 1776976245257 + }, + { + "dwpt": 50.145294189453125, + "t_stamp": 1776976275257 + }, + { + "dwpt": 50.132325863933566, + "t_stamp": 1776976305257 + }, + { + "dwpt": 50.12283012876511, + "t_stamp": 1776976335257 + }, + { + "dwpt": 50.119972229003906, + "t_stamp": 1776976365257 + }, + { + "dwpt": 50.137004795774764, + "t_stamp": 1776976395257 + }, + { + "dwpt": 50.14002227783203, + "t_stamp": 1776976425257 + }, + { + "dwpt": 50.15262167358399, + "t_stamp": 1776976455257 + }, + { + "dwpt": 50.15979766845703, + "t_stamp": 1776976485257 + }, + { + "dwpt": 50.19883644354051, + "t_stamp": 1776976515257 + }, + { + "dwpt": 50.21022033691406, + "t_stamp": 1776976545257 + }, + { + "dwpt": 50.216957381629946, + "t_stamp": 1776976575257 + }, + { + "dwpt": 50.22092275943756, + "t_stamp": 1776976605257 + }, + { + "dwpt": 50.22488813724518, + "t_stamp": 1776976635257 + }, + { + "dwpt": 50.2288535150528, + "t_stamp": 1776976665257 + }, + { + "dwpt": 50.23136901855469, + "t_stamp": 1776976695257 + }, + { + "dwpt": 50.25269383798683, + "t_stamp": 1776976725257 + }, + { + "dwpt": 50.268309171115895, + "t_stamp": 1776976755257 + }, + { + "dwpt": 50.28392450424496, + "t_stamp": 1776976785257 + }, + { + "dwpt": 50.29383087158203, + "t_stamp": 1776976815257 + }, + { + "dwpt": 50.31239318847656, + "t_stamp": 1776976845257 + }, + { + "dwpt": 50.32179212990103, + "t_stamp": 1776976875257 + }, + { + "dwpt": 50.33089727852973, + "t_stamp": 1776976905257 + }, + { + "dwpt": 50.340002427158446, + "t_stamp": 1776976935257 + }, + { + "dwpt": 50.34910757578715, + "t_stamp": 1776976965257 + }, + { + "dwpt": 50.358212724415864, + "t_stamp": 1776976995257 + }, + { + "dwpt": 50.37303924560547, + "t_stamp": 1776977025257 + }, + { + "dwpt": 50.35304260253906, + "t_stamp": 1776977055257 + }, + { + "dwpt": 50.390848921012875, + "t_stamp": 1776977085257 + }, + { + "dwpt": 50.418535040092465, + "t_stamp": 1776977115257 + }, + { + "dwpt": 50.42687225341797, + "t_stamp": 1776977145257 + }, + { + "dwpt": 50.427852677998885, + "t_stamp": 1776977175257 + }, + { + "dwpt": 50.42842978307732, + "t_stamp": 1776977205257 + }, + { + "dwpt": 50.429006888155754, + "t_stamp": 1776977235257 + }, + { + "dwpt": 50.4295654296875, + "t_stamp": 1776977265257 + }, + { + "dwpt": 50.45530620416005, + "t_stamp": 1776977295257 + }, + { + "dwpt": 50.47944259643555, + "t_stamp": 1776977325257 + }, + { + "dwpt": 50.476891190950184, + "t_stamp": 1776977355257 + }, + { + "dwpt": 50.47441929802072, + "t_stamp": 1776977385257 + }, + { + "dwpt": 50.47285079956055, + "t_stamp": 1776977415257 + }, + { + "dwpt": 50.50048065185547, + "t_stamp": 1776977445257 + }, + { + "dwpt": 50.512048176552, + "t_stamp": 1776977475257 + }, + { + "dwpt": 50.52289581298828, + "t_stamp": 1776977505257 + }, + { + "dwpt": 50.528133008651736, + "t_stamp": 1776977535257 + }, + { + "dwpt": 50.53320731895447, + "t_stamp": 1776977565257 + }, + { + "dwpt": 50.5382816292572, + "t_stamp": 1776977595257 + }, + { + "dwpt": 50.53981018066406, + "t_stamp": 1776977625257 + }, + { + "dwpt": 50.526655430376614, + "t_stamp": 1776977655257 + }, + { + "dwpt": 50.524322509765625, + "t_stamp": 1776977685257 + }, + { + "dwpt": 50.54762676143646, + "t_stamp": 1776977715257 + }, + { + "dwpt": 50.56090545654297, + "t_stamp": 1776977745257 + }, + { + "dwpt": 50.56719805994804, + "t_stamp": 1776977775257 + }, + { + "dwpt": 50.57329514999882, + "t_stamp": 1776977805257 + }, + { + "dwpt": 50.5793922400496, + "t_stamp": 1776977835257 + }, + { + "dwpt": 50.58548933010038, + "t_stamp": 1776977865257 + }, + { + "dwpt": 50.59158642015116, + "t_stamp": 1776977895257 + }, + { + "dwpt": 50.59748840332031, + "t_stamp": 1776977925257 + }, + { + "dwpt": 50.61288116455078, + "t_stamp": 1776977955257 + }, + { + "dwpt": 50.6273193359375, + "t_stamp": 1776977985257 + }, + { + "dwpt": 50.621309860229495, + "t_stamp": 1776978015257 + }, + { + "dwpt": 50.61567306518555, + "t_stamp": 1776978045257 + }, + { + "dwpt": 50.65073530124952, + "t_stamp": 1776978075257 + }, + { + "dwpt": 50.683624267578125, + "t_stamp": 1776978105257 + }, + { + "dwpt": 50.68858735597029, + "t_stamp": 1776978135257 + }, + { + "dwpt": 50.69339670548949, + "t_stamp": 1776978165257 + }, + { + "dwpt": 50.6982060550087, + "t_stamp": 1776978195257 + }, + { + "dwpt": 50.703015404527896, + "t_stamp": 1776978225257 + }, + { + "dwpt": 50.7078247540471, + "t_stamp": 1776978255257 + }, + { + "dwpt": 50.70927429199219, + "t_stamp": 1776978285257 + }, + { + "dwpt": 50.7228862356048, + "t_stamp": 1776978315257 + }, + { + "dwpt": 50.73064422607422, + "t_stamp": 1776978345257 + }, + { + "dwpt": 50.7369174785509, + "t_stamp": 1776978375257 + }, + { + "dwpt": 50.74299680065254, + "t_stamp": 1776978405257 + }, + { + "dwpt": 50.74907612275418, + "t_stamp": 1776978435257 + }, + { + "dwpt": 50.755155444855816, + "t_stamp": 1776978465257 + }, + { + "dwpt": 50.76123476695746, + "t_stamp": 1776978495257 + }, + { + "dwpt": 50.767120361328125, + "t_stamp": 1776978525257 + }, + { + "dwpt": 50.77496639402143, + "t_stamp": 1776978555257 + }, + { + "dwpt": 50.78257012127299, + "t_stamp": 1776978585257 + }, + { + "dwpt": 50.790173848524546, + "t_stamp": 1776978615257 + }, + { + "dwpt": 50.7977775757761, + "t_stamp": 1776978645257 + }, + { + "dwpt": 50.80260467529297, + "t_stamp": 1776978675257 + }, + { + "dwpt": 50.788244449297586, + "t_stamp": 1776978705257 + }, + { + "dwpt": 50.78156661987305, + "t_stamp": 1776978735257 + }, + { + "dwpt": 50.78156661987305, + "t_stamp": 1776978765257 + } + ], + "hiRange": 65, + "loRange": 30, + "tagPath": [ + { + "aggregate": "LastValue", + "alias": "dwpt", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh5/opc tags/satb1_dh5_dwpt" + } + ] + }, + "params": { + "DH": "DH5" + }, + "propConfig": { + "custom.alarmHi": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--sunsetorange)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{view.custom.tagPath}", + "valueFormat": "DOCUMENT" + }, + "enabled": false, + "type": "tag-history" + }, + "persistent": true + }, + "custom.hiRange": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/Memory/{DH} Dwpt Hi Limit" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.loRange": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/Memory/{DH} Dwpt Lo Limit" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.tagPath": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "enabled": false, + "transforms": [ + { + "code": "\tdh\u003d value.lower()\n\tpath \u003d \"[Ignition_Hist/ignition-satb1-io6:default]\" + dh + \"/opc tags/satb1_\" + dh + \"_dwpt\"\n\toutput \u003d {}\n\toutput[\u0027path\u0027] \u003d path\n\toutput[\u0027alias\u0027] \u003d \u0027dwpt\u0027\n\toutput[\u0027aggregate\u0027] \u003d \u0027LastValue\u0027\n\toutputArray \u003d []\n\toutputArray.append(output)\n\treturn outputArray", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 140, + "width": 125 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "time01" + }, + "position": { + "height": 25, + "width": 37, + "x": 85, + "y": 60 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "time02" + }, + "position": { + "height": 25, + "width": 38, + "x": 6, + "y": 60 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now()-7200000" + }, + "transforms": [ + { + "formatType": "datetime", + "formatValue": { + "time": "short" + }, + "locale": "en", + "timezone": "Canada/Central", + "type": "format" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Sparkline", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 65, + "width": 108, + "x": 10.5, + "y": 5.5 + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "code": "\tdata \u003d []\n\tfor item in value:\n\t\tdata.append(item[\u0027dwpt\u0027])\n\treturn data", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.max": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.min": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "transforms": [ + { + "expression": "min({value})", + "type": "expression" + } + ], + "type": "property" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "min": "{this.custom.min}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "\"Max: \" + {value}[\u0027max\u0027] + \" | \" + \"Min: \" + {value}[\u0027min\u0027]\r\n", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.desired.high": { + "binding": { + "config": { + "path": "view.custom.hiRange" + }, + "type": "property" + } + }, + "props.desired.low": { + "binding": { + "config": { + "path": "view.custom.hiRange" + }, + "type": "property" + } + }, + "props.points": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "type": "property" + } + }, + "props.range.high": { + "binding": { + "config": { + "struct": { + "max": "{this.custom.max}", + "range": "{view.custom.hiRange}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027max\u0027] \u003c value[\u0027range\u0027]:\n\t\treturn value[\u0027range\u0027]\n\telse:\n\t\treturn value[\u0027max\u0027]+0.7", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.range.low": { + "binding": { + "config": { + "struct": { + "min": "{this.custom.min}", + "range": "{view.custom.loRange}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027min\u0027] \u003e value[\u0027range\u0027]:\n\t\treturn value[\u0027range\u0027]\n\telse:\n\t\treturn value[\u0027min\u0027]-0.7", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "desired": { + "fill": { + "color": "var(--container)" + } + }, + "marker": { + "high": { + "fill": { + "color": "#FB9306" + }, + "style": { + "transform": "rotate(180)" + } + } + }, + "range": {} + }, + "type": "ia.display.sparkline" + }, + { + "meta": { + "name": "Border" + }, + "position": { + "height": 35, + "width": 89, + "x": 13, + "y": 91.5 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "enabled": false, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--sunsetorange)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "enabled": false, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "outlineColor": "white", + "outlineStyle": "none", + "outlineWidth": 3 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "height": 32, + "width": 39, + "x": 18.50446319580078, + "y": 84.5011157989502 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "0.00", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 50.79, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontWeight": "bolder" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "height": 32, + "width": 41, + "x": 60.50446319580078, + "y": 84.5011157989502 + }, + "props": { + "text": "degF" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU_0" + }, + "position": { + "height": 17, + "width": 74, + "x": 20.5, + "y": 108.5 + }, + "props": { + "text": "Dewpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 29, + "rotate": { + "anchor": "50% 100%" + }, + "width": 32, + "x": 87.9945, + "y": 75.5011 + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH}_Dwpt/Alarms.HasActive" + }, + "enabled": false, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 3 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "AlarmSeverity": 0, + "ack": false + }, + "path": "Library/Alarms/Icons" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root", + "tooltip": { + "width": "" + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle/resource.json new file mode 100644 index 0000000..e49ffd9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "223c776ef5332ca2b11cf05ae3b0ad38fd85e4ae614421fff56b4d6a68d070b1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T00:40:44Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle/thumbnail.png new file mode 100644 index 0000000..4b97ecf Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle/view.json new file mode 100644 index 0000000..0dcc39d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle/view.json @@ -0,0 +1,165 @@ +{ + "custom": { + "Temp": 72, + "gradient": "40", + "inMax": 10, + "inMin": -10, + "outMax": 255, + "outMin": 0, + "sensor_tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_PNL22_H1_TT01" + }, + "params": { + "Aisle": "H1", + "SP": 77, + "TT": "TT01", + "embedded": true, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_PNL22_" + }, + "propConfig": { + "custom.Temp": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/DH/Temp4" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "custom.gradient": { + "binding": { + "config": { + "expression": "{view.custom.Temp}-{view.params.SP}" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\tresult \u003d (normalized*(self.custom.outMax - self.custom.outMin))+ self.custom.outMin\n\treturn result", + "type": "script" + }, + { + "expression": "toHex({value})", + "type": "expression" + } + ], + "type": "expr" + }, + "persistent": true + }, + "custom.inMax": { + "persistent": true + }, + "custom.inMin": { + "persistent": true + }, + "custom.outMax": { + "persistent": true + }, + "custom.outMin": { + "persistent": true + }, + "custom.sensor_tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_\",{view.params.TT})" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Aisle": { + "paramDirection": "input", + "persistent": true + }, + "params.SP": { + "paramDirection": "input", + "persistent": true + }, + "params.TT": { + "paramDirection": "input", + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "uppterTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.embedded": { + "binding": { + "config": { + "path": "view.params.embedded" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_\",{view.params.TT})" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "EU": "°F", + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "concat(\"#D24E00\", {view.custom.gradient})" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible", + "paddingBottom": "2px", + "paddingLeft": "10px", + "paddingRight": "10px", + "paddingTop": "2px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle_3/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle_3/resource.json new file mode 100644 index 0000000..72cc55b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle_3/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a49f2d58003fdf3e1adefd6747b1145518a53bb15f848b1dd713922f99c00a70", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-17T00:29:32Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle_3/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle_3/thumbnail.png new file mode 100644 index 0000000..cf631d5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle_3/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle_3/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle_3/view.json new file mode 100644 index 0000000..381baf7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/HVAC/Wdg_HotAisle_3/view.json @@ -0,0 +1,456 @@ +{ + "custom": { + "Temp": [ + null, + null, + null + ], + "gradient": [ + null, + null, + null + ], + "inMax": 5, + "inMin": -5, + "paths": [ + null, + null, + null + ] + }, + "params": { + "Aisle": "H11", + "SP": 65, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_" + }, + "propConfig": { + "custom.Temp": { + "persistent": true + }, + "custom.Temp[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Val" + }, + "type": "tag" + } + }, + "custom.Temp[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{view.custom.paths[1]}" + }, + "tagPath": "{1}/Val" + }, + "type": "tag" + } + }, + "custom.Temp[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "2": "{view.custom.paths[2]}" + }, + "tagPath": "{2}/Val" + }, + "type": "tag" + } + }, + "custom.gradient": { + "persistent": true + }, + "custom.gradient[0]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[0]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 5\n\tif value\u003cself.custom.inMin: value \u003d -5\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[1]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[1]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.gradient[2]": { + "binding": { + "config": { + "expression": "{view.custom.Temp[2]}-{view.params.SP}\r\n" + }, + "transforms": [ + { + "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.inMax": { + "persistent": true + }, + "custom.inMin": { + "persistent": true + }, + "custom.paths": { + "persistent": true + }, + "custom.paths[0]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT01\")" + }, + "type": "expr" + } + }, + "custom.paths[1]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT02\")" + }, + "type": "expr" + } + }, + "custom.paths[2]": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT03\")" + }, + "type": "expr" + } + }, + "params.Aisle": { + "paramDirection": "input", + "persistent": true + }, + "params.SP": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "uppterTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[0]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT01\")" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "objectName": "AnalogInRS485" + }, + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "upperTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "midTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[1]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT02\")" + }, + "type": "expr" + } + } + }, + "props": { + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "midTransmitters" + }, + "position": { + "basis": "60%" + }, + "props": { + "alignContent": "space-between", + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "lowerTT" + }, + "position": { + "basis": "20px" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.paths[2]}" + }, + "tagPath": "{0}/Config/Celcius To Farenheit" + }, + "transforms": [ + { + "fallback": "EU", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "°C" + }, + { + "input": true, + "output": "°F" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT03\")" + }, + "type": "expr" + } + } + }, + "props": { + "path": "Library/Symbols/Sys_DH_Xmtr", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "lowerTransmitters" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.backgroundImage": { + "binding": { + "config": { + "expression": "concat(\"linear-gradient(to bottom, rgba(210.0, 78.0,0.0, \",{view.custom.gradient[0]},\"), rgba(210.0, 78.0, 0.0, \",{view.custom.gradient[1]},\"),rgba(210.0, 78.0, 0.0, \",{view.custom.gradient[2]},\"))\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible", + "paddingBottom": "2px", + "paddingLeft": "2px", + "paddingRight": "2px", + "paddingTop": "2px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAC_FirstFloor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAC_FirstFloor/resource.json new file mode 100644 index 0000000..dd59477 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAC_FirstFloor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "451d00f16309def18459d2e491c7de0ba06a799aa744aac90ddf91e5189ff178", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T18:46:06Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAC_FirstFloor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAC_FirstFloor/thumbnail.png new file mode 100644 index 0000000..7258f76 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAC_FirstFloor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAC_FirstFloor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAC_FirstFloor/view.json new file mode 100644 index 0000000..a619129 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAC_FirstFloor/view.json @@ -0,0 +1,5658 @@ +{ + "custom": { + "ColorHandler": { + "Wall": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + } + }, + "params": {}, + "propConfig": { + "custom.ColorHandler": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "custom": { + "MMR1120": "#BAEDFF", + "MMR1188": "#FFBABD", + "RM1152": "#BAEDFF" + }, + "meta": { + "name": "First Floor" + }, + "position": { + "height": "100%", + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "this.custom.MMR1120" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "this.custom.RM1152" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "this.custom.MMR1188" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[19].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[20].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[21].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[22].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[23].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[24].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[25].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[26].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[27].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[28].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[29].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[30].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[31].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[32].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[33].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[34].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[35].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[36].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[37].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[38].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[39].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[40].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1199-STAIR-C", + "name": "_1199-STAIR-C", + "type": "rect", + "width": "203.609", + "x": "1515.85", + "y": "1178.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.399", + "id": "_1197-2-CORRIDOR-H-2", + "name": "_1197-2-CORRIDOR-H-2", + "type": "rect", + "width": "1467.31", + "x": "183.815", + "y": "1134.85" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "41.332", + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": "1996.06", + "x": "1651.13", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.25", + "id": "_1194-1-CORRIDOR-E-2", + "name": "_1194-1-CORRIDOR-E-2", + "type": "rect", + "width": "2592.5", + "x": "1567.63", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1198-STAIR-B", + "name": "_1198-STAIR-B", + "type": "rect", + "width": "203.609", + "x": "3802.52", + "y": "1177.63" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "206.163", + "id": "_1183-STAIRS-D", + "name": "_1183-STAIRS-D", + "type": "rect", + "width": "86.751", + "x": "1.377", + "y": "358.889" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "169.655", + "id": "_1194-1-CORRIDOR-E-3", + "name": "_1194-1-CORRIDOR-E-3", + "type": "rect", + "width": "48.02", + "x": "3607.37", + "y": "1.095" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "899.5", + "id": "_1193-CORRIDOR-D", + "name": "_1193-CORRIDOR-D", + "type": "rect", + "width": "84", + "x": "2894.63", + "y": "235.5" + }, + { + "d": "M1488.64,1134.85l164.275,0.149l-0.034,-139.5l-83.689,0.074l0,-608.074l83.689,0.105l0,-44.605l-83.689,0l0,-107.649l-80.561,0l0.009,899.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1195-CORRIDOR-F", + "name": "_1195-CORRIDOR-F", + "type": "path" + }, + { + "d": "M183.628,1134.85l63.25,0l0,-792.224l-84.75,-0l0,-107.276l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1196-CORRIDOR-G", + "name": "_1196-CORRIDOR-G", + "type": "path" + }, + { + "d": "M3647.19,1178.01l-0.308,-42.395l-35.25,-0l0,-428.611l65,-0l0,329.711l163.5,0.433l-0.113,141.356l-192.829,-0.494Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1192-CORRIDOR-C", + "name": "_1192-CORRIDOR-C", + "type": "path" + }, + { + "d": "M4160.13,138.5l0,96.851l68.5,0l0,406.899l73.372,0l-0,-173.99l58.628,-0l0,-38.859l-58.628,-0l-0.372,-141.301l228.25,-0.1l0,-48.75l-222.014,-0l-0,-100.75l-147.736,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1191-CORRIDOR-B", + "name": "_1191-CORRIDOR-B", + "type": "path" + }, + { + "d": "M4478.59,735.5l-118.361,-0l-0.38,-28.5l-748.22,-0l0,-65.105l690.372,0.427l-0,5.178l44.403,0l0,-43.801l74.63,0l0.308,43.801l56.816,-0.335l0.432,88.335Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1190-CORRIDOR-A", + "name": "_1190-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.101", + "id": "_1194-1-CORRIDOR-E-1", + "name": "_1194-1-CORRIDOR-E-1", + "type": "rect", + "width": "1479.25", + "x": "88.378", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1123-STAIR-A", + "name": "_1123-STAIR-A", + "type": "rect", + "width": "58.434", + "x": "4477.3", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "288" + } + ], + "id": "Corridors-and-stairs", + "name": "Corridors-and-stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1165-elec", + "name": "_1165-elec", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1164-ER", + "name": "_1164-ER", + "type": "rect", + "width": "232", + "x": "329.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1163-ER", + "name": "_1163-ER", + "type": "rect", + "width": "232", + "x": "561.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1162-ER", + "name": "_1162-ER", + "type": "rect", + "width": "232", + "x": "793.628", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1161-ER", + "name": "_1161-ER", + "type": "rect", + "width": "232", + "x": "1025.63", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1160-ER", + "name": "_1160-ER", + "type": "rect", + "width": "238.155", + "x": "1258.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1159-MEP-ROOM", + "name": "_1159-MEP-ROOM", + "type": "rect", + "width": "239.508", + "x": "1496.28", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1158-ER", + "name": "_1158-ER", + "type": "rect", + "width": "231.337", + "x": "1735.79", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1157ER", + "name": "_1157ER", + "type": "rect", + "width": "233.123", + "x": "1967.13", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1156-ER", + "name": "_1156-ER", + "type": "rect", + "width": "231.803", + "x": "2200.25", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1155-ER", + "name": "_1155-ER", + "type": "rect", + "width": "232.461", + "x": "2432.05", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1151-ELEC", + "name": "_1151-ELEC", + "type": "rect", + "width": "183.5", + "x": "3655.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1150-MECH-POWER", + "name": "_1150-MECH-POWER", + "type": "rect", + "width": "232.348", + "x": "3838.63", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "137.655", + "id": "_1120-MMR1", + "name": "_1120-MMR1", + "type": "rect", + "width": "260.5", + "x": "4160.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1152-TAPE-LIBRARY", + "name": "_1152-TAPE-LIBRARY", + "type": "rect", + "width": "476.566", + "x": "2664.63", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "64.565", + "id": "_1154-SDC-IDF", + "name": "_1154-SDC-IDF", + "type": "rect", + "width": "88.333", + "x": "3388.41", + "y": "105.935" + }, + { + "d": "M3141.63,170.25l0,-169.947l464.001,0.042l-0,169.905l-128.69,0l-0,-64.25l-89.212,-0l0.338,64.25l-246.437,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1153-SD-STORAGE", + "name": "_1153-SD-STORAGE", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.155", + "id": "_1149-MDF", + "name": "_1149-MDF", + "type": "rect", + "width": "89.5", + "x": "4070.63", + "y": "1.095" + } + ], + "id": "ELEC---MECH", + "name": "ELEC---MECH", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": 0.5 + }, + "height": "51.46", + "id": "_1185-ELEC", + "name": "_1185-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "458.859" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1184-POE", + "name": "_1184-POE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "109.021", + "id": "_1186-FIRE-PLBG", + "name": "_1186-FIRE-PLBG", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "508.227" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.5", + "id": "_1187-MDF-2", + "name": "_1187-MDF-2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "407.5", + "id": "_1188-MMR2", + "name": "_1188-MMR2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "715.5" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "55.25", + "id": "_1189-POE-4", + "name": "_1189-POE-4", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "1123" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1171-GALLERY", + "name": "_1171-GALLERY", + "type": "rect", + "width": "1325.44", + "x": "1569.19", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1172-GALLERY", + "name": "_1172-GALLERY", + "type": "rect", + "width": "1241.72", + "x": "1652.91", + "y": "1064" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.182", + "id": "_1174-SDC-IDF", + "name": "_1174-SDC-IDF", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "930" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "542.5", + "id": "_1173-SDC-STORAGE", + "name": "_1173-SDC-STORAGE", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "387.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1170-DATAHALL-3", + "name": "_1170-DATAHALL-3", + "type": "rect", + "width": "1241.75", + "x": "1652.88", + "y": "343" + } + ], + "id": "DH3", + "name": "DH3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1181-GALLERY-", + "name": "_1181-GALLERY-", + "type": "rect", + "width": "1326.41", + "x": "162.215", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1182-GALLERY-", + "name": "_1182-GALLERY-", + "type": "rect", + "width": "1241.72", + "x": "246.911", + "y": "1065.51" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1181-1-DATAHALL-1180-1", + "name": "_1181-1-DATAHALL-1180-1", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "344.795" + } + ], + "id": "DH5", + "name": "DH5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1119-POE1", + "name": "_1119-POE1", + "type": "rect", + "width": "51.764", + "x": "4307.86", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.401", + "id": "_1109-MOT", + "name": "_1109-MOT", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "359" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "77.088", + "id": "_1113-HUDDLE", + "name": "_1113-HUDDLE", + "type": "rect", + "width": "86.707", + "x": "4544.16", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "68.485", + "id": "_1104-RR", + "name": "_1104-RR", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "365.023" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.992", + "id": "_1105-JAN", + "name": "_1105-JAN", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "433.508" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "78.218", + "id": "_1102.3-SOC-OFFICE", + "name": "_1102.3-SOC-OFFICE", + "type": "rect", + "width": "66.118", + "x": "4459.01", + "y": "489.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1126-JAN", + "name": "_1126-JAN", + "type": "rect", + "width": "57", + "x": "4303.13", + "y": "707" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1134.2-AM-OFFICE", + "name": "_1134.2-AM-OFFICE", + "type": "rect", + "width": "65.5", + "x": "4063.63", + "y": "850" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61.387", + "id": "_1136-RR", + "name": "_1136-RR", + "type": "rect", + "width": "81.653", + "x": "4063.63", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.218", + "id": "_1142-POE", + "name": "_1142-POE", + "type": "rect", + "width": "101.369", + "x": "3840.13", + "y": "1123.79" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.5-SHRED-ROOM", + "name": "_1133.5-SHRED-ROOM", + "type": "rect", + "width": "125.5", + "x": "3938.13", + "y": "932.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.6-HIGH-VALUE-STORAGE", + "name": "_1133.6-HIGH-VALUE-STORAGE", + "type": "rect", + "width": "261.5", + "x": "3676.63", + "y": "932.697" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "59.838", + "id": "_1133.2-CABLE-STORAGE", + "name": "_1133.2-CABLE-STORAGE", + "type": "rect", + "width": "163.5", + "x": "3676.63", + "y": "708.197" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "110.035", + "id": "_1135-WAITING", + "name": "_1135-WAITING", + "type": "rect", + "width": "62.384", + "x": "4145.28", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "119.5", + "id": "_1133.4-SECURE-STORAGE", + "name": "_1133.4-SECURE-STORAGE", + "type": "rect", + "width": "223.5", + "x": "3840.13", + "y": "813" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1128-ELEC", + "name": "_1128-ELEC", + "type": "rect", + "width": "57", + "x": "4302", + "y": "761.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1125-MECH", + "name": "_1125-MECH", + "type": "rect", + "width": "63.811", + "x": "4359", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1124-PASS", + "name": "_1124-PASS", + "type": "rect", + "width": "54.491", + "x": "4422.81", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1122-SDC-IDF", + "name": "_1122-SDC-IDF", + "type": "rect", + "width": "72.661", + "x": "4535.43", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1130-FREIGHT", + "name": "_1130-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4433.86", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1131-FREIGHT", + "name": "_1131-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4535.36", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1132-MECH", + "name": "_1132-MECH", + "type": "rect", + "width": "138.911", + "x": "4636.63", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61", + "id": "_1100.1-VESTIBULE", + "name": "_1100.1-VESTIBULE", + "type": "rect", + "width": "41.5", + "x": "4767.63", + "y": "499" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "130.798", + "id": "_1103-EXECUTIVE-CONFERENCE", + "name": "_1103-EXECUTIVE-CONFERENCE", + "type": "rect", + "width": "145.497", + "x": "4630.13", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1114-RECORDS", + "name": "_1114-RECORDS", + "type": "rect", + "width": "61", + "x": "4359.63", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1117-OFFICE", + "name": "_1117-OFFICE", + "type": "rect", + "width": "64.5", + "x": "4530.13", + "y": "2.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "237.952", + "id": "_1116-CONFERENCE", + "name": "_1116-CONFERENCE", + "type": "rect", + "width": "109.5", + "x": "4420.63", + "y": "1.298" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1118-OFFICE", + "name": "_1118-OFFICE", + "type": "rect", + "width": "65.274", + "x": "4594.63", + "y": "2.5" + }, + { + "d": "M4775.02,288l0.609,-285l-115.1,-2.655l-0.626,84.155l-130.024,-0.441l0,203.941l245.141,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1110-STREAM-OFFICE", + "name": "_1110-STREAM-OFFICE", + "type": "path" + }, + { + "d": "M4525.13,489.5l-0.162,157.719l33.495,0.137l0,-40.856l41.98,0l-0.008,11.157l52.695,0.479l-1.174,-128.636l-126.826,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1102.1-SOC", + "name": "_1102.1-SOC", + "type": "path" + }, + { + "d": "M4558.46,606.223l0,41.133l-80.452,-0l0.693,57.633l329.676,-0l0,-86.979l-207.164,0l0,-11.51l-42.753,-0.277Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1101-SECURE-LOBBY", + "name": "_1101-SECURE-LOBBY", + "type": "path" + }, + { + "d": "M4607.63,705l0,110.159l167.782,-0.651l0.693,-26.905l32.275,-0.433l0,-82.181l-200.75,0.011Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1121-CONFERENCE", + "name": "_1121-CONFERENCE", + "type": "path" + }, + { + "d": "M4207.55,706.868l0.073,379.082l23.565,0.081l75.845,39.795l19.744,-35.334l77.574,39.904l25.252,-44.509l94.628,0.083l76.334,39.209l19.102,-34.955l75.254,39.426l80.59,-0.024l-0,-197.372l-341.468,-0l-0,-115.82l-131.16,-1.275l0,-108.159l-95.333,-0.132Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1127-LOADING-DOCK", + "name": "_1127-LOADING-DOCK", + "type": "path" + }, + { + "d": "M4598.13,364.5l0,125l55.275,0l-0.13,128.5l155.105,0.01l0,-58.01l-40.75,0l0,-61.698l40.283,-0.037l-0,-79.467l-177.783,-0l0,-54.298l-32,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1100.0-LOBBY", + "name": "_1100.0-LOBBY", + "type": "path" + }, + { + "d": "M3676.63,932l0,-163.965l163.5,0l0,-61.035l367.5,-0l0,143l-144,-0l0,-37l-223.5,-0l0,119.5l-163.5,-0.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1133.1-RECEIVING", + "name": "_1133.1-RECEIVING", + "type": "path" + }, + { + "d": "M4457.98,468l0.296,179.18l-37.243,0.32l-0,-43.801l-38.163,0l0.111,-135.699l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1107-MMR", + "name": "_1107-MMR", + "type": "path" + }, + { + "d": "M4542.91,288l0.721,201.141l-84.617,0.359l-0,-21.24l-98.383,-0l-0.136,-180.26l182.415,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1111-BREAK-ROOM", + "name": "_1111-BREAK-ROOM", + "type": "path" + }, + { + "d": "M4302,468.26l2.333,179.853l42.045,-0.613l0,-42.868l37.34,-0l-0.117,-135.7l-81.601,-0.672Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1108-WRR", + "name": "_1108-WRR", + "type": "path" + }, + { + "d": "M4144.93,1037.5l1.203,140.499l-204.5,0.501l0,-52.454l-101.5,-1.355l0.451,-87.191l304.346,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1141-PLBG-FP", + "name": "_1141-PLBG-FP", + "type": "path" + }, + { + "d": "M4207.55,975.505l-143.66,0.495l-0.257,-44l65.5,-0l0,-82l78.417,0.185l0,125.32Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1134.1-ASSET-MANAGEMENT", + "name": "_1134.1-ASSET-MANAGEMENT", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "79.448", + "id": "_1102.2-SOC-STORAGE", + "name": "_1102.2-SOC-STORAGE", + "type": "rect", + "width": "65.955", + "x": "4459.01", + "y": "567.718" + } + ], + "id": "Stream-Offices", + "name": "Stream-Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "133.25", + "id": "_1138.2-SER", + "name": "_1138.2-SER", + "type": "rect", + "width": "79.5", + "x": "3937.13", + "y": "509" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "88.512", + "id": "_1138.3-FCR", + "name": "_1138.3-FCR", + "type": "rect", + "width": "73", + "x": "3864.13", + "y": "553.738" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.649", + "id": "_1139-TENANT-STORAGE", + "name": "_1139-TENANT-STORAGE", + "type": "rect", + "width": "389.821", + "x": "3222.13", + "y": "235.351" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "406.899", + "id": "_1137-OPS-STORAGE", + "name": "_1137-OPS-STORAGE", + "type": "rect", + "width": "163.5", + "x": "4065.13", + "y": "235.351" + }, + { + "d": "M3611.63,235.5l0,407l252.5,-0.25l0,-88.75l73,-0l0.198,-44.292l79.459,0l0.308,133.042l48.035,0l-0.309,-407.076l-453.191,0.326Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1138.1-TENANT-OFFICE", + "name": "_1138.1-TENANT-OFFICE", + "type": "path" + } + ], + "id": "Tenant-Offices", + "name": "Tenant-Offices", + "type": "group" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1140-MECH---PUMP", + "name": "_1140-MECH---PUMP", + "type": "rect", + "width": "243.5", + "x": "2978.63", + "y": "235.5" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,101.188l-0,-21.233l-40.298,-0l-0,21.233", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1544.41,1178.25l2262.71,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3828.13,1178l315.66,0.25l-0,-92.3l8.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4173.51,1086l57.373,0l76.749,40l19.362,-35.865l77.638,41.156l24.903,-45.608l94.597,0.035l76,40.135l19.39,-36.353l75.428,40l80.682,0l-0.395,-342.218l33.145,0l0,-250.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1035.5l0,94.842l0,-5.357l101.5,0.015l0,53.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1151.75l0,26.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4207.86,1085.95l-0.243,-84.421", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4145.28,1085.95l-0,-84.421l-0,35.614l-468.653,0.357l0,-330.5l294.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4027.95,707l179.674,-0l0,19.825l0,-19.825l127.139,-0l-31.655,-0l-0,59.272l-0,-4.626l56.736,-0l-0,-54.646l-0,109.434", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302.88,786.5l0,29.934l472.628,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4359.85,735.573l33.572,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4413.87,735.573l22.597,-0l-13.636,-0l0.293,80.861", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4477.13,816.434l-0,-80.861l-12.996,-0.323l12.996,0.323l-0,-30.584l7.264,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4504.26,704.989l31.169,-0l-0,111.445", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4608.09,816.434l-0,-111.445l-42.464,0.011", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4653.05,705l110.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4434.04,816.434l-0,115.82l9.934,-0.195", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4535.43,816.434l-0,115.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.63,816.434l0,116.066", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4661.9,932.5l113.729,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,932l185.781,-0l-22.281,-0l0,-119l39.813,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3918.12,813l145.506,-0l0,224.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4020.13,932l108.575,-0l0.156,-55.929", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.63,849.89l70.501,0.36", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.57,850.25l53.056,0l0,25.821l0,-92.073", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,768.035l163.5,0l0,-12.467", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3888.63,932.25l93,0l-43.433,0l-0.067,105.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.67,975.52l144.348,0.195l-0.195,-80.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3647.19,1178.71l0,-14.854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3646.88,1143l0,-7.389l-399.644,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,1135.61l0,-441.611", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3265.63,235.5l755.122,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,235.5l0,419.979l0,-13.175l299.892,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3962.63,642.25l59.351,0l-4.987,0l-0,-133.042l-79.666,0l-0,133.042", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3937.13,553.5l-73,-0l0,88.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.63,642.25l8,0l0,-362.294", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4228.63,241.158l0,-5.685l-168.451,-0.299l4.887,0.008l0,407.068l-23.196,0l140.671,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4160.13,235.351l0,-12.621", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3216.3,1135l10.348,0l-5.018,0l-0,-899.649l5.477,0l-23.327,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3165.48,235.351l-186.856,0l0,899.649l218.001,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4775.02,288l-148.777,-0l4.19,-0l-0.067,130.798l5.052,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4675.13,418.798l56.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4586.88,288l-48.457,-0l5.207,-0l0,201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,365.023l86.5,0.065", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,433.38l54.476,-0l0.16,8.138l0,-52.018", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4598.26,461.785l-0.136,27.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4558.88,622.5l0,-30.591l0,14.936l41.643,0.079l-0.079,10.901l66.663,-0l-13.916,-0l0,-128.325l-194.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4420.88,637l0,10.165l38.133,0l-0,-178.905l-157.011,-0l-0,179.24l44.325,0l-0,-10.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4346.38,617l0.025,-13.192l37.315,-0.235l-0.377,-135.313", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4421.03,616.625l-0.064,-12.926l-74.566,0.109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,239.25l4.674,-0l-0,-105.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4529.88,94l0,-9.5l20.662,-0l-20.662,-0l0.25,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4615.63,84.5l-25.999,-0l4.999,-0l0,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4656.52,84.25l3.384,0l0,-83.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.01,647.165l99.45,0l0,-7.237", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.13,567.191l65.999,-0.128l0,54.768l0,-62.3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,489l0,53.977", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4808.38,617.85l-44.723,0.16", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4743.13,617.85l-18.093,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4705.63,618.01l-17.935,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4360.63,468.067l0,-180.067l-4.8,-0l9.498,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4336.13,288.1l-34.134,-0l-0,141.301l32.686,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302,359l58.577,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4405.13,288l94.191,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.89,234.699l-0.021,11.078l0.012,-6.277l67.252,0l-15.5,0l0,-101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.86,213.705l-0,-75.205l-7.609,0l119.686,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.94,0.345l0,238.853l-5.317,-0.025l71.004,0.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4767.63,539.283l0,20.717l40.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.63,170.632l27.175,-0l-0,13.059l-0,-183.346", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4159.8,138.5l102.161,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-24.506,0l4.341,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3589.63,170.5l16.103,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3551.63,170.5l-138.99,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3476.94,170.5l-0,-64.5l-89.311,-0l0,64.5l5.331,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,50.149", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,508l95.313,-0l0,-5.217l0,10.007", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,5.893l0,-79.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,759.5l0,371.5l0,-7.955l-95.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1039l0,-18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1001l0,-616.527l0,3.027l-83.939,-0l0,37.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,463.614l0,471.386l0,-4.5l83.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,955.5l0,40l83.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1020l0,-635.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "First-Floor", + "name": "First-Floor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMaxYMax", + "stroke": { + "linejoin": "bevel" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "updateColor", + "pageScope": true, + "script": "\tactiveRoom \u003d payload[\"Room\"]\n\tif activeRoom \u003d\u003d \"MMR1120\":\n\t\tself.custom.MMR1120 \u003d self.view.custom.ColorHandler.selected\n\t\tself.custom.RM1152 \u003d self.view.custom.ColorHandler.available\n\t\tself.custom.MMR1188 \u003d self.view.custom.ColorHandler.available\n\telif activeRoom \u003d\u003d \"RM1152\":\n\t\tself.custom.MMR1120 \u003d self.view.custom.ColorHandler.available\n\t\tself.custom.RM1152 \u003d self.view.custom.ColorHandler.selected\n\t\tself.custom.MMR1188 \u003d self.view.custom.ColorHandler.available\n\telif activeRoom \u003d\u003d \"MMR1188\":\n\t\tself.custom.MMR1120 \u003d self.view.custom.ColorHandler.available\n\t\tself.custom.RM1152 \u003d self.view.custom.ColorHandler.available\n\t\tself.custom.MMR1188 \u003d self.view.custom.ColorHandler.selected\n\telse:\n\t\tself.custom.MMR1120 \u003d self.view.custom.ColorHandler.available\n\t\tself.custom.RM1152 \u003d self.view.custom.ColorHandler.available\n\t\tself.custom.MMR1188 \u003d self.view.custom.ColorHandler.available\n\t# implement your handler here", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tmessageType \u003d \"updateRoom\"\n\tpayload \u003d {\"Room\":self.meta.name}\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"updateColor\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "MMR1120", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 15, + "width": 36, + "x": 367.19, + "y": 8.98 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.custom.room" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "availableRooms": [ + "MMR1188", + "value", + "value" + ], + "room": "RM1152" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tmessageType \u003d \"updateRoom\"\n\tpayload \u003d {\"Room\":self.meta.name}\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"updateColor\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1152", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 22, + "width": 57, + "x": 229.95, + "y": 6.44 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.custom.room" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1188" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tmessageType \u003d \"updateRoom\"\n\tpayload \u003d {\"Room\":self.meta.name}\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"updateColor\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "MMR1188", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 38, + "width": 12, + "x": 5.99, + "y": 68.03 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.custom.room" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent", + "borderStyle": "none" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_FirstFloor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_FirstFloor/resource.json new file mode 100644 index 0000000..035f984 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_FirstFloor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6104ca7c5c12a46ca81e602dfadd8673add10747b09f20f014fbb994145110d0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T18:46:06Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_FirstFloor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_FirstFloor/thumbnail.png new file mode 100644 index 0000000..987611f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_FirstFloor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_FirstFloor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_FirstFloor/view.json new file mode 100644 index 0000000..91c1fcb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_FirstFloor/view.json @@ -0,0 +1,6100 @@ +{ + "custom": { + "Available": [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159", + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165", + "MPR1150", + "ER1151" + ], + "ColorHandler": { + "Wall": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "ER1151": "#BAEDFF", + "ER1155": "#BAEDFF", + "ER1156": "#BAEDFF", + "ER1157": "#BAEDFF", + "ER1158": "#BAEDFF", + "ER1159": "#BAEDFF", + "ER1161": "#BAEDFF", + "ER1162": "#BAEDFF", + "ER1163": "#BAEDFF", + "ER1164": "#BAEDFF", + "ER1165": "#BAEDFF", + "MPR1150": "#BAEDFF" + }, + "selected": "none" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\toutput[room] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "custom": { + "data": "value" + }, + "meta": { + "name": "First Floor" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1165" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1155" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1151" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MPR1150" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1164" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1163" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1162" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1161" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1159" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1158" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1157" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1156" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[19].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[20].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[21].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[22].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[23].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[24].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[25].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[26].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[27].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[28].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[29].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[30].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[31].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[32].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[33].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[34].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[35].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[36].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[37].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[38].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[39].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[40].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1199-STAIR-C", + "name": "_1199-STAIR-C", + "type": "rect", + "width": "203.609", + "x": "1515.85", + "y": "1178.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.399", + "id": "_1197-2-CORRIDOR-H-2", + "name": "_1197-2-CORRIDOR-H-2", + "type": "rect", + "width": "1467.31", + "x": "183.815", + "y": "1134.85" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "41.332", + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": "1996.06", + "x": "1651.13", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.25", + "id": "_1194-1-CORRIDOR-E-2", + "name": "_1194-1-CORRIDOR-E-2", + "type": "rect", + "width": "2592.5", + "x": "1567.63", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1198-STAIR-B", + "name": "_1198-STAIR-B", + "type": "rect", + "width": "203.609", + "x": "3802.52", + "y": "1177.63" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "206.163", + "id": "_1183-STAIRS-D", + "name": "_1183-STAIRS-D", + "type": "rect", + "width": "86.751", + "x": "1.377", + "y": "358.889" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "169.655", + "id": "_1194-1-CORRIDOR-E-3", + "name": "_1194-1-CORRIDOR-E-3", + "type": "rect", + "width": "48.02", + "x": "3607.37", + "y": "1.095" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "899.5", + "id": "_1193-CORRIDOR-D", + "name": "_1193-CORRIDOR-D", + "type": "rect", + "width": "84", + "x": "2894.63", + "y": "235.5" + }, + { + "d": "M1488.64,1134.85l164.275,0.149l-0.034,-139.5l-83.689,0.074l0,-608.074l83.689,0.105l0,-44.605l-83.689,0l0,-107.649l-80.561,0l0.009,899.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1195-CORRIDOR-F", + "name": "_1195-CORRIDOR-F", + "type": "path" + }, + { + "d": "M183.628,1134.85l63.25,0l0,-792.224l-84.75,-0l0,-107.276l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1196-CORRIDOR-G", + "name": "_1196-CORRIDOR-G", + "type": "path" + }, + { + "d": "M3647.19,1178.01l-0.308,-42.395l-35.25,-0l0,-428.611l65,-0l0,329.711l163.5,0.433l-0.113,141.356l-192.829,-0.494Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1192-CORRIDOR-C", + "name": "_1192-CORRIDOR-C", + "type": "path" + }, + { + "d": "M4160.13,138.5l0,96.851l68.5,0l0,406.899l73.372,0l-0,-173.99l58.628,-0l0,-38.859l-58.628,-0l-0.372,-141.301l228.25,-0.1l0,-48.75l-222.014,-0l-0,-100.75l-147.736,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1191-CORRIDOR-B", + "name": "_1191-CORRIDOR-B", + "type": "path" + }, + { + "d": "M4478.59,735.5l-118.361,-0l-0.38,-28.5l-748.22,-0l0,-65.105l690.372,0.427l-0,5.178l44.403,0l0,-43.801l74.63,0l0.308,43.801l56.816,-0.335l0.432,88.335Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1190-CORRIDOR-A", + "name": "_1190-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.101", + "id": "_1194-1-CORRIDOR-E-1", + "name": "_1194-1-CORRIDOR-E-1", + "type": "rect", + "width": "1479.25", + "x": "88.378", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1123-STAIR-A", + "name": "_1123-STAIR-A", + "type": "rect", + "width": "58.434", + "x": "4477.3", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "288" + } + ], + "id": "Corridors-and-stairs", + "name": "Corridors-and-stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1165-elec", + "name": "_1165-elec", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1164-ER", + "name": "_1164-ER", + "type": "rect", + "width": "232", + "x": "329.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1163-ER", + "name": "_1163-ER", + "type": "rect", + "width": "232", + "x": "561.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1162-ER", + "name": "_1162-ER", + "type": "rect", + "width": "232", + "x": "793.628", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1161-ER", + "name": "_1161-ER", + "type": "rect", + "width": "232", + "x": "1025.63", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1160-ER", + "name": "_1160-ER", + "type": "rect", + "width": "238.155", + "x": "1258.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1159-MEP-ROOM", + "name": "_1159-MEP-ROOM", + "type": "rect", + "width": "239.508", + "x": "1496.28", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1158-ER", + "name": "_1158-ER", + "type": "rect", + "width": "231.337", + "x": "1735.79", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1157ER", + "name": "_1157ER", + "type": "rect", + "width": "233.123", + "x": "1967.13", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1156-ER", + "name": "_1156-ER", + "type": "rect", + "width": "231.803", + "x": "2200.25", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1155-ER", + "name": "_1155-ER", + "type": "rect", + "width": "232.461", + "x": "2432.05", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1151-ELEC", + "name": "_1151-ELEC", + "type": "rect", + "width": "183.5", + "x": "3655.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1150-MECH-POWER", + "name": "_1150-MECH-POWER", + "type": "rect", + "width": "232.348", + "x": "3838.63", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "137.655", + "id": "_1120-MMR1", + "name": "_1120-MMR1", + "type": "rect", + "width": "260.5", + "x": "4160.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1152-TAPE-LIBRARY", + "name": "_1152-TAPE-LIBRARY", + "type": "rect", + "width": "476.566", + "x": "2664.63", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "64.565", + "id": "_1154-SDC-IDF", + "name": "_1154-SDC-IDF", + "type": "rect", + "width": "88.333", + "x": "3388.41", + "y": "105.935" + }, + { + "d": "M3141.63,170.25l0,-169.947l464.001,0.042l-0,169.905l-128.69,0l-0,-64.25l-89.212,-0l0.338,64.25l-246.437,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1153-SD-STORAGE", + "name": "_1153-SD-STORAGE", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.155", + "id": "_1149-MDF", + "name": "_1149-MDF", + "type": "rect", + "width": "89.5", + "x": "4070.63", + "y": "1.095" + } + ], + "id": "ELEC---MECH", + "name": "ELEC---MECH", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": 0.5 + }, + "height": "51.46", + "id": "_1185-ELEC", + "name": "_1185-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "458.859" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1184-POE", + "name": "_1184-POE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "109.021", + "id": "_1186-FIRE-PLBG", + "name": "_1186-FIRE-PLBG", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "508.227" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.5", + "id": "_1187-MDF-2", + "name": "_1187-MDF-2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "407.5", + "id": "_1188-MMR2", + "name": "_1188-MMR2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "715.5" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "55.25", + "id": "_1189-POE-4", + "name": "_1189-POE-4", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "1123" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1171-GALLERY", + "name": "_1171-GALLERY", + "type": "rect", + "width": "1325.44", + "x": "1569.19", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1172-GALLERY", + "name": "_1172-GALLERY", + "type": "rect", + "width": "1241.72", + "x": "1652.91", + "y": "1064" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.182", + "id": "_1174-SDC-IDF", + "name": "_1174-SDC-IDF", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "930" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "542.5", + "id": "_1173-SDC-STORAGE", + "name": "_1173-SDC-STORAGE", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "387.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1170-DATAHALL-3", + "name": "_1170-DATAHALL-3", + "type": "rect", + "width": "1241.75", + "x": "1652.88", + "y": "343" + } + ], + "id": "DH3", + "name": "DH3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1181-GALLERY-", + "name": "_1181-GALLERY-", + "type": "rect", + "width": "1326.41", + "x": "162.215", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1182-GALLERY-", + "name": "_1182-GALLERY-", + "type": "rect", + "width": "1241.72", + "x": "246.911", + "y": "1065.51" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1181-1-DATAHALL-1180-1", + "name": "_1181-1-DATAHALL-1180-1", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "344.795" + } + ], + "id": "DH5", + "name": "DH5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1119-POE1", + "name": "_1119-POE1", + "type": "rect", + "width": "51.764", + "x": "4307.86", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.401", + "id": "_1109-MOT", + "name": "_1109-MOT", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "359" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "77.088", + "id": "_1113-HUDDLE", + "name": "_1113-HUDDLE", + "type": "rect", + "width": "86.707", + "x": "4544.16", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "68.485", + "id": "_1104-RR", + "name": "_1104-RR", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "365.023" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.992", + "id": "_1105-JAN", + "name": "_1105-JAN", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "433.508" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "78.218", + "id": "_1102.3-SOC-OFFICE", + "name": "_1102.3-SOC-OFFICE", + "type": "rect", + "width": "66.118", + "x": "4459.01", + "y": "489.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1126-JAN", + "name": "_1126-JAN", + "type": "rect", + "width": "57", + "x": "4303.13", + "y": "707" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1134.2-AM-OFFICE", + "name": "_1134.2-AM-OFFICE", + "type": "rect", + "width": "65.5", + "x": "4063.63", + "y": "850" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61.387", + "id": "_1136-RR", + "name": "_1136-RR", + "type": "rect", + "width": "81.653", + "x": "4063.63", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.218", + "id": "_1142-POE", + "name": "_1142-POE", + "type": "rect", + "width": "101.369", + "x": "3840.13", + "y": "1123.79" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.5-SHRED-ROOM", + "name": "_1133.5-SHRED-ROOM", + "type": "rect", + "width": "125.5", + "x": "3938.13", + "y": "932.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.6-HIGH-VALUE-STORAGE", + "name": "_1133.6-HIGH-VALUE-STORAGE", + "type": "rect", + "width": "261.5", + "x": "3676.63", + "y": "932.697" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "59.838", + "id": "_1133.2-CABLE-STORAGE", + "name": "_1133.2-CABLE-STORAGE", + "type": "rect", + "width": "163.5", + "x": "3676.63", + "y": "708.197" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "110.035", + "id": "_1135-WAITING", + "name": "_1135-WAITING", + "type": "rect", + "width": "62.384", + "x": "4145.28", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "119.5", + "id": "_1133.4-SECURE-STORAGE", + "name": "_1133.4-SECURE-STORAGE", + "type": "rect", + "width": "223.5", + "x": "3840.13", + "y": "813" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1128-ELEC", + "name": "_1128-ELEC", + "type": "rect", + "width": "57", + "x": "4302", + "y": "761.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1125-MECH", + "name": "_1125-MECH", + "type": "rect", + "width": "63.811", + "x": "4359", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1124-PASS", + "name": "_1124-PASS", + "type": "rect", + "width": "54.491", + "x": "4422.81", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1122-SDC-IDF", + "name": "_1122-SDC-IDF", + "type": "rect", + "width": "72.661", + "x": "4535.43", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1130-FREIGHT", + "name": "_1130-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4433.86", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1131-FREIGHT", + "name": "_1131-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4535.36", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1132-MECH", + "name": "_1132-MECH", + "type": "rect", + "width": "138.911", + "x": "4636.63", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61", + "id": "_1100.1-VESTIBULE", + "name": "_1100.1-VESTIBULE", + "type": "rect", + "width": "41.5", + "x": "4767.63", + "y": "499" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "130.798", + "id": "_1103-EXECUTIVE-CONFERENCE", + "name": "_1103-EXECUTIVE-CONFERENCE", + "type": "rect", + "width": "145.497", + "x": "4630.13", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1114-RECORDS", + "name": "_1114-RECORDS", + "type": "rect", + "width": "61", + "x": "4359.63", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1117-OFFICE", + "name": "_1117-OFFICE", + "type": "rect", + "width": "64.5", + "x": "4530.13", + "y": "2.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "237.952", + "id": "_1116-CONFERENCE", + "name": "_1116-CONFERENCE", + "type": "rect", + "width": "109.5", + "x": "4420.63", + "y": "1.298" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1118-OFFICE", + "name": "_1118-OFFICE", + "type": "rect", + "width": "65.274", + "x": "4594.63", + "y": "2.5" + }, + { + "d": "M4775.02,288l0.609,-285l-115.1,-2.655l-0.626,84.155l-130.024,-0.441l0,203.941l245.141,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1110-STREAM-OFFICE", + "name": "_1110-STREAM-OFFICE", + "type": "path" + }, + { + "d": "M4525.13,489.5l-0.162,157.719l33.495,0.137l0,-40.856l41.98,0l-0.008,11.157l52.695,0.479l-1.174,-128.636l-126.826,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1102.1-SOC", + "name": "_1102.1-SOC", + "type": "path" + }, + { + "d": "M4558.46,606.223l0,41.133l-80.452,-0l0.693,57.633l329.676,-0l0,-86.979l-207.164,0l0,-11.51l-42.753,-0.277Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1101-SECURE-LOBBY", + "name": "_1101-SECURE-LOBBY", + "type": "path" + }, + { + "d": "M4607.63,705l0,110.159l167.782,-0.651l0.693,-26.905l32.275,-0.433l0,-82.181l-200.75,0.011Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1121-CONFERENCE", + "name": "_1121-CONFERENCE", + "type": "path" + }, + { + "d": "M4207.55,706.868l0.073,379.082l23.565,0.081l75.845,39.795l19.744,-35.334l77.574,39.904l25.252,-44.509l94.628,0.083l76.334,39.209l19.102,-34.955l75.254,39.426l80.59,-0.024l-0,-197.372l-341.468,-0l-0,-115.82l-131.16,-1.275l0,-108.159l-95.333,-0.132Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1127-LOADING-DOCK", + "name": "_1127-LOADING-DOCK", + "type": "path" + }, + { + "d": "M4598.13,364.5l0,125l55.275,0l-0.13,128.5l155.105,0.01l0,-58.01l-40.75,0l0,-61.698l40.283,-0.037l-0,-79.467l-177.783,-0l0,-54.298l-32,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1100.0-LOBBY", + "name": "_1100.0-LOBBY", + "type": "path" + }, + { + "d": "M3676.63,932l0,-163.965l163.5,0l0,-61.035l367.5,-0l0,143l-144,-0l0,-37l-223.5,-0l0,119.5l-163.5,-0.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1133.1-RECEIVING", + "name": "_1133.1-RECEIVING", + "type": "path" + }, + { + "d": "M4457.98,468l0.296,179.18l-37.243,0.32l-0,-43.801l-38.163,0l0.111,-135.699l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1107-MMR", + "name": "_1107-MMR", + "type": "path" + }, + { + "d": "M4542.91,288l0.721,201.141l-84.617,0.359l-0,-21.24l-98.383,-0l-0.136,-180.26l182.415,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1111-BREAK-ROOM", + "name": "_1111-BREAK-ROOM", + "type": "path" + }, + { + "d": "M4302,468.26l2.333,179.853l42.045,-0.613l0,-42.868l37.34,-0l-0.117,-135.7l-81.601,-0.672Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1108-WRR", + "name": "_1108-WRR", + "type": "path" + }, + { + "d": "M4144.93,1037.5l1.203,140.499l-204.5,0.501l0,-52.454l-101.5,-1.355l0.451,-87.191l304.346,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1141-PLBG-FP", + "name": "_1141-PLBG-FP", + "type": "path" + }, + { + "d": "M4207.55,975.505l-143.66,0.495l-0.257,-44l65.5,-0l0,-82l78.417,0.185l0,125.32Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1134.1-ASSET-MANAGEMENT", + "name": "_1134.1-ASSET-MANAGEMENT", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "79.448", + "id": "_1102.2-SOC-STORAGE", + "name": "_1102.2-SOC-STORAGE", + "type": "rect", + "width": "65.955", + "x": "4459.01", + "y": "567.718" + } + ], + "id": "Stream-Offices", + "name": "Stream-Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "133.25", + "id": "_1138.2-SER", + "name": "_1138.2-SER", + "type": "rect", + "width": "79.5", + "x": "3937.13", + "y": "509" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "88.512", + "id": "_1138.3-FCR", + "name": "_1138.3-FCR", + "type": "rect", + "width": "73", + "x": "3864.13", + "y": "553.738" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.649", + "id": "_1139-TENANT-STORAGE", + "name": "_1139-TENANT-STORAGE", + "type": "rect", + "width": "389.821", + "x": "3222.13", + "y": "235.351" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "406.899", + "id": "_1137-OPS-STORAGE", + "name": "_1137-OPS-STORAGE", + "type": "rect", + "width": "163.5", + "x": "4065.13", + "y": "235.351" + }, + { + "d": "M3611.63,235.5l0,407l252.5,-0.25l0,-88.75l73,-0l0.198,-44.292l79.459,0l0.308,133.042l48.035,0l-0.309,-407.076l-453.191,0.326Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1138.1-TENANT-OFFICE", + "name": "_1138.1-TENANT-OFFICE", + "type": "path" + } + ], + "id": "Tenant-Offices", + "name": "Tenant-Offices", + "type": "group" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1140-MECH---PUMP", + "name": "_1140-MECH---PUMP", + "type": "rect", + "width": "243.5", + "x": "2978.63", + "y": "235.5" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,101.188l-0,-21.233l-40.298,-0l-0,21.233", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1544.41,1178.25l2262.71,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3828.13,1178l315.66,0.25l-0,-92.3l8.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4173.51,1086l57.373,0l76.749,40l19.362,-35.865l77.638,41.156l24.903,-45.608l94.597,0.035l76,40.135l19.39,-36.353l75.428,40l80.682,0l-0.395,-342.218l33.145,0l0,-250.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1035.5l0,94.842l0,-5.357l101.5,0.015l0,53.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1151.75l0,26.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4207.86,1085.95l-0.243,-84.421", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4145.28,1085.95l-0,-84.421l-0,35.614l-468.653,0.357l0,-330.5l294.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4027.95,707l179.674,-0l0,19.825l0,-19.825l127.139,-0l-31.655,-0l-0,59.272l-0,-4.626l56.736,-0l-0,-54.646l-0,109.434", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302.88,786.5l0,29.934l472.628,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4359.85,735.573l33.572,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4413.87,735.573l22.597,-0l-13.636,-0l0.293,80.861", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4477.13,816.434l-0,-80.861l-12.996,-0.323l12.996,0.323l-0,-30.584l7.264,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4504.26,704.989l31.169,-0l-0,111.445", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4608.09,816.434l-0,-111.445l-42.464,0.011", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4653.05,705l110.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4434.04,816.434l-0,115.82l9.934,-0.195", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4535.43,816.434l-0,115.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.63,816.434l0,116.066", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4661.9,932.5l113.729,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,932l185.781,-0l-22.281,-0l0,-119l39.813,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3918.12,813l145.506,-0l0,224.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4020.13,932l108.575,-0l0.156,-55.929", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.63,849.89l70.501,0.36", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.57,850.25l53.056,0l0,25.821l0,-92.073", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,768.035l163.5,0l0,-12.467", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3888.63,932.25l93,0l-43.433,0l-0.067,105.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.67,975.52l144.348,0.195l-0.195,-80.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3647.19,1178.71l0,-14.854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3646.88,1143l0,-7.389l-399.644,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,1135.61l0,-441.611", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3265.63,235.5l755.122,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,235.5l0,419.979l0,-13.175l299.892,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3962.63,642.25l59.351,0l-4.987,0l-0,-133.042l-79.666,0l-0,133.042", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3937.13,553.5l-73,-0l0,88.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.63,642.25l8,0l0,-362.294", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4228.63,241.158l0,-5.685l-168.451,-0.299l4.887,0.008l0,407.068l-23.196,0l140.671,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4160.13,235.351l0,-12.621", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3216.3,1135l10.348,0l-5.018,0l-0,-899.649l5.477,0l-23.327,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3165.48,235.351l-186.856,0l0,899.649l218.001,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4775.02,288l-148.777,-0l4.19,-0l-0.067,130.798l5.052,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4675.13,418.798l56.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4586.88,288l-48.457,-0l5.207,-0l0,201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,365.023l86.5,0.065", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,433.38l54.476,-0l0.16,8.138l0,-52.018", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4598.26,461.785l-0.136,27.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4558.88,622.5l0,-30.591l0,14.936l41.643,0.079l-0.079,10.901l66.663,-0l-13.916,-0l0,-128.325l-194.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4420.88,637l0,10.165l38.133,0l-0,-178.905l-157.011,-0l-0,179.24l44.325,0l-0,-10.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4346.38,617l0.025,-13.192l37.315,-0.235l-0.377,-135.313", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4421.03,616.625l-0.064,-12.926l-74.566,0.109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,239.25l4.674,-0l-0,-105.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4529.88,94l0,-9.5l20.662,-0l-20.662,-0l0.25,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4615.63,84.5l-25.999,-0l4.999,-0l0,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4656.52,84.25l3.384,0l0,-83.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.01,647.165l99.45,0l0,-7.237", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.13,567.191l65.999,-0.128l0,54.768l0,-62.3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,489l0,53.977", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4808.38,617.85l-44.723,0.16", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4743.13,617.85l-18.093,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4705.63,618.01l-17.935,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4360.63,468.067l0,-180.067l-4.8,-0l9.498,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4336.13,288.1l-34.134,-0l-0,141.301l32.686,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302,359l58.577,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4405.13,288l94.191,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.89,234.699l-0.021,11.078l0.012,-6.277l67.252,0l-15.5,0l0,-101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.86,213.705l-0,-75.205l-7.609,0l119.686,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.94,0.345l0,238.853l-5.317,-0.025l71.004,0.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4767.63,539.283l0,20.717l40.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.63,170.632l27.175,-0l-0,13.059l-0,-183.346", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4159.8,138.5l102.161,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-24.506,0l4.341,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3589.63,170.5l16.103,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3551.63,170.5l-138.99,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3476.94,170.5l-0,-64.5l-89.311,-0l0,64.5l5.331,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,50.149", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,508l95.313,-0l0,-5.217l0,10.007", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,5.893l0,-79.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,759.5l0,371.5l0,-7.955l-95.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1039l0,-18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1001l0,-616.527l0,3.027l-83.939,-0l0,37.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,463.614l0,471.386l0,-4.5l83.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,955.5l0,40l83.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1020l0,-635.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "First-Floor", + "name": "First-Floor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMaxYMax", + "stroke": { + "linejoin": "bevel" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1155", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 30, + "width": 20, + "x": 217.19, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1156", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 29, + "width": 20, + "x": 195, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1157", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 30, + "width": 20, + "x": 176, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1158", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 29, + "width": 20, + "x": 156, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1159", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 28, + "width": 20, + "x": 135, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1161", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 30, + "width": 20, + "x": 92, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1162", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 30, + "width": 20, + "x": 72, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1163", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 30, + "width": 20, + "x": 51, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1164", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 29, + "width": 20, + "x": 30, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1165", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 28, + "width": 20, + "x": 9, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MPR1150", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 23, + "width": 27, + "x": 343, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1151", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 23, + "width": 23, + "x": 321, + "y": 9 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_01_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]\n\t", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_SecondFloor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_SecondFloor/resource.json new file mode 100644 index 0000000..13b9eee --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_SecondFloor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "263657860f7e35fd629e54a0b89c4037325c837248d7b52f11b862dd63b0f28b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-21T23:36:28Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_SecondFloor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_SecondFloor/thumbnail.png new file mode 100644 index 0000000..50695cc Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_SecondFloor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_SecondFloor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_SecondFloor/view.json new file mode 100644 index 0000000..45b53a6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/CRAH_SecondFloor/view.json @@ -0,0 +1,5183 @@ +{ + "custom": { + "ColorHandler": { + "Walls": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "ER1242": "#BAEDFF", + "ER1243": "#BAEDFF", + "ER1244": "#BAEDFF", + "ER1245": "#BAEDFF", + "ER1246": "#BAEDFF", + "ER1248": "#BAEDFF", + "ER1249": "#BAEDFF", + "ER1250": "#BAEDFF", + "ER1251": "#BAEDFF", + "ER1252": "#BAEDFF", + "ER1254": "#BAEDFF", + "ER1255": "#BAEDFF", + "ER1256": "#BAEDFF", + "ER1257": "#BAEDFF", + "ER1258": "#BAEDFF", + "IDF1263": "#BAEDFF", + "IDF1273": "#BAEDFF", + "MPR1240": "#FFBABD", + "MPR1241": "#BAEDFF", + "MPR1247": "#BAEDFF", + "MR1253": "#BAEDFF" + }, + "rooms": [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246", + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252", + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258", + "MPR1240", + "MPR1241", + "MPR1247", + "MR1253", + "IDF1263", + "IDF1273" + ], + "selected": "MPR1240" + }, + "params": {}, + "propConfig": { + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.rooms}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\toutput[room] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Second Floor" + }, + "position": { + "height": "100%", + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1273" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1263" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1257" + }, + "type": "property" + } + }, + "props.elements[4].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1248" + }, + "type": "property" + } + }, + "props.elements[4].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MPR1247" + }, + "type": "property" + } + }, + "props.elements[4].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1246" + }, + "type": "property" + } + }, + "props.elements[4].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1245" + }, + "type": "property" + } + }, + "props.elements[4].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1244" + }, + "type": "property" + } + }, + "props.elements[4].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1243" + }, + "type": "property" + } + }, + "props.elements[4].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1242" + }, + "type": "property" + } + }, + "props.elements[4].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MPR1241" + }, + "type": "property" + } + }, + "props.elements[4].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MPR1240" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1258" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1256" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1255" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1254" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MR1253" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1252" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1251" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1250" + }, + "type": "property" + } + }, + "props.elements[4].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1249" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[128].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[129].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[130].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[131].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[132].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[133].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[134].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[135].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[136].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[137].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[138].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[139].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[140].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[141].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[142].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[143].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[144].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "51.095", + "id": "_1284-ELEC", + "name": "_1284-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.57" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "159", + "id": "_1285-FIRE---PLBG", + "name": "_1285-FIRE---PLBG", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "459" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.959", + "id": "_1286-STREAM-IDF", + "name": "_1286-STREAM-IDF", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "48.401", + "id": "_1287-ELEC", + "name": "_1287-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "715.959" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "413.89", + "id": "_1288-ANCILLARY-SPACE", + "name": "_1288-ANCILLARY-SPACE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "764.36" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "74.162", + "id": "_1290-STAIRS-C", + "name": "_1290-STAIRS-C", + "type": "rect", + "width": "203.609", + "x": "1515.79", + "y": "1178.24" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.034", + "id": "_1298-STAIRS-B", + "name": "_1298-STAIRS-B", + "type": "rect", + "width": "203.488", + "x": "3802.63", + "y": "1178.22" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "204.973", + "id": "_1283-STAIRS-D", + "name": "_1283-STAIRS-D", + "type": "rect", + "width": "85", + "x": "3.128", + "y": "359.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-2-CORRIDOR-D-2", + "name": "_1293-2-CORRIDOR-D-2", + "type": "rect", + "width": "1565.25", + "x": "88.378", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297-2-CORRIDOR-H-2", + "name": "_1297-2-CORRIDOR-H-2", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-CORRIDOR-D-1", + "name": "_1293-CORRIDOR-D-1", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.652", + "id": "_1297-1-CORRIDOR-H-1", + "name": "_1297-1-CORRIDOR-H-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "1134.59" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-1-CORRIDOR-C-1", + "name": "_1293-1-CORRIDOR-C-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "170.5" + }, + { + "d": "M2894.63,1135l165.5,0l0,-119.139l-89.5,0.035l2.66,-626.222l86.84,-0.439l0,-46.294l-84.5,0.05l0.136,-107.491l-81.136,-0l0,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1294-CORRIDOR-E", + "name": "_1294-CORRIDOR-E", + "type": "path" + }, + { + "d": "M183.628,1135l63.25,0l0,-792.225l-84.75,0l0,-107.275l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1296-CORRIDOR-G", + "name": "_1296-CORRIDOR-G", + "type": "path" + }, + { + "d": "M4372.13,641.334l0,94.166l105.352,0l-0,-27.647l107.148,-0l0,-66.519l-99.279,0.357l0.16,-34.158l-74.688,-0.533l-0,34.334l-38.693,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1290-CORRIDOR-A", + "name": "_1290-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.084", + "id": "_1291-CORRIDOR-B", + "name": "_1291-CORRIDOR-B", + "type": "rect", + "width": "64.5", + "x": "4307.63", + "y": "235.5" + }, + { + "d": "M1488.64,1135l164.992,0l0,-120.965l-89.5,0l0,-626.5l89.5,0l0,-44.535l-84.25,-0.059l-0.189,-107.441l-80.561,-0l0.008,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1295-CORRIDOR-F", + "name": "_1295-CORRIDOR-F", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297--1-CORRIDOR-H-1", + "name": "_1297--1-CORRIDOR-H-1", + "type": "rect", + "width": "1469.5", + "x": "184.128", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1223-STAIRS-A", + "name": "_1223-STAIRS-A", + "type": "rect", + "width": "58.258", + "x": "4477.13", + "y": "707.853" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "50", + "x": "4373.13", + "y": "735.5" + } + ], + "id": "Corridors-and-Stairs", + "name": "Corridors-and-Stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.24", + "id": "_1274-STREAM-IDF", + "name": "_1274-STREAM-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "948.76" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "561.225", + "id": "_1273-TENANT-IDF", + "name": "_1273-TENANT-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "387.535" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1271-GALLERY", + "name": "_1271-GALLERY", + "type": "rect", + "width": "1325.56", + "x": "1569.06", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1272-GALLERY", + "name": "_1272-GALLERY", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.245", + "id": "_1270-DATA-HALL-2", + "name": "_1270-DATA-HALL-2", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "342.941" + } + ], + "id": "DH2", + "name": "DH2", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "66.58", + "id": "_1264-STREAM-IDF", + "name": "_1264-STREAM-IDF", + "type": "rect", + "width": "88.5", + "x": "2971.13", + "y": "389.603" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "559.317", + "id": "_1263-TENANT-IDF", + "name": "_1263-TENANT-IDF", + "type": "rect", + "width": "89", + "x": "2971.13", + "y": "456.183" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1261-GALLERY", + "name": "_1261-GALLERY", + "type": "rect", + "width": "1331.87", + "x": "2975.76", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1262-GALLERY-", + "name": "_1262-GALLERY-", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1260-DATAHALL---1", + "name": "_1260-DATAHALL---1", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "342.775" + } + ], + "id": "DH1", + "name": "DH1", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1257-ER", + "name": "_1257-ER", + "type": "rect", + "width": "231.631", + "x": "329.128", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1258-ER", + "name": "_1258-ER", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1256-ER", + "name": "_1256-ER", + "type": "rect", + "width": "232.369", + "x": "560.759", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.5", + "id": "_1255-ER", + "name": "_1255-ER", + "type": "rect", + "width": "231.771", + "x": "793.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1254-ER", + "name": "_1254-ER", + "type": "rect", + "width": "233.733", + "x": "1024.9", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1253-MEP-ROOM", + "name": "_1253-MEP-ROOM", + "type": "rect", + "width": "237.71", + "x": "1258.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1252-ER", + "name": "_1252-ER", + "type": "rect", + "width": "238.786", + "x": "1496.34", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1251-ER", + "name": "_1251-ER", + "type": "rect", + "width": "232.058", + "x": "1735.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1250-ER", + "name": "_1250-ER", + "type": "rect", + "width": "232.442", + "x": "1967.19", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1249-ER", + "name": "_1249-ER", + "type": "rect", + "width": "232.5", + "x": "2199.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1248-ER", + "name": "_1248-ER", + "type": "rect", + "width": "231.642", + "x": "2432.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1247-ER", + "name": "_1247-ER", + "type": "rect", + "width": "239.226", + "x": "2663.77", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1246-ER", + "name": "_1246-ER", + "type": "rect", + "width": "238.331", + "x": "2903", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1245-ER", + "name": "_1245-ER", + "type": "rect", + "width": "232.897", + "x": "3141.33", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1244-ER", + "name": "_1244-ER", + "type": "rect", + "width": "231.5", + "x": "3374.22", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1243-ER", + "name": "_1243-ER", + "type": "rect", + "width": "231.5", + "x": "3606.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1242-ER", + "name": "_1242-ER", + "type": "rect", + "width": "231.5", + "x": "3838.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1241-MECH-POWER", + "name": "_1241-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4070.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1240-MECH-POWER", + "name": "_1240-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4301.63", + "y": "0.345" + } + ], + "id": "Elec-Mech-Rooms", + "name": "Elec-Mech-Rooms", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1218-STREAM-IDF", + "name": "_1218-STREAM-IDF", + "type": "rect", + "width": "90.036", + "x": "4372.13", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1179-Space", + "name": "_1179-Space", + "type": "rect", + "width": "61.464", + "x": "4462.16", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "116", + "id": "_1229-ELEC", + "name": "_1229-ELEC", + "type": "rect", + "width": "62", + "x": "4372.13", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1230-FREIGHT", + "name": "_1230-FREIGHT", + "type": "rect", + "width": "101", + "x": "4434.13", + "y": "815.754" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "91.008", + "id": "_132-PLBG-FP", + "name": "_132-PLBG-FP", + "type": "rect", + "width": "132", + "x": "4372.13", + "y": "1087.08" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "74.548", + "id": "_1292-VESTIBULE", + "name": "_1292-VESTIBULE", + "type": "rect", + "width": "217.056", + "x": "4419.07", + "y": "933" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1232-FREIGHT", + "name": "_1232-FREIGHT", + "type": "rect", + "width": "101", + "x": "4535.13", + "y": "816.127" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "_1225-PASS", + "name": "_1225-PASS", + "type": "rect", + "width": "54", + "x": "4423.13", + "y": "735.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1219-DAS", + "name": "_1219-DAS", + "type": "rect", + "width": "49.241", + "x": "4535.39", + "y": "707.853" + }, + { + "d": "M4372.43,468.5l-0.3,173.191l38.714,0.309l0.316,-35.019l37.175,-0l0,-138.481l-75.905,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1222-WRR", + "name": "_1222-WRR", + "type": "path" + }, + { + "d": "M4372.13,1087.5l0,-154.225l46.944,-0.275l0,74.548l85.056,0l0,79.952l-132,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1233-RECEIVING", + "name": "_1233-RECEIVING", + "type": "path" + }, + { + "d": "M4523.33,468.5l0.297,173.191l-38.252,0.309l0.132,-34.62l-37.176,-0.399l0,-138.481l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1221-MRR", + "name": "_1221-MRR", + "type": "path" + }, + { + "d": "M4372.13,170.944l161.521,-0.409l-0,-170.19l241.055,0l-0.026,417.527l33.233,0.171l-0,368.658l-33.257,-0.446l-0.026,393.745l-270.392,-1.913l0.071,-169.285l131.771,1.464l0,-192.326l-51.45,-3.725l0,-174.843l-60.43,-0.041l-1.014,-234.56l-151.056,-2.093l0,-231.734Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1200-TENANT-OFFICE-SHELL", + "name": "_1200-TENANT-OFFICE-SHELL", + "type": "path" + } + ], + "id": "Offices", + "name": "Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1281-GALLERY", + "name": "_1281-GALLERY", + "type": "rect", + "width": "1326.5", + "x": "162.128", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1282-GALLERY", + "name": "_1282-GALLERY", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1280-DATA-HALL-4", + "name": "_1280-DATA-HALL-4", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "342.775" + } + ], + "id": "DH4", + "name": "DH4", + "type": "group" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,368.223l-33.283,0l0,391.5l-787.5,0.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3967.13,1178.09l-2264.08,0.15", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1680.63,1178.24l-157,0.01", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4129.13,170.306l133,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,978.886l0,36.649l-88.5,0l0,-626.3l4.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3014.13,389.235l45.5,-0l0,100.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,527.535l0,413", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2971.13,456.183l88.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4317.63,170.306l-35.5,-0.021l20.397,0.021l-0,-169.961l-1399.13,0l0.04,170.19", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-41,0l20.835,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3586.39,170.5l40.213,-0l-20.874,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3565.92,170.5l-153.279,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3374.13,0.035l-0.25,170.465l19.081,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,90.184", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,24.301l0,-97.908", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,956.535l0,220.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.7,1130l-0,5l1247.92,0l0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1091.5l0,-32.5l0,4.798l-1247.92,-0l-0,-4.798l-0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2975.76,279.882l-0,-44.382l1331.86,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,319.166l0,23.775l-1331.67,0l-0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,1021.17l0,-559.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,423.535l0,-36l-89.5,0l0,575l0,-13.648l89.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1564.13,974.035l0,40l89.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1017.79l0,-633.291", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1020l0,-677.059", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M184.128,918.535l0,-159l0,5l-96,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4533.65,0.345l-0,170.19l-176.861,0l15.34,0l0,109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,298.432l0,109.5l0,-5.038l151.68,0l-0,238.345l-38.283,-0l0,-4.417l0,4.417l99.103,-0l0,4.785", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4584.63,667.425l0,149.11l51.45,0l0,136.168l0,-20.246l-8.65,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.08,972.948l0,34.587l-145.952,0l13.62,0l0,170.552", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1178.09l0,-22.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1117.98l0,-50.944l0,20.024l131.228,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1010.86l0,-37.914", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4433.13,1007.78l-14,0l0,-34.837", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.38,953.035l0.14,-25.363l0,5.363l71.412,0l-9.032,0l-0.439,-116.588l-11.395,-0.077l-0.116,-80.663l-19.82,0l36.569,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4381.72,735.785l-9.343,-0.25l0,172l0,-91.03l212.25,-0.24", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4476.97,817.035l0.655,-81.5l-10.409,0l10.409,0l0,-27.682l4.315,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4502.13,707.853l57.115,-0l-23.559,-0l0,225.182l-9.557,0l15.999,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.13,953.035l0,-20", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4410.88,637.035l-0,4.656l-38.448,0l0,-213.533", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,468.395l151.811,-0.471", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4461.67,468.395l-0.188,-64.361", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4448.33,467.924l-0.495,139.076l37.671,0.035l-0,9.778l-0,-9.778l-74.351,0l0,9.873", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Second-Floor-Walls", + "name": "Second-Floor-Walls", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMinYMin", + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4809 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MPR1240", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 387.19, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MPR1241", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 365, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1242", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 344, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1243", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 323, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1244", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 303, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1245", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 282, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1246", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 261, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MPR1247", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 239, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1248", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 218, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1249", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 198, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1250", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 177, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1251", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 156, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1252", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 135, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MR1253", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 114, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1254", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 93, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1255", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 72, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1256", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 51, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1257", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 31 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1258", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 20, + "x": 9, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1273", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 53, + "width": 8, + "x": 140, + "y": 35 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1263", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 53, + "width": 8, + "x": 266, + "y": 41 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_02_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_FirstFloor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_FirstFloor/resource.json new file mode 100644 index 0000000..8649576 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_FirstFloor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "71dc1efc43d67382bb7a7d61893efef587b6f741f630f01ee6829877fbcba27c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T18:46:07Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_FirstFloor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_FirstFloor/thumbnail.png new file mode 100644 index 0000000..56939a0 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_FirstFloor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_FirstFloor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_FirstFloor/view.json new file mode 100644 index 0000000..751253f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_FirstFloor/view.json @@ -0,0 +1,6026 @@ +{ + "custom": { + "Available": [ + "ER1185", + "MDF1187", + "ER1160", + "IDF1174", + "IDF1154", + "MDF1149", + "FS1285", + "IDF1286", + "ER1287", + "ER1284", + "IDF1274", + "IDF1264", + "ER1128", + "MR1125", + "ER1229", + "IDF1218", + "IDF1122", + "FS1232", + "MR1132" + ], + "ColorHandler": { + "Wall": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "ER1128": "#BAEDFF", + "ER1160": "#BAEDFF", + "ER1185": "#BAEDFF", + "ER1229": "#BAEDFF", + "ER1284": "#BAEDFF", + "ER1287": "#BAEDFF", + "FS1232": "#BAEDFF", + "FS1285": "#BAEDFF", + "IDF1122": "#BAEDFF", + "IDF1154": "#BAEDFF", + "IDF1174": "#BAEDFF", + "IDF1218": "#BAEDFF", + "IDF1264": "#BAEDFF", + "IDF1274": "#BAEDFF", + "IDF1286": "#BAEDFF", + "MDF1149": "#BAEDFF", + "MDF1187": "#BAEDFF", + "MR1125": "#BAEDFF", + "MR1132": "#BAEDFF" + }, + "selected": "" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\toutput[room] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "custom": { + "data": "value" + }, + "meta": { + "name": "First Floor" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1154" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MDF1149" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1160" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1185" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MDF1187" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1174" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1128" + }, + "type": "property" + } + }, + "props.elements[5].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MR1125" + }, + "type": "property" + } + }, + "props.elements[5].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1122" + }, + "type": "property" + } + }, + "props.elements[5].elements[19].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[20].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[21].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.MR1132" + }, + "type": "property" + } + }, + "props.elements[5].elements[22].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[23].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[24].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[25].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[26].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[27].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[28].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[29].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[30].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[31].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[32].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[33].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[34].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[35].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[36].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[37].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[38].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[39].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[40].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1199-STAIR-C", + "name": "_1199-STAIR-C", + "type": "rect", + "width": "203.609", + "x": "1515.85", + "y": "1178.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.399", + "id": "_1197-2-CORRIDOR-H-2", + "name": "_1197-2-CORRIDOR-H-2", + "type": "rect", + "width": "1467.31", + "x": "183.815", + "y": "1134.85" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "41.332", + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": "1996.06", + "x": "1651.13", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.25", + "id": "_1194-1-CORRIDOR-E-2", + "name": "_1194-1-CORRIDOR-E-2", + "type": "rect", + "width": "2592.5", + "x": "1567.63", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1198-STAIR-B", + "name": "_1198-STAIR-B", + "type": "rect", + "width": "203.609", + "x": "3802.52", + "y": "1177.63" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "206.163", + "id": "_1183-STAIRS-D", + "name": "_1183-STAIRS-D", + "type": "rect", + "width": "86.751", + "x": "1.377", + "y": "358.889" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "169.655", + "id": "_1194-1-CORRIDOR-E-3", + "name": "_1194-1-CORRIDOR-E-3", + "type": "rect", + "width": "48.02", + "x": "3607.37", + "y": "1.095" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "899.5", + "id": "_1193-CORRIDOR-D", + "name": "_1193-CORRIDOR-D", + "type": "rect", + "width": "84", + "x": "2894.63", + "y": "235.5" + }, + { + "d": "M1488.64,1134.85l164.275,0.149l-0.034,-139.5l-83.689,0.074l0,-608.074l83.689,0.105l0,-44.605l-83.689,0l0,-107.649l-80.561,0l0.009,899.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1195-CORRIDOR-F", + "name": "_1195-CORRIDOR-F", + "type": "path" + }, + { + "d": "M183.628,1134.85l63.25,0l0,-792.224l-84.75,-0l0,-107.276l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1196-CORRIDOR-G", + "name": "_1196-CORRIDOR-G", + "type": "path" + }, + { + "d": "M3647.19,1178.01l-0.308,-42.395l-35.25,-0l0,-428.611l65,-0l0,329.711l163.5,0.433l-0.113,141.356l-192.829,-0.494Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1192-CORRIDOR-C", + "name": "_1192-CORRIDOR-C", + "type": "path" + }, + { + "d": "M4160.13,138.5l0,96.851l68.5,0l0,406.899l73.372,0l-0,-173.99l58.628,-0l0,-38.859l-58.628,-0l-0.372,-141.301l228.25,-0.1l0,-48.75l-222.014,-0l-0,-100.75l-147.736,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1191-CORRIDOR-B", + "name": "_1191-CORRIDOR-B", + "type": "path" + }, + { + "d": "M4478.59,735.5l-118.361,-0l-0.38,-28.5l-748.22,-0l0,-65.105l690.372,0.427l-0,5.178l44.403,0l0,-43.801l74.63,0l0.308,43.801l56.816,-0.335l0.432,88.335Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1190-CORRIDOR-A", + "name": "_1190-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.101", + "id": "_1194-1-CORRIDOR-E-1", + "name": "_1194-1-CORRIDOR-E-1", + "type": "rect", + "width": "1479.25", + "x": "88.378", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1123-STAIR-A", + "name": "_1123-STAIR-A", + "type": "rect", + "width": "58.434", + "x": "4477.3", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "288" + } + ], + "id": "Corridors-and-stairs", + "name": "Corridors-and-stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1165-elec", + "name": "_1165-elec", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1164-ER", + "name": "_1164-ER", + "type": "rect", + "width": "232", + "x": "329.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1163-ER", + "name": "_1163-ER", + "type": "rect", + "width": "232", + "x": "561.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1162-ER", + "name": "_1162-ER", + "type": "rect", + "width": "232", + "x": "793.628", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1161-ER", + "name": "_1161-ER", + "type": "rect", + "width": "232", + "x": "1025.63", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1160-ER", + "name": "_1160-ER", + "type": "rect", + "width": "238.155", + "x": "1258.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1159-MEP-ROOM", + "name": "_1159-MEP-ROOM", + "type": "rect", + "width": "239.508", + "x": "1496.28", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1158-ER", + "name": "_1158-ER", + "type": "rect", + "width": "231.337", + "x": "1735.79", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1157ER", + "name": "_1157ER", + "type": "rect", + "width": "233.123", + "x": "1967.13", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1156-ER", + "name": "_1156-ER", + "type": "rect", + "width": "231.803", + "x": "2200.25", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1155-ER", + "name": "_1155-ER", + "type": "rect", + "width": "232.461", + "x": "2432.05", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1151-ELEC", + "name": "_1151-ELEC", + "type": "rect", + "width": "183.5", + "x": "3655.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1150-MECH-POWER", + "name": "_1150-MECH-POWER", + "type": "rect", + "width": "232.348", + "x": "3838.63", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "137.655", + "id": "_1120-MMR1", + "name": "_1120-MMR1", + "type": "rect", + "width": "260.5", + "x": "4160.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1152-TAPE-LIBRARY", + "name": "_1152-TAPE-LIBRARY", + "type": "rect", + "width": "476.566", + "x": "2664.63", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "64.565", + "id": "_1154-SDC-IDF", + "name": "_1154-SDC-IDF", + "type": "rect", + "width": "88.333", + "x": "3388.41", + "y": "105.935" + }, + { + "d": "M3141.63,170.25l0,-169.947l464.001,0.042l-0,169.905l-128.69,0l-0,-64.25l-89.212,-0l0.338,64.25l-246.437,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1153-SD-STORAGE", + "name": "_1153-SD-STORAGE", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.155", + "id": "_1149-MDF", + "name": "_1149-MDF", + "type": "rect", + "width": "89.5", + "x": "4070.63", + "y": "1.095" + } + ], + "id": "ELEC---MECH", + "name": "ELEC---MECH", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": 0.5 + }, + "height": "51.46", + "id": "_1185-ELEC", + "name": "_1185-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "458.859" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1184-POE", + "name": "_1184-POE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "109.021", + "id": "_1186-FIRE-PLBG", + "name": "_1186-FIRE-PLBG", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "508.227" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.5", + "id": "_1187-MDF-2", + "name": "_1187-MDF-2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "407.5", + "id": "_1188-MMR2", + "name": "_1188-MMR2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "715.5" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "55.25", + "id": "_1189-POE-4", + "name": "_1189-POE-4", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "1123" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1171-GALLERY", + "name": "_1171-GALLERY", + "type": "rect", + "width": "1325.44", + "x": "1569.19", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1172-GALLERY", + "name": "_1172-GALLERY", + "type": "rect", + "width": "1241.72", + "x": "1652.91", + "y": "1064" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.182", + "id": "_1174-SDC-IDF", + "name": "_1174-SDC-IDF", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "930" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "542.5", + "id": "_1173-SDC-STORAGE", + "name": "_1173-SDC-STORAGE", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "387.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1170-DATAHALL-3", + "name": "_1170-DATAHALL-3", + "type": "rect", + "width": "1241.75", + "x": "1652.88", + "y": "343" + } + ], + "id": "DH3", + "name": "DH3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1181-GALLERY-", + "name": "_1181-GALLERY-", + "type": "rect", + "width": "1326.41", + "x": "162.215", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1182-GALLERY-", + "name": "_1182-GALLERY-", + "type": "rect", + "width": "1241.72", + "x": "246.911", + "y": "1065.51" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1181-1-DATAHALL-1180-1", + "name": "_1181-1-DATAHALL-1180-1", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "344.795" + } + ], + "id": "DH5", + "name": "DH5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1119-POE1", + "name": "_1119-POE1", + "type": "rect", + "width": "51.764", + "x": "4307.86", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.401", + "id": "_1109-MOT", + "name": "_1109-MOT", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "359" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "77.088", + "id": "_1113-HUDDLE", + "name": "_1113-HUDDLE", + "type": "rect", + "width": "86.707", + "x": "4544.16", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "68.485", + "id": "_1104-RR", + "name": "_1104-RR", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "365.023" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.992", + "id": "_1105-JAN", + "name": "_1105-JAN", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "433.508" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "78.218", + "id": "_1102.3-SOC-OFFICE", + "name": "_1102.3-SOC-OFFICE", + "type": "rect", + "width": "66.118", + "x": "4459.01", + "y": "489.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1126-JAN", + "name": "_1126-JAN", + "type": "rect", + "width": "57", + "x": "4303.13", + "y": "707" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1134.2-AM-OFFICE", + "name": "_1134.2-AM-OFFICE", + "type": "rect", + "width": "65.5", + "x": "4063.63", + "y": "850" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61.387", + "id": "_1136-RR", + "name": "_1136-RR", + "type": "rect", + "width": "81.653", + "x": "4063.63", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.218", + "id": "_1142-POE", + "name": "_1142-POE", + "type": "rect", + "width": "101.369", + "x": "3840.13", + "y": "1123.79" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.5-SHRED-ROOM", + "name": "_1133.5-SHRED-ROOM", + "type": "rect", + "width": "125.5", + "x": "3938.13", + "y": "932.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.6-HIGH-VALUE-STORAGE", + "name": "_1133.6-HIGH-VALUE-STORAGE", + "type": "rect", + "width": "261.5", + "x": "3676.63", + "y": "932.697" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "59.838", + "id": "_1133.2-CABLE-STORAGE", + "name": "_1133.2-CABLE-STORAGE", + "type": "rect", + "width": "163.5", + "x": "3676.63", + "y": "708.197" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "110.035", + "id": "_1135-WAITING", + "name": "_1135-WAITING", + "type": "rect", + "width": "62.384", + "x": "4145.28", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "119.5", + "id": "_1133.4-SECURE-STORAGE", + "name": "_1133.4-SECURE-STORAGE", + "type": "rect", + "width": "223.5", + "x": "3840.13", + "y": "813" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1128-ELEC", + "name": "_1128-ELEC", + "type": "rect", + "width": "57", + "x": "4302", + "y": "761.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1125-MECH", + "name": "_1125-MECH", + "type": "rect", + "width": "63.811", + "x": "4359", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1124-PASS", + "name": "_1124-PASS", + "type": "rect", + "width": "54.491", + "x": "4422.81", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1122-SDC-IDF", + "name": "_1122-SDC-IDF", + "type": "rect", + "width": "72.661", + "x": "4535.43", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1130-FREIGHT", + "name": "_1130-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4433.86", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1131-FREIGHT", + "name": "_1131-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4535.36", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1132-MECH", + "name": "_1132-MECH", + "type": "rect", + "width": "138.911", + "x": "4636.63", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61", + "id": "_1100.1-VESTIBULE", + "name": "_1100.1-VESTIBULE", + "type": "rect", + "width": "41.5", + "x": "4767.63", + "y": "499" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "130.798", + "id": "_1103-EXECUTIVE-CONFERENCE", + "name": "_1103-EXECUTIVE-CONFERENCE", + "type": "rect", + "width": "145.497", + "x": "4630.13", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1114-RECORDS", + "name": "_1114-RECORDS", + "type": "rect", + "width": "61", + "x": "4359.63", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1117-OFFICE", + "name": "_1117-OFFICE", + "type": "rect", + "width": "64.5", + "x": "4530.13", + "y": "2.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "237.952", + "id": "_1116-CONFERENCE", + "name": "_1116-CONFERENCE", + "type": "rect", + "width": "109.5", + "x": "4420.63", + "y": "1.298" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1118-OFFICE", + "name": "_1118-OFFICE", + "type": "rect", + "width": "65.274", + "x": "4594.63", + "y": "2.5" + }, + { + "d": "M4775.02,288l0.609,-285l-115.1,-2.655l-0.626,84.155l-130.024,-0.441l0,203.941l245.141,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1110-STREAM-OFFICE", + "name": "_1110-STREAM-OFFICE", + "type": "path" + }, + { + "d": "M4525.13,489.5l-0.162,157.719l33.495,0.137l0,-40.856l41.98,0l-0.008,11.157l52.695,0.479l-1.174,-128.636l-126.826,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1102.1-SOC", + "name": "_1102.1-SOC", + "type": "path" + }, + { + "d": "M4558.46,606.223l0,41.133l-80.452,-0l0.693,57.633l329.676,-0l0,-86.979l-207.164,0l0,-11.51l-42.753,-0.277Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1101-SECURE-LOBBY", + "name": "_1101-SECURE-LOBBY", + "type": "path" + }, + { + "d": "M4607.63,705l0,110.159l167.782,-0.651l0.693,-26.905l32.275,-0.433l0,-82.181l-200.75,0.011Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1121-CONFERENCE", + "name": "_1121-CONFERENCE", + "type": "path" + }, + { + "d": "M4207.55,706.868l0.073,379.082l23.565,0.081l75.845,39.795l19.744,-35.334l77.574,39.904l25.252,-44.509l94.628,0.083l76.334,39.209l19.102,-34.955l75.254,39.426l80.59,-0.024l-0,-197.372l-341.468,-0l-0,-115.82l-131.16,-1.275l0,-108.159l-95.333,-0.132Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1127-LOADING-DOCK", + "name": "_1127-LOADING-DOCK", + "type": "path" + }, + { + "d": "M4598.13,364.5l0,125l55.275,0l-0.13,128.5l155.105,0.01l0,-58.01l-40.75,0l0,-61.698l40.283,-0.037l-0,-79.467l-177.783,-0l0,-54.298l-32,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1100.0-LOBBY", + "name": "_1100.0-LOBBY", + "type": "path" + }, + { + "d": "M3676.63,932l0,-163.965l163.5,0l0,-61.035l367.5,-0l0,143l-144,-0l0,-37l-223.5,-0l0,119.5l-163.5,-0.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1133.1-RECEIVING", + "name": "_1133.1-RECEIVING", + "type": "path" + }, + { + "d": "M4457.98,468l0.296,179.18l-37.243,0.32l-0,-43.801l-38.163,0l0.111,-135.699l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1107-MMR", + "name": "_1107-MMR", + "type": "path" + }, + { + "d": "M4542.91,288l0.721,201.141l-84.617,0.359l-0,-21.24l-98.383,-0l-0.136,-180.26l182.415,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1111-BREAK-ROOM", + "name": "_1111-BREAK-ROOM", + "type": "path" + }, + { + "d": "M4302,468.26l2.333,179.853l42.045,-0.613l0,-42.868l37.34,-0l-0.117,-135.7l-81.601,-0.672Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1108-WRR", + "name": "_1108-WRR", + "type": "path" + }, + { + "d": "M4144.93,1037.5l1.203,140.499l-204.5,0.501l0,-52.454l-101.5,-1.355l0.451,-87.191l304.346,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1141-PLBG-FP", + "name": "_1141-PLBG-FP", + "type": "path" + }, + { + "d": "M4207.55,975.505l-143.66,0.495l-0.257,-44l65.5,-0l0,-82l78.417,0.185l0,125.32Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1134.1-ASSET-MANAGEMENT", + "name": "_1134.1-ASSET-MANAGEMENT", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "79.448", + "id": "_1102.2-SOC-STORAGE", + "name": "_1102.2-SOC-STORAGE", + "type": "rect", + "width": "65.955", + "x": "4459.01", + "y": "567.718" + } + ], + "id": "Stream-Offices", + "name": "Stream-Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "133.25", + "id": "_1138.2-SER", + "name": "_1138.2-SER", + "type": "rect", + "width": "79.5", + "x": "3937.13", + "y": "509" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "88.512", + "id": "_1138.3-FCR", + "name": "_1138.3-FCR", + "type": "rect", + "width": "73", + "x": "3864.13", + "y": "553.738" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.649", + "id": "_1139-TENANT-STORAGE", + "name": "_1139-TENANT-STORAGE", + "type": "rect", + "width": "389.821", + "x": "3222.13", + "y": "235.351" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "406.899", + "id": "_1137-OPS-STORAGE", + "name": "_1137-OPS-STORAGE", + "type": "rect", + "width": "163.5", + "x": "4065.13", + "y": "235.351" + }, + { + "d": "M3611.63,235.5l0,407l252.5,-0.25l0,-88.75l73,-0l0.198,-44.292l79.459,0l0.308,133.042l48.035,0l-0.309,-407.076l-453.191,0.326Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1138.1-TENANT-OFFICE", + "name": "_1138.1-TENANT-OFFICE", + "type": "path" + } + ], + "id": "Tenant-Offices", + "name": "Tenant-Offices", + "type": "group" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1140-MECH---PUMP", + "name": "_1140-MECH---PUMP", + "type": "rect", + "width": "243.5", + "x": "2978.63", + "y": "235.5" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,101.188l-0,-21.233l-40.298,-0l-0,21.233", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1544.41,1178.25l2262.71,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3828.13,1178l315.66,0.25l-0,-92.3l8.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4173.51,1086l57.373,0l76.749,40l19.362,-35.865l77.638,41.156l24.903,-45.608l94.597,0.035l76,40.135l19.39,-36.353l75.428,40l80.682,0l-0.395,-342.218l33.145,0l0,-250.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1035.5l0,94.842l0,-5.357l101.5,0.015l0,53.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1151.75l0,26.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4207.86,1085.95l-0.243,-84.421", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4145.28,1085.95l-0,-84.421l-0,35.614l-468.653,0.357l0,-330.5l294.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4027.95,707l179.674,-0l0,19.825l0,-19.825l127.139,-0l-31.655,-0l-0,59.272l-0,-4.626l56.736,-0l-0,-54.646l-0,109.434", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302.88,786.5l0,29.934l472.628,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4359.85,735.573l33.572,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4413.87,735.573l22.597,-0l-13.636,-0l0.293,80.861", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4477.13,816.434l-0,-80.861l-12.996,-0.323l12.996,0.323l-0,-30.584l7.264,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4504.26,704.989l31.169,-0l-0,111.445", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4608.09,816.434l-0,-111.445l-42.464,0.011", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4653.05,705l110.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4434.04,816.434l-0,115.82l9.934,-0.195", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4535.43,816.434l-0,115.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.63,816.434l0,116.066", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4661.9,932.5l113.729,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,932l185.781,-0l-22.281,-0l0,-119l39.813,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3918.12,813l145.506,-0l0,224.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4020.13,932l108.575,-0l0.156,-55.929", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.63,849.89l70.501,0.36", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.57,850.25l53.056,0l0,25.821l0,-92.073", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,768.035l163.5,0l0,-12.467", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3888.63,932.25l93,0l-43.433,0l-0.067,105.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.67,975.52l144.348,0.195l-0.195,-80.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3647.19,1178.71l0,-14.854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3646.88,1143l0,-7.389l-399.644,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,1135.61l0,-441.611", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3265.63,235.5l755.122,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,235.5l0,419.979l0,-13.175l299.892,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3962.63,642.25l59.351,0l-4.987,0l-0,-133.042l-79.666,0l-0,133.042", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3937.13,553.5l-73,-0l0,88.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.63,642.25l8,0l0,-362.294", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4228.63,241.158l0,-5.685l-168.451,-0.299l4.887,0.008l0,407.068l-23.196,0l140.671,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4160.13,235.351l0,-12.621", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3216.3,1135l10.348,0l-5.018,0l-0,-899.649l5.477,0l-23.327,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3165.48,235.351l-186.856,0l0,899.649l218.001,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4775.02,288l-148.777,-0l4.19,-0l-0.067,130.798l5.052,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4675.13,418.798l56.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4586.88,288l-48.457,-0l5.207,-0l0,201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,365.023l86.5,0.065", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,433.38l54.476,-0l0.16,8.138l0,-52.018", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4598.26,461.785l-0.136,27.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4558.88,622.5l0,-30.591l0,14.936l41.643,0.079l-0.079,10.901l66.663,-0l-13.916,-0l0,-128.325l-194.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4420.88,637l0,10.165l38.133,0l-0,-178.905l-157.011,-0l-0,179.24l44.325,0l-0,-10.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4346.38,617l0.025,-13.192l37.315,-0.235l-0.377,-135.313", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4421.03,616.625l-0.064,-12.926l-74.566,0.109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,239.25l4.674,-0l-0,-105.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4529.88,94l0,-9.5l20.662,-0l-20.662,-0l0.25,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4615.63,84.5l-25.999,-0l4.999,-0l0,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4656.52,84.25l3.384,0l0,-83.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.01,647.165l99.45,0l0,-7.237", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.13,567.191l65.999,-0.128l0,54.768l0,-62.3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,489l0,53.977", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4808.38,617.85l-44.723,0.16", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4743.13,617.85l-18.093,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4705.63,618.01l-17.935,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4360.63,468.067l0,-180.067l-4.8,-0l9.498,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4336.13,288.1l-34.134,-0l-0,141.301l32.686,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302,359l58.577,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4405.13,288l94.191,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.89,234.699l-0.021,11.078l0.012,-6.277l67.252,0l-15.5,0l0,-101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.86,213.705l-0,-75.205l-7.609,0l119.686,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.94,0.345l0,238.853l-5.317,-0.025l71.004,0.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4767.63,539.283l0,20.717l40.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.63,170.632l27.175,-0l-0,13.059l-0,-183.346", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4159.8,138.5l102.161,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-24.506,0l4.341,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3589.63,170.5l16.103,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3551.63,170.5l-138.99,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3476.94,170.5l-0,-64.5l-89.311,-0l0,64.5l5.331,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,50.149", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,508l95.313,-0l0,-5.217l0,10.007", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,5.893l0,-79.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,759.5l0,371.5l0,-7.955l-95.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1039l0,-18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1001l0,-616.527l0,3.027l-83.939,-0l0,37.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,463.614l0,471.386l0,-4.5l83.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,955.5l0,40l83.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1020l0,-635.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "First-Floor", + "name": "First-Floor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMaxYMax", + "stroke": { + "linejoin": "bevel" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1185", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 9, + "width": 15, + "x": 5.19, + "y": 47 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MDF1187", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 9, + "x": 8.19, + "y": 62 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1160", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 19, + "width": 23, + "x": 112.19, + "y": 7 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1174", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 10, + "width": 14, + "x": 137.19, + "y": 89 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1154", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 9, + "width": 12, + "x": 300.19, + "y": 16 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MDF1149", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 18, + "width": 9, + "x": 364.19, + "y": 5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1128", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 9, + "width": 12, + "x": 377.19, + "y": 74 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MR1125", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 9, + "width": 8, + "x": 390.19, + "y": 74 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1122", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 12, + "width": 10, + "x": 404.19, + "y": 70 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "MR1132", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 10, + "width": 11, + "x": 415.19, + "y": 81 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_01_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]\n\t", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_SecondFloor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_SecondFloor/resource.json new file mode 100644 index 0000000..8a1134a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_SecondFloor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "295ed6480699f0fdc3f698d3077c50d441eecd11267a8f0b717d2f6407670a70", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T18:46:07Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_SecondFloor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_SecondFloor/thumbnail.png new file mode 100644 index 0000000..6094697 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_SecondFloor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_SecondFloor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_SecondFloor/view.json new file mode 100644 index 0000000..1d4e12d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/FCU_SecondFloor/view.json @@ -0,0 +1,4652 @@ +{ + "custom": { + "ColorHandler": { + "Walls": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "ER1128": "#BAEDFF", + "ER1160": "#BAEDFF", + "ER1185": "#BAEDFF", + "ER1229": "#BAEDFF", + "ER1284": "#BAEDFF", + "ER1287": "#BAEDFF", + "FS1232": "#BAEDFF", + "FS1285": "#BAEDFF", + "IDF1122": "#BAEDFF", + "IDF1154": "#BAEDFF", + "IDF1174": "#BAEDFF", + "IDF1218": "#BAEDFF", + "IDF1264": "#BAEDFF", + "IDF1274": "#BAEDFF", + "IDF1286": "#BAEDFF", + "MDF1149": "#BAEDFF", + "MDF1187": "#BAEDFF", + "MR1125": "#BAEDFF", + "MR1132": "#BAEDFF" + }, + "rooms": [ + "ER1185", + "MDF1187", + "ER1160", + "IDF1174", + "IDF1154", + "MDF1149", + "FS1285", + "IDF1286", + "ER1287", + "ER1284", + "IDF1274", + "IDF1264", + "ER1128", + "MR1125", + "ER1229", + "IDF1218", + "IDF1122", + "FS1232", + "MR1132" + ], + "selected": "" + }, + "params": {}, + "propConfig": { + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.rooms}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\toutput[room] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Second Floor" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1284" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.FS1285" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1286" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1287" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1274" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1264" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.IDF1218" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.ER1229" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.FS1232" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[128].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[129].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[130].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[131].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[132].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[133].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[134].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[135].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[136].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[137].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[138].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[139].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[140].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[141].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[142].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[143].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[144].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "51.095", + "id": "_1284-ELEC", + "name": "_1284-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.57" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "159", + "id": "_1285-FIRE---PLBG", + "name": "_1285-FIRE---PLBG", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "459" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.959", + "id": "_1286-STREAM-IDF", + "name": "_1286-STREAM-IDF", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "48.401", + "id": "_1287-ELEC", + "name": "_1287-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "715.959" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "413.89", + "id": "_1288-ANCILLARY-SPACE", + "name": "_1288-ANCILLARY-SPACE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "764.36" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "74.162", + "id": "_1290-STAIRS-C", + "name": "_1290-STAIRS-C", + "type": "rect", + "width": "203.609", + "x": "1515.79", + "y": "1178.24" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.034", + "id": "_1298-STAIRS-B", + "name": "_1298-STAIRS-B", + "type": "rect", + "width": "203.488", + "x": "3802.63", + "y": "1178.22" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "204.973", + "id": "_1283-STAIRS-D", + "name": "_1283-STAIRS-D", + "type": "rect", + "width": "85", + "x": "3.128", + "y": "359.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-2-CORRIDOR-D-2", + "name": "_1293-2-CORRIDOR-D-2", + "type": "rect", + "width": "1565.25", + "x": "88.378", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297-2-CORRIDOR-H-2", + "name": "_1297-2-CORRIDOR-H-2", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-CORRIDOR-D-1", + "name": "_1293-CORRIDOR-D-1", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.652", + "id": "_1297-1-CORRIDOR-H-1", + "name": "_1297-1-CORRIDOR-H-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "1134.59" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-1-CORRIDOR-C-1", + "name": "_1293-1-CORRIDOR-C-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "170.5" + }, + { + "d": "M2894.63,1135l165.5,0l0,-119.139l-89.5,0.035l2.66,-626.222l86.84,-0.439l0,-46.294l-84.5,0.05l0.136,-107.491l-81.136,-0l0,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1294-CORRIDOR-E", + "name": "_1294-CORRIDOR-E", + "type": "path" + }, + { + "d": "M183.628,1135l63.25,0l0,-792.225l-84.75,0l0,-107.275l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1296-CORRIDOR-G", + "name": "_1296-CORRIDOR-G", + "type": "path" + }, + { + "d": "M4372.13,641.334l0,94.166l105.352,0l-0,-27.647l107.148,-0l0,-66.519l-99.279,0.357l0.16,-34.158l-74.688,-0.533l-0,34.334l-38.693,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1290-CORRIDOR-A", + "name": "_1290-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.084", + "id": "_1291-CORRIDOR-B", + "name": "_1291-CORRIDOR-B", + "type": "rect", + "width": "64.5", + "x": "4307.63", + "y": "235.5" + }, + { + "d": "M1488.64,1135l164.992,0l0,-120.965l-89.5,0l0,-626.5l89.5,0l0,-44.535l-84.25,-0.059l-0.189,-107.441l-80.561,-0l0.008,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1295-CORRIDOR-F", + "name": "_1295-CORRIDOR-F", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297--1-CORRIDOR-H-1", + "name": "_1297--1-CORRIDOR-H-1", + "type": "rect", + "width": "1469.5", + "x": "184.128", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1223-STAIRS-A", + "name": "_1223-STAIRS-A", + "type": "rect", + "width": "58.258", + "x": "4477.13", + "y": "707.853" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "50", + "x": "4373.13", + "y": "735.5" + } + ], + "id": "Corridors-and-Stairs", + "name": "Corridors-and-Stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.24", + "id": "_1274-STREAM-IDF", + "name": "_1274-STREAM-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "948.76" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "561.225", + "id": "_1273-TENANT-IDF", + "name": "_1273-TENANT-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "387.535" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1271-GALLERY", + "name": "_1271-GALLERY", + "type": "rect", + "width": "1325.56", + "x": "1569.06", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1272-GALLERY", + "name": "_1272-GALLERY", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.245", + "id": "_1270-DATA-HALL-2", + "name": "_1270-DATA-HALL-2", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "342.941" + } + ], + "id": "DH2", + "name": "DH2", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "66.58", + "id": "_1264-STREAM-IDF", + "name": "_1264-STREAM-IDF", + "type": "rect", + "width": "88.5", + "x": "2971.13", + "y": "389.603" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "559.317", + "id": "_1263-TENANT-IDF", + "name": "_1263-TENANT-IDF", + "type": "rect", + "width": "89", + "x": "2971.13", + "y": "456.183" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1261-GALLERY", + "name": "_1261-GALLERY", + "type": "rect", + "width": "1331.87", + "x": "2975.76", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1262-GALLERY-", + "name": "_1262-GALLERY-", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1260-DATAHALL---1", + "name": "_1260-DATAHALL---1", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "342.775" + } + ], + "id": "DH1", + "name": "DH1", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1257-ER", + "name": "_1257-ER", + "type": "rect", + "width": "231.631", + "x": "329.128", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1258-ER", + "name": "_1258-ER", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1256-ER", + "name": "_1256-ER", + "type": "rect", + "width": "232.369", + "x": "560.759", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.5", + "id": "_1255-ER", + "name": "_1255-ER", + "type": "rect", + "width": "231.771", + "x": "793.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1254-ER", + "name": "_1254-ER", + "type": "rect", + "width": "233.733", + "x": "1024.9", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1253-MEP-ROOM", + "name": "_1253-MEP-ROOM", + "type": "rect", + "width": "237.71", + "x": "1258.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1252-ER", + "name": "_1252-ER", + "type": "rect", + "width": "238.786", + "x": "1496.34", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1251-ER", + "name": "_1251-ER", + "type": "rect", + "width": "232.058", + "x": "1735.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1250-ER", + "name": "_1250-ER", + "type": "rect", + "width": "232.442", + "x": "1967.19", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1249-ER", + "name": "_1249-ER", + "type": "rect", + "width": "232.5", + "x": "2199.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1248-ER", + "name": "_1248-ER", + "type": "rect", + "width": "231.642", + "x": "2432.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1247-ER", + "name": "_1247-ER", + "type": "rect", + "width": "239.226", + "x": "2663.77", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1246-ER", + "name": "_1246-ER", + "type": "rect", + "width": "238.331", + "x": "2903", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1245-ER", + "name": "_1245-ER", + "type": "rect", + "width": "232.897", + "x": "3141.33", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1244-ER", + "name": "_1244-ER", + "type": "rect", + "width": "231.5", + "x": "3374.22", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1243-ER", + "name": "_1243-ER", + "type": "rect", + "width": "231.5", + "x": "3606.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1242-ER", + "name": "_1242-ER", + "type": "rect", + "width": "231.5", + "x": "3838.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1241-MECH-POWER", + "name": "_1241-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4070.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1240-MECH-POWER", + "name": "_1240-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4301.63", + "y": "0.345" + } + ], + "id": "Elec-Mech-Rooms", + "name": "Elec-Mech-Rooms", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1218-STREAM-IDF", + "name": "_1218-STREAM-IDF", + "type": "rect", + "width": "90.036", + "x": "4372.13", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1179-Space", + "name": "_1179-Space", + "type": "rect", + "width": "61.464", + "x": "4462.16", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "116", + "id": "_1229-ELEC", + "name": "_1229-ELEC", + "type": "rect", + "width": "62", + "x": "4372.13", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1230-FREIGHT", + "name": "_1230-FREIGHT", + "type": "rect", + "width": "101", + "x": "4434.13", + "y": "815.754" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "91.008", + "id": "_132-PLBG-FP", + "name": "_132-PLBG-FP", + "type": "rect", + "width": "132", + "x": "4372.13", + "y": "1087.08" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "74.548", + "id": "_1292-VESTIBULE", + "name": "_1292-VESTIBULE", + "type": "rect", + "width": "217.056", + "x": "4419.07", + "y": "933" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1232-FREIGHT", + "name": "_1232-FREIGHT", + "type": "rect", + "width": "101", + "x": "4535.13", + "y": "816.127" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "_1225-PASS", + "name": "_1225-PASS", + "type": "rect", + "width": "54", + "x": "4423.13", + "y": "735.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1219-DAS", + "name": "_1219-DAS", + "type": "rect", + "width": "49.241", + "x": "4535.39", + "y": "707.853" + }, + { + "d": "M4372.43,468.5l-0.3,173.191l38.714,0.309l0.316,-35.019l37.175,-0l0,-138.481l-75.905,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1222-WRR", + "name": "_1222-WRR", + "type": "path" + }, + { + "d": "M4372.13,1087.5l0,-154.225l46.944,-0.275l0,74.548l85.056,0l0,79.952l-132,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1233-RECEIVING", + "name": "_1233-RECEIVING", + "type": "path" + }, + { + "d": "M4523.33,468.5l0.297,173.191l-38.252,0.309l0.132,-34.62l-37.176,-0.399l0,-138.481l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1221-MRR", + "name": "_1221-MRR", + "type": "path" + }, + { + "d": "M4372.13,170.944l161.521,-0.409l-0,-170.19l241.055,0l-0.026,417.527l33.233,0.171l-0,368.658l-33.257,-0.446l-0.026,393.745l-270.392,-1.913l0.071,-169.285l131.771,1.464l0,-192.326l-51.45,-3.725l0,-174.843l-60.43,-0.041l-1.014,-234.56l-151.056,-2.093l0,-231.734Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1200-TENANT-OFFICE-SHELL", + "name": "_1200-TENANT-OFFICE-SHELL", + "type": "path" + } + ], + "id": "Offices", + "name": "Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1281-GALLERY", + "name": "_1281-GALLERY", + "type": "rect", + "width": "1326.5", + "x": "162.128", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1282-GALLERY", + "name": "_1282-GALLERY", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1280-DATA-HALL-4", + "name": "_1280-DATA-HALL-4", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "342.775" + } + ], + "id": "DH4", + "name": "DH4", + "type": "group" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,368.223l-33.283,0l0,391.5l-787.5,0.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3967.13,1178.09l-2264.08,0.15", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1680.63,1178.24l-157,0.01", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4129.13,170.306l133,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,978.886l0,36.649l-88.5,0l0,-626.3l4.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3014.13,389.235l45.5,-0l0,100.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,527.535l0,413", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2971.13,456.183l88.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4317.63,170.306l-35.5,-0.021l20.397,0.021l-0,-169.961l-1399.13,0l0.04,170.19", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-41,0l20.835,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3586.39,170.5l40.213,-0l-20.874,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3565.92,170.5l-153.279,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3374.13,0.035l-0.25,170.465l19.081,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,90.184", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,24.301l0,-97.908", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,956.535l0,220.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.7,1130l-0,5l1247.92,0l0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1091.5l0,-32.5l0,4.798l-1247.92,-0l-0,-4.798l-0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2975.76,279.882l-0,-44.382l1331.86,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,319.166l0,23.775l-1331.67,0l-0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,1021.17l0,-559.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,423.535l0,-36l-89.5,0l0,575l0,-13.648l89.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1564.13,974.035l0,40l89.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1017.79l0,-633.291", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1020l0,-677.059", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M184.128,918.535l0,-159l0,5l-96,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4533.65,0.345l-0,170.19l-176.861,0l15.34,0l0,109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,298.432l0,109.5l0,-5.038l151.68,0l-0,238.345l-38.283,-0l0,-4.417l0,4.417l99.103,-0l0,4.785", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4584.63,667.425l0,149.11l51.45,0l0,136.168l0,-20.246l-8.65,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.08,972.948l0,34.587l-145.952,0l13.62,0l0,170.552", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1178.09l0,-22.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1117.98l0,-50.944l0,20.024l131.228,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1010.86l0,-37.914", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4433.13,1007.78l-14,0l0,-34.837", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.38,953.035l0.14,-25.363l0,5.363l71.412,0l-9.032,0l-0.439,-116.588l-11.395,-0.077l-0.116,-80.663l-19.82,0l36.569,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4381.72,735.785l-9.343,-0.25l0,172l0,-91.03l212.25,-0.24", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4476.97,817.035l0.655,-81.5l-10.409,0l10.409,0l0,-27.682l4.315,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4502.13,707.853l57.115,-0l-23.559,-0l0,225.182l-9.557,0l15.999,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.13,953.035l0,-20", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4410.88,637.035l-0,4.656l-38.448,0l0,-213.533", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,468.395l151.811,-0.471", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4461.67,468.395l-0.188,-64.361", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4448.33,467.924l-0.495,139.076l37.671,0.035l-0,9.778l-0,-9.778l-74.351,0l0,9.873", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Second-Floor-Walls", + "name": "Second-Floor-Walls", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMinYMin", + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4809 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "FS1285", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 12, + "width": 7, + "x": 9, + "y": 42.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1286", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 7, + "width": 10, + "x": 9, + "y": 56.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1287", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 5, + "width": 10, + "x": 9, + "y": 65.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1284", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 6, + "width": 10, + "x": 9, + "y": 34.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1274", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 6, + "width": 8, + "x": 140, + "y": 84.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1264", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 7, + "width": 8, + "x": 266, + "y": 33.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "ER1229", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 7, + "width": 6, + "x": 390, + "y": 75.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "IDF1218", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 4, + "width": 8, + "x": 391, + "y": 36.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "FS1232", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 8, + "width": 8, + "x": 406, + "y": 73.5 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_02_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_FirstFloor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_FirstFloor/resource.json new file mode 100644 index 0000000..3de3538 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_FirstFloor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7417f474703b8ffe673c83728fd0fe9740e60a00062613dcb471e5ea4fa9c65d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T18:46:07Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_FirstFloor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_FirstFloor/thumbnail.png new file mode 100644 index 0000000..5fa517b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_FirstFloor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_FirstFloor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_FirstFloor/view.json new file mode 100644 index 0000000..54176fc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_FirstFloor/view.json @@ -0,0 +1,5732 @@ +{ + "custom": { + "Available": [ + "GAL1181", + "GAL1182", + "GAL1171", + "GAL1172" + ], + "ColorHandler": { + "Wall": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "GAL1171": "#BAEDFF", + "GAL1172": "#BAEDFF", + "GAL1181": "#BAEDFF", + "GAL1182": "#BAEDFF" + }, + "selected": "room" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\toutput[room] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "custom": { + "data": "value" + }, + "meta": { + "name": "First Floor" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1171" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1172" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1181" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1182" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[19].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[20].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[21].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[22].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[23].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[24].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[25].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[26].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[27].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[28].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[29].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[30].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[31].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[32].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[33].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[34].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[35].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[36].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[37].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[38].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[39].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[40].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1199-STAIR-C", + "name": "_1199-STAIR-C", + "type": "rect", + "width": "203.609", + "x": "1515.85", + "y": "1178.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.399", + "id": "_1197-2-CORRIDOR-H-2", + "name": "_1197-2-CORRIDOR-H-2", + "type": "rect", + "width": "1467.31", + "x": "183.815", + "y": "1134.85" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "41.332", + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": "1996.06", + "x": "1651.13", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.25", + "id": "_1194-1-CORRIDOR-E-2", + "name": "_1194-1-CORRIDOR-E-2", + "type": "rect", + "width": "2592.5", + "x": "1567.63", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1198-STAIR-B", + "name": "_1198-STAIR-B", + "type": "rect", + "width": "203.609", + "x": "3802.52", + "y": "1177.63" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "206.163", + "id": "_1183-STAIRS-D", + "name": "_1183-STAIRS-D", + "type": "rect", + "width": "86.751", + "x": "1.377", + "y": "358.889" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "169.655", + "id": "_1194-1-CORRIDOR-E-3", + "name": "_1194-1-CORRIDOR-E-3", + "type": "rect", + "width": "48.02", + "x": "3607.37", + "y": "1.095" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "899.5", + "id": "_1193-CORRIDOR-D", + "name": "_1193-CORRIDOR-D", + "type": "rect", + "width": "84", + "x": "2894.63", + "y": "235.5" + }, + { + "d": "M1488.64,1134.85l164.275,0.149l-0.034,-139.5l-83.689,0.074l0,-608.074l83.689,0.105l0,-44.605l-83.689,0l0,-107.649l-80.561,0l0.009,899.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1195-CORRIDOR-F", + "name": "_1195-CORRIDOR-F", + "type": "path" + }, + { + "d": "M183.628,1134.85l63.25,0l0,-792.224l-84.75,-0l0,-107.276l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1196-CORRIDOR-G", + "name": "_1196-CORRIDOR-G", + "type": "path" + }, + { + "d": "M3647.19,1178.01l-0.308,-42.395l-35.25,-0l0,-428.611l65,-0l0,329.711l163.5,0.433l-0.113,141.356l-192.829,-0.494Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1192-CORRIDOR-C", + "name": "_1192-CORRIDOR-C", + "type": "path" + }, + { + "d": "M4160.13,138.5l0,96.851l68.5,0l0,406.899l73.372,0l-0,-173.99l58.628,-0l0,-38.859l-58.628,-0l-0.372,-141.301l228.25,-0.1l0,-48.75l-222.014,-0l-0,-100.75l-147.736,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1191-CORRIDOR-B", + "name": "_1191-CORRIDOR-B", + "type": "path" + }, + { + "d": "M4478.59,735.5l-118.361,-0l-0.38,-28.5l-748.22,-0l0,-65.105l690.372,0.427l-0,5.178l44.403,0l0,-43.801l74.63,0l0.308,43.801l56.816,-0.335l0.432,88.335Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1190-CORRIDOR-A", + "name": "_1190-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.101", + "id": "_1194-1-CORRIDOR-E-1", + "name": "_1194-1-CORRIDOR-E-1", + "type": "rect", + "width": "1479.25", + "x": "88.378", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1123-STAIR-A", + "name": "_1123-STAIR-A", + "type": "rect", + "width": "58.434", + "x": "4477.3", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "288" + } + ], + "id": "Corridors-and-stairs", + "name": "Corridors-and-stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1165-elec", + "name": "_1165-elec", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1164-ER", + "name": "_1164-ER", + "type": "rect", + "width": "232", + "x": "329.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1163-ER", + "name": "_1163-ER", + "type": "rect", + "width": "232", + "x": "561.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1162-ER", + "name": "_1162-ER", + "type": "rect", + "width": "232", + "x": "793.628", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1161-ER", + "name": "_1161-ER", + "type": "rect", + "width": "232", + "x": "1025.63", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1160-ER", + "name": "_1160-ER", + "type": "rect", + "width": "238.155", + "x": "1258.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1159-MEP-ROOM", + "name": "_1159-MEP-ROOM", + "type": "rect", + "width": "239.508", + "x": "1496.28", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1158-ER", + "name": "_1158-ER", + "type": "rect", + "width": "231.337", + "x": "1735.79", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1157ER", + "name": "_1157ER", + "type": "rect", + "width": "233.123", + "x": "1967.13", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1156-ER", + "name": "_1156-ER", + "type": "rect", + "width": "231.803", + "x": "2200.25", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1155-ER", + "name": "_1155-ER", + "type": "rect", + "width": "232.461", + "x": "2432.05", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1151-ELEC", + "name": "_1151-ELEC", + "type": "rect", + "width": "183.5", + "x": "3655.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1150-MECH-POWER", + "name": "_1150-MECH-POWER", + "type": "rect", + "width": "232.348", + "x": "3838.63", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "137.655", + "id": "_1120-MMR1", + "name": "_1120-MMR1", + "type": "rect", + "width": "260.5", + "x": "4160.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1152-TAPE-LIBRARY", + "name": "_1152-TAPE-LIBRARY", + "type": "rect", + "width": "476.566", + "x": "2664.63", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "64.565", + "id": "_1154-SDC-IDF", + "name": "_1154-SDC-IDF", + "type": "rect", + "width": "88.333", + "x": "3388.41", + "y": "105.935" + }, + { + "d": "M3141.63,170.25l0,-169.947l464.001,0.042l-0,169.905l-128.69,0l-0,-64.25l-89.212,-0l0.338,64.25l-246.437,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1153-SD-STORAGE", + "name": "_1153-SD-STORAGE", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.155", + "id": "_1149-MDF", + "name": "_1149-MDF", + "type": "rect", + "width": "89.5", + "x": "4070.63", + "y": "1.095" + } + ], + "id": "ELEC---MECH", + "name": "ELEC---MECH", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": 0.5 + }, + "height": "51.46", + "id": "_1185-ELEC", + "name": "_1185-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "458.859" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1184-POE", + "name": "_1184-POE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "109.021", + "id": "_1186-FIRE-PLBG", + "name": "_1186-FIRE-PLBG", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "508.227" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.5", + "id": "_1187-MDF-2", + "name": "_1187-MDF-2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "407.5", + "id": "_1188-MMR2", + "name": "_1188-MMR2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "715.5" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "55.25", + "id": "_1189-POE-4", + "name": "_1189-POE-4", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "1123" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1171-GALLERY", + "name": "_1171-GALLERY", + "type": "rect", + "width": "1325.44", + "x": "1569.19", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1172-GALLERY", + "name": "_1172-GALLERY", + "type": "rect", + "width": "1241.72", + "x": "1652.91", + "y": "1064" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.182", + "id": "_1174-SDC-IDF", + "name": "_1174-SDC-IDF", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "930" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "542.5", + "id": "_1173-SDC-STORAGE", + "name": "_1173-SDC-STORAGE", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "387.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1170-DATAHALL-3", + "name": "_1170-DATAHALL-3", + "type": "rect", + "width": "1241.75", + "x": "1652.88", + "y": "343" + } + ], + "id": "DH3", + "name": "DH3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1181-GALLERY-", + "name": "_1181-GALLERY-", + "type": "rect", + "width": "1326.41", + "x": "162.215", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1182-GALLERY-", + "name": "_1182-GALLERY-", + "type": "rect", + "width": "1241.72", + "x": "246.911", + "y": "1065.51" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1181-1-DATAHALL-1180-1", + "name": "_1181-1-DATAHALL-1180-1", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "344.795" + } + ], + "id": "DH5", + "name": "DH5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1119-POE1", + "name": "_1119-POE1", + "type": "rect", + "width": "51.764", + "x": "4307.86", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.401", + "id": "_1109-MOT", + "name": "_1109-MOT", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "359" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "77.088", + "id": "_1113-HUDDLE", + "name": "_1113-HUDDLE", + "type": "rect", + "width": "86.707", + "x": "4544.16", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "68.485", + "id": "_1104-RR", + "name": "_1104-RR", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "365.023" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.992", + "id": "_1105-JAN", + "name": "_1105-JAN", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "433.508" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "78.218", + "id": "_1102.3-SOC-OFFICE", + "name": "_1102.3-SOC-OFFICE", + "type": "rect", + "width": "66.118", + "x": "4459.01", + "y": "489.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1126-JAN", + "name": "_1126-JAN", + "type": "rect", + "width": "57", + "x": "4303.13", + "y": "707" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1134.2-AM-OFFICE", + "name": "_1134.2-AM-OFFICE", + "type": "rect", + "width": "65.5", + "x": "4063.63", + "y": "850" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61.387", + "id": "_1136-RR", + "name": "_1136-RR", + "type": "rect", + "width": "81.653", + "x": "4063.63", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.218", + "id": "_1142-POE", + "name": "_1142-POE", + "type": "rect", + "width": "101.369", + "x": "3840.13", + "y": "1123.79" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.5-SHRED-ROOM", + "name": "_1133.5-SHRED-ROOM", + "type": "rect", + "width": "125.5", + "x": "3938.13", + "y": "932.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.6-HIGH-VALUE-STORAGE", + "name": "_1133.6-HIGH-VALUE-STORAGE", + "type": "rect", + "width": "261.5", + "x": "3676.63", + "y": "932.697" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "59.838", + "id": "_1133.2-CABLE-STORAGE", + "name": "_1133.2-CABLE-STORAGE", + "type": "rect", + "width": "163.5", + "x": "3676.63", + "y": "708.197" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "110.035", + "id": "_1135-WAITING", + "name": "_1135-WAITING", + "type": "rect", + "width": "62.384", + "x": "4145.28", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "119.5", + "id": "_1133.4-SECURE-STORAGE", + "name": "_1133.4-SECURE-STORAGE", + "type": "rect", + "width": "223.5", + "x": "3840.13", + "y": "813" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1128-ELEC", + "name": "_1128-ELEC", + "type": "rect", + "width": "57", + "x": "4302", + "y": "761.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1125-MECH", + "name": "_1125-MECH", + "type": "rect", + "width": "63.811", + "x": "4359", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1124-PASS", + "name": "_1124-PASS", + "type": "rect", + "width": "54.491", + "x": "4422.81", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1122-SDC-IDF", + "name": "_1122-SDC-IDF", + "type": "rect", + "width": "72.661", + "x": "4535.43", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1130-FREIGHT", + "name": "_1130-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4433.86", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1131-FREIGHT", + "name": "_1131-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4535.36", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1132-MECH", + "name": "_1132-MECH", + "type": "rect", + "width": "138.911", + "x": "4636.63", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61", + "id": "_1100.1-VESTIBULE", + "name": "_1100.1-VESTIBULE", + "type": "rect", + "width": "41.5", + "x": "4767.63", + "y": "499" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "130.798", + "id": "_1103-EXECUTIVE-CONFERENCE", + "name": "_1103-EXECUTIVE-CONFERENCE", + "type": "rect", + "width": "145.497", + "x": "4630.13", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1114-RECORDS", + "name": "_1114-RECORDS", + "type": "rect", + "width": "61", + "x": "4359.63", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1117-OFFICE", + "name": "_1117-OFFICE", + "type": "rect", + "width": "64.5", + "x": "4530.13", + "y": "2.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "237.952", + "id": "_1116-CONFERENCE", + "name": "_1116-CONFERENCE", + "type": "rect", + "width": "109.5", + "x": "4420.63", + "y": "1.298" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1118-OFFICE", + "name": "_1118-OFFICE", + "type": "rect", + "width": "65.274", + "x": "4594.63", + "y": "2.5" + }, + { + "d": "M4775.02,288l0.609,-285l-115.1,-2.655l-0.626,84.155l-130.024,-0.441l0,203.941l245.141,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1110-STREAM-OFFICE", + "name": "_1110-STREAM-OFFICE", + "type": "path" + }, + { + "d": "M4525.13,489.5l-0.162,157.719l33.495,0.137l0,-40.856l41.98,0l-0.008,11.157l52.695,0.479l-1.174,-128.636l-126.826,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1102.1-SOC", + "name": "_1102.1-SOC", + "type": "path" + }, + { + "d": "M4558.46,606.223l0,41.133l-80.452,-0l0.693,57.633l329.676,-0l0,-86.979l-207.164,0l0,-11.51l-42.753,-0.277Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1101-SECURE-LOBBY", + "name": "_1101-SECURE-LOBBY", + "type": "path" + }, + { + "d": "M4607.63,705l0,110.159l167.782,-0.651l0.693,-26.905l32.275,-0.433l0,-82.181l-200.75,0.011Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1121-CONFERENCE", + "name": "_1121-CONFERENCE", + "type": "path" + }, + { + "d": "M4207.55,706.868l0.073,379.082l23.565,0.081l75.845,39.795l19.744,-35.334l77.574,39.904l25.252,-44.509l94.628,0.083l76.334,39.209l19.102,-34.955l75.254,39.426l80.59,-0.024l-0,-197.372l-341.468,-0l-0,-115.82l-131.16,-1.275l0,-108.159l-95.333,-0.132Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1127-LOADING-DOCK", + "name": "_1127-LOADING-DOCK", + "type": "path" + }, + { + "d": "M4598.13,364.5l0,125l55.275,0l-0.13,128.5l155.105,0.01l0,-58.01l-40.75,0l0,-61.698l40.283,-0.037l-0,-79.467l-177.783,-0l0,-54.298l-32,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1100.0-LOBBY", + "name": "_1100.0-LOBBY", + "type": "path" + }, + { + "d": "M3676.63,932l0,-163.965l163.5,0l0,-61.035l367.5,-0l0,143l-144,-0l0,-37l-223.5,-0l0,119.5l-163.5,-0.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1133.1-RECEIVING", + "name": "_1133.1-RECEIVING", + "type": "path" + }, + { + "d": "M4457.98,468l0.296,179.18l-37.243,0.32l-0,-43.801l-38.163,0l0.111,-135.699l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1107-MMR", + "name": "_1107-MMR", + "type": "path" + }, + { + "d": "M4542.91,288l0.721,201.141l-84.617,0.359l-0,-21.24l-98.383,-0l-0.136,-180.26l182.415,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1111-BREAK-ROOM", + "name": "_1111-BREAK-ROOM", + "type": "path" + }, + { + "d": "M4302,468.26l2.333,179.853l42.045,-0.613l0,-42.868l37.34,-0l-0.117,-135.7l-81.601,-0.672Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1108-WRR", + "name": "_1108-WRR", + "type": "path" + }, + { + "d": "M4144.93,1037.5l1.203,140.499l-204.5,0.501l0,-52.454l-101.5,-1.355l0.451,-87.191l304.346,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1141-PLBG-FP", + "name": "_1141-PLBG-FP", + "type": "path" + }, + { + "d": "M4207.55,975.505l-143.66,0.495l-0.257,-44l65.5,-0l0,-82l78.417,0.185l0,125.32Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1134.1-ASSET-MANAGEMENT", + "name": "_1134.1-ASSET-MANAGEMENT", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "79.448", + "id": "_1102.2-SOC-STORAGE", + "name": "_1102.2-SOC-STORAGE", + "type": "rect", + "width": "65.955", + "x": "4459.01", + "y": "567.718" + } + ], + "id": "Stream-Offices", + "name": "Stream-Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "133.25", + "id": "_1138.2-SER", + "name": "_1138.2-SER", + "type": "rect", + "width": "79.5", + "x": "3937.13", + "y": "509" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "88.512", + "id": "_1138.3-FCR", + "name": "_1138.3-FCR", + "type": "rect", + "width": "73", + "x": "3864.13", + "y": "553.738" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.649", + "id": "_1139-TENANT-STORAGE", + "name": "_1139-TENANT-STORAGE", + "type": "rect", + "width": "389.821", + "x": "3222.13", + "y": "235.351" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "406.899", + "id": "_1137-OPS-STORAGE", + "name": "_1137-OPS-STORAGE", + "type": "rect", + "width": "163.5", + "x": "4065.13", + "y": "235.351" + }, + { + "d": "M3611.63,235.5l0,407l252.5,-0.25l0,-88.75l73,-0l0.198,-44.292l79.459,0l0.308,133.042l48.035,0l-0.309,-407.076l-453.191,0.326Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1138.1-TENANT-OFFICE", + "name": "_1138.1-TENANT-OFFICE", + "type": "path" + } + ], + "id": "Tenant-Offices", + "name": "Tenant-Offices", + "type": "group" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1140-MECH---PUMP", + "name": "_1140-MECH---PUMP", + "type": "rect", + "width": "243.5", + "x": "2978.63", + "y": "235.5" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,101.188l-0,-21.233l-40.298,-0l-0,21.233", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1544.41,1178.25l2262.71,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3828.13,1178l315.66,0.25l-0,-92.3l8.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4173.51,1086l57.373,0l76.749,40l19.362,-35.865l77.638,41.156l24.903,-45.608l94.597,0.035l76,40.135l19.39,-36.353l75.428,40l80.682,0l-0.395,-342.218l33.145,0l0,-250.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1035.5l0,94.842l0,-5.357l101.5,0.015l0,53.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1151.75l0,26.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4207.86,1085.95l-0.243,-84.421", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4145.28,1085.95l-0,-84.421l-0,35.614l-468.653,0.357l0,-330.5l294.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4027.95,707l179.674,-0l0,19.825l0,-19.825l127.139,-0l-31.655,-0l-0,59.272l-0,-4.626l56.736,-0l-0,-54.646l-0,109.434", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302.88,786.5l0,29.934l472.628,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4359.85,735.573l33.572,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4413.87,735.573l22.597,-0l-13.636,-0l0.293,80.861", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4477.13,816.434l-0,-80.861l-12.996,-0.323l12.996,0.323l-0,-30.584l7.264,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4504.26,704.989l31.169,-0l-0,111.445", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4608.09,816.434l-0,-111.445l-42.464,0.011", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4653.05,705l110.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4434.04,816.434l-0,115.82l9.934,-0.195", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4535.43,816.434l-0,115.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.63,816.434l0,116.066", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4661.9,932.5l113.729,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,932l185.781,-0l-22.281,-0l0,-119l39.813,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3918.12,813l145.506,-0l0,224.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4020.13,932l108.575,-0l0.156,-55.929", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.63,849.89l70.501,0.36", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.57,850.25l53.056,0l0,25.821l0,-92.073", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,768.035l163.5,0l0,-12.467", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3888.63,932.25l93,0l-43.433,0l-0.067,105.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.67,975.52l144.348,0.195l-0.195,-80.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3647.19,1178.71l0,-14.854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3646.88,1143l0,-7.389l-399.644,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,1135.61l0,-441.611", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3265.63,235.5l755.122,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,235.5l0,419.979l0,-13.175l299.892,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3962.63,642.25l59.351,0l-4.987,0l-0,-133.042l-79.666,0l-0,133.042", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3937.13,553.5l-73,-0l0,88.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.63,642.25l8,0l0,-362.294", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4228.63,241.158l0,-5.685l-168.451,-0.299l4.887,0.008l0,407.068l-23.196,0l140.671,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4160.13,235.351l0,-12.621", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3216.3,1135l10.348,0l-5.018,0l-0,-899.649l5.477,0l-23.327,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3165.48,235.351l-186.856,0l0,899.649l218.001,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4775.02,288l-148.777,-0l4.19,-0l-0.067,130.798l5.052,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4675.13,418.798l56.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4586.88,288l-48.457,-0l5.207,-0l0,201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,365.023l86.5,0.065", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,433.38l54.476,-0l0.16,8.138l0,-52.018", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4598.26,461.785l-0.136,27.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4558.88,622.5l0,-30.591l0,14.936l41.643,0.079l-0.079,10.901l66.663,-0l-13.916,-0l0,-128.325l-194.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4420.88,637l0,10.165l38.133,0l-0,-178.905l-157.011,-0l-0,179.24l44.325,0l-0,-10.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4346.38,617l0.025,-13.192l37.315,-0.235l-0.377,-135.313", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4421.03,616.625l-0.064,-12.926l-74.566,0.109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,239.25l4.674,-0l-0,-105.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4529.88,94l0,-9.5l20.662,-0l-20.662,-0l0.25,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4615.63,84.5l-25.999,-0l4.999,-0l0,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4656.52,84.25l3.384,0l0,-83.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.01,647.165l99.45,0l0,-7.237", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.13,567.191l65.999,-0.128l0,54.768l0,-62.3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,489l0,53.977", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4808.38,617.85l-44.723,0.16", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4743.13,617.85l-18.093,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4705.63,618.01l-17.935,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4360.63,468.067l0,-180.067l-4.8,-0l9.498,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4336.13,288.1l-34.134,-0l-0,141.301l32.686,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302,359l58.577,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4405.13,288l94.191,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.89,234.699l-0.021,11.078l0.012,-6.277l67.252,0l-15.5,0l0,-101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.86,213.705l-0,-75.205l-7.609,0l119.686,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.94,0.345l0,238.853l-5.317,-0.025l71.004,0.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4767.63,539.283l0,20.717l40.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.63,170.632l27.175,-0l-0,13.059l-0,-183.346", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4159.8,138.5l102.161,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-24.506,0l4.341,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3589.63,170.5l16.103,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3551.63,170.5l-138.99,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3476.94,170.5l-0,-64.5l-89.311,-0l0,64.5l5.331,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,50.149", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,508l95.313,-0l0,-5.217l0,10.007", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,5.893l0,-79.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,759.5l0,371.5l0,-7.955l-95.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1039l0,-18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1001l0,-616.527l0,3.027l-83.939,-0l0,37.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,463.614l0,471.386l0,-4.5l83.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,955.5l0,40l83.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1020l0,-635.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "First-Floor", + "name": "First-Floor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMaxYMax", + "stroke": { + "linejoin": "bevel" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1171", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 10, + "width": 122, + "x": 140.19, + "y": 29 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1172", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 8, + "width": 114, + "x": 147, + "y": 102 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1181", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 11, + "width": 121, + "x": 14, + "y": 28 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1182", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 8, + "width": 116, + "x": 21, + "y": 102 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_01_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]\n\t", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_SecondFloor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_SecondFloor/resource.json new file mode 100644 index 0000000..9fb6cf3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_SecondFloor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3cf103f0fd59d4967983b537dfc596fef1aeefb0ecddd6f6191cd9efbbfdc4e9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T18:46:07Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_SecondFloor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_SecondFloor/thumbnail.png new file mode 100644 index 0000000..83a4497 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_SecondFloor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_SecondFloor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_SecondFloor/view.json new file mode 100644 index 0000000..3d4d477 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/GAL_SecondFloor/view.json @@ -0,0 +1,4494 @@ +{ + "custom": { + "ColorHandler": { + "Walls": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "GAL1261": "#BAEDFF", + "GAL1262": "#BAEDFF", + "GAL1271": "#BAEDFF", + "GAL1272": "#BAEDFF", + "GAL1281": "#BAEDFF", + "GAL1282": "#BAEDFF" + }, + "rooms": [ + "GAL1261", + "GAL1262", + "GAL1271", + "GAL1272", + "GAL1281", + "GAL1282" + ], + "selected": "room" + }, + "params": {}, + "propConfig": { + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.rooms}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\toutput[room] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Second Floor" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1271" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1272" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1261" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1262" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1281" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.GAL1282" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[128].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[129].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[130].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[131].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[132].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[133].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[134].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[135].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[136].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[137].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[138].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[139].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[140].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[141].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[142].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[143].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[144].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "51.095", + "id": "_1284-ELEC", + "name": "_1284-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.57" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "159", + "id": "_1285-FIRE---PLBG", + "name": "_1285-FIRE---PLBG", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "459" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.959", + "id": "_1286-STREAM-IDF", + "name": "_1286-STREAM-IDF", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "48.401", + "id": "_1287-ELEC", + "name": "_1287-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "715.959" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "413.89", + "id": "_1288-ANCILLARY-SPACE", + "name": "_1288-ANCILLARY-SPACE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "764.36" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "74.162", + "id": "_1290-STAIRS-C", + "name": "_1290-STAIRS-C", + "type": "rect", + "width": "203.609", + "x": "1515.79", + "y": "1178.24" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.034", + "id": "_1298-STAIRS-B", + "name": "_1298-STAIRS-B", + "type": "rect", + "width": "203.488", + "x": "3802.63", + "y": "1178.22" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "204.973", + "id": "_1283-STAIRS-D", + "name": "_1283-STAIRS-D", + "type": "rect", + "width": "85", + "x": "3.128", + "y": "359.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-2-CORRIDOR-D-2", + "name": "_1293-2-CORRIDOR-D-2", + "type": "rect", + "width": "1565.25", + "x": "88.378", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297-2-CORRIDOR-H-2", + "name": "_1297-2-CORRIDOR-H-2", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-CORRIDOR-D-1", + "name": "_1293-CORRIDOR-D-1", + "type": "rect", + "width": "1406.5", + "x": "1653.63", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.652", + "id": "_1297-1-CORRIDOR-H-1", + "name": "_1297-1-CORRIDOR-H-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "1134.59" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-1-CORRIDOR-C-1", + "name": "_1293-1-CORRIDOR-C-1", + "type": "rect", + "width": "1312", + "x": "3060.13", + "y": "170.5" + }, + { + "d": "M2894.63,1135l165.5,0l0,-119.139l-89.5,0.035l2.66,-626.222l86.84,-0.439l0,-46.294l-84.5,0.05l0.136,-107.491l-81.136,-0l0,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1294-CORRIDOR-E", + "name": "_1294-CORRIDOR-E", + "type": "path" + }, + { + "d": "M183.628,1135l63.25,0l0,-792.225l-84.75,0l0,-107.275l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1296-CORRIDOR-G", + "name": "_1296-CORRIDOR-G", + "type": "path" + }, + { + "d": "M4372.13,641.334l0,94.166l105.352,0l-0,-27.647l107.148,-0l0,-66.519l-99.279,0.357l0.16,-34.158l-74.688,-0.533l-0,34.334l-38.693,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1290-CORRIDOR-A", + "name": "_1290-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.084", + "id": "_1291-CORRIDOR-B", + "name": "_1291-CORRIDOR-B", + "type": "rect", + "width": "64.5", + "x": "4307.63", + "y": "235.5" + }, + { + "d": "M1488.64,1135l164.992,0l0,-120.965l-89.5,0l0,-626.5l89.5,0l0,-44.535l-84.25,-0.059l-0.189,-107.441l-80.561,-0l0.008,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1295-CORRIDOR-F", + "name": "_1295-CORRIDOR-F", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297--1-CORRIDOR-H-1", + "name": "_1297--1-CORRIDOR-H-1", + "type": "rect", + "width": "1469.5", + "x": "184.128", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1223-STAIRS-A", + "name": "_1223-STAIRS-A", + "type": "rect", + "width": "58.258", + "x": "4477.13", + "y": "707.853" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "50", + "x": "4373.13", + "y": "735.5" + } + ], + "id": "Corridors-and-Stairs", + "name": "Corridors-and-Stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.24", + "id": "_1274-STREAM-IDF", + "name": "_1274-STREAM-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "948.76" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "561.225", + "id": "_1273-TENANT-IDF", + "name": "_1273-TENANT-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "387.535" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1271-GALLERY", + "name": "_1271-GALLERY", + "type": "rect", + "width": "1325.56", + "x": "1569.06", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1272-GALLERY", + "name": "_1272-GALLERY", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.245", + "id": "_1270-DATA-HALL-2", + "name": "_1270-DATA-HALL-2", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "342.941" + } + ], + "id": "DH2", + "name": "DH2", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "66.58", + "id": "_1264-STREAM-IDF", + "name": "_1264-STREAM-IDF", + "type": "rect", + "width": "88.5", + "x": "2971.13", + "y": "389.603" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "559.317", + "id": "_1263-TENANT-IDF", + "name": "_1263-TENANT-IDF", + "type": "rect", + "width": "89", + "x": "2971.13", + "y": "456.183" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1261-GALLERY", + "name": "_1261-GALLERY", + "type": "rect", + "width": "1331.87", + "x": "2975.76", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1262-GALLERY-", + "name": "_1262-GALLERY-", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1260-DATAHALL---1", + "name": "_1260-DATAHALL---1", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "342.775" + } + ], + "id": "DH1", + "name": "DH1", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1257-ER", + "name": "_1257-ER", + "type": "rect", + "width": "231.631", + "x": "329.128", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1258-ER", + "name": "_1258-ER", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1256-ER", + "name": "_1256-ER", + "type": "rect", + "width": "232.369", + "x": "560.759", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.5", + "id": "_1255-ER", + "name": "_1255-ER", + "type": "rect", + "width": "231.771", + "x": "793.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1254-ER", + "name": "_1254-ER", + "type": "rect", + "width": "233.733", + "x": "1024.9", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1253-MEP-ROOM", + "name": "_1253-MEP-ROOM", + "type": "rect", + "width": "237.71", + "x": "1258.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1252-ER", + "name": "_1252-ER", + "type": "rect", + "width": "238.786", + "x": "1496.34", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1251-ER", + "name": "_1251-ER", + "type": "rect", + "width": "232.058", + "x": "1735.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1250-ER", + "name": "_1250-ER", + "type": "rect", + "width": "232.442", + "x": "1967.19", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1249-ER", + "name": "_1249-ER", + "type": "rect", + "width": "232.5", + "x": "2199.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1248-ER", + "name": "_1248-ER", + "type": "rect", + "width": "231.642", + "x": "2432.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1247-ER", + "name": "_1247-ER", + "type": "rect", + "width": "239.226", + "x": "2663.77", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1246-ER", + "name": "_1246-ER", + "type": "rect", + "width": "238.331", + "x": "2903", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1245-ER", + "name": "_1245-ER", + "type": "rect", + "width": "232.897", + "x": "3141.33", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1244-ER", + "name": "_1244-ER", + "type": "rect", + "width": "231.5", + "x": "3374.22", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1243-ER", + "name": "_1243-ER", + "type": "rect", + "width": "231.5", + "x": "3606.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1242-ER", + "name": "_1242-ER", + "type": "rect", + "width": "231.5", + "x": "3838.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1241-MECH-POWER", + "name": "_1241-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4070.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1240-MECH-POWER", + "name": "_1240-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4301.63", + "y": "0.345" + } + ], + "id": "Elec-Mech-Rooms", + "name": "Elec-Mech-Rooms", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1218-STREAM-IDF", + "name": "_1218-STREAM-IDF", + "type": "rect", + "width": "90.036", + "x": "4372.13", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1179-Space", + "name": "_1179-Space", + "type": "rect", + "width": "61.464", + "x": "4462.16", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "116", + "id": "_1229-ELEC", + "name": "_1229-ELEC", + "type": "rect", + "width": "62", + "x": "4372.13", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1230-FREIGHT", + "name": "_1230-FREIGHT", + "type": "rect", + "width": "101", + "x": "4434.13", + "y": "815.754" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "91.008", + "id": "_132-PLBG-FP", + "name": "_132-PLBG-FP", + "type": "rect", + "width": "132", + "x": "4372.13", + "y": "1087.08" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "74.548", + "id": "_1292-VESTIBULE", + "name": "_1292-VESTIBULE", + "type": "rect", + "width": "217.056", + "x": "4419.07", + "y": "933" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1232-FREIGHT", + "name": "_1232-FREIGHT", + "type": "rect", + "width": "101", + "x": "4535.13", + "y": "816.127" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "_1225-PASS", + "name": "_1225-PASS", + "type": "rect", + "width": "54", + "x": "4423.13", + "y": "735.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1219-DAS", + "name": "_1219-DAS", + "type": "rect", + "width": "49.241", + "x": "4535.39", + "y": "707.853" + }, + { + "d": "M4372.43,468.5l-0.3,173.191l38.714,0.309l0.316,-35.019l37.175,-0l0,-138.481l-75.905,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1222-WRR", + "name": "_1222-WRR", + "type": "path" + }, + { + "d": "M4372.13,1087.5l0,-154.225l46.944,-0.275l0,74.548l85.056,0l0,79.952l-132,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1233-RECEIVING", + "name": "_1233-RECEIVING", + "type": "path" + }, + { + "d": "M4523.33,468.5l0.297,173.191l-38.252,0.309l0.132,-34.62l-37.176,-0.399l0,-138.481l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1221-MRR", + "name": "_1221-MRR", + "type": "path" + }, + { + "d": "M4372.13,170.944l161.521,-0.409l-0,-170.19l241.055,0l-0.026,417.527l33.233,0.171l-0,368.658l-33.257,-0.446l-0.026,393.745l-270.392,-1.913l0.071,-169.285l131.771,1.464l0,-192.326l-51.45,-3.725l0,-174.843l-60.43,-0.041l-1.014,-234.56l-151.056,-2.093l0,-231.734Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1200-TENANT-OFFICE-SHELL", + "name": "_1200-TENANT-OFFICE-SHELL", + "type": "path" + } + ], + "id": "Offices", + "name": "Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1281-GALLERY", + "name": "_1281-GALLERY", + "type": "rect", + "width": "1326.5", + "x": "162.128", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1282-GALLERY", + "name": "_1282-GALLERY", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1280-DATA-HALL-4", + "name": "_1280-DATA-HALL-4", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "342.775" + } + ], + "id": "DH4", + "name": "DH4", + "type": "group" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,368.223l-33.283,0l0,391.5l-787.5,0.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3967.13,1178.09l-2264.08,0.15", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1680.63,1178.24l-157,0.01", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4129.13,170.306l133,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,978.886l0,36.649l-88.5,0l0,-626.3l4.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3014.13,389.235l45.5,-0l0,100.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,527.535l0,413", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2971.13,456.183l88.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4317.63,170.306l-35.5,-0.021l20.397,0.021l-0,-169.961l-1399.13,0l0.04,170.19", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-41,0l20.835,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3586.39,170.5l40.213,-0l-20.874,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3565.92,170.5l-153.279,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3374.13,0.035l-0.25,170.465l19.081,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,90.184", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,24.301l0,-97.908", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,956.535l0,220.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.7,1130l-0,5l1247.92,0l0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1091.5l0,-32.5l0,4.798l-1247.92,-0l-0,-4.798l-0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2975.76,279.882l-0,-44.382l1331.86,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,319.166l0,23.775l-1331.67,0l-0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,1021.17l0,-559.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,423.535l0,-36l-89.5,0l0,575l0,-13.648l89.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1564.13,974.035l0,40l89.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1017.79l0,-633.291", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1020l0,-677.059", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M184.128,918.535l0,-159l0,5l-96,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4533.65,0.345l-0,170.19l-176.861,0l15.34,0l0,109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,298.432l0,109.5l0,-5.038l151.68,0l-0,238.345l-38.283,-0l0,-4.417l0,4.417l99.103,-0l0,4.785", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4584.63,667.425l0,149.11l51.45,0l0,136.168l0,-20.246l-8.65,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.08,972.948l0,34.587l-145.952,0l13.62,0l0,170.552", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1178.09l0,-22.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1117.98l0,-50.944l0,20.024l131.228,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1010.86l0,-37.914", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4433.13,1007.78l-14,0l0,-34.837", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.38,953.035l0.14,-25.363l0,5.363l71.412,0l-9.032,0l-0.439,-116.588l-11.395,-0.077l-0.116,-80.663l-19.82,0l36.569,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4381.72,735.785l-9.343,-0.25l0,172l0,-91.03l212.25,-0.24", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4476.97,817.035l0.655,-81.5l-10.409,0l10.409,0l0,-27.682l4.315,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4502.13,707.853l57.115,-0l-23.559,-0l0,225.182l-9.557,0l15.999,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.13,953.035l0,-20", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4410.88,637.035l-0,4.656l-38.448,0l0,-213.533", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,468.395l151.811,-0.471", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4461.67,468.395l-0.188,-64.361", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4448.33,467.924l-0.495,139.076l37.671,0.035l-0,9.778l-0,-9.778l-74.351,0l0,9.873", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Second-Floor-Walls", + "name": "Second-Floor-Walls", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMinYMin", + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4809 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1261", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 125, + "x": 264.19, + "y": 20 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1262", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 9, + "width": 117, + "x": 272, + "y": 94 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1271", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 12, + "width": 122, + "x": 140, + "y": 20 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1272", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 8, + "width": 115, + "x": 147, + "y": 94 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1281", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 11, + "width": 122, + "x": 14, + "y": 20 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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": "GAL1282", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 8, + "width": 115, + "x": 21, + "y": 94 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_02_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_FirstFloor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_FirstFloor/resource.json new file mode 100644 index 0000000..f117635 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_FirstFloor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c57830e19381ad7f20d193ebc158fa16a4f9154875b8a4e321627d11a5a9add0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-21T23:33:53Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_FirstFloor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_FirstFloor/thumbnail.png new file mode 100644 index 0000000..07e1488 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_FirstFloor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_FirstFloor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_FirstFloor/view.json new file mode 100644 index 0000000..0d51c50 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_FirstFloor/view.json @@ -0,0 +1,1180 @@ +{ + "custom": { + "Available": [ + "SATB1_RF_RTU01", + "SATB1_RF_RTU02" + ], + "ColorHandler": { + "Wall": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "RTU01": "#BAEDFF", + "RTU02": "#BAEDFF" + }, + "selected": "SATB1_4" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tshortName \u003d room.split(\"_\")\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\tsroom \u003d shortName[2]\n\t\toutput[sroom] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_RTU01", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 105, + "width": 170, + "x": 260, + "y": 8 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "1sf" + }, + "position": { + "height": 120, + "width": 430 + }, + "props": { + "elements": [ + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "19.513", + "x": "15.769", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.652", + "x": "118.364", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.652", + "x": "170.016", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "50.952", + "x": "221.667", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.739", + "x": "272.62", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "50.602", + "x": "324.359", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.477", + "x": "429.8", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.564", + "x": "481.277", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.564", + "x": "532.841", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.04", + "x": "584.405", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.04", + "x": "635.445", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "54.275", + "x": "686.485", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "21.346", + "name": "rect", + "type": "rect", + "width": "21.925", + "x": "740.759", + "y": "19.107" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "15.475", + "name": "rect", + "type": "rect", + "width": "21.925", + "x": "740.759", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "13.416", + "name": "rect", + "type": "rect", + "width": "14.539", + "x": "786.218", + "y": "13.901" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "13.416", + "name": "rect", + "type": "rect", + "width": "14.539", + "x": "852.316", + "y": "13.901" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "13.135", + "name": "rect", + "type": "rect", + "width": "14.539", + "x": "786.218", + "y": "27.317" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "13.135", + "name": "rect", + "type": "rect", + "width": "14.539", + "x": "852.316", + "y": "27.317" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "13.851", + "name": "rect", + "type": "rect", + "width": "16.222", + "x": "930.366", + "y": "26.601" + }, + { + "d": "M930.348,40.452l-27.849,0l-0,-36.821l44.089,0l0,22.925l-16.24,0l-0,13.896Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "23.534", + "x": "762.684", + "y": "3.631" + }, + { + "d": "M786.218,13.913l0,-10.282l90.299,0l-0,36.821l-9.76,0l0,-26.539l-14.441,0l-0,26.539l-51.657,0l0,-26.539l-14.441,0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "25.982", + "x": "876.517", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "51.228", + "x": "946.588", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "36.821", + "name": "rect", + "type": "rect", + "width": "54.368", + "x": "997.816", + "y": "3.631" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "14.089", + "name": "rect", + "type": "rect", + "width": "15.038", + "x": "35.282", + "y": "26.364" + }, + { + "d": "M35.282,26.32l0,-22.689l43.295,0l0,36.821l-28.213,0l0,-14.132l-15.082,-0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "16.934", + "name": "rect", + "type": "rect", + "width": "12.193", + "x": "1030.82", + "y": "59.578" + }, + { + "d": "M704.881,225.51l-0,-170.409l161.096,0l0,187.468l-149.344,-0l0,-17.059l-11.752,0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "17.24", + "name": "rect", + "type": "rect", + "width": "11.943", + "x": "704.881", + "y": "225.328" + }, + { + "d": "M876.967,214.554l-0,-64.103l36.031,-0l-0,85.698l-15.332,0l-0,-21.595l-20.699,-0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "14.539", + "name": "rect", + "type": "rect", + "width": "36.031", + "x": "876.967", + "y": "236.149" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "21.595", + "name": "rect", + "type": "rect", + "width": "20.699", + "x": "876.967", + "y": "214.554" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "18.473", + "name": "rect", + "type": "rect", + "width": "18.536", + "x": "930.889", + "y": "150.451" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "18.473", + "name": "rect", + "type": "rect", + "width": "17.891", + "x": "912.998", + "y": "150.451" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "6.994", + "name": "rect", + "type": "rect", + "width": "18.536", + "x": "930.889", + "y": "168.924" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "13.849", + "name": "rect", + "type": "rect", + "width": "11.891", + "x": "937.534", + "y": "175.918" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "13.849", + "name": "rect", + "type": "rect", + "width": "8.674", + "x": "928.86", + "y": "175.918" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "23.641", + "name": "rect", + "type": "rect", + "width": "15.862", + "x": "912.998", + "y": "175.918" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "21.866", + "name": "rect", + "type": "rect", + "width": "36.427", + "x": "912.998", + "y": "199.559" + }, + { + "d": "M971.223,232.877l-0,18.173l-58.225,-0l-0,-29.625l36.427,0l-0,11.452l21.798,-0Z", + "fill": { + "opacity": "0.8", + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "17.062", + "name": "rect", + "type": "rect", + "width": "18.445", + "x": "963.414", + "y": "189.423" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "11.862", + "name": "rect", + "type": "rect", + "width": "17.665", + "x": "963.915", + "y": "170.98" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "18.443", + "name": "rect", + "type": "rect", + "width": "16.899", + "x": "981.58", + "y": "170.98" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "38.861", + "name": "rect", + "type": "rect", + "width": "29.136", + "x": "1001.35", + "y": "128.524" + }, + { + "d": "M1030.49,85.457l-0,43.067l-66.685,0l-0,5.678l-14.384,0l-0,4.915l-72.683,0l0,-84.077l58.255,0l-0,4.364l12.265,-0l0,-4.364l74.607,0l-0,30.417l8.625,0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "57.132", + "name": "rect", + "type": "rect", + "width": "29.136", + "x": "1001.35", + "y": "167.624" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "28.911", + "name": "rect", + "type": "rect", + "width": "17.935", + "x": "1034.25", + "y": "222.138" + }, + { + "d": "M1030.49,222.138l3.76,0l-0,28.912l-63.026,-0l-0,-44.565l30.13,0l-0,18.226l29.136,0l-0,-2.573Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "d": "M998.256,150.993l-0,19.987l-34.452,0l-0,-11.174l8.944,0l-0,-8.813l25.508,0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "d": "M972.748,147.916l-0,-8.464l-8.944,0l-0,-10.928l34.452,0l-0,19.392l-25.508,-0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "17.062", + "name": "rect", + "type": "rect", + "width": "19.494", + "x": "981.859", + "y": "189.423" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "6.994", + "name": "rect", + "type": "rect", + "width": "17.891", + "x": "912.998", + "y": "168.924" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "24.65", + "name": "rect", + "type": "rect", + "width": "22.172", + "x": "18.391", + "y": "53.391" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "11.206", + "name": "rect", + "type": "rect", + "width": "12.24", + "x": "54.692", + "y": "55.139" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "11.102", + "name": "rect", + "type": "rect", + "width": "12.24", + "x": "54.692", + "y": "66.345" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "12.117", + "name": "rect", + "type": "rect", + "width": "25.955", + "x": "15.646", + "y": "200.465" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "22.964", + "name": "rect", + "type": "rect", + "width": "25.955", + "x": "15.646", + "y": "212.582" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "15.623", + "name": "rect", + "type": "rect", + "width": "25.955", + "x": "15.646", + "y": "235.546" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "10.277", + "name": "rect", + "type": "rect", + "width": "11.384", + "x": "29.179", + "y": "84.3" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "32.029", + "name": "rect", + "type": "rect", + "width": "51.287", + "x": "15.646", + "y": "168.436" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "12.158", + "name": "rect", + "type": "rect", + "width": "13.351", + "x": "53.581", + "y": "200.465" + }, + { + "d": "M40.563,54.987l14.129,-0l0,21.662l12.24,-0l0,91.787l-51.286,-0l-0,-64.403l24.917,-0l0,-49.046Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "d": "M40.563,94.439l0,9.615l-24.917,-0l-0,-15.097l13.597,-0l-0,5.482l11.32,0Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "d": "M29.198,89.667l-13.552,0l-0,-11.626l24.917,0l0,6.248l-11.365,0l-0,5.378Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "17.024", + "name": "rect", + "type": "rect", + "width": "11.711", + "x": "80.091", + "y": "91.578" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "152.196", + "name": "rect", + "type": "rect", + "width": "263.909", + "x": "111.158", + "y": "75.196" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "15.177", + "name": "rect", + "type": "rect", + "width": "276.758", + "x": "98.309", + "y": "227.392" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "20.095", + "name": "rect", + "type": "rect", + "width": "276.758", + "x": "98.309", + "y": "55.101" + }, + { + "d": "M91.815,91.578l19.397,-0l0,120.214l-31.121,-0l-0,-103.211l11.724,-0l0,-17.003Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "17.286", + "name": "rect", + "type": "rect", + "width": "11.012", + "x": "393.832", + "y": "91.578" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "152.196", + "name": "rect", + "type": "rect", + "width": "263.909", + "x": "422.8", + "y": "75.196" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "15.177", + "name": "rect", + "type": "rect", + "width": "276.758", + "x": "409.951", + "y": "227.392" + }, + { + "fill": { + "paint": "#ececec" + }, + "height": "20.095", + "name": "rect", + "type": "rect", + "width": "276.758", + "x": "409.951", + "y": "55.101" + }, + { + "d": "M404.766,91.578l18.089,-0l0,122.924l-29.023,0l-0,-105.538l10.934,0l-0,-17.386Z", + "fill": { + "paint": "#ececec" + }, + "name": "path", + "type": "path" + }, + { + "d": "M66.932,211.792l0,-156.653l31.37,-0.038l0.007,20.095l12.903,0l0,16.382l-31.121,-0l-0,120.214l-13.159,-0Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor21", + "name": "Corridor21", + "type": "path" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "36.821", + "id": "Corridor20", + "name": "Corridor20", + "type": "rect", + "width": "39.787", + "x": "78.577", + "y": "3.631" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "8.6", + "id": "Corridor19", + "name": "Corridor19", + "type": "rect", + "width": "276.758", + "x": "98.309", + "y": "242.569" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "14.649", + "id": "Corridor18", + "name": "Corridor18", + "type": "rect", + "width": "256.909", + "x": "429.8", + "y": "40.452" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "187.468", + "id": "Corridor17", + "name": "Corridor17", + "type": "rect", + "width": "18.171", + "x": "686.709", + "y": "55.101" + }, + { + "d": "M876.967,55.04l-172.086,0.061l-0,-14.649l172.086,0l-0,14.588Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor16", + "name": "Corridor16", + "type": "path" + }, + { + "d": "M876.967,40.452l175.217,0l-0,12.187l-8.968,0l0,6.939l-12.2,-0l0,-6.939l-9.235,0l0,2.401l-74.524,0l0,4.364l-12.265,-0l-0,-4.364l-58.025,0l-0,-14.588Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor15", + "name": "Corridor15", + "type": "path" + }, + { + "d": "M876.967,55.042l-0,187.527l-10.99,-0l0,-187.523l10.99,-0.004Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor14", + "name": "Corridor14", + "type": "path" + }, + { + "d": "M949.421,150.451l-72.454,-0l-0,-11.334l72.453,0l0.001,11.334Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor13", + "name": "Corridor13", + "type": "path" + }, + { + "d": "M949.425,189.767l-0.005,-55.565l14.139,0l0,5.1l9,0l0,20.504l-8.755,0l-0,11.174l0.111,0l0,11.863l17.665,-0l0,6.58l-18.166,0l-0,17.062l7.809,0l-0,27.437l-21.798,-0l-0,-34.363l-20.565,0l-0,-9.792l20.565,0Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor12", + "name": "Corridor12", + "type": "path" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "8.6", + "id": "Corridor11", + "name": "Corridor11", + "type": "rect", + "width": "10.99", + "x": "865.977", + "y": "242.569" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "8.6", + "id": "Corridor10", + "name": "Corridor10", + "type": "rect", + "width": "161.096", + "x": "704.881", + "y": "242.569" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "8.6", + "id": "Corridor9", + "name": "Corridor9", + "type": "rect", + "width": "18.171", + "x": "686.709", + "y": "242.569" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "8.6", + "id": "Corridor8", + "name": "Corridor8", + "type": "rect", + "width": "276.758", + "x": "409.951", + "y": "242.569" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "14.649", + "id": "Corridor7", + "name": "Corridor7", + "type": "rect", + "width": "18.171", + "x": "686.709", + "y": "40.452" + }, + { + "d": "M409.951,251.169l-34.885,0l0,-196.068l34.885,0l0,20.095l12.849,0l0,16.382l-28.968,-0l-0,122.924l28.968,0l0,12.89l-12.849,-0l0,23.777Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor6", + "name": "Corridor6", + "type": "path" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "36.821", + "id": "Corridor5", + "name": "Corridor5", + "type": "rect", + "width": "54.839", + "x": "374.961", + "y": "3.631" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "14.649", + "id": "Corridor4", + "name": "Corridor4", + "type": "rect", + "width": "54.839", + "x": "374.961", + "y": "40.452" + }, + { + "fill": { + "paint": "#f7f7f7" + }, + "height": "14.649", + "id": "Corridor3", + "name": "Corridor3", + "type": "rect", + "width": "256.597", + "x": "118.364", + "y": "40.452" + }, + { + "d": "M118.364,55.101l-20.055,0l-31.377,0.038l-12.24,0l0,-0.152l-14.129,-0l0,-1.596l-24.917,-0l-0,-12.939l102.718,0l0,14.649Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor2", + "name": "Corridor2", + "type": "path" + }, + { + "d": "M98.309,251.169l-56.708,0l-0,-50.704l11.98,-0l0,12.158l13.351,0l0,-0.831l44.28,-0l0,15.6l-12.903,-0l-0,23.777Z", + "fill": { + "paint": "#f7f7f7" + }, + "id": "Corridor1", + "name": "Corridor1", + "type": "path" + }, + { + "d": "M1052.18,251.104l-1036.44,-0l0,-247.345l1036.44,-0l-0,83.692m-0,134.724l-0,28.929m-52.001,-250.662l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-102.714,-0l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-102.714,-0l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-106.218,-0l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-102.824,-0l0,3.317l-11.769,-0l0,-3.317l11.769,-0Zm-102.604,-0l-0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-106.218,-0l-0,3.317l-11.77,-0l0,-3.317l11.77,-0Zm-102.714,-0l-0,3.317l-11.77,-0l0,-3.317l11.77,-0Zm-102.714,-0l-0,3.317l-11.77,-0l0,-3.317l11.77,-0Zm-102.933,-0l-0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm14.199,250.662l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm78.141,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm108.518,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm92.421,-0l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm108.846,-0l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm107.86,-0l0,3.316l-11.769,0l0,-3.316l11.769,-0Zm142.85,-0l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm92.311,-0l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm108.298,-0l0,3.316l-11.769,0l0,-3.316l11.769,-0Zm63.403,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm66.807,-163.653l-21.805,0l0,134.724l21.805,-0m-998.837,28.929l-0,14.955l-36.793,0l-0,-14.955l36.793,-0Zm-37.601,-201.071l-14.956,-0l0,-36.793l14.956,-0l0,36.793Zm402.74,201.071l-0,14.955l-35.84,0l-0,-14.955l35.84,-0Zm488.384,-0l-0,14.955l-35.84,0l-0,-14.955l35.84,-0Zm-878.403,-0l0,14.955l-5.536,0l0,-14.955l5.536,-0Zm-12.721,-225.95l-14.956,-0l0,-5.537l14.956,0l0,5.537Zm375.282,225.95l-0,14.955l-5.873,0l-0,-14.955l5.873,-0Zm488.383,-0l0,14.955l-5.872,0l-0,-14.955l5.872,-0Zm-829.288,0.589l-0,14.366l-5.537,0l0,-14.366l5.537,-0Zm-34.966,-204.884l-14.367,0l0,-5.536l14.367,-0l0,5.536Zm397.526,204.884l-0,14.366l-5.537,0l0,-14.366l5.537,-0Zm488.384,-0l-0,14.366l-5.537,0l0,-14.366l5.537,-0Zm-856.621,7.183l0,1.997l-15.979,0l0,-1.997l15.979,0Zm-36.623,-217.674l-2.221,0l-0,-15.978l2.221,-0l0,15.978Zm4.811,-0.07l-11.844,0l0,-15.978l11.844,-0l0,15.978Zm394.372,217.744l0,1.997l-15.978,0l-0,-1.997l15.978,0Zm488.384,0l0,1.997l-15.979,0l0,-1.997l15.979,0Zm-865.311,-4.66l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-17.445,-227.45l-11.844,-0l0,-1.612l11.844,-0l0,1.612Zm380.005,227.45l0,11.213l-1.611,-0l-0,-11.213l1.611,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm362.56,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-20.669,-224.227l-11.844,0l0,-1.612l11.844,0l0,1.612Zm383.229,224.227l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm362.56,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-23.893,-221.003l-11.844,0l0,-1.612l11.844,0l0,1.612Zm386.453,221.003l-0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm362.56,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-27.117,-217.779l-11.844,-0l0,-1.612l11.844,0l0,1.612Zm389.677,217.779l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm362.56,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-849.333,-0l0,11.213l-1.611,-0l-0,-11.213l1.611,-0Zm-30.34,-214.555l-11.844,-0l0,-1.612l11.844,-0l0,1.612Zm392.9,214.555l0,11.213l-1.611,-0l-0,-11.213l1.611,-0Zm488.384,-0l0,11.213l-1.611,-0l-0,-11.213l1.611,-0Zm-849.332,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-22.508,-213.996l-6.332,-0l0,-36.461l19.372,-0l0,36.461l-4.638,-0m21.154,-0l-10.159,-0m-6.357,-0l0,-36.461l43.331,-0l0,36.461l-19.065,-0m583.35,-0l-7.439,-0l-0,-36.461l51.229,-0l0,36.461l-5.848,-0m-8.363,-0l-25.4,-0m-55.819,-0l-7.029,-0l0,-36.461l51.23,-0l-0,36.461l-6.341,-0m-8.116,-0l-24.827,-0m-56.31,-0l-6.866,-0l0,-36.461l51.23,-0l0,36.461l-6.013,-0m-8.444,-0l-25.236,-0m-56.023,-0l-7.111,-0l-0,-36.461l51.23,-0l-0,36.461l-5.521,-0m-8.609,-0l-25.728,-0m-55.501,-0l-7.208,-0l0,-36.461l51.319,-0l0,36.461l-5.53,-0m-8.786,-0l-25.362,-0m-110.308,-0l-6.979,-0l0,-36.461l50.722,-0l-0,36.461l-6.309,-0m-7.726,-0l-25.622,-0m-55.689,-0l-7.12,-0l-0,-36.461l51.744,-0l0,36.461l-6.436,-0m-7.882,-0l-26.138,-0m-55.433,-0l-7.043,-0l-0,-36.461l51.188,-0l-0,36.461l-6.367,-0m-7.797,-0l-25.858,-0m-54.966,-0l-7.535,-0l-0,-36.461l51.188,-0l-0,36.461l-6.366,-0m-7.798,-0l-25.202,-0m-55.967,-0l-7.043,-0l-0,-36.461l51.188,-0l-0,36.461l-6.366,-0m-7.798,-0l-25.038,-0m-52.337,-0l0,-36.461l39.795,-0l-0,36.461m586.833,185.309l0,-2.629m0,-161.477l0,-6.244l160.844,0l-0,187.61l-160.844,-0l0,-12.419m0,-15.318l0,-145.865m0,156.342l11.507,-0l-0,17.26l-11.507,-0m171.85,-33.867l0,-58.424l36.021,-0l0,85.787l-36.021,-0m0,-4.74l0,-18.361m0,1.338l20.762,0l0,21.763m66.039,-43.071l-0,-3.706l18.01,-0l0,16.759l-18.01,0l-0,-8.955m19.341,8.955l-1.331,0l0,-16.759l15.009,-0l0,16.759l-9.744,0m-56.673,-55.769l2.135,-0m4.373,-0l12.381,-0l0,25.252l-36.271,-0l0,-25.252l13.185,-0m20.296,48.852l2.79,0l0,21.773l-36.271,-0l0,-21.773l29.547,0m-245.928,-159.13l-10.043,-0l0,-36.461l54.087,-0l0,36.461l-36.195,-0m163.185,-0l-112.808,-0m-8.504,-0l-5.678,-0l0,-36.461l161.833,-0l0,36.461l-28.183,-0m-133.65,-20.985l22.051,-0m0,-11.066l0,32.051m179.19,-0l-12.032,-0m-8.966,-0l-18.41,-0l0,-36.461l44.144,-0l0,36.461m6.351,-0l-6.351,-0l0,-36.461l50.96,-0l0,36.461l-35.652,-0m-554.75,213.996l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm117.352,-213.996l39.302,-0m-54.636,-0l7.578,-0m-630.125,29.237l0,5.502l-276.536,0l-0,-5.498m-0,-8.612l-0,-5.78l276.536,-0l0,5.833m311.467,8.555l-0,5.502l-276.537,0l0,-5.498m0,-8.612l0,-5.78l276.537,-0l-0,5.833m-311.467,181.679l-276.536,0m-0,-8.206l-0,-6.881l276.536,0l0,6.463m311.467,8.624l-276.537,0m0,-8.206l0,-6.881l276.537,0l-0,6.492m-575.322,-159.027l-0,1.574m311.466,-1.574l0,1.574m-47.611,-1.574l0,1.574m311.467,-1.574l-0,1.574m-575.322,8.073l-0,134.332m311.466,-134.332l0,134.332m-47.611,-134.332l0,134.332m311.467,-134.332l-0,134.332m-594.841,-127.238l19.519,-0l-0,16.749m-0,0l-0,103.263l-17.458,0m-8.49,0l-4.994,0l-0,-114.804m313.656,-5.208l28.752,-0l0,122.574l-16.492,-0m-8.218,-0l-4.042,-0l0,-103.062m-313.656,-18.19l-0,-1.322l11.423,-0l-0,16.749l-11.423,0m324.631,-16.749l0,19.512l-10.975,0l0,-14.613m648.968,-44.009l9.356,-0l-0,32.739l-30.212,0l-0,-32.739l8.914,-0m11.942,-0l0,23.939l-11.942,0l0,-23.939m9.715,7.176l2.227,-0l0,16.763l-11.942,0l0,-16.763l3.717,-0m-3.717,0.673l0,16.09l-8.914,0l-0,-16.09l8.914,-0Zm21.298,-0l-0,16.09l-9.356,0l0,-16.09l9.356,-0Zm-10.447,24.89l-10.891,0l-0,-8.8l10.891,0l-0,8.8Zm-10.851,-23.278l0,1.85l-8.914,-0l-0,-1.85l8.914,-0Zm21.298,-0l-0,1.85l-9.356,-0l0,-1.85l9.356,-0Zm-21.298,3.672l0,1.85l-8.914,0l-0,-1.85l8.914,-0Zm21.298,-0l-0,1.85l-9.356,0l0,-1.85l9.356,-0Zm-21.298,3.672l0,1.85l-8.914,0l-0,-1.85l8.914,0Zm21.298,0l-0,1.85l-9.356,0l0,-1.85l9.356,0Zm-17.581,15.934l-1.85,0l0,-8.8l1.85,0l0,8.8Zm-3.717,-12.262l0,1.851l-8.914,-0l-0,-1.851l8.914,0Zm21.298,0l-0,1.851l-9.356,-0l0,-1.851l9.356,0Zm-14.042,12.262l-1.851,0l0,-8.8l1.851,0l-0,8.8Zm1.85,0l-1.85,0l-0,-8.8l1.85,0l-0,8.8Zm-998.447,144.397l-0,5.746l-25.799,-0l0,-23.054l25.799,0l-0,4.601m2.292,-162.133l-3.289,0m14.274,0l-2.959,0m-10.318,194.328l-0,1.89m-0,-15.632l-0,9.168m25.294,-112.121l0,-4.249m0,72.181l0,-56.286m0,-20.04l0,-47.132m-30.609,-23.708l4.318,0l-0,24.335l-24.802,-0l0,-24.335l8.156,0m36.246,1.601l6.691,0l0,11.796m0,4.564l0,5.747l-12.017,0l-0,-22.107l1.392,0m-1.392,11.054l12.017,-0m-25.294,145.671l-0,0.807l-25.799,0l0,-11.967l25.799,0l-0,6.697m-23.003,-153.863l-0,24.335l-2.796,-0l0,-24.335l2.796,0Zm48.297,158.313l0,0.82l-13.145,0l-0,-11.967l13.145,0l0,6.908m-23.436,-6.908l-1.858,0m12.149,0l-2.395,0m10.426,-31.873l5.114,0m-13.145,0l3.849,0m-41.797,0l25.799,0m-6.427,-142.069l15.071,0l-0,13.711m-9.641,42.41l-0,15.895m-0,3.83l-0,1.626l-24.802,0l0,-26.361l24.802,-0l-0,0.971m-24.802,-0.423l0,8.131l-15.304,0l-0,-8.131l15.304,-0Zm23.838,6.088l0.964,0l-0,10.23l-11.246,-0l0,-10.23l6.505,0m-20.061,5.115l13.556,0m-25.319,-11.203l-0,8.131l-1.836,0l-0,-8.131l1.836,-0Zm3.724,-0l0,8.131l-1.836,0l0,-8.131l1.836,-0Zm1026.6,163.98l0,8.956m0,-28.929l0,12.924m-121.356,1.54l0,14.465m-36.021,-14.465l0,9.022m94.493,-31.3l-0,-8.094m-0,44.837l-0,-25.923m-0,7.468l-21.901,0l0,-5.891m0,-51.008l0,13.866l-7.044,0m-4.739,-13.866l0,13.866l-3.97,0m-4.739,-13.866l0,18.477m2.057,-18.477l-0,-25.252m-11.022,18.242l22.413,0m26.741,13.943l12.322,-0m-17.547,-23.164l0,23.164l1.209,-0m-1.209,-11.582l34.453,-0m-16.906,13.887l-0,-13.887m-12.68,-11.582l3.907,-0l-0,-20.108l-4.035,0m4.035,8.709l25.679,-0.128m-25.679,2.818l25.679,-0m-1.697,38.698l1.697,-0l-0,-60.983l-34.709,-0l0,10.886m14.857,-10.886l-0,3.586m-0,35.605l-0,3.073m19.852,-42.264l31.634,-0m-4.222,96.056l4.523,-0l0,-2.406m-29.118,-93.65l0,85.836m0,3.771l0,6.449l20.742,-0m-25.256,-18.314l4.514,0m25.022,-39.048l4.096,-0m-29.118,-0l20.186,-0m-75.992,-107.941l1.721,-0l0,-4.099l74.796,0m-62.895,79.225l-9.508,-0.075l-0,4.713l-72.642,0l0,-83.863l58.118,0l0,4.099m0,-0l2.295,-0m-151.112,-52.543l-0,-2.976m-0,36.461l-0,-28.157m5.041,2.049l-5.041,-0m14.242,13.054l-0,-13.054m-0,26.108l-0,-7.522m66.189,-17.52l-0,-1.066l-14.242,-0m14.242,15l-0,-9.119m-0,20.227l-0,-3.423m-14.242,-22.685l-0,26.108m24.283,-27.235l-0,27.235m-90.472,-13.054l14.242,-0m51.947,-0l14.242,-0m63.673,13.054l-0,-13.618l16.256,0m96.24,25.988l0,-7.264", + "fill": { + "paint": "transparent" + }, + "id": "_1stFloor", + "name": "_1stFloor", + "stroke": { + "opacity": "0.95", + "paint": "#747474", + "width": "0.88px" + }, + "type": "path" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1053 267" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_01_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_Roof/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_Roof/resource.json new file mode 100644 index 0000000..fea5a07 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_Roof/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f5f67b1511b542253dfa78fd50703c8181aa9931d00a8c7369db2997e37f0c04", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-21T23:23:44Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_Roof/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_Roof/thumbnail.png new file mode 100644 index 0000000..672351d Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_Roof/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_Roof/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_Roof/view.json new file mode 100644 index 0000000..b8e80f8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_Roof/view.json @@ -0,0 +1,4111 @@ +{ + "custom": { + "Available": [ + "SATB1_RF_RTU01", + "SATB1_RF_RTU02" + ], + "ColorHandler": { + "Walls": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "RTU01": "#BAEDFF", + "RTU02": "#BAEDFF" + }, + "selected": "rtu" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tshortName \u003d room.split(\"_\")\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\tsroom \u003d shortName[2]\n\t\toutput[sroom] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Roof" + }, + "position": { + "height": 109, + "width": 422, + "x": 4, + "y": 6.5 + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M990.069,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.416,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour", + "name": "Contour", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M985.932,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.652,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.34,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details", + "name": "Details", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M981.894,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details1", + "name": "Details1", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M987.877,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details2", + "name": "Details2", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx", + "name": "CHxx", + "type": "group" + }, + { + "elements": [ + { + "d": "M869.824,87.358l-0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour1", + "name": "Contour1", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M865.687,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details3", + "name": "Details3", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M861.649,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details4", + "name": "Details4", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M867.633,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details5", + "name": "Details5", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx1", + "name": "CHxx1", + "type": "group" + }, + { + "elements": [ + { + "d": "M628.623,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour2", + "name": "Contour2", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M624.486,100.291c1.651,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details6", + "name": "Details6", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M620.448,89.494c0.578,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.468,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details7", + "name": "Details7", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M626.432,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details8", + "name": "Details8", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx2", + "name": "CHxx2", + "type": "group" + }, + { + "elements": [ + { + "d": "M510.039,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.416,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour3", + "name": "Contour3", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M505.902,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.652,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.34,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details9", + "name": "Details9", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M501.864,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details10", + "name": "Details10", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M507.847,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details11", + "name": "Details11", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx3", + "name": "CHxx3", + "type": "group" + }, + { + "elements": [ + { + "d": "M390.031,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour4", + "name": "Contour4", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M385.894,100.291c1.651,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details12", + "name": "Details12", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M381.856,89.494c0.578,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.468,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details13", + "name": "Details13", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M387.84,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details14", + "name": "Details14", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx4", + "name": "CHxx4", + "type": "group" + }, + { + "elements": [ + { + "d": "M930.065,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.417,13.244l-0,-13.244l-12.922,0l-0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour5", + "name": "Contour5", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M925.928,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details15", + "name": "Details15", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M921.89,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details16", + "name": "Details16", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M927.874,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details17", + "name": "Details17", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx5", + "name": "CHxx5", + "type": "group" + }, + { + "elements": [ + { + "d": "M809.82,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour6", + "name": "Contour6", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M805.683,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details18", + "name": "Details18", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M801.645,89.494c0.578,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.468,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details19", + "name": "Details19", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M807.629,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details20", + "name": "Details20", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx6", + "name": "CHxx6", + "type": "group" + }, + { + "elements": [ + { + "d": "M568.619,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour7", + "name": "Contour7", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M564.482,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.991,1.341 -2.991,2.992c-0,1.652 1.34,2.992 2.991,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details21", + "name": "Details21", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M560.444,89.494c0.578,-0 1.047,-0.469 1.047,-1.046c-0,-0.578 -0.469,-1.047 -1.047,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details22", + "name": "Details22", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M566.428,93.605c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details23", + "name": "Details23", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx7", + "name": "CHxx7", + "type": "group" + }, + { + "elements": [ + { + "d": "M450.035,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.417,13.244l-0,-13.244l-12.922,0l-0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour8", + "name": "Contour8", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M445.898,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details24", + "name": "Details24", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M441.86,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details25", + "name": "Details25", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M447.844,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details26", + "name": "Details26", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx8", + "name": "CHxx8", + "type": "group" + }, + { + "elements": [ + { + "d": "M325.995,87.358l0,-40.471l-9.41,-0l0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour9", + "name": "Contour9", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M321.859,100.291c1.651,0 2.991,-1.34 2.991,-2.992c0,-1.651 -1.34,-2.992 -2.991,-2.992c-1.652,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.34,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details27", + "name": "Details27", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M317.821,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details28", + "name": "Details28", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M323.804,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details29", + "name": "Details29", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx9", + "name": "CHxx9", + "type": "group" + }, + { + "elements": [ + { + "d": "M235.397,87.358l-0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour10", + "name": "Contour10", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M231.26,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details30", + "name": "Details30", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M227.222,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details31", + "name": "Details31", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M233.206,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details32", + "name": "Details32", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx10", + "name": "CHxx10", + "type": "group" + }, + { + "elements": [ + { + "d": "M115.152,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour11", + "name": "Contour11", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M111.015,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.991,1.341 -2.991,2.992c-0,1.652 1.34,2.992 2.991,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details33", + "name": "Details33", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M106.977,89.494c0.578,-0 1.047,-0.469 1.047,-1.046c-0,-0.578 -0.469,-1.047 -1.047,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details34", + "name": "Details34", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M112.961,93.605c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details35", + "name": "Details35", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx11", + "name": "CHxx11", + "type": "group" + }, + { + "elements": [ + { + "d": "M959.848,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour12", + "name": "Contour12", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M955.711,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details36", + "name": "Details36", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M951.673,89.494c0.578,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.468,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details37", + "name": "Details37", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M957.657,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details38", + "name": "Details38", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx12", + "name": "CHxx12", + "type": "group" + }, + { + "elements": [ + { + "d": "M839.603,87.358l0,-40.471l-9.41,-0l0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour13", + "name": "Contour13", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M835.467,100.291c1.651,0 2.991,-1.34 2.991,-2.992c0,-1.651 -1.34,-2.992 -2.991,-2.992c-1.652,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.34,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details39", + "name": "Details39", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M831.429,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details40", + "name": "Details40", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M837.412,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details41", + "name": "Details41", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx13", + "name": "CHxx13", + "type": "group" + }, + { + "elements": [ + { + "d": "M598.403,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.416,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour14", + "name": "Contour14", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M594.266,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details42", + "name": "Details42", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M590.228,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.468,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details43", + "name": "Details43", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M596.211,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details44", + "name": "Details44", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx14", + "name": "CHxx14", + "type": "group" + }, + { + "elements": [ + { + "d": "M479.818,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour15", + "name": "Contour15", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M475.681,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details45", + "name": "Details45", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M471.643,89.494c0.578,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.468,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details46", + "name": "Details46", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M477.627,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details47", + "name": "Details47", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx15", + "name": "CHxx15", + "type": "group" + }, + { + "elements": [ + { + "d": "M355.779,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.417,13.244l-0,-13.244l-12.922,0l-0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour16", + "name": "Contour16", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M351.642,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details48", + "name": "Details48", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M347.604,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.468,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details49", + "name": "Details49", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M353.588,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c-0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details50", + "name": "Details50", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx16", + "name": "CHxx16", + "type": "group" + }, + { + "elements": [ + { + "d": "M265.18,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour17", + "name": "Contour17", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M261.043,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.991,1.341 -2.991,2.992c-0,1.652 1.34,2.992 2.991,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details51", + "name": "Details51", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M257.005,89.494c0.578,-0 1.047,-0.469 1.047,-1.046c-0,-0.578 -0.469,-1.047 -1.047,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details52", + "name": "Details52", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M262.989,93.605c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details53", + "name": "Details53", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx17", + "name": "CHxx17", + "type": "group" + }, + { + "elements": [ + { + "d": "M144.936,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.416,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour18", + "name": "Contour18", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M140.799,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details54", + "name": "Details54", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M136.761,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details55", + "name": "Details55", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M142.744,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details56", + "name": "Details56", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx18", + "name": "CHxx18", + "type": "group" + }, + { + "elements": [ + { + "d": "M174.582,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.417,13.244l-0,-13.244l-12.922,0l-0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour19", + "name": "Contour19", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M170.445,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details57", + "name": "Details57", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M166.407,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.468,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details58", + "name": "Details58", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M172.39,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details59", + "name": "Details59", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx19", + "name": "CHxx19", + "type": "group" + }, + { + "elements": [ + { + "d": "M899.844,87.358l0,-40.471l-9.41,-0l0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour20", + "name": "Contour20", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M895.708,100.291c1.651,0 2.991,-1.34 2.991,-2.992c0,-1.651 -1.34,-2.992 -2.991,-2.992c-1.652,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.34,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details60", + "name": "Details60", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M891.67,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details61", + "name": "Details61", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M897.653,93.605c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details62", + "name": "Details62", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx20", + "name": "CHxx20", + "type": "group" + }, + { + "elements": [ + { + "d": "M779.6,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.417,13.244l-0,-13.244l-12.922,0l-0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour21", + "name": "Contour21", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M775.463,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details63", + "name": "Details63", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M771.425,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.468,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details64", + "name": "Details64", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M777.408,93.605c0.416,0 0.753,-0.337 0.753,-0.752c0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details65", + "name": "Details65", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx21", + "name": "CHxx21", + "type": "group" + }, + { + "elements": [ + { + "d": "M748.483,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour22", + "name": "Contour22", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M744.346,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.991,1.341 -2.991,2.992c-0,1.652 1.34,2.992 2.991,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details66", + "name": "Details66", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M740.308,89.494c0.578,-0 1.047,-0.469 1.047,-1.046c-0,-0.578 -0.469,-1.047 -1.047,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details67", + "name": "Details67", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M746.292,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details68", + "name": "Details68", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx22", + "name": "CHxx22", + "type": "group" + }, + { + "elements": [ + { + "d": "M718.315,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour23", + "name": "Contour23", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M714.178,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.991,1.341 -2.991,2.992c-0,1.652 1.34,2.992 2.991,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details69", + "name": "Details69", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M710.14,89.494c0.578,-0 1.047,-0.469 1.047,-1.046c-0,-0.578 -0.469,-1.047 -1.047,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details70", + "name": "Details70", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M716.124,93.605c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details71", + "name": "Details71", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx23", + "name": "CHxx23", + "type": "group" + }, + { + "elements": [ + { + "d": "M658.169,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour24", + "name": "Contour24", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M654.032,100.291c1.652,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.34,-2.992 -2.992,-2.992c-1.651,0 -2.991,1.341 -2.991,2.992c-0,1.652 1.34,2.992 2.991,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details72", + "name": "Details72", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M649.994,89.494c0.578,-0 1.047,-0.469 1.047,-1.046c-0,-0.578 -0.469,-1.047 -1.047,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details73", + "name": "Details73", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M655.978,93.605c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753c-0.415,0 -0.753,0.337 -0.753,0.753c0,0.415 0.338,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details74", + "name": "Details74", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx24", + "name": "CHxx24", + "type": "group" + }, + { + "elements": [ + { + "d": "M678.834,87.358l-0,-40.471l9.41,-0l0,40.471l-9.41,0Zm-3.417,13.244l0,-13.244l12.922,0l-0,13.244l-12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour25", + "name": "Contour25", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M682.971,100.291c-1.651,0 -2.992,-1.34 -2.992,-2.992c-0,-1.651 1.341,-2.992 2.992,-2.992c1.651,0 2.992,1.341 2.992,2.992c-0,1.652 -1.341,2.992 -2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details75", + "name": "Details75", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M687.009,89.494c-0.578,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.468,-1.047 1.046,-1.047c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details76", + "name": "Details76", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M681.025,93.605c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details77", + "name": "Details77", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx25", + "name": "CHxx25", + "type": "group" + }, + { + "elements": [ + { + "d": "M538.399,87.358l-0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour26", + "name": "Contour26", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M534.262,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details78", + "name": "Details78", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M530.224,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details79", + "name": "Details79", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M536.208,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details80", + "name": "Details80", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx26", + "name": "CHxx26", + "type": "group" + }, + { + "elements": [ + { + "d": "M419.814,87.358l0,-40.471l-9.41,-0l0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour27", + "name": "Contour27", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M415.678,100.291c1.651,0 2.991,-1.34 2.991,-2.992c0,-1.651 -1.34,-2.992 -2.991,-2.992c-1.652,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.34,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details81", + "name": "Details81", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M411.64,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details82", + "name": "Details82", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M417.623,93.605c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details83", + "name": "Details83", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx27", + "name": "CHxx27", + "type": "group" + }, + { + "elements": [ + { + "d": "M295.775,87.358l0,-40.471l-9.41,-0l-0,40.471l9.41,0Zm3.417,13.244l-0,-13.244l-12.922,0l0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour28", + "name": "Contour28", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M291.638,100.291c1.651,0 2.992,-1.34 2.992,-2.992c0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details84", + "name": "Details84", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M287.6,89.494c0.578,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.468,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details85", + "name": "Details85", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M293.584,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details86", + "name": "Details86", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx28", + "name": "CHxx28", + "type": "group" + }, + { + "elements": [ + { + "d": "M205.176,87.358l0,-40.471l-9.41,-0l0,40.471l9.41,0Zm3.417,13.244l0,-13.244l-12.921,0l-0,13.244l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour29", + "name": "Contour29", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M201.04,100.291c1.651,0 2.991,-1.34 2.991,-2.992c0,-1.651 -1.34,-2.992 -2.991,-2.992c-1.652,0 -2.992,1.341 -2.992,2.992c-0,1.652 1.34,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details87", + "name": "Details87", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M197.002,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.578,0 -1.047,0.469 -1.047,1.047c0,0.577 0.469,1.046 1.047,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details88", + "name": "Details88", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M202.985,93.605c0.416,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.337,-0.753 -0.753,-0.753c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details89", + "name": "Details89", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx29", + "name": "CHxx29", + "type": "group" + }, + { + "elements": [ + { + "d": "M84.932,87.358l-0,-40.471l-9.411,-0l0,40.471l9.411,0Zm3.417,13.244l-0,-13.244l-12.922,0l-0,13.244l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour30", + "name": "Contour30", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M80.795,100.291c1.651,0 2.992,-1.34 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992c-1.651,0 -2.992,1.341 -2.992,2.992c0,1.652 1.341,2.992 2.992,2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details90", + "name": "Details90", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M76.757,89.494c0.577,-0 1.046,-0.469 1.046,-1.046c0,-0.578 -0.469,-1.047 -1.046,-1.047c-0.577,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.469,1.046 1.046,1.046Z", + "fill": { + "paint": "transparent" + }, + "id": "Details91", + "name": "Details91", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M82.741,93.605c0.415,0 0.752,-0.337 0.752,-0.752c0,-0.416 -0.337,-0.753 -0.752,-0.753c-0.416,0 -0.753,0.337 -0.753,0.753c0,0.415 0.337,0.752 0.753,0.752Z", + "fill": { + "paint": "transparent" + }, + "id": "Details92", + "name": "Details92", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx30", + "name": "CHxx30", + "type": "group" + }, + { + "elements": [ + { + "d": "M990.069,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.416,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour31", + "name": "Contour31", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M985.932,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.652,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.34,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details93", + "name": "Details93", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M981.894,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details94", + "name": "Details94", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M987.877,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details95", + "name": "Details95", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx31", + "name": "CHxx31", + "type": "group" + }, + { + "elements": [ + { + "d": "M869.824,118.299l-0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour32", + "name": "Contour32", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M865.687,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details96", + "name": "Details96", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M861.649,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details97", + "name": "Details97", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M867.633,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details98", + "name": "Details98", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx32", + "name": "CHxx32", + "type": "group" + }, + { + "elements": [ + { + "d": "M628.623,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour33", + "name": "Contour33", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M624.486,105.366c1.651,0 2.992,1.341 2.992,2.992c0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details99", + "name": "Details99", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M620.448,116.163c0.578,0 1.046,0.469 1.046,1.047c0,0.577 -0.468,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details100", + "name": "Details100", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M626.432,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details101", + "name": "Details101", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx33", + "name": "CHxx33", + "type": "group" + }, + { + "elements": [ + { + "d": "M510.039,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.416,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour34", + "name": "Contour34", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M505.902,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.652,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.34,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details102", + "name": "Details102", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M501.864,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details103", + "name": "Details103", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M507.847,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details104", + "name": "Details104", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx34", + "name": "CHxx34", + "type": "group" + }, + { + "elements": [ + { + "d": "M390.031,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour35", + "name": "Contour35", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M385.894,105.366c1.651,0 2.992,1.341 2.992,2.992c0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details105", + "name": "Details105", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M381.856,116.163c0.578,0 1.046,0.469 1.046,1.047c0,0.577 -0.468,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details106", + "name": "Details106", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M387.84,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details107", + "name": "Details107", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx35", + "name": "CHxx35", + "type": "group" + }, + { + "elements": [ + { + "d": "M930.065,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l-0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour36", + "name": "Contour36", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M925.928,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details108", + "name": "Details108", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M921.89,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details109", + "name": "Details109", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M927.874,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details110", + "name": "Details110", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx36", + "name": "CHxx36", + "type": "group" + }, + { + "elements": [ + { + "d": "M809.82,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour37", + "name": "Contour37", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M805.683,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details111", + "name": "Details111", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M801.645,116.163c0.578,0 1.046,0.469 1.046,1.047c0,0.577 -0.468,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details112", + "name": "Details112", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M807.629,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details113", + "name": "Details113", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx37", + "name": "CHxx37", + "type": "group" + }, + { + "elements": [ + { + "d": "M568.619,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour38", + "name": "Contour38", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M564.482,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.991,-1.341 -2.991,-2.992c-0,-1.651 1.34,-2.992 2.991,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details114", + "name": "Details114", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M560.444,116.163c0.578,0 1.047,0.469 1.047,1.047c-0,0.577 -0.469,1.046 -1.047,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details115", + "name": "Details115", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M566.428,112.052c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details116", + "name": "Details116", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx38", + "name": "CHxx38", + "type": "group" + }, + { + "elements": [ + { + "d": "M450.035,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l-0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour39", + "name": "Contour39", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M445.898,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details117", + "name": "Details117", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M441.86,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details118", + "name": "Details118", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M447.844,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details119", + "name": "Details119", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx39", + "name": "CHxx39", + "type": "group" + }, + { + "elements": [ + { + "d": "M325.995,118.299l0,40.472l-9.41,-0l0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour40", + "name": "Contour40", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M321.859,105.366c1.651,0 2.991,1.341 2.991,2.992c0,1.651 -1.34,2.992 -2.991,2.992c-1.652,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.34,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details120", + "name": "Details120", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M317.821,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details121", + "name": "Details121", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M323.804,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details122", + "name": "Details122", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx40", + "name": "CHxx40", + "type": "group" + }, + { + "elements": [ + { + "d": "M235.397,118.299l-0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour41", + "name": "Contour41", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M231.26,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details123", + "name": "Details123", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M227.222,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details124", + "name": "Details124", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M233.206,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details125", + "name": "Details125", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx41", + "name": "CHxx41", + "type": "group" + }, + { + "elements": [ + { + "d": "M115.152,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour42", + "name": "Contour42", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M111.015,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.991,-1.341 -2.991,-2.992c-0,-1.651 1.34,-2.992 2.991,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details126", + "name": "Details126", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M106.977,116.163c0.578,0 1.047,0.469 1.047,1.047c-0,0.577 -0.469,1.046 -1.047,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details127", + "name": "Details127", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M112.961,112.052c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details128", + "name": "Details128", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx42", + "name": "CHxx42", + "type": "group" + }, + { + "elements": [ + { + "d": "M959.848,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour43", + "name": "Contour43", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M955.711,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details129", + "name": "Details129", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M951.673,116.163c0.578,0 1.046,0.469 1.046,1.047c0,0.577 -0.468,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details130", + "name": "Details130", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M957.657,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details131", + "name": "Details131", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx43", + "name": "CHxx43", + "type": "group" + }, + { + "elements": [ + { + "d": "M839.603,118.299l0,40.472l-9.41,-0l0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour44", + "name": "Contour44", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M835.467,105.366c1.651,0 2.991,1.341 2.991,2.992c0,1.651 -1.34,2.992 -2.991,2.992c-1.652,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.34,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details132", + "name": "Details132", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M831.429,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details133", + "name": "Details133", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M837.412,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details134", + "name": "Details134", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx44", + "name": "CHxx44", + "type": "group" + }, + { + "elements": [ + { + "d": "M598.403,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.416,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour45", + "name": "Contour45", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M594.266,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details135", + "name": "Details135", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M590.228,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.468,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details136", + "name": "Details136", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M596.211,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details137", + "name": "Details137", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx45", + "name": "CHxx45", + "type": "group" + }, + { + "elements": [ + { + "d": "M479.818,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour46", + "name": "Contour46", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M475.681,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details138", + "name": "Details138", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M471.643,116.163c0.578,0 1.046,0.469 1.046,1.047c0,0.577 -0.468,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details139", + "name": "Details139", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M477.627,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details140", + "name": "Details140", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx46", + "name": "CHxx46", + "type": "group" + }, + { + "elements": [ + { + "d": "M355.779,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l-0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour47", + "name": "Contour47", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M351.642,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details141", + "name": "Details141", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M347.604,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.468,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details142", + "name": "Details142", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M353.588,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c-0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details143", + "name": "Details143", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx47", + "name": "CHxx47", + "type": "group" + }, + { + "elements": [ + { + "d": "M265.18,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour48", + "name": "Contour48", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M261.043,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.991,-1.341 -2.991,-2.992c-0,-1.651 1.34,-2.992 2.991,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details144", + "name": "Details144", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M257.005,116.163c0.578,0 1.047,0.469 1.047,1.047c-0,0.577 -0.469,1.046 -1.047,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details145", + "name": "Details145", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M262.989,112.052c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details146", + "name": "Details146", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx48", + "name": "CHxx48", + "type": "group" + }, + { + "elements": [ + { + "d": "M144.936,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.416,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour49", + "name": "Contour49", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M140.799,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details147", + "name": "Details147", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M136.761,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details148", + "name": "Details148", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M142.744,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details149", + "name": "Details149", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx49", + "name": "CHxx49", + "type": "group" + }, + { + "elements": [ + { + "d": "M174.582,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l-0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour50", + "name": "Contour50", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M170.445,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details150", + "name": "Details150", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M166.407,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.468,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details151", + "name": "Details151", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M172.39,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details152", + "name": "Details152", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx50", + "name": "CHxx50", + "type": "group" + }, + { + "elements": [ + { + "d": "M899.844,118.299l0,40.472l-9.41,-0l0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour51", + "name": "Contour51", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M895.708,105.366c1.651,0 2.991,1.341 2.991,2.992c0,1.651 -1.34,2.992 -2.991,2.992c-1.652,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.34,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details153", + "name": "Details153", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M891.67,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details154", + "name": "Details154", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M897.653,112.052c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details155", + "name": "Details155", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx51", + "name": "CHxx51", + "type": "group" + }, + { + "elements": [ + { + "d": "M779.6,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l-0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour52", + "name": "Contour52", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M775.463,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details156", + "name": "Details156", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M771.425,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.468,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details157", + "name": "Details157", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M777.408,112.052c0.416,0 0.753,0.337 0.753,0.753c0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details158", + "name": "Details158", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx52", + "name": "CHxx52", + "type": "group" + }, + { + "elements": [ + { + "d": "M748.483,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour53", + "name": "Contour53", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M744.346,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.991,-1.341 -2.991,-2.992c-0,-1.651 1.34,-2.992 2.991,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details159", + "name": "Details159", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M740.308,116.163c0.578,0 1.047,0.469 1.047,1.047c-0,0.577 -0.469,1.046 -1.047,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details160", + "name": "Details160", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M746.292,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details161", + "name": "Details161", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx53", + "name": "CHxx53", + "type": "group" + }, + { + "elements": [ + { + "d": "M718.315,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour54", + "name": "Contour54", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M714.178,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.991,-1.341 -2.991,-2.992c-0,-1.651 1.34,-2.992 2.991,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details162", + "name": "Details162", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M710.14,116.163c0.578,0 1.047,0.469 1.047,1.047c-0,0.577 -0.469,1.046 -1.047,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details163", + "name": "Details163", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M716.124,112.052c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details164", + "name": "Details164", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx54", + "name": "CHxx54", + "type": "group" + }, + { + "elements": [ + { + "d": "M658.169,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour55", + "name": "Contour55", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M654.032,105.366c1.652,0 2.992,1.341 2.992,2.992c0,1.651 -1.34,2.992 -2.992,2.992c-1.651,-0 -2.991,-1.341 -2.991,-2.992c-0,-1.651 1.34,-2.992 2.991,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details165", + "name": "Details165", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M649.994,116.163c0.578,0 1.047,0.469 1.047,1.047c-0,0.577 -0.469,1.046 -1.047,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details166", + "name": "Details166", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M655.978,112.052c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752c-0.415,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.338,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details167", + "name": "Details167", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx55", + "name": "CHxx55", + "type": "group" + }, + { + "elements": [ + { + "d": "M678.834,118.299l-0,40.472l9.41,-0l0,-40.472l-9.41,-0Zm-3.417,-13.243l0,13.243l12.922,-0l-0,-13.243l-12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour56", + "name": "Contour56", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M682.971,105.366c-1.651,0 -2.992,1.341 -2.992,2.992c-0,1.651 1.341,2.992 2.992,2.992c1.651,-0 2.992,-1.341 2.992,-2.992c-0,-1.651 -1.341,-2.992 -2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details168", + "name": "Details168", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M687.009,116.163c-0.578,0 -1.046,0.469 -1.046,1.047c-0,0.577 0.468,1.046 1.046,1.046c0.577,-0 1.046,-0.469 1.046,-1.046c-0,-0.578 -0.469,-1.047 -1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details169", + "name": "Details169", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M681.025,112.052c-0.415,0 -0.752,0.337 -0.752,0.753c-0,0.415 0.337,0.752 0.752,0.752c0.415,0 0.753,-0.337 0.753,-0.752c-0,-0.416 -0.338,-0.753 -0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details170", + "name": "Details170", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx56", + "name": "CHxx56", + "type": "group" + }, + { + "elements": [ + { + "d": "M538.399,118.299l-0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour57", + "name": "Contour57", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M534.262,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details171", + "name": "Details171", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M530.224,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details172", + "name": "Details172", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M536.208,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details173", + "name": "Details173", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx57", + "name": "CHxx57", + "type": "group" + }, + { + "elements": [ + { + "d": "M419.814,118.299l0,40.472l-9.41,-0l0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour58", + "name": "Contour58", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M415.678,105.366c1.651,0 2.991,1.341 2.991,2.992c0,1.651 -1.34,2.992 -2.991,2.992c-1.652,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.34,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details174", + "name": "Details174", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M411.64,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details175", + "name": "Details175", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M417.623,112.052c0.415,0 0.753,0.337 0.753,0.753c-0,0.415 -0.338,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details176", + "name": "Details176", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx58", + "name": "CHxx58", + "type": "group" + }, + { + "elements": [ + { + "d": "M295.775,118.299l0,40.472l-9.41,-0l-0,-40.472l9.41,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour59", + "name": "Contour59", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M291.638,105.366c1.651,0 2.992,1.341 2.992,2.992c0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details177", + "name": "Details177", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M287.6,116.163c0.578,0 1.046,0.469 1.046,1.047c0,0.577 -0.468,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details178", + "name": "Details178", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M293.584,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details179", + "name": "Details179", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx59", + "name": "CHxx59", + "type": "group" + }, + { + "elements": [ + { + "d": "M205.176,118.299l0,40.472l-9.41,-0l0,-40.472l9.41,-0Zm3.417,-13.243l0,13.243l-12.921,-0l-0,-13.243l12.921,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour60", + "name": "Contour60", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M201.04,105.366c1.651,0 2.991,1.341 2.991,2.992c0,1.651 -1.34,2.992 -2.991,2.992c-1.652,-0 -2.992,-1.341 -2.992,-2.992c-0,-1.651 1.34,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details180", + "name": "Details180", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M197.002,116.163c0.577,0 1.046,0.469 1.046,1.047c-0,0.577 -0.469,1.046 -1.046,1.046c-0.578,-0 -1.047,-0.469 -1.047,-1.046c0,-0.578 0.469,-1.047 1.047,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details181", + "name": "Details181", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M202.985,112.052c0.416,0 0.753,0.337 0.753,0.753c-0,0.415 -0.337,0.752 -0.753,0.752c-0.415,0 -0.752,-0.337 -0.752,-0.752c-0,-0.416 0.337,-0.753 0.752,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details182", + "name": "Details182", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx60", + "name": "CHxx60", + "type": "group" + }, + { + "elements": [ + { + "d": "M84.932,118.299l-0,40.472l-9.411,-0l0,-40.472l9.411,-0Zm3.417,-13.243l-0,13.243l-12.922,-0l-0,-13.243l12.922,-0Z", + "fill": { + "paint": "#ff3636" + }, + "id": "Contour61", + "name": "Contour61", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M80.795,105.366c1.651,0 2.992,1.341 2.992,2.992c-0,1.651 -1.341,2.992 -2.992,2.992c-1.651,-0 -2.992,-1.341 -2.992,-2.992c0,-1.651 1.341,-2.992 2.992,-2.992Z", + "fill": { + "paint": "transparent" + }, + "id": "Details183", + "name": "Details183", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M76.757,116.163c0.577,0 1.046,0.469 1.046,1.047c0,0.577 -0.469,1.046 -1.046,1.046c-0.577,-0 -1.046,-0.469 -1.046,-1.046c-0,-0.578 0.469,-1.047 1.046,-1.047Z", + "fill": { + "paint": "transparent" + }, + "id": "Details184", + "name": "Details184", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M82.741,112.052c0.415,0 0.752,0.337 0.752,0.753c0,0.415 -0.337,0.752 -0.752,0.752c-0.416,0 -0.753,-0.337 -0.753,-0.752c0,-0.416 0.337,-0.753 0.753,-0.753Z", + "fill": { + "paint": "transparent" + }, + "id": "Details185", + "name": "Details185", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "id": "CHxx61", + "name": "CHxx61", + "type": "group" + } + ], + "id": "CHs", + "name": "CHs", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1021.73,212.474l0,17.289l-7.049,0l0,-17.289l7.049,-0Zm-0.301,17.289l-0,2.987l-6.156,0l0,-2.987m6.457,-17.289l4.014,-0l-0,12.129l-4.014,0", + "fill": { + "paint": "#d71414" + }, + "id": "Contour62", + "name": "Contour62", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M83.006,231.85l-17.289,0l-0,-7.049l17.289,-0l0,7.049Zm-17.289,-0.301l-2.988,-0l0,-6.156l2.988,0m17.289,6.457l0,4.013l-12.13,0l0,-4.013", + "fill": { + "paint": "#d71414" + }, + "id": "Contour63", + "name": "Contour63", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M42.594,211.955l-17.289,0l-0,-7.049l17.289,-0l0,7.049Zm-17.289,-0.302l-2.988,0l0,-6.155l2.988,-0m17.289,6.457l0,4.013l-12.13,0l0,-4.013", + "fill": { + "paint": "#d71414" + }, + "id": "Contour64", + "name": "Contour64", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#d72d2d" + }, + "height": "11.025", + "id": "Countour", + "name": "Countour", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "rect", + "width": "25.454", + "x": "999.41", + "y": "187.521" + }, + { + "d": "M1001.71,187.521l0,11.025", + "fill": { + "paint": "transparent" + }, + "id": "Details186", + "name": "Details186", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#d72d2d" + }, + "height": "11.025", + "id": "Countour1", + "name": "Countour1", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "rect", + "width": "25.454", + "x": "693.758", + "y": "216.871" + }, + { + "d": "M696.057,216.871l0,11.025", + "fill": { + "paint": "transparent" + }, + "id": "Details187", + "name": "Details187", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "RTUs", + "name": "RTUs", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M725.4,183.508l-17.289,0l-0,-7.049l17.289,-0l0,7.049Zm-17.289,-0.302l-2.987,0l-0,-6.155l2.987,-0m17.289,6.457l0,4.013l-12.13,0l0,-4.013", + "fill": { + "paint": "#d71414" + }, + "id": "Contour65", + "name": "Contour65", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M413.619,175.197l0,17.29l-7.049,-0l0,-17.29l7.049,0Zm-0.301,17.29l-0,2.987l-6.156,-0l0,-2.987m6.457,-17.29l4.014,0l-0,12.13l-4.014,0", + "fill": { + "paint": "#d71414" + }, + "id": "Contour66", + "name": "Contour66", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M388.848,175.197l-0,17.29l-7.05,-0l0,-17.29l7.05,0Zm-0.302,17.29l-0,2.987l-6.156,-0l0,-2.987m6.458,-17.29l4.013,0l-0,12.13l-4.013,0", + "fill": { + "paint": "#d71414" + }, + "id": "Contour67", + "name": "Contour67", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M64.248,176.459l-0,17.289l-7.05,0l0,-17.289l7.05,-0Zm-0.302,17.289l-0,2.988l-6.156,-0l0,-2.988m6.458,-17.289l4.013,-0l-0,12.13l-4.013,-0", + "fill": { + "paint": "#d71414" + }, + "id": "Contour68", + "name": "Contour68", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M82.894,196.736l-0,-17.29l7.049,0l0,17.29l-7.049,-0Zm0.302,-17.29l-0,-2.987l6.155,-0l0,2.987m-6.457,17.29l-4.013,-0l-0,-12.13l4.013,-0", + "fill": { + "paint": "#d71414" + }, + "id": "Contour69", + "name": "Contour69", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DOASs", + "name": "DOASs", + "type": "group" + }, + { + "d": "M1051.84,176.819l0,74.285l-1036.44,-0l-0,-247.345l1036.44,-0l0,81.898m-52,-85.215l-0,3.317l-11.77,-0l0,-3.317l11.77,-0Zm-102.714,-0l-0,3.317l-11.77,-0l0,-3.317l11.77,-0Zm-102.714,-0l-0,3.317l-11.77,-0l0,-3.317l11.77,-0Zm-106.219,-0l0,3.317l-11.769,-0l0,-3.317l11.769,-0Zm-102.823,-0l-0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-102.605,-0l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-106.218,-0l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-102.714,-0l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-102.714,-0l-0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm-102.933,-0l0,3.317l-11.769,-0l-0,-3.317l11.769,-0Zm14.199,250.662l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm78.142,-0l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm108.517,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm92.421,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm108.846,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm107.861,-0l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm142.849,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm92.311,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm108.299,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm63.402,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm66.807,-165.447l-44.475,0l0,91.162l44.475,-0m3.105,-86.097l-0,7.227l-17.412,-0l0,-7.227l17.412,-0Zm-0,18.944l-0,7.227l-17.412,-0l0,-7.227l17.412,-0Zm-0,15.878l-0,7.227l-17.412,-0l0,-7.227l17.412,-0Zm-0,16.097l-0,7.227l-17.412,-0l0,-7.227l17.412,-0Zm-0,19.491l-0,7.227l-17.412,0l0,-7.227l17.412,0Zm-0,-70.41l-17.412,7.227m17.412,11.717l-17.412,7.227m17.412,8.651l-17.412,7.227m17.412,8.87l-17.412,7.227m17.412,12.264l-17.412,7.227m0,-77.637l17.412,7.227m-17.412,11.717l17.412,7.227m-17.412,8.651l17.412,7.227m-17.412,8.87l17.412,7.227m-17.412,12.264l17.412,7.227m-1001.94,82.745l-0,14.955l-36.793,0l-0,-14.955l36.793,-0Zm-37.6,-201.071l-14.956,-0l-0,-36.793l14.956,-0l-0,36.793Zm402.739,201.071l0,14.955l-35.84,0l0,-14.955l35.84,-0Zm488.384,-0l-0,14.955l-35.84,0l0,-14.955l35.84,-0Zm-878.402,-0l-0,14.955l-5.537,0l0,-14.955l5.537,-0Zm-12.721,-225.95l-14.956,-0l-0,-5.537l14.956,0l-0,5.537Zm375.281,225.95l-0,14.955l-5.873,0l-0,-14.955l5.873,-0Zm488.384,-0l-0,14.955l-5.873,0l-0,-14.955l5.873,-0Zm-829.289,0.589l0,14.366l-5.536,0l-0,-14.366l5.536,-0Zm-34.965,-204.884l-14.367,0l-0,-5.536l14.367,-0l-0,5.536Zm397.525,204.884l0,14.366l-5.536,0l-0,-14.366l5.536,-0Zm488.384,-0l0,14.366l-5.536,0l-0,-14.366l5.536,-0Zm-856.62,7.183l-0,1.997l-15.979,0l-0,-1.997l15.979,0Zm-36.624,-217.674l-2.221,0l-0,-15.978l2.221,-0l0,15.978Zm4.812,-0.07l-11.844,0l-0,-15.978l11.844,-0l-0,15.978Zm394.372,217.744l-0,1.997l-15.979,0l-0,-1.997l15.979,0Zm488.384,0l-0,1.997l-15.979,0l-0,-1.997l15.979,0Zm-865.311,-4.66l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-17.445,-227.45l-11.844,-0l-0,-1.612l11.844,-0l-0,1.612Zm380.005,227.45l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm362.56,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-20.669,-224.227l-11.844,0l-0,-1.612l11.844,0l-0,1.612Zm383.229,224.227l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-849.333,-0l0,11.213l-1.611,-0l-0,-11.213l1.611,-0Zm362.56,-0l0,11.213l-1.611,-0l-0,-11.213l1.611,-0Zm488.384,-0l0,11.213l-1.611,-0l-0,-11.213l1.611,-0Zm-849.332,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-23.892,-221.003l-11.844,0l-0,-1.612l11.844,0l-0,1.612Zm386.452,221.003l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm362.56,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-27.116,-217.779l-11.844,-0l-0,-1.612l11.844,0l-0,1.612Zm389.676,217.779l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm362.56,-0l-0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-30.34,-214.555l-11.844,-0l-0,-1.612l11.844,-0l-0,1.612Zm392.9,214.555l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-849.332,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm-8.605,-235.037l-0,6.413l-20.235,0l-0,-6.413l20.235,-0Zm7.98,15.521l6.414,-0l0,21.496l-6.414,0l0,-21.496Zm6.414,53.253l-6.414,-0l0,-21.497l6.414,0l0,21.497Zm-7.719,146.293l0,6.414l-20.039,0l0,-6.414l20.039,0Zm-13.579,0l-0,16.858l-6.46,-0l0,-16.858l6.46,0Zm865.829,-4.639l6.414,-0l-0,21.497l-6.414,-0l-0,-21.497Zm-488.707,-0l6.414,-0l-0,21.497l-6.414,-0l0,-21.497Zm-370.218,-210.428l-0,6.413l-1.705,0l0,-6.413l1.705,-0Zm7.98,15.521l6.414,-0l0,1.81l-6.414,0l0,-1.81Zm6.414,53.253l-6.414,-0l0,-1.811l6.414,0l0,1.811Zm-7.719,146.293l0,6.414l-1.81,0l-0,-6.414l1.81,0Zm852.25,-4.639l6.414,-0l-0,1.811l-6.414,-0l-0,-1.811Zm-488.707,-0l6.414,-0l-0,1.811l-6.414,-0l0,-1.811Zm-373.911,-210.428l-0,6.413l-1.704,0l-0,-6.413l1.704,-0Zm11.673,19.444l6.414,-0l0,1.81l-6.414,0l0,-1.81Zm6.414,45.407l-6.414,-0l0,-1.811l6.414,0l0,1.811Zm-11.642,150.216l0,6.414l-1.81,0l-0,-6.414l1.81,0Zm856.173,-0.716l6.414,-0l-0,1.811l-6.414,-0l-0,-1.811Zm-488.707,-0l6.414,-0l-0,1.811l-6.414,-0l0,-1.811Zm-377.604,-214.351l0,6.413l-1.704,0l-0,-6.413l1.704,-0Zm15.366,23.367l6.414,-0l0,1.81l-6.414,0l0,-1.81Zm6.414,37.561l-6.414,-0l0,-1.811l6.414,0l0,1.811Zm-15.565,154.139l0,6.414l-1.81,0l-0,-6.414l1.81,0Zm860.096,3.207l6.414,0l-0,1.811l-6.414,-0l-0,-1.811Zm-488.707,0l6.414,0l-0,1.811l-6.414,-0l0,-1.811Zm-381.297,-218.274l0,6.413l-1.704,0l-0,-6.413l1.704,-0Zm19.059,27.29l6.414,-0l0,1.81l-6.414,0l0,-1.81Zm6.414,29.715l-6.414,-0l0,-1.811l6.414,0l0,1.811Zm-19.488,158.062l0,6.414l-1.81,0l-0,-6.414l1.81,0Zm864.019,7.13l6.414,0l-0,1.811l-6.414,-0l-0,-1.811Zm-488.707,0l6.414,0l-0,1.811l-6.414,-0l0,-1.811Zm596.691,-204.028l0,130.699l-939.808,0l-0,-130.699l939.808,0Zm-939.808,18.848l-47.336,0m47.336,10.26l-47.336,0m391.4,187.76l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm488.384,-0l-0,11.213l-1.612,-0l-0,-11.213l1.612,-0Zm106.817,-3.112l0,5.925l62.706,-0l-0,-219.162l-12.87,-0", + "fill": { + "paint": "transparent" + }, + "id": "Layout", + "name": "Layout", + "stroke": { + "paint": "var(--text-muted)", + "width": "0.88px" + }, + "type": "path" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1066 267" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_RTU01", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 19, + "width": 12, + "x": 408, + "y": 37 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_RTU02", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 16, + "width": 11, + "x": 409, + "y": 58 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 13, + "y": 0 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_03_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_SecondFloor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_SecondFloor/resource.json new file mode 100644 index 0000000..44fafe9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_SecondFloor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ed86f26d69dc55ffb1123c8a53ffccbdd890c387c09116ffd1a8343396c9b119", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-21T23:32:53Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_SecondFloor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_SecondFloor/thumbnail.png new file mode 100644 index 0000000..4598261 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_SecondFloor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_SecondFloor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_SecondFloor/view.json new file mode 100644 index 0000000..1375706 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/RTU_SecondFloor/view.json @@ -0,0 +1,846 @@ +{ + "custom": { + "Available": [ + "SATB1_RF_RTU01", + "SATB1_RF_RTU02" + ], + "ColorHandler": { + "Walls": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "RTU01": "#BAEDFF", + "RTU02": "#BAEDFF" + }, + "selected": "SATB1_RF_RTU00" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tshortName \u003d room.split(\"_\")\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\tsroom \u003d shortName[2]\n\t\toutput[sroom] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_RTU02", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 105, + "width": 38, + "x": 391 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "2nf" + }, + "position": { + "height": 120, + "width": 430 + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M374.631,241.955l-0,-186.989l34.803,0l0,20.048l12.684,0l-0,16.599l-28.558,0l0,120.143l28.535,0.003l0.021,15.685l-12.624,-0l0,14.511l-34.861,0Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "d": "M97.975,251.131l-56.771,0l0,-0.116l0.001,-38.679l25.137,-0l-0,-0.58l44.257,0l-0,15.688l-12.624,-0l-0,23.687Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "d": "M97.932,242.681l276.696,0l0.003,8.45l-276.699,0l0,-8.45Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "d": "M374.631,251.131l-0,-9.176l34.861,0l0,0.726l276.656,0l0,8.45l-311.517,0Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "8.45", + "name": "rect", + "type": "rect", + "width": "324.014", + "x": "686.148", + "y": "242.681" + }, + { + "d": "M686.148,40.165l321.648,0l-0,-0.873l0.17,-0l-0,0.873l43.825,0l-0,12.676l-9.528,-0l0,7.001l-11.457,0l-0,-7.001l-20.934,-0l0,2.125l-323.724,0l0,-14.801Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "d": "M374.628,54.966l-276.711,0l-31.575,-0.158c-0,0 -26.615,0 -26.661,0l0,-1.378l-24.305,0l0,-14.138l51.297,-0l-0,0.873l307.955,0l-0,14.801Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "14.801", + "name": "rect", + "type": "rect", + "width": "311.52", + "x": "374.628", + "y": "40.165" + }, + { + "d": "M1009.87,54.966l0,9.214l11.406,0l0,4.539l-11.116,0l0,4.046l1.878,-0l0,5.251l-1.878,-0l0,164.665l-12.767,0l0,-187.715l12.477,0Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "d": "M686.148,242.681l0,-187.715l34.534,0l-0,20.048l12.681,0c0.02,0.081 0,16.599 0,16.599l-28.428,0l0,19.8l0.052,-0l-0,102.802l28.376,0l0,13.229l-12.624,-0l0,15.237l-34.591,0Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "d": "M66.342,211.756l-0,-156.949l31.575,0.159l0,20.048l12.682,0l-0,16.599l-30.762,0l-0,120.143l-13.495,0Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + } + ], + "id": "Corridors", + "name": "Corridors", + "opacity": "0.95", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "lightgray" + }, + "height": "23.089", + "name": "rect", + "type": "rect", + "width": "25.943", + "x": 15.376, + "y": "212.493" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "15.591", + "name": "rect", + "type": "rect", + "width": "25.943", + "x": "15.376", + "y": "235.582" + }, + { + "d": "M40.017,54.794l26.439,-0l0,157.699l-51.08,0l0,-134.863l24.641,-0l-0,-22.836Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "24.521", + "name": "rect", + "type": "rect", + "width": "21.863", + "x": 18.188, + "y": "53.332" + } + ], + "id": "West", + "name": "West", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "lightgray" + }, + "height": "102.802", + "name": "rect", + "type": "rect", + "width": "28.377", + "x": "705.101", + "y": "111.571" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "15.238", + "name": "rect", + "type": "rect", + "width": "276.656", + "x": "720.854", + "y": "227.601" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "152.194", + "name": "rect", + "type": "rect", + "width": "264.032", + "x": "733.478", + "y": "75.407" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "19.8", + "name": "rect", + "type": "rect", + "width": "17.673", + "x": "715.804", + "y": "91.771" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "19.8", + "name": "rect", + "type": "rect", + "width": "10.755", + "x": "705.05", + "y": "91.771" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "20.048", + "name": "rect", + "type": "rect", + "width": "276.714", + "x": "720.796", + "y": "55.124" + } + ], + "id": "DH201", + "name": "DH201", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "lightgray" + }, + "height": "100.343", + "name": "rect", + "type": "rect", + "width": "28.377", + "x": "393.675", + "y": "111.571" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "15.238", + "name": "rect", + "type": "rect", + "width": "276.656", + "x": "409.606", + "y": "227.601" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "152.194", + "name": "rect", + "type": "rect", + "width": "264.032", + "x": "422.23", + "y": "75.407" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "19.8", + "name": "rect", + "type": "rect", + "width": "17.673", + "x": "404.378", + "y": "91.771" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "19.8", + "name": "rect", + "type": "rect", + "width": "10.703", + "x": "393.675", + "y": "91.771" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "20.048", + "name": "rect", + "type": "rect", + "width": "276.714", + "x": "409.549", + "y": "55.124" + } + ], + "id": "DH202", + "name": "DH202", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "lightgray" + }, + "height": "103.208", + "name": "rect", + "type": "rect", + "width": "30.762", + "x": "79.951", + "y": "108.706" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "15.238", + "name": "rect", + "type": "rect", + "width": "276.77", + "x": "97.975", + "y": "227.601" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "152.194", + "name": "rect", + "type": "rect", + "width": "264.119", + "x": "110.627", + "y": "75.407" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "17.078", + "name": "rect", + "type": "rect", + "width": "19.159", + "x": "91.554", + "y": "91.628" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "16.935", + "name": "rect", + "type": "rect", + "width": "11.711", + "x": "79.844", + "y": "91.771" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "20.048", + "name": "rect", + "type": "rect", + "width": "276.855", + "x": "97.89", + "y": "55.124" + } + ], + "id": "DH203", + "name": "DH203", + "type": "group" + }, + { + "elements": [ + { + "d": "M1010.28,87.525l19.716,-0l0,89.661l21.912,-0l0,79.495l-50.614,0l0,-5.447l8.986,0l-0,-163.709Z", + "fill": { + "opacity": "0.88", + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "d": "M1012.24,76.375l9.217,0l-0,9.056l-11.182,0l-0,-7.189l1.965,-0l-0,-1.867Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "11.339", + "name": "rect", + "type": "rect", + "width": "11.406", + "x": "1010.24", + "y": "52.742" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "16.585", + "name": "rect", + "type": "rect", + "width": "11.406", + "x": "1030.9", + "y": "59.846" + }, + { + "d": "M1010.28,72.906l-0,-4.029l11.182,-0l-0,5.587l-9.289,-0l0,-1.558l-1.893,-0Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + } + ], + "id": "East", + "name": "East", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "lightgray" + }, + "height": "35.629", + "name": "rect", + "type": "rect", + "width": "16.066", + "x": "15.491", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "35.629", + "name": "rect", + "type": "rect", + "width": "35.231", + "x": "31.556", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.624", + "x": "66.787", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.296", + "x": "118.411", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.296", + "x": "169.708", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.296", + "x": "221.004", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.296", + "x": "272.301", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.296", + "x": "323.597", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "54.794", + "x": "374.894", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.187", + "x": "429.688", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.624", + "x": "480.875", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.406", + "x": "532.499", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "50.969", + "x": "583.905", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.187", + "x": "634.873", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "54.357", + "x": "686.061", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.296", + "x": "740.417", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.296", + "x": "791.714", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.624", + "x": "843.01", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": 50.969, + "x": "894.634", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "36.502", + "name": "rect", + "type": "rect", + "width": "51.734", + "x": "945.603", + "y": "3.821" + }, + { + "fill": { + "paint": "lightgray" + }, + "height": "17.185", + "name": "rect", + "type": "rect", + "width": "10.573", + "x": "997.337", + "y": "23.138" + }, + { + "d": "M997.337,22.947l-0,-19.126l54.568,-0l0,36.502l-43.825,0l-0,-17.376l-10.743,-0Z", + "fill": { + "paint": "lightgray" + }, + "name": "path", + "type": "path" + } + ], + "id": "North", + "name": "North", + "type": "group" + } + ], + "id": "Rooms", + "name": "Rooms", + "type": "group" + }, + { + "d": "M1010.19,251.059l-994.839,0l0,-247.345l1036.44,0l-0,83.693m-0,89.367l-0,79.719m-41.599,-5.434l-0,-2.292m-10.402,-248.369l0,3.316l-11.769,0l0,-3.316l11.769,-0Zm-102.714,-0l0,3.316l-11.769,0l0,-3.316l11.769,-0Zm-102.714,-0l0,3.316l-11.769,0l0,-3.316l11.769,-0Zm-106.218,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm-102.823,-0l-0,3.316l-11.77,0l0,-3.316l11.77,-0Zm-102.605,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm-106.218,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm-102.714,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm-102.714,-0l-0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm-102.933,-0l0,3.316l-11.769,0l-0,-3.316l11.769,-0Zm14.199,250.661l-0,3.317l-11.769,0l-0,-3.317l11.769,0Zm78.141,0l0,3.317l-11.769,0l0,-3.317l11.769,0Zm108.518,0l0,3.317l-11.769,0l-0,-3.317l11.769,0Zm92.421,0l-0,3.317l-11.77,0l0,-3.317l11.77,0Zm108.846,0l-0,3.317l-11.769,0l-0,-3.317l11.769,0Zm107.861,0l-0,3.317l-11.77,0l0,-3.317l11.77,0Zm142.849,0l-0,3.317l-11.77,0l0,-3.317l11.77,0Zm92.311,0l-0,3.317l-11.769,0l-0,-3.317l11.769,0Zm108.299,0l-0,3.317l-11.77,0l0,-3.317l11.77,0Zm63.402,0l-0,3.317l-11.769,0l-0,-3.317l11.769,0Zm66.807,-163.652l-21.804,0l-0,89.367l21.804,0m-21.804,-89.367l-19.795,0l-0,-2.122m-957.238,165.774l-0,14.956l-36.793,0l-0,-14.956l36.793,0Zm-37.601,-201.07l-14.955,-0l-0,-36.793l14.955,-0l0,36.793Zm402.74,201.07l-0,14.956l-35.84,0l-0,-14.956l35.84,0Zm488.384,0l-0,14.956l-35.84,0l-0,-14.956l35.84,0Zm-878.402,0l-0,14.956l-5.537,0l0,-14.956l5.537,0Zm-12.722,-225.949l-14.955,-0l-0,-5.537l14.955,0l0,5.537Zm375.282,225.949l-0,14.956l-5.873,0l-0,-14.956l5.873,0Zm488.384,0l-0,14.956l-5.873,0l-0,-14.956l5.873,0Zm-829.289,0.589l0,14.367l-5.536,0l-0,-14.367l5.536,0Zm-34.966,-204.883l-14.366,-0l-0,-5.537l14.366,0l0,5.537Zm397.526,204.883l0,14.367l-5.536,0l-0,-14.367l5.536,0Zm488.384,0l0,14.367l-5.536,0l-0,-14.367l5.536,0Zm-856.621,7.184l0,1.997l-15.978,0l-0,-1.997l15.978,-0Zm-36.623,-217.674l-2.221,0l-0,-15.978l2.221,-0l0,15.978Zm4.811,-0.07l-11.843,0l-0,-15.978l11.843,-0l0,15.978Zm394.372,217.744l0,1.997l-15.978,0l-0,-1.997l15.978,-0Zm488.384,-0l0,1.997l-15.978,0l-0,-1.997l15.978,-0Zm-865.31,-4.661l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm-17.446,-227.45l-11.843,0l-0,-1.611l11.843,-0l0,1.611Zm380.006,227.45l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm488.384,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm-849.333,0l0,11.214l-1.611,-0l-0,-11.214l1.611,0Zm362.56,0l0,11.214l-1.611,-0l-0,-11.214l1.611,0Zm488.384,0l0,11.214l-1.611,-0l-0,-11.214l1.611,0Zm-849.332,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm-20.669,-224.226l-11.843,0l-0,-1.612l11.843,0l0,1.612Zm383.229,224.226l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm488.384,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm-849.332,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm362.56,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm488.384,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm-849.332,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm-23.893,-221.002l-11.843,-0l-0,-1.612l11.843,0l0,1.612Zm386.453,221.002l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm488.384,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm-849.332,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm362.56,0l0,11.214l-1.612,-0l0,-11.214l1.612,0Zm488.384,0l-0,11.214l-1.612,-0l0,-11.214l1.612,0Zm-849.332,0l-0,11.214l-1.612,-0l0,-11.214l1.612,0Zm-27.117,-217.778l-11.843,-0l-0,-1.612l11.843,-0l0,1.612Zm389.677,217.778l-0,11.214l-1.612,-0l0,-11.214l1.612,0Zm488.384,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm-849.332,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm362.56,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm488.384,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm-849.332,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm-30.341,-214.554l-11.843,-0l-0,-1.612l11.843,-0l0,1.612Zm392.901,214.554l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm488.384,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm-849.332,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm-23.926,-214.872l-4.915,0l0,-35.585l16.094,0l-0,35.585l-3.114,0m10.099,0l-6.985,0l-0,-35.585l35.216,0l-0,35.585l-20.231,0m597.22,0.876l-8.75,0l-0,-36.461l51.23,0l-0,36.461l-5.521,0m-7.625,0l-25.073,0m-55.49,0l-8.751,0l0,-36.461l51.23,0l-0,36.461l-5.521,0m-7.625,0l-25.072,0m-55.491,0l-8.75,0l-0,-36.461l51.229,0l0,36.461l-5.521,0m-7.624,0l-25.073,0m-55.858,0l-8.751,0l0,-36.461l51.23,0l-0,36.461l-5.521,0m-7.625,0l-25.072,0m-55.583,0l-8.766,0l0,-36.461l51.32,0l-0,36.461l-5.531,0m-7.638,0l-25.117,0m-111.701,0l-6.979,0l0,-36.461l50.722,0l-0,36.461l-6.309,0m-7.726,0l-25.622,0m-55.689,0l-7.12,0l-0,-36.461l51.744,0l0,36.461l-6.435,0m-7.883,0l-26.138,0m-55.433,0l-7.043,0l-0,-36.461l51.188,0l-0,36.461l-6.366,0m-7.798,0l-25.857,0m-55.458,0l-7.044,0l0,-36.461l51.188,0l0,36.461l-6.366,0m-7.798,0l-25.857,0m-55.312,0l-7.043,0l0,-36.461l51.188,0l0,36.461l-6.366,0m-7.798,0l-25.857,0m-55.868,0l-7.043,0l-0,-36.461l51.188,0l-0,36.461l-36.151,0m303.252,0l-10.368,0l-0,-36.461l54.924,0l0,36.461l-36.867,0m303.533,0l-10.042,0l-0,-36.461l54.087,0l-0,36.461l-36.195,0m44.897,0l-8.702,0l-0,-36.461l51.334,0l0,36.461l-5.674,0m-7.894,0l-25.252,0m47.499,0l-8.679,0l0,-36.461l51.51,0l0,36.461l-5.649,0m-8.342,0l-24.4,0m46.826,0l-8.435,0l0,-36.461l51.335,0l0,36.461l-5.718,0m-7.67,0l-25.296,0m47.498,0l-8.814,0l0,-36.461l51.072,0l0,36.461l-5.479,0m-8.028,0l-24.669,0m46.826,0l-8.65,0l0,-36.461l51.685,0l0,36.461l-5.763,0m-7.849,0l-25.162,0m40.456,0l-1.682,0l0,-17.472l10.863,0l-0,17.472l-5.368,0m-595.896,213.996l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm488.384,0l-0,11.214l-1.612,-0l-0,-11.214l1.612,0Zm156.653,2.322l-50.468,-0l-0,-5.434m43.313,-210.884l7.155,0m-43.773,0l28.733,0m-662.143,29.237l0,5.503l-276.536,-0l-0,-5.498m-0,-8.612l-0,-5.78l276.536,-0l0,5.833m311.467,8.554l-0,5.503l-276.537,-0l0,-5.498m0,-8.612l0,-5.78l276.537,-0l-0,5.833m311.2,8.554l-0,5.503l-276.537,-0l0,-5.498m0,-8.612l0,-5.78l276.537,-0l-0,5.833m-622.667,181.679l-276.536,-0m-0,-8.206l-0,-6.881l276.536,-0l0,6.463m311.467,8.624l-276.537,-0m0,-8.206l0,-6.881l276.537,-0l-0,6.491m311.2,8.596l-276.537,-0m0,-8.206l0,-6.881l276.537,-0l-0,6.434m-886.522,-158.969l0,1.573m311.467,-1.573l-0,1.573m311.2,-1.573l-0,1.573m-358.812,-1.573l0,1.573m311.467,-1.573l-0,1.573m311.2,-1.573l-0,1.573m-886.522,8.074l0,134.332m311.467,-134.332l-0,134.332m311.2,-134.332l-0,134.332m-358.812,-134.332l0,134.332m311.467,-134.332l-0,134.332m311.2,-134.332l-0,134.332m-893.818,-127.238l7.296,-0l0,16.749l-19.519,0l0,-16.749l6.367,-0m318.718,-0l5.901,-0l-0,19.512l-19.519,0l-0,-19.512l6.366,-0m319.792,-0l4.561,-0l-0,19.721l-17.557,-0l-0,-19.721l5.194,-0m-632.383,120.012l-8.863,-0l-0,-103.263l30.942,0l0,103.263l-14.113,-0m300.869,-0l-4.042,-0l0,-100.5l28.753,0l-0,100.5l-16.493,-0m302.255,2.464l-2.904,-0l-0,-102.755l28.342,-0l-0,102.755l-16.796,-0m-630.642,-72.262l-0,8.503l-6.171,0l-0,-8.503l6.171,-0Zm929.903,11.241l0,13.003l-5.693,-0l-0,-13.003l5.693,0Zm-929.903,48.138l-0,10.419l-6.171,-0l-0,-10.419l6.171,-0Zm-6.171,-108.271l-0,-1.322l11.423,-0l0,16.749l-11.423,0l-0,-11.724m313.656,-5.025l9.234,-0l-0,19.512l-9.234,0l0,-14.613m311.611,-4.899l10.785,-0l-0,19.721l-10.785,-0l-0,-14.741m305.114,143.89l-0,-143.947m11.387,-44.034l0,11.55l-11.387,-0l-0,-11.55l11.387,0Zm20.856,0l9.356,0l-0,32.74l-30.212,0l0,-32.74l8.915,0m11.941,0l0,23.94l-11.941,0l-0,-23.94m9.714,7.177l2.227,-0l0,16.763l-11.941,0l-0,-16.763l3.716,-0m-3.716,0.673l-0,16.09l-8.915,0l0,-16.09l8.915,-0Zm21.297,-0l-0,16.09l-9.356,0l0,-16.09l9.356,-0Zm-10.447,24.89l-10.891,0l0,-8.8l10.891,0l0,8.8Zm-10.85,-23.279l-0,1.851l-8.915,-0l0,-1.851l8.915,0Zm21.297,0l-0,1.851l-9.356,-0l0,-1.851l9.356,0Zm-21.297,3.673l-0,1.85l-8.915,-0l0,-1.85l8.915,-0Zm21.297,-0l-0,1.85l-9.356,-0l0,-1.85l9.356,-0Zm-21.297,3.672l-0,1.85l-8.915,0l0,-1.85l8.915,-0Zm21.297,-0l-0,1.85l-9.356,0l0,-1.85l9.356,-0Zm-17.581,15.934l-1.85,0l0,-8.8l1.85,0l0,8.8Zm-3.716,-12.262l-0,1.85l-8.915,0l0,-1.85l8.915,0Zm21.297,0l-0,1.85l-9.356,0l0,-1.85l9.356,0Zm-14.042,12.262l-1.85,0l-0,-8.8l1.85,0l-0,8.8Zm1.85,0l-1.85,0l-0,-8.8l1.85,0l-0,8.8Zm-18.02,-16.37l-11.387,0l-0,3.689l2.214,0l-0,5.611l-2.214,0l-0,7.07l11.387,0m-9.066,-8.8l9.066,0m-9.066,-2.296l9.066,-0m-980.427,155.493l-0,5.746l-25.799,-0l0,-23.054l25.799,0l-0,4.601m2.292,-162.133l-3.289,0m0.997,157.532l25.295,0l-0,-157.532l-14.977,0m-10.318,191.642l-0,4.575m-0,-15.631l-0,2.99m-5.315,-185.177l4.318,0l0,24.334l-24.802,0l0,-24.334l8.156,0m42.938,1.601l-0,10.566l-12.648,0l0,-10.566l12.648,0Zm-25.295,149.367l-0,8.165l-11.619,0l0,-8.165l11.619,0Zm-23.003,-150.968l-0,24.334l-2.796,0l0,-24.334l2.796,0Z", + "fill": { + "paint": "transparent" + }, + "id": "_2ndFloor", + "name": "_2ndFloor", + "stroke": { + "opacity": "0.95", + "paint": "#545454", + "width": "0.8px" + }, + "type": "path" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1053 267" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_02_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/VAV_FirstFloor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/VAV_FirstFloor/resource.json new file mode 100644 index 0000000..ed27eb5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/VAV_FirstFloor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c5669d45331e48e2cdbdef39c24a2121e33ff80bf404edfddd1a16be39f085dc", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T18:46:07Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/VAV_FirstFloor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/VAV_FirstFloor/thumbnail.png new file mode 100644 index 0000000..7414dbb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/VAV_FirstFloor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/VAV_FirstFloor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/VAV_FirstFloor/view.json new file mode 100644 index 0000000..bab5c91 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/VAV_FirstFloor/view.json @@ -0,0 +1,6835 @@ +{ + "custom": { + "Available": [ + "RM1100", + "RM1101", + "RM1102", + "RM1103", + "RM1109", + "RM1110", + "RM1111", + "RM1113", + "RM1114", + "RM1116", + "RM1117", + "RM1118", + "RM1121", + "RM1127", + "RM1133", + "RM1133_5", + "RM1134", + "RM1135", + "RM1137", + "RM1138", + "RM1141", + "RM1153", + "RM1190", + "RM1192", + "RM1194", + "RM1139", + "RM1102_2" + ], + "ColorHandler": { + "Wall": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "RM1100": "#BAEDFF", + "RM1101": "#BAEDFF", + "RM1102": "#BAEDFF", + "RM1102_2": "#BAEDFF", + "RM1103": "#BAEDFF", + "RM1109": "#BAEDFF", + "RM1110": "#BAEDFF", + "RM1111": "#BAEDFF", + "RM1113": "#BAEDFF", + "RM1114": "#FFBABD", + "RM1116": "#BAEDFF", + "RM1117": "#BAEDFF", + "RM1118": "#BAEDFF", + "RM1121": "#BAEDFF", + "RM1127": "#BAEDFF", + "RM1133": "#BAEDFF", + "RM1133_5": "#BAEDFF", + "RM1134": "#BAEDFF", + "RM1135": "#BAEDFF", + "RM1137": "#BAEDFF", + "RM1138": "#BAEDFF", + "RM1139": "#BAEDFF", + "RM1141": "#BAEDFF", + "RM1153": "#BAEDFF", + "RM1190": "#BAEDFF", + "RM1192": "#BAEDFF", + "RM1194": "#BAEDFF" + }, + "selected": "RM1114" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\toutput[room] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 227, + "width": 399 + } + }, + "root": { + "children": [ + { + "custom": { + "data": "value" + }, + "meta": { + "name": "First Floor" + }, + "position": { + "height": 420, + "width": 843, + "x": -444.4618634796143, + "y": -196.00264907836913 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1192" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1190" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1190" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1111" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1192" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1194" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1153" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1133_5" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1133" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1133" + }, + "type": "property" + } + }, + "props.elements[5].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1135" + }, + "type": "property" + } + }, + "props.elements[5].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1133" + }, + "type": "property" + } + }, + "props.elements[5].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[19].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1109" + }, + "type": "property" + } + }, + "props.elements[5].elements[20].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[21].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[22].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1100" + }, + "type": "property" + } + }, + "props.elements[5].elements[23].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1103" + }, + "type": "property" + } + }, + "props.elements[5].elements[24].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1114" + }, + "type": "property" + } + }, + "props.elements[5].elements[25].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1117" + }, + "type": "property" + } + }, + "props.elements[5].elements[26].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1116" + }, + "type": "property" + } + }, + "props.elements[5].elements[27].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1118" + }, + "type": "property" + } + }, + "props.elements[5].elements[28].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1110" + }, + "type": "property" + } + }, + "props.elements[5].elements[29].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1102" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1113" + }, + "type": "property" + } + }, + "props.elements[5].elements[30].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1101" + }, + "type": "property" + } + }, + "props.elements[5].elements[31].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1121" + }, + "type": "property" + } + }, + "props.elements[5].elements[32].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1127" + }, + "type": "property" + } + }, + "props.elements[5].elements[33].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1100" + }, + "type": "property" + } + }, + "props.elements[5].elements[34].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1133" + }, + "type": "property" + } + }, + "props.elements[5].elements[35].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[36].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1111" + }, + "type": "property" + } + }, + "props.elements[5].elements[37].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[38].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1141" + }, + "type": "property" + } + }, + "props.elements[5].elements[39].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1134" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[40].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1102_2" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1102_2" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1134" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1139" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1137" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.RM1138" + }, + "type": "property" + } + }, + "props.elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1199-STAIR-C", + "name": "_1199-STAIR-C", + "type": "rect", + "width": "203.609", + "x": "1515.85", + "y": "1178.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.399", + "id": "_1197-2-CORRIDOR-H-2", + "name": "_1197-2-CORRIDOR-H-2", + "type": "rect", + "width": 1305, + "x": "183.815", + "y": "1134.85" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "41.332", + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": 752, + "x": 2895, + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 41.332, + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": 1405, + "x": 1490, + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 65.25, + "id": "_1194-1-CORRIDOR-E-4", + "name": "_1194-1-CORRIDOR-E-4", + "type": "rect", + "width": 1255, + "x": 2900, + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 65.25, + "id": "_1194-1-CORRIDOR-E-2", + "name": "_1194-1-CORRIDOR-E-2", + "type": "rect", + "width": 1408, + "x": 1490, + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1198-STAIR-B", + "name": "_1198-STAIR-B", + "type": "rect", + "width": "203.609", + "x": "3802.52", + "y": "1177.63" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "206.163", + "id": "_1183-STAIRS-D", + "name": "_1183-STAIRS-D", + "type": "rect", + "width": "86.751", + "x": "1.377", + "y": "358.889" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": 169.655, + "id": "_1194-1-CORRIDOR-E-3", + "name": "_1194-1-CORRIDOR-E-3", + "type": "rect", + "width": "48.02", + "x": "3607.37", + "y": "1.095" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": 899.5, + "id": "_1193-CORRIDOR-D", + "name": "_1193-CORRIDOR-D", + "type": "rect", + "width": "84", + "x": "2894.63", + "y": "235.5" + }, + { + "d": "M1488.64,1134.85l164.275,0.149l-0.034,-139.5l-83.689,0.074l0,-608.074l83.689,0.105l0,-44.605l-83.689,0l0,-107.649l-80.561,0l0.009,899.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1195-CORRIDOR-F", + "name": "_1195-CORRIDOR-F", + "type": "path" + }, + { + "d": "M183.628,1134.85l63.25,0l0,-792.224l-84.75,-0l0,-107.276l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1196-CORRIDOR-G", + "name": "_1196-CORRIDOR-G", + "type": "path" + }, + { + "d": "M3647.19,1178.01l-0.308,-42.395l-35.25,-0l0,-428.611l65,-0l0,329.711l163.5,0.433l-0.113,141.356l-192.829,-0.494Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1192-CORRIDOR-C", + "name": "_1192-CORRIDOR-C", + "type": "path" + }, + { + "d": "M4160.13,138.5l0,96.851l68.5,0l0,406.899l73.372,0l-0,-173.99l58.628,-0l0,-38.859l-58.628,-0l-0.372,-141.301l228.25,-0.1l0,-48.75l-222.014,-0l-0,-100.75l-147.736,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1191-CORRIDOR-B", + "name": "_1191-CORRIDOR-B", + "type": "path" + }, + { + "d": "M4478.59,735.5l-118.361,-0l-0.38,-28.5l-748.22,-0l0,-65.105l690.372,0.427l-0,5.178l44.403,0l0,-43.801l74.63,0l0.308,43.801l56.816,-0.335l0.432,88.335Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1190-CORRIDOR-A", + "name": "_1190-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.101", + "id": "_1194-1-CORRIDOR-E-1", + "name": "_1194-1-CORRIDOR-E-1", + "type": "rect", + "width": 1400, + "x": "88.378", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 111.445, + "id": "_1123-STAIR-A", + "name": "_1123-STAIR-A", + "type": "rect", + "width": "58.434", + "x": "4477.3", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 71, + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "288" + } + ], + "id": "Corridors-and-stairs", + "name": "Corridors-and-stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1165-elec", + "name": "_1165-elec", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1164-ER", + "name": "_1164-ER", + "type": "rect", + "width": "232", + "x": "329.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1163-ER", + "name": "_1163-ER", + "type": "rect", + "width": "232", + "x": "561.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1162-ER", + "name": "_1162-ER", + "type": "rect", + "width": "232", + "x": "793.628", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1161-ER", + "name": "_1161-ER", + "type": "rect", + "width": "232", + "x": "1025.63", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1160-ER", + "name": "_1160-ER", + "type": "rect", + "width": "238.155", + "x": "1258.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1159-MEP-ROOM", + "name": "_1159-MEP-ROOM", + "type": "rect", + "width": "239.508", + "x": "1496.28", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1158-ER", + "name": "_1158-ER", + "type": "rect", + "width": "231.337", + "x": "1735.79", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1157ER", + "name": "_1157ER", + "type": "rect", + "width": "233.123", + "x": "1967.13", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1156-ER", + "name": "_1156-ER", + "type": "rect", + "width": "231.803", + "x": "2200.25", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1155-ER", + "name": "_1155-ER", + "type": "rect", + "width": "232.461", + "x": "2432.05", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1151-ELEC", + "name": "_1151-ELEC", + "type": "rect", + "width": "183.5", + "x": "3655.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1150-MECH-POWER", + "name": "_1150-MECH-POWER", + "type": "rect", + "width": "232.348", + "x": "3838.63", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "137.655", + "id": "_1120-MMR1", + "name": "_1120-MMR1", + "type": "rect", + "width": "260.5", + "x": "4160.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1152-TAPE-LIBRARY", + "name": "_1152-TAPE-LIBRARY", + "type": "rect", + "width": "476.566", + "x": "2664.63", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "64.565", + "id": "_1154-SDC-IDF", + "name": "_1154-SDC-IDF", + "type": "rect", + "width": "88.333", + "x": "3388.41", + "y": "105.935" + }, + { + "d": "M3141.63,170.25l0,-169.947l464.001,0.042l-0,169.905l-128.69,0l-0,-64.25l-89.212,-0l0.338,64.25l-246.437,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1153-SD-STORAGE", + "name": "_1153-SD-STORAGE", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.155", + "id": "_1149-MDF", + "name": "_1149-MDF", + "type": "rect", + "width": "89.5", + "x": "4070.63", + "y": "1.095" + } + ], + "id": "ELEC---MECH", + "name": "ELEC---MECH", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": 0.5 + }, + "height": "51.46", + "id": "_1185-ELEC", + "name": "_1185-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "458.859" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1184-POE", + "name": "_1184-POE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "109.021", + "id": "_1186-FIRE-PLBG", + "name": "_1186-FIRE-PLBG", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "508.227" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.5", + "id": "_1187-MDF-2", + "name": "_1187-MDF-2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "407.5", + "id": "_1188-MMR2", + "name": "_1188-MMR2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "715.5" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "55.25", + "id": "_1189-POE-4", + "name": "_1189-POE-4", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "1123" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1171-GALLERY", + "name": "_1171-GALLERY", + "type": "rect", + "width": "1325.44", + "x": "1569.19", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1172-GALLERY", + "name": "_1172-GALLERY", + "type": "rect", + "width": "1241.72", + "x": "1652.91", + "y": "1064" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.182", + "id": "_1174-SDC-IDF", + "name": "_1174-SDC-IDF", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "930" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "542.5", + "id": "_1173-SDC-STORAGE", + "name": "_1173-SDC-STORAGE", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "387.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1170-DATAHALL-3", + "name": "_1170-DATAHALL-3", + "type": "rect", + "width": "1241.75", + "x": "1652.88", + "y": "343" + } + ], + "id": "DH3", + "name": "DH3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1181-GALLERY-", + "name": "_1181-GALLERY-", + "type": "rect", + "width": "1326.41", + "x": "162.215", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1182-GALLERY-", + "name": "_1182-GALLERY-", + "type": "rect", + "width": "1241.72", + "x": "246.911", + "y": "1065.51" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1181-1-DATAHALL-1180-1", + "name": "_1181-1-DATAHALL-1180-1", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "344.795" + } + ], + "id": "DH5", + "name": "DH5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1119-POE1", + "name": "_1119-POE1", + "type": "rect", + "width": "51.764", + "x": "4307.86", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.401", + "id": "_1109-MOT", + "name": "_1109-MOT", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "359" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "77.088", + "id": "_1113-HUDDLE", + "name": "_1113-HUDDLE", + "type": "rect", + "width": "86.707", + "x": "4544.16", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "68.485", + "id": "_1104-RR", + "name": "_1104-RR", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "365.023" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.992", + "id": "_1105-JAN", + "name": "_1105-JAN", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "433.508" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "78.218", + "id": "_1102.3-SOC-OFFICE", + "name": "_1102.3-SOC-OFFICE", + "type": "rect", + "width": "66.118", + "x": "4459.01", + "y": "489.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1126-JAN", + "name": "_1126-JAN", + "type": "rect", + "width": "57", + "x": "4303.13", + "y": "707" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1134.2-AM-OFFICE", + "name": "_1134.2-AM-OFFICE", + "type": "rect", + "width": "65.5", + "x": "4063.63", + "y": "850" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61.387", + "id": "_1136-RR", + "name": "_1136-RR", + "type": "rect", + "width": "81.653", + "x": "4063.63", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.218", + "id": "_1142-POE", + "name": "_1142-POE", + "type": "rect", + "width": "101.369", + "x": "3840.13", + "y": "1123.79" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.5-SHRED-ROOM", + "name": "_1133.5-SHRED-ROOM", + "type": "rect", + "width": "125.5", + "x": "3938.13", + "y": "932.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.6-HIGH-VALUE-STORAGE", + "name": "_1133.6-HIGH-VALUE-STORAGE", + "type": "rect", + "width": "261.5", + "x": "3676.63", + "y": "932.697" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "59.838", + "id": "_1133.2-CABLE-STORAGE", + "name": "_1133.2-CABLE-STORAGE", + "type": "rect", + "width": "163.5", + "x": "3676.63", + "y": "708.197" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "110.035", + "id": "_1135-WAITING", + "name": "_1135-WAITING", + "type": "rect", + "width": "62.384", + "x": "4145.28", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "119.5", + "id": "_1133.4-SECURE-STORAGE", + "name": "_1133.4-SECURE-STORAGE", + "type": "rect", + "width": "223.5", + "x": "3840.13", + "y": "813" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1128-ELEC", + "name": "_1128-ELEC", + "type": "rect", + "width": "57", + "x": "4302", + "y": "761.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1125-MECH", + "name": "_1125-MECH", + "type": "rect", + "width": "63.811", + "x": "4359", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1124-PASS", + "name": "_1124-PASS", + "type": "rect", + "width": "54.491", + "x": "4422.81", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1122-SDC-IDF", + "name": "_1122-SDC-IDF", + "type": "rect", + "width": "72.661", + "x": "4535.43", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1130-FREIGHT", + "name": "_1130-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4433.86", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1131-FREIGHT", + "name": "_1131-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4535.36", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1132-MECH", + "name": "_1132-MECH", + "type": "rect", + "width": "138.911", + "x": "4636.63", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61", + "id": "_1100.1-VESTIBULE", + "name": "_1100.1-VESTIBULE", + "type": "rect", + "width": "41.5", + "x": "4767.63", + "y": "499" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "130.798", + "id": "_1103-EXECUTIVE-CONFERENCE", + "name": "_1103-EXECUTIVE-CONFERENCE", + "type": "rect", + "width": "145.497", + "x": "4630.13", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1114-RECORDS", + "name": "_1114-RECORDS", + "type": "rect", + "width": "61", + "x": "4359.63", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1117-OFFICE", + "name": "_1117-OFFICE", + "type": "rect", + "width": "64.5", + "x": "4530.13", + "y": "2.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "237.952", + "id": "_1116-CONFERENCE", + "name": "_1116-CONFERENCE", + "type": "rect", + "width": "109.5", + "x": "4420.63", + "y": "1.298" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1118-OFFICE", + "name": "_1118-OFFICE", + "type": "rect", + "width": "65.274", + "x": "4594.63", + "y": "2.5" + }, + { + "d": "M4775.02,288l0.609,-285l-115.1,-2.655l-0.626,84.155l-130.024,-0.441l0,203.941l245.141,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1110-STREAM-OFFICE", + "name": "_1110-STREAM-OFFICE", + "type": "path" + }, + { + "d": "M4525.13,489.5l-0.162,157.719l33.495,0.137l0,-40.856l41.98,0l-0.008,11.157l52.695,0.479l-1.174,-128.636l-126.826,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1102.1-SOC", + "name": "_1102.1-SOC", + "type": "path" + }, + { + "d": "M4558.46,606.223l0,41.133l-80.452,-0l0.693,57.633l329.676,-0l0,-86.979l-207.164,0l0,-11.51l-42.753,-0.277Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1101-SECURE-LOBBY", + "name": "_1101-SECURE-LOBBY", + "type": "path" + }, + { + "d": "M4607.63,705l0,110.159l167.782,-0.651l0.693,-26.905l32.275,-0.433l0,-82.181l-200.75,0.011Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1121-CONFERENCE", + "name": "_1121-CONFERENCE", + "type": "path" + }, + { + "d": "M4207.55,706.868l0.073,379.082l23.565,0.081l75.845,39.795l19.744,-35.334l77.574,39.904l25.252,-44.509l94.628,0.083l76.334,39.209l19.102,-34.955l75.254,39.426l80.59,-0.024l-0,-197.372l-341.468,-0l-0,-115.82l-131.16,-1.275l0,-108.159l-95.333,-0.132Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1127-LOADING-DOCK", + "name": "_1127-LOADING-DOCK", + "type": "path" + }, + { + "d": "M4598.13,364.5l0,125l55.275,0l-0.13,128.5l155.105,0.01l0,-58.01l-40.75,0l0,-61.698l40.283,-0.037l-0,-79.467l-177.783,-0l0,-54.298l-32,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1100.0-LOBBY", + "name": "_1100.0-LOBBY", + "type": "path" + }, + { + "d": "M3676.63,932l0,-163.965l163.5,0l0,-61.035l367.5,-0l0,143l-144,-0l0,-37l-223.5,-0l0,119.5l-163.5,-0.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1133.1-RECEIVING", + "name": "_1133.1-RECEIVING", + "type": "path" + }, + { + "d": "M4457.98,468l0.296,179.18l-37.243,0.32l-0,-43.801l-38.163,0l0.111,-135.699l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1107-MMR", + "name": "_1107-MMR", + "type": "path" + }, + { + "d": "M4542.91,288l0.721,201.141l-84.617,0.359l-0,-21.24l-98.383,-0l-0.136,-180.26l182.415,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1111-BREAK-ROOM", + "name": "_1111-BREAK-ROOM", + "type": "path" + }, + { + "d": "M4302,468.26l2.333,179.853l42.045,-0.613l0,-42.868l37.34,-0l-0.117,-135.7l-81.601,-0.672Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1108-WRR", + "name": "_1108-WRR", + "type": "path" + }, + { + "d": "M4144.93,1037.5l1.203,140.499l-204.5,0.501l0,-52.454l-101.5,-1.355l0.451,-87.191l304.346,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1141-PLBG-FP", + "name": "_1141-PLBG-FP", + "type": "path" + }, + { + "d": "M4207.55,975.505l-143.66,0.495l-0.257,-44l65.5,-0l0,-82l78.417,0.185l0,125.32Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1134.1-ASSET-MANAGEMENT", + "name": "_1134.1-ASSET-MANAGEMENT", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "79.448", + "id": "_1102.2-SOC-STORAGE", + "name": "_1102.2-SOC-STORAGE", + "type": "rect", + "width": "65.955", + "x": "4459.01", + "y": "567.718" + } + ], + "id": "Stream-Offices", + "name": "Stream-Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "133.25", + "id": "_1138.2-SER", + "name": "_1138.2-SER", + "type": "rect", + "width": "79.5", + "x": "3937.13", + "y": "509" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "88.512", + "id": "_1138.3-FCR", + "name": "_1138.3-FCR", + "type": "rect", + "width": "73", + "x": "3864.13", + "y": "553.738" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.649", + "id": "_1139-TENANT-STORAGE", + "name": "_1139-TENANT-STORAGE", + "type": "rect", + "width": "389.821", + "x": "3222.13", + "y": "235.351" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "406.899", + "id": "_1137-OPS-STORAGE", + "name": "_1137-OPS-STORAGE", + "type": "rect", + "width": "163.5", + "x": "4065.13", + "y": "235.351" + }, + { + "d": "M3611.63,235.5l0,407l252.5,-0.25l0,-88.75l73,-0l0.198,-44.292l79.459,0l0.308,133.042l48.035,0l-0.309,-407.076l-453.191,0.326Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1138.1-TENANT-OFFICE", + "name": "_1138.1-TENANT-OFFICE", + "type": "path" + } + ], + "id": "Tenant-Offices", + "name": "Tenant-Offices", + "type": "group" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1140-MECH---PUMP", + "name": "_1140-MECH---PUMP", + "type": "rect", + "width": "243.5", + "x": "2978.63", + "y": "235.5" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,101.188l-0,-21.233l-40.298,-0l-0,21.233", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1544.41,1178.25l2262.71,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3828.13,1178l315.66,0.25l-0,-92.3l8.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4173.51,1086l57.373,0l76.749,40l19.362,-35.865l77.638,41.156l24.903,-45.608l94.597,0.035l76,40.135l19.39,-36.353l75.428,40l80.682,0l-0.395,-342.218l33.145,0l0,-250.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1035.5l0,94.842l0,-5.357l101.5,0.015l0,53.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1151.75l0,26.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4207.86,1085.95l-0.243,-84.421", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4145.28,1085.95l-0,-84.421l-0,35.614l-468.653,0.357l0,-330.5l294.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4027.95,707l179.674,-0l0,19.825l0,-19.825l127.139,-0l-31.655,-0l-0,59.272l-0,-4.626l56.736,-0l-0,-54.646l-0,109.434", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302.88,786.5l0,29.934l472.628,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4359.85,735.573l33.572,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4413.87,735.573l22.597,-0l-13.636,-0l0.293,80.861", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4477.13,816.434l-0,-80.861l-12.996,-0.323l12.996,0.323l-0,-30.584l7.264,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4504.26,704.989l31.169,-0l-0,111.445", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4608.09,816.434l-0,-111.445l-42.464,0.011", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4653.05,705l110.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4434.04,816.434l-0,115.82l9.934,-0.195", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4535.43,816.434l-0,115.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.63,816.434l0,116.066", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4661.9,932.5l113.729,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,932l185.781,-0l-22.281,-0l0,-119l39.813,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3918.12,813l145.506,-0l0,224.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4020.13,932l108.575,-0l0.156,-55.929", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.63,849.89l70.501,0.36", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.57,850.25l53.056,0l0,25.821l0,-92.073", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,768.035l163.5,0l0,-12.467", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3888.63,932.25l93,0l-43.433,0l-0.067,105.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.67,975.52l144.348,0.195l-0.195,-80.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3647.19,1178.71l0,-14.854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3646.88,1143l0,-7.389l-399.644,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,1135.61l0,-441.611", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3265.63,235.5l755.122,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,235.5l0,419.979l0,-13.175l299.892,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3962.63,642.25l59.351,0l-4.987,0l-0,-133.042l-79.666,0l-0,133.042", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3937.13,553.5l-73,-0l0,88.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.63,642.25l8,0l0,-362.294", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4228.63,241.158l0,-5.685l-168.451,-0.299l4.887,0.008l0,407.068l-23.196,0l140.671,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4160.13,235.351l0,-12.621", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3216.3,1135l10.348,0l-5.018,0l-0,-899.649l5.477,0l-23.327,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3165.48,235.351l-186.856,0l0,899.649l218.001,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4775.02,288l-148.777,-0l4.19,-0l-0.067,130.798l5.052,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4675.13,418.798l56.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4586.88,288l-48.457,-0l5.207,-0l0,201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,365.023l86.5,0.065", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,433.38l54.476,-0l0.16,8.138l0,-52.018", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4598.26,461.785l-0.136,27.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4558.88,622.5l0,-30.591l0,14.936l41.643,0.079l-0.079,10.901l66.663,-0l-13.916,-0l0,-128.325l-194.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4420.88,637l0,10.165l38.133,0l-0,-178.905l-157.011,-0l-0,179.24l44.325,0l-0,-10.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4346.38,617l0.025,-13.192l37.315,-0.235l-0.377,-135.313", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4421.03,616.625l-0.064,-12.926l-74.566,0.109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,239.25l4.674,-0l-0,-105.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4529.88,94l0,-9.5l20.662,-0l-20.662,-0l0.25,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4615.63,84.5l-25.999,-0l4.999,-0l0,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4656.52,84.25l3.384,0l0,-83.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.01,647.165l99.45,0l0,-7.237", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.13,567.191l65.999,-0.128l0,54.768l0,-62.3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,489l0,53.977", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4808.38,617.85l-44.723,0.16", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4743.13,617.85l-18.093,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4705.63,618.01l-17.935,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4360.63,468.067l0,-180.067l-4.8,-0l9.498,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4336.13,288.1l-34.134,-0l-0,141.301l32.686,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302,359l58.577,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4405.13,288l94.191,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.89,234.699l-0.021,11.078l0.012,-6.277l67.252,0l-15.5,0l0,-101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.86,213.705l-0,-75.205l-7.609,0l119.686,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.94,0.345l0,238.853l-5.317,-0.025l71.004,0.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4767.63,539.283l0,20.717l40.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.63,170.632l27.175,-0l-0,13.059l-0,-183.346", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4159.8,138.5l102.161,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-24.506,0l4.341,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3589.63,170.5l16.103,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3551.63,170.5l-138.99,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3476.94,170.5l-0,-64.5l-89.311,-0l0,64.5l5.331,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,50.149", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,508l95.313,-0l0,-5.217l0,10.007", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,5.893l0,-79.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,759.5l0,371.5l0,-7.955l-95.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1039l0,-18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1001l0,-616.527l0,3.027l-83.939,-0l0,37.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,463.614l0,471.386l0,-4.5l83.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,955.5l0,40l83.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1020l0,-635.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "First-Floor", + "name": "First-Floor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMaxYMax", + "stroke": { + "linejoin": "bevel" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1190", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 98, + "width": 145, + "x": 194.53960250854493, + "y": 28.76 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1110", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 50, + "width": 43, + "x": 349.01, + "y": 5.27 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1118", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 10, + "x": 360.7, + "y": 5.38 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1113", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 14, + "width": 14, + "x": 352.5, + "y": 55.08 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1103", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 22, + "width": 25, + "x": 367.33, + "y": 54.92 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1111" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1111", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 35, + "width": 42, + "x": 309.07, + "y": 54.68 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1137", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 71, + "width": 26, + "x": 268.51, + "y": 46.24 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1100", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 36, + "width": 36, + "x": 362.4, + "y": 77.48 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1102", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 27, + "width": 21, + "x": 348.65, + "y": 89.63 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1102_2", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 27, + "width": 10, + "x": 337.29, + "y": 90.63 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1101", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 14, + "width": 57, + "x": 339.6, + "y": 112.77 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1121", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 18, + "width": 32, + "x": 364.17, + "y": 128.97 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1127", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 53, + "width": 99, + "x": 293.21, + "y": 148.63 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1141", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 25, + "width": 53, + "x": 228.43, + "y": 185.63 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1138", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 71, + "width": 79, + "x": 188.41, + "y": 45.66 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1192", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 81, + "width": 110, + "x": 118.47, + "y": 128.78 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1139", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 158, + "width": 69, + "x": 119.07, + "y": 45.31 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1153", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 28, + "rotate": { + "anchor": "37% 25%" + }, + "width": 80, + "x": 105.8, + "y": 5.66 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1194", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 10, + "width": 219, + "x": 62.52, + "y": 33.76 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1116", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 42, + "width": 19, + "x": 329.88, + "y": 4.85 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1133", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 56, + "width": 93, + "x": 199.33, + "y": 130.13 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1109", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 11, + "width": 9, + "x": 310.45, + "y": 68 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1117", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 9, + "x": 351.02, + "y": 5.99 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1133_5", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 18, + "width": 21, + "x": 245.9, + "y": 167.97 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1134", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 21, + "width": 25, + "x": 267.14, + "y": 153.58 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1114", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 18, + "width": 10, + "x": 320.03, + "y": 29.46 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\n\tmessageType \u003d \"roomUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "RM1135", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 18, + "width": 9, + "x": 281.55, + "y": 176.33 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_01_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_FirstFloor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_FirstFloor/resource.json new file mode 100644 index 0000000..b27e3b3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_FirstFloor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a88caf12003daf3232db45acb820a9f4fa778bef7c7881ccb90d2ff5326c547e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-17T14:43:30Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_FirstFloor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_FirstFloor/thumbnail.png new file mode 100644 index 0000000..73f5025 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_FirstFloor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_FirstFloor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_FirstFloor/view.json new file mode 100644 index 0000000..3d5638e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_FirstFloor/view.json @@ -0,0 +1,5682 @@ +{ + "custom": { + "Available": [ + "SATB1_RF_DOAS01", + "SATB1_RF_DOAS02", + "SATB1_RF_DOAS03" + ], + "ColorHandler": { + "Wall": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "DOAS01": "#BAEDFF", + "DOAS02": "#BAEDFF", + "DOAS03": "#BAEDFF" + }, + "selected": "SATB1_4" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tshortName \u003d room.split(\"_\")\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\tsroom \u003d shortName[2]\n\t\toutput[sroom] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "custom": { + "data": "value" + }, + "meta": { + "name": "First Floor" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[0].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[19].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[20].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[21].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[22].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[23].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[24].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[25].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[26].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[27].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[28].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[29].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[30].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[31].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[32].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[33].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[34].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[35].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[36].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[37].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[38].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[39].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[40].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[128].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[129].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[130].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Wall" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1199-STAIR-C", + "name": "_1199-STAIR-C", + "type": "rect", + "width": "203.609", + "x": "1515.85", + "y": "1178.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.399", + "id": "_1197-2-CORRIDOR-H-2", + "name": "_1197-2-CORRIDOR-H-2", + "type": "rect", + "width": 1305, + "x": "183.815", + "y": "1134.85" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "41.332", + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": 752, + "x": 2895, + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 41.332, + "id": "_1197-1-CORRIDOR-H-1", + "name": "_1197-1-CORRIDOR-H-1", + "type": "rect", + "width": 1405, + "x": 1490, + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 65.25, + "id": "_1194-1-CORRIDOR-E-4", + "name": "_1194-1-CORRIDOR-E-4", + "type": "rect", + "width": 1255, + "x": 2900, + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 65.25, + "id": "_1194-1-CORRIDOR-E-2", + "name": "_1194-1-CORRIDOR-E-2", + "type": "rect", + "width": 1408, + "x": 1490, + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.366", + "id": "_1198-STAIR-B", + "name": "_1198-STAIR-B", + "type": "rect", + "width": "203.609", + "x": "3802.52", + "y": "1177.63" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "206.163", + "id": "_1183-STAIRS-D", + "name": "_1183-STAIRS-D", + "type": "rect", + "width": "86.751", + "x": "1.377", + "y": "358.889" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": 169.655, + "id": "_1194-1-CORRIDOR-E-3", + "name": "_1194-1-CORRIDOR-E-3", + "type": "rect", + "width": "48.02", + "x": "3607.37", + "y": "1.095" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": 899.5, + "id": "_1193-CORRIDOR-D", + "name": "_1193-CORRIDOR-D", + "type": "rect", + "width": "84", + "x": "2894.63", + "y": "235.5" + }, + { + "d": "M1488.64,1134.85l164.275,0.149l-0.034,-139.5l-83.689,0.074l0,-608.074l83.689,0.105l0,-44.605l-83.689,0l0,-107.649l-80.561,0l0.009,899.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1195-CORRIDOR-F", + "name": "_1195-CORRIDOR-F", + "type": "path" + }, + { + "d": "M183.628,1134.85l63.25,0l0,-792.224l-84.75,-0l0,-107.276l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": 0.5 + }, + "id": "_1196-CORRIDOR-G", + "name": "_1196-CORRIDOR-G", + "type": "path" + }, + { + "d": "M3647.19,1178.01l-0.308,-42.395l-35.25,-0l0,-428.611l65,-0l0,329.711l163.5,0.433l-0.113,141.356l-192.829,-0.494Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1192-CORRIDOR-C", + "name": "_1192-CORRIDOR-C", + "type": "path" + }, + { + "d": "M4160.13,138.5l0,96.851l68.5,0l0,406.899l73.372,0l-0,-173.99l58.628,-0l0,-38.859l-58.628,-0l-0.372,-141.301l228.25,-0.1l0,-48.75l-222.014,-0l-0,-100.75l-147.736,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1191-CORRIDOR-B", + "name": "_1191-CORRIDOR-B", + "type": "path" + }, + { + "d": "M4478.59,735.5l-118.361,-0l-0.38,-28.5l-748.22,-0l0,-65.105l690.372,0.427l-0,5.178l44.403,0l0,-43.801l74.63,0l0.308,43.801l56.816,-0.335l0.432,88.335Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1190-CORRIDOR-A", + "name": "_1190-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.101", + "id": "_1194-1-CORRIDOR-E-1", + "name": "_1194-1-CORRIDOR-E-1", + "type": "rect", + "width": 1400, + "x": "88.378", + "y": "170.25" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 111.445, + "id": "_1123-STAIR-A", + "name": "_1123-STAIR-A", + "type": "rect", + "width": "58.434", + "x": "4477.3", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": 71, + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "288" + } + ], + "id": "Corridors-and-stairs", + "name": "Corridors-and-stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1165-elec", + "name": "_1165-elec", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1164-ER", + "name": "_1164-ER", + "type": "rect", + "width": "232", + "x": "329.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1163-ER", + "name": "_1163-ER", + "type": "rect", + "width": "232", + "x": "561.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1162-ER", + "name": "_1162-ER", + "type": "rect", + "width": "232", + "x": "793.628", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1161-ER", + "name": "_1161-ER", + "type": "rect", + "width": "232", + "x": "1025.63", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.905", + "id": "_1160-ER", + "name": "_1160-ER", + "type": "rect", + "width": "238.155", + "x": "1258.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1159-MEP-ROOM", + "name": "_1159-MEP-ROOM", + "type": "rect", + "width": "239.508", + "x": "1496.28", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1158-ER", + "name": "_1158-ER", + "type": "rect", + "width": "231.337", + "x": "1735.79", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1157ER", + "name": "_1157ER", + "type": "rect", + "width": "233.123", + "x": "1967.13", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1156-ER", + "name": "_1156-ER", + "type": "rect", + "width": "231.803", + "x": "2200.25", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1155-ER", + "name": "_1155-ER", + "type": "rect", + "width": "232.461", + "x": "2432.05", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1151-ELEC", + "name": "_1151-ELEC", + "type": "rect", + "width": "183.5", + "x": "3655.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.25", + "id": "_1150-MECH-POWER", + "name": "_1150-MECH-POWER", + "type": "rect", + "width": "232.348", + "x": "3838.63", + "y": "-0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "137.655", + "id": "_1120-MMR1", + "name": "_1120-MMR1", + "type": "rect", + "width": "260.5", + "x": "4160.13", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1152-TAPE-LIBRARY", + "name": "_1152-TAPE-LIBRARY", + "type": "rect", + "width": "476.566", + "x": "2664.63", + "y": "0.595" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "64.565", + "id": "_1154-SDC-IDF", + "name": "_1154-SDC-IDF", + "type": "rect", + "width": "88.333", + "x": "3388.41", + "y": "105.935" + }, + { + "d": "M3141.63,170.25l0,-169.947l464.001,0.042l-0,169.905l-128.69,0l-0,-64.25l-89.212,-0l0.338,64.25l-246.437,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1153-SD-STORAGE", + "name": "_1153-SD-STORAGE", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.155", + "id": "_1149-MDF", + "name": "_1149-MDF", + "type": "rect", + "width": "89.5", + "x": "4070.63", + "y": "1.095" + } + ], + "id": "ELEC---MECH", + "name": "ELEC---MECH", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": 0.5 + }, + "height": "51.46", + "id": "_1185-ELEC", + "name": "_1185-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "458.859" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "51.46", + "id": "_1184-POE", + "name": "_1184-POE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "109.021", + "id": "_1186-FIRE-PLBG", + "name": "_1186-FIRE-PLBG", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "508.227" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.5", + "id": "_1187-MDF-2", + "name": "_1187-MDF-2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "407.5", + "id": "_1188-MMR2", + "name": "_1188-MMR2", + "type": "rect", + "width": "95.5", + "x": "88.315", + "y": "715.5" + }, + { + "fill": { + "opacity": 0.5 + }, + "height": "55.25", + "id": "_1189-POE-4", + "name": "_1189-POE-4", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "1123" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1171-GALLERY", + "name": "_1171-GALLERY", + "type": "rect", + "width": "1325.44", + "x": "1569.19", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1172-GALLERY", + "name": "_1172-GALLERY", + "type": "rect", + "width": "1241.72", + "x": "1652.91", + "y": "1064" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.182", + "id": "_1174-SDC-IDF", + "name": "_1174-SDC-IDF", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "930" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "542.5", + "id": "_1173-SDC-STORAGE", + "name": "_1173-SDC-STORAGE", + "type": "rect", + "width": "83.939", + "x": "1569.19", + "y": "387.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1170-DATAHALL-3", + "name": "_1170-DATAHALL-3", + "type": "rect", + "width": "1241.75", + "x": "1652.88", + "y": "343" + } + ], + "id": "DH3", + "name": "DH3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.5", + "id": "_1181-GALLERY-", + "name": "_1181-GALLERY-", + "type": "rect", + "width": "1326.41", + "x": "162.215", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "71.492", + "id": "_1182-GALLERY-", + "name": "_1182-GALLERY-", + "type": "rect", + "width": "1241.72", + "x": "246.911", + "y": "1065.51" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1181-1-DATAHALL-1180-1", + "name": "_1181-1-DATAHALL-1180-1", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "344.795" + } + ], + "id": "DH5", + "name": "DH5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1119-POE1", + "name": "_1119-POE1", + "type": "rect", + "width": "51.764", + "x": "4307.86", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.401", + "id": "_1109-MOT", + "name": "_1109-MOT", + "type": "rect", + "width": "58.625", + "x": "4302", + "y": "359" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "77.088", + "id": "_1113-HUDDLE", + "name": "_1113-HUDDLE", + "type": "rect", + "width": "86.707", + "x": "4544.16", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "68.485", + "id": "_1104-RR", + "name": "_1104-RR", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "365.023" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "55.992", + "id": "_1105-JAN", + "name": "_1105-JAN", + "type": "rect", + "width": "54.842", + "x": "4543.42", + "y": "433.508" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "78.218", + "id": "_1102.3-SOC-OFFICE", + "name": "_1102.3-SOC-OFFICE", + "type": "rect", + "width": "66.118", + "x": "4459.01", + "y": "489.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1126-JAN", + "name": "_1126-JAN", + "type": "rect", + "width": "57", + "x": "4303.13", + "y": "707" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1134.2-AM-OFFICE", + "name": "_1134.2-AM-OFFICE", + "type": "rect", + "width": "65.5", + "x": "4063.63", + "y": "850" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61.387", + "id": "_1136-RR", + "name": "_1136-RR", + "type": "rect", + "width": "81.653", + "x": "4063.63", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.218", + "id": "_1142-POE", + "name": "_1142-POE", + "type": "rect", + "width": "101.369", + "x": "3840.13", + "y": "1123.79" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.5-SHRED-ROOM", + "name": "_1133.5-SHRED-ROOM", + "type": "rect", + "width": "125.5", + "x": "3938.13", + "y": "932.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "104.803", + "id": "_1133.6-HIGH-VALUE-STORAGE", + "name": "_1133.6-HIGH-VALUE-STORAGE", + "type": "rect", + "width": "261.5", + "x": "3676.63", + "y": "932.697" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "59.838", + "id": "_1133.2-CABLE-STORAGE", + "name": "_1133.2-CABLE-STORAGE", + "type": "rect", + "width": "163.5", + "x": "3676.63", + "y": "708.197" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "110.035", + "id": "_1135-WAITING", + "name": "_1135-WAITING", + "type": "rect", + "width": "62.384", + "x": "4145.28", + "y": "975.915" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "119.5", + "id": "_1133.4-SECURE-STORAGE", + "name": "_1133.4-SECURE-STORAGE", + "type": "rect", + "width": "223.5", + "x": "3840.13", + "y": "813" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "54.5", + "id": "_1128-ELEC", + "name": "_1128-ELEC", + "type": "rect", + "width": "57", + "x": "4302", + "y": "761.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1125-MECH", + "name": "_1125-MECH", + "type": "rect", + "width": "63.811", + "x": "4359", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.427", + "id": "_1124-PASS", + "name": "_1124-PASS", + "type": "rect", + "width": "54.491", + "x": "4422.81", + "y": "735.573" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "111.445", + "id": "_1122-SDC-IDF", + "name": "_1122-SDC-IDF", + "type": "rect", + "width": "72.661", + "x": "4535.43", + "y": "704.989" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1130-FREIGHT", + "name": "_1130-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4433.86", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1131-FREIGHT", + "name": "_1131-FREIGHT", + "type": "rect", + "width": "101.271", + "x": "4535.36", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "115.5", + "id": "_1132-MECH", + "name": "_1132-MECH", + "type": "rect", + "width": "138.911", + "x": "4636.63", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "61", + "id": "_1100.1-VESTIBULE", + "name": "_1100.1-VESTIBULE", + "type": "rect", + "width": "41.5", + "x": "4767.63", + "y": "499" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "130.798", + "id": "_1103-EXECUTIVE-CONFERENCE", + "name": "_1103-EXECUTIVE-CONFERENCE", + "type": "rect", + "width": "145.497", + "x": "4630.13", + "y": "288" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "101", + "id": "_1114-RECORDS", + "name": "_1114-RECORDS", + "type": "rect", + "width": "61", + "x": "4359.63", + "y": "138.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1117-OFFICE", + "name": "_1117-OFFICE", + "type": "rect", + "width": "64.5", + "x": "4530.13", + "y": "2.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "237.952", + "id": "_1116-CONFERENCE", + "name": "_1116-CONFERENCE", + "type": "rect", + "width": "109.5", + "x": "4420.63", + "y": "1.298" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "82", + "id": "_1118-OFFICE", + "name": "_1118-OFFICE", + "type": "rect", + "width": "65.274", + "x": "4594.63", + "y": "2.5" + }, + { + "d": "M4775.02,288l0.609,-285l-115.1,-2.655l-0.626,84.155l-130.024,-0.441l0,203.941l245.141,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1110-STREAM-OFFICE", + "name": "_1110-STREAM-OFFICE", + "type": "path" + }, + { + "d": "M4525.13,489.5l-0.162,157.719l33.495,0.137l0,-40.856l41.98,0l-0.008,11.157l52.695,0.479l-1.174,-128.636l-126.826,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1102.1-SOC", + "name": "_1102.1-SOC", + "type": "path" + }, + { + "d": "M4558.46,606.223l0,41.133l-80.452,-0l0.693,57.633l329.676,-0l0,-86.979l-207.164,0l0,-11.51l-42.753,-0.277Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1101-SECURE-LOBBY", + "name": "_1101-SECURE-LOBBY", + "type": "path" + }, + { + "d": "M4607.63,705l0,110.159l167.782,-0.651l0.693,-26.905l32.275,-0.433l0,-82.181l-200.75,0.011Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1121-CONFERENCE", + "name": "_1121-CONFERENCE", + "type": "path" + }, + { + "d": "M4207.55,706.868l0.073,379.082l23.565,0.081l75.845,39.795l19.744,-35.334l77.574,39.904l25.252,-44.509l94.628,0.083l76.334,39.209l19.102,-34.955l75.254,39.426l80.59,-0.024l-0,-197.372l-341.468,-0l-0,-115.82l-131.16,-1.275l0,-108.159l-95.333,-0.132Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1127-LOADING-DOCK", + "name": "_1127-LOADING-DOCK", + "type": "path" + }, + { + "d": "M4598.13,364.5l0,125l55.275,0l-0.13,128.5l155.105,0.01l0,-58.01l-40.75,0l0,-61.698l40.283,-0.037l-0,-79.467l-177.783,-0l0,-54.298l-32,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1100.0-LOBBY", + "name": "_1100.0-LOBBY", + "type": "path" + }, + { + "d": "M3676.63,932l0,-163.965l163.5,0l0,-61.035l367.5,-0l0,143l-144,-0l0,-37l-223.5,-0l0,119.5l-163.5,-0.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1133.1-RECEIVING", + "name": "_1133.1-RECEIVING", + "type": "path" + }, + { + "d": "M4457.98,468l0.296,179.18l-37.243,0.32l-0,-43.801l-38.163,0l0.111,-135.699l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1107-MMR", + "name": "_1107-MMR", + "type": "path" + }, + { + "d": "M4542.91,288l0.721,201.141l-84.617,0.359l-0,-21.24l-98.383,-0l-0.136,-180.26l182.415,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1111-BREAK-ROOM", + "name": "_1111-BREAK-ROOM", + "type": "path" + }, + { + "d": "M4302,468.26l2.333,179.853l42.045,-0.613l0,-42.868l37.34,-0l-0.117,-135.7l-81.601,-0.672Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1108-WRR", + "name": "_1108-WRR", + "type": "path" + }, + { + "d": "M4144.93,1037.5l1.203,140.499l-204.5,0.501l0,-52.454l-101.5,-1.355l0.451,-87.191l304.346,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1141-PLBG-FP", + "name": "_1141-PLBG-FP", + "type": "path" + }, + { + "d": "M4207.55,975.505l-143.66,0.495l-0.257,-44l65.5,-0l0,-82l78.417,0.185l0,125.32Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1134.1-ASSET-MANAGEMENT", + "name": "_1134.1-ASSET-MANAGEMENT", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "79.448", + "id": "_1102.2-SOC-STORAGE", + "name": "_1102.2-SOC-STORAGE", + "type": "rect", + "width": "65.955", + "x": "4459.01", + "y": "567.718" + } + ], + "id": "Stream-Offices", + "name": "Stream-Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "133.25", + "id": "_1138.2-SER", + "name": "_1138.2-SER", + "type": "rect", + "width": "79.5", + "x": "3937.13", + "y": "509" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "88.512", + "id": "_1138.3-FCR", + "name": "_1138.3-FCR", + "type": "rect", + "width": "73", + "x": "3864.13", + "y": "553.738" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.649", + "id": "_1139-TENANT-STORAGE", + "name": "_1139-TENANT-STORAGE", + "type": "rect", + "width": "389.821", + "x": "3222.13", + "y": "235.351" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "406.899", + "id": "_1137-OPS-STORAGE", + "name": "_1137-OPS-STORAGE", + "type": "rect", + "width": "163.5", + "x": "4065.13", + "y": "235.351" + }, + { + "d": "M3611.63,235.5l0,407l252.5,-0.25l0,-88.75l73,-0l0.198,-44.292l79.459,0l0.308,133.042l48.035,0l-0.309,-407.076l-453.191,0.326Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1138.1-TENANT-OFFICE", + "name": "_1138.1-TENANT-OFFICE", + "type": "path" + } + ], + "id": "Tenant-Offices", + "name": "Tenant-Offices", + "type": "group" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.5", + "id": "_1140-MECH---PUMP", + "name": "_1140-MECH---PUMP", + "type": "rect", + "width": "243.5", + "x": "2978.63", + "y": "235.5" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,101.188l-0,-21.233l-40.298,-0l-0,21.233", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1544.41,1178.25l2262.71,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3828.13,1178l315.66,0.25l-0,-92.3l8.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4173.51,1086l57.373,0l76.749,40l19.362,-35.865l77.638,41.156l24.903,-45.608l94.597,0.035l76,40.135l19.39,-36.353l75.428,40l80.682,0l-0.395,-342.218l33.145,0l0,-250.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1035.5l0,94.842l0,-5.357l101.5,0.015l0,53.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.13,1151.75l0,26.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4207.86,1085.95l-0.243,-84.421", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4145.28,1085.95l-0,-84.421l-0,35.614l-468.653,0.357l0,-330.5l294.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4027.95,707l179.674,-0l0,19.825l0,-19.825l127.139,-0l-31.655,-0l-0,59.272l-0,-4.626l56.736,-0l-0,-54.646l-0,109.434", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302.88,786.5l0,29.934l472.628,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4359.85,735.573l33.572,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4413.87,735.573l22.597,-0l-13.636,-0l0.293,80.861", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4477.13,816.434l-0,-80.861l-12.996,-0.323l12.996,0.323l-0,-30.584l7.264,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4504.26,704.989l31.169,-0l-0,111.445", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4608.09,816.434l-0,-111.445l-42.464,0.011", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4653.05,705l110.307,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4434.04,816.434l-0,115.82l9.934,-0.195", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4535.43,816.434l-0,115.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.63,816.434l0,116.066", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4661.9,932.5l113.729,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,932l185.781,-0l-22.281,-0l0,-119l39.813,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3918.12,813l145.506,-0l0,224.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4020.13,932l108.575,-0l0.156,-55.929", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.63,849.89l70.501,0.36", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.57,850.25l53.056,0l0,25.821l0,-92.073", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3676.63,768.035l163.5,0l0,-12.467", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3888.63,932.25l93,0l-43.433,0l-0.067,105.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4063.67,975.52l144.348,0.195l-0.195,-80.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3647.19,1178.71l0,-14.854", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3646.88,1143l0,-7.389l-399.644,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,1135.61l0,-441.611", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3265.63,235.5l755.122,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3611.63,235.5l0,419.979l0,-13.175l299.892,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3962.63,642.25l59.351,0l-4.987,0l-0,-133.042l-79.666,0l-0,133.042", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3937.13,553.5l-73,-0l0,88.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.63,642.25l8,0l0,-362.294", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4228.63,241.158l0,-5.685l-168.451,-0.299l4.887,0.008l0,407.068l-23.196,0l140.671,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4160.13,235.351l0,-12.621", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3216.3,1135l10.348,0l-5.018,0l-0,-899.649l5.477,0l-23.327,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3165.48,235.351l-186.856,0l0,899.649l218.001,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4775.02,288l-148.777,-0l4.19,-0l-0.067,130.798l5.052,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4675.13,418.798l56.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4586.88,288l-48.457,-0l5.207,-0l0,201", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,365.023l86.5,0.065", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4543.63,433.38l54.476,-0l0.16,8.138l0,-52.018", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4598.26,461.785l-0.136,27.215", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4558.88,622.5l0,-30.591l0,14.936l41.643,0.079l-0.079,10.901l66.663,-0l-13.916,-0l0,-128.325l-194.178,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4420.88,637l0,10.165l38.133,0l-0,-178.905l-157.011,-0l-0,179.24l44.325,0l-0,-10.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4346.38,617l0.025,-13.192l37.315,-0.235l-0.377,-135.313", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4421.03,616.625l-0.064,-12.926l-74.566,0.109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,239.25l4.674,-0l-0,-105.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4529.88,94l0,-9.5l20.662,-0l-20.662,-0l0.25,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4615.63,84.5l-25.999,-0l4.999,-0l0,-84.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4656.52,84.25l3.384,0l0,-83.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.01,647.165l99.45,0l0,-7.237", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4459.13,567.191l65.999,-0.128l0,54.768l0,-62.3", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4525.13,489l0,53.977", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4808.38,617.85l-44.723,0.16", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4743.13,617.85l-18.093,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4705.63,618.01l-17.935,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4360.63,468.067l0,-180.067l-4.8,-0l9.498,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4336.13,288.1l-34.134,-0l-0,141.301l32.686,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4302,359l58.577,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4405.13,288l94.191,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.89,234.699l-0.021,11.078l0.012,-6.277l67.252,0l-15.5,0l0,-101", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.86,213.705l-0,-75.205l-7.609,0l119.686,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.94,0.345l0,238.853l-5.317,-0.025l71.004,0.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4767.63,539.283l0,20.717l40.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.63,170.632l27.175,-0l-0,13.059l-0,-183.346", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4159.8,138.5l102.161,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-24.506,0l4.341,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3589.63,170.5l16.103,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3551.63,170.5l-138.99,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3476.94,170.5l-0,-64.5l-89.311,-0l0,64.5l5.331,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,50.149", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,508l95.313,-0l0,-5.217l0,10.007", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,5.893l0,-79.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,759.5l0,371.5l0,-7.955l-95.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1039l0,-18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1001l0,-616.527l0,3.027l-83.939,-0l0,37.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,463.614l0,471.386l0,-4.5l83.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.38,955.5l0,40l83.75,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1020l0,-635.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "First-Floor", + "name": "First-Floor", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMaxYMax", + "stroke": { + "linejoin": "bevel" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS03", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 105, + "width": 123, + "x": 9, + "y": 8 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS02", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 105, + "width": 124, + "x": 134, + "y": 8 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 0 + }, + "props": { + "style": { + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_01_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_SecondFloor/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_SecondFloor/resource.json new file mode 100644 index 0000000..b917119 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_SecondFloor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d07300eb2e684071377d110000473427bea3f10c8a1098967d52cb70220100ac", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-17T14:43:24Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_SecondFloor/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_SecondFloor/thumbnail.png new file mode 100644 index 0000000..2c2e453 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_SecondFloor/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_SecondFloor/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_SecondFloor/view.json new file mode 100644 index 0000000..e8ddaee --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wdg_DOAS_SecondFloor/view.json @@ -0,0 +1,4356 @@ +{ + "custom": { + "Available": [ + "SATB1_RF_DOAS01", + "SATB1_RF_DOAS02", + "SATB1_RF_DOAS03" + ], + "ColorHandler": { + "Walls": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "DOAS01": "#BAEDFF", + "DOAS02": "#BAEDFF", + "DOAS03": "#BAEDFF" + }, + "selected": "SATB1_RF_RTU00" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tshortName \u003d room.split(\"_\")\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\tsroom \u003d shortName[2]\n\t\toutput[sroom] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Second Floor" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[4].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[4].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[13].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[14].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[15].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[16].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[17].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[18].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[4].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[4].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[10].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[11].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[12].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[100].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[101].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[102].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[103].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[104].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[105].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[106].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[107].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[108].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[109].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[110].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[111].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[112].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[113].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[114].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[115].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[116].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[117].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[118].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[119].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[120].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[121].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[122].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[123].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[124].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[125].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[126].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[127].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[128].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[129].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[130].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[131].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[132].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[133].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[134].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[135].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[136].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[137].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[138].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[139].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[140].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[141].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[142].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[143].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[144].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[40].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[41].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[42].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[43].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[44].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[45].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[46].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[47].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[48].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[49].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[50].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[51].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[52].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[53].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[54].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[55].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[56].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[57].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[58].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[59].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[60].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[61].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[62].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[63].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[64].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[65].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[66].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[67].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[68].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[69].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[70].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[71].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[72].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[73].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[74].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[75].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[76].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[77].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[78].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[79].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[80].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[81].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[82].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[83].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[84].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[85].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[86].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[87].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[88].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[89].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[90].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[91].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[92].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[93].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[94].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[95].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[96].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[97].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[98].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[99].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + }, + "props.elements[7].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.Walls" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "51.095", + "id": "_1284-ELEC", + "name": "_1284-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "407.57" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "159", + "id": "_1285-FIRE---PLBG", + "name": "_1285-FIRE---PLBG", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "459" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "97.959", + "id": "_1286-STREAM-IDF", + "name": "_1286-STREAM-IDF", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "618" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "48.401", + "id": "_1287-ELEC", + "name": "_1287-ELEC", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "715.959" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "413.89", + "id": "_1288-ANCILLARY-SPACE", + "name": "_1288-ANCILLARY-SPACE", + "type": "rect", + "width": "95.5", + "x": "88.128", + "y": "764.36" + } + ], + "id": "Auxiliary", + "name": "Auxiliary", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "74.162", + "id": "_1290-STAIRS-C", + "name": "_1290-STAIRS-C", + "type": "rect", + "width": "203.609", + "x": "1515.79", + "y": "1178.24" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "73.034", + "id": "_1298-STAIRS-B", + "name": "_1298-STAIRS-B", + "type": "rect", + "width": "203.488", + "x": "3802.63", + "y": "1178.22" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "204.973", + "id": "_1283-STAIRS-D", + "name": "_1283-STAIRS-D", + "type": "rect", + "width": "85", + "x": "3.128", + "y": "359.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-2-CORRIDOR-D-2", + "name": "_1293-2-CORRIDOR-D-2", + "type": "rect", + "width": 1403, + "x": "88.378", + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297-2-CORRIDOR-H-2", + "name": "_1297-2-CORRIDOR-H-2", + "type": "rect", + "width": 1406.5, + "x": 1490, + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-CORRIDOR-D-1", + "name": "_1293-CORRIDOR-D-1", + "type": "rect", + "width": 1406.5, + "x": 1490, + "y": "170.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.652", + "id": "_1297-1-CORRIDOR-H-1", + "name": "_1297-1-CORRIDOR-H-1", + "type": "rect", + "width": 1480, + "x": 2895, + "y": "1134.59" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65", + "id": "_1293-1-CORRIDOR-C-1", + "name": "_1293-1-CORRIDOR-C-1", + "type": "rect", + "width": 1480, + "x": 2895, + "y": "170.5" + }, + { + "d": "M2894.63,1135l165.5,0l0,-119.139l-89.5,0.035l2.66,-626.222l86.84,-0.439l0,-46.294l-84.5,0.05l0.136,-107.491l-81.136,-0l0,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1294-CORRIDOR-E", + "name": "_1294-CORRIDOR-E", + "type": "path" + }, + { + "d": "M183.628,1135l63.25,0l0,-792.225l-84.75,0l0,-107.275l-74,0.1l0,171.9l95.5,0l0,727.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1296-CORRIDOR-G", + "name": "_1296-CORRIDOR-G", + "type": "path" + }, + { + "d": "M4372.13,641.334l0,94.166l105.352,0l-0,-27.647l107.148,-0l0,-66.519l-99.279,0.357l0.16,-34.158l-74.688,-0.533l-0,34.334l-38.693,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1290-CORRIDOR-A", + "name": "_1290-CORRIDOR-A", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "899.084", + "id": "_1291-CORRIDOR-B", + "name": "_1291-CORRIDOR-B", + "type": "rect", + "width": "64.5", + "x": "4307.63", + "y": "235.5" + }, + { + "d": "M1488.64,1135l164.992,0l0,-120.965l-89.5,0l0,-626.5l89.5,0l0,-44.535l-84.25,-0.059l-0.189,-107.441l-80.561,-0l0.008,899.5Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1295-CORRIDOR-F", + "name": "_1295-CORRIDOR-F", + "type": "path" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "43.25", + "id": "_1297--1-CORRIDOR-H-1", + "name": "_1297--1-CORRIDOR-H-1", + "type": "rect", + "width": 1305, + "x": "184.128", + "y": "1135" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1223-STAIRS-A", + "name": "_1223-STAIRS-A", + "type": "rect", + "width": "58.258", + "x": "4477.13", + "y": "707.853" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "UNKNOWN", + "name": "UNKNOWN", + "type": "rect", + "width": "50", + "x": "4373.13", + "y": "735.5" + } + ], + "id": "Corridors-and-Stairs", + "name": "Corridors-and-Stairs", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.24", + "id": "_1274-STREAM-IDF", + "name": "_1274-STREAM-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "948.76" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "561.225", + "id": "_1273-TENANT-IDF", + "name": "_1273-TENANT-IDF", + "type": "rect", + "width": "89.5", + "x": "1564.13", + "y": "387.535" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1271-GALLERY", + "name": "_1271-GALLERY", + "type": "rect", + "width": "1325.56", + "x": "1569.06", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1272-GALLERY", + "name": "_1272-GALLERY", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.245", + "id": "_1270-DATA-HALL-2", + "name": "_1270-DATA-HALL-2", + "type": "rect", + "width": "1241", + "x": "1653.63", + "y": "342.941" + } + ], + "id": "DH2", + "name": "DH2", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "66.58", + "id": "_1264-STREAM-IDF", + "name": "_1264-STREAM-IDF", + "type": "rect", + "width": "88.5", + "x": "2971.13", + "y": "389.603" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "559.317", + "id": "_1263-TENANT-IDF", + "name": "_1263-TENANT-IDF", + "type": "rect", + "width": "89", + "x": "2971.13", + "y": 456.183 + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1261-GALLERY", + "name": "_1261-GALLERY", + "type": "rect", + "width": "1331.87", + "x": "2975.76", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1262-GALLERY-", + "name": "_1262-GALLERY-", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1260-DATAHALL---1", + "name": "_1260-DATAHALL---1", + "type": "rect", + "width": "1247.5", + "x": "3060.13", + "y": "342.775" + } + ], + "id": "DH1", + "name": "DH1", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1257-ER", + "name": "_1257-ER", + "type": "rect", + "width": "231.631", + "x": "329.128", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "169.655", + "id": "_1258-ER", + "name": "_1258-ER", + "type": "rect", + "width": "240.75", + "x": "88.378", + "y": "0.845" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1256-ER", + "name": "_1256-ER", + "type": "rect", + "width": "232.369", + "x": "560.759", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.5", + "id": "_1255-ER", + "name": "_1255-ER", + "type": "rect", + "width": "231.771", + "x": "793.128", + "y": "0" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1254-ER", + "name": "_1254-ER", + "type": "rect", + "width": "233.733", + "x": "1024.9", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1253-MEP-ROOM", + "name": "_1253-MEP-ROOM", + "type": "rect", + "width": "237.71", + "x": "1258.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1252-ER", + "name": "_1252-ER", + "type": "rect", + "width": "238.786", + "x": "1496.34", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1251-ER", + "name": "_1251-ER", + "type": "rect", + "width": "232.058", + "x": "1735.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1250-ER", + "name": "_1250-ER", + "type": "rect", + "width": "232.442", + "x": "1967.19", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1249-ER", + "name": "_1249-ER", + "type": "rect", + "width": "232.5", + "x": "2199.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1248-ER", + "name": "_1248-ER", + "type": "rect", + "width": "231.642", + "x": "2432.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.155", + "id": "_1247-ER", + "name": "_1247-ER", + "type": "rect", + "width": "239.226", + "x": "2663.77", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1246-ER", + "name": "_1246-ER", + "type": "rect", + "width": "238.331", + "x": "2903", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1245-ER", + "name": "_1245-ER", + "type": "rect", + "width": "232.897", + "x": "3141.33", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1244-ER", + "name": "_1244-ER", + "type": "rect", + "width": "231.5", + "x": "3374.22", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1243-ER", + "name": "_1243-ER", + "type": "rect", + "width": "231.5", + "x": "3606.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1242-ER", + "name": "_1242-ER", + "type": "rect", + "width": "231.5", + "x": "3838.63", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1241-MECH-POWER", + "name": "_1241-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4070.13", + "y": "0.345" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "170.19", + "id": "_1240-MECH-POWER", + "name": "_1240-MECH-POWER", + "type": "rect", + "width": "231.5", + "x": "4301.63", + "y": "0.345" + } + ], + "id": "Elec-Mech-Rooms", + "name": "Elec-Mech-Rooms", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1218-STREAM-IDF", + "name": "_1218-STREAM-IDF", + "type": "rect", + "width": "90.036", + "x": "4372.13", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "65.456", + "id": "_1179-Space", + "name": "_1179-Space", + "type": "rect", + "width": "61.464", + "x": "4462.16", + "y": "403.044" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "116", + "id": "_1229-ELEC", + "name": "_1229-ELEC", + "type": "rect", + "width": "62", + "x": "4372.13", + "y": "817" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1230-FREIGHT", + "name": "_1230-FREIGHT", + "type": "rect", + "width": "101", + "x": "4434.13", + "y": "815.754" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "91.008", + "id": "_132-PLBG-FP", + "name": "_132-PLBG-FP", + "type": "rect", + "width": "132", + "x": "4372.13", + "y": "1087.08" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "74.548", + "id": "_1292-VESTIBULE", + "name": "_1292-VESTIBULE", + "type": "rect", + "width": "217.056", + "x": "4419.07", + "y": "933" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "117.246", + "id": "_1232-FREIGHT", + "name": "_1232-FREIGHT", + "type": "rect", + "width": "101", + "x": "4535.13", + "y": "816.127" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "80.254", + "id": "_1225-PASS", + "name": "_1225-PASS", + "type": "rect", + "width": "54", + "x": "4423.13", + "y": "735.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "107.901", + "id": "_1219-DAS", + "name": "_1219-DAS", + "type": "rect", + "width": "49.241", + "x": "4535.39", + "y": "707.853" + }, + { + "d": "M4372.43,468.5l-0.3,173.191l38.714,0.309l0.316,-35.019l37.175,-0l0,-138.481l-75.905,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1222-WRR", + "name": "_1222-WRR", + "type": "path" + }, + { + "d": "M4372.13,1087.5l0,-154.225l46.944,-0.275l0,74.548l85.056,0l0,79.952l-132,-0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1233-RECEIVING", + "name": "_1233-RECEIVING", + "type": "path" + }, + { + "d": "M4523.33,468.5l0.297,173.191l-38.252,0.309l0.132,-34.62l-37.176,-0.399l0,-138.481l74.999,0Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1221-MRR", + "name": "_1221-MRR", + "type": "path" + }, + { + "d": "M4372.13,170.944l161.521,-0.409l-0,-170.19l241.055,0l-0.026,417.527l33.233,0.171l-0,368.658l-33.257,-0.446l-0.026,393.745l-270.392,-1.913l0.071,-169.285l131.771,1.464l0,-192.326l-51.45,-3.725l0,-174.843l-60.43,-0.041l-1.014,-234.56l-151.056,-2.093l0,-231.734Z", + "fill": { + "opacity": "0.5" + }, + "id": "_1200-TENANT-OFFICE-SHELL", + "name": "_1200-TENANT-OFFICE-SHELL", + "type": "path" + } + ], + "id": "Offices", + "name": "Offices", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0.5" + }, + "height": "107.441", + "id": "_1281-GALLERY", + "name": "_1281-GALLERY", + "type": "rect", + "width": "1326.5", + "x": "162.128", + "y": "235.5" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "70.814", + "id": "_1282-GALLERY", + "name": "_1282-GALLERY", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "1064.19" + }, + { + "fill": { + "opacity": "0.5" + }, + "height": "721.41", + "id": "_1280-DATA-HALL-4", + "name": "_1280-DATA-HALL-4", + "type": "rect", + "width": "1241.75", + "x": "246.878", + "y": "342.775" + } + ], + "id": "DH4", + "name": "DH4", + "type": "group" + }, + { + "elements": [ + { + "d": "M1523.63,1178.25l-1435.31,0l-0,-783.625", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.378,373.5l0,-373.155l4686.69,0l0,417.967l-4.43,-0l37.277,-0l-0,368.223l-33.283,0l0,391.5l-787.5,0.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3967.13,1178.09l-2264.08,0.15", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1680.63,1178.24l-157,0.01", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1178.25l-0,73.004l203.666,-0l0,-73.004", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,564.473l-86.687,0l0,-205.516l86.75,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.35,1178.25l-0,73.285l203.568,0l-0,-73.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4129.13,170.306l133,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,978.886l0,36.649l-88.5,0l0,-626.3l4.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3014.13,389.235l45.5,-0l0,100.077", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.63,527.535l0,413", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2971.13,456.183l88.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4094.63,170.75l-44,0l20.397,0l-0,-170.75", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4317.63,170.306l-35.5,-0.021l20.397,0.021l-0,-169.961l-1399.13,0l0.04,170.19", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4030.63,170.75l-134,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3858.63,170.75l-41,0l20.835,0l-0,-170.405", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3795.63,170.75l-140.236,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3586.39,170.5l40.213,-0l-20.874,-0l0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3565.92,170.5l-153.279,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3374.13,0.035l-0.25,170.465l19.081,-0l-208.189,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3135.63,170.5l11.128,-0l-5.229,-0l-0,-170.155", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3097.63,170.25l-363.484,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2696.13,170.25l-52,0.25l20.398,-0.25l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2624.13,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2391.63,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2158.43,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1926.89,170.25l-133,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1446.03,170.25l-128.859,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1217.63,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M985.012,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M753.042,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M520.749,170.25l-133.5,0.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M288.681,170.236l-141.167,0.264", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M108.577,170.462l-20.449,0.038", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1694.63,170.258l-129,0.242", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2411.5,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2179.08,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1946.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1714.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1465.69,170.25l61.191,0l-30.391,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1237.58,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1004.35,170.25l41.101,0l-20.132,0l0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M772.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M540.209,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M308.578,170.25l41.101,0l-20.132,0l-0,-169.905", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,407.5l95.313,0l0,5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.315,458.762l95.313,-0l0,-26.411l0,90.184", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,617.701l95.5,0l0,4.071l0,-70.223", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M88.128,715.734l95.5,0l0,24.301l0,-97.908", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M183.628,956.535l0,220.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.13,1130l0,5l1241.76,0l-0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3059.7,1130l-0,5l1247.92,0l0,-5.438", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1091.5l0,-32.5l0,4.798l-1241.75,-0l0,-4.798l0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1091.5l0,-32.5l0,4.798l-1247.92,-0l-0,-4.798l-0,32.5", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M162.128,279.882l0,-44.382l1326.5,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1569.19,279.882l0,-44.382l1325.44,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2975.76,279.882l-0,-44.382l1331.86,-0l0,45", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,319l0,23.775l-1326.5,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.63,319.166l0,23.775l-1325.25,0l0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,319.166l0,23.775l-1331.67,0l-0,-23.775", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M246.878,1021l0,-635", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,384.473l0,616.527", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1488.63,1021l0,18", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,1021.17l0,-559.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1653.63,423.535l0,-36l-89.5,0l0,575l0,-13.648l89.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1564.13,974.035l0,40l89.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2894.88,1017.79l0,-633.291", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4307.63,1020l0,-677.059", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1515.79,1188.5l127.771,0.041l0,62.713l0,-28.254l-100.008,-0l-0,-8.248l100.008,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1189.03l-0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1543.55,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1553.48,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1565.09,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1223l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1576.29,1188.4l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1587.82,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1598.85,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1610.98,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1621.07,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1632.6,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.434,559.693l0.057,-127.771l86.824,-0l-39.117,-0l0,100.008l-11.419,0l0,-100.008", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2.164,531.93l35.62,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,531.93l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,522.007l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,522.007l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,510.388l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,510.388l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,499.193l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,499.193l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M49.198,487.659l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1.292,487.659l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,476.633l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,476.633l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,464.506l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,464.506l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,454.413l39.116,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,454.413l39.117,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M47.907,442.879l39.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M0,442.879l39.117,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3802.63,1188.4l127,-0.399l0.772,63.254l-0,-28.254l-100.009,-0l0,-8.248l100.009,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1189.03l0,25.728", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3830.39,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.31,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3851.93,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3863.13,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1223l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3874.66,1188.4l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3885.69,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1222.07l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3897.82,1187.46l-0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.91,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1222.07l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3919.44,1187.46l0,28.254", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M184.128,918.535l0,-159l0,5l-96,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4533.65,0.345l-0,170.19l-176.861,0l15.34,0l0,109", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,298.432l0,109.5l0,-5.038l151.68,0l-0,238.345l-38.283,-0l0,-4.417l0,4.417l99.103,-0l0,4.785", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4584.63,667.425l0,149.11l51.45,0l0,136.168l0,-20.246l-8.65,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4636.08,972.948l0,34.587l-145.952,0l13.62,0l0,170.552", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1178.09l0,-22.052", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1117.98l0,-50.944l0,20.024l131.228,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.52,1010.86l0,-37.914", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4433.13,1007.78l-14,0l0,-34.837", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.38,953.035l0.14,-25.363l0,5.363l71.412,0l-9.032,0l-0.439,-116.588l-11.395,-0.077l-0.116,-80.663l-19.82,0l36.569,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4381.72,735.785l-9.343,-0.25l0,172l0,-91.03l212.25,-0.24", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4476.97,817.035l0.655,-81.5l-10.409,0l10.409,0l0,-27.682l4.315,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4502.13,707.853l57.115,-0l-23.559,-0l0,225.182l-9.557,0l15.999,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4419.13,953.035l0,-20", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4410.88,637.035l-0,4.656l-38.448,0l0,-213.533", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4372.43,468.395l151.811,-0.471", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4461.67,468.395l-0.188,-64.361", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4448.33,467.924l-0.495,139.076l37.671,0.035l-0,9.778l-0,-9.778l-74.351,0l0,9.873", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Second-Floor-Walls", + "name": "Second-Floor-Walls", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "xMinYMin", + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4809 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS03", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 104, + "width": 124, + "x": 9, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent", + "classes": "containers/HoverOver" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS02", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 104, + "width": 124, + "x": 134, + "y": 1 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS01", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 105, + "width": 146, + "x": 259 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "overflow": "hidden", + "paddingBottom": 1, + "paddingLeft": 1, + "paddingRight": 1, + "paddingTop": 1 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_02_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wgt_DOAS_Roof/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wgt_DOAS_Roof/resource.json new file mode 100644 index 0000000..f73f11a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wgt_DOAS_Roof/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "aee24d01a8ce9afeaacdec596f77f6ae6a486c4230765b4ad8121ab1ad9a018a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-17T14:43:18Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wgt_DOAS_Roof/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wgt_DOAS_Roof/thumbnail.png new file mode 100644 index 0000000..cf93632 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wgt_DOAS_Roof/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wgt_DOAS_Roof/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wgt_DOAS_Roof/view.json new file mode 100644 index 0000000..acec24f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Layouts/Wgt_DOAS_Roof/view.json @@ -0,0 +1,12214 @@ +{ + "custom": { + "Available": [ + "SATB1_RF_DOAS01", + "SATB1_RF_DOAS02", + "SATB1_RF_DOAS03" + ], + "ColorHandler": { + "Walls": "black", + "available": "#BAEDFF", + "background": "lightgray", + "selected": "#FFBABD" + }, + "roomColors": { + "DOAS01": "#BAEDFF", + "DOAS02": "#BAEDFF", + "DOAS03": "#BAEDFF" + }, + "selected": "doas" + }, + "params": {}, + "propConfig": { + "custom.Available": { + "persistent": true + }, + "custom.ColorHandler": { + "persistent": true + }, + "custom.roomColors": { + "binding": { + "config": { + "struct": { + "rooms": "{view.custom.Available}", + "selected": "{view.custom.selected}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\"rooms\"]\n\tselected \u003d value[\"selected\"]\n\toutput \u003d {}\n\tfor room in rooms:\n\t\tshortName \u003d room.split(\"_\")\n\t\tif room \u003d\u003d selected:\n\t\t\tcolor \u003d self.custom.ColorHandler.selected\n\t\telse:\n\t\t\tcolor \u003d self.custom.ColorHandler.available\n\t\tsroom \u003d shortName[2]\n\t\toutput[sroom] \u003d color\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selected": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 120, + "width": 430 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Roof" + }, + "position": { + "height": 120, + "width": 430 + }, + "propConfig": { + "props.elements[1].elements[0].elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS03" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS02" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[2].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.roomColors.DOAS01" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].elements[0].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].elements[1].elements[0].fill.paint": { + "binding": { + "config": { + "path": "view.custom.ColorHandler.background" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#ddd" + }, + "height": "1179.52", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "4682.44", + "x": "93.184", + "y": "37.323" + }, + { + "fill": { + "paint": "#ddd" + }, + "height": "215.988", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "96.472", + "x": "-3.288", + "y": "397.273" + }, + { + "fill": { + "paint": "#bababa" + }, + "height": "816.391", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "2336.13", + "x": "1968.11", + "y": "218.315" + } + ], + "id": "Roof-Walls", + "name": "Roof-Walls", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "190.416", + "id": "Box", + "name": "Box", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "73.532", + "x": "180.308", + "y": "660.106" + }, + { + "elements": [ + { + "d": "M180.308,678.073l73.532,0l-0,17.932l-73.532,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M180.308,820.351l73.532,0l-0,12.841l-73.532,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "cx": "187.599", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "207.085", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "226.899", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "246.548", + "cy": "685.998", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "7.292", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DOAS03", + "name": "DOAS03", + "type": "group" + }, + { + "elements": [ + { + "d": "M1526.99,369.429l190.416,-0l-0,73.532l-190.416,0l-0,-73.532Z", + "fill": {}, + "id": "Box1", + "name": "Box1", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M1544.96,442.961l0,-73.532l17.932,-0l0,73.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1687.24,442.961l0,-73.532l12.842,-0l-0,73.532", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,435.67c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,-0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,416.184c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,396.37c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1545.59,376.721c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,-0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DOAS02", + "name": "DOAS02", + "type": "group" + }, + { + "elements": [ + { + "fill": {}, + "height": "50.588", + "id": "Box2", + "name": "Box2", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "120.896", + "x": "4486.23", + "y": "209.765" + }, + { + "elements": [ + { + "cx": "4512.07", + "cy": "224.469", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4512.07", + "cy": "245.298", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4534.29", + "cy": "224.469", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4534.29", + "cy": "245.298", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4556.51", + "cy": "224.469", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4556.51", + "cy": "245.298", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "50.588", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "75.925", + "x": "4496.9", + "y": "209.765" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DOAS01", + "name": "DOAS01", + "type": "group" + } + ], + "id": "DOAS", + "name": "DOAS", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX", + "name": "BOX", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2073.88,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH48", + "name": "CH48", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX1", + "name": "BOX1", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2073.88,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH47", + "name": "CH47", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX2", + "name": "BOX2", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2073.88,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH46", + "name": "CH46", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX3", + "name": "BOX3", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2073.88,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH45", + "name": "CH45", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX4", + "name": "BOX4", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2073.88,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH44", + "name": "CH44", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX5", + "name": "BOX5", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2056.03", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2073.88,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2073.88,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2096.05,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2118.23,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2140.4,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2162.57,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2184.74,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2206.92,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2229.09,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2068.69,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH43", + "name": "CH43", + "type": "group" + } + ], + "id": "Lineup08", + "name": "Lineup08", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX6", + "name": "BOX6", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2498.03,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,273.653c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,294.92c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH42", + "name": "CH42", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX7", + "name": "BOX7", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2498.03,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,411.323c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,432.59c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH41", + "name": "CH41", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX8", + "name": "BOX8", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2498.03,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,547.303c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,568.57c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH40", + "name": "CH40", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX9", + "name": "BOX9", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2498.03,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,684.819c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,706.086c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH39", + "name": "CH39", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX10", + "name": "BOX10", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2498.03,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,823.104c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,844.371c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH38", + "name": "CH38", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX11", + "name": "BOX11", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2323.3", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2498.03,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2498.03,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2475.86,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2453.68,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2431.51,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2409.34,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2387.17,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,959.852c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2364.99,981.119c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2342.82,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2503.22,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH37", + "name": "CH37", + "type": "group" + } + ], + "id": "Lineup07", + "name": "Lineup07", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX12", + "name": "BOX12", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2655.74,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH36", + "name": "CH36", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX13", + "name": "BOX13", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2655.74,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH35", + "name": "CH35", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX14", + "name": "BOX14", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2655.74,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH34", + "name": "CH34", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX15", + "name": "BOX15", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2655.74,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH33", + "name": "CH33", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX16", + "name": "BOX16", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2655.74,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH32", + "name": "CH32", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX17", + "name": "BOX17", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2637.89", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2655.74,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2655.74,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2677.91,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2700.08,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2722.26,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2744.43,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2766.6,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2788.77,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2810.95,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2650.54,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH31", + "name": "CH31", + "type": "group" + } + ], + "id": "Lineup06", + "name": "Lineup06", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX18", + "name": "BOX18", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M2929.8,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,308.328l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH30", + "name": "CH30", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX19", + "name": "BOX19", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M2929.8,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,445.998l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH29", + "name": "CH29", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX20", + "name": "BOX20", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M2929.8,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,581.978l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH28", + "name": "CH28", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX21", + "name": "BOX21", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M2929.8,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,719.494l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH27", + "name": "CH27", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX22", + "name": "BOX22", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M2929.8,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,857.779l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH26", + "name": "CH26", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX23", + "name": "BOX23", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "2911.95", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M2929.8,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2929.8,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2951.97,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2974.15,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2996.32,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3018.49,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3040.66,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3062.84,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3085.01,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2924.61,994.527l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH25", + "name": "CH25", + "type": "group" + } + ], + "id": "Lineup05", + "name": "Lineup05", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX24", + "name": "BOX24", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M3237.92,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,273.653c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,294.92c-0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.267 7.291,7.292c0,4.024 -3.267,7.291 -7.291,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH24", + "name": "CH24", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX25", + "name": "BOX25", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M3237.92,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,411.323c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,432.59c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH23", + "name": "CH23", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX26", + "name": "BOX26", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M3237.92,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,547.303c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,568.57c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.024 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH22", + "name": "CH22", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX27", + "name": "BOX27", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M3237.92,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,684.819c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,706.086c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH21", + "name": "CH21", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX28", + "name": "BOX28", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M3237.92,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,823.104c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,844.371c-0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.291,3.268 7.291,7.292c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH20", + "name": "CH20", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX29", + "name": "BOX29", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3220.07", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M3237.92,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3237.92,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3260.09,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3282.27,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3304.44,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3326.61,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3348.78,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3370.96,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,959.852c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3393.13,981.119c-0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.291,3.267 7.291,7.291c0,4.025 -3.267,7.292 -7.291,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3232.72,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH19", + "name": "CH19", + "type": "group" + } + ], + "id": "Lineup04", + "name": "Lineup04", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX30", + "name": "BOX30", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M3660.64,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,308.328l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH18", + "name": "CH18", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX31", + "name": "BOX31", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M3660.64,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,445.998l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH17", + "name": "CH17", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX32", + "name": "BOX32", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M3660.64,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,581.978l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH16", + "name": "CH16", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX33", + "name": "BOX33", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M3660.64,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,719.494l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH15", + "name": "CH15", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX34", + "name": "BOX34", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M3660.64,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,857.779l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH14", + "name": "CH14", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX35", + "name": "BOX35", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3485.91", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M3660.64,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3660.64,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3638.47,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3616.3,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3594.13,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3571.95,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3549.78,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3527.61,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3505.44,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3665.84,994.527l0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH13", + "name": "CH13", + "type": "group" + } + ], + "id": "Lineup03", + "name": "Lineup03", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX36", + "name": "BOX36", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M3818.47,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c-0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,273.653c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,294.92c0,-4.025 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.025,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,273.653c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,294.92c-0,-4.025 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.267 7.292,7.292c0,4.024 -3.267,7.291 -7.292,7.291c-4.024,0 -7.291,-3.267 -7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,273.653c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,294.92c0,-4.025 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.267 7.292,7.292c-0,4.024 -3.268,7.291 -7.292,7.291c-4.024,0 -7.292,-3.267 -7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,308.328l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH12", + "name": "CH12", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX37", + "name": "BOX37", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M3818.47,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,411.323c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,432.59c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,411.323c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,432.59c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,411.323c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,432.59c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,445.998l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH11", + "name": "CH11", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX38", + "name": "BOX38", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M3818.47,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,547.303c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,568.57c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,547.303c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,568.57c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.024 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.268 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,547.303c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,568.57c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.024 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.268 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,581.978l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH10", + "name": "CH10", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX39", + "name": "BOX39", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M3818.47,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,684.819c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,706.086c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,684.819c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,706.086c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,684.819c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,706.086c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,719.494l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH09", + "name": "CH09", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX40", + "name": "BOX40", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M3818.47,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,823.104c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,844.371c0,-4.024 3.267,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,823.104c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,844.371c-0,-4.024 3.267,-7.292 7.291,-7.292c4.025,0 7.292,3.268 7.292,7.292c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,-0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,823.104c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,844.371c0,-4.024 3.268,-7.292 7.292,-7.292c4.024,0 7.292,3.268 7.292,7.292c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,-0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,857.779l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH08", + "name": "CH08", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX41", + "name": "BOX41", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "3800.62", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M3818.47,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3818.47,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,959.852c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3840.64,981.119c0,-4.024 3.267,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.025,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3862.81,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3884.98,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3907.16,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3929.33,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,959.852c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3951.5,981.119c-0,-4.024 3.267,-7.291 7.291,-7.291c4.025,-0 7.292,3.267 7.292,7.291c0,4.025 -3.267,7.292 -7.292,7.292c-4.024,0 -7.291,-3.267 -7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,959.852c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3973.67,981.119c0,-4.024 3.268,-7.291 7.292,-7.291c4.024,-0 7.292,3.267 7.292,7.291c-0,4.025 -3.268,7.292 -7.292,7.292c-4.024,0 -7.292,-3.267 -7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3813.27,994.527l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH07", + "name": "CH07", + "type": "group" + } + ], + "id": "Lineup02", + "name": "Lineup02", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX42", + "name": "BOX42", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "262.275" + }, + { + "elements": [ + { + "d": "M4242.99,273.653c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,294.92c-0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,273.653c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,294.92c0,-4.025 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.267 -7.292,7.292c-0,4.024 3.267,7.291 7.292,7.291c4.024,0 7.291,-3.267 7.291,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,273.653c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,294.92c-0,-4.025 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.267 -7.292,7.292c0,4.024 3.268,7.291 7.292,7.291c4.024,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,273.653c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,294.92c0,-4.025 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.267 -7.291,7.292c-0,4.024 3.267,7.291 7.291,7.291c4.025,0 7.292,-3.267 7.292,-7.291Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,308.328l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH06", + "name": "CH06", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX43", + "name": "BOX43", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "399.945" + }, + { + "elements": [ + { + "d": "M4242.99,411.323c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,432.59c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,411.323c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,432.59c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,411.323c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,432.59c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,411.323c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,432.59c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,445.998l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH05", + "name": "CH05", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX44", + "name": "BOX44", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "535.925" + }, + { + "elements": [ + { + "d": "M4242.99,547.303c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,568.57c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,547.303c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,568.57c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.024 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.268 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,547.303c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,568.57c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.024 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,547.303c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,568.57c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.024 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.268 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,581.978l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH04", + "name": "CH04", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX45", + "name": "BOX45", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "673.441" + }, + { + "elements": [ + { + "d": "M4242.99,684.819c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,706.086c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,684.819c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,706.086c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,684.819c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,706.086c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,684.819c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,706.086c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,719.494l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH03", + "name": "CH03", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX46", + "name": "BOX46", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "811.726" + }, + { + "elements": [ + { + "d": "M4242.99,823.104c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,844.371c-0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,823.104c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,844.371c0,-4.024 -3.267,-7.292 -7.291,-7.292c-4.025,0 -7.292,3.268 -7.292,7.292c-0,4.025 3.267,7.292 7.292,7.292c4.024,-0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,823.104c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,844.371c-0,-4.024 -3.268,-7.292 -7.292,-7.292c-4.024,0 -7.292,3.268 -7.292,7.292c0,4.025 3.268,7.292 7.292,7.292c4.024,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,823.104c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,844.371c0,-4.024 -3.267,-7.292 -7.292,-7.292c-4.024,0 -7.291,3.268 -7.291,7.292c-0,4.025 3.267,7.292 7.291,7.292c4.025,-0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,857.779l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH02", + "name": "CH02", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#beffde" + }, + "height": "46.053", + "id": "BOX47", + "name": "BOX47", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "192.584", + "x": "4068.26", + "y": "948.474" + }, + { + "elements": [ + { + "d": "M4242.99,959.852c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4242.99,981.119c-0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4220.82,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4198.64,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4176.47,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4154.3,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,959.852c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4132.13,981.119c0,-4.024 -3.267,-7.291 -7.291,-7.291c-4.025,-0 -7.292,3.267 -7.292,7.291c-0,4.025 3.267,7.292 7.292,7.292c4.024,0 7.291,-3.267 7.291,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,959.852c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4109.95,981.119c-0,-4.024 -3.268,-7.291 -7.292,-7.291c-4.024,-0 -7.292,3.267 -7.292,7.291c0,4.025 3.268,7.292 7.292,7.292c4.024,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,959.852c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4087.78,981.119c0,-4.024 -3.267,-7.291 -7.292,-7.291c-4.024,-0 -7.291,3.267 -7.291,7.291c-0,4.025 3.267,7.292 7.291,7.292c4.025,0 7.292,-3.267 7.292,-7.292Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4248.19,994.527l-0,-46.053", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "CH01", + "name": "CH01", + "type": "group" + } + ], + "id": "Lineup01", + "name": "Lineup01", + "type": "group" + } + ], + "id": "Chillers", + "name": "Chillers", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": {}, + "height": "210.644", + "id": "Box3", + "name": "Box3", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "81.344", + "x": "4566.82", + "y": "361.949" + }, + { + "elements": [ + { + "d": "M4648.17,552.716l-81.343,0l-0,-19.836l81.343,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4648.17,530.268l-81.343,0l-0,-19.837l81.343,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4648.17,395.325l-81.343,-0l-0,-14.206l81.343,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "cx": "4640.1", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4640.1", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4618.55", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4618.55", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4596.63", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4596.63", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4574.89", + "cy": "543.95", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + }, + { + "cx": "4574.89", + "cy": "520.35", + "fill": { + "paint": "transparent" + }, + "name": "circle", + "r": "8.066", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "circle" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "RTU01", + "name": "RTU01", + "type": "group" + }, + { + "elements": [ + { + "d": "M4609.27,634.973l50.588,-0l-0,98.743l-50.588,-0l-0,-98.743Z", + "fill": {}, + "id": "Box4", + "name": "Box4", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M4632.04,707.872c-0,4.452 -3.615,8.066 -8.067,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.067,3.614 8.067,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4652.87,707.872c0,4.452 -3.614,8.066 -8.066,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c-0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.066,3.614 8.066,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4632.04,685.651c-0,4.452 -3.615,8.067 -8.067,8.067c-4.452,-0 -8.066,-3.615 -8.066,-8.067c0,-4.451 3.614,-8.066 8.066,-8.066c4.452,0 8.067,3.615 8.067,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4652.87,685.651c0,4.452 -3.614,8.067 -8.066,8.067c-4.452,-0 -8.066,-3.615 -8.066,-8.067c-0,-4.451 3.614,-8.066 8.066,-8.066c4.452,0 8.066,3.615 8.066,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4632.04,663.431c-0,4.452 -3.615,8.066 -8.067,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.067,3.614 8.067,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4652.87,663.431c0,4.452 -3.614,8.066 -8.066,8.066c-4.452,0 -8.066,-3.614 -8.066,-8.066c-0,-4.452 3.614,-8.066 8.066,-8.066c4.452,-0 8.066,3.614 8.066,8.066Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4609.27,647.122l50.588,0l-0,75.925l-50.588,0l-0,-75.925Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "RTU02", + "name": "RTU02", + "type": "group" + } + ], + "id": "RTU", + "name": "RTU", + "type": "group" + } + ], + "id": "Roof-equipment", + "name": "Roof-equipment", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4813 1255" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS01", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 13, + "width": 23, + "x": 397, + "y": 19 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS02", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 21, + "width": 30, + "x": 132, + "y": 32 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "room": "MMR1120" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpayload \u003d {\"Room\":self.meta.name}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SATB1_RF_DOAS03", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 27, + "width": 14, + "x": 12, + "y": 58 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "transparent" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 13, + "y": 0 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "layout_03_Update", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selected \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/CH_Control/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/CH_Control/resource.json new file mode 100644 index 0000000..f6b737e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/CH_Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d5b302022a1db909db138b1f36467fe3a5c810e0acce649a5382b7b438c66bc7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:31:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/CH_Control/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/CH_Control/thumbnail.png new file mode 100644 index 0000000..43aaed2 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/CH_Control/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/CH_Control/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/CH_Control/view.json new file mode 100644 index 0000000..950a9c3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/CH_Control/view.json @@ -0,0 +1,83 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 75, + "width": 150 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Button" + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginLeft": 3, + "marginRight": 3, + "marginTop": 3 + }, + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "children": [ + { + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "80px" + }, + "props": { + "primary": false, + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Button_1" + }, + "position": { + "basis": "80px" + }, + "props": { + "primary": false, + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "style": { + "marginBottom": 3, + "marginLeft": 3, + "marginRight": 3, + "marginTop": 3 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP v2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP v2/resource.json new file mode 100644 index 0000000..69c49a2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP v2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "623e48b2aa26b2f79eb998f1a4f98bb32eca4f6e085af7f3b4c7accadbef38da", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:31:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP v2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP v2/thumbnail.png new file mode 100644 index 0000000..d73d6be Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP v2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP v2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP v2/view.json new file mode 100644 index 0000000..42e7a28 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP v2/view.json @@ -0,0 +1,105 @@ +{ + "custom": {}, + "params": { + "ch": 1, + "current_op": 2, + "new_op": 2 + }, + "propConfig": { + "params.ch": { + "paramDirection": "input", + "persistent": true + }, + "params.current_op": { + "paramDirection": "input", + "persistent": true + }, + "params.new_op": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 75, + "width": 75 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "ch": "{view.params.ch}", + "val": "{view.params.current_op}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\ttitle \u003d \"CH{:02d}\".format(value[\u0027ch\u0027]) + \" - \" + \"{:02d}\".format(value[\u0027val\u0027])\n\treturn title", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "type": "ia.display.label" + }, + { + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.new_op \u003d self.view.params.current_op" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.new_op" + }, + "type": "property" + } + } + }, + "props": { + "inputBounds": { + "maximum": 48, + "minimum": 0 + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP/resource.json new file mode 100644 index 0000000..0a7758a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fa29569b7fcc0d6948525816a35455e2b364b03f96e28f9faed10787894e1f2b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:31:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP/thumbnail.png new file mode 100644 index 0000000..439ae61 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP/view.json new file mode 100644 index 0000000..19281d4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/ChillerOP/view.json @@ -0,0 +1,94 @@ +{ + "custom": {}, + "params": { + "ch": "", + "current_op": "", + "new_op": "" + }, + "propConfig": { + "params.ch": { + "paramDirection": "input", + "persistent": true + }, + "params.current_op": { + "paramDirection": "input", + "persistent": true + }, + "params.new_op": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 75, + "width": 75 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "ch": "{view.params.ch}", + "val": "{view.params.current_op}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\ttitle \u003d \"CH{:02d}\".format(value[\u0027ch\u0027]) + \" - \" + \"{:02d}\".format(value[\u0027val\u0027])\n\treturn title", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.new_op" + }, + "type": "property" + } + } + }, + "props": { + "inputBounds": { + "maximum": 48, + "minimum": 0 + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority v2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority v2/resource.json new file mode 100644 index 0000000..c00e8ce --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority v2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7f5495298f95dfd34ae7075b19491e00ccefba5008eaabb1c065b987f95a15b2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:31:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority v2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority v2/thumbnail.png new file mode 100644 index 0000000..f93ca5a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority v2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority v2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority v2/view.json new file mode 100644 index 0000000..e754fa5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority v2/view.json @@ -0,0 +1,1737 @@ +{ + "custom": { + "data": [ + 0, + 19, + 14, + 5, + 13, + 12, + 6, + 7, + 8, + 18, + 9, + 10, + 36, + 35, + 20, + 0, + 0, + 17, + 22, + 21, + 11, + 34, + 15, + 16, + 0, + 0, + 23, + 24, + 25, + 26, + 0, + 0, + 0, + 29, + 28, + 27, + 33, + 32, + 31, + 30, + 0, + 0, + 3, + 2, + 0, + 4, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "new": [ + 40, + 21, + 16, + 7, + 15, + 14, + 8, + 9, + 10, + 20, + 11, + 12, + 6, + 5, + 22, + 0, + 0, + 19, + 24, + 23, + 13, + 36, + 17, + 18, + 0, + 0, + 25, + 26, + 27, + 28, + 0, + 0, + 0, + 31, + 30, + 29, + 35, + 34, + 33, + 32, + 0, + 0, + 1, + 4, + 0, + 2, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "order": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "params": {}, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Control/ORef_Devices" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.new": { + "persistent": true + }, + "custom.order": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 656, + "width": 892 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "516px" + }, + "props": { + "text": "Operator priority" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "5%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "l1" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[0]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[1]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[2]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[3]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[4]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[5]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 1, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 2, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 3, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 4, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 5, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 6, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l2" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[6]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[7]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[8]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[9]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[10]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[11]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 7, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 8, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 9, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 10, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 11, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 12, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l3" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[12]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[13]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[14]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[15]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[16]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[17]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 13, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 14, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 15, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 16, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 17, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 18, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l4" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[18]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[19]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[20]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[21]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[22]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[23]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 19, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 20, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 21, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 22, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 23, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 24, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l5" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[24]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[25]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[26]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[27]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[28]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[29]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 25, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 26, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 27, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 28, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 29, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 30, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l6" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[30]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[31]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[32]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[33]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[34]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[35]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 31, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 32, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 33, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 34, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 35, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 36, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l7" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[36]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[37]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[38]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[39]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[40]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[41]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 37, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 38, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 39, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 40, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 41, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 42, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l8" + }, + "position": { + "basis": "12.5%" + }, + "propConfig": { + "props.instances[0].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[0].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[0].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[42]" + }, + "type": "property" + } + }, + "props.instances[1].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[1].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[1].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[43]" + }, + "type": "property" + } + }, + "props.instances[2].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[2].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[2].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[44]" + }, + "type": "property" + } + }, + "props.instances[3].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[3].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[3].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[45]" + }, + "type": "property" + } + }, + "props.instances[4].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[4].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[4].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[46]" + }, + "type": "property" + } + }, + "props.instances[5].current_op": { + "binding": { + "config": { + "expression": "{view.custom.data}[{this.props.instances[5].ch}-1]" + }, + "type": "expr" + } + }, + "props.instances[5].new_op": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.custom.new[47]" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 43, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 44, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 45, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 46, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 47, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "ch": 48, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "LLS" + }, + "position": { + "basis": "89.6%" + }, + "props": { + "style": { + "gap": "10px", + "key": "value" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.data \u003d self.view.custom.new\n\tself.view.custom.data \u003d self.view.custom.data" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.custom.new \u003d self.view.custom.data" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority/resource.json new file mode 100644 index 0000000..8d8f314 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7c6c387d97cc508394d70b284f557d63aeb9aa7b39afcde7602a887cfa195d17", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:31:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority/thumbnail.png new file mode 100644 index 0000000..8867fa0 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority/view.json new file mode 100644 index 0000000..b568796 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/LLS_OperatorPriority/view.json @@ -0,0 +1,1029 @@ +{ + "custom": { + "data": [ + 27, + 22, + 26, + 14, + 25, + 24, + 16, + 17, + 18, + 19, + 20, + 21, + 11, + 10, + 9, + 8, + 0, + 7, + 6, + 5, + 23, + 4, + 13, + 12, + 0, + 0, + 37, + 38, + 39, + 34, + 0, + 0, + 0, + 1, + 2, + 3, + 28, + 29, + 30, + 31, + 32, + 33, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "key": 48, + "order": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "temp": [ + 27, + 22, + 26, + 14, + 25, + 24, + 16, + 17, + 18, + 19, + 20, + 21, + 11, + 10, + 9, + 8, + 0, + 7, + 6, + 5, + 23, + 4, + 13, + 12, + 35, + 36, + 37, + 38, + 39, + 34, + 0, + 0, + 0, + 1, + 2, + 3, + 28, + 29, + 30, + 31, + 32, + 33, + 15, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "params": {}, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Control/ORef_Devices" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.key": { + "binding": { + "config": { + "struct": { + "hb": "now(3000)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\titem \u003d 0\n\ti \u003d 1\n\tfor i in range(1,9):\n\t\tj \u003d 0\n\t\tfor j in range(0,6):\n\t\t\tflex \u003d \"l{:1d}\".format(i)\n\t\t\tself.getChild(\"root\").getChild(\"LLS\").getChild(flex).props.instances[j].ch \u003d self.view.custom.order[item]\n\t\t\tself.getChild(\"root\").getChild(\"LLS\").getChild(flex).props.instances[j].current_op \u003d self.view.custom.data[item]\n\n\t\t\titem +\u003d 1\n\treturn item", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.order": { + "persistent": true + }, + "custom.temp": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 656, + "width": 892 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "516px" + }, + "props": { + "text": "l8" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "5%" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "l1" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 1, + "current_op": 27, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 27 + }, + { + "ch": 2, + "current_op": 22, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 22 + }, + { + "ch": 3, + "current_op": 26, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 26 + }, + { + "ch": 4, + "current_op": 14, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 14 + }, + { + "ch": 5, + "current_op": 25, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 25 + }, + { + "ch": 6, + "current_op": 24, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 24 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l2" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 7, + "current_op": 16, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 16 + }, + { + "ch": 8, + "current_op": 17, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 17 + }, + { + "ch": 9, + "current_op": 18, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 18 + }, + { + "ch": 10, + "current_op": 19, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 19 + }, + { + "ch": 11, + "current_op": 20, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 20 + }, + { + "ch": 12, + "current_op": 21, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 21 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l3" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 13, + "current_op": 11, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 11 + }, + { + "ch": 14, + "current_op": 10, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 10 + }, + { + "ch": 15, + "current_op": 9, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 9 + }, + { + "ch": 16, + "current_op": 8, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 8 + }, + { + "ch": 17, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 18, + "current_op": 7, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 7 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l4" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 19, + "current_op": 6, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 6 + }, + { + "ch": 20, + "current_op": 5, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 5 + }, + { + "ch": 21, + "current_op": 23, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 23 + }, + { + "ch": 22, + "current_op": 4, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 4 + }, + { + "ch": 23, + "current_op": 13, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 13 + }, + { + "ch": 24, + "current_op": 12, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 12 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l5" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 25, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 35 + }, + { + "ch": 26, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 36 + }, + { + "ch": 27, + "current_op": 37, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 37 + }, + { + "ch": 28, + "current_op": 38, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 38 + }, + { + "ch": 29, + "current_op": 39, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 39 + }, + { + "ch": 30, + "current_op": 34, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 34 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l6" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 31, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 32, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 33, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 34, + "current_op": 1, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 1 + }, + { + "ch": 35, + "current_op": 2, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 2 + }, + { + "ch": 36, + "current_op": 3, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 3 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l7" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 37, + "current_op": 28, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 28 + }, + { + "ch": 38, + "current_op": 29, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 29 + }, + { + "ch": 39, + "current_op": 30, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 30 + }, + { + "ch": 40, + "current_op": 31, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 31 + }, + { + "ch": 41, + "current_op": 32, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 32 + }, + { + "ch": 42, + "current_op": 33, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 33 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "l8" + }, + "position": { + "basis": "12.5%" + }, + "props": { + "direction": "column", + "instances": [ + { + "ch": 43, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 15 + }, + { + "ch": 44, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 45, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 46, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 47, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + }, + { + "ch": 48, + "current_op": 0, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "new_op": 0 + } + ], + "justify": "center", + "path": "Pages/Dev/B_Mechanical/Widget/ChillerOP", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "LLS" + }, + "position": { + "basis": "89.6%" + }, + "props": { + "style": { + "gap": "10px", + "key": "value" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\titem \u003d 0\n\tlogger \u003d system.util.getLogger(\"LLSOperatorPriority\")\n\ti \u003d 0\n\tfor i in range(1,9):\n\t\tj \u003d 0\n\t\tfor j in range(0,6):\n\t\t\tflex \u003d \"l{:1d}\".format(i)\n\t\t\titem \u003d self.parent.getChild(\"LLS\").getChild(flex).props.instances[j].ch -1\n\t\t\tself.view.custom.temp[item] \u003d self.parent.getChild(\"LLS\").getChild(flex).props.instances[j].new_op\n\t\t\t\n\tself.view.custom.data \u003d self.view.custom.temp\n \n\titem \u003d 0\n\ti \u003d 1\n\tfor i in range(1,9):\n\t\tj \u003d 0\n\t\tfor j in range(0,6):\n\t\t\tflex \u003d \"l{:1d}\".format(i)\n\t\t\tself.parent.getChild(\"LLS\").getChild(flex).props.instances[j].ch \u003d self.view.custom.order[item]\n\t\t\tself.parent.getChild(\"LLS\").getChild(flex).props.instances[j].current_op \u003d self.view.custom.data[item]\n\t\t\tself.parent.getChild(\"LLS\").getChild(flex).props.instances[j].new_op \u003d self.view.custom.temp[item]\n\t\t\titem +\u003d1" + }, + "scope": "G", + "type": "script" + } + }, + "system": { + "onStartup": { + "config": { + "script": "\tself.view.custom.temp \u003d self.view.custom.data\n\titem \u003d 0\n\ti \u003d 1\n\tfor i in range(1,9):\n\t\tj \u003d 0\n\t\tfor j in range(0,6):\n\t\t\tflex \u003d \"l{:1d}\".format(i)\n\t\t\tself.parent.getChild(\"LLS\").getChild(flex).props.instances[j].ch \u003d self.view.custom.order[item]\n\t\t\tself.parent.getChild(\"LLS\").getChild(flex).props.instances[j].current_op \u003d self.view.custom.data[item]\n\t\t\tself.parent.getChild(\"LLS\").getChild(flex).props.instances[j].new_op \u003d self.view.custom.temp[item]\n\t\t\titem +\u003d 1\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\titem \u003d 0\n\ti \u003d 1\n\torder \u003d self.view.custom.order\n\tdata \u003d self.view.custom.data\n\ttemp \u003d self.view.custom.temp\n\tfor i in range(1,9):\n\t\tj \u003d 0\n\t\tfor j in range(0,6):\n\t\t\tflex \u003d \"l{:1d}\".format(i)\n\t\t\tself.getChild(\"LLS\").getChild(flex).props.instances[j].ch \u003d order[item]\n\t\t\tself.getChild(\"LLS\").getChild(flex).props.instances[j].current_op \u003d data[item]\n\t\t\tself.getChild(\"LLS\").getChild(flex).props.instances[j].new_op \u003d temp [item]\n\t\t\titem +\u003d 1\n\t\t\t\n\tself.getChild(\"Header\").getChild(\"Title\").props.text \u003d flex" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/PID_Chart/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/PID_Chart/resource.json new file mode 100644 index 0000000..4342b6d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/PID_Chart/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4b18b603ab23336e174a1fabd14b53287dc59bd68c3bdca008a7d289ac8ec268", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:31:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/PID_Chart/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/PID_Chart/thumbnail.png new file mode 100644 index 0000000..422ecf3 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/PID_Chart/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/PID_Chart/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/PID_Chart/view.json new file mode 100644 index 0000000..039a1f6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/PID_Chart/view.json @@ -0,0 +1,878 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 200, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "XYChart" + }, + "position": { + "basis": "375px" + }, + "props": { + "dataSources": { + "example": [ + { + "output_temp": 38, + "process_temp": 63, + "t_stamp": "Tue Aug 07 2018" + }, + { + "output_temp": 39, + "process_temp": 59, + "t_stamp": "Tue Aug 08 2018" + }, + { + "output_temp": 41, + "process_temp": 62, + "t_stamp": "Tue Aug 09 2018" + }, + { + "output_temp": 37, + "process_temp": 63, + "t_stamp": "Tue Aug 10 2018" + }, + { + "output_temp": 31, + "process_temp": 48, + "t_stamp": "Tue Aug 11 2018" + }, + { + "output_temp": 42, + "process_temp": 54, + "t_stamp": "Tue Aug 12 2018" + }, + { + "output_temp": 38, + "process_temp": 49, + "t_stamp": "Tue Aug 13 2018" + }, + { + "output_temp": 34, + "process_temp": 69, + "t_stamp": "Tue Aug 14 2018" + }, + { + "output_temp": 56, + "process_temp": 73, + "t_stamp": "Tue Aug 15 2018" + }, + { + "output_temp": 32, + "process_temp": 61, + "t_stamp": "Tue Aug 16 2018" + }, + { + "output_temp": 62, + "process_temp": 73, + "t_stamp": "Tue Aug 17 2018" + } + ] + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "example", + "x": "t_stamp", + "y": "process_temp" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "process temp", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "process temp", + "zIndex": 0 + }, + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "example", + "x": "t_stamp", + "y": "output_temp" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Output Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "output temp", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "output temp", + "zIndex": 0 + } + ], + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "Process Temp" + }, + "name": "process temp", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + }, + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "4,4", + "minDistance": null, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": true + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "Output Temp" + }, + "name": "output temp", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_Count/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_Count/resource.json new file mode 100644 index 0000000..e1507a4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_Count/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b75b4f91ec501a318bfd39792a62b7d31cf28891c47d37df1186cd117244ddad", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T23:34:41Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_Count/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_Count/thumbnail.png new file mode 100644 index 0000000..12a0050 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_Count/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_Count/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_Count/view.json new file mode 100644 index 0000000..a9a904c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_Count/view.json @@ -0,0 +1,91 @@ +{ + "custom": {}, + "params": { + "title": "Running", + "value": 5 + }, + "propConfig": { + "params.title": { + "paramDirection": "input", + "persistent": true + }, + "params.value": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 100, + "width": 70 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "80%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.value" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 42, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.title" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "padding": "3px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_CountPanel/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_CountPanel/resource.json new file mode 100644 index 0000000..1e35025 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_CountPanel/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "97b6283ce3c289c6ac5f87f24ce866489c5ac13dd667e3b086f242e393a1c83d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-17T00:07:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_CountPanel/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_CountPanel/thumbnail.png new file mode 100644 index 0000000..c092f35 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_CountPanel/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_CountPanel/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_CountPanel/view.json new file mode 100644 index 0000000..1233c17 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_CH_CountPanel/view.json @@ -0,0 +1,161 @@ +{ + "custom": { + "data": null, + "type": "Chillers", + "values": null + }, + "params": { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof" + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "struct": { + "hb": "now(5000)", + "tagpath": "{view.params.tagPath}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\ttagPaths \u003d []\n\tfor i in range(0, 48):\n\t\tCH_Name \u003d \"/SATB1_RF_CH{:02d}_SYSTEM\".format(i+1)\n\t\tMTR_Name \u003d \"/SATB1_RF_CH{:02d}_MOTOR\".format(i+1)\n\t\ttagPaths.append(value[\u0027tagpath\u0027] + CH_Name + \"/Control/Mode\")\n\t\ttagPaths.append(value[\u0027tagpath\u0027] + CH_Name + \"/System HOA\")\n\t\ttagPaths.append(value[\u0027tagpath\u0027] + MTR_Name + \"/Status Running\")\n\tdata \u003d system.tag.readBlocking(tagPaths)\n\t\n\tidx \u003d 0\n\toutput \u003d []\n\tfor i in range(0, 48):\n\t\tchiller \u003d {}\n\t\tCH_Name \u003d \"/SATB1_RF_CH{:02d}_SYSTEM\".format(i+1)\n\t\tchiller[\u0027Mode\u0027] \u003d data[idx]\n\t\tchiller[\u0027HOA\u0027] \u003d data[idx+1]\n\t\tchiller[\u0027Faulted\u0027] \u003d alarm.summary.calcMaxPriority(value[\u0027tagpath\u0027] + CH_Name)\n\t\tchiller[\u0027Running\u0027] \u003d data[idx+2]\n\t\tidx +\u003d 3\n\t\toutput.append(chiller)\n\t\t\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.type": { + "persistent": true + }, + "custom.values": { + "binding": { + "config": { + "path": "view.custom.data" + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\tcountRunning \u003d 0\n\tcountStandby \u003d 0\n\tcountFaulted \u003d 0\n\tcountManual \u003d 0\n\tfor i in range(len(value)):\n\t\tif value[i][\u0027Faulted\u0027] \u003e 0:\n\t\t\tcountFaulted +\u003d1\n\t\t\tcontinue\n\t\telif value[i][\u0027Mode\u0027] \u003d\u003d False:\n\t\t\tcountManual +\u003d1\n\t\t\tcontinue\n\t\telif value[i][\u0027Running\u0027]:\n\t\t\tcountRunning +\u003d1\n\t\t\tcontinue\n\t\telse:\n\t\t\tcountStandby +\u003d1\n\toutput[\"Running\"] \u003d countRunning\n\toutput[\"Standby\"] \u003d countStandby\n\toutput[\"Faulted\"] \u003d countFaulted\n\toutput[\"Manual\"] \u003d countManual\n\treturn output", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.LLS_tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 101, + "width": 399 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "props.instances[0].value": { + "binding": { + "config": { + "path": "view.custom.values.Running" + }, + "type": "property" + } + }, + "props.instances[1].value": { + "binding": { + "config": { + "path": "view.custom.values.Standby" + }, + "type": "property" + } + }, + "props.instances[2].value": { + "binding": { + "config": { + "path": "view.custom.values.Faulted" + }, + "type": "property" + } + }, + "props.instances[3].value": { + "binding": { + "config": { + "path": "view.custom.values.Manual" + }, + "type": "property" + } + } + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "Running" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "Standby" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "Faulted" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "title": "Manual" + } + ], + "path": "Library/Widgets/Mechanical/Wdg_CH_Count", + "style": { + "gap": "15px", + "padding": "15px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_DH_Overview/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_DH_Overview/resource.json new file mode 100644 index 0000000..6e9f77a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_DH_Overview/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "645eddc984c73e3f6b8f8e93c3c50cfbb5b953b6b2b06ba2cb91542ca96ab2f7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-17T00:08:54Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_DH_Overview/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_DH_Overview/thumbnail.png new file mode 100644 index 0000000..04abc42 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_DH_Overview/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_DH_Overview/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_DH_Overview/view.json new file mode 100644 index 0000000..7038289 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_DH_Overview/view.json @@ -0,0 +1,678 @@ +{ + "custom": { + "Selected": { + "G1": "[Ignition_Common_IO_Gtwy]GAL1281", + "G2": "[Ignition_Common_IO_Gtwy]GAL1282", + "s1": "SATB1_CHW_TT05", + "s2": "SATB1_CHW_TT06", + "valve": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH1280_FCV72" + }, + "dps": [ + null, + null, + null, + null + ], + "fts": [ + null, + null + ], + "ret_tts": [ + null, + null + ], + "sup_tts": [ + null, + null + ] + }, + "params": { + "DH": "DH4" + }, + "propConfig": { + "custom.Selected": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "code": "\tdata \u003d {\n\t\t \"DH1\": {\n\t\t \"G1\": \"[Ignition_Common_IO_Gtwy]GAL1261\",\n\t\t \"G2\": \"[Ignition_Common_IO_Gtwy]GAL1262\",\n\t\t \"s1\": \"SATB1_CHW_TT03\",\n\t\t \"s2\": \"SATB1_CHW_TT04\",\n\t\t \"valve\": \"[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1260_FCV69\",\n\t\t },\n\t\t \"DH2\": {\n\t\t \"G1\": \"[Ignition_Common_IO_Gtwy]GAL1271\",\n\t\t \"G2\": \"[Ignition_Common_IO_Gtwy]GAL1272\",\n\t\t \"s1\": \"SATB1_CHW_TT07\",\n\t\t \"s2\": \"SATB1_CHW_TT08\",\n\t\t \"valve\": \"[Ignition_Common_IO_Gtwy]DH2/SATB1_DH1270_FCV70\",\n\t\t },\n\t\t \"DH3\": {\n\t\t \"G1\": \"[Ignition_Common_IO_Gtwy]GAL1171\",\n\t\t \"G2\": \"[Ignition_Common_IO_Gtwy]GAL1172\",\n\t\t \"s1\": \"SATB1_CHW_TT09\",\n\t\t \"s2\": \"SATB1_CHW_TT10\",\n\t\t \"valve\": \"[Ignition_Common_IO_Gtwy]DH3/SATB1_DH1170_FCV71\",\n\t\t },\n\t\t \"DH4\": {\n\t\t \"G1\": \"[Ignition_Common_IO_Gtwy]GAL1281\",\n\t\t \"G2\": \"[Ignition_Common_IO_Gtwy]GAL1282\",\n\t\t \"s1\": \"SATB1_CHW_TT05\",\n\t\t \"s2\": \"SATB1_CHW_TT06\",\n\t\t \"valve\": \"[Ignition_Common_IO_Gtwy]DH4/SATB1_DH1280_FCV72\",\n\t\t },\n\t\t \"DH5\": {\n\t\t \"G1\": \"[Ignition_Common_IO_Gtwy]GAL1181\",\n\t\t \"G2\": \"[Ignition_Common_IO_Gtwy]GAL1182\",\n\t\t \"s1\": \"SATB1_CHW_TT01\",\n\t\t \"s2\": \"SATB1_CHW_TT02\",\n\t\t \"valve\": \"[Ignition_Common_IO_Gtwy]DH5/SATB1_DH1180_FCV73\",\n\t\t }\n\t\t}\n\treturn data[value]", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.dps": { + "persistent": true + }, + "custom.dps[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_DP01/Val" + }, + "type": "tag" + } + }, + "custom.dps[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_DP02/Val" + }, + "type": "tag" + } + }, + "custom.dps[2]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_DP03/Val" + }, + "type": "tag" + } + }, + "custom.dps[3]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_DP04/Val" + }, + "type": "tag" + } + }, + "custom.fts": { + "persistent": true + }, + "custom.fts[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_FT01/Val" + }, + "type": "tag" + } + }, + "custom.fts[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_FT02/Val" + }, + "type": "tag" + } + }, + "custom.ret_tts": { + "persistent": true + }, + "custom.ret_tts[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_TT01/Val" + }, + "type": "tag" + } + }, + "custom.ret_tts[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/SATB1_CHW_{DH}_TT02/Val" + }, + "type": "tag" + } + }, + "custom.sup_tts": { + "persistent": true + }, + "custom.sup_tts[0]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "s1": "{view.custom.Selected.s1}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/{s1}/Val" + }, + "type": "tag" + } + }, + "custom.sup_tts[1]": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "s2": "{view.custom.Selected.s2}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/{s2}/Val" + }, + "type": "tag" + } + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 110, + "width": 400 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Transmitter_24" + }, + "position": { + "height": 40, + "width": 60, + "x": 325, + "y": 69 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]{DH}/OPC Tags/SATB1_{DH} Tonnage Demand" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "tons", + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_B" + }, + "position": { + "height": 75, + "width": 120, + "x": 260, + "y": 18 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.Selected.valve" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Layout": 4, + "objectName": "ValveC" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "MovingAnalogIndicator_36" + }, + "position": { + "height": 85, + "width": 70, + "x": 214, + "y": 5.99 + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "path": "view.custom.dps" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "desiredHigh": 25, + "desiredLow": 15, + "highAlarm": 28, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 12, + "lowInterlock": null, + "lowLowAlarm": null, + "maxValue": 34, + "minValue": 8 + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Transmitter_38" + }, + "position": { + "height": 15, + "width": 65, + "x": 214, + "y": 86 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "path": "view.custom.dps" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "EU": "psid", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_39" + }, + "position": { + "height": 15, + "width": 57, + "x": 158, + "y": 86 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "struct": { + "ft1": "{view.custom.fts[0]}", + "ft2": "{view.custom.fts[1]}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027ft1\u0027] + {value}[\u0027ft2\u0027] ", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "EU": "gpm", + "EU_Pos": 0, + "Size": 12 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "MovingAnalogIndicator_35" + }, + "position": { + "height": 85, + "width": 70, + "x": 152, + "y": 5.99 + }, + "propConfig": { + "props.desiredHigh": { + "binding": { + "config": { + "struct": { + "ft1": "{view.custom.fts[0]}", + "ft2": "{view.custom.fts[1]}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027ft1\u0027] + {value}[\u0027ft2\u0027] ", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.processValue": { + "binding": { + "config": { + "struct": { + "ft1": "{view.custom.fts[0]}", + "ft2": "{view.custom.fts[1]}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027ft1\u0027] + {value}[\u0027ft2\u0027] ", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "desiredLow": 0, + "highAlarm": 4500, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 0, + "lowInterlock": null, + "lowLowAlarm": null, + "maxValue": 4250 + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "MovingAnalogIndicator_34" + }, + "position": { + "height": 75, + "width": 70, + "x": 92, + "y": 15.99 + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "path": "view.custom.ret_tts" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "desiredHigh": 69, + "desiredLow": 65, + "highAlarm": 100, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 0, + "lowInterlock": null, + "lowLowAlarm": null, + "maxValue": 75, + "minValue": 60, + "reverseIndicator": true + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "MovingAnalogIndicator_33" + }, + "position": { + "height": 75, + "width": 70, + "x": 78, + "y": 15.99 + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "path": "view.custom.sup_tts" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "desiredHigh": 69, + "desiredLow": 65, + "highAlarm": 72, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 62, + "lowInterlock": null, + "lowLowAlarm": null, + "maxValue": 75, + "minValue": 60 + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Transmitter_41" + }, + "position": { + "height": 15, + "width": 60, + "x": 93, + "y": 4.99 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "path": "view.custom.ret_tts" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "EU": "°F", + "EU_Pos": 0, + "Size": 12, + "color": "limegreen" + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_40" + }, + "position": { + "height": 15, + "width": 56, + "x": 93, + "y": 86 + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "path": "view.custom.sup_tts" + }, + "transforms": [ + { + "expression": "max({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "EU": "°F", + "EU_Pos": 0, + "Size": 12, + "color": "var(--tagvalue-color)" + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_36" + }, + "position": { + "height": 97, + "width": 90 + }, + "propConfig": { + "custom.counts": { + "access": "PUBLIC" + }, + "props.params.tagPath1": { + "binding": { + "config": { + "path": "view.custom.Selected.G1" + }, + "type": "property" + } + }, + "props.params.tagPath2": { + "binding": { + "config": { + "path": "view.custom.Selected.G2" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 23, + "width": 41, + "x": 358, + "y": 4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_FreezeProtection/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_FreezeProtection/resource.json new file mode 100644 index 0000000..4a672b8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_FreezeProtection/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "bc24387e72c3d169e9d4d5b2bb1b94abe800a0c39e020627399437a6649107f4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T23:32:30Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_FreezeProtection/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_FreezeProtection/thumbnail.png new file mode 100644 index 0000000..d48f141 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_FreezeProtection/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_FreezeProtection/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_FreezeProtection/view.json new file mode 100644 index 0000000..d4e0aba --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_FreezeProtection/view.json @@ -0,0 +1,263 @@ +{ + "custom": { + "Status": 0, + "auth": { + "almAck": true, + "almShelve": true, + "config": true, + "control": true + }, + "current_value": 0 + }, + "params": { + "ID": 3, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/FreezeProtectionCmd" + }, + "propConfig": { + "custom.Status": { + "binding": { + "config": { + "path": "view.custom.current_value" + }, + "transforms": [ + { + "code": "\tmask \u003d pow(2, self.params.ID)\n\tmasked \u003d value \u0026 mask\n\treturn masked \u003e\u003e self.params.ID", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.current_value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "type": "tag" + }, + "persistent": true + }, + "params.ID": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 86, + "width": 453 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.ID" + }, + "transforms": [ + { + "expression": "\"Freeze Protection Lineup \"+{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tcurrent_value \u003d system.tag.readBlocking(self.view.params.tagPath)[0].value\n\tmask \u003d pow(2, self.view.params.ID)\n\tnew_value \u003d current_value | mask\n\tsystem.tag.writeBlocking(self.view.params.tagPath, new_value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "On_btn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "On" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tcurrent_value \u003d system.tag.readBlocking(self.view.params.tagPath)[0].value\n\tmask \u003d pow(2, self.view.params.ID)\n\tmask \u003d mask ^ 0b1111111111111111\n\tnew_value \u003d current_value \u0026 mask\n\tsystem.tag.writeBlocking(self.view.params.tagPath, new_value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Off_btn" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "path": "view.custom.Status" + }, + "transforms": [ + { + "fallback": true, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": true + }, + { + "input": 1, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Off" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "props": { + "style": { + "gap": 10 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "gap": 10, + "paddingBottom": 10, + "paddingLeft": 10, + "paddingRight": 10, + "paddingTop": 10 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand/resource.json new file mode 100644 index 0000000..56a4e15 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a5d3eeef97578743143950f8c35e4c49bf3ddb5b05d434ae6ee57d61246f6a6f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-20T22:58:46Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand/thumbnail.png new file mode 100644 index 0000000..32889a8 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand/view.json new file mode 100644 index 0000000..65dc380 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand/view.json @@ -0,0 +1,220 @@ +{ + "custom": { + "key": 1 + }, + "params": { + "DH": "DH101" + }, + "propConfig": { + "custom.key": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "fallback": 1, + "inputType": "scalar", + "mappings": [ + { + "input": "DH101", + "output": 1 + }, + { + "input": "DH102", + "output": 2 + }, + { + "input": "DH201", + "output": 3 + }, + { + "input": "DH202", + "output": 4 + }, + { + "input": "DH203", + "output": 5 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 150, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Gauge" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "key": "{view.custom.key}" + }, + "tagPath": "[default]simulator/CHW_System/Ton{key}" + }, + "type": "tag" + } + } + }, + "props": { + "backgroundColor": "", + "innerAxis": { + "data": "secondaryValue", + "maxValue": 80, + "percentRadius": 10, + "show": false, + "width": 0 + }, + "outerAxis": { + "data": "value", + "maxValue": 4000, + "percentRadius": 90, + "ranges": [ + { + "color": "#77b6d8", + "end": 4000, + "start": 0, + "width": 10 + } + ], + "show": true, + "width": 1 + }, + "style": { + "overflow": "visible" + } + }, + "type": "ia.chart.gauge" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "marginRight": 25 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "key": "{view.custom.key}" + }, + "tagPath": "[default]simulator/CHW_System/Ton{key}" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "numberFormat": "###0.##", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "props": { + "text": "Tons", + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "15%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "marginTop": -20, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk/resource.json new file mode 100644 index 0000000..5646f33 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "af7ed3f61fb34aa8896fdbfcefe2cb5d5ddc2dabf263d15047e38cf5f2be31f1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-20T22:58:44Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk/thumbnail.png new file mode 100644 index 0000000..6ac2fb8 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk/view.json new file mode 100644 index 0000000..c3b3c37 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk/view.json @@ -0,0 +1,275 @@ +{ + "custom": { + "key": 1 + }, + "params": { + "DH": "DH101" + }, + "propConfig": { + "custom.key": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "transforms": [ + { + "fallback": 1, + "inputType": "scalar", + "mappings": [ + { + "input": "DH101", + "output": 1 + }, + { + "input": "DH102", + "output": 2 + }, + { + "input": "DH201", + "output": 3 + }, + { + "input": "DH202", + "output": 4 + }, + { + "input": "DH203", + "output": 5 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 117, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Sparkline" + }, + "position": { + "basis": "215px" + }, + "props": { + "points": [ + 59, + 80, + 80, + 100, + 68, + 62, + 87, + 72, + 42, + 49, + 58, + 53, + 57, + 51, + 42, + 32, + 37, + 30, + 24, + 38, + 57, + 29, + 18, + 32, + 38, + 24, + 24, + 24, + 20, + 21, + 29, + 32, + 26, + 18, + 32, + 36, + 30, + 36, + 29, + 32, + 29, + 28, + 41, + 20, + 28, + 58, + 18, + 24, + 16, + 2, + 22, + 17, + 22, + 21, + 12, + 22, + 14, + 13, + 11, + 20, + 16, + 16, + 18, + 12, + 28, + 28, + 32, + 16, + 16, + 24, + 16, + 20, + 14, + 18, + 12, + 26, + 17, + 11, + 30, + 16, + 9, + 20, + 42, + 13, + 13, + 24, + 17, + 13, + 20, + 12, + 14, + 13, + 14, + 71, + 82, + 20, + 16, + 20, + 22, + 17, + 5 + ] + }, + "type": "ia.display.sparkline" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.DH" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "marginRight": 25 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "key": "{view.custom.key}" + }, + "tagPath": "[default]simulator/CHW_System/Ton{key}" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "numberFormat": "###0.##", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "props": { + "text": "Tons", + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "23.7%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "containers/card_nested" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/ModeBadgeSmall/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/ModeBadgeSmall/resource.json new file mode 100644 index 0000000..8b7409f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/ModeBadgeSmall/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json" + ], + "attributes": { + "lastModificationSignature": "f1b251e5126d0bf5cc3fdadaadff1f0c5c868ff0f2ed4fd1f36ee74196f8462e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T15:05:31Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/ModeBadgeSmall/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/ModeBadgeSmall/view.json new file mode 100644 index 0000000..b8b8ec8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/ModeBadgeSmall/view.json @@ -0,0 +1,121 @@ +{ + "custom": { + "colorHandler": { + "auto": "#27669C", + "manual": "#9C6427", + "none": "#FFFFFF" + } + }, + "params": { + "Mode": 1, + "options": [ + "A", + "M" + ] + }, + "propConfig": { + "custom.colorHandler": { + "persistent": true + }, + "params.Mode": { + "paramDirection": "input", + "persistent": true + }, + "params.options": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 20 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "code": "\tif value \u003c 1:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\tif value \u003d\u003d 1:\n\t\toutput \u003d self.view.custom.colorHandler.auto\n\tif value \u003d\u003d 2:\n\t\toutput \u003d self.view.custom.colorHandler.manual\n\tif value \u003e 2:\n\t\toutput \u003d self.view.custom.colorHandler.none\n\t\n\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.Mode" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "A" + }, + { + "input": 2, + "output": "M" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "paddingLeft": 5, + "paddingRight": 5 + }, + "textStyle": { + "color": "#FFFFFF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/DeviceControls/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/DeviceControls/resource.json new file mode 100644 index 0000000..762aad2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/DeviceControls/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e5197483c4b1cee661c3ae567d206e6fe5e4b4244482720d8a36a94797893db5", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:33:41Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/DeviceControls/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/DeviceControls/thumbnail.png new file mode 100644 index 0000000..8fa2532 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/DeviceControls/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/DeviceControls/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/DeviceControls/view.json new file mode 100644 index 0000000..cd9f779 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/DeviceControls/view.json @@ -0,0 +1,172 @@ +{ + "custom": { + "name": "CRAH-123", + "status": "Disabled" + }, + "params": { + "rowData": { + "Name": "CRAH-123", + "State": "Disabled" + }, + "server": "value" + }, + "propConfig": { + "custom.name": { + "binding": { + "config": { + "path": "view.params.rowData" + }, + "transforms": [ + { + "code": "\treturn value[\u0027Name\u0027]", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.status": { + "binding": { + "config": { + "path": "view.params.rowData" + }, + "transforms": [ + { + "code": "\treturn value[\u0027State\u0027]", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.rowData": { + "paramDirection": "input", + "persistent": true + }, + "params.server": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 26, + "width": 177 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tstringName \u003d self.view.params.server\n\tremoteGatewayName \u003d [stringName] # As configured in the Gateway Network\n\tdeviceName \u003d self.view.custom.name # The name of the device on the remote gateway\n\tenableDevice \u003d True # Or False to disable\n\t\n\tpayload \u003d {\n\t \"deviceName\": deviceName,\n\t \"enabled\": enableDevice\n\t}\n\t\n\ttry:\n\t system.util.sendMessage(\n\t project\u003d\"global\", # Optional, but good practice if handler is project-specific\n\t messageHandler\u003d\"DeviceControl\", # Must match the message handler name on the remote gateway\n\t payload\u003dpayload,\n\t scope\u003d\"G\", # Gateway scope for remote execution\n\t remoteServers\u003dremoteGatewayName\n\t )\n\t msg \u003d \"Sent request to \u0027\"+ remoteGatewayName +\"\u0027 to set device \u0027\"+ deviceName +\"\u0027 to enabled\u003d\"+ str(enableDevice) +\".\"\n\t system.util.getLogger(\"LocalDeviceControl\").info(msg)\n\texcept Exception as e:\n\t\tmsg \u003d \"Error sending message to remote gateway: \" + str(e)\n\t\tsystem.util.getLogger(\"LocalDeviceControl\").error(msg)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "80px" + }, + "propConfig": { + "props.primary": { + "binding": { + "config": { + "path": "view.custom.status" + }, + "enabled": false, + "transforms": [ + { + "fallback": true, + "inputType": "scalar", + "mappings": [ + { + "input": "Disabled", + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Enable" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tstringName \u003d self.view.params.server\n\tremoteGatewayName \u003d [stringName] # As configured in the Gateway Network\n\tdeviceName \u003d self.view.custom.name # The name of the device on the remote gateway\n\tenableDevice \u003d False # Or False to disable\n\t\n\tpayload \u003d {\n\t \"deviceName\": deviceName,\n\t \"enabled\": enableDevice\n\t}\n\t\n\ttry:\n\t system.util.sendMessage(\n\t project\u003d\"global\", # Optional, but good practice if handler is project-specific\n\t messageHandler\u003d\"DeviceControl\", # Must match the message handler name on the remote gateway\n\t payload\u003dpayload,\n\t scope\u003d\"G\", # Gateway scope for remote execution\n\t remoteServers\u003d remoteGatewayName\n\t )\n\t msg \u003d \"Sent request to \u0027\"+ remoteGatewayName +\"\u0027 to set device \u0027\"+ deviceName +\"\u0027 to enabled\u003d\"+ str(enableDevice) +\".\"\n\t system.util.getLogger(\"LocalDeviceControl\").info(msg)\n\texcept Exception as e:\n\t\tmsg \u003d \"Error sending message to remote gateway: \" + str(e)\n\t\tsystem.util.getLogger(\"LocalDeviceControl\").error(msg)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "80px" + }, + "propConfig": { + "props.primary": { + "binding": { + "config": { + "path": "view.params.rowData.State" + }, + "enabled": false, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": "Disabled", + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "primary": false, + "text": "Disabled" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "gap": "5px", + "paddingLeft": "5px", + "paddingRight": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/PLC/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/PLC/resource.json new file mode 100644 index 0000000..c64a4bb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/PLC/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fd74abeccf0eaa1496a3a16923bdbf7f81de8c43040e5076729f7d65fce763d3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:33:41Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/PLC/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/PLC/thumbnail.png new file mode 100644 index 0000000..fc06acf Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/PLC/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/PLC/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/PLC/view.json new file mode 100644 index 0000000..34c7d03 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/PLC/view.json @@ -0,0 +1,699 @@ +{ + "custom": {}, + "params": { + "Positon": true + }, + "propConfig": { + "params.Positon": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "PLCA" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.Positon" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M28.52,237.639l0,260.677l395.251,228.424l-0,-260.677l-395.251,-228.424Z", + "fill": { + "paint": "#b9bbbd" + }, + "name": "path", + "type": "path" + }, + { + "d": "M423.771,466.061l-0,260.679l196.361,-113.411l0,-260.679l-196.361,113.411Z", + "fill": { + "paint": "#a3a6a9" + }, + "name": "path", + "type": "path" + }, + { + "d": "M226.146,125.883l-197.626,112.847l395.32,227.333l197.626,-112.847l-395.32,-227.333Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M83.089,326.446l-0,155.744", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M154.497,370.048l0,155.744", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M226.146,404.318l-0,155.744", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M381.728,482.138c-7.642,0.218 -13.599,9.047 -13.295,19.703c0.303,10.657 6.754,19.132 14.396,18.914c7.641,-0.217 13.599,-9.046 13.295,-19.703c-0.304,-10.656 -6.754,-19.131 -14.396,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M381.728,482.138c7.642,-0.217 14.092,8.258 14.396,18.914c0.304,10.657 -5.654,19.486 -13.295,19.703c-7.642,0.218 -14.093,-8.257 -14.396,-18.914c-0.304,-10.656 5.653,-19.485 13.295,-19.703Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + }, + { + "d": "M324.443,457.538c-7.642,0.217 -13.599,9.046 -13.296,19.703c0.304,10.656 6.755,19.132 14.396,18.914c7.642,-0.218 13.599,-9.047 13.295,-19.703c-0.303,-10.657 -6.754,-19.132 -14.395,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M324.443,457.538c7.641,-0.218 14.092,8.257 14.395,18.914c0.304,10.656 -5.653,19.485 -13.295,19.703c-7.641,0.218 -14.092,-8.258 -14.396,-18.914c-0.303,-10.657 5.654,-19.486 13.296,-19.703Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "659.888", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "710.79", + "x": "0", + "y": "83.333" + }, + { + "d": "M710.79,83.333l0,659.889l-710.79,-0l0,-659.889l710.79,0Zm-9.259,9.26l-692.272,-0c0,-0 0,641.37 0,641.37l692.272,-0l0,-641.37Z", + "fill": { + "paint": "#f00" + }, + "name": "path", + "type": "path" + }, + { + "d": "M714.77,7.199l72.101,72.102c2.211,2.211 2.211,5.801 0,8.011l-72.101,72.102c-2.211,2.211 -5.801,2.211 -8.012,0l-72.102,-72.102c-2.21,-2.21 -2.21,-5.8 0,-8.011l72.102,-72.102c2.211,-2.211 5.801,-2.211 8.012,0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M707.047,99.553l-3.899,-52.607l15.231,-0l-3.777,52.607l-7.555,0Zm-3.533,20.115l-0,-12.275l14.5,-0l-0,12.275l-14.5,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M703.623,20.549c1.488,-2.531 4.205,-4.085 7.141,-4.085c2.936,-0 5.653,1.554 7.14,4.085c15.679,26.678 52.978,90.145 68.833,117.122c1.505,2.561 1.523,5.732 0.048,8.31c-1.475,2.578 -4.218,4.169 -7.188,4.169l-137.666,-0c-2.97,-0 -5.713,-1.591 -7.188,-4.169c-1.476,-2.578 -1.457,-5.749 0.048,-8.31c15.854,-26.977 53.154,-90.444 68.832,-117.122Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M706.638,110.465l-4.328,-55.419l16.908,-0l-4.193,55.419l-8.387,-0Zm-3.922,21.189l-0,-12.931l16.096,0l0,12.931l-16.096,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M764.198,13.127l-0,140.359c-0,2.949 -2.394,5.344 -5.344,5.344l-96.181,-0c-2.949,-0 -5.343,-2.395 -5.343,-5.344l-0,-140.359c-0,-2.949 2.394,-5.343 5.343,-5.343l96.181,-0c2.95,-0 5.344,2.394 5.344,5.343Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M706.638,100.468l-4.328,-55.571l16.908,0l-4.193,55.571l-8.387,0Zm-3.922,21.248l-0,-12.967l16.096,0l0,12.967l-16.096,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "710.764", + "cy": "83.307", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "79.974", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M690.925,102.583l-4.329,-62.419l16.909,-0l-4.194,62.419l-8.386,0Zm-3.923,23.866l0,-14.564l16.097,-0l-0,14.564l-16.097,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M722.983,102.583l-4.329,-62.419l16.908,-0l-4.193,62.419l-8.386,0Zm-3.923,23.866l-0,-14.564l16.096,-0l0,14.564l-16.096,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 795 744" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "PLCB" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.Positon" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": false + }, + { + "input": false, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M630.152,219.847l-0,260.677l-395.251,228.424l-0,-260.677l395.251,-228.424Z", + "fill": { + "paint": "#b9bbbd" + }, + "name": "path", + "type": "path" + }, + { + "d": "M234.901,448.269l-0,260.679l-196.361,-113.411l-0,-260.679l196.361,113.411Z", + "fill": { + "paint": "#a3a6a9" + }, + "name": "path", + "type": "path" + }, + { + "d": "M432.526,108.09l197.626,112.848l-395.32,227.333l-197.626,-112.848l395.32,-227.333Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M575.583,308.654l-0,155.743", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M504.175,352.256l-0,155.744", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M432.526,386.526l0,155.743", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M276.944,464.346c7.641,0.218 13.599,9.046 13.295,19.703c-0.304,10.657 -6.754,19.132 -14.396,18.914c-7.641,-0.218 -13.599,-9.046 -13.295,-19.703c0.304,-10.657 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M276.944,464.346c7.641,0.218 13.599,9.046 13.295,19.703c-0.304,10.657 -6.754,19.132 -14.396,18.914c-7.641,-0.218 -13.599,-9.046 -13.295,-19.703c0.304,-10.657 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + }, + { + "d": "M334.229,439.745c7.642,0.218 13.599,9.047 13.295,19.703c-0.303,10.657 -6.754,19.132 -14.395,18.914c-7.642,-0.217 -13.599,-9.046 -13.296,-19.703c0.304,-10.656 6.755,-19.131 14.396,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M334.229,439.745c7.642,0.218 13.599,9.047 13.295,19.703c-0.303,10.657 -6.754,19.132 -14.395,18.914c-7.642,-0.217 -13.599,-9.046 -13.296,-19.703c0.304,-10.656 6.755,-19.131 14.396,-18.914Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "659.888", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "673.923", + "x": "-0", + "y": "83.333" + }, + { + "d": "M673.923,83.333l-0,659.889l-673.923,-0l-0,-659.889l673.923,0Zm-9.26,9.26l-655.404,-0l0,641.37l655.404,-0l0,-641.37Z", + "fill": { + "paint": "#f00" + }, + "name": "path", + "type": "path" + }, + { + "d": "M677.902,7.199l72.102,72.102c2.21,2.211 2.21,5.801 -0,8.011l-72.102,72.102c-2.211,2.211 -5.801,2.211 -8.012,0l-72.101,-72.102c-2.211,-2.21 -2.211,-5.8 -0,-8.011l72.101,-72.102c2.211,-2.211 5.801,-2.211 8.012,0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M670.18,99.553l-3.9,-52.607l15.232,-0l-3.778,52.607l-7.554,0Zm-3.534,20.115l0,-12.275l14.5,-0l-0,12.275l-14.5,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M666.756,20.549c1.487,-2.531 4.204,-4.085 7.14,-4.085c2.936,-0 5.653,1.554 7.14,4.085c15.679,26.678 52.979,90.145 68.833,117.122c1.505,2.561 1.524,5.732 0.048,8.31c-1.475,2.578 -4.218,4.169 -7.188,4.169l-137.666,-0c-2.97,-0 -5.713,-1.591 -7.188,-4.169c-1.475,-2.578 -1.457,-5.749 0.048,-8.31c15.855,-26.977 53.154,-90.444 68.833,-117.122Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M669.771,110.465l-4.329,-55.419l16.908,-0l-4.193,55.419l-8.386,-0Zm-3.923,21.189l-0,-12.931l16.096,0l0,12.931l-16.096,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M727.33,13.127l0,140.359c0,2.949 -2.394,5.344 -5.343,5.344l-96.182,-0c-2.949,-0 -5.343,-2.395 -5.343,-5.344l-0,-140.359c-0,-2.949 2.394,-5.343 5.343,-5.343l96.182,-0c2.949,-0 5.343,2.394 5.343,5.343Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M669.771,100.468l-4.329,-55.571l16.908,0l-4.193,55.571l-8.386,0Zm-3.923,21.248l-0,-12.967l16.096,0l0,12.967l-16.096,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "673.896", + "cy": "83.307", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "79.974", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M654.057,102.583l-4.328,-62.419l16.908,-0l-4.193,62.419l-8.387,0Zm-3.923,23.866l0,-14.564l16.097,-0l-0,14.564l-16.097,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M686.115,102.583l-4.329,-62.419l16.909,-0l-4.194,62.419l-8.386,0Zm-3.923,23.866l0,-14.564l16.097,-0l-0,14.564l-16.097,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 758 744" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/RedundantPLC/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/RedundantPLC/resource.json new file mode 100644 index 0000000..bc3adf6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/RedundantPLC/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "775248d50081023ab2db634c9442a77ed81d376deef5a222bca5df1c5a73e2cc", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:33:41Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/RedundantPLC/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/RedundantPLC/thumbnail.png new file mode 100644 index 0000000..1a08edd Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/RedundantPLC/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/RedundantPLC/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/RedundantPLC/view.json new file mode 100644 index 0000000..137195c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/RedundantPLC/view.json @@ -0,0 +1,435 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 400, + "width": 400 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "PLCC" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M639.497,584.775l-0,260.676l-395.251,228.424l-0,-260.677l395.251,-228.423Z", + "fill": { + "paint": "#b9bbbd" + }, + "name": "path", + "type": "path" + }, + { + "d": "M244.246,813.196l-0,260.679l-196.361,-113.411l-0,-260.679l196.361,113.411Z", + "fill": { + "paint": "#a3a6a9" + }, + "name": "path", + "type": "path" + }, + { + "d": "M441.871,473.018l197.626,112.847l-395.321,227.333l-197.625,-112.847l395.32,-227.333Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M584.928,673.581l-0,155.744", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M513.519,717.184l0,155.743", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M441.871,751.453l0,155.744", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M286.289,829.274c7.641,0.217 13.599,9.046 13.295,19.703c-0.304,10.656 -6.754,19.131 -14.396,18.914c-7.641,-0.218 -13.599,-9.047 -13.295,-19.703c0.304,-10.657 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M286.289,829.274c7.641,0.217 13.599,9.046 13.295,19.703c-0.304,10.656 -6.754,19.131 -14.396,18.914c-7.641,-0.218 -13.599,-9.047 -13.295,-19.703c0.304,-10.657 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + }, + { + "d": "M343.574,804.673c7.642,0.218 13.599,9.046 13.295,19.703c-0.303,10.657 -6.754,19.132 -14.395,18.914c-7.642,-0.218 -13.599,-9.046 -13.296,-19.703c0.304,-10.657 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M343.574,804.673c7.642,0.218 13.599,9.046 13.295,19.703c-0.303,10.657 -6.754,19.132 -14.395,18.914c-7.642,-0.218 -13.599,-9.046 -13.296,-19.703c0.304,-10.657 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1232.44,228.696l0,260.677l-395.251,228.424l0,-260.677l395.251,-228.424Z", + "fill": { + "paint": "#b9bbbd" + }, + "name": "path", + "type": "path" + }, + { + "d": "M837.191,457.118l0,260.679l-196.361,-113.411l0,-260.679l196.361,113.411Z", + "fill": { + "paint": "#a3a6a9" + }, + "name": "path", + "type": "path" + }, + { + "d": "M1034.82,116.939l197.625,112.848l-395.32,227.333l-197.625,-112.848l395.32,-227.333Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M1177.87,317.503l0,155.743", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1106.46,361.105l-0,155.744", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M1034.82,395.375l-0,155.743", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "16.67px" + }, + "type": "path" + }, + { + "d": "M879.234,473.195c7.642,0.218 13.599,9.046 13.296,19.703c-0.304,10.657 -6.755,19.132 -14.396,18.914c-7.642,-0.218 -13.599,-9.046 -13.296,-19.703c0.304,-10.657 6.755,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M879.234,473.195c7.642,0.218 13.599,9.046 13.296,19.703c-0.304,10.657 -6.755,19.132 -14.396,18.914c-7.642,-0.218 -13.599,-9.046 -13.296,-19.703c0.304,-10.657 6.755,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + }, + { + "d": "M936.52,448.594c7.641,0.218 13.599,9.047 13.295,19.703c-0.304,10.657 -6.754,19.132 -14.396,18.914c-7.642,-0.217 -13.599,-9.046 -13.295,-19.703c0.303,-10.656 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#e5e6e7" + }, + "name": "path", + "type": "path" + }, + { + "d": "M936.52,448.594c7.641,0.218 13.599,9.047 13.295,19.703c-0.304,10.657 -6.754,19.132 -14.396,18.914c-7.642,-0.217 -13.599,-9.046 -13.295,-19.703c0.303,-10.656 6.754,-19.132 14.396,-18.914Z", + "fill": { + "paint": "#fff" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "opacity": "0", + "paint": "#ebebeb" + }, + "height": "1091.35", + "id": "AlarmBorder", + "name": "AlarmBorder", + "type": "rect", + "width": "1317.53", + "x": "0", + "y": "83.333" + }, + { + "d": "M1317.53,83.333l0,1091.35l-1317.53,-0l0,-1091.35l1317.53,0Zm-9.259,9.26l-1299.01,-0l0,1072.83l1299.01,0l-0,-1072.83Z", + "fill": { + "paint": "#f00" + }, + "name": "path", + "type": "path" + }, + { + "d": "M1321.51,7.199l72.102,72.102c2.211,2.211 2.211,5.801 -0,8.011l-72.102,72.102c-2.211,2.211 -5.8,2.211 -8.011,0l-72.102,-72.102c-2.211,-2.21 -2.211,-5.8 -0,-8.011l72.102,-72.102c2.211,-2.211 5.8,-2.211 8.011,0Z", + "fill": { + "paint": "#de7c33" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1313.79,99.553l-3.899,-52.607l15.231,-0l-3.777,52.607l-7.555,0Zm-3.534,20.115l0,-12.275l14.5,-0l0,12.275l-14.5,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1310.36,20.549c1.488,-2.531 4.204,-4.085 7.14,-4.085c2.937,-0 5.653,1.554 7.141,4.085c15.678,26.678 52.978,90.145 68.832,117.122c1.505,2.561 1.524,5.732 0.049,8.31c-1.476,2.578 -4.218,4.169 -7.189,4.169l-137.665,-0c-2.971,-0 -5.714,-1.591 -7.189,-4.169c-1.475,-2.578 -1.457,-5.749 0.048,-8.31c15.855,-26.977 53.155,-90.444 68.833,-117.122Z", + "fill": { + "paint": "#f4b834" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1313.38,110.465l-4.329,-55.419l16.908,-0l-4.193,55.419l-8.386,-0Zm-3.923,21.189l0,-12.931l16.097,0l-0,12.931l-16.097,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1370.93,13.127l0,140.359c0,2.949 -2.394,5.344 -5.343,5.344l-96.181,-0c-2.949,-0 -5.344,-2.395 -5.344,-5.344l0,-140.359c0,-2.949 2.395,-5.343 5.344,-5.343l96.181,-0c2.949,-0 5.343,2.394 5.343,5.343Z", + "fill": { + "paint": "#7166b7" + }, + "name": "path", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1313.38,100.468l-4.329,-55.571l16.908,0l-4.193,55.571l-8.386,0Zm-3.923,21.248l0,-12.967l16.097,0l-0,12.967l-16.097,-0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + }, + { + "cx": "1317.5", + "cy": "83.307", + "fill": { + "paint": "#e22028" + }, + "name": "circle", + "r": "79.974", + "stroke": { + "linejoin": "round", + "paint": "#000", + "width": "5.33px" + }, + "type": "circle" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1297.66,102.583l-4.328,-62.419l16.908,-0l-4.193,62.419l-8.387,0Zm-3.922,23.866l-0,-14.564l16.096,-0l0,14.564l-16.096,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M1329.72,102.583l-4.328,-62.419l16.908,-0l-4.193,62.419l-8.387,0Zm-3.922,23.866l-0,-14.564l16.096,-0l0,14.564l-16.096,0Z", + "fill": { + "paint": "#fff", + "rule": "nonzero" + }, + "name": "path", + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "Alarm-Items", + "name": "Alarm-Items", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1401 1175" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Server/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Server/resource.json new file mode 100644 index 0000000..e386d35 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Server/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "021af919145952588c01982f76698193f8c6f9b9d763710d88deb3fc047b4925", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:33:41Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Server/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Server/thumbnail.png new file mode 100644 index 0000000..1c64d61 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Server/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Server/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Server/view.json new file mode 100644 index 0000000..51bb764 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Server/view.json @@ -0,0 +1,396 @@ +{ + "custom": {}, + "params": { + "Position": true + }, + "propConfig": { + "params.Position": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "ServerA" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.Position" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M271.885,143.572l0,185.595l-147.179,85.023l-0,-185.605l147.179,-85.013Z", + "fill": { + "paint": "#815931" + }, + "name": "path", + "type": "path" + }, + { + "d": "M124.706,228.644l-0,185.546l-72.87,-41.971l-0.576,-185.871l73.446,42.296Z", + "fill": { + "paint": "#f79434" + }, + "name": "path", + "type": "path" + }, + { + "d": "M198.295,101.267l73.59,42.305l-147.179,85.072l-73.446,-42.296l147.035,-85.081Z", + "fill": { + "paint": "#fcc595" + }, + "name": "path", + "type": "path" + }, + { + "d": "M113.458,249.028l-50.458,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M113.458,269.64l-50.458,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M113.458,290.252l-50.458,-29.133", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M382.198,207.17l-0,185.595l-147.18,85.023l0,-185.605l147.18,-85.013Z", + "fill": { + "paint": "#2f4566" + }, + "name": "path", + "type": "path" + }, + { + "d": "M235.764,292.205l0,185.583l-72.87,-41.971l-0.576,-185.871l73.446,42.259Z", + "fill": { + "paint": "#36577f" + }, + "name": "path", + "type": "path" + }, + { + "d": "M309.354,164.903l72.844,42.267l-146.434,85.072l-73.446,-42.258l147.036,-85.081Z", + "fill": { + "paint": "#accde3" + }, + "name": "path", + "type": "path" + }, + { + "d": "M223.771,312.626l-50.459,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M223.771,333.238l-50.459,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M223.771,353.85l-50.459,-29.133", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + } + ], + "name": "group", + "opacity": 20, + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 500 516" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "ServerB" + }, + "position": { + "height": 1, + "width": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.Position" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M154.818,153.435l-0,185.595l147.179,85.023l0,-185.605l-147.179,-85.013Z", + "fill": { + "paint": "#815931" + }, + "name": "path", + "type": "path" + }, + { + "d": "M301.997,238.507l0,185.546l72.87,-41.971l0.576,-185.871l-73.446,42.296Z", + "fill": { + "paint": "#f79434" + }, + "name": "path", + "type": "path" + }, + { + "d": "M228.408,111.13l-73.59,42.305l147.179,85.072l73.446,-42.296l-147.035,-85.081Z", + "fill": { + "paint": "#fcc595" + }, + "name": "path", + "type": "path" + }, + { + "d": "M313.245,258.89l50.458,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M313.245,279.502l50.458,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M313.245,300.114l50.458,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M44.505,217.033l0,185.595l147.18,85.023l-0,-185.605l-147.18,-85.013Z", + "fill": { + "paint": "#2f4566" + }, + "name": "path", + "type": "path" + }, + { + "d": "M190.939,302.068l-0,185.583l72.87,-41.971l0.576,-185.871l-73.446,42.259Z", + "fill": { + "paint": "#36577f" + }, + "name": "path", + "type": "path" + }, + { + "d": "M117.349,174.765l-72.844,42.268l146.434,85.072l73.446,-42.258l-147.036,-85.082Z", + "fill": { + "paint": "#accde3" + }, + "name": "path", + "type": "path" + }, + { + "d": "M202.932,322.488l50.459,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M202.932,343.1l50.459,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M202.932,363.712l50.459,-29.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#fff", + "width": "8.33px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 500 516" + }, + "type": "ia.shapes.svg" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Wgt_Agent/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Wgt_Agent/resource.json new file mode 100644 index 0000000..78d4b9e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Wgt_Agent/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "017e95fbae73b579823005b6ccb5b17eaa9e9cd61ecab2a0a0d443e773306fbf", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T22:29:17Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Wgt_Agent/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Wgt_Agent/thumbnail.png new file mode 100644 index 0000000..7377efa Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Wgt_Agent/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Wgt_Agent/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Wgt_Agent/view.json new file mode 100644 index 0000000..17aca15 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Network/Wgt_Agent/view.json @@ -0,0 +1,791 @@ +{ + "custom": {}, + "params": { + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO6/Independent" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 250, + "width": 400 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Gateway |" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AgentName" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "IO Gateway", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontStyle": "italic" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "style": { + "gap": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Version:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Version" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "8.3.4", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Status", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/IsApproved" + }, + "enabled": false, + "transforms": [ + { + "fallback": "error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Not Approved" + }, + { + "input": true, + "output": "Approved" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Approved", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/IsConnected" + }, + "enabled": false, + "transforms": [ + { + "fallback": "error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Not Connected" + }, + { + "input": true, + "output": "Connected" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Connected", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/IsApproved" + }, + "enabled": false, + "transforms": [ + { + "fallback": "error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Not Running" + }, + { + "input": true, + "output": "Running" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Running", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Browser URL", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/BrowserURL" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "http://ip_address:8088", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "props": { + "alignContent": "space-between", + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "State:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/RunningState" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "text": "Running", + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_3" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Last Comms:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_4" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "75%" + }, + "props": { + "direction": "column", + "style": { + "gap": 3, + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "CPU_Gauge" + }, + "position": { + "basis": "75px" + }, + "propConfig": { + "props.arc.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Metrics/System/CPU Usage" + }, + "transforms": [ + { + "code": "\tif value\u003e 50:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.arcBackground.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Metrics/System/CPU Usage" + }, + "transforms": [ + { + "code": "\tif value\u003e 50:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Metrics/System/CPU Usage" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "arc": { + "width": 0 + }, + "arcBackground": {}, + "endAngle": 450, + "label": { + "offsetY": 12, + "visible": false + }, + "startAngle": 90, + "style": { + "overflow": "visible" + }, + "value": 30 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Metrics/System/CPU Usage" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##.##", + "type": "format" + }, + { + "expression": "{value}+\"% cpu\"", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "30 % cpu", + "textStyle": { + "color": "var(--tagvalue-color)", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CPU_Gauge_0" + }, + "position": { + "basis": "75px" + }, + "propConfig": { + "custom.memory": { + "binding": { + "config": { + "struct": { + "max": "{this.props.maxValue}", + "value": "{this.props.value}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d float(value[\"value\"]) / float(value[\"max\"])\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.arc.color": { + "binding": { + "config": { + "path": "this.props.value" + }, + "transforms": [ + { + "code": "\tif value\u003e 33.0:\n\t\toutput \u003d \"#F1E013\"\n\telif value \u003e66.0:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.arcBackground.color": { + "binding": { + "config": { + "path": "this.props.value" + }, + "transforms": [ + { + "code": "\tif value\u003e 33.0:\n\t\toutput \u003d \"#F1E013\"\n\telif value \u003e50.0:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Metrics/System/Memory Usage" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "arc": { + "width": 0 + }, + "arcBackground": {}, + "endAngle": 450, + "label": { + "color": "#F1E013", + "offsetY": 12, + "visible": false + }, + "startAngle": 90, + "style": { + "overflow": "visible" + }, + "value": 64 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Metrics/System/Memory Usage" + }, + "enabled": false, + "transforms": [ + { + "expression": "{value}+ \" %\"", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "text": "64 %", + "textStyle": { + "color": "var(--tagvalue-color)", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "85%" + }, + "props": { + "style": { + "outlineStyle": "none" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "15%" + }, + "props": { + "style": { + "backgroundColor": "#143663" + }, + "text": "IO GATEWAY", + "textStyle": { + "color": "white", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "outlineColor": "#143663", + "outlineStyle": "solid", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/PLC Healt/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/PLC Healt/resource.json new file mode 100644 index 0000000..11e7dcb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/PLC Healt/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "bbef9bd1b6a0cc537f7057c1abe2f8f75d67a93b68765de5b6cfceda87b241cd", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/PLC Healt/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/PLC Healt/thumbnail.png new file mode 100644 index 0000000..0c7e234 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/PLC Healt/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/PLC Healt/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/PLC Healt/view.json new file mode 100644 index 0000000..34f98b3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/PLC Healt/view.json @@ -0,0 +1,67 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 40, + "width": 80 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100%", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.params.Mode}\u003e0" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--state-faulted)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "paddingLeft": 5, + "paddingRight": 5 + }, + "text": "PLC Fault", + "textStyle": { + "color": "#FFFFFF", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow1)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Tag Selector/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Tag Selector/resource.json new file mode 100644 index 0000000..ae7ce7f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Tag Selector/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3c56e87129bc99922110872ec8440d78d81d34d1989832dcd23a37e2f6f0055c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:36:49Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Tag Selector/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Tag Selector/thumbnail.png new file mode 100644 index 0000000..08bbc39 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Tag Selector/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Tag Selector/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Tag Selector/view.json new file mode 100644 index 0000000..bece17f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Tag Selector/view.json @@ -0,0 +1,252 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 437 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "48px" + }, + "props": { + "style": { + "classes": "Framework/Card/Title" + }, + "text": "Find Tag" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "352px" + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "expression": "{view.params.plant}" + }, + "transforms": [ + { + "code": "\tif value is None or value.strip() \u003d\u003d \"\" :\n\t\treturn []\n\tvalue \u003d value.replace(\" Line\", \"\")\n\t_tagRes \u003d system.tag.browse(path\u003d\"[MQTT Engine]Edge Nodes/%s\"%(value),filter\u003d{\"recursive\":True,\"tagType\":\"AtomicTag\"}).results\n\t\n\tfinal \u003d []\n\tfor tag in _tagRes:\n\t\tfinal.append({\"TagPath\":\"/\".join(str(tag[\"fullPath\"]).split(\"/\")[2:]), \"FullPath\":tag[\"fullPath\"]})\n\t\n\treturn final", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "TagPath", + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "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": "FullPath", + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "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": false, + "width": "" + } + ], + "rows": { + "style": { + "fontSize": 12 + } + } + }, + "type": "ia.display.table" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tselPath \u003d self.parent.parent.getChild(\"Table\").props.selection.data[0].FullPath\n\tsystem.perspective.sendMessage(\"rcvPathSelection\",{\"fullPath\":selPath})\n\t\n\tsystem.perspective.closePopup(\"\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "142px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{.../Table.props.selection.selectedRow} !\u003d None" + }, + "type": "expr" + } + } + }, + "props": { + "text": "Select" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "51.3px" + }, + "props": { + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_AvgMinMax/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_AvgMinMax/resource.json new file mode 100644 index 0000000..461f523 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_AvgMinMax/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9716f888bef680152f6827addbd264666186abf781a04dd5a902c6e859753e49", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:18:56Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_AvgMinMax/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_AvgMinMax/thumbnail.png new file mode 100644 index 0000000..44cdeab Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_AvgMinMax/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_AvgMinMax/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_AvgMinMax/view.json new file mode 100644 index 0000000..ddbd48c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_AvgMinMax/view.json @@ -0,0 +1,374 @@ +{ + "custom": { + "AlarmSeverity": 0 + }, + "params": { + "embedded": true, + "format": "##.##", + "objectName": "PID_Loop", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWST_AvgObj", + "title": "value" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.format": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.title": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 100, + "width": 200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.title" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/OCmd_Select" + }, + "enabled": false, + "transforms": [ + { + "fallback": "Out", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Avg" + }, + { + "input": 1, + "output": "Max" + }, + { + "input": 2, + "output": "Min" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": "Avg", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "propConfig": { + "props.format": { + "binding": { + "config": { + "path": "view.params.format" + }, + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Value OUT" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "align": "left", + "style": { + "backgroundColor": "transparent", + "borderStyle": "none", + "color": "var(--tagvalue-color)" + }, + "value": 53.365 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "48px" + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "0.1px" + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "path": "Library/Alarms/Icons", + "style": { + "marginLeft": -25, + "marginTop": -20, + "overflow": "visible", + "z-index": 0 + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "200px" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "None", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "None" + }, + { + "input": 0, + "output": "None" + }, + { + "input": 1, + "output": "Solid" + }, + { + "input": 2, + "output": "Solid" + }, + { + "input": 3, + "output": "Solid" + }, + { + "input": 4, + "output": "Solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "--containerNested", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PID/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PID/resource.json new file mode 100644 index 0000000..1251b4f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PID/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b81c15e1a18bdd146f9f195442a4f02cd1b6f345beec864d2278077cfbb8acb8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:22:11Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PID/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PID/thumbnail.png new file mode 100644 index 0000000..5ad70ec Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PID/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PID/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PID/view.json new file mode 100644 index 0000000..8968d49 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PID/view.json @@ -0,0 +1,414 @@ +{ + "custom": { + "AlarmSeverity": 0 + }, + "params": { + "embedded": false, + "objectName": "PID_Loop", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_1", + "title": "value" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.title": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 144, + "width": 201 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "0.1px" + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "path": "Library/Alarms/Icons", + "style": { + "marginLeft": 135, + "marginTop": -20, + "overflow": "visible", + "z-index": 2 + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.title" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "SP:", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Control/PSet_SP" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#,###.###", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 0.05, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "48px" + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "PV:", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Input PV" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "###.###", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 0.051, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "48px" + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "CV:", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Out CV" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#,###.###", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "text": 41.945, + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "48px" + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "style": { + "paddingTop": 20 + } + }, + "type": "ia.container.flex" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity}\u003e0, \"Solid\",\"None\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "--containerNested", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PlantFailure/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PlantFailure/resource.json new file mode 100644 index 0000000..03417b4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PlantFailure/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "275c822c3f0a56ad8446ca338b3f63303921ce71b4cdc52b547f16c415cf2e53", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:14:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PlantFailure/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PlantFailure/thumbnail.png new file mode 100644 index 0000000..e1cd45e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PlantFailure/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PlantFailure/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PlantFailure/view.json new file mode 100644 index 0000000..7ae5852 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wdg_PlantFailure/view.json @@ -0,0 +1,320 @@ +{ + "custom": { + "AlarmSeverity": 2 + }, + "params": { + "embedded": true, + "objectName": "PlantFailure", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/SATB1_PlantFailureParameters" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 100, + "width": 200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Alarms/System FAil" + }, + "transforms": [ + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "System OK" + }, + { + "input": true, + "output": "System Fail" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "gap": "5px", + "textAlign": "center" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "0.1px" + }, + "propConfig": { + "props.params.AlarmSeverity": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "type": "property" + } + } + }, + "props": { + "loading": { + "order": "with-parent" + }, + "path": "Library/Alarms/Icons", + "style": { + "marginLeft": -20, + "marginTop": -20, + "overflow": "visible", + "z-index": 0 + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "200px" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "None", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "None" + }, + { + "input": 0, + "output": "None" + }, + { + "input": 1, + "output": "Solid" + }, + { + "input": 2, + "output": "Solid" + }, + { + "input": 3, + "output": "Solid" + }, + { + "input": 4, + "output": "Solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "--containerNested", + "boxShadow": "var(--boxShadow2)", + "classes": "containers/HoverOver", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_EquipmentStatusCount/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_EquipmentStatusCount/resource.json new file mode 100644 index 0000000..4541b50 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_EquipmentStatusCount/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "229ae00bbe8bf689c8b8707da5ad649ef1ee522ab825879259851ba971f4ef72", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T15:57:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_EquipmentStatusCount/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_EquipmentStatusCount/thumbnail.png new file mode 100644 index 0000000..24a79ca Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_EquipmentStatusCount/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_EquipmentStatusCount/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_EquipmentStatusCount/view.json new file mode 100644 index 0000000..9117328 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_EquipmentStatusCount/view.json @@ -0,0 +1,366 @@ +{ + "custom": {}, + "params": { + "Tag": "STU", + "faulted": 8, + "running": 3, + "standby": 25 + }, + "propConfig": { + "params.Tag": { + "paramDirection": "input", + "persistent": true + }, + "params.faulted": { + "paramDirection": "input", + "persistent": true + }, + "params.running": { + "paramDirection": "input", + "persistent": true + }, + "params.standby": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 119, + "width": 110 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Group" + }, + "propConfig": { + "position.height": { + "binding": { + "config": { + "path": "../PieChart.position.height" + }, + "type": "property" + } + }, + "position.width": { + "binding": { + "config": { + "path": "../PieChart.position.width" + }, + "type": "property" + } + }, + "position.x": { + "binding": { + "config": { + "path": "../PieChart.position.x" + }, + "type": "property" + } + }, + "position.y": { + "binding": { + "config": { + "path": "../PieChart.position.y" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.Tag" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "PieChart" + }, + "position": { + "height": 0.8908, + "width": 1 + }, + "propConfig": { + "props.data[0].count": { + "binding": { + "config": { + "path": "view.params.running" + }, + "type": "property" + } + }, + "props.data[1].count": { + "binding": { + "config": { + "path": "view.params.standby" + }, + "type": "property" + } + }, + "props.data[2].count": { + "binding": { + "config": { + "path": "view.params.faulted" + }, + "type": "property" + } + } + }, + "props": { + "colors": [ + "white", + "gray", + "red" + ], + "cutoutRadius": 50, + "data": [ + { + "category": "Running" + }, + { + "category": "Standby" + }, + { + "category": "Faulted" + } + ], + "labels": { + "showName": false, + "showValue": false, + "wrap": { + "maxWidth": 500 + } + }, + "legend": { + "fontSize": 12 + }, + "sectionOutline": { + "color": "#F00404" + }, + "showLabels": false, + "showLegend": false, + "style": { + "outlineColor": "#FF0012", + "outlineStyle": "none", + "outlineWidth": 2, + "overflow": "visible", + "paddingBottom": -5, + "paddingLeft": -5, + "paddingRight": -5, + "paddingTop": -5 + }, + "tooltipFormat": "{category} : {value.formatNumber(\u0027#\u0027)}", + "valueFormat": { + "showValueAsPercent": false + } + }, + "type": "ia.chart.pie" + }, + { + "children": [ + { + "meta": { + "name": "Fault_lbl", + "tooltip": { + "enabled": true, + "text": "Faulted" + } + }, + "position": { + "basis": "15px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "code": "\tresponse \u003d False\n\tif(value\u003e0):\n\t\tresponse\u003dTrue\n\treturn response", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.faulted" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "fontSize": 12 + }, + "textStyle": { + "backgroundColor": "var(--state-faulted)", + "borderBottomLeftRadius": "3px", + "borderBottomRightRadius": "3px", + "borderTopLeftRadius": "3px", + "borderTopRightRadius": "3px", + "color": "White", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Standby_lbl", + "tooltip": { + "enabled": true, + "text": "Standby" + } + }, + "position": { + "basis": "15px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "code": "\tresponse \u003d False\n\tif(value\u003e0):\n\t\tresponse\u003dTrue\n\treturn response", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.standby" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "fontSize": 12 + }, + "textStyle": { + "backgroundColor": "var(--state-standby)", + "borderBottomLeftRadius": "3px", + "borderBottomRightRadius": "3px", + "borderTopLeftRadius": "3px", + "borderTopRightRadius": "3px", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Running_lbl", + "tooltip": { + "enabled": true, + "text": "Running" + } + }, + "position": { + "basis": "15px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "code": "\tresponse \u003d False\n\tif(value\u003e0):\n\t\tresponse\u003dTrue\n\treturn response", + "type": "script" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.running" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--state-running)", + "borderBottomLeftRadius": 3, + "borderBottomRightRadius": 3, + "borderTopLeftRadius": 3, + "borderTopRightRadius": 3, + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "values": { + "running": 18 + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "height": 0.2, + "width": 1, + "x": 0.0091, + "y": 0.8039 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": 5, + "paddingLeft": 15, + "paddingRight": 15 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Gateway/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Gateway/resource.json new file mode 100644 index 0000000..280469b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Gateway/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "05f58bffb3acfe19e4e84cf8c68df081bcb0dbf0beec93fe48467e1fc725db19", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T14:46:50Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Gateway/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Gateway/thumbnail.png new file mode 100644 index 0000000..2f8a260 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Gateway/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Gateway/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Gateway/view.json new file mode 100644 index 0000000..7f04bbd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Gateway/view.json @@ -0,0 +1,192 @@ +{ + "custom": {}, + "params": { + "ipAddr": "172.17.19.44", + "tagProvider": "[Ignition_SATB1_IO1_default]" + }, + "propConfig": { + "params.ipAddr": { + "paramDirection": "input", + "persistent": true + }, + "params.tagProvider": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 108, + "width": 165 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "IP" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.ipAddr" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GWName" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "struct": { + "GWInfo": "{parent.custom.GWInfo}", + "ipAddr": "{view.params.ipAddr}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn value[\"GWInfo\"][\"PlatformName\"] if value[\"GWInfo\"] is not None else utils.GAN.GWMap[value[\"ipAddr\"]]", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "text": "Gateway Server" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Role" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.GWInfo" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn value[\"RedundancyStatus\"] if value is not None else \"--\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Master" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "State" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.GWInfo" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn value[\"RedundantNodeActiveStatus\"] if value is not None else \"Offline\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "text": "Active" + }, + "type": "ia.display.label" + } + ], + "custom": { + "GWInfo": "192.168.1.10" + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.GWInfo": { + "binding": { + "config": { + "struct": { + "ipAddr": "{view.params.ipAddr}", + "timer": "now(3000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn utils.GAN.getGatewayStatus(value[\"ipAddr\"])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.style.borderStyle": { + "binding": { + "config": { + "path": "this.custom.GWInfo" + }, + "transforms": [ + { + "code": "\treturn \"none\" if value is not None else \"solid\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderColor": "--alarmred", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "padding": "4px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_H_Bar-Val/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_H_Bar-Val/resource.json new file mode 100644 index 0000000..b285d34 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_H_Bar-Val/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cf325edf282cc15e5c86245cba8905218e9863acd4e8b210f0de01759f07fb6e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T14:24:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_H_Bar-Val/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_H_Bar-Val/thumbnail.png new file mode 100644 index 0000000..bc92bef Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_H_Bar-Val/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_H_Bar-Val/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_H_Bar-Val/view.json new file mode 100644 index 0000000..0db8983 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_H_Bar-Val/view.json @@ -0,0 +1,143 @@ +{ + "custom": {}, + "params": { + "title": "DH1", + "value": 65 + }, + "propConfig": { + "params.title": { + "paramDirection": "input", + "persistent": true + }, + "params.value": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 150 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "223px" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "path": "view.params.value" + }, + "type": "property" + } + } + }, + "props": { + "desiredHigh": 500, + "desiredLow": 400, + "desiredRangeColor": "var(--state-manual)", + "highAlarm": 1450, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 50, + "lowInterlock": null, + "lowLowAlarm": null, + "maxValue": 1500, + "setpointValue": 65 + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "children": [ + { + "meta": { + "name": "Title" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.title" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.value" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "--tagvalue-color", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EngUnits" + }, + "props": { + "text": "tons", + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ValueSection" + }, + "position": { + "basis": "200px" + }, + "props": { + "justify": "center", + "style": { + "gap": "2px", + "marginTop": -15 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_MovingIndicator/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_MovingIndicator/resource.json new file mode 100644 index 0000000..fa68e44 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_MovingIndicator/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2260de2ee29e35b6394a20da4010d2e9e40b6bde503ac2bde2cb561ed1c73a0d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-20T19:16:24Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_MovingIndicator/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_MovingIndicator/thumbnail.png new file mode 100644 index 0000000..221178e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_MovingIndicator/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_MovingIndicator/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_MovingIndicator/view.json new file mode 100644 index 0000000..b7b621a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_MovingIndicator/view.json @@ -0,0 +1,206 @@ +{ + "custom": { + "EU": "tons", + "Tag": "DH1" + }, + "params": { + "DH": 1, + "tagPath": "[default]simulator/CHW_System/Ton1" + }, + "propConfig": { + "custom.EU": { + "persistent": true + }, + "custom.Tag": { + "binding": { + "config": { + "expression": "concat(\"DH\",{view.params.DH})" + }, + "type": "expr" + }, + "persistent": true + }, + "params.DH": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 63, + "width": 128 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "40%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.Tag" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "basis": "60%" + }, + "propConfig": { + "props.params.EU": { + "binding": { + "config": { + "path": "view.custom.EU" + }, + "type": "property" + } + }, + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.value" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU_Pos": 1, + "Size": 12 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "60%" + }, + "props": { + "style": { + "fontSize": 12, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "40%" + }, + "propConfig": { + "props.desiredHigh": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.value" + }, + "transforms": [ + { + "expression": "{value} + 100", + "type": "expression" + } + ], + "type": "tag" + } + }, + "props.desiredLow": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.value" + }, + "transforms": [ + { + "expression": "{value} - 100", + "type": "expression" + } + ], + "type": "tag" + } + }, + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.value" + }, + "type": "tag" + } + } + }, + "props": { + "desiredRangeColor": "var(--state-running)", + "highAlarm": 1900, + "highHighAlarm": 1950, + "highInterlock": null, + "inactiveAlarmColor": "var(--alarm-high)", + "lowAlarm": 100, + "lowInterlock": 0, + "lowLowAlarm": 0, + "maxValue": 2000, + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_PID_Gauge/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_PID_Gauge/resource.json new file mode 100644 index 0000000..9516a3f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_PID_Gauge/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ee490d9b3fef9d898d58cf918e03f0bfbc6d9ef274f85ce302b4f89cf740f38c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-20T19:47:41Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_PID_Gauge/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_PID_Gauge/thumbnail.png new file mode 100644 index 0000000..6b4121f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_PID_Gauge/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_PID_Gauge/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_PID_Gauge/view.json new file mode 100644 index 0000000..c8febe1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_PID_Gauge/view.json @@ -0,0 +1,257 @@ +{ + "custom": { + "AlarmSeverity": 0 + }, + "params": { + "key": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_PID" + }, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/AlarmSummary/ActiveAlarms" + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn alarm.summary.calcMaxPriority(self.view.params.tagPath)", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.key": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 100, + "width": 100 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "SimpleGauge" + }, + "position": { + "basis": "200px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/CHW_System/Temp" + }, + "type": "tag" + } + } + }, + "props": { + "arc": { + "width": 25 + }, + "label": { + "offsetX": 10, + "offsetY": 22, + "size": 12, + "visible": false + } + }, + "type": "ia.chart.simple-gauge" + } + ], + "meta": { + "name": "Gauge Container" + }, + "position": { + "basis": "85%", + "shrink": 0 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "transforms": [ + { + "fallback": "white", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "expression": "if({view.custom.AlarmSeverity} \u003e0, \"solid\", \"none\")" + }, + "type": "expr" + } + } + }, + "props": { + "justify": "center", + "style": { + "outlineWidth": "2", + "overflow": "visible", + "paddingBottom": "-10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Value" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/CHW_System/Temp" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "--tagvalue-color", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "props": { + "text": "%", + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ValueContainer" + }, + "position": { + "basis": "20%", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "marginLeft": "10px", + "marginTop": "-45px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Title" + }, + "props": { + "text": "CHWP PID", + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Title Container" + }, + "position": { + "basis": "20%", + "shrink": 0 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": "5px", + "marginLeft": "10px", + "marginTop": "-20px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_V_Bar-Val/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_V_Bar-Val/resource.json new file mode 100644 index 0000000..a6a8ce6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_V_Bar-Val/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "49e7ef3c7167df6097dcc9593ec9b754290518754dc01d845531255160b158a1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:04:21Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_V_Bar-Val/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_V_Bar-Val/thumbnail.png new file mode 100644 index 0000000..0ad086c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_V_Bar-Val/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_V_Bar-Val/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_V_Bar-Val/view.json new file mode 100644 index 0000000..386f3fe --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_V_Bar-Val/view.json @@ -0,0 +1,209 @@ +{ + "custom": {}, + "params": { + "tagpath": "value", + "title": "value" + }, + "propConfig": { + "params.tagpath": { + "paramDirection": "input", + "persistent": true + }, + "params.title": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 111, + "width": 51 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "15%" + }, + "props": { + "style": { + "fontSize": 12, + "textAlign": "center" + }, + "text": "Dewpoint" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "MovingAnalogIndicator" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/OPC Tags/SATB1_DH{DH}_Dwpt" + }, + "enabled": false, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "###.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 65, + "desiredLow": 40, + "desiredRangeColor": "#4BC7D3", + "highAlarm": 90, + "highHighAlarm": null, + "highInterlock": null, + "label": { + "style": { + "fontSize": 30, + "fontWeight": "normal", + "overflow": "visible", + "textAlign": "left" + } + }, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null, + "processValue": 65, + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.moving-analog-indicator" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "80%" + }, + "props": { + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "DH": "{view.params.DH}", + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/OPC Tags/SATB1_DH{DH}_Dwpt" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + }, + { + "formatType": "numeric", + "formatValue": "###.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "--tagvalue-color", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "degF", + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "15%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Variable/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Variable/resource.json new file mode 100644 index 0000000..8058613 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Variable/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5203af1be9361191b001ffb9d5b323726e93144c63bd7d1a049bb441a04a4851", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T20:40:06Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Variable/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Variable/thumbnail.png new file mode 100644 index 0000000..f738713 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Variable/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Variable/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Variable/view.json new file mode 100644 index 0000000..40f71d3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/Wgt_Variable/view.json @@ -0,0 +1,334 @@ +{ + "custom": {}, + "params": { + "EU": "degF", + "EU_Pos": 0, + "Size": 12, + "Value": 12.34, + "color": "var(--tagvalue-color)" + }, + "propConfig": { + "params.EU": { + "paramDirection": "input", + "persistent": true + }, + "params.EU_Pos": { + "paramDirection": "input", + "persistent": true + }, + "params.Size": { + "paramDirection": "input", + "persistent": true + }, + "params.Value": { + "paramDirection": "input", + "persistent": true + }, + "params.color": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 54, + "width": 124 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Var", + "tooltip": { + "width": "100%" + } + }, + "position": { + "align": "center", + "grow": 1 + }, + "propConfig": { + "position.basis": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": "75%", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "75%" + }, + { + "input": 1, + "output": "50%" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": "center", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "center" + }, + { + "input": 1, + "output": "bottom" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.Value" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.params.color" + }, + "type": "property" + } + }, + "props.textStyle.fontSize": { + "binding": { + "config": { + "path": "view.params.Size" + }, + "type": "property" + } + }, + "props.textStyle.textAlign": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": "end", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "end" + }, + { + "input": 1, + "output": "center" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.alignVertical": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": "center", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "center" + }, + { + "input": 1, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.EU" + }, + "type": "property" + } + }, + "props.textStyle.fontSize": { + "binding": { + "config": { + "path": "view.params.Size" + }, + "type": "property" + } + }, + "props.textStyle.textAlign": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": "start", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "start" + }, + { + "input": 1, + "output": "center" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + }, + "textStyle": { + "color": "var(--units-color)", + "marginLeft": 1 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "props.direction": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": "row", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "row" + }, + { + "input": 1, + "output": "column" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.gap": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": 2, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": 2 + }, + { + "input": 1, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "#00000000", + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/_Xmtr/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/_Xmtr/resource.json new file mode 100644 index 0000000..c90d3cd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/_Xmtr/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6e9e3edfdc10536dcdb1bdfe93536c918e561776d3cc4ec734059e49bb42f71d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-17T00:23:53Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/_Xmtr/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/_Xmtr/thumbnail.png new file mode 100644 index 0000000..89764b5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/_Xmtr/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/_Xmtr/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/_Xmtr/view.json new file mode 100644 index 0000000..5f568af --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/_Xmtr/view.json @@ -0,0 +1,225 @@ +{ + "custom": { + "H": false, + "v": true + }, + "params": { + "EU": "degF", + "EU_Pos": 0, + "Val": 83 + }, + "propConfig": { + "custom.H": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": true + }, + { + "input": 0, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.v": { + "binding": { + "config": { + "path": "view.params.EU_Pos" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": false + }, + { + "input": 0, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.EU": { + "paramDirection": "input", + "persistent": true + }, + "params.EU_Pos": { + "paramDirection": "input", + "persistent": true + }, + "params.Val": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 75 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Var", + "tooltip": { + "width": "100%" + } + }, + "position": { + "align": "center" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.Val" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "color": "#021CB4", + "fontSize": 12, + "fontWeight": "bold", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU H" + }, + "position": { + "basis": "AUTO" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.custom.H" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.EU" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "marginLeft": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer", + "tooltip": { + "width": 1 + } + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "alignItems": "center", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EU Ver" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.EU" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.custom.v" + }, + "type": "property" + } + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "justify": "flex-end" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/miscValueDisplay/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/miscValueDisplay/resource.json new file mode 100644 index 0000000..7b374bc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/miscValueDisplay/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7ace1041a31ac18144d21d2bceea51c00a543fd28caf0c5e45efaffe7749d3d6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:35:29Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/miscValueDisplay/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/miscValueDisplay/thumbnail.png new file mode 100644 index 0000000..4c75beb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/miscValueDisplay/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/miscValueDisplay/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/miscValueDisplay/view.json new file mode 100644 index 0000000..f347ff5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/miscValueDisplay/view.json @@ -0,0 +1,232 @@ +{ + "custom": {}, + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM/Real Power" + }, + "propConfig": { + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 100 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.00", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "fontSize": 12, + "overflow": "visible" + }, + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12, + "format": "##0.00", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EU" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.EngUnit" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "--units-color", + "fontFamily": "inherit", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "99.9%", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.style.outlineColor": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "overlayOptOut": true, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "white" + }, + { + "input": 0, + "output": "white" + }, + { + "input": 1, + "output": "var(--coolpurple)" + }, + { + "input": 2, + "output": "var(--goldenyellow)" + }, + { + "input": 3, + "output": "var(--sunsetorange)" + }, + { + "input": 4, + "output": "var(--alarmred)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.outlineStyle": { + "binding": { + "config": { + "path": "view.custom.AlarmSeverity" + }, + "overlayOptOut": true, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": -1, + "output": "none" + }, + { + "input": 0, + "output": "none" + }, + { + "input": 1, + "output": "solid" + }, + { + "input": 2, + "output": "solid" + }, + { + "input": 3, + "output": "solid" + }, + { + "input": 4, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "gap": "3px", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)\t" + }, + "enabled": false, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible", + "padding": "3px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/resetButton/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/resetButton/resource.json new file mode 100644 index 0000000..1630e74 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/resetButton/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "83a3cf342c677085ee93f88b8a00782593b611c94e3b1328428f5e2e34c832a6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:35:29Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/resetButton/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/resetButton/thumbnail.png new file mode 100644 index 0000000..d836123 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/resetButton/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/resetButton/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/resetButton/view.json new file mode 100644 index 0000000..cf1e535 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Library/Widgets/resetButton/view.json @@ -0,0 +1,60 @@ +{ + "custom": {}, + "params": { + "rowIndex": "value", + "value": "[Ignition_Common_IO_Gtwy]RT_Tags/ASP/ASP1_RT_Reset" + }, + "propConfig": { + "params.rowIndex": { + "paramDirection": "input", + "persistent": true + }, + "params.value": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 35, + "width": 125 + } + }, + "root": { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.writeAsync([self.view.params.value], [1])" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "35px" + }, + "props": { + "style": { + "margin": 3 + }, + "text": "Runtime Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/Homepage/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/Homepage/resource.json new file mode 100644 index 0000000..9ada9a7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/Homepage/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "36d5550ee1f9122c4bfb64a3d3a94b2ba6abac74b54ca9f4923af959044d777f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:34:55Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/Homepage/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/Homepage/thumbnail.png new file mode 100644 index 0000000..7429b67 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/Homepage/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/Homepage/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/Homepage/view.json new file mode 100644 index 0000000..7d92060 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/Homepage/view.json @@ -0,0 +1,35 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.path": { + "binding": { + "config": { + "path": "session.custom.user_settings.Homepage" + }, + "type": "property" + } + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/TagManagement/MQTT Deployer/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/TagManagement/MQTT Deployer/resource.json new file mode 100644 index 0000000..c860a6f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/TagManagement/MQTT Deployer/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b6a96c840750cc64ed26b5e07aa661383db038424bbbb05539de1c4845237350", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:28:53Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/TagManagement/MQTT Deployer/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/TagManagement/MQTT Deployer/thumbnail.png new file mode 100644 index 0000000..0f11097 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/TagManagement/MQTT Deployer/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/TagManagement/MQTT Deployer/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/TagManagement/MQTT Deployer/view.json new file mode 100644 index 0000000..179efcd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/TagManagement/MQTT Deployer/view.json @@ -0,0 +1,246 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": 1 + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tutils.admin.tags.helper.generateUDTDef()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "120px" + }, + "props": { + "text": "Generate UDT Defs" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "657px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "66px" + }, + "props": { + "style": { + "paddingBottom": "10px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": 2 + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tutils.admin.tags.helper.generateUDTInstances()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "120px" + }, + "props": { + "text": "Generate UDT Instances" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tutils.admin.tags.helper.generateUDTInstances_demo()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "120px" + }, + "props": { + "text": "DEV Generate UDT Instances" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "657px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "66px" + }, + "props": { + "style": { + "paddingBottom": "10px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": 3 + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tbytes \u003d utils.admin.tags.helper.exportAllTags()\n\t\n\tsystem.perspective.download(\"Tag Export.xlsx\", bytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "120px" + }, + "props": { + "text": "Generate MQTT Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "657px" + }, + "props": { + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "66px" + }, + "props": { + "style": { + "paddingBottom": "10px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "padding": "25px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/UserSettings/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/UserSettings/resource.json new file mode 100644 index 0000000..157bc12 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/UserSettings/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a0d3f8b3175dde2df503d44ab08980877de7c938b07dc153d1814777c0815184", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T14:28:41Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/UserSettings/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/UserSettings/thumbnail.png new file mode 100644 index 0000000..2e8db92 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/UserSettings/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/UserSettings/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/UserSettings/view.json new file mode 100644 index 0000000..398a356 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Admin/UserSettings/view.json @@ -0,0 +1,336 @@ +{ + "custom": {}, + "params": {}, + "permissions": { + "securityLevels": [ + { + "children": [], + "name": "Authenticated" + } + ], + "type": "AllOf" + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "58px" + }, + "props": { + "text": "Configure your user preferences here:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "45%" + }, + "props": { + "text": "Homepage" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "256px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "path": "session.custom.user_settings.Homepage" + }, + "type": "property" + } + } + }, + "props": { + "options": [ + { + "label": "A101 Building Overview", + "value": "Pages/Dev/A_Building/L1/A101 Building Overview" + }, + { + "label": "B101 Chillers Dashboards", + "value": "Pages/Dev/B_Mechanical/L1/B101 ChillersDashboard" + }, + { + "label": "B102 Mech Layout", + "value": "Pages/Dev/B_Mechanical/L1/B102 Mech Layout" + }, + { + "label": "B201 CHW Pumps", + "value": "Pages/Dev/B_Mechanical/L2/B201 CHW Pumps" + }, + { + "label": "B202 Chillers", + "value": "Pages/Dev/B_Mechanical/L2/B202 Chillers" + }, + { + "label": "B203 Mechanical Overview", + "value": "Pages/Dev/B_Mechanical/L2/B203 Mech Overview" + }, + { + "label": "C101 Overview", + "value": "Pages/Dev/C_AirSystem/L1/C101 Overview" + }, + { + "label": "C102 Air Layout", + "value": "Pages/Dev/C_AirSystem/L1/C102 Layout" + }, + { + "label": "C201 DH01", + "value": "Pages/Dev/C_AirSystem/L2/C201 DH01" + }, + { + "label": "C202 DH02", + "value": "Pages/Dev/C_AirSystem/L2/C202 DH02" + }, + { + "label": "C203 DH03", + "value": "Pages/Dev/C_AirSystem/L2/C203 DH03" + }, + { + "label": "C204 DH204", + "value": "Pages/Dev/C_AirSystem/L2/C204 DH04" + }, + { + "label": "C205 DH205", + "value": "Pages/Dev/C_AirSystem/L2/C205 DH05" + }, + { + "label": "D101 Electrical Overview", + "value": "Pages/Dev/D_Electrical/L1/D101 Overview" + }, + { + "label": "D102 Electrical Layout", + "value": "Pages/Dev/D_Electrical/L1/D102 Layout" + }, + { + "label": "D103 Electrical Oneline", + "value": "Pages/Dev/D_Electrical/L1/D103 L1 Oneline" + } + ], + "style": { + "marginBottom": "5px", + "marginTop": "5px" + } + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "HomePage" + }, + "position": { + "basis": "34px" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "45%" + }, + "props": { + "text": "Theme" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RadioGroup" + }, + "position": { + "basis": "214.5px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "path": "session.custom.user_settings.Theme" + }, + "type": "property" + } + } + }, + "props": { + "radios": [ + { + "selected": true, + "text": "Light", + "value": "stream-light" + }, + { + "selected": false, + "text": "Dark", + "value": "stream-dark" + } + ] + }, + "type": "ia.input.radio-group" + } + ], + "meta": { + "name": "Light-Dark" + }, + "position": { + "basis": "37px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "45%" + }, + "props": { + "text": "Layout" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Layout" + }, + "position": { + "basis": "37px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "325px", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Settings" + }, + "position": { + "basis": "682px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\thomepage \u003d self.parent.parent.getChild(\"Settings\").getChild(\"FlexContainer\").getChild(\"HomePage\").getChild(\"Dropdown\").props.value\n\ttheme \u003d self.parent.parent.getChild(\"Settings\").getChild(\"FlexContainer\").getChild(\"Light-Dark\").getChild(\"RadioGroup\").props.value\n\tusername \u003d self.session.props.auth.user.userName\n\t\n\tutils.admin.user.saveAllSettings(homepage, theme, username)\n\t\n\tself.session.refreshBinding(\"custom.user_settings\")\n\tsystem.perspective.navigate(\"/\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "157px" + }, + "props": { + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "LastRow" + }, + "position": { + "basis": "44px" + }, + "props": { + "justify": "flex-end" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "setHomepage", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "Set Homepage", + "type": "method" + } + ] + }, + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "gap": "5px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/Active Alarms/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/Active Alarms/resource.json new file mode 100644 index 0000000..f9de3c4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/Active Alarms/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f124669ae239658f510545c37296b7009d0fbee77b62f87e256cac790680b643", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:05:28Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/Active Alarms/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/Active Alarms/thumbnail.png new file mode 100644 index 0000000..e0174b3 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/Active Alarms/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/Active Alarms/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/Active Alarms/view.json new file mode 100644 index 0000000..38c6ee3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/Active Alarms/view.json @@ -0,0 +1,2528 @@ +{ + "custom": { + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + }, + "filters": { + "alm": [], + "prov": [], + "tag": [] + } + }, + "params": {}, + "propConfig": { + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.filters": { + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "IO GW:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "alignItems": "flex-start", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_Common_IO_Gtwy", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_Common_IO_Gtwy", + "source": "prov" + }, + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_SATB1_IO1_default", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_SATB1_IO1_default", + "source": "prov" + } + ], + "path": "Library/Templates/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tsystem.perspective.sendMessage(\u0027clearFilters\u0027, {\n\t\t\u0027source\u0027: source\n\t})\n\tself.parent.parent.parent.parent.getChild(\"AlarmStatusTable\").custom.filters[source] \u003d []" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "prov" + }, + "position": { + "display": false, + "grow": 1 + }, + "props": { + "style": { + "borderBottom": "1px solid var(--border)", + "borderTop": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "Quick Search:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.instances": { + "persistent": true + }, + "props.instances[14].label": { + "binding": { + "config": { + "expression": "\u0027\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH101", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH102", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH201", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH202", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH203", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "CHWS", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Electrical", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--neutral-50)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "", + "mode": "Custom", + "selected": false, + "source": "tag" + } + ], + "path": "Library/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tself.view.custom.filters[source] \u003d []\n\tflexRepeater \u003d self.parent.parent.getChild(\"FlexRepeater\")\n\ttoDelete \u003d []\n\tfor i, instance in enumerate(flexRepeater.props.instances):\n\t\tinstance[\u0027selected\u0027] \u003d False\n\t\tif instance[\u0027mode\u0027] \u003d\u003d \u0027Custom\u0027:\n\t\t\tinstance[\u0027label\u0027] \u003d \u0027\u0027\n\t\t\tif i \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\ttoDelete.append(i)\n\tfor index in reversed(toDelete):\n\t\tflexRepeater.props.instances.pop(index)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "tag" + }, + "position": { + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "RadioGroup" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "expression": "0" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "radioStyle": { + "padding": "0px 10px" + }, + "radios": [ + { + "selected": true, + "text": "Match on ANY", + "value": 0 + }, + { + "selected": false, + "text": "Match on ALL", + "value": 1 + } + ], + "style": { + "borderLeft": "1px solid var(--border)", + "borderRight": "1px solid var(--border)", + "fontSize": "0.8em", + "padding": "4px 5px" + } + }, + "type": "ia.input.radio-group" + }, + { + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "navigate", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "Goto", + "type": "method" + } + ] + }, + "name": "AlarmStatusTable" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.enableAcknowledge": { + "binding": { + "config": { + "path": "view.custom.auth.almAck" + }, + "type": "property" + } + }, + "props.enableShelve": { + "binding": { + "config": { + "path": "view.custom.auth.almShelve" + }, + "type": "property" + } + }, + "props.enableUnshelve": { + "binding": { + "config": { + "path": "view.custom.auth.almShelve" + }, + "type": "property" + } + } + }, + "props": { + "columns": { + "active": { + "activeTime": { + "width": 70 + }, + "displayPath": { + "order": 3, + "width": 250 + }, + "label": { + "enabled": true, + "order": 2 + }, + "name": { + "enabled": false + }, + "priority": { + "order": 4, + "width": 40 + }, + "source": { + "order": 6 + }, + "state": { + "order": 5, + "width": 75 + } + } + }, + "filters": { + "active": { + "conditions": { + "label": "" + }, + "priorities": { + "critical": false, + "high": false, + "low": false, + "medium": false + }, + "results": { + "data": [ + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "2025-08-06 17:50:19.463+0000", + "ackUser": "bgonzales", + "activePipeline": "", + "activeTime": "2025-08-04 12:21:03.934+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH2 Electrical Communcation Loss", + "eventId": "0f1a3251-09c4-4835-9939-2ba918a08ce2", + "eventTime": "2025-08-06 17:50:19.463+0000", + "eventValue": "false", + "isAcked": "true", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1271_PDU_P2-2-3", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO2_default:/tag:GAL1271/SATB1_GAL1271_PDU_P2-2-3/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Acknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "2025-08-06 17:59:31.862+0000", + "ackUser": "therman", + "activePipeline": "", + "activeTime": "2025-08-04 12:21:03.935+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH2 Electrical Communcation Loss", + "eventId": "e9c57742-58e1-4762-a803-66a371a84133", + "eventTime": "2025-08-06 17:59:31.862+0000", + "eventValue": "false", + "isAcked": "true", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1271_PDU_P2-3-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO2_default:/tag:GAL1271/SATB1_GAL1271_PDU_P2-3-4/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Acknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "2025-08-22 01:20:56.511+0000", + "ackUser": "bgonzales", + "activePipeline": "", + "activeTime": "2025-08-04 12:21:03.935+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH2 Electrical Communcation Loss", + "eventId": "3ba8e4fe-169b-40d3-b6c7-8af0036fda2e", + "eventTime": "2025-08-22 01:20:56.511+0000", + "eventValue": "false", + "isAcked": "true", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1271_PDU_P2-3-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO2_default:/tag:GAL1271/SATB1_GAL1271_PDU_P2-3-1/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Acknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "2025-08-22 01:20:56.511+0000", + "ackUser": "bgonzales", + "activePipeline": "", + "activeTime": "2025-08-04 12:21:03.935+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH2 Electrical Communcation Loss", + "eventId": "3747c5db-517d-43d2-8777-82b0a275baf5", + "eventTime": "2025-08-22 01:20:56.511+0000", + "eventValue": "false", + "isAcked": "true", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1271_PDU_P2-2-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO2_default:/tag:GAL1271/SATB1_GAL1271_PDU_P2-2-4/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Acknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-28 22:38:10.566+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH1 Electrical Communcation Loss", + "eventId": "39623807-0f9d-4780-9b71-03954588db40", + "eventTime": "2025-10-28 22:38:10.566+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1261_PDU_P1-4-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO1_default:/tag:GAL1261/SATB1_GAL1261_PDU_P1-4-1/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:17:50.760+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "15aa9f3c-f8c1-461b-9b1a-679eeeb274bc", + "eventTime": "2025-09-25 18:17:50.760+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-5-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-5-4/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:17:50.759+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "35d28fbe-72d8-4f59-bdec-4defd479f53f", + "eventTime": "2025-09-25 18:17:50.759+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-5-2", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-5-2/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:17:50.760+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "a4b911ab-e69c-4c6c-a8ed-24592d3c5e99", + "eventTime": "2025-09-25 18:17:50.760+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-5-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-5-1/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:18:30.763+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "f568c1ee-cd3b-4ea1-8d3f-c116787f3acb", + "eventTime": "2025-09-25 18:18:30.763+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-4-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-4-1/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:18:30.763+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "94ab84b0-0974-4bb4-a3d3-005d60e987a2", + "eventTime": "2025-09-25 18:18:30.763+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-4-3", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-4-3/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:18:30.763+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "87adecfa-5b19-40ce-a30d-a7226e46eed5", + "eventTime": "2025-09-25 18:18:30.763+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-4-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-4-4/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:18:30.763+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "6348e933-de0e-48fc-9af3-15784c2b6424", + "eventTime": "2025-09-25 18:18:30.763+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-4-2", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-4-2/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:19:10.768+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "44b14243-854d-440b-9e1d-bc7b8848e5a6", + "eventTime": "2025-09-25 18:19:10.768+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-3-3", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-3-3/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:19:10.769+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "38aabc7c-9e48-472f-acce-c9fd5b9b1aea", + "eventTime": "2025-09-25 18:19:10.769+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-3-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-3-1/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:19:10.769+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "76f696cc-4676-4d4a-8189-a6042f7c3f05", + "eventTime": "2025-09-25 18:19:10.769+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-3-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-3-4/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:19:10.769+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "9479c4c5-2dec-43d6-b7cd-86845dc60127", + "eventTime": "2025-09-25 18:19:10.769+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-3-2", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-3-2/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:19:50.773+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "4d072fad-6323-4402-bd81-71575a0dd9ee", + "eventTime": "2025-09-25 18:19:50.773+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-2-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-2-4/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:19:50.773+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "697e8b3d-e1b1-4e02-9735-6c516d76fd5f", + "eventTime": "2025-09-25 18:19:50.773+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-2-3", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-2-3/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:20:10.775+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "2400f524-86f8-40f9-aeac-25e56a973f88", + "eventTime": "2025-09-25 18:20:10.775+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-2-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-2-1/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:20:10.776+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "d325f311-83c9-4993-b357-202404c41427", + "eventTime": "2025-09-25 18:20:10.776+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-2-2", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-2-2/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:20:50.779+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "5efc4b28-4d42-416a-a839-00826a7a46ea", + "eventTime": "2025-09-25 18:20:50.779+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-1-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-1-1/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:20:50.779+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "914cef28-a6f6-4dc1-86cb-1ccd9d8eeeb3", + "eventTime": "2025-09-25 18:20:50.779+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-1-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-1-4/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 19:57:11.452+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "497622c1-0bf4-449e-a980-d58d7d1d9a7b", + "eventTime": "2025-09-25 19:57:11.452+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-1-3", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-1-3/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 19:57:11.452+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "24307957-7e95-4d8b-a18f-35f64329e5ef", + "eventTime": "2025-09-25 19:57:11.452+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-1-2", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-1-2/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "", + "ackTime": "", + "ackUser": "", + "activePipeline": "", + "activeTime": "2025-09-25 18:17:30.757+0000", + "clearPipeline": "", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PDU DH3 Electrical Communcation Loss", + "eventId": "2c0d0c51-d4ee-4712-9fd1-eff9c7e9c6a2", + "eventTime": "2025-09-25 18:17:30.757+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1171_PDU_P3-5-3", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_SATB1_IO3_default:/tag:GAL1171/SATB1_GAL1171_PDU_P3-5-3/Alarms/Communcation Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-07 15:25:13.698+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P4 Electrical Not In Auto Alarm", + "eventId": "24ef88c3-cac9-46eb-9ba6-ca85f7b010f0", + "eventTime": "2025-11-07 15:25:13.698+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P4-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P4-1/Alarms/Not In Auto:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 18:17:55.616+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "FCV CHWS DH3 Alarm Summary", + "eventId": "12868b23-8664-46bb-85a2-36465e49ddb9", + "eventTime": "2025-11-10 18:17:55.616+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_DH1170_FCV71", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:DH3/SATB1_DH1170_FCV71/Alarms/Alarm Summary:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 18:17:55.616+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "FCV CHWS DH3 Alarm Stall", + "eventId": "c6c075ce-a5bf-4c47-81b2-b46f8b367a78", + "eventTime": "2025-11-10 18:17:55.616+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_DH1170_FCV71", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:DH3/SATB1_DH1170_FCV71/Alarms/Alarm Stall:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 15:55:15.647+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P4 Electrical Emergency Stop Alarm", + "eventId": "a7ea3bc9-2c98-461e-ac35-0e47c43943a5", + "eventTime": "2025-11-10 15:55:15.647+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P4-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P4-4/Alarms/Emergency Stop:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 15:55:15.647+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P4 Electrical Not In Auto Alarm", + "eventId": "3bbcc899-c3b4-462b-a5ca-42b2f3ee6787", + "eventTime": "2025-11-10 15:55:15.647+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P4-4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P4-4/Alarms/Not In Auto:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 14:53:46.747+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P4 Electrical Emergency Stop Alarm", + "eventId": "1ed80ebb-077c-4e02-8b05-4d188b276018", + "eventTime": "2025-11-10 14:53:46.747+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P4-1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P4-1/Alarms/Emergency Stop:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-21 15:22:41.658+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P5 Electrical Tripped", + "eventId": "a33c7c7d-2ecd-454a-8f3b-119e25c384d8", + "eventTime": "2025-10-21 15:22:41.658+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_5", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-5/Alarms/Tripped:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-21 15:22:41.658+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P5 Electrical Tripped", + "eventId": "501d2e78-9954-4f31-9adf-1d055dbdf6b0", + "eventTime": "2025-10-21 15:22:41.658+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_4", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-4/Alarms/Tripped:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-17 14:35:55.629+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "HUM DH1 Alarm Summary", + "eventId": "a8c7ca67-2ddc-40be-a0e5-16f25197aebc", + "eventTime": "2025-10-17 14:35:55.629+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1262_HUM_01", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:GAL1262/SATB1_GAL1262_HUM_01/Alarms/Alarm Summary:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-17 14:33:35.651+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "AnalogIn DH1 Alarm Fail", + "eventId": "02daede6-8845-4d57-afe4-89a1e551e3d5", + "eventTime": "2025-10-17 14:33:35.651+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_DH1_COR_DP_01", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:DH1/SATB1_DH1_COR_DP_01/Alarms/Alarm Fail:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-17 13:54:55.637+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "AnalogIn DH2 Alarm Fail", + "eventId": "8b142537-2ce4-4896-8d78-95a0bbc80457", + "eventTime": "2025-10-17 13:54:55.637+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_DH2_COR_DP_01", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:DH2/SATB1_DH2_COR_DP_01/Alarms/Alarm Fail:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-16 21:01:15.718+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "FCV CHWS Alarm Summary", + "eventId": "0a92c244-76a6-46f5-a73b-67ed4de21e12", + "eventTime": "2025-10-16 21:01:15.718+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CHW_TES09_MOV60", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1140/SATB1_CHW_TES09_MOV60/Alarms/Alarm Summary:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-16 21:01:15.717+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "FCV CHWS Alarm Stall", + "eventId": "ebef434e-2d41-4c8b-bec9-7697438be56f", + "eventTime": "2025-10-16 21:01:15.717+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CHW_TES09_MOV60", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1140/SATB1_CHW_TES09_MOV60/Alarms/Alarm Stall:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-02 19:02:41.430+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P3 Electrical Tripped", + "eventId": "e32cf225-772e-4530-8853-5b5e00a31ba5", + "eventTime": "2025-10-02 19:02:41.430+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_2", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-2/Alarms/Tripped:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-02 19:02:41.429+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P3 Electrical Tripped", + "eventId": "c4c11b80-3fb5-4831-b441-b83404920614", + "eventTime": "2025-10-02 19:02:41.429+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_1", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-1/Alarms/Tripped:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-02 19:02:37.952+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P3 Electrical Tripped", + "eventId": "5c13a2a1-3cfb-4153-a70c-1004c91d9cd3", + "eventTime": "2025-10-02 19:02:37.952+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_3", + "name": "Alarm", + "notes": "", + "priority": "Critical", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-3/Alarms/Tripped:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 15:55:15.647+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P4 Electrical Shutdown Alarm", + "eventId": "88370823-cffe-413f-9618-a2920eade08a", + "eventTime": "2025-11-10 15:55:15.647+0000", + "eventValue": "4", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P4-4", + "name": "Alarm", + "notes": "", + "priority": "High", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P4-4/Alarms/Shutdown:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "SDC_SAT_B1/Alarm_Active", + "ackTime": "2025-09-07 12:11:26.696+0000", + "ackUser": "bgonzales", + "activePipeline": "SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-07-31 17:15:36.529+0000", + "clearPipeline": "SDC_SAT_B1/Alarm_Active", + "clearTime": "", + "deadband": "0.0", + "displayPath": "Alarm Test/Notification Email", + "eventId": "3b04cbd7-93b4-4cc2-a2aa-35cb05817a35", + "eventTime": "2025-09-07 12:11:26.696+0000", + "eventValue": "true", + "isAcked": "true", + "isActive": "true", + "isClear": "false", + "label": "Notification Email", + "name": "Notification Email", + "notes": "", + "priority": "Medium", + "source": "prov:default:/tag:Alarm Test:/alm:Notification Email", + "state": "Active, Acknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "2025-10-17 18:12:26.449+0000", + "ackUser": "ahadnot", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-17 15:22:55.644+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "Plant Failures CHWS Flow Difference Alarm", + "eventId": "07dc5132-aa07-46c8-9e33-8feaf00f868d", + "eventTime": "2025-10-17 18:12:26.449+0000", + "eventValue": "true", + "isAcked": "true", + "isActive": "true", + "isClear": "false", + "label": "SATB1_PlantFailureParameters", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1140/PLC Tags/SATB1_PlantFailureParameters/Alarms/Flow Difference Alarm:/alm:Alarm", + "state": "Active, Acknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "2025-11-05 20:54:37.572+0000", + "ackUser": "jramirez", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-21 15:22:41.669+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "PANEL AC Primary Power Fault P5.5 Electrical SATB1_ER1165_PNL26", + "eventId": "6b0bd1b2-adcc-4a0a-82ac-a5d555dd5bea", + "eventTime": "2025-11-05 20:54:37.572+0000", + "eventValue": "true", + "isAcked": "true", + "isActive": "true", + "isClear": "false", + "label": "SATB1_ER1165_PNL26", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:ER1165/SATB1_ER1165_PNL26/AC Primary Power Fault/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Acknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:27:58.458+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P5 Electrical Communication Failure Alarm", + "eventId": "5a1a1b6e-6cd1-4e95-a557-a143dd47a4bc", + "eventTime": "2025-10-30 20:27:58.458+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P5-1", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P5-1/Alarms/Communication Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 15:58:45.572+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P4 Electrical Lowe Coolant Temperature Alarm", + "eventId": "40585579-03df-46e8-b2d3-85f9471cf381", + "eventTime": "2025-11-10 15:58:45.572+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P4-5", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P4-5/Alarms/Lowe Coolant Temperature:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 15:19:36.516+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P4 Electrical Lowe Coolant Temperature Alarm", + "eventId": "b245ea29-0c82-45c0-8219-fc29434970b9", + "eventTime": "2025-11-10 15:19:36.516+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P4-4", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P4-4/Alarms/Lowe Coolant Temperature:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 14:25:11.489+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DOAS Communication Loss Alarm", + "eventId": "5c73fe00-eb68-4c0b-8d76-3dcdb59fabc5", + "eventTime": "2025-11-10 14:25:11.489+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_RF_DOAS01", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Roof/SATB1_RF_DOAS01/Alarms/Communication Loss:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 12:33:55.634+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "HUM DH1 Alarm Critical", + "eventId": "1f1ec8b0-4afe-492a-a872-c3bdaeb37209", + "eventTime": "2025-11-10 12:33:55.634+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1261_HUM_03", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:GAL1261/SATB1_GAL1261_HUM_03/Alarms/Alarm Critical:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:27:58.457+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P5 Electrical Comm Failure", + "eventId": "e56fa8c7-9835-47df-92f0-4e5f7659c4cf", + "eventTime": "2025-10-30 20:27:58.457+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_1", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-1/Alarms/Comm Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:27:56.456+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P5 Electrical Communication Failure Alarm", + "eventId": "ba636b03-d607-44aa-bc8a-12eafe67651f", + "eventTime": "2025-10-30 20:27:56.456+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P5-2", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P5-2/Alarms/Communication Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:27:54.454+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P5 Electrical Comm Failure", + "eventId": "1aef8208-2be5-4512-8166-7ff2df60b3a0", + "eventTime": "2025-10-30 20:27:54.454+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_2", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-2/Alarms/Comm Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:20:45.805+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P5 Electrical Comm Failure", + "eventId": "19619cbd-8371-46dc-8969-4b1750d1ed5d", + "eventTime": "2025-10-30 20:20:45.805+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_3", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-3/Alarms/Comm Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:20:45.804+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P5 Electrical Communication Failure Alarm", + "eventId": "10baf1e9-c3ac-44ae-a5df-05194feb1529", + "eventTime": "2025-10-30 20:20:45.804+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P5-3", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P5-3/Alarms/Communication Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:15:30.461+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P5 Electrical Communication Failure Alarm", + "eventId": "c1eeb016-3276-4c2c-94b0-f6a6dcd10870", + "eventTime": "2025-10-30 20:15:30.461+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P5-4", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P5-4/Alarms/Communication Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:15:30.460+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P5 Electrical Comm Failure", + "eventId": "bdef7ed9-f0d9-4373-8967-64c5bb84486d", + "eventTime": "2025-10-30 20:15:30.460+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_4", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-4/Alarms/Comm Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:15:28.458+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P5 Electrical Communication Failure Alarm", + "eventId": "dce9ae81-94e8-4d37-89a7-3fe363e5d8bd", + "eventTime": "2025-10-30 20:15:28.458+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P5-5", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P5-5/Alarms/Communication Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-30 20:15:28.458+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM P5 Electrical Comm Failure", + "eventId": "f842e846-9d6e-4c0a-a8ca-35e77755894d", + "eventTime": "2025-10-30 20:15:28.458+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_P5_5", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-P5-5/Alarms/Comm Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-28 14:38:40.712+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "LLS DH3 Alarm Fail to Add", + "eventId": "aa6500c6-619b-4561-815f-b6163a52e4dd", + "eventTime": "2025-10-28 14:38:40.712+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_DH3_STU_LLS", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:DH3/SATB1_DH3_STU_LLS/Alarms/Alarm Fail to Add:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-21 15:03:50.685+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DiscreteIn M7 Electrical Alarm Target Disagree", + "eventId": "bbcd1617-b2fc-4b32-9db4-845a8baabd1b", + "eventTime": "2025-10-21 15:03:50.685+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_MPR1247_M7_SPD", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1247/SATB1_MPR1247_M7_SPD/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-17 14:35:55.629+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "HUM DH1 Alarm Device Fault", + "eventId": "34c7a024-3409-4943-94d1-8db0c6d43e15", + "eventTime": "2025-10-17 14:35:55.629+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1262_HUM_01", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:GAL1262/SATB1_GAL1262_HUM_01/Alarms/Alarm Device Fault:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-17 14:35:55.628+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "HUM DH1 Alarm Comm Fail", + "eventId": "44948d25-ea65-4e38-ba32-3035d07eaf8b", + "eventTime": "2025-10-17 14:35:55.628+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_GAL1262_HUM_01", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:GAL1262/SATB1_GAL1262_HUM_01/Alarms/Alarm Comm Fail:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-16 22:14:15.696+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "FCV CHWS Alarm Fault", + "eventId": "14b8dbfb-5d5c-4b1d-801d-f3cacb015c42", + "eventTime": "2025-10-16 22:14:15.696+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CHW_TES09_MOV60", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1140/SATB1_CHW_TES09_MOV60/Alarms/Alarm Fault:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-14 15:05:40.074+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN M1 Electrical Fuel High Level Alarm", + "eventId": "b28c34d9-763a-4a27-ae6a-d230c8c00b4e", + "eventTime": "2025-10-14 15:05:40.074+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-M1", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-M1/Alarms/Fuel High Level:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-10-02 19:54:57.620+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "GEN P3 Electrical Fuel High Level Alarm", + "eventId": "48ea6c5d-e61a-4a7d-92a8-118cb006dcfa", + "eventTime": "2025-10-02 19:54:57.620+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_YARD_GEN-P3-2", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_GEN-P3-2/Alarms/Fuel High Level:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-29 20:16:23.090+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DiscreteIn M8 Electrical Alarm Target Disagree", + "eventId": "d004c012-e047-4750-9772-04fd51c93a5b", + "eventTime": "2025-09-29 20:16:23.090+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_MPR1247_M8_SPD", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1247/SATB1_MPR1247_M8_SPD/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-29 19:48:23.734+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DiscreteIn P3.5 Electrical Alarm Target Disagree", + "eventId": "d0e0ba62-e761-414d-bc34-904adeea98e2", + "eventTime": "2025-09-29 19:48:23.734+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_ER1159_SPD", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:ER1159/SATB1_ER1159_SPD/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-29 18:40:14.508+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DiscreteIn M5 Electrical Alarm Target Disagree", + "eventId": "46419923-1dd0-444f-b5ed-fd5ee869b223", + "eventTime": "2025-09-29 18:40:14.508+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_MPR1150_M5_SPD", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1150/SATB1_MPR1150_M5_SPD/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-29 18:40:12.521+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DiscreteIn M6 Electrical Alarm Target Disagree", + "eventId": "41cc9dbf-0421-4229-9331-39acc0675f09", + "eventTime": "2025-09-29 18:40:12.521+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_MPR1150_M6_SPD", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1150/SATB1_MPR1150_M6_SPD/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-29 14:54:10.261+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DiscreteIn M3 Electrical Alarm Target Disagree", + "eventId": "c940df37-df51-41d8-814c-34c37cf72152", + "eventTime": "2025-09-29 14:54:10.261+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_MPR1241_M3_SPD", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1241/SATB1_MPR1241_M3_SPD/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-29 14:19:49.058+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "CAM M1 Electrical Comm Failure", + "eventId": "ebb3afd5-fb93-45ba-ae9e-d45de3ea9886", + "eventTime": "2025-09-29 14:19:49.058+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_CAM_M1", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Yard/SATB1_YARD_CAM-M1/Alarms/Comm Failure:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-29 14:17:54.946+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "DiscreteIn M1 Electrical Alarm Target Disagree", + "eventId": "f2372ff4-9cf2-467b-be4f-aa36c3bc872c", + "eventTime": "2025-09-29 14:17:54.946+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_MPR1240_M1_SPD", + "name": "Alarm", + "notes": "", + "priority": "Medium", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:MPR1240/SATB1_MPR1240_M1_SPD/Alarms/Alarm Target Disagree:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-07 21:58:12.790+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "RTU Outside Air Flow High", + "eventId": "99965af1-1546-4ce3-8eae-41a295b4c1c4", + "eventTime": "2025-11-07 21:58:12.790+0000", + "eventValue": "7625.0", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_RF_RTU02", + "name": "High", + "notes": "", + "priority": "Low", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:Roof/SATB1_RF_RTU02/Outside Air Flow:/alm:High", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-11-10 02:00:59.228+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "FCU Filter Alarm", + "eventId": "ab964b38-d044-4aa0-a265-ea088081134d", + "eventTime": "2025-11-10 02:00:59.228+0000", + "eventValue": "false", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_HS2_IDF1274_FCU14", + "name": "Alarm", + "notes": "", + "priority": "Low", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:IDF1274/SATB1_HS2_IDF1274_FCU14/Alarms/Filter Alarm:/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-30 09:42:44.850+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "RM1102/SATB1_RM1102_Fire System Panel/Fire alarm Supervisory (Notification Alarm)/Alarm", + "eventId": "30cc7ee0-d54c-4be5-9efa-edb212fcffd5", + "eventTime": "2025-09-30 09:42:44.850+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_RM1102_Fire System Panel", + "name": "Alarm", + "notes": "", + "priority": "Low", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:RM1102/SATB1_RM1102_Fire System Panel/Fire alarm Supervisory (Notification Alarm):/alm:Alarm", + "state": "Active, Unacknowledged" + }, + { + "ackNotes": "", + "ackPipeline": "{AckPipeline}", + "ackTime": "", + "ackUser": "", + "activePipeline": "Ignition-SATB1-HMI1/SDC_SAT_B1/Alarm_Active", + "activeTime": "2025-09-17 13:15:19.159+0000", + "clearPipeline": "{ClearPipeline}", + "clearTime": "", + "deadband": "0.0", + "displayPath": "RM1102/SATB1_RM1102_Fire System Panel/Fire Alarm Trouble/Alarm", + "eventId": "f4ddab0a-fdb4-4599-9458-b6ec6d2032b6", + "eventTime": "2025-09-17 13:15:19.159+0000", + "eventValue": "true", + "isAcked": "false", + "isActive": "true", + "isClear": "false", + "label": "SATB1_RM1102_Fire System Panel", + "name": "Alarm", + "notes": "", + "priority": "Low", + "source": "prov:Ignition_Common_IO_Gtwy:/tag:RM1102/SATB1_RM1102_Fire System Panel/Fire Alarm Trouble:/alm:Alarm", + "state": "Active, Unacknowledged" + } + ], + "enabled": true + }, + "states": { + "clearUnacked": false + } + }, + "shelved": { + "results": { + "enabled": true + } + } + }, + "pager": { + "initialOption": 50 + }, + "rowStyles": { + "activeAcked": { + "priorities": { + "critical": { + "backgroundColor": "#e2202888" + }, + "high": { + "backgroundColor": "#de7c3388" + }, + "low": { + "backgroundColor": "#7266b788" + }, + "medium": { + "backgroundColor": "#f4b83488" + } + } + }, + "activeUnacked": { + "priorities": { + "critical": { + "backgroundColor": "var(--alarm-critical)" + }, + "high": { + "backgroundColor": "var(--alarm-high)" + }, + "low": { + "backgroundColor": "var(--alarm-low)" + }, + "medium": { + "backgroundColor": "var(--alarm-medium)" + } + } + } + }, + "shelvingTimes": [ + 2592000, + 43200, + 1800, + 3600, + 7200, + 14400 + ], + "toolbar": { + "enableConfiguration": false, + "enableFilter": false, + "enableFilterResults": false, + "enablePreFilters": false, + "toggleableFilter": false + } + }, + "scripts": { + "customMethods": [ + { + "name": "convertToDict", + "params": [ + "input_str" + ], + "script": " # Split by \u0027:/\u0027, keeping \u0027:\u0027 within key-value pairs\n parts \u003d input_str.split(\u0027:/\u0027)\n result_dict \u003d {}\n \n # Loop through the parts and create key-value pairs\n for part in parts:\n key, value \u003d part.split(\u0027:\u0027, 1)\n result_dict[key] \u003d value\n \n return result_dict" + }, + { + "name": "navigate", + "params": [], + "script": "\tsystem.perspective.print(\"Context Click\")\n\tif len(self.props.selection.active.data) \u003d\u003d 1:\n\t\t#prov:Ignition_SATB1_IO1_default:/tag:Datahall 1/Development/UT HS1/Alarms/Vacuum Fault Interrupter_VF-1 Tripped:/alm:Alarm\n\t\t#prov:Ignition_Common_IO_Gtwy:/tag:Electrical/SES 1B/SEL 3/Over Current:/alm:Over Current\n\t\tsrcPath \u003d self.props.selection.active.data[0].source \n\t\tparams \u003d utils.nav.openL4AlarmPopup(srcPath)\n\t\t\n\t\tsystem.perspective.print(\"Params: %s\"%(params))\n\t\tutils.nav.openEQPopup(params[\"objectName\"], params[\"tagPath\"], modal\u003dTrue, resizable\u003dTrue, draggable\u003dTrue)" + } + ], + "extensionFunctions": [ + { + "enabled": true, + "name": "filterAlarm", + "script": "\tresult \u003d True\n\tsource \u003d self.convertToDict(alarmEvent.get(\u0027source\u0027).toString())\n\tprov \u003d source[\u0027prov\u0027]\n\ttag \u003d alarmEvent.get(\u0027displayPath\u0027).toString() #source[\u0027tag\u0027]\n\talm \u003d source[\u0027alm\u0027]\n\t\n\tfilters \u003d self.view.custom.filters\n\tmatchRule \u003d self.getSibling(\"RadioGroup\").props.value\n\t\n\tif len(filters[\u0027prov\u0027]) \u003e 0:\n\t\tif prov not in filters[\u0027prov\u0027]:\n\t\t\tresult \u003d False\n\t\t\t\n\tif len(filters[\u0027tag\u0027]) \u003e 0:\n\t if matchRule \u003d\u003d 0: # match on ANY\n\t result \u003d False \n\t for t in filters[\u0027tag\u0027]:\n\t if t.upper() in tag.upper():\n\t result \u003d True\n\t break # If any tag matches, we can break out of the loop\n\t elif matchRule \u003d\u003d 1: # match on ALL\n\t for t in filters[\u0027tag\u0027]:\n\t if t.upper() not in tag.upper():\n\t result \u003d False\n\t break # If any tag doesn\u0027t match, stop and return False\n\t\n\treturn result\n\n#\tresult \u003d True\n#\tsource \u003d self.convertToDict(alarmEvent.get(\u0027source\u0027).toString())\n#\tprov \u003d source[\u0027prov\u0027]\n#\ttag \u003d source[\u0027tag\u0027]\n#\talm \u003d source[\u0027alm\u0027]\n#\t\n#\tfilters \u003d self.view.custom.filters\n#\tmatchRule \u003d self.getSibling(\"RadioGroup\").props.value\n#\t\n#\tif len(filters[\u0027prov\u0027]) \u003e 0:\n#\t\tif prov not in filters[\u0027prov\u0027]:\n#\t\t\tresult \u003d False\n#\t\t\t\n#\tif len(filters[\u0027tag\u0027]) \u003e 0:\n#\t if matchRule \u003d\u003d 0: # match on ANY\n#\t result \u003d False \n#\t for t in filters[\u0027tag\u0027]:\n#\t if t.upper() in tag.upper():\n#\t result \u003d True\n#\t break # If any tag matches, we can break out of the loop\n#\t elif matchRule \u003d\u003d 1: # match on ALL\n#\t for t in filters[\u0027tag\u0027]:\n#\t if t.upper() not in tag.upper():\n#\t result \u003d False\n#\t break # If any tag doesn\u0027t match, stop and return False\n#\t\n#\treturn result" + }, + { + "enabled": false, + "name": "filterShelvedAlarm", + "script": null + } + ], + "messageHandlers": [] + }, + "type": "ia.display.alarmstatustable" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "addFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index].selected \u003d True", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "customFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(\u0027tag\u0027).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index][\u0027selected\u0027] \u003d True\n\t\tflexRepeater.props.instances[index][\u0027label\u0027] \u003d label\n\t\tflexRepeater.props.instances.append({\n\t\t\t\"color\": \"var(--neutral-50)\",\n\t\t\t\"filterString\": \"\",\n\t\t\t\"instancePosition\": {},\n\t\t\t\"instanceStyle\": {\n\t\t\t\"classes\": \"\"\n\t\t\t},\n\t\t\t\"mode\": \"Custom\",\n\t\t\t\"selected\": False,\n\t\t\t\"source\": \"tag\",\n\t\t\t\"label\": \"\"\n\t\t\t})", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "removeFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\ti \u003d self.view.custom.filters[source].index(label)\n\t\tself.view.custom.filters[source].pop(i)\n\t\tflexRepeater.props.instances[index].selected \u003d False\n\t\tif flexRepeater.props.instances[index].mode \u003d\u003d \u0027Custom\u0027:\n\t\t\tflexRepeater.props.instances[index].label \u003d \u0027\u0027\n\t\t\tif index \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\tflexRepeater.props.instances.pop(index)\n\telse:\n\t\tpass", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/History Journal/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/History Journal/resource.json new file mode 100644 index 0000000..cdae7f4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/History Journal/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9ca8986005f2641a00769dfc2508b6b5c45d8fc9fb4fb67ef9ad0133660f6367", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:05:42Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/History Journal/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/History Journal/thumbnail.png new file mode 100644 index 0000000..a3afcb7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/History Journal/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/History Journal/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/History Journal/view.json new file mode 100644 index 0000000..10bcd2f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Alarms/History Journal/view.json @@ -0,0 +1,359 @@ +{ + "custom": {}, + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tend \u003d system.date.now()\n\tstart \u003d system.date.addDays(end, -1)\n\tself.getChild(\"root\").getChild(\"AlarmJournalTable\").props.dateRange.historical.startDate \u003d start\n\tself.getChild(\"root\").getChild(\"AlarmJournalTable\").props.dateRange.historical.endDate \u003d end" + }, + "scope": "G", + "type": "script" + } + } + }, + "params": {}, + "props": { + "defaultSize": { + "height": 1163, + "width": 1290 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "80%", + "grow": 1 + }, + "props": { + "placeholder": "Use * for wildcard - e.g. *SomeTag/Alarm*" + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Source Filter" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "style": { + "paddingBottom": "10px", + "paddingLeft": "10px", + "paddingRight": "10px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.meta.name" + }, + "type": "property" + } + } + }, + "props": { + "textStyle": { + "fontSize": 14, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "80%", + "grow": 1 + }, + "props": { + "placeholder": "Use * for wildcard - e.g. *CHWP\n*" + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Display Path Filter" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "style": { + "paddingBottom": "10px", + "paddingLeft": "10px", + "paddingRight": "10px", + "paddingTop": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "AlarmJournalTable" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.filter.conditions.displayPath": { + "binding": { + "config": { + "path": "../Header/Display Path Filter/TextField.props.text" + }, + "type": "property" + } + }, + "props.filter.conditions.source": { + "binding": { + "config": { + "path": "../Header/Source Filter/TextField.props.text" + }, + "type": "property" + } + } + }, + "props": { + "columns": { + "displayPath": { + "enabled": true + }, + "eventId": { + "enabled": false + }, + "state": { + "enabled": true + } + }, + "dateRange": { + "historical": { + "endDate": { + "$": [ + "ts", + 192, + 1776899144055 + ], + "$ts": 1776899144053 + }, + "startDate": { + "$": [ + "ts", + 192, + 1776899144055 + ], + "$ts": 1776812744053 + } + }, + "realtime": { + "interval": 1 + } + }, + "filter": { + "conditions": {}, + "events": { + "acked": false, + "active": false, + "cleared": false + }, + "priorities": { + "critical": false, + "high": false, + "low": false, + "medium": false + } + }, + "pager": { + "initialOption": 100 + }, + "rowStyles": { + "acked": { + "base": { + "color": "#000000" + }, + "priorities": { + "critical": { + "backgroundColor": "#e2202888" + }, + "diagnostic": { + "backgroundColor": "#7166b788" + }, + "high": { + "backgroundColor": "#de7c3388" + }, + "low": { + "backgroundColor": "#7266b788" + }, + "medium": { + "backgroundColor": "#f4b83488" + } + } + }, + "active": { + "base": { + "color": "#000000" + }, + "priorities": { + "critical": { + "backgroundColor": "#ed1c24" + }, + "diagnostic": { + "backgroundColor": "#7166b7", + "color": "#FFFFFF" + }, + "high": { + "backgroundColor": "#de7c33" + }, + "low": { + "backgroundColor": "#7166b7", + "color": "#FFFFFF" + }, + "medium": { + "backgroundColor": "#f4b834" + } + } + }, + "cleared": { + "base": { + "color": "#FFFFFF" + }, + "priorities": { + "critical": { + "backgroundColor": "#2E5EAA" + }, + "diagnostic": { + "backgroundColor": "#FFFFFF" + }, + "high": { + "backgroundColor": "#507ABF" + }, + "low": { + "backgroundColor": "#A0BEEF" + }, + "medium": { + "backgroundColor": "#7198D6" + } + } + } + }, + "toolbar": { + "enableFilter": false, + "enableFilterResults": false, + "toggleableFilter": false + } + }, + "type": "ia.display.alarmjournaltable" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\t\n\tdateRange \u003d self.parent.parent.getChild(\"AlarmJournalTable\").props.dateRange\n\tif dateRange[\u0027mode\u0027] \u003d\u003d \u0027historical\u0027:\n\t\thist \u003d dateRange[\u0027historical\u0027]\n\t\tstartDate \u003d hist[\u0027startDate\u0027]\n\t\tendDate \u003d hist[\u0027endDate\u0027]\n\telse:\n\t\treal \u003d dateRange[\u0027realtime\u0027]\n\t\t\n\t\tendDate \u003d system.date.now()\n\t\tunit \u003d real[\u0027unit\u0027]\n\t\tinterval \u003d real[\u0027interval\u0027]\n\t\t\n\t\tif unit \u003d\u003d \"seconds\":\n\t\t\tstartDate \u003d system.date.addSeconds(endDate, -interval)\n\t\telif unit \u003d\u003d \"minutes\":\n\t\t\tstartDate \u003d system.date.addMinutes(endDate, -interval)\n\t\telif unit \u003d\u003d \"hours\":\n\t\t\tstartDate \u003d system.date.addHours(endDate, -interval)\n\t\telif unit \u003d\u003d \"days\":\n\t\t\tstartDate \u003d system.date.addDays(endDate, -interval)\n\t\telif unit \u003d\u003d \"weeks\":\n\t\t\tstartDate \u003d system.date.addWeeks(endDate, -interval)\n\t\telif unit \u003d\u003d \"months\":\n\t\t\tstartDate \u003d system.date.addMonths(endDate, -interval)\n\t\telif unit \u003d\u003d \"years\":\n\t\t\tstartDate \u003d system.date.addYears(endDate, -interval)\n\t\n\t\n\tfilter \u003d self.parent.parent.getChild(\"AlarmJournalTable\").props.filter\n\tpriority \u003d helper.util.true_keys(filter[\u0027priorities\u0027])\n\tevents \u003d helper.util.true_keys(filter[\u0027events\u0027])\n\tstate \u003d helper.util.parse_event_filter_to_query_states(events)\n\tsource \u003d filter[\u0027conditions\u0027][\u0027source\u0027]\n\tdisplayPath \u003d filter[\u0027conditions\u0027][\u0027displayPath\u0027]\n\t\n\n\talarms \u003d system.alarm.queryJournal(startDate \u003d startDate, endDate\u003dendDate, priority\u003dpriority, state\u003dstate, includeData\u003dTrue, source\u003dsource, displaypath\u003ddisplayPath)\n\t\n\theaders \u003d [\u0027eventTime\u0027, \u0027source\u0027, \u0027eventState\u0027, \u0027eventValue\u0027, \u0027displayPath\u0027, \u0027label\u0027, \u0027id\u0027]\n\trows \u003d []\n\t\n\tfor alarm in alarms:\n\t\trows.append([str(alarm[header]) for header in headers])\n\t\t\n\talarmData \u003d system.dataset.toDataSet(headers, rows)\n\tsummaryDS \u003d helper.journal.groupJournalByPathAndState(alarms)\n\t\n\texcelBytes \u003d system.dataset.toExcel(True, [alarmData, summaryDS], sheetNames\u003d[\"Journal\", \"Counts\"])\n\t# Trigger download on the client\n\tend_str \u003d system.date.format(endDate, \u0027yyMMddHHmmss\u0027)\n\tstart_str \u003d system.date.format(startDate, \u0027yyMMddHHmmss\u0027)\n\tfname \u003d \u0027_\u0027.join([\u0027AlarmHist\u0027,end_str, start_str,\u0027.xlsx\u0027])\n\t\n\tsystem.perspective.download(fname, excelBytes, \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\")\n\t\n\treturn\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "DirectExport" + }, + "position": { + "basis": "205px" + }, + "props": { + "style": { + "marginBottom": "10px", + "marginTop": "10px" + }, + "text": "Export Summary" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "58px" + }, + "props": { + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/CHW_System/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/CHW_System/resource.json new file mode 100644 index 0000000..52c2cf4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/CHW_System/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "da5a52f3014d927944f977db171c52582f15a0fe8545ff4200ff8affcb603015", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T20:39:11Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/CHW_System/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/CHW_System/thumbnail.png new file mode 100644 index 0000000..77dc9bc Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/CHW_System/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/CHW_System/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/CHW_System/view.json new file mode 100644 index 0000000..2fe3d1a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/CHW_System/view.json @@ -0,0 +1,17625 @@ +{ + "custom": { + "data": "value" + }, + "params": {}, + "propConfig": { + "custom.data": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1000, + "width": 1700 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "CH Flex 1" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 2" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 3" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 4" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 5" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 6" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 7" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 8" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 9" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 10" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 11" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 12" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 13" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 14" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 15" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 16" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 17" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 18" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 19" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 20" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 21" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 22" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 23" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 24" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 25" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 26" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 27" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 28" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 29" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 30" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "CH Flex 31" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-end", + "direction": "column", + "instances": [ + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + }, + { + "LLS_tagPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS/Reference Devices", + "MTR_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "SYS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_SYSTEM", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ChillerSystem" + } + ], + "justify": "flex-end", + "path": "Library/Symbols/Mechanical/Sym_CHW_System_Status", + "style": { + "gap": "15px", + "overflow": "visible" + }, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Upper Section" + }, + "props": { + "justify": "space-between", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": 10 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "custom": { + "paths": [ + "[Ignition_Common_IO_Gtwy]DH1", + "[Ignition_Common_IO_Gtwy]DH2", + "[Ignition_Common_IO_Gtwy]DH3", + "[Ignition_Common_IO_Gtwy]DH4", + "[Ignition_Common_IO_Gtwy]DH5" + ], + "raw": [ + { + "SATB1_CHW_DH1_DP01": 21.940000534057617, + "SATB1_CHW_DH1_DP02": 22.149999618530273, + "SATB1_CHW_DH1_DP03": 21.989999771118164, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.020000457763672, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 20.93000030517578, + "SATB1_CHW_DH2_DP04": 23.139999389648438, + "SATB1_CHW_DH3_DP01": 22.889999389648438, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 22.8799991607666, + "SATB1_CHW_DH4_DP04": 24.3700008392334, + "SATB1_CHW_DH5_DP01": 23.600000381469727, + "SATB1_CHW_DH5_DP02": 22.940000534057617, + "SATB1_CHW_DH5_DP03": 23.399999618530273, + "SATB1_CHW_DH5_DP04": 23.799999237060547, + "t_stamp": 1776695198398 + }, + { + "SATB1_CHW_DH1_DP01": 22.207178606919623, + "SATB1_CHW_DH1_DP02": 22.23016488533223, + "SATB1_CHW_DH1_DP03": 21.96326365919113, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.162485576302817, + "SATB1_CHW_DH2_DP02": 22.7498346569041, + "SATB1_CHW_DH2_DP03": 21.13496864775205, + "SATB1_CHW_DH2_DP04": 23.15781679156462, + "SATB1_CHW_DH3_DP01": 23.397993651094584, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.710673791469738, + "SATB1_CHW_DH3_DP04": 23.031094586648994, + "SATB1_CHW_DH4_DP01": 23.48673375079903, + "SATB1_CHW_DH4_DP02": 24.065460907656714, + "SATB1_CHW_DH4_DP03": 23.147212830483546, + "SATB1_CHW_DH4_DP04": 24.432345647826985, + "SATB1_CHW_DH5_DP01": 23.118890658196545, + "SATB1_CHW_DH5_DP02": 22.98452723853155, + "SATB1_CHW_DH5_DP03": 23.14173684318089, + "SATB1_CHW_DH5_DP04": 23.84453810658351, + "t_stamp": 1776695228398 + }, + { + "SATB1_CHW_DH1_DP01": 22.239999771118164, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 21.959999084472656, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.18000030517578, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 21.15999984741211, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.459999084472656, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.68000030517578, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.059999465942383, + "SATB1_CHW_DH4_DP03": 23.18000030517578, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.059999465942383, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.110000610351562, + "SATB1_CHW_DH5_DP04": 23.850000381469727, + "t_stamp": 1776695258398 + }, + { + "SATB1_CHW_DH1_DP01": 21.972812638091074, + "SATB1_CHW_DH1_DP02": 22.12419986863148, + "SATB1_CHW_DH1_DP03": 22.11150284419388, + "SATB1_CHW_DH1_DP04": 21.012177351280158, + "SATB1_CHW_DH2_DP01": 22.13547577023057, + "SATB1_CHW_DH2_DP02": 22.71327593253646, + "SATB1_CHW_DH2_DP03": 20.856992944534106, + "SATB1_CHW_DH2_DP04": 23.1243638340249, + "SATB1_CHW_DH3_DP01": 23.023295843401947, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.920377156248524, + "SATB1_CHW_DH3_DP04": 22.94093459140699, + "SATB1_CHW_DH4_DP01": 23.436530464724495, + "SATB1_CHW_DH4_DP02": 24.02436500423794, + "SATB1_CHW_DH4_DP03": 23.09983198857524, + "SATB1_CHW_DH4_DP04": 24.342023992423208, + "SATB1_CHW_DH5_DP01": 23.567856586907155, + "SATB1_CHW_DH5_DP02": 22.927663876215618, + "SATB1_CHW_DH5_DP03": 23.42169630802879, + "SATB1_CHW_DH5_DP04": 23.769823555311117, + "t_stamp": 1776695288398 + }, + { + "SATB1_CHW_DH1_DP01": 21.940000534057617, + "SATB1_CHW_DH1_DP02": 22.110000610351562, + "SATB1_CHW_DH1_DP03": 22.1299991607666, + "SATB1_CHW_DH1_DP04": 21.010000228881836, + "SATB1_CHW_DH2_DP01": 22.1299991607666, + "SATB1_CHW_DH2_DP02": 22.709999084472656, + "SATB1_CHW_DH2_DP03": 20.81999969482422, + "SATB1_CHW_DH2_DP04": 23.1200008392334, + "SATB1_CHW_DH3_DP01": 22.969999313354492, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.950000762939453, + "SATB1_CHW_DH3_DP04": 22.93000030517578, + "SATB1_CHW_DH4_DP01": 23.43000030517578, + "SATB1_CHW_DH4_DP02": 24.020000457763672, + "SATB1_CHW_DH4_DP03": 23.09000015258789, + "SATB1_CHW_DH4_DP04": 24.329999923706055, + "SATB1_CHW_DH5_DP01": 23.6299991607666, + "SATB1_CHW_DH5_DP02": 22.920000076293945, + "SATB1_CHW_DH5_DP03": 23.459999084472656, + "SATB1_CHW_DH5_DP04": 23.760000228881836, + "t_stamp": 1776695318398 + }, + { + "SATB1_CHW_DH1_DP01": 21.98453523244984, + "SATB1_CHW_DH1_DP02": 22.199080553788846, + "SATB1_CHW_DH1_DP03": 22.112177640738054, + "SATB1_CHW_DH1_DP04": 21.14366347805181, + "SATB1_CHW_DH2_DP01": 22.049844028214917, + "SATB1_CHW_DH2_DP02": 22.763449980322196, + "SATB1_CHW_DH2_DP03": 20.98040527309166, + "SATB1_CHW_DH2_DP04": 23.10218235867917, + "SATB1_CHW_DH3_DP01": 22.720463385816725, + "SATB1_CHW_DH3_DP02": 23.104360055377512, + "SATB1_CHW_DH3_DP03": 22.887661968273303, + "SATB1_CHW_DH3_DP04": 22.956720999315806, + "SATB1_CHW_DH4_DP01": 23.394355198962078, + "SATB1_CHW_DH4_DP02": 24.08236214652109, + "SATB1_CHW_DH4_DP03": 22.94747049535857, + "SATB1_CHW_DH4_DP04": 24.383445011026758, + "SATB1_CHW_DH5_DP01": 23.416170492318784, + "SATB1_CHW_DH5_DP02": 22.982345322983495, + "SATB1_CHW_DH5_DP03": 23.67376151820984, + "SATB1_CHW_DH5_DP04": 23.813451753107707, + "t_stamp": 1776695348398 + }, + { + "SATB1_CHW_DH1_DP01": 21.989999771118164, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.110000610351562, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.040000915527344, + "SATB1_CHW_DH2_DP02": 22.770000457763672, + "SATB1_CHW_DH2_DP03": 21, + "SATB1_CHW_DH2_DP04": 23.100000381469727, + "SATB1_CHW_DH3_DP01": 22.690000534057617, + "SATB1_CHW_DH3_DP02": 23.100000381469727, + "SATB1_CHW_DH3_DP03": 22.8799991607666, + "SATB1_CHW_DH3_DP04": 22.959999084472656, + "SATB1_CHW_DH4_DP01": 23.389999389648438, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 22.93000030517578, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.389999389648438, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.700000762939453, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776695378398 + }, + { + "SATB1_CHW_DH1_DP01": 22.11470995331637, + "SATB1_CHW_DH1_DP02": 22.076365788184223, + "SATB1_CHW_DH1_DP03": 22.092176347472236, + "SATB1_CHW_DH1_DP04": 21.11544487542234, + "SATB1_CHW_DH2_DP01": 22.164703842210393, + "SATB1_CHW_DH2_DP02": 22.74327306425073, + "SATB1_CHW_DH2_DP03": 20.99108786856034, + "SATB1_CHW_DH2_DP04": 23.10891017936708, + "SATB1_CHW_DH3_DP01": 23.2069136965032, + "SATB1_CHW_DH3_DP02": 23.1356406857671, + "SATB1_CHW_DH3_DP03": 22.924533708969893, + "SATB1_CHW_DH3_DP04": 23.06689674014379, + "SATB1_CHW_DH4_DP01": 23.496935702033063, + "SATB1_CHW_DH4_DP02": 24.02763547289659, + "SATB1_CHW_DH4_DP03": 23.027997215347803, + "SATB1_CHW_DH4_DP04": 24.30091814343409, + "SATB1_CHW_DH5_DP01": 23.692932623371075, + "SATB1_CHW_DH5_DP02": 22.954370424899036, + "SATB1_CHW_DH5_DP03": 23.459491804321118, + "SATB1_CHW_DH5_DP04": 23.811090378788553, + "t_stamp": 1776695408398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1299991607666, + "SATB1_CHW_DH1_DP02": 22.059999465942383, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.110000610351562, + "SATB1_CHW_DH2_DP01": 22.18000030517578, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 20.989999771118164, + "SATB1_CHW_DH2_DP04": 23.110000610351562, + "SATB1_CHW_DH3_DP01": 23.270000457763672, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.93000030517578, + "SATB1_CHW_DH3_DP04": 23.079999923706055, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.020000457763672, + "SATB1_CHW_DH4_DP03": 23.040000915527344, + "SATB1_CHW_DH4_DP04": 24.290000915527344, + "SATB1_CHW_DH5_DP01": 23.729999542236328, + "SATB1_CHW_DH5_DP02": 22.950000762939453, + "SATB1_CHW_DH5_DP03": 23.43000030517578, + "SATB1_CHW_DH5_DP04": 23.809999465942383, + "t_stamp": 1776695438398 + }, + { + "SATB1_CHW_DH1_DP01": 22.06764239333773, + "SATB1_CHW_DH1_DP02": 22.11345558034259, + "SATB1_CHW_DH1_DP03": 22.04544083251953, + "SATB1_CHW_DH1_DP04": 21.25258389382073, + "SATB1_CHW_DH2_DP01": 22.18000030517578, + "SATB1_CHW_DH2_DP02": 22.820182243433255, + "SATB1_CHW_DH2_DP03": 21.18606315917969, + "SATB1_CHW_DH2_DP04": 23.270377555202092, + "SATB1_CHW_DH3_DP01": 23.50172132841746, + "SATB1_CHW_DH3_DP02": 23.175642726858392, + "SATB1_CHW_DH3_DP03": 22.70732576060004, + "SATB1_CHW_DH3_DP04": 22.982007913461207, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.064547929617877, + "SATB1_CHW_DH4_DP03": 23.20927316782701, + "SATB1_CHW_DH4_DP04": 24.3701756885742, + "SATB1_CHW_DH5_DP01": 23.391415337172464, + "SATB1_CHW_DH5_DP02": 22.95890708292251, + "SATB1_CHW_DH5_DP03": 23.14494515943552, + "SATB1_CHW_DH5_DP04": 23.854547803793523, + "t_stamp": 1776695468398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059999465942383, + "SATB1_CHW_DH1_DP02": 22.1200008392334, + "SATB1_CHW_DH1_DP03": 22.040000915527344, + "SATB1_CHW_DH1_DP04": 21.270000457763672, + "SATB1_CHW_DH2_DP01": 22.18000030517578, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.209999084472656, + "SATB1_CHW_DH2_DP04": 23.290000915527344, + "SATB1_CHW_DH3_DP01": 23.530000686645508, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.68000030517578, + "SATB1_CHW_DH3_DP04": 22.969999313354492, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.06999969482422, + "SATB1_CHW_DH4_DP03": 23.229999542236328, + "SATB1_CHW_DH4_DP04": 24.3799991607666, + "SATB1_CHW_DH5_DP01": 23.350000381469727, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.110000610351562, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776695498398 + }, + { + "SATB1_CHW_DH1_DP01": 22.19361717219925, + "SATB1_CHW_DH1_DP02": 22.128908213613542, + "SATB1_CHW_DH1_DP03": 22.27170369625171, + "SATB1_CHW_DH1_DP04": 21.082864311773662, + "SATB1_CHW_DH2_DP01": 22.019667377766282, + "SATB1_CHW_DH2_DP02": 22.785456254877158, + "SATB1_CHW_DH2_DP03": 21.022854138555488, + "SATB1_CHW_DH2_DP04": 23.26327169471167, + "SATB1_CHW_DH3_DP01": 22.87051020698195, + "SATB1_CHW_DH3_DP02": 23.144358010789695, + "SATB1_CHW_DH3_DP03": 22.99173525378591, + "SATB1_CHW_DH3_DP04": 23.014540514792287, + "SATB1_CHW_DH4_DP01": 23.447620913488166, + "SATB1_CHW_DH4_DP02": 24.105637989252084, + "SATB1_CHW_DH4_DP03": 23.09636683651759, + "SATB1_CHW_DH4_DP04": 24.335458082782512, + "SATB1_CHW_DH5_DP01": 23.207442602687372, + "SATB1_CHW_DH5_DP02": 22.93327756257205, + "SATB1_CHW_DH5_DP03": 23.35941520912926, + "SATB1_CHW_DH5_DP04": 23.77090824022678, + "t_stamp": 1776695528398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209999084472656, + "SATB1_CHW_DH1_DP02": 22.1299991607666, + "SATB1_CHW_DH1_DP03": 22.299999237060547, + "SATB1_CHW_DH1_DP04": 21.059999465942383, + "SATB1_CHW_DH2_DP01": 22, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 22.790000915527344, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 23.030000686645508, + "SATB1_CHW_DH3_DP04": 23.020000457763672, + "SATB1_CHW_DH4_DP01": 23.440000534057617, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.329999923706055, + "SATB1_CHW_DH5_DP01": 23.190000534057617, + "SATB1_CHW_DH5_DP02": 22.93000030517578, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.760000228881836, + "t_stamp": 1776695558398 + }, + { + "SATB1_CHW_DH1_DP01": 22.103111380317113, + "SATB1_CHW_DH1_DP02": 22.245813015435083, + "SATB1_CHW_DH1_DP03": 22.05046534044726, + "SATB1_CHW_DH1_DP04": 20.970884488842447, + "SATB1_CHW_DH2_DP01": 22.32955560308634, + "SATB1_CHW_DH2_DP02": 22.735455500443777, + "SATB1_CHW_DH2_DP03": 21.098030511100152, + "SATB1_CHW_DH2_DP04": 23.170904889011382, + "SATB1_CHW_DH3_DP01": 23.538619828666455, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.851878548596638, + "SATB1_CHW_DH3_DP04": 22.984369423763614, + "SATB1_CHW_DH4_DP01": 23.502381674809996, + "SATB1_CHW_DH4_DP02": 24.083272444065628, + "SATB1_CHW_DH4_DP03": 23.06218214618832, + "SATB1_CHW_DH4_DP04": 24.356723753804086, + "SATB1_CHW_DH5_DP01": 23.49293500334422, + "SATB1_CHW_DH5_DP02": 22.95672038183064, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.795636011918386, + "t_stamp": 1776695588398 + }, + { + "SATB1_CHW_DH1_DP01": 22.09000015258789, + "SATB1_CHW_DH1_DP02": 22.260000228881836, + "SATB1_CHW_DH1_DP03": 22.020000457763672, + "SATB1_CHW_DH1_DP04": 20.959999084472656, + "SATB1_CHW_DH2_DP01": 22.3700008392334, + "SATB1_CHW_DH2_DP02": 22.729999542236328, + "SATB1_CHW_DH2_DP03": 21.110000610351562, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.6299991607666, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.829999923706055, + "SATB1_CHW_DH3_DP04": 22.979999542236328, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.079999923706055, + "SATB1_CHW_DH4_DP03": 23.059999465942383, + "SATB1_CHW_DH4_DP04": 24.360000610351562, + "SATB1_CHW_DH5_DP01": 23.530000686645508, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.799999237060547, + "t_stamp": 1776695618398 + }, + { + "SATB1_CHW_DH1_DP01": 22.125629790127526, + "SATB1_CHW_DH1_DP02": 22.1976398340861, + "SATB1_CHW_DH1_DP03": 22.15367788984065, + "SATB1_CHW_DH1_DP04": 21.164954628493092, + "SATB1_CHW_DH2_DP01": 22.174042886708385, + "SATB1_CHW_DH2_DP02": 22.774543986030665, + "SATB1_CHW_DH2_DP03": 21.243675542476563, + "SATB1_CHW_DH2_DP04": 23.293639780209443, + "SATB1_CHW_DH3_DP01": 23.13983067404429, + "SATB1_CHW_DH3_DP02": 23.148909778416638, + "SATB1_CHW_DH3_DP03": 22.874531470809533, + "SATB1_CHW_DH3_DP04": 23.149248159568728, + "SATB1_CHW_DH4_DP01": 23.456533378158717, + "SATB1_CHW_DH4_DP02": 24.15127318906784, + "SATB1_CHW_DH4_DP03": 23.033274553426107, + "SATB1_CHW_DH4_DP04": 24.43126425117949, + "SATB1_CHW_DH5_DP01": 23.619096175521353, + "SATB1_CHW_DH5_DP02": 23.022351589944865, + "SATB1_CHW_DH5_DP03": 23.496889700177963, + "SATB1_CHW_DH5_DP04": 23.83563612543764, + "t_stamp": 1776695648398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1299991607666, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.170000076293945, + "SATB1_CHW_DH1_DP04": 21.190000534057617, + "SATB1_CHW_DH2_DP01": 22.149999618530273, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.260000228881836, + "SATB1_CHW_DH2_DP04": 23.309999465942383, + "SATB1_CHW_DH3_DP01": 23.079999923706055, + "SATB1_CHW_DH3_DP02": 23.149999618530273, + "SATB1_CHW_DH3_DP03": 22.8799991607666, + "SATB1_CHW_DH3_DP04": 23.170000076293945, + "SATB1_CHW_DH4_DP01": 23.450000762939453, + "SATB1_CHW_DH4_DP02": 24.15999984741211, + "SATB1_CHW_DH4_DP03": 23.030000686645508, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.6299991607666, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.510000228881836, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776695678398 + }, + { + "SATB1_CHW_DH1_DP01": 22.201256863254706, + "SATB1_CHW_DH1_DP02": 22.11873483197712, + "SATB1_CHW_DH1_DP03": 22.098706665842677, + "SATB1_CHW_DH1_DP04": 21.07415658226013, + "SATB1_CHW_DH2_DP01": 22.19453424447664, + "SATB1_CHW_DH2_DP02": 22.80672470836106, + "SATB1_CHW_DH2_DP03": 21.117413698196412, + "SATB1_CHW_DH2_DP04": 23.265454963820645, + "SATB1_CHW_DH3_DP01": 22.83937101573944, + "SATB1_CHW_DH3_DP02": 23.26582887593017, + "SATB1_CHW_DH3_DP03": 22.951247530396916, + "SATB1_CHW_DH3_DP04": 23.02747962956492, + "SATB1_CHW_DH4_DP01": 23.539111069869996, + "SATB1_CHW_DH4_DP02": 24.151090922277056, + "SATB1_CHW_DH4_DP03": 23.074541113280183, + "SATB1_CHW_DH4_DP04": 24.377646884363195, + "SATB1_CHW_DH5_DP01": 23.18453067638275, + "SATB1_CHW_DH5_DP02": 23.03890777849693, + "SATB1_CHW_DH5_DP03": 23.260602087159437, + "SATB1_CHW_DH5_DP04": 23.884542988123947, + "t_stamp": 1776695708398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209999084472656, + "SATB1_CHW_DH1_DP02": 22.110000610351562, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.059999465942383, + "SATB1_CHW_DH2_DP01": 22.200000762939453, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 21.100000381469727, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 22.809999465942383, + "SATB1_CHW_DH3_DP02": 23.280000686645508, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.549999237060547, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.3700008392334, + "SATB1_CHW_DH5_DP01": 23.1299991607666, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.229999542236328, + "SATB1_CHW_DH5_DP04": 23.889999389648438, + "t_stamp": 1776695738398 + }, + { + "SATB1_CHW_DH1_DP01": 21.98730507153846, + "SATB1_CHW_DH1_DP02": 22.17236270200353, + "SATB1_CHW_DH1_DP03": 22.205853002238555, + "SATB1_CHW_DH1_DP04": 21.06891096694902, + "SATB1_CHW_DH2_DP01": 22.226721457079478, + "SATB1_CHW_DH2_DP02": 22.765455509330504, + "SATB1_CHW_DH2_DP03": 21.037617947058305, + "SATB1_CHW_DH2_DP04": 23.295637721101063, + "SATB1_CHW_DH3_DP01": 23.300169652525582, + "SATB1_CHW_DH3_DP02": 23.190896073121436, + "SATB1_CHW_DH3_DP03": 23.004532330345764, + "SATB1_CHW_DH3_DP04": 23.036724676733716, + "SATB1_CHW_DH4_DP01": 23.585645907791246, + "SATB1_CHW_DH4_DP02": 24.15890908306444, + "SATB1_CHW_DH4_DP03": 23.08890888819544, + "SATB1_CHW_DH4_DP04": 24.387816069006753, + "SATB1_CHW_DH5_DP01": 23.343838912152044, + "SATB1_CHW_DH5_DP02": 23.013278022417428, + "SATB1_CHW_DH5_DP03": 23.461593325790556, + "SATB1_CHW_DH5_DP04": 23.84545376628421, + "t_stamp": 1776695768398 + }, + { + "SATB1_CHW_DH1_DP01": 21.959999084472656, + "SATB1_CHW_DH1_DP02": 22.18000030517578, + "SATB1_CHW_DH1_DP03": 22.219999313354492, + "SATB1_CHW_DH1_DP04": 21.06999969482422, + "SATB1_CHW_DH2_DP01": 22.229999542236328, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.030000686645508, + "SATB1_CHW_DH2_DP04": 23.299999237060547, + "SATB1_CHW_DH3_DP01": 23.360000610351562, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 23.010000228881836, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.59000015258789, + "SATB1_CHW_DH4_DP02": 24.15999984741211, + "SATB1_CHW_DH4_DP03": 23.09000015258789, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.3700008392334, + "SATB1_CHW_DH5_DP02": 23.010000228881836, + "SATB1_CHW_DH5_DP03": 23.489999771118164, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776695798398 + }, + { + "SATB1_CHW_DH1_DP01": 22.111432319100697, + "SATB1_CHW_DH1_DP02": 22.24236095460636, + "SATB1_CHW_DH1_DP03": 22.095234190622964, + "SATB1_CHW_DH1_DP04": 21.13237875620524, + "SATB1_CHW_DH2_DP01": 22.069667270406086, + "SATB1_CHW_DH2_DP02": 22.751091321934574, + "SATB1_CHW_DH2_DP03": 21.199324296124775, + "SATB1_CHW_DH2_DP04": 23.201997326038736, + "SATB1_CHW_DH3_DP01": 23.056986807696024, + "SATB1_CHW_DH3_DP02": 23.08198426132202, + "SATB1_CHW_DH3_DP03": 22.698267193575237, + "SATB1_CHW_DH3_DP04": 23.04890742034912, + "SATB1_CHW_DH4_DP01": 23.500884812641143, + "SATB1_CHW_DH4_DP02": 24.070907659084487, + "SATB1_CHW_DH4_DP03": 23.116726818864493, + "SATB1_CHW_DH4_DP04": 24.40781616715995, + "SATB1_CHW_DH5_DP01": 23.289813376193024, + "SATB1_CHW_DH5_DP02": 22.992184821128845, + "SATB1_CHW_DH5_DP03": 23.071340905099884, + "SATB1_CHW_DH5_DP04": 23.724181728249235, + "t_stamp": 1776695828398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1299991607666, + "SATB1_CHW_DH1_DP02": 22.25, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.139999389648438, + "SATB1_CHW_DH2_DP01": 22.049999237060547, + "SATB1_CHW_DH2_DP02": 22.75, + "SATB1_CHW_DH2_DP03": 21.219999313354492, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.020000457763672, + "SATB1_CHW_DH3_DP02": 23.06999969482422, + "SATB1_CHW_DH3_DP03": 22.65999984741211, + "SATB1_CHW_DH3_DP04": 23.049999237060547, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.059999465942383, + "SATB1_CHW_DH4_DP03": 23.1200008392334, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.280000686645508, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.020000457763672, + "SATB1_CHW_DH5_DP04": 23.709999084472656, + "t_stamp": 1776695858398 + }, + { + "SATB1_CHW_DH1_DP01": 22.103279865399728, + "SATB1_CHW_DH1_DP02": 22.098565218264078, + "SATB1_CHW_DH1_DP03": 22.124556925220414, + "SATB1_CHW_DH1_DP04": 20.970693745382718, + "SATB1_CHW_DH2_DP01": 22.112343684909597, + "SATB1_CHW_DH2_DP02": 22.741091871774152, + "SATB1_CHW_DH2_DP03": 21.06850312856876, + "SATB1_CHW_DH2_DP04": 23.14545581744644, + "SATB1_CHW_DH3_DP01": 23.091295346606273, + "SATB1_CHW_DH3_DP02": 23.13236876495933, + "SATB1_CHW_DH3_DP03": 22.98059230216369, + "SATB1_CHW_DH3_DP04": 23.005465112334896, + "SATB1_CHW_DH4_DP01": 23.445445178741277, + "SATB1_CHW_DH4_DP02": 24.04218390869822, + "SATB1_CHW_DH4_DP03": 23.04873751247836, + "SATB1_CHW_DH4_DP04": 24.38327740798079, + "SATB1_CHW_DH5_DP01": 23.333455538075402, + "SATB1_CHW_DH5_DP02": 22.90093630645263, + "SATB1_CHW_DH5_DP03": 23.420790999623208, + "SATB1_CHW_DH5_DP04": 23.80799209536747, + "t_stamp": 1776695888398 + }, + { + "SATB1_CHW_DH1_DP01": 22.100000381469727, + "SATB1_CHW_DH1_DP02": 22.079999923706055, + "SATB1_CHW_DH1_DP03": 22.1299991607666, + "SATB1_CHW_DH1_DP04": 20.950000762939453, + "SATB1_CHW_DH2_DP01": 22.1200008392334, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 21.049999237060547, + "SATB1_CHW_DH2_DP04": 23.139999389648438, + "SATB1_CHW_DH3_DP01": 23.100000381469727, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 23.020000457763672, + "SATB1_CHW_DH3_DP04": 23, + "SATB1_CHW_DH4_DP01": 23.440000534057617, + "SATB1_CHW_DH4_DP02": 24.040000915527344, + "SATB1_CHW_DH4_DP03": 23.040000915527344, + "SATB1_CHW_DH4_DP04": 24.3799991607666, + "SATB1_CHW_DH5_DP01": 23.34000015258789, + "SATB1_CHW_DH5_DP02": 22.889999389648438, + "SATB1_CHW_DH5_DP03": 23.469999313354492, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776695918398 + }, + { + "SATB1_CHW_DH1_DP01": 22.09109336249532, + "SATB1_CHW_DH1_DP02": 22.16017189582834, + "SATB1_CHW_DH1_DP03": 22.18346938457489, + "SATB1_CHW_DH1_DP04": 21.163860558986663, + "SATB1_CHW_DH2_DP01": 22.226873669183803, + "SATB1_CHW_DH2_DP02": 22.80235537186601, + "SATB1_CHW_DH2_DP03": 21.058910941028596, + "SATB1_CHW_DH2_DP04": 23.175635465862502, + "SATB1_CHW_DH3_DP01": 22.85938047351837, + "SATB1_CHW_DH3_DP02": 23.122180717559942, + "SATB1_CHW_DH3_DP03": 22.83298795765528, + "SATB1_CHW_DH3_DP04": 23.02672155694299, + "SATB1_CHW_DH4_DP01": 23.520199670028685, + "SATB1_CHW_DH4_DP02": 24.111268702025264, + "SATB1_CHW_DH4_DP03": 23.057815290927888, + "SATB1_CHW_DH4_DP04": 24.388906679760783, + "SATB1_CHW_DH5_DP01": 23.206360765122504, + "SATB1_CHW_DH5_DP02": 22.979062880449913, + "SATB1_CHW_DH5_DP03": 23.265150640242858, + "SATB1_CHW_DH5_DP04": 23.855633843739827, + "t_stamp": 1776695948398 + }, + { + "SATB1_CHW_DH1_DP01": 22.09000015258789, + "SATB1_CHW_DH1_DP02": 22.170000076293945, + "SATB1_CHW_DH1_DP03": 22.190000534057617, + "SATB1_CHW_DH1_DP04": 21.190000534057617, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 21.059999465942383, + "SATB1_CHW_DH2_DP04": 23.18000030517578, + "SATB1_CHW_DH3_DP01": 22.829999923706055, + "SATB1_CHW_DH3_DP02": 23.1200008392334, + "SATB1_CHW_DH3_DP03": 22.809999465942383, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.1200008392334, + "SATB1_CHW_DH4_DP03": 23.059999465942383, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.190000534057617, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.239999771118164, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776695978398 + }, + { + "SATB1_CHW_DH1_DP01": 22.072186968857938, + "SATB1_CHW_DH1_DP02": 22.143276800793902, + "SATB1_CHW_DH1_DP03": 22.18108897861549, + "SATB1_CHW_DH1_DP04": 21.190000534057617, + "SATB1_CHW_DH2_DP01": 22.320151399434067, + "SATB1_CHW_DH2_DP02": 22.73873909692348, + "SATB1_CHW_DH2_DP03": 21.238224205011242, + "SATB1_CHW_DH2_DP04": 23.233450156900165, + "SATB1_CHW_DH3_DP01": 22.758706513254786, + "SATB1_CHW_DH3_DP02": 23.13781865676232, + "SATB1_CHW_DH3_DP03": 22.881238502714908, + "SATB1_CHW_DH3_DP04": 23.06562602196352, + "SATB1_CHW_DH4_DP01": 23.44980288730443, + "SATB1_CHW_DH4_DP02": 24.137815954033474, + "SATB1_CHW_DH4_DP03": 23.068907206235163, + "SATB1_CHW_DH4_DP04": 24.443441940756966, + "SATB1_CHW_DH5_DP01": 23.181091442260417, + "SATB1_CHW_DH5_DP02": 22.96328149548257, + "SATB1_CHW_DH5_DP03": 23.54280576672079, + "SATB1_CHW_DH5_DP04": 23.868908850639123, + "t_stamp": 1776696008398 + }, + { + "SATB1_CHW_DH1_DP01": 22.06999969482422, + "SATB1_CHW_DH1_DP02": 22.139999389648438, + "SATB1_CHW_DH1_DP03": 22.18000030517578, + "SATB1_CHW_DH1_DP04": 21.190000534057617, + "SATB1_CHW_DH2_DP01": 22.329999923706055, + "SATB1_CHW_DH2_DP02": 22.729999542236328, + "SATB1_CHW_DH2_DP03": 21.260000228881836, + "SATB1_CHW_DH2_DP04": 23.239999771118164, + "SATB1_CHW_DH3_DP01": 22.75, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.889999389648438, + "SATB1_CHW_DH3_DP04": 23.06999969482422, + "SATB1_CHW_DH4_DP01": 23.440000534057617, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.06999969482422, + "SATB1_CHW_DH4_DP04": 24.450000762939453, + "SATB1_CHW_DH5_DP01": 23.18000030517578, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.579999923706055, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776696038398 + }, + { + "SATB1_CHW_DH1_DP01": 22.078906528901815, + "SATB1_CHW_DH1_DP02": 22.22016969790971, + "SATB1_CHW_DH1_DP03": 22.055242182413735, + "SATB1_CHW_DH1_DP04": 21.02960858893165, + "SATB1_CHW_DH2_DP01": 22.071727864587064, + "SATB1_CHW_DH2_DP02": 22.756723544665896, + "SATB1_CHW_DH2_DP03": 21.09959895693461, + "SATB1_CHW_DH2_DP04": 23.07964415407017, + "SATB1_CHW_DH3_DP01": 22.954971341578634, + "SATB1_CHW_DH3_DP02": 23.104361679349775, + "SATB1_CHW_DH3_DP03": 22.952335029082473, + "SATB1_CHW_DH3_DP04": 23.034373390646376, + "SATB1_CHW_DH4_DP01": 23.395445347627003, + "SATB1_CHW_DH4_DP02": 24.04200907852986, + "SATB1_CHW_DH4_DP03": 23.016553388992513, + "SATB1_CHW_DH4_DP04": 24.42327876062233, + "SATB1_CHW_DH5_DP01": 23.38490647913132, + "SATB1_CHW_DH5_DP02": 23.066875175684494, + "SATB1_CHW_DH5_DP03": 23.428590285276744, + "SATB1_CHW_DH5_DP04": 23.86109248687292, + "t_stamp": 1776696068398 + }, + { + "SATB1_CHW_DH1_DP01": 22.079999923706055, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.040000915527344, + "SATB1_CHW_DH1_DP04": 21.010000228881836, + "SATB1_CHW_DH2_DP01": 22.040000915527344, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.079999923706055, + "SATB1_CHW_DH2_DP04": 23.059999465942383, + "SATB1_CHW_DH3_DP01": 22.979999542236328, + "SATB1_CHW_DH3_DP02": 23.100000381469727, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.389999389648438, + "SATB1_CHW_DH4_DP02": 24.030000686645508, + "SATB1_CHW_DH4_DP03": 23.010000228881836, + "SATB1_CHW_DH4_DP04": 24.420000076293945, + "SATB1_CHW_DH5_DP01": 23.40999984741211, + "SATB1_CHW_DH5_DP02": 23.079999923706055, + "SATB1_CHW_DH5_DP03": 23.40999984741211, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776696098398 + }, + { + "SATB1_CHW_DH1_DP01": 22.035468754269775, + "SATB1_CHW_DH1_DP02": 22.176554799457378, + "SATB1_CHW_DH1_DP03": 22.09346754850025, + "SATB1_CHW_DH1_DP04": 21.09019636484782, + "SATB1_CHW_DH2_DP01": 22.200304816900513, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.178023300933837, + "SATB1_CHW_DH2_DP04": 23.193624671930188, + "SATB1_CHW_DH3_DP01": 23.18497130095164, + "SATB1_CHW_DH3_DP02": 23.18018885389499, + "SATB1_CHW_DH3_DP03": 22.888759006414986, + "SATB1_CHW_DH3_DP04": 23.09234616998108, + "SATB1_CHW_DH4_DP01": 23.505841174761454, + "SATB1_CHW_DH4_DP02": 24.06563194872264, + "SATB1_CHW_DH4_DP03": 23.11688793303738, + "SATB1_CHW_DH4_DP04": 24.348745186079906, + "SATB1_CHW_DH5_DP01": 23.151635424951987, + "SATB1_CHW_DH5_DP02": 23.008751699930112, + "SATB1_CHW_DH5_DP03": 23.570311775485983, + "SATB1_CHW_DH5_DP04": 23.886723132178147, + "t_stamp": 1776696128398 + }, + { + "SATB1_CHW_DH1_DP01": 22.030000686645508, + "SATB1_CHW_DH1_DP02": 22.170000076293945, + "SATB1_CHW_DH1_DP03": 22.100000381469727, + "SATB1_CHW_DH1_DP04": 21.100000381469727, + "SATB1_CHW_DH2_DP01": 22.219999313354492, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.190000534057617, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 23.209999084472656, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.8799991607666, + "SATB1_CHW_DH3_DP04": 23.100000381469727, + "SATB1_CHW_DH4_DP01": 23.520000457763672, + "SATB1_CHW_DH4_DP02": 24.06999969482422, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.34000015258789, + "SATB1_CHW_DH5_DP01": 23.1200008392334, + "SATB1_CHW_DH5_DP02": 23, + "SATB1_CHW_DH5_DP03": 23.59000015258789, + "SATB1_CHW_DH5_DP04": 23.889999389648438, + "t_stamp": 1776696158398 + }, + { + "SATB1_CHW_DH1_DP01": 22.10124297376208, + "SATB1_CHW_DH1_DP02": 22.28579103919865, + "SATB1_CHW_DH1_DP03": 22.108912197687623, + "SATB1_CHW_DH1_DP04": 21.073266878506036, + "SATB1_CHW_DH2_DP01": 22.26451985309596, + "SATB1_CHW_DH2_DP02": 22.742185711854695, + "SATB1_CHW_DH2_DP03": 21.002855792992083, + "SATB1_CHW_DH2_DP04": 23.19218252137372, + "SATB1_CHW_DH3_DP01": 23.628863320080196, + "SATB1_CHW_DH3_DP02": 23.09199019007215, + "SATB1_CHW_DH3_DP03": 23.10255368516721, + "SATB1_CHW_DH3_DP04": 23.019848424897035, + "SATB1_CHW_DH4_DP01": 23.49326645477187, + "SATB1_CHW_DH4_DP02": 24.105633104266133, + "SATB1_CHW_DH4_DP03": 22.987489088851984, + "SATB1_CHW_DH4_DP04": 24.38452992890241, + "SATB1_CHW_DH5_DP01": 23.512009482556266, + "SATB1_CHW_DH5_DP02": 22.991095428662582, + "SATB1_CHW_DH5_DP03": 23.3139554690091, + "SATB1_CHW_DH5_DP04": 23.818735603213373, + "t_stamp": 1776696188398 + }, + { + "SATB1_CHW_DH1_DP01": 22.110000610351562, + "SATB1_CHW_DH1_DP02": 22.299999237060547, + "SATB1_CHW_DH1_DP03": 22.110000610351562, + "SATB1_CHW_DH1_DP04": 21.06999969482422, + "SATB1_CHW_DH2_DP01": 22.270000457763672, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 20.979999542236328, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.68000030517578, + "SATB1_CHW_DH3_DP02": 23.079999923706055, + "SATB1_CHW_DH3_DP03": 23.1299991607666, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 22.969999313354492, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.559999465942383, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.280000686645508, + "SATB1_CHW_DH5_DP04": 23.809999465942383, + "t_stamp": 1776696218398 + }, + { + "SATB1_CHW_DH1_DP01": 22.234689025278648, + "SATB1_CHW_DH1_DP02": 22.15748024702108, + "SATB1_CHW_DH1_DP03": 22.020886574199665, + "SATB1_CHW_DH1_DP04": 21.13237330420161, + "SATB1_CHW_DH2_DP01": 22.1542286857284, + "SATB1_CHW_DH2_DP02": 22.69546322384097, + "SATB1_CHW_DH2_DP03": 21.078023518295826, + "SATB1_CHW_DH2_DP04": 23.154365500166, + "SATB1_CHW_DH3_DP01": 23.252238971845877, + "SATB1_CHW_DH3_DP02": 23.10672964451651, + "SATB1_CHW_DH3_DP03": 22.782729811108986, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.552375586643755, + "SATB1_CHW_DH4_DP02": 24.10109238826351, + "SATB1_CHW_DH4_DP03": 23.06798155580062, + "SATB1_CHW_DH4_DP04": 24.425627173999118, + "SATB1_CHW_DH5_DP01": 23.702543911848547, + "SATB1_CHW_DH5_DP02": 22.981093767884037, + "SATB1_CHW_DH5_DP03": 23.34234230517149, + "SATB1_CHW_DH5_DP04": 23.82781557678308, + "t_stamp": 1776696248398 + }, + { + "SATB1_CHW_DH1_DP01": 22.25, + "SATB1_CHW_DH1_DP02": 22.139999389648438, + "SATB1_CHW_DH1_DP03": 22.010000228881836, + "SATB1_CHW_DH1_DP04": 21.139999389648438, + "SATB1_CHW_DH2_DP01": 22.139999389648438, + "SATB1_CHW_DH2_DP02": 22.690000534057617, + "SATB1_CHW_DH2_DP03": 21.09000015258789, + "SATB1_CHW_DH2_DP04": 23.149999618530273, + "SATB1_CHW_DH3_DP01": 23.200000762939453, + "SATB1_CHW_DH3_DP02": 23.110000610351562, + "SATB1_CHW_DH3_DP03": 22.739999771118164, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.559999465942383, + "SATB1_CHW_DH4_DP02": 24.100000381469727, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.719999313354492, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.350000381469727, + "SATB1_CHW_DH5_DP04": 23.829999923706055, + "t_stamp": 1776696278398 + }, + { + "SATB1_CHW_DH1_DP01": 22.018423076915624, + "SATB1_CHW_DH1_DP02": 22.273619929852085, + "SATB1_CHW_DH1_DP03": 22.081293203992928, + "SATB1_CHW_DH1_DP04": 21.059802080441358, + "SATB1_CHW_DH2_DP01": 22.15781172439533, + "SATB1_CHW_DH2_DP02": 22.770172178557505, + "SATB1_CHW_DH2_DP03": 21.10782348795324, + "SATB1_CHW_DH2_DP04": 23.11436531428413, + "SATB1_CHW_DH3_DP01": 23.01285175991133, + "SATB1_CHW_DH3_DP02": 23.172369044590685, + "SATB1_CHW_DH3_DP03": 22.84686186153205, + "SATB1_CHW_DH3_DP04": 22.98327872659283, + "SATB1_CHW_DH4_DP01": 23.51544523654786, + "SATB1_CHW_DH4_DP02": 24.117817977085313, + "SATB1_CHW_DH4_DP03": 23.124538971070105, + "SATB1_CHW_DH4_DP04": 24.34092717841738, + "SATB1_CHW_DH5_DP01": 23.203260156686213, + "SATB1_CHW_DH5_DP02": 23.060156350024698, + "SATB1_CHW_DH5_DP03": 23.412345354507526, + "SATB1_CHW_DH5_DP04": 23.794367098348904, + "t_stamp": 1776696308398 + }, + { + "SATB1_CHW_DH1_DP01": 21.989999771118164, + "SATB1_CHW_DH1_DP02": 22.290000915527344, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.049999237060547, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.110000610351562, + "SATB1_CHW_DH2_DP04": 23.110000610351562, + "SATB1_CHW_DH3_DP01": 22.989999771118164, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.860000610351562, + "SATB1_CHW_DH3_DP04": 22.979999542236328, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.1200008392334, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.329999923706055, + "SATB1_CHW_DH5_DP01": 23.139999389648438, + "SATB1_CHW_DH5_DP02": 23.06999969482422, + "SATB1_CHW_DH5_DP03": 23.420000076293945, + "SATB1_CHW_DH5_DP04": 23.790000915527344, + "t_stamp": 1776696338398 + }, + { + "SATB1_CHW_DH1_DP01": 22.177044154516857, + "SATB1_CHW_DH1_DP02": 22.200919091017035, + "SATB1_CHW_DH1_DP03": 22.018708075446465, + "SATB1_CHW_DH1_DP04": 21.103466351895865, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.8334491017139, + "SATB1_CHW_DH2_DP03": 21.029796974372864, + "SATB1_CHW_DH2_DP04": 23.17236321118556, + "SATB1_CHW_DH3_DP01": 23.524710111077628, + "SATB1_CHW_DH3_DP02": 23.188910639450157, + "SATB1_CHW_DH3_DP03": 22.87780965280533, + "SATB1_CHW_DH3_DP04": 23.00672115383148, + "SATB1_CHW_DH4_DP01": 23.46544346648611, + "SATB1_CHW_DH4_DP02": 24.146725751749674, + "SATB1_CHW_DH4_DP03": 23.04982872390747, + "SATB1_CHW_DH4_DP04": 24.383443448003135, + "SATB1_CHW_DH5_DP01": 23.55874612299243, + "SATB1_CHW_DH5_DP02": 22.980936021741233, + "SATB1_CHW_DH5_DP03": 23.43781348400116, + "SATB1_CHW_DH5_DP04": 23.834542735862733, + "t_stamp": 1776696368398 + }, + { + "SATB1_CHW_DH1_DP01": 22.200000762939453, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.010000228881836, + "SATB1_CHW_DH1_DP04": 21.110000610351562, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.84000015258789, + "SATB1_CHW_DH2_DP03": 21.020000457763672, + "SATB1_CHW_DH2_DP04": 23.18000030517578, + "SATB1_CHW_DH3_DP01": 23.59000015258789, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.8799991607666, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.040000915527344, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.610000610351562, + "SATB1_CHW_DH5_DP02": 22.969999313354492, + "SATB1_CHW_DH5_DP03": 23.440000534057617, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776696398398 + }, + { + "SATB1_CHW_DH1_DP01": 22.066394677096444, + "SATB1_CHW_DH1_DP02": 22.234539945428246, + "SATB1_CHW_DH1_DP03": 22.17040482742926, + "SATB1_CHW_DH1_DP04": 21.02089175557147, + "SATB1_CHW_DH2_DP01": 22.124375470338396, + "SATB1_CHW_DH2_DP02": 22.786551628335317, + "SATB1_CHW_DH2_DP03": 21.028912013205797, + "SATB1_CHW_DH2_DP04": 23.188909360602352, + "SATB1_CHW_DH3_DP01": 23.581088263810358, + "SATB1_CHW_DH3_DP02": 23.154360239650643, + "SATB1_CHW_DH3_DP03": 23.08482611254456, + "SATB1_CHW_DH3_DP04": 23.036722285844604, + "SATB1_CHW_DH4_DP01": 23.486732750792807, + "SATB1_CHW_DH4_DP02": 24.069821482594808, + "SATB1_CHW_DH4_DP03": 23.120171352386475, + "SATB1_CHW_DH4_DP04": 24.425629538472492, + "SATB1_CHW_DH5_DP01": 23.164533034811154, + "SATB1_CHW_DH5_DP02": 23.00562605586604, + "SATB1_CHW_DH5_DP03": 23.3242131529511, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776696428398 + }, + { + "SATB1_CHW_DH1_DP01": 22.049999237060547, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.190000534057617, + "SATB1_CHW_DH1_DP04": 21.010000228881836, + "SATB1_CHW_DH2_DP01": 22.1200008392334, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.030000686645508, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.579999923706055, + "SATB1_CHW_DH3_DP02": 23.149999618530273, + "SATB1_CHW_DH3_DP03": 23.110000610351562, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.059999465942383, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.110000610351562, + "SATB1_CHW_DH5_DP02": 23.010000228881836, + "SATB1_CHW_DH5_DP03": 23.309999465942383, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776696458398 + }, + { + "SATB1_CHW_DH1_DP01": 22.032188012474588, + "SATB1_CHW_DH1_DP02": 22.213275604857117, + "SATB1_CHW_DH1_DP03": 22.1008838902291, + "SATB1_CHW_DH1_DP04": 21.18821884609484, + "SATB1_CHW_DH2_DP01": 22.28030005401695, + "SATB1_CHW_DH2_DP02": 22.806723208472093, + "SATB1_CHW_DH2_DP03": 20.95870889977047, + "SATB1_CHW_DH2_DP04": 23.243453058274586, + "SATB1_CHW_DH3_DP01": 23.25026201351072, + "SATB1_CHW_DH3_DP02": 23.194549804846446, + "SATB1_CHW_DH3_DP03": 23.056570839848124, + "SATB1_CHW_DH3_DP04": 23.0489058450782, + "SATB1_CHW_DH4_DP01": 23.507822476076456, + "SATB1_CHW_DH4_DP02": 24.122358821415528, + "SATB1_CHW_DH4_DP03": 23.0854605827027, + "SATB1_CHW_DH4_DP04": 24.385466330310283, + "SATB1_CHW_DH5_DP01": 23.13672707734534, + "SATB1_CHW_DH5_DP02": 22.99218830550157, + "SATB1_CHW_DH5_DP03": 23.764201819603667, + "SATB1_CHW_DH5_DP04": 23.82218304174097, + "t_stamp": 1776696488398 + }, + { + "SATB1_CHW_DH1_DP01": 22.030000686645508, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.209999084472656, + "SATB1_CHW_DH2_DP01": 22.299999237060547, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 20.950000762939453, + "SATB1_CHW_DH2_DP04": 23.25, + "SATB1_CHW_DH3_DP01": 23.209999084472656, + "SATB1_CHW_DH3_DP02": 23.200000762939453, + "SATB1_CHW_DH3_DP03": 23.049999237060547, + "SATB1_CHW_DH3_DP04": 23.049999237060547, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.3799991607666, + "SATB1_CHW_DH5_DP01": 23.139999389648438, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.81999969482422, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776696518398 + }, + { + "SATB1_CHW_DH1_DP01": 22.261584382194375, + "SATB1_CHW_DH1_DP02": 22.361434843030008, + "SATB1_CHW_DH1_DP03": 22.018709263608145, + "SATB1_CHW_DH1_DP04": 21.21890984289134, + "SATB1_CHW_DH2_DP01": 22.148590528246093, + "SATB1_CHW_DH2_DP02": 22.792184793630636, + "SATB1_CHW_DH2_DP03": 21.27080291371549, + "SATB1_CHW_DH2_DP04": 23.196548366643587, + "SATB1_CHW_DH3_DP01": 23.397145349262846, + "SATB1_CHW_DH3_DP02": 23.182180985409275, + "SATB1_CHW_DH3_DP03": 22.86298023342337, + "SATB1_CHW_DH3_DP04": 23.08562894876422, + "SATB1_CHW_DH4_DP01": 23.483267453639343, + "SATB1_CHW_DH4_DP02": 24.183451384162904, + "SATB1_CHW_DH4_DP03": 23.133447338766683, + "SATB1_CHW_DH4_DP04": 24.43344472844501, + "SATB1_CHW_DH5_DP01": 23.58545029879995, + "SATB1_CHW_DH5_DP02": 23.034533577004755, + "SATB1_CHW_DH5_DP03": 23.74874597073126, + "SATB1_CHW_DH5_DP04": 23.87344921906789, + "t_stamp": 1776696548398 + }, + { + "SATB1_CHW_DH1_DP01": 22.290000915527344, + "SATB1_CHW_DH1_DP02": 22.3799991607666, + "SATB1_CHW_DH1_DP03": 22.010000228881836, + "SATB1_CHW_DH1_DP04": 21.219999313354492, + "SATB1_CHW_DH2_DP01": 22.1299991607666, + "SATB1_CHW_DH2_DP02": 22.790000915527344, + "SATB1_CHW_DH2_DP03": 21.309999465942383, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.420000076293945, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.84000015258789, + "SATB1_CHW_DH3_DP04": 23.09000015258789, + "SATB1_CHW_DH4_DP01": 23.479999542236328, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.639999389648438, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.739999771118164, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776696578398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209841623567563, + "SATB1_CHW_DH1_DP02": 22.184027038632454, + "SATB1_CHW_DH1_DP03": 22.30407906220765, + "SATB1_CHW_DH1_DP04": 21.184357009040042, + "SATB1_CHW_DH2_DP01": 22.22796630601896, + "SATB1_CHW_DH2_DP02": 22.825631438170895, + "SATB1_CHW_DH2_DP03": 21.220884488842447, + "SATB1_CHW_DH2_DP04": 23.279087540562948, + "SATB1_CHW_DH3_DP01": 23.43782411463831, + "SATB1_CHW_DH3_DP02": 23.153270693397523, + "SATB1_CHW_DH3_DP03": 22.84890559606334, + "SATB1_CHW_DH3_DP04": 23.036560190954923, + "SATB1_CHW_DH4_DP01": 23.50673349078068, + "SATB1_CHW_DH4_DP02": 24.172183423210697, + "SATB1_CHW_DH4_DP03": 23.220168853258276, + "SATB1_CHW_DH4_DP04": 24.41327875851691, + "SATB1_CHW_DH5_DP01": 23.550910749053955, + "SATB1_CHW_DH5_DP02": 23.075624917611744, + "SATB1_CHW_DH5_DP03": 23.45499562647371, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776696608398 + }, + { + "SATB1_CHW_DH1_DP01": 22.200000762939453, + "SATB1_CHW_DH1_DP02": 22.15999984741211, + "SATB1_CHW_DH1_DP03": 22.34000015258789, + "SATB1_CHW_DH1_DP04": 21.18000030517578, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.209999084472656, + "SATB1_CHW_DH2_DP04": 23.290000915527344, + "SATB1_CHW_DH3_DP01": 23.440000534057617, + "SATB1_CHW_DH3_DP02": 23.149999618530273, + "SATB1_CHW_DH3_DP03": 22.850000381469727, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.170000076293945, + "SATB1_CHW_DH4_DP03": 23.229999542236328, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.540000915527344, + "SATB1_CHW_DH5_DP02": 23.079999923706055, + "SATB1_CHW_DH5_DP03": 23.420000076293945, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776696638398 + }, + { + "SATB1_CHW_DH1_DP01": 22.093118452732554, + "SATB1_CHW_DH1_DP02": 22.24017449206709, + "SATB1_CHW_DH1_DP03": 22.15285776872635, + "SATB1_CHW_DH1_DP04": 21.153267193317415, + "SATB1_CHW_DH2_DP01": 22.32015524293747, + "SATB1_CHW_DH2_DP02": 22.865633854272417, + "SATB1_CHW_DH2_DP03": 21.209999084472656, + "SATB1_CHW_DH2_DP04": 23.31672716435606, + "SATB1_CHW_DH3_DP01": 23.14591010204951, + "SATB1_CHW_DH3_DP02": 23.22127925987629, + "SATB1_CHW_DH3_DP03": 23.045913436667124, + "SATB1_CHW_DH3_DP04": 23.119068963205248, + "SATB1_CHW_DH4_DP01": 23.554554639773592, + "SATB1_CHW_DH4_DP02": 24.143273128259835, + "SATB1_CHW_DH4_DP03": 23.185458919129154, + "SATB1_CHW_DH4_DP04": 24.463444043936818, + "SATB1_CHW_DH5_DP01": 23.807283599958808, + "SATB1_CHW_DH5_DP02": 22.999842951859204, + "SATB1_CHW_DH5_DP03": 23.607035378149806, + "SATB1_CHW_DH5_DP04": 23.933452056761926, + "t_stamp": 1776696668398 + }, + { + "SATB1_CHW_DH1_DP01": 22.079999923706055, + "SATB1_CHW_DH1_DP02": 22.25, + "SATB1_CHW_DH1_DP03": 22.1299991607666, + "SATB1_CHW_DH1_DP04": 21.149999618530273, + "SATB1_CHW_DH2_DP01": 22.329999923706055, + "SATB1_CHW_DH2_DP02": 22.8700008392334, + "SATB1_CHW_DH2_DP03": 21.209999084472656, + "SATB1_CHW_DH2_DP04": 23.31999969482422, + "SATB1_CHW_DH3_DP01": 23.110000610351562, + "SATB1_CHW_DH3_DP02": 23.229999542236328, + "SATB1_CHW_DH3_DP03": 23.06999969482422, + "SATB1_CHW_DH3_DP04": 23.1299991607666, + "SATB1_CHW_DH4_DP01": 23.559999465942383, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.18000030517578, + "SATB1_CHW_DH4_DP04": 24.469999313354492, + "SATB1_CHW_DH5_DP01": 23.84000015258789, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.6299991607666, + "SATB1_CHW_DH5_DP04": 23.940000534057617, + "t_stamp": 1776696698398 + }, + { + "SATB1_CHW_DH1_DP01": 21.946391083032747, + "SATB1_CHW_DH1_DP02": 22.19655047575633, + "SATB1_CHW_DH1_DP03": 22.040885520553587, + "SATB1_CHW_DH1_DP04": 20.96286981551138, + "SATB1_CHW_DH2_DP01": 22.178587451800468, + "SATB1_CHW_DH2_DP02": 22.87890767733256, + "SATB1_CHW_DH2_DP03": 21.10306225402524, + "SATB1_CHW_DH2_DP04": 23.186362534681955, + "SATB1_CHW_DH3_DP01": 23.011969899749754, + "SATB1_CHW_DH3_DP02": 23.16762773508771, + "SATB1_CHW_DH3_DP03": 22.963131521453747, + "SATB1_CHW_DH3_DP04": 23.040926066212215, + "SATB1_CHW_DH4_DP01": 23.533267108171643, + "SATB1_CHW_DH4_DP02": 24.10436493991216, + "SATB1_CHW_DH4_DP03": 23.046375645001728, + "SATB1_CHW_DH4_DP04": 24.4165538983094, + "SATB1_CHW_DH5_DP01": 23.474710788536072, + "SATB1_CHW_DH5_DP02": 22.963278823521406, + "SATB1_CHW_DH5_DP03": 23.229187639458573, + "SATB1_CHW_DH5_DP04": 23.833094004637065, + "t_stamp": 1776696728398 + }, + { + "SATB1_CHW_DH1_DP01": 21.93000030517578, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.030000686645508, + "SATB1_CHW_DH1_DP04": 20.940000534057617, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.8799991607666, + "SATB1_CHW_DH2_DP03": 21.09000015258789, + "SATB1_CHW_DH2_DP04": 23.170000076293945, + "SATB1_CHW_DH3_DP01": 23, + "SATB1_CHW_DH3_DP02": 23.15999984741211, + "SATB1_CHW_DH3_DP03": 22.950000762939453, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.100000381469727, + "SATB1_CHW_DH4_DP03": 23.030000686645508, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.43000030517578, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.18000030517578, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776696758398 + }, + { + "SATB1_CHW_DH1_DP01": 22.22394223721822, + "SATB1_CHW_DH1_DP02": 22.234542263434545, + "SATB1_CHW_DH1_DP03": 22.038912390613557, + "SATB1_CHW_DH1_DP04": 21.109308310317992, + "SATB1_CHW_DH2_DP01": 22.026400187174477, + "SATB1_CHW_DH2_DP02": 22.790915702012747, + "SATB1_CHW_DH2_DP03": 21.098911708030016, + "SATB1_CHW_DH2_DP04": 23.25018404863658, + "SATB1_CHW_DH3_DP01": 23.231704008908864, + "SATB1_CHW_DH3_DP02": 23.177820921961466, + "SATB1_CHW_DH3_DP03": 22.932188391723237, + "SATB1_CHW_DH3_DP04": 23.00327757501602, + "SATB1_CHW_DH4_DP01": 23.449801387326882, + "SATB1_CHW_DH4_DP02": 24.09109119574295, + "SATB1_CHW_DH4_DP03": 23.101268473143428, + "SATB1_CHW_DH4_DP04": 24.454538243451008, + "SATB1_CHW_DH5_DP01": 23.305265770059588, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.367046489715577, + "SATB1_CHW_DH5_DP04": 23.873452219041187, + "t_stamp": 1776696788398 + }, + { + "SATB1_CHW_DH1_DP01": 22.260000228881836, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.040000915527344, + "SATB1_CHW_DH1_DP04": 21.1299991607666, + "SATB1_CHW_DH2_DP01": 22.010000228881836, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.100000381469727, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 23.260000228881836, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.93000030517578, + "SATB1_CHW_DH3_DP04": 23, + "SATB1_CHW_DH4_DP01": 23.440000534057617, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 23.110000610351562, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.290000915527344, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776696818398 + }, + { + "SATB1_CHW_DH1_DP01": 22.081843974826864, + "SATB1_CHW_DH1_DP02": 22.30236003859011, + "SATB1_CHW_DH1_DP03": 22.093469439601897, + "SATB1_CHW_DH1_DP04": 21.049801724433898, + "SATB1_CHW_DH2_DP01": 22.010000228881836, + "SATB1_CHW_DH2_DP02": 22.744364683181193, + "SATB1_CHW_DH2_DP03": 20.957416807719653, + "SATB1_CHW_DH2_DP04": 23.170905070765105, + "SATB1_CHW_DH3_DP01": 23.063940906475384, + "SATB1_CHW_DH3_DP02": 23.12653967204947, + "SATB1_CHW_DH3_DP03": 22.95671899926385, + "SATB1_CHW_DH3_DP04": 22.87528930813606, + "SATB1_CHW_DH4_DP01": 23.50237830174494, + "SATB1_CHW_DH4_DP02": 24.098909504987926, + "SATB1_CHW_DH4_DP03": 23.074365200830535, + "SATB1_CHW_DH4_DP04": 24.379827475197303, + "SATB1_CHW_DH5_DP01": 23.628573144002168, + "SATB1_CHW_DH5_DP02": 23.01344487069249, + "SATB1_CHW_DH5_DP03": 23.31873870689127, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776696848398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059999465942383, + "SATB1_CHW_DH1_DP02": 22.309999465942383, + "SATB1_CHW_DH1_DP03": 22.100000381469727, + "SATB1_CHW_DH1_DP04": 21.040000915527344, + "SATB1_CHW_DH2_DP01": 22.010000228881836, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 20.940000534057617, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.040000915527344, + "SATB1_CHW_DH3_DP02": 23.1200008392334, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 22.860000610351562, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.100000381469727, + "SATB1_CHW_DH4_DP03": 23.06999969482422, + "SATB1_CHW_DH4_DP04": 24.3700008392334, + "SATB1_CHW_DH5_DP01": 23.670000076293945, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.309999465942383, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776696878398 + }, + { + "SATB1_CHW_DH1_DP01": 22.247033677071734, + "SATB1_CHW_DH1_DP02": 22.087312490872392, + "SATB1_CHW_DH1_DP03": 22.073266606254343, + "SATB1_CHW_DH1_DP04": 21.209297405355066, + "SATB1_CHW_DH2_DP01": 22.1703031118502, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 21.10930652318339, + "SATB1_CHW_DH2_DP04": 23.142182815171864, + "SATB1_CHW_DH3_DP01": 23.503391787471124, + "SATB1_CHW_DH3_DP02": 23.111091211098213, + "SATB1_CHW_DH3_DP03": 22.737380651799736, + "SATB1_CHW_DH3_DP04": 22.9579711265672, + "SATB1_CHW_DH4_DP01": 23.536732558607778, + "SATB1_CHW_DH4_DP02": 24.108908564293326, + "SATB1_CHW_DH4_DP03": 23.105630426339477, + "SATB1_CHW_DH4_DP04": 24.352186770226908, + "SATB1_CHW_DH5_DP01": 23.171108089528836, + "SATB1_CHW_DH5_DP02": 22.99328224447329, + "SATB1_CHW_DH5_DP03": 23.532650313287036, + "SATB1_CHW_DH5_DP04": 23.799830249448892, + "t_stamp": 1776696908398 + }, + { + "SATB1_CHW_DH1_DP01": 22.270000457763672, + "SATB1_CHW_DH1_DP02": 22.059999465942383, + "SATB1_CHW_DH1_DP03": 22.06999969482422, + "SATB1_CHW_DH1_DP04": 21.229999542236328, + "SATB1_CHW_DH2_DP01": 22.190000534057617, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 21.1299991607666, + "SATB1_CHW_DH2_DP04": 23.139999389648438, + "SATB1_CHW_DH3_DP01": 23.559999465942383, + "SATB1_CHW_DH3_DP02": 23.110000610351562, + "SATB1_CHW_DH3_DP03": 22.709999084472656, + "SATB1_CHW_DH3_DP04": 22.969999313354492, + "SATB1_CHW_DH4_DP01": 23.540000915527344, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.110000610351562, + "SATB1_CHW_DH4_DP04": 24.350000381469727, + "SATB1_CHW_DH5_DP01": 23.110000610351562, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.559999465942383, + "SATB1_CHW_DH5_DP04": 23.790000915527344, + "t_stamp": 1776696938398 + }, + { + "SATB1_CHW_DH1_DP01": 22.270000457763672, + "SATB1_CHW_DH1_DP02": 22.149070170040048, + "SATB1_CHW_DH1_DP03": 22.176930660482338, + "SATB1_CHW_DH1_DP04": 21.114169817678746, + "SATB1_CHW_DH2_DP01": 22.10094964688411, + "SATB1_CHW_DH2_DP02": 22.846884955811838, + "SATB1_CHW_DH2_DP03": 21.210195460130137, + "SATB1_CHW_DH2_DP04": 23.202354205965555, + "SATB1_CHW_DH3_DP01": 23.123337058866497, + "SATB1_CHW_DH3_DP02": 23.1545451124733, + "SATB1_CHW_DH3_DP03": 22.772328894636964, + "SATB1_CHW_DH3_DP04": 23.050153777438883, + "SATB1_CHW_DH4_DP01": 23.53109050859575, + "SATB1_CHW_DH4_DP02": 24.136722132252167, + "SATB1_CHW_DH4_DP03": 23.038745574394255, + "SATB1_CHW_DH4_DP04": 24.385624383554127, + "SATB1_CHW_DH5_DP01": 23.39506816956199, + "SATB1_CHW_DH5_DP02": 23.03452689726786, + "SATB1_CHW_DH5_DP03": 23.470945245589487, + "SATB1_CHW_DH5_DP04": 23.807814363837103, + "t_stamp": 1776696968398 + }, + { + "SATB1_CHW_DH1_DP01": 22.270000457763672, + "SATB1_CHW_DH1_DP02": 22.15999984741211, + "SATB1_CHW_DH1_DP03": 22.190000534057617, + "SATB1_CHW_DH1_DP04": 21.100000381469727, + "SATB1_CHW_DH2_DP01": 22.09000015258789, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.219999313354492, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 23.06999969482422, + "SATB1_CHW_DH3_DP02": 23.15999984741211, + "SATB1_CHW_DH3_DP03": 22.780000686645508, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.030000686645508, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.43000030517578, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.459999084472656, + "SATB1_CHW_DH5_DP04": 23.809999465942383, + "t_stamp": 1776696998398 + }, + { + "SATB1_CHW_DH1_DP01": 22.261094438828824, + "SATB1_CHW_DH1_DP02": 22.266884594917297, + "SATB1_CHW_DH1_DP03": 22.154356384913125, + "SATB1_CHW_DH1_DP04": 21.1623711490709, + "SATB1_CHW_DH2_DP01": 22.223577039170543, + "SATB1_CHW_DH2_DP02": 22.82437179489136, + "SATB1_CHW_DH2_DP03": 21.193267955559726, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 22.856131027747836, + "SATB1_CHW_DH3_DP02": 23.133271344729536, + "SATB1_CHW_DH3_DP03": 22.886851297282725, + "SATB1_CHW_DH3_DP04": 23.086718077468873, + "SATB1_CHW_DH4_DP01": 23.494358610194112, + "SATB1_CHW_DH4_DP02": 24.095462569236755, + "SATB1_CHW_DH4_DP03": 23.08344121096929, + "SATB1_CHW_DH4_DP04": 24.37218834733963, + "SATB1_CHW_DH5_DP01": 23.66162489655773, + "SATB1_CHW_DH5_DP02": 22.995473320951987, + "SATB1_CHW_DH5_DP03": 23.175023939989455, + "SATB1_CHW_DH5_DP04": 23.86344468917847, + "t_stamp": 1776697028398 + }, + { + "SATB1_CHW_DH1_DP01": 22.260000228881836, + "SATB1_CHW_DH1_DP02": 22.280000686645508, + "SATB1_CHW_DH1_DP03": 22.149999618530273, + "SATB1_CHW_DH1_DP04": 21.170000076293945, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.81999969482422, + "SATB1_CHW_DH2_DP03": 21.190000534057617, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 22.829999923706055, + "SATB1_CHW_DH3_DP02": 23.1299991607666, + "SATB1_CHW_DH3_DP03": 22.899999618530273, + "SATB1_CHW_DH3_DP04": 23.09000015258789, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 23.09000015258789, + "SATB1_CHW_DH4_DP04": 24.3700008392334, + "SATB1_CHW_DH5_DP01": 23.690000534057617, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.139999389648438, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776697058398 + }, + { + "SATB1_CHW_DH1_DP01": 22.019506247107874, + "SATB1_CHW_DH1_DP02": 22.28890907829611, + "SATB1_CHW_DH1_DP03": 22.239112747441368, + "SATB1_CHW_DH1_DP04": 21.312572111804627, + "SATB1_CHW_DH2_DP01": 22.168746630202374, + "SATB1_CHW_DH2_DP02": 22.79327621897438, + "SATB1_CHW_DH2_DP03": 21.06524147370546, + "SATB1_CHW_DH2_DP04": 23.218908161082386, + "SATB1_CHW_DH3_DP01": 23.614221053574347, + "SATB1_CHW_DH3_DP02": 23.18345905727217, + "SATB1_CHW_DH3_DP03": 23.042494940136557, + "SATB1_CHW_DH3_DP04": 23.09000015258789, + "SATB1_CHW_DH4_DP01": 23.570198253644563, + "SATB1_CHW_DH4_DP02": 24.14345180376289, + "SATB1_CHW_DH4_DP03": 23.134540320742325, + "SATB1_CHW_DH4_DP04": 24.42344538027394, + "SATB1_CHW_DH5_DP01": 23.21780910958639, + "SATB1_CHW_DH5_DP02": 23.034534879437405, + "SATB1_CHW_DH5_DP03": 23.31813975914575, + "SATB1_CHW_DH5_DP04": 23.834365939089324, + "t_stamp": 1776697088398 + }, + { + "SATB1_CHW_DH1_DP01": 21.989999771118164, + "SATB1_CHW_DH1_DP02": 22.290000915527344, + "SATB1_CHW_DH1_DP03": 22.25, + "SATB1_CHW_DH1_DP04": 21.329999923706055, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.790000915527344, + "SATB1_CHW_DH2_DP03": 21.049999237060547, + "SATB1_CHW_DH2_DP04": 23.219999313354492, + "SATB1_CHW_DH3_DP01": 23.709999084472656, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 23.059999465942383, + "SATB1_CHW_DH3_DP04": 23.09000015258789, + "SATB1_CHW_DH4_DP01": 23.579999923706055, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.15999984741211, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.34000015258789, + "SATB1_CHW_DH5_DP04": 23.829999923706055, + "t_stamp": 1776697118398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1770297172403, + "SATB1_CHW_DH1_DP02": 22.200924665388907, + "SATB1_CHW_DH1_DP03": 22.134153414535522, + "SATB1_CHW_DH1_DP04": 21.24980362434252, + "SATB1_CHW_DH2_DP01": 22.20452442962488, + "SATB1_CHW_DH2_DP02": 22.852353780927803, + "SATB1_CHW_DH2_DP03": 21.139111425131134, + "SATB1_CHW_DH2_DP04": 23.237817721176146, + "SATB1_CHW_DH3_DP01": 22.961420648256937, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.855219474298497, + "SATB1_CHW_DH3_DP04": 23.045468527532464, + "SATB1_CHW_DH4_DP01": 23.624553501291082, + "SATB1_CHW_DH4_DP02": 24.15890835881261, + "SATB1_CHW_DH4_DP03": 23.10437050275126, + "SATB1_CHW_DH4_DP04": 24.447814561748352, + "SATB1_CHW_DH5_DP01": 23.667831575520832, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.571548098465776, + "SATB1_CHW_DH5_DP04": 23.838908497323466, + "t_stamp": 1776697148398 + }, + { + "SATB1_CHW_DH1_DP01": 22.200000762939453, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.1200008392334, + "SATB1_CHW_DH1_DP04": 21.239999771118164, + "SATB1_CHW_DH2_DP01": 22.209999084472656, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.149999618530273, + "SATB1_CHW_DH2_DP04": 23.239999771118164, + "SATB1_CHW_DH3_DP01": 22.8700008392334, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.829999923706055, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.6299991607666, + "SATB1_CHW_DH4_DP02": 24.15999984741211, + "SATB1_CHW_DH4_DP03": 23.100000381469727, + "SATB1_CHW_DH4_DP04": 24.450000762939453, + "SATB1_CHW_DH5_DP01": 23.729999542236328, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.600000381469727, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776697178398 + }, + { + "SATB1_CHW_DH1_DP01": 22.306857564102536, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.03089013631644, + "SATB1_CHW_DH1_DP04": 21.106346793681993, + "SATB1_CHW_DH2_DP01": 22.165478565225474, + "SATB1_CHW_DH2_DP02": 22.699692056608527, + "SATB1_CHW_DH2_DP03": 21.194555729063858, + "SATB1_CHW_DH2_DP04": 23.177651590907985, + "SATB1_CHW_DH3_DP01": 22.81653139771694, + "SATB1_CHW_DH3_DP02": 23.2256330449429, + "SATB1_CHW_DH3_DP03": 22.821096404870094, + "SATB1_CHW_DH3_DP04": 23.102335626854256, + "SATB1_CHW_DH4_DP01": 23.558716126235925, + "SATB1_CHW_DH4_DP02": 24.115467675713923, + "SATB1_CHW_DH4_DP03": 23.037659710078533, + "SATB1_CHW_DH4_DP04": 24.39656744532497, + "SATB1_CHW_DH5_DP01": 23.721091786535677, + "SATB1_CHW_DH5_DP02": 23.057808474017904, + "SATB1_CHW_DH5_DP03": 23.404097884622242, + "SATB1_CHW_DH5_DP04": 23.82218693765999, + "t_stamp": 1776697208398 + }, + { + "SATB1_CHW_DH1_DP01": 22.31999969482422, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.020000457763672, + "SATB1_CHW_DH1_DP04": 21.09000015258789, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.68000030517578, + "SATB1_CHW_DH2_DP03": 21.200000762939453, + "SATB1_CHW_DH2_DP04": 23.170000076293945, + "SATB1_CHW_DH3_DP01": 22.809999465942383, + "SATB1_CHW_DH3_DP02": 23.229999542236328, + "SATB1_CHW_DH3_DP03": 22.81999969482422, + "SATB1_CHW_DH3_DP04": 23.110000610351562, + "SATB1_CHW_DH4_DP01": 23.549999237060547, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.030000686645508, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.719999313354492, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.3799991607666, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776697238398 + }, + { + "SATB1_CHW_DH1_DP01": 22.017160135067186, + "SATB1_CHW_DH1_DP02": 22.216723627693167, + "SATB1_CHW_DH1_DP03": 22.287334233471253, + "SATB1_CHW_DH1_DP04": 21.196926547199144, + "SATB1_CHW_DH2_DP01": 22.035308806601762, + "SATB1_CHW_DH2_DP02": 22.733448191524555, + "SATB1_CHW_DH2_DP03": 21.003954407731644, + "SATB1_CHW_DH2_DP04": 23.250178920595896, + "SATB1_CHW_DH3_DP01": 23.540740706344078, + "SATB1_CHW_DH3_DP02": 23.194361819480136, + "SATB1_CHW_DH3_DP03": 22.971399325980087, + "SATB1_CHW_DH3_DP04": 23.003113359761386, + "SATB1_CHW_DH4_DP01": 23.43415985954327, + "SATB1_CHW_DH4_DP02": 24.136724758787306, + "SATB1_CHW_DH4_DP03": 23.119079748831865, + "SATB1_CHW_DH4_DP04": 24.42562977920485, + "SATB1_CHW_DH5_DP01": 23.417089262095786, + "SATB1_CHW_DH5_DP02": 23.04218734013427, + "SATB1_CHW_DH5_DP03": 23.20186267674335, + "SATB1_CHW_DH5_DP04": 23.83781689014834, + "t_stamp": 1776697268398 + }, + { + "SATB1_CHW_DH1_DP01": 21.979999542236328, + "SATB1_CHW_DH1_DP02": 22.219999313354492, + "SATB1_CHW_DH1_DP03": 22.31999969482422, + "SATB1_CHW_DH1_DP04": 21.209999084472656, + "SATB1_CHW_DH2_DP01": 22.020000457763672, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 20.979999542236328, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 23.6299991607666, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.989999771118164, + "SATB1_CHW_DH3_DP04": 22.989999771118164, + "SATB1_CHW_DH4_DP01": 23.420000076293945, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.3799991607666, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.18000030517578, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776697298398 + }, + { + "SATB1_CHW_DH1_DP01": 22.024536485984, + "SATB1_CHW_DH1_DP02": 22.344715056833657, + "SATB1_CHW_DH1_DP03": 22.097224241081783, + "SATB1_CHW_DH1_DP04": 21.058521907350737, + "SATB1_CHW_DH2_DP01": 22.171414168822235, + "SATB1_CHW_DH2_DP02": 22.79344840455128, + "SATB1_CHW_DH2_DP03": 21.051287619448235, + "SATB1_CHW_DH2_DP04": 23.242182118028694, + "SATB1_CHW_DH3_DP01": 23.674556937977222, + "SATB1_CHW_DH3_DP02": 23.100903345794254, + "SATB1_CHW_DH3_DP03": 22.963281104891333, + "SATB1_CHW_DH3_DP04": 23.07907362634807, + "SATB1_CHW_DH4_DP01": 23.518018153200103, + "SATB1_CHW_DH4_DP02": 24.104366200448784, + "SATB1_CHW_DH4_DP03": 23.15672432703387, + "SATB1_CHW_DH4_DP04": 24.474537216626224, + "SATB1_CHW_DH5_DP01": 23.397817938290558, + "SATB1_CHW_DH5_DP02": 22.986558583042576, + "SATB1_CHW_DH5_DP03": 23.304698016563616, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776697328398 + }, + { + "SATB1_CHW_DH1_DP01": 22.030000686645508, + "SATB1_CHW_DH1_DP02": 22.360000610351562, + "SATB1_CHW_DH1_DP03": 22.06999969482422, + "SATB1_CHW_DH1_DP04": 21.040000915527344, + "SATB1_CHW_DH2_DP01": 22.190000534057617, + "SATB1_CHW_DH2_DP02": 22.799999237060547, + "SATB1_CHW_DH2_DP03": 21.059999465942383, + "SATB1_CHW_DH2_DP04": 23.239999771118164, + "SATB1_CHW_DH3_DP01": 23.68000030517578, + "SATB1_CHW_DH3_DP02": 23.09000015258789, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 23.09000015258789, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.100000381469727, + "SATB1_CHW_DH4_DP03": 23.15999984741211, + "SATB1_CHW_DH4_DP04": 24.479999542236328, + "SATB1_CHW_DH5_DP01": 23.399999618530273, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.31999969482422, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776697358398 + }, + { + "SATB1_CHW_DH1_DP01": 22.17250809202933, + "SATB1_CHW_DH1_DP02": 22.22638120505338, + "SATB1_CHW_DH1_DP03": 22.150200167469833, + "SATB1_CHW_DH1_DP04": 21.146927745897102, + "SATB1_CHW_DH2_DP01": 22.234530961344845, + "SATB1_CHW_DH2_DP02": 22.853447678796346, + "SATB1_CHW_DH2_DP03": 21.113467580817254, + "SATB1_CHW_DH2_DP04": 23.284543472529847, + "SATB1_CHW_DH3_DP01": 23.25224958392556, + "SATB1_CHW_DH3_DP02": 23.20582314114243, + "SATB1_CHW_DH3_DP03": 22.9956221186896, + "SATB1_CHW_DH3_DP04": 23.054371785182205, + "SATB1_CHW_DH4_DP01": 23.583465101838154, + "SATB1_CHW_DH4_DP02": 24.171267125724196, + "SATB1_CHW_DH4_DP03": 23.142183700166843, + "SATB1_CHW_DH4_DP04": 24.49781405926347, + "SATB1_CHW_DH5_DP01": 23.302003207260288, + "SATB1_CHW_DH5_DP02": 22.988906134101306, + "SATB1_CHW_DH5_DP03": 23.382345305723604, + "SATB1_CHW_DH5_DP04": 23.902357302150392, + "t_stamp": 1776697388398 + }, + { + "SATB1_CHW_DH1_DP01": 22.190000534057617, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.15999984741211, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.1200008392334, + "SATB1_CHW_DH2_DP04": 23.290000915527344, + "SATB1_CHW_DH3_DP01": 23.200000762939453, + "SATB1_CHW_DH3_DP02": 23.219999313354492, + "SATB1_CHW_DH3_DP03": 23, + "SATB1_CHW_DH3_DP04": 23.049999237060547, + "SATB1_CHW_DH4_DP01": 23.59000015258789, + "SATB1_CHW_DH4_DP02": 24.18000030517578, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.5, + "SATB1_CHW_DH5_DP01": 23.290000915527344, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.90999984741211, + "t_stamp": 1776697418398 + }, + { + "SATB1_CHW_DH1_DP01": 22.100932043153733, + "SATB1_CHW_DH1_DP02": 22.218907418634586, + "SATB1_CHW_DH1_DP03": 22.222377742131552, + "SATB1_CHW_DH1_DP04": 21.168910569515717, + "SATB1_CHW_DH2_DP01": 22.195468875089823, + "SATB1_CHW_DH2_DP02": 22.7798273019852, + "SATB1_CHW_DH2_DP03": 21.039800203259787, + "SATB1_CHW_DH2_DP04": 23.200911121205323, + "SATB1_CHW_DH3_DP01": 23.583193835163115, + "SATB1_CHW_DH3_DP02": 23.13981234095677, + "SATB1_CHW_DH3_DP03": 23.01781170452318, + "SATB1_CHW_DH3_DP04": 23.023279378989507, + "SATB1_CHW_DH4_DP01": 23.54544740830959, + "SATB1_CHW_DH4_DP02": 24.09091366246174, + "SATB1_CHW_DH4_DP03": 23.23798936633866, + "SATB1_CHW_DH4_DP04": 24.482185295358153, + "SATB1_CHW_DH5_DP01": 23.4325468644543, + "SATB1_CHW_DH5_DP02": 23.007813142373937, + "SATB1_CHW_DH5_DP03": 23.69282557265389, + "SATB1_CHW_DH5_DP04": 23.84764087396867, + "t_stamp": 1776697448398 + }, + { + "SATB1_CHW_DH1_DP01": 22.09000015258789, + "SATB1_CHW_DH1_DP02": 22.219999313354492, + "SATB1_CHW_DH1_DP03": 22.229999542236328, + "SATB1_CHW_DH1_DP04": 21.170000076293945, + "SATB1_CHW_DH2_DP01": 22.190000534057617, + "SATB1_CHW_DH2_DP02": 22.770000457763672, + "SATB1_CHW_DH2_DP03": 21.030000686645508, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.6299991607666, + "SATB1_CHW_DH3_DP02": 23.1299991607666, + "SATB1_CHW_DH3_DP03": 23.020000457763672, + "SATB1_CHW_DH3_DP04": 23.020000457763672, + "SATB1_CHW_DH4_DP01": 23.540000915527344, + "SATB1_CHW_DH4_DP02": 24.079999923706055, + "SATB1_CHW_DH4_DP03": 23.25, + "SATB1_CHW_DH4_DP04": 24.479999542236328, + "SATB1_CHW_DH5_DP01": 23.450000762939453, + "SATB1_CHW_DH5_DP02": 23.010000228881836, + "SATB1_CHW_DH5_DP03": 23.729999542236328, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776697478398 + }, + { + "SATB1_CHW_DH1_DP01": 22.214695275624592, + "SATB1_CHW_DH1_DP02": 22.193277236881006, + "SATB1_CHW_DH1_DP03": 22.114157054132665, + "SATB1_CHW_DH1_DP04": 21.24128282026649, + "SATB1_CHW_DH2_DP01": 22.314688657124837, + "SATB1_CHW_DH2_DP02": 22.80563045939932, + "SATB1_CHW_DH2_DP03": 21.199308807747645, + "SATB1_CHW_DH2_DP04": 23.181091924054122, + "SATB1_CHW_DH3_DP01": 23.25572233072442, + "SATB1_CHW_DH3_DP02": 23.183455711495583, + "SATB1_CHW_DH3_DP03": 22.859698185984293, + "SATB1_CHW_DH3_DP04": 23.073441982078553, + "SATB1_CHW_DH4_DP01": 23.57564269841512, + "SATB1_CHW_DH4_DP02": 24.106725199151878, + "SATB1_CHW_DH4_DP03": 23.071844894782746, + "SATB1_CHW_DH4_DP04": 24.39983490632375, + "SATB1_CHW_DH5_DP01": 23.17382918136401, + "SATB1_CHW_DH5_DP02": 22.983280117321016, + "SATB1_CHW_DH5_DP03": 23.64093253580729, + "SATB1_CHW_DH5_DP04": 23.85781666956081, + "t_stamp": 1776697508398 + }, + { + "SATB1_CHW_DH1_DP01": 22.229999542236328, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.100000381469727, + "SATB1_CHW_DH1_DP04": 21.25, + "SATB1_CHW_DH2_DP01": 22.329999923706055, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 21.219999313354492, + "SATB1_CHW_DH2_DP04": 23.18000030517578, + "SATB1_CHW_DH3_DP01": 23.209999084472656, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.84000015258789, + "SATB1_CHW_DH3_DP04": 23.079999923706055, + "SATB1_CHW_DH4_DP01": 23.579999923706055, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.049999237060547, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.139999389648438, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.6299991607666, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776697538398 + }, + { + "SATB1_CHW_DH1_DP01": 22.051860925898904, + "SATB1_CHW_DH1_DP02": 22.207815466895628, + "SATB1_CHW_DH1_DP03": 22.064354971553144, + "SATB1_CHW_DH1_DP04": 21.18762689903678, + "SATB1_CHW_DH2_DP01": 22.107337879338647, + "SATB1_CHW_DH2_DP02": 22.765459585216046, + "SATB1_CHW_DH2_DP03": 21.14871138134003, + "SATB1_CHW_DH2_DP04": 23.215634536673225, + "SATB1_CHW_DH3_DP01": 22.880275207574464, + "SATB1_CHW_DH3_DP02": 23.207818466828186, + "SATB1_CHW_DH3_DP03": 22.831094133653043, + "SATB1_CHW_DH3_DP04": 23.062185219064208, + "SATB1_CHW_DH4_DP01": 23.41960765177409, + "SATB1_CHW_DH4_DP02": 24.07436534635468, + "SATB1_CHW_DH4_DP03": 23.14798901356353, + "SATB1_CHW_DH4_DP04": 24.398907057106218, + "SATB1_CHW_DH5_DP01": 23.487455917926308, + "SATB1_CHW_DH5_DP02": 23.024533803742056, + "SATB1_CHW_DH5_DP03": 23.4607708967734, + "SATB1_CHW_DH5_DP04": 23.833274662390345, + "t_stamp": 1776697568398 + }, + { + "SATB1_CHW_DH1_DP01": 22.030000686645508, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.059999465942383, + "SATB1_CHW_DH1_DP04": 21.18000030517578, + "SATB1_CHW_DH2_DP01": 22.079999923706055, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.139999389648438, + "SATB1_CHW_DH2_DP04": 23.219999313354492, + "SATB1_CHW_DH3_DP01": 22.84000015258789, + "SATB1_CHW_DH3_DP02": 23.209999084472656, + "SATB1_CHW_DH3_DP03": 22.829999923706055, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.399999618530273, + "SATB1_CHW_DH4_DP02": 24.06999969482422, + "SATB1_CHW_DH4_DP03": 23.15999984741211, + "SATB1_CHW_DH4_DP04": 24.399999618530273, + "SATB1_CHW_DH5_DP01": 23.530000686645508, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.440000534057617, + "SATB1_CHW_DH5_DP04": 23.829999923706055, + "t_stamp": 1776697598398 + }, + { + "SATB1_CHW_DH1_DP01": 21.905301531410217, + "SATB1_CHW_DH1_DP02": 22.325804272547707, + "SATB1_CHW_DH1_DP03": 22.131288731288908, + "SATB1_CHW_DH1_DP04": 21.215641421413423, + "SATB1_CHW_DH2_DP01": 22.12453174419403, + "SATB1_CHW_DH2_DP02": 22.82235608442857, + "SATB1_CHW_DH2_DP03": 21.024155206752937, + "SATB1_CHW_DH2_DP04": 23.15763879123921, + "SATB1_CHW_DH3_DP01": 23.36577878856659, + "SATB1_CHW_DH3_DP02": 23.201090913263958, + "SATB1_CHW_DH3_DP03": 23.052642046337343, + "SATB1_CHW_DH3_DP04": 23.122349360783893, + "SATB1_CHW_DH4_DP01": 23.596035372924806, + "SATB1_CHW_DH4_DP02": 24.17690266075318, + "SATB1_CHW_DH4_DP03": 23.20453851648396, + "SATB1_CHW_DH4_DP04": 24.453443252091226, + "SATB1_CHW_DH5_DP01": 23.752726141221263, + "SATB1_CHW_DH5_DP02": 23.065626469930013, + "SATB1_CHW_DH5_DP03": 23.252956150658925, + "SATB1_CHW_DH5_DP04": 23.910175223383984, + "t_stamp": 1776697628398 + }, + { + "SATB1_CHW_DH1_DP01": 21.889999389648438, + "SATB1_CHW_DH1_DP02": 22.34000015258789, + "SATB1_CHW_DH1_DP03": 22.139999389648438, + "SATB1_CHW_DH1_DP04": 21.219999313354492, + "SATB1_CHW_DH2_DP01": 22.1299991607666, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.010000228881836, + "SATB1_CHW_DH2_DP04": 23.149999618530273, + "SATB1_CHW_DH3_DP01": 23.43000030517578, + "SATB1_CHW_DH3_DP02": 23.200000762939453, + "SATB1_CHW_DH3_DP03": 23.079999923706055, + "SATB1_CHW_DH3_DP04": 23.1299991607666, + "SATB1_CHW_DH4_DP01": 23.6200008392334, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.209999084472656, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.780000686645508, + "SATB1_CHW_DH5_DP02": 23.06999969482422, + "SATB1_CHW_DH5_DP03": 23.229999542236328, + "SATB1_CHW_DH5_DP04": 23.920000076293945, + "t_stamp": 1776697658398 + }, + { + "SATB1_CHW_DH1_DP01": 22.219570122844733, + "SATB1_CHW_DH1_DP02": 22.17074203491211, + "SATB1_CHW_DH1_DP03": 22.18455550018202, + "SATB1_CHW_DH1_DP04": 21.193269346561458, + "SATB1_CHW_DH2_DP01": 22.192349205244074, + "SATB1_CHW_DH2_DP02": 22.77655061780105, + "SATB1_CHW_DH2_DP03": 21.18821660186731, + "SATB1_CHW_DH2_DP04": 23.247998762243594, + "SATB1_CHW_DH3_DP01": 23.189397417335947, + "SATB1_CHW_DH3_DP02": 23.128723497581483, + "SATB1_CHW_DH3_DP03": 22.812817244020515, + "SATB1_CHW_DH3_DP04": 23.049833551574267, + "SATB1_CHW_DH4_DP01": 23.432879074150595, + "SATB1_CHW_DH4_DP02": 24.181091681677362, + "SATB1_CHW_DH4_DP03": 23.147641405100853, + "SATB1_CHW_DH4_DP04": 24.415461612799202, + "SATB1_CHW_DH5_DP01": 23.236542085239943, + "SATB1_CHW_DH5_DP02": 23.06109252739455, + "SATB1_CHW_DH5_DP03": 23.319071184393128, + "SATB1_CHW_DH5_DP04": 23.911091242103904, + "t_stamp": 1776697688398 + }, + { + "SATB1_CHW_DH1_DP01": 22.260000228881836, + "SATB1_CHW_DH1_DP02": 22.149999618530273, + "SATB1_CHW_DH1_DP03": 22.190000534057617, + "SATB1_CHW_DH1_DP04": 21.190000534057617, + "SATB1_CHW_DH2_DP01": 22.200000762939453, + "SATB1_CHW_DH2_DP02": 22.770000457763672, + "SATB1_CHW_DH2_DP03": 21.209999084472656, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 23.15999984741211, + "SATB1_CHW_DH3_DP02": 23.1200008392334, + "SATB1_CHW_DH3_DP03": 22.780000686645508, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.40999984741211, + "SATB1_CHW_DH4_DP02": 24.18000030517578, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.170000076293945, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.329999923706055, + "SATB1_CHW_DH5_DP04": 23.90999984741211, + "t_stamp": 1776697718398 + }, + { + "SATB1_CHW_DH1_DP01": 22.08185585171252, + "SATB1_CHW_DH1_DP02": 22.1856331735533, + "SATB1_CHW_DH1_DP03": 22.11871141389115, + "SATB1_CHW_DH1_DP04": 21.181089848271508, + "SATB1_CHW_DH2_DP01": 22.1910938559713, + "SATB1_CHW_DH2_DP02": 22.82344909119679, + "SATB1_CHW_DH2_DP03": 21.058514024677308, + "SATB1_CHW_DH2_DP04": 23.20654759555099, + "SATB1_CHW_DH3_DP01": 23.51645211501587, + "SATB1_CHW_DH3_DP02": 23.218006016985576, + "SATB1_CHW_DH3_DP03": 23.091709965851003, + "SATB1_CHW_DH3_DP04": 23.05781432741934, + "SATB1_CHW_DH4_DP01": 23.454552410137623, + "SATB1_CHW_DH4_DP02": 24.188909175745646, + "SATB1_CHW_DH4_DP03": 23.148907778404194, + "SATB1_CHW_DH4_DP04": 24.490168983332318, + "SATB1_CHW_DH5_DP01": 23.7223691573143, + "SATB1_CHW_DH5_DP02": 23.024372943132985, + "SATB1_CHW_DH5_DP03": 23.249836623848473, + "SATB1_CHW_DH5_DP04": 23.892182403229782, + "t_stamp": 1776697748398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059999465942383, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.110000610351562, + "SATB1_CHW_DH1_DP04": 21.18000030517578, + "SATB1_CHW_DH2_DP01": 22.190000534057617, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.040000915527344, + "SATB1_CHW_DH2_DP04": 23.200000762939453, + "SATB1_CHW_DH3_DP01": 23.559999465942383, + "SATB1_CHW_DH3_DP02": 23.229999542236328, + "SATB1_CHW_DH3_DP03": 23.1299991607666, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.149999618530273, + "SATB1_CHW_DH4_DP04": 24.5, + "SATB1_CHW_DH5_DP01": 23.790000915527344, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.239999771118164, + "SATB1_CHW_DH5_DP04": 23.889999389648438, + "t_stamp": 1776697778398 + }, + { + "SATB1_CHW_DH1_DP01": 22.095627760474695, + "SATB1_CHW_DH1_DP02": 22.207814982261567, + "SATB1_CHW_DH1_DP03": 22.199107947037547, + "SATB1_CHW_DH1_DP04": 21.04634760017455, + "SATB1_CHW_DH2_DP01": 22.34140888839828, + "SATB1_CHW_DH2_DP02": 22.803275702838153, + "SATB1_CHW_DH2_DP03": 21.06673193672475, + "SATB1_CHW_DH2_DP04": 23.191092022657116, + "SATB1_CHW_DH3_DP01": 22.90949422404558, + "SATB1_CHW_DH3_DP02": 23.212180395022397, + "SATB1_CHW_DH3_DP03": 22.960794844035416, + "SATB1_CHW_DH3_DP04": 23.024372203632744, + "SATB1_CHW_DH4_DP01": 23.513462526051786, + "SATB1_CHW_DH4_DP02": 24.136549983165974, + "SATB1_CHW_DH4_DP03": 23.149999618530273, + "SATB1_CHW_DH4_DP04": 24.44655714786333, + "SATB1_CHW_DH5_DP01": 23.246559319808156, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.391413791939154, + "SATB1_CHW_DH5_DP04": 23.87218427484836, + "t_stamp": 1776697808398 + }, + { + "SATB1_CHW_DH1_DP01": 22.100000381469727, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.209999084472656, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.360000610351562, + "SATB1_CHW_DH2_DP02": 22.799999237060547, + "SATB1_CHW_DH2_DP03": 21.06999969482422, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 22.829999923706055, + "SATB1_CHW_DH3_DP02": 23.209999084472656, + "SATB1_CHW_DH3_DP03": 22.940000534057617, + "SATB1_CHW_DH3_DP04": 23.020000457763672, + "SATB1_CHW_DH4_DP01": 23.520000457763672, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.149999618530273, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.18000030517578, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.40999984741211, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776697838398 + }, + { + "SATB1_CHW_DH1_DP01": 22.144530157784246, + "SATB1_CHW_DH1_DP02": 22.20109334000587, + "SATB1_CHW_DH1_DP03": 22.290195383836192, + "SATB1_CHW_DH1_DP04": 20.940900165091648, + "SATB1_CHW_DH2_DP01": 22.09283630753288, + "SATB1_CHW_DH2_DP02": 22.782186049205862, + "SATB1_CHW_DH2_DP03": 21.150195830790203, + "SATB1_CHW_DH2_DP04": 23.14545924162532, + "SATB1_CHW_DH3_DP01": 23.560713830329025, + "SATB1_CHW_DH3_DP02": 23.218908473234634, + "SATB1_CHW_DH3_DP03": 22.913286094009464, + "SATB1_CHW_DH3_DP04": 23.100156913969023, + "SATB1_CHW_DH4_DP01": 23.430898269564565, + "SATB1_CHW_DH4_DP02": 24.138907085928764, + "SATB1_CHW_DH4_DP03": 23.060928550134317, + "SATB1_CHW_DH4_DP04": 24.41328020380637, + "SATB1_CHW_DH5_DP01": 23.73231940432143, + "SATB1_CHW_DH5_DP02": 23.046716198970312, + "SATB1_CHW_DH5_DP03": 23.294225505656833, + "SATB1_CHW_DH5_DP04": 23.843277509113477, + "t_stamp": 1776697868398 + }, + { + "SATB1_CHW_DH1_DP01": 22.149999618530273, + "SATB1_CHW_DH1_DP02": 22.200000762939453, + "SATB1_CHW_DH1_DP03": 22.299999237060547, + "SATB1_CHW_DH1_DP04": 20.93000030517578, + "SATB1_CHW_DH2_DP01": 22.059999465942383, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.15999984741211, + "SATB1_CHW_DH2_DP04": 23.139999389648438, + "SATB1_CHW_DH3_DP01": 23.649999618530273, + "SATB1_CHW_DH3_DP02": 23.219999313354492, + "SATB1_CHW_DH3_DP03": 22.90999984741211, + "SATB1_CHW_DH3_DP04": 23.110000610351562, + "SATB1_CHW_DH4_DP01": 23.420000076293945, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.049999237060547, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.799999237060547, + "SATB1_CHW_DH5_DP02": 23.049999237060547, + "SATB1_CHW_DH5_DP03": 23.280000686645508, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776697898398 + }, + { + "SATB1_CHW_DH1_DP01": 21.980762577959815, + "SATB1_CHW_DH1_DP02": 22.3158047624869, + "SATB1_CHW_DH1_DP03": 22.157423953850422, + "SATB1_CHW_DH1_DP04": 21.277507136694116, + "SATB1_CHW_DH2_DP01": 22.255947278524427, + "SATB1_CHW_DH2_DP02": 22.833448555738396, + "SATB1_CHW_DH2_DP03": 20.972873544436293, + "SATB1_CHW_DH2_DP04": 23.237996099742116, + "SATB1_CHW_DH3_DP01": 22.91928422381083, + "SATB1_CHW_DH3_DP02": 23.184361748439695, + "SATB1_CHW_DH3_DP03": 23.14155178401043, + "SATB1_CHW_DH3_DP04": 23.065463561799344, + "SATB1_CHW_DH4_DP01": 23.455641641309565, + "SATB1_CHW_DH4_DP02": 24.113274804551583, + "SATB1_CHW_DH4_DP03": 23.183621185388194, + "SATB1_CHW_DH4_DP04": 24.481260093156244, + "SATB1_CHW_DH5_DP01": 23.247637491761093, + "SATB1_CHW_DH5_DP02": 23.0321871530439, + "SATB1_CHW_DH5_DP03": 23.743155816377424, + "SATB1_CHW_DH5_DP04": 23.87563283239106, + "t_stamp": 1776697928398 + }, + { + "SATB1_CHW_DH1_DP01": 21.959999084472656, + "SATB1_CHW_DH1_DP02": 22.329999923706055, + "SATB1_CHW_DH1_DP03": 22.139999389648438, + "SATB1_CHW_DH1_DP04": 21.31999969482422, + "SATB1_CHW_DH2_DP01": 22.280000686645508, + "SATB1_CHW_DH2_DP02": 22.84000015258789, + "SATB1_CHW_DH2_DP03": 20.950000762939453, + "SATB1_CHW_DH2_DP04": 23.25, + "SATB1_CHW_DH3_DP01": 22.829999923706055, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 23.170000076293945, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.200000762939453, + "SATB1_CHW_DH4_DP04": 24.489999771118164, + "SATB1_CHW_DH5_DP01": 23.18000030517578, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.799999237060547, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776697958398 + }, + { + "SATB1_CHW_DH1_DP01": 22.191562939228948, + "SATB1_CHW_DH1_DP02": 22.18748601958937, + "SATB1_CHW_DH1_DP03": 22.041979545402526, + "SATB1_CHW_DH1_DP04": 21.07051094067764, + "SATB1_CHW_DH2_DP01": 21.995018590562996, + "SATB1_CHW_DH2_DP02": 22.813278158478607, + "SATB1_CHW_DH2_DP03": 21.25297428179996, + "SATB1_CHW_DH2_DP04": 23.14310394194676, + "SATB1_CHW_DH3_DP01": 23.507260082002446, + "SATB1_CHW_DH3_DP02": 23.215637494209588, + "SATB1_CHW_DH3_DP03": 22.813807908319948, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.522375178782145, + "SATB1_CHW_DH4_DP02": 24.19907552559013, + "SATB1_CHW_DH4_DP03": 23.12874381088111, + "SATB1_CHW_DH4_DP04": 24.436560481422685, + "SATB1_CHW_DH5_DP01": 23.62544379039294, + "SATB1_CHW_DH5_DP02": 23.047810984322947, + "SATB1_CHW_DH5_DP03": 23.630787201654986, + "SATB1_CHW_DH5_DP04": 23.906722154782116, + "t_stamp": 1776697988398 + }, + { + "SATB1_CHW_DH1_DP01": 22.219999313354492, + "SATB1_CHW_DH1_DP02": 22.170000076293945, + "SATB1_CHW_DH1_DP03": 22.030000686645508, + "SATB1_CHW_DH1_DP04": 21.040000915527344, + "SATB1_CHW_DH2_DP01": 21.959999084472656, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 21.290000915527344, + "SATB1_CHW_DH2_DP04": 23.1299991607666, + "SATB1_CHW_DH3_DP01": 23.59000015258789, + "SATB1_CHW_DH3_DP02": 23.219999313354492, + "SATB1_CHW_DH3_DP03": 22.770000457763672, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.209999084472656, + "SATB1_CHW_DH4_DP03": 23.1200008392334, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.68000030517578, + "SATB1_CHW_DH5_DP02": 23.049999237060547, + "SATB1_CHW_DH5_DP03": 23.610000610351562, + "SATB1_CHW_DH5_DP04": 23.90999984741211, + "t_stamp": 1776698018398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059713783105874, + "SATB1_CHW_DH1_DP02": 22.276875917479035, + "SATB1_CHW_DH1_DP03": 22.092373256532042, + "SATB1_CHW_DH1_DP04": 21.14691683607303, + "SATB1_CHW_DH2_DP01": 22.15587546708055, + "SATB1_CHW_DH2_DP02": 22.827812686124474, + "SATB1_CHW_DH2_DP03": 21.067244478563758, + "SATB1_CHW_DH2_DP04": 23.272528432699424, + "SATB1_CHW_DH3_DP01": 23.010802439042514, + "SATB1_CHW_DH3_DP02": 23.300179603949967, + "SATB1_CHW_DH3_DP03": 22.97473913724722, + "SATB1_CHW_DH3_DP04": 23.086715015407055, + "SATB1_CHW_DH4_DP01": 23.583459755842135, + "SATB1_CHW_DH4_DP02": 24.12092692818523, + "SATB1_CHW_DH4_DP03": 23.200154260925835, + "SATB1_CHW_DH4_DP04": 24.44781133807861, + "SATB1_CHW_DH5_DP01": 23.145496690511493, + "SATB1_CHW_DH5_DP02": 23.005480486925688, + "SATB1_CHW_DH5_DP03": 23.54767147581069, + "SATB1_CHW_DH5_DP04": 23.865465344804466, + "t_stamp": 1776698048398 + }, + { + "SATB1_CHW_DH1_DP01": 22.040000915527344, + "SATB1_CHW_DH1_DP02": 22.290000915527344, + "SATB1_CHW_DH1_DP03": 22.100000381469727, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.18000030517578, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.040000915527344, + "SATB1_CHW_DH2_DP04": 23.290000915527344, + "SATB1_CHW_DH3_DP01": 22.940000534057617, + "SATB1_CHW_DH3_DP02": 23.309999465942383, + "SATB1_CHW_DH3_DP03": 23, + "SATB1_CHW_DH3_DP04": 23.09000015258789, + "SATB1_CHW_DH4_DP01": 23.59000015258789, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.209999084472656, + "SATB1_CHW_DH4_DP04": 24.450000762939453, + "SATB1_CHW_DH5_DP01": 23.079999923706055, + "SATB1_CHW_DH5_DP02": 23, + "SATB1_CHW_DH5_DP03": 23.540000915527344, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776698078398 + }, + { + "SATB1_CHW_DH1_DP01": 22.164674016903046, + "SATB1_CHW_DH1_DP02": 22.20093594028487, + "SATB1_CHW_DH1_DP03": 22.153463687716798, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.162190892875977, + "SATB1_CHW_DH2_DP02": 22.856719980589713, + "SATB1_CHW_DH2_DP03": 21.20038783419525, + "SATB1_CHW_DH2_DP04": 23.2632776400273, + "SATB1_CHW_DH3_DP01": 23.581589308503176, + "SATB1_CHW_DH3_DP02": 23.18527842171182, + "SATB1_CHW_DH3_DP03": 22.75961150835611, + "SATB1_CHW_DH3_DP04": 23.179054762587658, + "SATB1_CHW_DH4_DP01": 23.545451665687562, + "SATB1_CHW_DH4_DP02": 24.172350632687618, + "SATB1_CHW_DH4_DP03": 23.18328083571842, + "SATB1_CHW_DH4_DP04": 24.432188834498046, + "SATB1_CHW_DH5_DP01": 23.694654910962807, + "SATB1_CHW_DH5_DP02": 23.02671472808455, + "SATB1_CHW_DH5_DP03": 23.44204657663642, + "SATB1_CHW_DH5_DP04": 23.868907814216612, + "t_stamp": 1776698108398 + }, + { + "SATB1_CHW_DH1_DP01": 22.18000030517578, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.15999984741211, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.219999313354492, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 23.65999984741211, + "SATB1_CHW_DH3_DP02": 23.170000076293945, + "SATB1_CHW_DH3_DP03": 22.729999542236328, + "SATB1_CHW_DH3_DP04": 23.190000534057617, + "SATB1_CHW_DH4_DP01": 23.540000915527344, + "SATB1_CHW_DH4_DP02": 24.18000030517578, + "SATB1_CHW_DH4_DP03": 23.18000030517578, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.770000457763672, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.43000030517578, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776698138398 + }, + { + "SATB1_CHW_DH1_DP01": 22.206718780562344, + "SATB1_CHW_DH1_DP02": 22.065293829771676, + "SATB1_CHW_DH1_DP03": 22.36494818865318, + "SATB1_CHW_DH1_DP04": 20.97288830753946, + "SATB1_CHW_DH2_DP01": 22.124376720460198, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.148713005125938, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 22.982752355997317, + "SATB1_CHW_DH3_DP02": 23.26800248686318, + "SATB1_CHW_DH3_DP03": 23.059473719338065, + "SATB1_CHW_DH3_DP04": 23.10984021012728, + "SATB1_CHW_DH4_DP01": 23.54890984730352, + "SATB1_CHW_DH4_DP02": 24.171092043814113, + "SATB1_CHW_DH4_DP03": 23.055295299868114, + "SATB1_CHW_DH4_DP04": 24.456720280701326, + "SATB1_CHW_DH5_DP01": 23.253293466810405, + "SATB1_CHW_DH5_DP02": 23.05671810724281, + "SATB1_CHW_DH5_DP03": 23.581408084282405, + "SATB1_CHW_DH5_DP04": 23.905631518886143, + "t_stamp": 1776698168398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209999084472656, + "SATB1_CHW_DH1_DP02": 22.049999237060547, + "SATB1_CHW_DH1_DP03": 22.389999389648438, + "SATB1_CHW_DH1_DP04": 20.950000762939453, + "SATB1_CHW_DH2_DP01": 22.1200008392334, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.139999389648438, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 22.899999618530273, + "SATB1_CHW_DH3_DP02": 23.280000686645508, + "SATB1_CHW_DH3_DP03": 23.100000381469727, + "SATB1_CHW_DH3_DP04": 23.100000381469727, + "SATB1_CHW_DH4_DP01": 23.549999237060547, + "SATB1_CHW_DH4_DP02": 24.170000076293945, + "SATB1_CHW_DH4_DP03": 23.040000915527344, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.190000534057617, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.600000381469727, + "SATB1_CHW_DH5_DP04": 23.90999984741211, + "t_stamp": 1776698198398 + }, + { + "SATB1_CHW_DH1_DP01": 22.120938229898197, + "SATB1_CHW_DH1_DP02": 22.32612432075489, + "SATB1_CHW_DH1_DP03": 22.167239694299873, + "SATB1_CHW_DH1_DP04": 21.27075491548836, + "SATB1_CHW_DH2_DP01": 22.04875513613388, + "SATB1_CHW_DH2_DP02": 22.904536037312514, + "SATB1_CHW_DH2_DP03": 21.15782057316151, + "SATB1_CHW_DH2_DP04": 23.24218400883107, + "SATB1_CHW_DH3_DP01": 23.66632217963, + "SATB1_CHW_DH3_DP02": 23.26218220609128, + "SATB1_CHW_DH3_DP03": 22.770515309395172, + "SATB1_CHW_DH3_DP04": 23.171251417630838, + "SATB1_CHW_DH4_DP01": 23.50544964435738, + "SATB1_CHW_DH4_DP02": 24.134368375645295, + "SATB1_CHW_DH4_DP03": 23.137979194624965, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.81358666854916, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.617812898551087, + "SATB1_CHW_DH5_DP04": 23.874370512393266, + "t_stamp": 1776698228398 + }, + { + "SATB1_CHW_DH1_DP01": 22.110000610351562, + "SATB1_CHW_DH1_DP02": 22.360000610351562, + "SATB1_CHW_DH1_DP03": 22.139999389648438, + "SATB1_CHW_DH1_DP04": 21.309999465942383, + "SATB1_CHW_DH2_DP01": 22.040000915527344, + "SATB1_CHW_DH2_DP02": 22.90999984741211, + "SATB1_CHW_DH2_DP03": 21.15999984741211, + "SATB1_CHW_DH2_DP04": 23.239999771118164, + "SATB1_CHW_DH3_DP01": 23.760000228881836, + "SATB1_CHW_DH3_DP02": 23.260000228881836, + "SATB1_CHW_DH3_DP03": 22.729999542236328, + "SATB1_CHW_DH3_DP04": 23.18000030517578, + "SATB1_CHW_DH4_DP01": 23.5, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.149999618530273, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.889999389648438, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.6200008392334, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776698258398 + }, + { + "SATB1_CHW_DH1_DP01": 22.28812589320972, + "SATB1_CHW_DH1_DP02": 22.15513107135643, + "SATB1_CHW_DH1_DP03": 22.00633804648352, + "SATB1_CHW_DH1_DP04": 21.060516904149797, + "SATB1_CHW_DH2_DP01": 22.146869745446686, + "SATB1_CHW_DH2_DP02": 22.79420356838865, + "SATB1_CHW_DH2_DP03": 21.11544737546753, + "SATB1_CHW_DH2_DP04": 23.142009794427942, + "SATB1_CHW_DH3_DP01": 22.90454682998965, + "SATB1_CHW_DH3_DP02": 23.19763750076294, + "SATB1_CHW_DH3_DP03": 22.925913894511666, + "SATB1_CHW_DH3_DP04": 23.108748518929275, + "SATB1_CHW_DH4_DP01": 23.508910500950414, + "SATB1_CHW_DH4_DP02": 24.09436878374166, + "SATB1_CHW_DH4_DP03": 23.08764868450653, + "SATB1_CHW_DH4_DP04": 24.388745819091795, + "SATB1_CHW_DH5_DP01": 23.088236366757336, + "SATB1_CHW_DH5_DP02": 23.04218879340738, + "SATB1_CHW_DH5_DP03": 23.504219958288623, + "SATB1_CHW_DH5_DP04": 23.78092253016227, + "t_stamp": 1776698288398 + }, + { + "SATB1_CHW_DH1_DP01": 22.309999465942383, + "SATB1_CHW_DH1_DP02": 22.1299991607666, + "SATB1_CHW_DH1_DP03": 21.989999771118164, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.110000610351562, + "SATB1_CHW_DH2_DP04": 23.1299991607666, + "SATB1_CHW_DH3_DP01": 22.799999237060547, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.950000762939453, + "SATB1_CHW_DH3_DP04": 23.100000381469727, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.3799991607666, + "SATB1_CHW_DH5_DP01": 22.989999771118164, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.489999771118164, + "SATB1_CHW_DH5_DP04": 23.770000457763672, + "t_stamp": 1776698318398 + }, + { + "SATB1_CHW_DH1_DP01": 21.998261872646395, + "SATB1_CHW_DH1_DP02": 22.0943683354932, + "SATB1_CHW_DH1_DP03": 21.989999771118164, + "SATB1_CHW_DH1_DP04": 21.07455009769689, + "SATB1_CHW_DH2_DP01": 22.23125000864072, + "SATB1_CHW_DH2_DP02": 22.69092089286166, + "SATB1_CHW_DH2_DP03": 21.09217916614435, + "SATB1_CHW_DH2_DP04": 23.156725608764265, + "SATB1_CHW_DH3_DP01": 23.55743457698822, + "SATB1_CHW_DH3_DP02": 23.13654352869247, + "SATB1_CHW_DH3_DP03": 22.852038487964133, + "SATB1_CHW_DH3_DP04": 22.92186079497838, + "SATB1_CHW_DH4_DP01": 23.403077263146333, + "SATB1_CHW_DH4_DP02": 24.054366222021528, + "SATB1_CHW_DH4_DP03": 23.133447011142295, + "SATB1_CHW_DH4_DP04": 24.36218622788363, + "SATB1_CHW_DH5_DP01": 23.60470723713226, + "SATB1_CHW_DH5_DP02": 23.0221876171781, + "SATB1_CHW_DH5_DP03": 23.56125259914424, + "SATB1_CHW_DH5_DP04": 23.814541171852294, + "t_stamp": 1776698348398 + }, + { + "SATB1_CHW_DH1_DP01": 21.959999084472656, + "SATB1_CHW_DH1_DP02": 22.09000015258789, + "SATB1_CHW_DH1_DP03": 21.989999771118164, + "SATB1_CHW_DH1_DP04": 21.079999923706055, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.68000030517578, + "SATB1_CHW_DH2_DP03": 21.09000015258789, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.649999618530273, + "SATB1_CHW_DH3_DP02": 23.1299991607666, + "SATB1_CHW_DH3_DP03": 22.84000015258789, + "SATB1_CHW_DH3_DP04": 22.899999618530273, + "SATB1_CHW_DH4_DP01": 23.389999389648438, + "SATB1_CHW_DH4_DP02": 24.049999237060547, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.360000610351562, + "SATB1_CHW_DH5_DP01": 23.68000030517578, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.56999969482422, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776698378398 + }, + { + "SATB1_CHW_DH1_DP01": 21.959999084472656, + "SATB1_CHW_DH1_DP02": 22.22361313212568, + "SATB1_CHW_DH1_DP03": 22.096928518931072, + "SATB1_CHW_DH1_DP04": 20.990899583816528, + "SATB1_CHW_DH2_DP01": 22.15093758240499, + "SATB1_CHW_DH2_DP02": 22.733445157194655, + "SATB1_CHW_DH2_DP03": 20.991982475106173, + "SATB1_CHW_DH2_DP04": 23.177816697709325, + "SATB1_CHW_DH3_DP01": 23.64108841457367, + "SATB1_CHW_DH3_DP02": 23.16563612187506, + "SATB1_CHW_DH3_DP03": 22.91124423057508, + "SATB1_CHW_DH3_DP04": 23.060323218290346, + "SATB1_CHW_DH4_DP01": 23.514744957720577, + "SATB1_CHW_DH4_DP02": 24.103448678785902, + "SATB1_CHW_DH4_DP03": 23.22907527566737, + "SATB1_CHW_DH4_DP04": 24.44906943341207, + "SATB1_CHW_DH5_DP01": 23.83144549163857, + "SATB1_CHW_DH5_DP02": 22.984374236119603, + "SATB1_CHW_DH5_DP03": 23.365150183364253, + "SATB1_CHW_DH5_DP04": 23.837815878472842, + "t_stamp": 1776698408398 + }, + { + "SATB1_CHW_DH1_DP01": 21.959999084472656, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.110000610351562, + "SATB1_CHW_DH1_DP04": 20.979999542236328, + "SATB1_CHW_DH2_DP01": 22.139999389648438, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 20.979999542236328, + "SATB1_CHW_DH2_DP04": 23.18000030517578, + "SATB1_CHW_DH3_DP01": 23.639999389648438, + "SATB1_CHW_DH3_DP02": 23.170000076293945, + "SATB1_CHW_DH3_DP03": 22.920000076293945, + "SATB1_CHW_DH3_DP04": 23.079999923706055, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.239999771118164, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.850000381469727, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.34000015258789, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776698438398 + }, + { + "SATB1_CHW_DH1_DP01": 22.057976227330542, + "SATB1_CHW_DH1_DP02": 22.213275323266284, + "SATB1_CHW_DH1_DP03": 22.16346502554421, + "SATB1_CHW_DH1_DP04": 21.07801171959586, + "SATB1_CHW_DH2_DP01": 22.30922267273182, + "SATB1_CHW_DH2_DP02": 22.766724218970044, + "SATB1_CHW_DH2_DP03": 20.997821283467612, + "SATB1_CHW_DH2_DP04": 23.20672505399053, + "SATB1_CHW_DH3_DP01": 23.060775075837547, + "SATB1_CHW_DH3_DP02": 23.116543879276026, + "SATB1_CHW_DH3_DP03": 22.88437607350431, + "SATB1_CHW_DH3_DP04": 23.017650283866377, + "SATB1_CHW_DH4_DP01": 23.538911223920188, + "SATB1_CHW_DH4_DP02": 24.07436601306994, + "SATB1_CHW_DH4_DP03": 23.097472780686306, + "SATB1_CHW_DH4_DP04": 24.370927474519334, + "SATB1_CHW_DH5_DP01": 23.618367595931065, + "SATB1_CHW_DH5_DP02": 23.05125251605219, + "SATB1_CHW_DH5_DP03": 23.420161460533894, + "SATB1_CHW_DH5_DP04": 23.786550955857678, + "t_stamp": 1776698468398 + }, + { + "SATB1_CHW_DH1_DP01": 22.06999969482422, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.170000076293945, + "SATB1_CHW_DH1_DP04": 21.09000015258789, + "SATB1_CHW_DH2_DP01": 22.329999923706055, + "SATB1_CHW_DH2_DP02": 22.770000457763672, + "SATB1_CHW_DH2_DP03": 21, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 22.989999771118164, + "SATB1_CHW_DH3_DP02": 23.110000610351562, + "SATB1_CHW_DH3_DP03": 22.8799991607666, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.540000915527344, + "SATB1_CHW_DH4_DP02": 24.06999969482422, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.360000610351562, + "SATB1_CHW_DH5_DP01": 23.59000015258789, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.43000030517578, + "SATB1_CHW_DH5_DP04": 23.780000686645508, + "t_stamp": 1776698498398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15907151912971, + "SATB1_CHW_DH1_DP02": 22.227815492248535, + "SATB1_CHW_DH1_DP03": 22.18782215086619, + "SATB1_CHW_DH1_DP04": 21.152372086870088, + "SATB1_CHW_DH2_DP01": 22.15186627529989, + "SATB1_CHW_DH2_DP02": 22.832356185913085, + "SATB1_CHW_DH2_DP03": 21.1871231842041, + "SATB1_CHW_DH2_DP04": 23.16545643081665, + "SATB1_CHW_DH3_DP01": 23.079110292543504, + "SATB1_CHW_DH3_DP02": 23.181277730329473, + "SATB1_CHW_DH3_DP03": 22.737501213393923, + "SATB1_CHW_DH3_DP04": 23.036722785864384, + "SATB1_CHW_DH4_DP01": 23.468716617329914, + "SATB1_CHW_DH4_DP02": 24.132357883655228, + "SATB1_CHW_DH4_DP03": 23.03546060333252, + "SATB1_CHW_DH4_DP04": 24.40453733972145, + "SATB1_CHW_DH5_DP01": 23.153466632057395, + "SATB1_CHW_DH5_DP02": 23.086720522865598, + "SATB1_CHW_DH5_DP03": 23.421093119528116, + "SATB1_CHW_DH5_DP04": 23.842358748118084, + "t_stamp": 1776698528398 + }, + { + "SATB1_CHW_DH1_DP01": 22.170000076293945, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.190000534057617, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.1299991607666, + "SATB1_CHW_DH2_DP02": 22.84000015258789, + "SATB1_CHW_DH2_DP03": 21.209999084472656, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.09000015258789, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.719999313354492, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.030000686645508, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.100000381469727, + "SATB1_CHW_DH5_DP02": 23.09000015258789, + "SATB1_CHW_DH5_DP03": 23.420000076293945, + "SATB1_CHW_DH5_DP04": 23.850000381469727, + "t_stamp": 1776698558398 + }, + { + "SATB1_CHW_DH1_DP01": 22.2145344878242, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.10089334592277, + "SATB1_CHW_DH1_DP04": 21.15108960714544, + "SATB1_CHW_DH2_DP01": 22.15671932700276, + "SATB1_CHW_DH2_DP02": 22.822183744812012, + "SATB1_CHW_DH2_DP03": 21.129805984633126, + "SATB1_CHW_DH2_DP04": 23.14218210627238, + "SATB1_CHW_DH3_DP01": 22.911782443027704, + "SATB1_CHW_DH3_DP02": 23.127635218136263, + "SATB1_CHW_DH3_DP03": 22.74671753428506, + "SATB1_CHW_DH3_DP04": 22.968741805531064, + "SATB1_CHW_DH4_DP01": 23.495640639545453, + "SATB1_CHW_DH4_DP02": 24.05982425371806, + "SATB1_CHW_DH4_DP03": 23.145802009034355, + "SATB1_CHW_DH4_DP04": 24.392184736577633, + "SATB1_CHW_DH5_DP01": 23.393991813500723, + "SATB1_CHW_DH5_DP02": 22.983119186446125, + "SATB1_CHW_DH5_DP03": 23.16170056582558, + "SATB1_CHW_DH5_DP04": 23.86781715898124, + "t_stamp": 1776698588398 + }, + { + "SATB1_CHW_DH1_DP01": 22.219999313354492, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.149999618530273, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.81999969482422, + "SATB1_CHW_DH2_DP03": 21.1200008392334, + "SATB1_CHW_DH2_DP04": 23.139999389648438, + "SATB1_CHW_DH3_DP01": 22.889999389648438, + "SATB1_CHW_DH3_DP02": 23.1200008392334, + "SATB1_CHW_DH3_DP03": 22.75, + "SATB1_CHW_DH3_DP04": 22.959999084472656, + "SATB1_CHW_DH4_DP01": 23.5, + "SATB1_CHW_DH4_DP02": 24.049999237060547, + "SATB1_CHW_DH4_DP03": 23.15999984741211, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.43000030517578, + "SATB1_CHW_DH5_DP02": 22.969999313354492, + "SATB1_CHW_DH5_DP03": 23.1299991607666, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776698618398 + }, + { + "SATB1_CHW_DH1_DP01": 22.148742193690847, + "SATB1_CHW_DH1_DP02": 22.078563474273682, + "SATB1_CHW_DH1_DP03": 22.081089133455265, + "SATB1_CHW_DH1_DP04": 20.953976963287168, + "SATB1_CHW_DH2_DP01": 22.151092995110965, + "SATB1_CHW_DH2_DP02": 22.739827558898927, + "SATB1_CHW_DH2_DP03": 21.12890999212144, + "SATB1_CHW_DH2_DP04": 23.148908260218303, + "SATB1_CHW_DH3_DP01": 22.863267531865684, + "SATB1_CHW_DH3_DP02": 23.066542724754083, + "SATB1_CHW_DH3_DP03": 22.732187628783784, + "SATB1_CHW_DH3_DP04": 23.022351717431935, + "SATB1_CHW_DH4_DP01": 23.5445508960565, + "SATB1_CHW_DH4_DP02": 24.049999237060547, + "SATB1_CHW_DH4_DP03": 23.017472274541976, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.536907135390223, + "SATB1_CHW_DH5_DP02": 22.94327995527144, + "SATB1_CHW_DH5_DP03": 23.299232290328312, + "SATB1_CHW_DH5_DP04": 23.754191790921073, + "t_stamp": 1776698648398 + }, + { + "SATB1_CHW_DH1_DP01": 22.139999389648438, + "SATB1_CHW_DH1_DP02": 22.059999465942383, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 20.93000030517578, + "SATB1_CHW_DH2_DP01": 22.149999618530273, + "SATB1_CHW_DH2_DP02": 22.729999542236328, + "SATB1_CHW_DH2_DP03": 21.1299991607666, + "SATB1_CHW_DH2_DP04": 23.149999618530273, + "SATB1_CHW_DH3_DP01": 22.860000610351562, + "SATB1_CHW_DH3_DP02": 23.059999465942383, + "SATB1_CHW_DH3_DP03": 22.729999542236328, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.549999237060547, + "SATB1_CHW_DH4_DP02": 24.049999237060547, + "SATB1_CHW_DH4_DP03": 23, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.549999237060547, + "SATB1_CHW_DH5_DP02": 22.940000534057617, + "SATB1_CHW_DH5_DP03": 23.31999969482422, + "SATB1_CHW_DH5_DP04": 23.739999771118164, + "t_stamp": 1776698678398 + }, + { + "SATB1_CHW_DH1_DP01": 22.086560427939904, + "SATB1_CHW_DH1_DP02": 22.175798627461358, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.019099341770445, + "SATB1_CHW_DH2_DP01": 22.114375616445873, + "SATB1_CHW_DH2_DP02": 22.721091783736313, + "SATB1_CHW_DH2_DP03": 20.996343955855057, + "SATB1_CHW_DH2_DP04": 23.203448470313553, + "SATB1_CHW_DH3_DP01": 23.546123447865153, + "SATB1_CHW_DH3_DP02": 23.05109005900034, + "SATB1_CHW_DH3_DP03": 22.9971672030641, + "SATB1_CHW_DH3_DP04": 23.003279856416146, + "SATB1_CHW_DH4_DP01": 23.443079752769634, + "SATB1_CHW_DH4_DP02": 23.96982660975899, + "SATB1_CHW_DH4_DP03": 23.04453709351886, + "SATB1_CHW_DH4_DP04": 24.345465538160187, + "SATB1_CHW_DH5_DP01": 23.496548385395062, + "SATB1_CHW_DH5_DP02": 22.957811722190577, + "SATB1_CHW_DH5_DP03": 23.266561733040124, + "SATB1_CHW_DH5_DP04": 23.802354714843553, + "t_stamp": 1776698708398 + }, + { + "SATB1_CHW_DH1_DP01": 22.079999923706055, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.110000610351562, + "SATB1_CHW_DH2_DP02": 22.719999313354492, + "SATB1_CHW_DH2_DP03": 20.979999542236328, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 23.6299991607666, + "SATB1_CHW_DH3_DP02": 23.049999237060547, + "SATB1_CHW_DH3_DP03": 23.030000686645508, + "SATB1_CHW_DH3_DP04": 23, + "SATB1_CHW_DH4_DP01": 23.43000030517578, + "SATB1_CHW_DH4_DP02": 23.959999084472656, + "SATB1_CHW_DH4_DP03": 23.049999237060547, + "SATB1_CHW_DH4_DP04": 24.34000015258789, + "SATB1_CHW_DH5_DP01": 23.489999771118164, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.260000228881836, + "SATB1_CHW_DH5_DP04": 23.809999465942383, + "t_stamp": 1776698738398 + }, + { + "SATB1_CHW_DH1_DP01": 21.973112268938266, + "SATB1_CHW_DH1_DP02": 22.127645188125648, + "SATB1_CHW_DH1_DP03": 21.981982445946542, + "SATB1_CHW_DH1_DP04": 20.896349599594718, + "SATB1_CHW_DH2_DP01": 22.127812840142354, + "SATB1_CHW_DH2_DP02": 22.75563191049033, + "SATB1_CHW_DH2_DP03": 20.917626441273107, + "SATB1_CHW_DH2_DP04": 23.103096690847828, + "SATB1_CHW_DH3_DP01": 23.540890883483858, + "SATB1_CHW_DH3_DP02": 23.067818572201002, + "SATB1_CHW_DH3_DP03": 22.949845707093058, + "SATB1_CHW_DH3_DP04": 22.910927055374657, + "SATB1_CHW_DH4_DP01": 23.43000030517578, + "SATB1_CHW_DH4_DP02": 24.004542331074685, + "SATB1_CHW_DH4_DP03": 23.058907386344508, + "SATB1_CHW_DH4_DP04": 24.26874080325168, + "SATB1_CHW_DH5_DP01": 23.169277191257482, + "SATB1_CHW_DH5_DP02": 22.915465219470498, + "SATB1_CHW_DH5_DP03": 23.170930617824776, + "SATB1_CHW_DH5_DP04": 23.68528410719878, + "t_stamp": 1776698768398 + }, + { + "SATB1_CHW_DH1_DP01": 21.959999084472656, + "SATB1_CHW_DH1_DP02": 22.1200008392334, + "SATB1_CHW_DH1_DP03": 21.969999313354492, + "SATB1_CHW_DH1_DP04": 20.8799991607666, + "SATB1_CHW_DH2_DP01": 22.1299991607666, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 20.90999984741211, + "SATB1_CHW_DH2_DP04": 23.09000015258789, + "SATB1_CHW_DH3_DP01": 23.530000686645508, + "SATB1_CHW_DH3_DP02": 23.06999969482422, + "SATB1_CHW_DH3_DP03": 22.940000534057617, + "SATB1_CHW_DH3_DP04": 22.899999618530273, + "SATB1_CHW_DH4_DP01": 23.43000030517578, + "SATB1_CHW_DH4_DP02": 24.010000228881836, + "SATB1_CHW_DH4_DP03": 23.059999465942383, + "SATB1_CHW_DH4_DP04": 24.260000228881836, + "SATB1_CHW_DH5_DP01": 23.1299991607666, + "SATB1_CHW_DH5_DP02": 22.90999984741211, + "SATB1_CHW_DH5_DP03": 23.15999984741211, + "SATB1_CHW_DH5_DP04": 23.670000076293945, + "t_stamp": 1776698798398 + }, + { + "SATB1_CHW_DH1_DP01": 21.977813861971725, + "SATB1_CHW_DH1_DP02": 22.048736907196044, + "SATB1_CHW_DH1_DP03": 22.121480714670817, + "SATB1_CHW_DH1_DP04": 21.102752873328477, + "SATB1_CHW_DH2_DP01": 22.183440493245147, + "SATB1_CHW_DH2_DP02": 22.715459209442137, + "SATB1_CHW_DH2_DP03": 21.132766060182323, + "SATB1_CHW_DH2_DP04": 23.12563393567403, + "SATB1_CHW_DH3_DP01": 22.834942074775697, + "SATB1_CHW_DH3_DP02": 23.06999969482422, + "SATB1_CHW_DH3_DP03": 22.69063141200505, + "SATB1_CHW_DH3_DP04": 22.953443142827354, + "SATB1_CHW_DH4_DP01": 23.394358228724386, + "SATB1_CHW_DH4_DP02": 24.072359457015992, + "SATB1_CHW_DH4_DP03": 23.042184757232665, + "SATB1_CHW_DH4_DP04": 24.32235245704651, + "SATB1_CHW_DH5_DP01": 23.48636052017212, + "SATB1_CHW_DH5_DP02": 22.963440481049762, + "SATB1_CHW_DH5_DP03": 23.320326119232178, + "SATB1_CHW_DH5_DP04": 23.714541063308715, + "t_stamp": 1776698828398 + }, + { + "SATB1_CHW_DH1_DP01": 21.979999542236328, + "SATB1_CHW_DH1_DP02": 22.040000915527344, + "SATB1_CHW_DH1_DP03": 22.139999389648438, + "SATB1_CHW_DH1_DP04": 21.1299991607666, + "SATB1_CHW_DH2_DP01": 22.190000534057617, + "SATB1_CHW_DH2_DP02": 22.709999084472656, + "SATB1_CHW_DH2_DP03": 21.15999984741211, + "SATB1_CHW_DH2_DP04": 23.1299991607666, + "SATB1_CHW_DH3_DP01": 22.75, + "SATB1_CHW_DH3_DP02": 23.06999969482422, + "SATB1_CHW_DH3_DP03": 22.65999984741211, + "SATB1_CHW_DH3_DP04": 22.959999084472656, + "SATB1_CHW_DH4_DP01": 23.389999389648438, + "SATB1_CHW_DH4_DP02": 24.079999923706055, + "SATB1_CHW_DH4_DP03": 23.040000915527344, + "SATB1_CHW_DH4_DP04": 24.329999923706055, + "SATB1_CHW_DH5_DP01": 23.530000686645508, + "SATB1_CHW_DH5_DP02": 22.969999313354492, + "SATB1_CHW_DH5_DP03": 23.34000015258789, + "SATB1_CHW_DH5_DP04": 23.719999313354492, + "t_stamp": 1776698858398 + }, + { + "SATB1_CHW_DH1_DP01": 22.14031812615589, + "SATB1_CHW_DH1_DP02": 22.12907510256506, + "SATB1_CHW_DH1_DP03": 21.935051048407367, + "SATB1_CHW_DH1_DP04": 21.201280426120757, + "SATB1_CHW_DH2_DP01": 22.100939465033182, + "SATB1_CHW_DH2_DP02": 22.674369749453813, + "SATB1_CHW_DH2_DP03": 20.999607575480145, + "SATB1_CHW_DH2_DP04": 23.058733458686106, + "SATB1_CHW_DH3_DP01": 23.56090086402893, + "SATB1_CHW_DH3_DP02": 23.087818805683582, + "SATB1_CHW_DH3_DP03": 22.847014263100437, + "SATB1_CHW_DH3_DP04": 22.986719914702018, + "SATB1_CHW_DH4_DP01": 23.336537865511577, + "SATB1_CHW_DH4_DP02": 23.982012412475115, + "SATB1_CHW_DH4_DP03": 23.066722046716254, + "SATB1_CHW_DH4_DP04": 24.23202341180286, + "SATB1_CHW_DH5_DP01": 23.173651205556027, + "SATB1_CHW_DH5_DP02": 22.934375238358182, + "SATB1_CHW_DH5_DP03": 23.17968456847343, + "SATB1_CHW_DH5_DP04": 23.764539030184547, + "t_stamp": 1776698888398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15999984741211, + "SATB1_CHW_DH1_DP02": 22.139999389648438, + "SATB1_CHW_DH1_DP03": 21.90999984741211, + "SATB1_CHW_DH1_DP04": 21.209999084472656, + "SATB1_CHW_DH2_DP01": 22.09000015258789, + "SATB1_CHW_DH2_DP02": 22.670000076293945, + "SATB1_CHW_DH2_DP03": 20.979999542236328, + "SATB1_CHW_DH2_DP04": 23.049999237060547, + "SATB1_CHW_DH3_DP01": 23.65999984741211, + "SATB1_CHW_DH3_DP02": 23.09000015258789, + "SATB1_CHW_DH3_DP03": 22.8700008392334, + "SATB1_CHW_DH3_DP04": 22.989999771118164, + "SATB1_CHW_DH4_DP01": 23.329999923706055, + "SATB1_CHW_DH4_DP02": 23.969999313354492, + "SATB1_CHW_DH4_DP03": 23.06999969482422, + "SATB1_CHW_DH4_DP04": 24.219999313354492, + "SATB1_CHW_DH5_DP01": 23.1299991607666, + "SATB1_CHW_DH5_DP02": 22.93000030517578, + "SATB1_CHW_DH5_DP03": 23.15999984741211, + "SATB1_CHW_DH5_DP04": 23.770000457763672, + "t_stamp": 1776698918398 + }, + { + "SATB1_CHW_DH1_DP01": 21.96405092734226, + "SATB1_CHW_DH1_DP02": 21.979658773125895, + "SATB1_CHW_DH1_DP03": 22.088214223681803, + "SATB1_CHW_DH1_DP04": 21.022886400222777, + "SATB1_CHW_DH2_DP01": 22.196874763811504, + "SATB1_CHW_DH2_DP02": 22.74126238374536, + "SATB1_CHW_DH2_DP03": 20.971088671620688, + "SATB1_CHW_DH2_DP04": 23.147994513869065, + "SATB1_CHW_DH3_DP01": 22.947120527267455, + "SATB1_CHW_DH3_DP02": 23.125637196225306, + "SATB1_CHW_DH3_DP03": 22.843283337169282, + "SATB1_CHW_DH3_DP04": 23.007814105977502, + "SATB1_CHW_DH4_DP01": 23.445833509254456, + "SATB1_CHW_DH4_DP02": 24.032358691845623, + "SATB1_CHW_DH4_DP03": 23.167985804456848, + "SATB1_CHW_DH4_DP04": 24.335794887818984, + "SATB1_CHW_DH5_DP01": 23.308179113109006, + "SATB1_CHW_DH5_DP02": 22.93000030517578, + "SATB1_CHW_DH5_DP03": 23.07984003951865, + "SATB1_CHW_DH5_DP04": 23.796723706564457, + "t_stamp": 1776698948398 + }, + { + "SATB1_CHW_DH1_DP01": 21.940000534057617, + "SATB1_CHW_DH1_DP02": 21.959999084472656, + "SATB1_CHW_DH1_DP03": 22.110000610351562, + "SATB1_CHW_DH1_DP04": 21, + "SATB1_CHW_DH2_DP01": 22.209999084472656, + "SATB1_CHW_DH2_DP02": 22.75, + "SATB1_CHW_DH2_DP03": 20.969999313354492, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 22.860000610351562, + "SATB1_CHW_DH3_DP02": 23.1299991607666, + "SATB1_CHW_DH3_DP03": 22.84000015258789, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.040000915527344, + "SATB1_CHW_DH4_DP03": 23.18000030517578, + "SATB1_CHW_DH4_DP04": 24.350000381469727, + "SATB1_CHW_DH5_DP01": 23.329999923706055, + "SATB1_CHW_DH5_DP02": 22.93000030517578, + "SATB1_CHW_DH5_DP03": 23.06999969482422, + "SATB1_CHW_DH5_DP04": 23.799999237060547, + "t_stamp": 1776698978398 + }, + { + "SATB1_CHW_DH1_DP01": 22.00233874484435, + "SATB1_CHW_DH1_DP02": 22.138135648153977, + "SATB1_CHW_DH1_DP03": 22.09217886912028, + "SATB1_CHW_DH1_DP04": 21.142557778782354, + "SATB1_CHW_DH2_DP01": 22.16547848544507, + "SATB1_CHW_DH2_DP02": 22.6520230873336, + "SATB1_CHW_DH2_DP03": 21.0680155569477, + "SATB1_CHW_DH2_DP04": 23.142182403229782, + "SATB1_CHW_DH3_DP01": 22.886732077058564, + "SATB1_CHW_DH3_DP02": 23.138908567708643, + "SATB1_CHW_DH3_DP03": 22.72426411337314, + "SATB1_CHW_DH3_DP04": 22.912035747172595, + "SATB1_CHW_DH4_DP01": 23.45109054366055, + "SATB1_CHW_DH4_DP02": 24.048907456741798, + "SATB1_CHW_DH4_DP03": 23.055307807866424, + "SATB1_CHW_DH4_DP04": 24.350000381469727, + "SATB1_CHW_DH5_DP01": 23.668535533772854, + "SATB1_CHW_DH5_DP02": 22.93000030517578, + "SATB1_CHW_DH5_DP03": 23.221385342074697, + "SATB1_CHW_DH5_DP04": 23.764369235424898, + "t_stamp": 1776699008398 + }, + { + "SATB1_CHW_DH1_DP01": 22.010000228881836, + "SATB1_CHW_DH1_DP02": 22.15999984741211, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.639999389648438, + "SATB1_CHW_DH2_DP03": 21.079999923706055, + "SATB1_CHW_DH2_DP04": 23.139999389648438, + "SATB1_CHW_DH3_DP01": 22.889999389648438, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.709999084472656, + "SATB1_CHW_DH3_DP04": 22.899999618530273, + "SATB1_CHW_DH4_DP01": 23.450000762939453, + "SATB1_CHW_DH4_DP02": 24.049999237060547, + "SATB1_CHW_DH4_DP03": 23.040000915527344, + "SATB1_CHW_DH4_DP04": 24.350000381469727, + "SATB1_CHW_DH5_DP01": 23.709999084472656, + "SATB1_CHW_DH5_DP02": 22.93000030517578, + "SATB1_CHW_DH5_DP03": 23.239999771118164, + "SATB1_CHW_DH5_DP04": 23.760000228881836, + "t_stamp": 1776699038398 + }, + { + "SATB1_CHW_DH1_DP01": 22.143582115535107, + "SATB1_CHW_DH1_DP02": 22.142186106363933, + "SATB1_CHW_DH1_DP03": 22.01871726333386, + "SATB1_CHW_DH1_DP04": 20.9372614386924, + "SATB1_CHW_DH2_DP01": 22.017524110298275, + "SATB1_CHW_DH2_DP02": 22.72015968955093, + "SATB1_CHW_DH2_DP03": 21.08891047914196, + "SATB1_CHW_DH2_DP04": 23.131091576530366, + "SATB1_CHW_DH3_DP01": 23.59394430637765, + "SATB1_CHW_DH3_DP02": 22.997462361393417, + "SATB1_CHW_DH3_DP03": 22.799036112957328, + "SATB1_CHW_DH3_DP04": 22.97124488391876, + "SATB1_CHW_DH4_DP01": 23.432180949065817, + "SATB1_CHW_DH4_DP02": 24.032186012786187, + "SATB1_CHW_DH4_DP03": 23.013280803966524, + "SATB1_CHW_DH4_DP04": 24.403435015260783, + "SATB1_CHW_DH5_DP01": 23.086444126170218, + "SATB1_CHW_DH5_DP02": 22.938905454241066, + "SATB1_CHW_DH5_DP03": 23.097517824263576, + "SATB1_CHW_DH5_DP04": 23.768907505610365, + "t_stamp": 1776699068398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15999984741211, + "SATB1_CHW_DH1_DP02": 22.139999389648438, + "SATB1_CHW_DH1_DP03": 22.010000228881836, + "SATB1_CHW_DH1_DP04": 20.90999984741211, + "SATB1_CHW_DH2_DP01": 22, + "SATB1_CHW_DH2_DP02": 22.729999542236328, + "SATB1_CHW_DH2_DP03": 21.09000015258789, + "SATB1_CHW_DH2_DP04": 23.1299991607666, + "SATB1_CHW_DH3_DP01": 23.68000030517578, + "SATB1_CHW_DH3_DP02": 22.979999542236328, + "SATB1_CHW_DH3_DP03": 22.809999465942383, + "SATB1_CHW_DH3_DP04": 22.979999542236328, + "SATB1_CHW_DH4_DP01": 23.43000030517578, + "SATB1_CHW_DH4_DP02": 24.030000686645508, + "SATB1_CHW_DH4_DP03": 23.010000228881836, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.010000228881836, + "SATB1_CHW_DH5_DP02": 22.940000534057617, + "SATB1_CHW_DH5_DP03": 23.079999923706055, + "SATB1_CHW_DH5_DP04": 23.770000457763672, + "t_stamp": 1776699098398 + }, + { + "SATB1_CHW_DH1_DP01": 21.96408272418965, + "SATB1_CHW_DH1_DP02": 22.148906111727158, + "SATB1_CHW_DH1_DP03": 22.010000228881836, + "SATB1_CHW_DH1_DP04": 20.98127577943802, + "SATB1_CHW_DH2_DP01": 22.08904718890595, + "SATB1_CHW_DH2_DP02": 22.64093402023266, + "SATB1_CHW_DH2_DP03": 21.018719929909096, + "SATB1_CHW_DH2_DP04": 23.040927004479176, + "SATB1_CHW_DH3_DP01": 22.851321844551492, + "SATB1_CHW_DH3_DP02": 23.03345176563263, + "SATB1_CHW_DH3_DP03": 22.907942176055908, + "SATB1_CHW_DH3_DP04": 22.89984974217664, + "SATB1_CHW_DH4_DP01": 23.385450952212015, + "SATB1_CHW_DH4_DP02": 23.94983605073293, + "SATB1_CHW_DH4_DP03": 23.099065568637847, + "SATB1_CHW_DH4_DP04": 24.374377397378286, + "SATB1_CHW_DH5_DP01": 23.571192981306712, + "SATB1_CHW_DH5_DP02": 22.9489055894593, + "SATB1_CHW_DH5_DP03": 23.507440392052068, + "SATB1_CHW_DH5_DP04": 23.761093253898622, + "t_stamp": 1776699128398 + }, + { + "SATB1_CHW_DH1_DP01": 21.940000534057617, + "SATB1_CHW_DH1_DP02": 22.149999618530273, + "SATB1_CHW_DH1_DP03": 22.010000228881836, + "SATB1_CHW_DH1_DP04": 20.989999771118164, + "SATB1_CHW_DH2_DP01": 22.100000381469727, + "SATB1_CHW_DH2_DP02": 22.6299991607666, + "SATB1_CHW_DH2_DP03": 21.010000228881836, + "SATB1_CHW_DH2_DP04": 23.030000686645508, + "SATB1_CHW_DH3_DP01": 22.75, + "SATB1_CHW_DH3_DP02": 23.040000915527344, + "SATB1_CHW_DH3_DP03": 22.920000076293945, + "SATB1_CHW_DH3_DP04": 22.889999389648438, + "SATB1_CHW_DH4_DP01": 23.3799991607666, + "SATB1_CHW_DH4_DP02": 23.940000534057617, + "SATB1_CHW_DH4_DP03": 23.110000610351562, + "SATB1_CHW_DH4_DP04": 24.3700008392334, + "SATB1_CHW_DH5_DP01": 23.639999389648438, + "SATB1_CHW_DH5_DP02": 22.950000762939453, + "SATB1_CHW_DH5_DP03": 23.559999465942383, + "SATB1_CHW_DH5_DP04": 23.760000228881836, + "t_stamp": 1776699158398 + }, + { + "SATB1_CHW_DH1_DP01": 22.135897666197025, + "SATB1_CHW_DH1_DP02": 22.114377470408247, + "SATB1_CHW_DH1_DP03": 22.081279118273013, + "SATB1_CHW_DH1_DP04": 20.95436443654807, + "SATB1_CHW_DH2_DP01": 22.20684474591227, + "SATB1_CHW_DH2_DP02": 22.745774964099823, + "SATB1_CHW_DH2_DP03": 21.161467772400684, + "SATB1_CHW_DH2_DP04": 23.119065238781626, + "SATB1_CHW_DH3_DP01": 23.427186917496535, + "SATB1_CHW_DH3_DP02": 23.12016783560673, + "SATB1_CHW_DH3_DP03": 22.688523353506984, + "SATB1_CHW_DH3_DP04": 23.032473006399616, + "SATB1_CHW_DH4_DP01": 23.478002771115822, + "SATB1_CHW_DH4_DP02": 24.10031377455872, + "SATB1_CHW_DH4_DP03": 23.127810538285924, + "SATB1_CHW_DH4_DP04": 24.48576241964174, + "SATB1_CHW_DH5_DP01": 23.337163204010917, + "SATB1_CHW_DH5_DP02": 22.967807358115355, + "SATB1_CHW_DH5_DP03": 23.319589797764607, + "SATB1_CHW_DH5_DP04": 23.79562378311119, + "t_stamp": 1776699188398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15999984741211, + "SATB1_CHW_DH1_DP02": 22.110000610351562, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 20.950000762939453, + "SATB1_CHW_DH2_DP01": 22.219999313354492, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.18000030517578, + "SATB1_CHW_DH2_DP04": 23.1299991607666, + "SATB1_CHW_DH3_DP01": 23.510000228881836, + "SATB1_CHW_DH3_DP02": 23.1299991607666, + "SATB1_CHW_DH3_DP03": 22.65999984741211, + "SATB1_CHW_DH3_DP04": 23.049999237060547, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.1200008392334, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.5, + "SATB1_CHW_DH5_DP01": 23.299999237060547, + "SATB1_CHW_DH5_DP02": 22.969999313354492, + "SATB1_CHW_DH5_DP03": 23.290000915527344, + "SATB1_CHW_DH5_DP04": 23.799999237060547, + "t_stamp": 1776699218398 + }, + { + "SATB1_CHW_DH1_DP01": 22.293571186305694, + "SATB1_CHW_DH1_DP02": 22.279218335192684, + "SATB1_CHW_DH1_DP03": 22.081089818313515, + "SATB1_CHW_DH1_DP04": 21.226183890199643, + "SATB1_CHW_DH2_DP01": 22.19328806466543, + "SATB1_CHW_DH2_DP02": 22.902500259660865, + "SATB1_CHW_DH2_DP03": 21.126540890021964, + "SATB1_CHW_DH2_DP04": 23.219070438607805, + "SATB1_CHW_DH3_DP01": 23.27832749706163, + "SATB1_CHW_DH3_DP02": 23.192358284495715, + "SATB1_CHW_DH3_DP03": 22.811355649792123, + "SATB1_CHW_DH3_DP04": 23.041095786478778, + "SATB1_CHW_DH4_DP01": 23.570183907063804, + "SATB1_CHW_DH4_DP02": 24.1200008392334, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.446568913488072, + "SATB1_CHW_DH5_DP01": 23.406890892189676, + "SATB1_CHW_DH5_DP02": 23.067946920848392, + "SATB1_CHW_DH5_DP03": 23.655083033769, + "SATB1_CHW_DH5_DP04": 23.88016005302332, + "t_stamp": 1776699248398 + }, + { + "SATB1_CHW_DH1_DP01": 22.309999465942383, + "SATB1_CHW_DH1_DP02": 22.299999237060547, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.260000228881836, + "SATB1_CHW_DH2_DP01": 22.190000534057617, + "SATB1_CHW_DH2_DP02": 22.920000076293945, + "SATB1_CHW_DH2_DP03": 21.1200008392334, + "SATB1_CHW_DH2_DP04": 23.229999542236328, + "SATB1_CHW_DH3_DP01": 23.25, + "SATB1_CHW_DH3_DP02": 23.200000762939453, + "SATB1_CHW_DH3_DP03": 22.829999923706055, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.579999923706055, + "SATB1_CHW_DH4_DP02": 24.1200008392334, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.420000076293945, + "SATB1_CHW_DH5_DP02": 23.079999923706055, + "SATB1_CHW_DH5_DP03": 23.700000762939453, + "SATB1_CHW_DH5_DP04": 23.889999389648438, + "t_stamp": 1776699278398 + }, + { + "SATB1_CHW_DH1_DP01": 22.051786003822254, + "SATB1_CHW_DH1_DP02": 22.23766244815231, + "SATB1_CHW_DH1_DP03": 22.24038052261278, + "SATB1_CHW_DH1_DP04": 21.144182040916636, + "SATB1_CHW_DH2_DP01": 22.207805499410384, + "SATB1_CHW_DH2_DP02": 22.839852290969038, + "SATB1_CHW_DH2_DP03": 21.066539615631104, + "SATB1_CHW_DH2_DP04": 23.301249682599337, + "SATB1_CHW_DH3_DP01": 22.92922145614624, + "SATB1_CHW_DH3_DP02": 23.226722003372377, + "SATB1_CHW_DH3_DP03": 22.999141180361132, + "SATB1_CHW_DH3_DP04": 23.146849279534326, + "SATB1_CHW_DH4_DP01": 23.579999923706055, + "SATB1_CHW_DH4_DP02": 24.13781147018113, + "SATB1_CHW_DH4_DP03": 23.22795794250818, + "SATB1_CHW_DH4_DP04": 24.466712775756623, + "SATB1_CHW_DH5_DP01": 23.722830595828864, + "SATB1_CHW_DH5_DP02": 23.05328898338804, + "SATB1_CHW_DH5_DP03": 23.753421945269615, + "SATB1_CHW_DH5_DP04": 23.881093391486985, + "t_stamp": 1776699308398 + }, + { + "SATB1_CHW_DH1_DP01": 22.020000457763672, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.260000228881836, + "SATB1_CHW_DH1_DP04": 21.1299991607666, + "SATB1_CHW_DH2_DP01": 22.209999084472656, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.059999465942383, + "SATB1_CHW_DH2_DP04": 23.309999465942383, + "SATB1_CHW_DH3_DP01": 22.889999389648438, + "SATB1_CHW_DH3_DP02": 23.229999542236328, + "SATB1_CHW_DH3_DP03": 23.020000457763672, + "SATB1_CHW_DH3_DP04": 23.15999984741211, + "SATB1_CHW_DH4_DP01": 23.579999923706055, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.239999771118164, + "SATB1_CHW_DH4_DP04": 24.469999313354492, + "SATB1_CHW_DH5_DP01": 23.760000228881836, + "SATB1_CHW_DH5_DP02": 23.049999237060547, + "SATB1_CHW_DH5_DP03": 23.760000228881836, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776699338398 + }, + { + "SATB1_CHW_DH1_DP01": 22.14467435996718, + "SATB1_CHW_DH1_DP02": 22.176561002042508, + "SATB1_CHW_DH1_DP03": 22.144167346643126, + "SATB1_CHW_DH1_DP04": 21.34382734752201, + "SATB1_CHW_DH2_DP01": 22.37028274150778, + "SATB1_CHW_DH2_DP02": 22.856720488602807, + "SATB1_CHW_DH2_DP03": 21.175832348181093, + "SATB1_CHW_DH2_DP04": 23.32781487927967, + "SATB1_CHW_DH3_DP01": 23.638481525611876, + "SATB1_CHW_DH3_DP02": 23.21218209216429, + "SATB1_CHW_DH3_DP03": 22.824116194241046, + "SATB1_CHW_DH3_DP04": 23.13328278317891, + "SATB1_CHW_DH4_DP01": 23.473081612047338, + "SATB1_CHW_DH4_DP02": 24.184536256036804, + "SATB1_CHW_DH4_DP03": 23.15093440494142, + "SATB1_CHW_DH4_DP04": 24.443282947581615, + "SATB1_CHW_DH5_DP01": 23.154265859155977, + "SATB1_CHW_DH5_DP02": 23.049999237060547, + "SATB1_CHW_DH5_DP03": 23.29694064471459, + "SATB1_CHW_DH5_DP04": 23.844372033313796, + "t_stamp": 1776699368398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15999984741211, + "SATB1_CHW_DH1_DP02": 22.170000076293945, + "SATB1_CHW_DH1_DP03": 22.1299991607666, + "SATB1_CHW_DH1_DP04": 21.3700008392334, + "SATB1_CHW_DH2_DP01": 22.389999389648438, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.190000534057617, + "SATB1_CHW_DH2_DP04": 23.329999923706055, + "SATB1_CHW_DH3_DP01": 23.729999542236328, + "SATB1_CHW_DH3_DP02": 23.209999084472656, + "SATB1_CHW_DH3_DP03": 22.799999237060547, + "SATB1_CHW_DH3_DP04": 23.1299991607666, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.079999923706055, + "SATB1_CHW_DH5_DP02": 23.049999237060547, + "SATB1_CHW_DH5_DP03": 23.239999771118164, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776699398398 + }, + { + "SATB1_CHW_DH1_DP01": 22.151093401377555, + "SATB1_CHW_DH1_DP02": 22.250165556564244, + "SATB1_CHW_DH1_DP03": 22.147820496019506, + "SATB1_CHW_DH1_DP04": 21.271992528496984, + "SATB1_CHW_DH2_DP01": 22.318753666347927, + "SATB1_CHW_DH2_DP02": 22.91344380683517, + "SATB1_CHW_DH2_DP03": 21.234551430114116, + "SATB1_CHW_DH2_DP04": 23.285460785335808, + "SATB1_CHW_DH3_DP01": 23.81910636725868, + "SATB1_CHW_DH3_DP02": 23.209999084472656, + "SATB1_CHW_DH3_DP03": 22.817809722543295, + "SATB1_CHW_DH3_DP04": 23.1032810213725, + "SATB1_CHW_DH4_DP01": 23.549099242691796, + "SATB1_CHW_DH4_DP02": 24.207814503329615, + "SATB1_CHW_DH4_DP03": 23.166721337318087, + "SATB1_CHW_DH4_DP04": 24.502346418660373, + "SATB1_CHW_DH5_DP01": 23.16908323296293, + "SATB1_CHW_DH5_DP02": 23.058905331489264, + "SATB1_CHW_DH5_DP03": 23.31124816134949, + "SATB1_CHW_DH5_DP04": 23.88453753322737, + "t_stamp": 1776699428398 + }, + { + "SATB1_CHW_DH1_DP01": 22.149999618530273, + "SATB1_CHW_DH1_DP02": 22.260000228881836, + "SATB1_CHW_DH1_DP03": 22.149999618530273, + "SATB1_CHW_DH1_DP04": 21.260000228881836, + "SATB1_CHW_DH2_DP01": 22.309999465942383, + "SATB1_CHW_DH2_DP02": 22.920000076293945, + "SATB1_CHW_DH2_DP03": 21.239999771118164, + "SATB1_CHW_DH2_DP04": 23.280000686645508, + "SATB1_CHW_DH3_DP01": 23.829999923706055, + "SATB1_CHW_DH3_DP02": 23.209999084472656, + "SATB1_CHW_DH3_DP03": 22.81999969482422, + "SATB1_CHW_DH3_DP04": 23.100000381469727, + "SATB1_CHW_DH4_DP01": 23.559999465942383, + "SATB1_CHW_DH4_DP02": 24.209999084472656, + "SATB1_CHW_DH4_DP03": 23.170000076293945, + "SATB1_CHW_DH4_DP04": 24.510000228881836, + "SATB1_CHW_DH5_DP01": 23.18000030517578, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.31999969482422, + "SATB1_CHW_DH5_DP04": 23.889999389648438, + "t_stamp": 1776699458398 + }, + { + "SATB1_CHW_DH1_DP01": 22.265786762734113, + "SATB1_CHW_DH1_DP02": 22.206555813844506, + "SATB1_CHW_DH1_DP03": 22.158910173966177, + "SATB1_CHW_DH1_DP04": 21.277820303408305, + "SATB1_CHW_DH2_DP01": 22.131877881081294, + "SATB1_CHW_DH2_DP02": 22.928907761961387, + "SATB1_CHW_DH2_DP03": 21.106345111020406, + "SATB1_CHW_DH2_DP04": 23.280000686645508, + "SATB1_CHW_DH3_DP01": 22.947844127655028, + "SATB1_CHW_DH3_DP02": 23.272363639132575, + "SATB1_CHW_DH3_DP03": 23.104969505890285, + "SATB1_CHW_DH3_DP04": 23.064372378455197, + "SATB1_CHW_DH4_DP01": 23.595640281677245, + "SATB1_CHW_DH4_DP02": 24.183276281074196, + "SATB1_CHW_DH4_DP03": 23.187815411209506, + "SATB1_CHW_DH4_DP04": 24.42093025345362, + "SATB1_CHW_DH5_DP01": 23.7234182391962, + "SATB1_CHW_DH5_DP02": 23.104531969569987, + "SATB1_CHW_DH5_DP03": 23.667345440330703, + "SATB1_CHW_DH5_DP04": 23.881091370634476, + "t_stamp": 1776699488398 + }, + { + "SATB1_CHW_DH1_DP01": 22.280000686645508, + "SATB1_CHW_DH1_DP02": 22.200000762939453, + "SATB1_CHW_DH1_DP03": 22.15999984741211, + "SATB1_CHW_DH1_DP04": 21.280000686645508, + "SATB1_CHW_DH2_DP01": 22.110000610351562, + "SATB1_CHW_DH2_DP02": 22.93000030517578, + "SATB1_CHW_DH2_DP03": 21.09000015258789, + "SATB1_CHW_DH2_DP04": 23.280000686645508, + "SATB1_CHW_DH3_DP01": 22.84000015258789, + "SATB1_CHW_DH3_DP02": 23.280000686645508, + "SATB1_CHW_DH3_DP03": 23.139999389648438, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.600000381469727, + "SATB1_CHW_DH4_DP02": 24.18000030517578, + "SATB1_CHW_DH4_DP03": 23.190000534057617, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.790000915527344, + "SATB1_CHW_DH5_DP02": 23.110000610351562, + "SATB1_CHW_DH5_DP03": 23.709999084472656, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776699518398 + }, + { + "SATB1_CHW_DH1_DP01": 22.146401554248236, + "SATB1_CHW_DH1_DP02": 22.32470314089583, + "SATB1_CHW_DH1_DP03": 22.22237294837533, + "SATB1_CHW_DH1_DP04": 21.066161326586073, + "SATB1_CHW_DH2_DP01": 22.08328194412473, + "SATB1_CHW_DH2_DP02": 22.88546252808959, + "SATB1_CHW_DH2_DP03": 21.08108961531321, + "SATB1_CHW_DH2_DP04": 23.199827050717673, + "SATB1_CHW_DH3_DP01": 23.107319472757975, + "SATB1_CHW_DH3_DP02": 23.16418080473028, + "SATB1_CHW_DH3_DP03": 23.122190013885497, + "SATB1_CHW_DH3_DP04": 23.033280943819715, + "SATB1_CHW_DH4_DP01": 23.55544861927178, + "SATB1_CHW_DH4_DP02": 24.162184194335083, + "SATB1_CHW_DH4_DP03": 23.225629056784094, + "SATB1_CHW_DH4_DP04": 24.37437332460271, + "SATB1_CHW_DH5_DP01": 23.4069351436615, + "SATB1_CHW_DH5_DP02": 23.038751199125013, + "SATB1_CHW_DH5_DP03": 23.37156480582654, + "SATB1_CHW_DH5_DP04": 23.95126057178171, + "t_stamp": 1776699548398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1299991607666, + "SATB1_CHW_DH1_DP02": 22.34000015258789, + "SATB1_CHW_DH1_DP03": 22.229999542236328, + "SATB1_CHW_DH1_DP04": 21.040000915527344, + "SATB1_CHW_DH2_DP01": 22.079999923706055, + "SATB1_CHW_DH2_DP02": 22.8799991607666, + "SATB1_CHW_DH2_DP03": 21.079999923706055, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.139999389648438, + "SATB1_CHW_DH3_DP02": 23.149999618530273, + "SATB1_CHW_DH3_DP03": 23.1200008392334, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.549999237060547, + "SATB1_CHW_DH4_DP02": 24.15999984741211, + "SATB1_CHW_DH4_DP03": 23.229999542236328, + "SATB1_CHW_DH4_DP04": 24.3700008392334, + "SATB1_CHW_DH5_DP01": 23.360000610351562, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.329999923706055, + "SATB1_CHW_DH5_DP04": 23.959999084472656, + "t_stamp": 1776699578398 + }, + { + "SATB1_CHW_DH1_DP01": 22.20124040662852, + "SATB1_CHW_DH1_DP02": 22.286562862641308, + "SATB1_CHW_DH1_DP03": 22.20327046639764, + "SATB1_CHW_DH1_DP04": 21.227094508659718, + "SATB1_CHW_DH2_DP01": 22.177951774507537, + "SATB1_CHW_DH2_DP02": 22.897812453849323, + "SATB1_CHW_DH2_DP03": 21.240378176715197, + "SATB1_CHW_DH2_DP04": 23.323609333358096, + "SATB1_CHW_DH3_DP01": 23.20237170530595, + "SATB1_CHW_DH3_DP02": 23.17672505773028, + "SATB1_CHW_DH3_DP03": 22.8885044097519, + "SATB1_CHW_DH3_DP04": 23.01218965374268, + "SATB1_CHW_DH4_DP01": 23.532181680127984, + "SATB1_CHW_DH4_DP02": 24.151092700909302, + "SATB1_CHW_DH4_DP03": 23.176562252289745, + "SATB1_CHW_DH4_DP04": 24.47686763897433, + "SATB1_CHW_DH5_DP01": 23.627228207927192, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.205330756517622, + "SATB1_CHW_DH5_DP04": 23.81749080455419, + "t_stamp": 1776699608398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209999084472656, + "SATB1_CHW_DH1_DP02": 22.280000686645508, + "SATB1_CHW_DH1_DP03": 22.200000762939453, + "SATB1_CHW_DH1_DP04": 21.25, + "SATB1_CHW_DH2_DP01": 22.190000534057617, + "SATB1_CHW_DH2_DP02": 22.899999618530273, + "SATB1_CHW_DH2_DP03": 21.260000228881836, + "SATB1_CHW_DH2_DP04": 23.34000015258789, + "SATB1_CHW_DH3_DP01": 23.209999084472656, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.860000610351562, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.170000076293945, + "SATB1_CHW_DH4_DP04": 24.489999771118164, + "SATB1_CHW_DH5_DP01": 23.65999984741211, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.190000534057617, + "SATB1_CHW_DH5_DP04": 23.799999237060547, + "t_stamp": 1776699638398 + }, + { + "SATB1_CHW_DH1_DP01": 22.129846295928434, + "SATB1_CHW_DH1_DP02": 22.28890779941755, + "SATB1_CHW_DH1_DP03": 22.280192235419804, + "SATB1_CHW_DH1_DP04": 21.053995678338566, + "SATB1_CHW_DH2_DP01": 22.234527549516653, + "SATB1_CHW_DH2_DP02": 22.926721011505848, + "SATB1_CHW_DH2_DP03": 21.19763062796169, + "SATB1_CHW_DH2_DP04": 23.19747849575096, + "SATB1_CHW_DH3_DP01": 22.82684340687282, + "SATB1_CHW_DH3_DP02": 23.206724608563206, + "SATB1_CHW_DH3_DP03": 22.984665688935525, + "SATB1_CHW_DH3_DP04": 23.116871964881017, + "SATB1_CHW_DH4_DP01": 23.476541681167916, + "SATB1_CHW_DH4_DP02": 24.203443705793205, + "SATB1_CHW_DH4_DP03": 23.17890718906599, + "SATB1_CHW_DH4_DP04": 24.489999771118164, + "SATB1_CHW_DH5_DP01": 23.677816145980028, + "SATB1_CHW_DH5_DP02": 23.101246264025654, + "SATB1_CHW_DH5_DP03": 23.50170121048436, + "SATB1_CHW_DH5_DP04": 23.880164717330846, + "t_stamp": 1776699668398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1200008392334, + "SATB1_CHW_DH1_DP02": 22.290000915527344, + "SATB1_CHW_DH1_DP03": 22.290000915527344, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.93000030517578, + "SATB1_CHW_DH2_DP03": 21.190000534057617, + "SATB1_CHW_DH2_DP04": 23.18000030517578, + "SATB1_CHW_DH3_DP01": 22.780000686645508, + "SATB1_CHW_DH3_DP02": 23.209999084472656, + "SATB1_CHW_DH3_DP03": 23, + "SATB1_CHW_DH3_DP04": 23.1299991607666, + "SATB1_CHW_DH4_DP01": 23.469999313354492, + "SATB1_CHW_DH4_DP02": 24.209999084472656, + "SATB1_CHW_DH4_DP03": 23.18000030517578, + "SATB1_CHW_DH4_DP04": 24.489999771118164, + "SATB1_CHW_DH5_DP01": 23.68000030517578, + "SATB1_CHW_DH5_DP02": 23.110000610351562, + "SATB1_CHW_DH5_DP03": 23.540000915527344, + "SATB1_CHW_DH5_DP04": 23.889999389648438, + "t_stamp": 1776699698398 + }, + { + "SATB1_CHW_DH1_DP01": 22.004215861786253, + "SATB1_CHW_DH1_DP02": 22.28109326627983, + "SATB1_CHW_DH1_DP03": 22.2454483199631, + "SATB1_CHW_DH1_DP04": 21.20819524344773, + "SATB1_CHW_DH2_DP01": 22.364682716990938, + "SATB1_CHW_DH2_DP02": 22.921092655928266, + "SATB1_CHW_DH2_DP03": 21.24346184025582, + "SATB1_CHW_DH2_DP04": 23.269081765715992, + "SATB1_CHW_DH3_DP01": 23.528484347883804, + "SATB1_CHW_DH3_DP02": 23.192182485005446, + "SATB1_CHW_DH3_DP03": 22.768462552645506, + "SATB1_CHW_DH3_DP04": 23.023120768128198, + "SATB1_CHW_DH4_DP01": 23.50563998374785, + "SATB1_CHW_DH4_DP02": 24.218907233756617, + "SATB1_CHW_DH4_DP03": 23.13546280126706, + "SATB1_CHW_DH4_DP04": 24.481092770364533, + "SATB1_CHW_DH5_DP01": 23.590915511122848, + "SATB1_CHW_DH5_DP02": 23.083281608203112, + "SATB1_CHW_DH5_DP03": 23.361874663086894, + "SATB1_CHW_DH5_DP04": 23.881091407043293, + "t_stamp": 1776699728398 + }, + { + "SATB1_CHW_DH1_DP01": 21.989999771118164, + "SATB1_CHW_DH1_DP02": 22.280000686645508, + "SATB1_CHW_DH1_DP03": 22.239999771118164, + "SATB1_CHW_DH1_DP04": 21.229999542236328, + "SATB1_CHW_DH2_DP01": 22.3799991607666, + "SATB1_CHW_DH2_DP02": 22.920000076293945, + "SATB1_CHW_DH2_DP03": 21.25, + "SATB1_CHW_DH2_DP04": 23.280000686645508, + "SATB1_CHW_DH3_DP01": 23.6200008392334, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.739999771118164, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.219999313354492, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.479999542236328, + "SATB1_CHW_DH5_DP01": 23.579999923706055, + "SATB1_CHW_DH5_DP02": 23.079999923706055, + "SATB1_CHW_DH5_DP03": 23.34000015258789, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776699758398 + }, + { + "SATB1_CHW_DH1_DP01": 22.05234292120835, + "SATB1_CHW_DH1_DP02": 22.24437105879379, + "SATB1_CHW_DH1_DP03": 22.097434573745726, + "SATB1_CHW_DH1_DP04": 21.069622270329795, + "SATB1_CHW_DH2_DP01": 22.121730348562846, + "SATB1_CHW_DH2_DP02": 22.795299776641254, + "SATB1_CHW_DH2_DP03": 21.160896326764426, + "SATB1_CHW_DH2_DP04": 23.199829723083123, + "SATB1_CHW_DH3_DP01": 23.33485865924761, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.76671593732944, + "SATB1_CHW_DH3_DP04": 23.09015769287132, + "SATB1_CHW_DH4_DP01": 23.616919277191162, + "SATB1_CHW_DH4_DP02": 24.14873894433559, + "SATB1_CHW_DH4_DP03": 23.08546465815896, + "SATB1_CHW_DH4_DP04": 24.399840578294302, + "SATB1_CHW_DH5_DP01": 23.73144196763845, + "SATB1_CHW_DH5_DP02": 23.04437732779182, + "SATB1_CHW_DH5_DP03": 23.518121561373572, + "SATB1_CHW_DH5_DP04": 23.897814344442335, + "t_stamp": 1776699788398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059999465942383, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.049999237060547, + "SATB1_CHW_DH2_DP01": 22.09000015258789, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.149999618530273, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.299999237060547, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.770000457763672, + "SATB1_CHW_DH3_DP04": 23.100000381469727, + "SATB1_CHW_DH4_DP01": 23.6299991607666, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.75, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.540000915527344, + "SATB1_CHW_DH5_DP04": 23.899999618530273, + "t_stamp": 1776699818398 + }, + { + "SATB1_CHW_DH1_DP01": 22.042188126777923, + "SATB1_CHW_DH1_DP02": 22.293442295424143, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.25491986459567, + "SATB1_CHW_DH2_DP01": 21.992035442352297, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.060898915318138, + "SATB1_CHW_DH2_DP04": 23.16327597699596, + "SATB1_CHW_DH3_DP01": 23.48711788355122, + "SATB1_CHW_DH3_DP02": 23.207816945682183, + "SATB1_CHW_DH3_DP03": 22.894672247568767, + "SATB1_CHW_DH3_DP04": 23.10890706709761, + "SATB1_CHW_DH4_DP01": 23.487444048559485, + "SATB1_CHW_DH4_DP02": 24.14890724198914, + "SATB1_CHW_DH4_DP03": 23.044372213326103, + "SATB1_CHW_DH4_DP04": 24.318746270047647, + "SATB1_CHW_DH5_DP01": 23.7410914627711, + "SATB1_CHW_DH5_DP02": 23.04890540245424, + "SATB1_CHW_DH5_DP03": 23.56671827365844, + "SATB1_CHW_DH5_DP04": 23.837647517825502, + "t_stamp": 1776699848398 + }, + { + "SATB1_CHW_DH1_DP01": 22.040000915527344, + "SATB1_CHW_DH1_DP02": 22.299999237060547, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.280000686645508, + "SATB1_CHW_DH2_DP01": 21.979999542236328, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.049999237060547, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.510000228881836, + "SATB1_CHW_DH3_DP02": 23.209999084472656, + "SATB1_CHW_DH3_DP03": 22.90999984741211, + "SATB1_CHW_DH3_DP04": 23.110000610351562, + "SATB1_CHW_DH4_DP01": 23.469999313354492, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.040000915527344, + "SATB1_CHW_DH4_DP04": 24.309999465942383, + "SATB1_CHW_DH5_DP01": 23.739999771118164, + "SATB1_CHW_DH5_DP02": 23.049999237060547, + "SATB1_CHW_DH5_DP03": 23.56999969482422, + "SATB1_CHW_DH5_DP04": 23.829999923706055, + "t_stamp": 1776699878398 + }, + { + "SATB1_CHW_DH1_DP01": 22.02219051272151, + "SATB1_CHW_DH1_DP02": 22.166400983392236, + "SATB1_CHW_DH1_DP03": 22.142371857988252, + "SATB1_CHW_DH1_DP04": 21.02162006461272, + "SATB1_CHW_DH2_DP01": 22.06903743979081, + "SATB1_CHW_DH2_DP02": 22.762187133144675, + "SATB1_CHW_DH2_DP03": 21.23711323934002, + "SATB1_CHW_DH2_DP04": 23.14218343963623, + "SATB1_CHW_DH3_DP01": 23.00209457061502, + "SATB1_CHW_DH3_DP02": 23.16545559749603, + "SATB1_CHW_DH3_DP03": 22.79427393216711, + "SATB1_CHW_DH3_DP04": 23.065472286054696, + "SATB1_CHW_DH4_DP01": 23.46108929426142, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.075626323735044, + "SATB1_CHW_DH4_DP04": 24.372340665699173, + "SATB1_CHW_DH5_DP01": 23.775633920033773, + "SATB1_CHW_DH5_DP02": 22.8986299657886, + "SATB1_CHW_DH5_DP03": 23.053545386967784, + "SATB1_CHW_DH5_DP04": 23.79437140097958, + "t_stamp": 1776699908398 + }, + { + "SATB1_CHW_DH1_DP01": 22.020000457763672, + "SATB1_CHW_DH1_DP02": 22.149999618530273, + "SATB1_CHW_DH1_DP03": 22.149999618530273, + "SATB1_CHW_DH1_DP04": 20.989999771118164, + "SATB1_CHW_DH2_DP01": 22.079999923706055, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.260000228881836, + "SATB1_CHW_DH2_DP04": 23.139999389648438, + "SATB1_CHW_DH3_DP01": 22.940000534057617, + "SATB1_CHW_DH3_DP02": 23.15999984741211, + "SATB1_CHW_DH3_DP03": 22.780000686645508, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.3799991607666, + "SATB1_CHW_DH5_DP01": 23.780000686645508, + "SATB1_CHW_DH5_DP02": 22.8799991607666, + "SATB1_CHW_DH5_DP03": 22.989999771118164, + "SATB1_CHW_DH5_DP04": 23.790000915527344, + "t_stamp": 1776699938398 + }, + { + "SATB1_CHW_DH1_DP01": 22.189222092170553, + "SATB1_CHW_DH1_DP02": 22.23016760736471, + "SATB1_CHW_DH1_DP03": 22.203461142667134, + "SATB1_CHW_DH1_DP04": 21.04345729529063, + "SATB1_CHW_DH2_DP01": 22.19577554999494, + "SATB1_CHW_DH2_DP02": 22.78672345815274, + "SATB1_CHW_DH2_DP03": 21.19762829459964, + "SATB1_CHW_DH2_DP04": 23.184541893838276, + "SATB1_CHW_DH3_DP01": 23.038015078104362, + "SATB1_CHW_DH3_DP02": 23.12436480375844, + "SATB1_CHW_DH3_DP03": 22.87795541474772, + "SATB1_CHW_DH3_DP04": 22.962027258463717, + "SATB1_CHW_DH4_DP01": 23.48672919626236, + "SATB1_CHW_DH4_DP02": 24.069827974030385, + "SATB1_CHW_DH4_DP03": 23.151258981660646, + "SATB1_CHW_DH4_DP04": 24.41562746608895, + "SATB1_CHW_DH5_DP01": 23.200948009797102, + "SATB1_CHW_DH5_DP02": 22.93343674291757, + "SATB1_CHW_DH5_DP03": 23.631248784487347, + "SATB1_CHW_DH5_DP04": 23.852356134045003, + "t_stamp": 1776699968398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209999084472656, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.209999084472656, + "SATB1_CHW_DH1_DP04": 21.049999237060547, + "SATB1_CHW_DH2_DP01": 22.209999084472656, + "SATB1_CHW_DH2_DP02": 22.790000915527344, + "SATB1_CHW_DH2_DP03": 21.190000534057617, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.049999237060547, + "SATB1_CHW_DH3_DP02": 23.1200008392334, + "SATB1_CHW_DH3_DP03": 22.889999389648438, + "SATB1_CHW_DH3_DP04": 22.950000762939453, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.059999465942383, + "SATB1_CHW_DH4_DP03": 23.15999984741211, + "SATB1_CHW_DH4_DP04": 24.420000076293945, + "SATB1_CHW_DH5_DP01": 23.1299991607666, + "SATB1_CHW_DH5_DP02": 22.940000534057617, + "SATB1_CHW_DH5_DP03": 23.709999084472656, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776699998398 + }, + { + "SATB1_CHW_DH1_DP01": 21.98735839255338, + "SATB1_CHW_DH1_DP02": 22.23109293970152, + "SATB1_CHW_DH1_DP03": 22.07635110677378, + "SATB1_CHW_DH1_DP04": 21.13018102755857, + "SATB1_CHW_DH2_DP01": 22.094235100439114, + "SATB1_CHW_DH2_DP02": 22.74546675844412, + "SATB1_CHW_DH2_DP03": 21.02071501056271, + "SATB1_CHW_DH2_DP04": 23.198908032078418, + "SATB1_CHW_DH3_DP01": 23.522232737221017, + "SATB1_CHW_DH3_DP02": 23.17344990935229, + "SATB1_CHW_DH3_DP03": 22.92561686235041, + "SATB1_CHW_DH3_DP04": 23.003435053262695, + "SATB1_CHW_DH4_DP01": 23.481090327817817, + "SATB1_CHW_DH4_DP02": 24.122348959142478, + "SATB1_CHW_DH4_DP03": 23.142186221021756, + "SATB1_CHW_DH4_DP04": 24.393281581856474, + "SATB1_CHW_DH5_DP01": 23.72681899374698, + "SATB1_CHW_DH5_DP02": 22.97562082834085, + "SATB1_CHW_DH5_DP03": 23.683284233672, + "SATB1_CHW_DH5_DP04": 23.80655762203923, + "t_stamp": 1776700028398 + }, + { + "SATB1_CHW_DH1_DP01": 21.959999084472656, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.059999465942383, + "SATB1_CHW_DH1_DP04": 21.139999389648438, + "SATB1_CHW_DH2_DP01": 22.079999923706055, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 21, + "SATB1_CHW_DH2_DP04": 23.200000762939453, + "SATB1_CHW_DH3_DP01": 23.579999923706055, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.93000030517578, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.479999542236328, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.799999237060547, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.68000030517578, + "SATB1_CHW_DH5_DP04": 23.799999237060547, + "t_stamp": 1776700058398 + }, + { + "SATB1_CHW_DH1_DP01": 22.182666273431185, + "SATB1_CHW_DH1_DP02": 22.247815325381296, + "SATB1_CHW_DH1_DP03": 22.07782043151713, + "SATB1_CHW_DH1_DP04": 20.952895613310385, + "SATB1_CHW_DH2_DP01": 22.258123988367288, + "SATB1_CHW_DH2_DP02": 22.78453922898058, + "SATB1_CHW_DH2_DP03": 21.25839837559605, + "SATB1_CHW_DH2_DP04": 23.137640854536272, + "SATB1_CHW_DH3_DP01": 22.947348562683516, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.716268887069152, + "SATB1_CHW_DH3_DP04": 23.03672140320868, + "SATB1_CHW_DH4_DP01": 23.497819768417795, + "SATB1_CHW_DH4_DP02": 24.067643157719647, + "SATB1_CHW_DH4_DP03": 23.068737956075164, + "SATB1_CHW_DH4_DP04": 24.407814136203783, + "SATB1_CHW_DH5_DP01": 23.247660415639494, + "SATB1_CHW_DH5_DP02": 22.953281566896095, + "SATB1_CHW_DH5_DP03": 23.724532138873872, + "SATB1_CHW_DH5_DP04": 23.835632136892137, + "t_stamp": 1776700088398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209999084472656, + "SATB1_CHW_DH1_DP02": 22.25, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 20.93000030517578, + "SATB1_CHW_DH2_DP01": 22.280000686645508, + "SATB1_CHW_DH2_DP02": 22.790000915527344, + "SATB1_CHW_DH2_DP03": 21.290000915527344, + "SATB1_CHW_DH2_DP04": 23.1299991607666, + "SATB1_CHW_DH3_DP01": 22.8700008392334, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.690000534057617, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.5, + "SATB1_CHW_DH4_DP02": 24.059999465942383, + "SATB1_CHW_DH4_DP03": 23.059999465942383, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.18000030517578, + "SATB1_CHW_DH5_DP02": 22.950000762939453, + "SATB1_CHW_DH5_DP03": 23.729999542236328, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776700118398 + }, + { + "SATB1_CHW_DH1_DP01": 22.0318782805125, + "SATB1_CHW_DH1_DP02": 22.160927265042123, + "SATB1_CHW_DH1_DP03": 22.19583157872687, + "SATB1_CHW_DH1_DP04": 21.01018760467406, + "SATB1_CHW_DH2_DP01": 22.048451252757975, + "SATB1_CHW_DH2_DP02": 22.727648811812053, + "SATB1_CHW_DH2_DP03": 21.147436394719044, + "SATB1_CHW_DH2_DP04": 23.245802892048307, + "SATB1_CHW_DH3_DP01": 22.82544722871537, + "SATB1_CHW_DH3_DP02": 23.162182454905675, + "SATB1_CHW_DH3_DP03": 22.77014632689445, + "SATB1_CHW_DH3_DP04": 23.013281530547605, + "SATB1_CHW_DH4_DP01": 23.491089944567207, + "SATB1_CHW_DH4_DP02": 24.08672324142887, + "SATB1_CHW_DH4_DP03": 23.077814055828142, + "SATB1_CHW_DH4_DP04": 24.34765502039172, + "SATB1_CHW_DH5_DP01": 23.260174596161058, + "SATB1_CHW_DH5_DP02": 22.976716949371344, + "SATB1_CHW_DH5_DP03": 23.462822486515712, + "SATB1_CHW_DH5_DP04": 23.82218459917461, + "t_stamp": 1776700148398 + }, + { + "SATB1_CHW_DH1_DP01": 22.010000228881836, + "SATB1_CHW_DH1_DP02": 22.149999618530273, + "SATB1_CHW_DH1_DP03": 22.209999084472656, + "SATB1_CHW_DH1_DP04": 21.020000457763672, + "SATB1_CHW_DH2_DP01": 22.020000457763672, + "SATB1_CHW_DH2_DP02": 22.719999313354492, + "SATB1_CHW_DH2_DP03": 21.1299991607666, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 22.81999969482422, + "SATB1_CHW_DH3_DP02": 23.15999984741211, + "SATB1_CHW_DH3_DP03": 22.780000686645508, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.489999771118164, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.34000015258789, + "SATB1_CHW_DH5_DP01": 23.270000457763672, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.43000030517578, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776700178398 + }, + { + "SATB1_CHW_DH1_DP01": 21.876412795076003, + "SATB1_CHW_DH1_DP02": 22.20344125214236, + "SATB1_CHW_DH1_DP03": 22.120897292359658, + "SATB1_CHW_DH1_DP04": 21.224915552741667, + "SATB1_CHW_DH2_DP01": 22.34059261629603, + "SATB1_CHW_DH2_DP02": 22.782350907103222, + "SATB1_CHW_DH2_DP03": 21.085449007225037, + "SATB1_CHW_DH2_DP04": 23.21546078511861, + "SATB1_CHW_DH3_DP01": 22.83782110271454, + "SATB1_CHW_DH3_DP02": 23.142182700177287, + "SATB1_CHW_DH3_DP03": 22.824523523153374, + "SATB1_CHW_DH3_DP04": 23.018906450957445, + "SATB1_CHW_DH4_DP01": 23.4632701048229, + "SATB1_CHW_DH4_DP02": 24.125629341953392, + "SATB1_CHW_DH4_DP03": 23.115628739166258, + "SATB1_CHW_DH4_DP04": 24.420155952557753, + "SATB1_CHW_DH5_DP01": 23.35017275748651, + "SATB1_CHW_DH5_DP02": 22.97109382016383, + "SATB1_CHW_DH5_DP03": 23.23407741546758, + "SATB1_CHW_DH5_DP04": 23.828907250241457, + "t_stamp": 1776700208398 + }, + { + "SATB1_CHW_DH1_DP01": 21.860000610351562, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.110000610351562, + "SATB1_CHW_DH1_DP04": 21.25, + "SATB1_CHW_DH2_DP01": 22.3799991607666, + "SATB1_CHW_DH2_DP02": 22.790000915527344, + "SATB1_CHW_DH2_DP03": 21.079999923706055, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 22.84000015258789, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.829999923706055, + "SATB1_CHW_DH3_DP04": 23.020000457763672, + "SATB1_CHW_DH4_DP01": 23.459999084472656, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.1200008392334, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.360000610351562, + "SATB1_CHW_DH5_DP02": 22.969999313354492, + "SATB1_CHW_DH5_DP03": 23.209999084472656, + "SATB1_CHW_DH5_DP04": 23.829999923706055, + "t_stamp": 1776700238398 + }, + { + "SATB1_CHW_DH1_DP01": 22.127188290274397, + "SATB1_CHW_DH1_DP02": 22.227813789114503, + "SATB1_CHW_DH1_DP03": 22.101090221583362, + "SATB1_CHW_DH1_DP04": 21.21436125701379, + "SATB1_CHW_DH2_DP01": 22.219696572425516, + "SATB1_CHW_DH2_DP02": 22.74546406284968, + "SATB1_CHW_DH2_DP03": 21.12455007724762, + "SATB1_CHW_DH2_DP04": 23.165460688433757, + "SATB1_CHW_DH3_DP01": 23.53501976442337, + "SATB1_CHW_DH3_DP02": 23.13109070394144, + "SATB1_CHW_DH3_DP03": 22.910146066887645, + "SATB1_CHW_DH3_DP04": 22.975467211890564, + "SATB1_CHW_DH4_DP01": 23.504549179938014, + "SATB1_CHW_DH4_DP02": 24.094370044231415, + "SATB1_CHW_DH4_DP03": 23.084371429949705, + "SATB1_CHW_DH4_DP04": 24.394373041762034, + "SATB1_CHW_DH5_DP01": 23.538159590911864, + "SATB1_CHW_DH5_DP02": 23.050152956923817, + "SATB1_CHW_DH5_DP03": 23.36140022247313, + "SATB1_CHW_DH5_DP04": 23.85672298070838, + "t_stamp": 1776700268398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15999984741211, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.100000381469727, + "SATB1_CHW_DH1_DP04": 21.209999084472656, + "SATB1_CHW_DH2_DP01": 22.200000762939453, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 21.1299991607666, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.6200008392334, + "SATB1_CHW_DH3_DP02": 23.1299991607666, + "SATB1_CHW_DH3_DP03": 22.920000076293945, + "SATB1_CHW_DH3_DP04": 22.969999313354492, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.559999465942383, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.3799991607666, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776700298398 + }, + { + "SATB1_CHW_DH1_DP01": 22.124375991158814, + "SATB1_CHW_DH1_DP02": 22.123112712177203, + "SATB1_CHW_DH1_DP03": 22.171281646823882, + "SATB1_CHW_DH1_DP04": 21.254548346571717, + "SATB1_CHW_DH2_DP01": 22.173283096718844, + "SATB1_CHW_DH2_DP02": 22.784537366089076, + "SATB1_CHW_DH2_DP03": 21.156730272579193, + "SATB1_CHW_DH2_DP04": 23.097645285924276, + "SATB1_CHW_DH3_DP01": 23.201213231319343, + "SATB1_CHW_DH3_DP02": 23.147817459480304, + "SATB1_CHW_DH3_DP03": 22.70627984212094, + "SATB1_CHW_DH3_DP04": 23.04125005789088, + "SATB1_CHW_DH4_DP01": 23.44763166745504, + "SATB1_CHW_DH4_DP02": 24.098908004928592, + "SATB1_CHW_DH4_DP03": 22.999835287793477, + "SATB1_CHW_DH4_DP04": 24.407813130696614, + "SATB1_CHW_DH5_DP01": 23.203673866995633, + "SATB1_CHW_DH5_DP02": 22.979846665927607, + "SATB1_CHW_DH5_DP03": 23.3799991607666, + "SATB1_CHW_DH5_DP04": 23.84218520259857, + "t_stamp": 1776700328398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1200008392334, + "SATB1_CHW_DH1_DP02": 22.110000610351562, + "SATB1_CHW_DH1_DP03": 22.18000030517578, + "SATB1_CHW_DH1_DP04": 21.260000228881836, + "SATB1_CHW_DH2_DP01": 22.170000076293945, + "SATB1_CHW_DH2_DP02": 22.790000915527344, + "SATB1_CHW_DH2_DP03": 21.15999984741211, + "SATB1_CHW_DH2_DP04": 23.09000015258789, + "SATB1_CHW_DH3_DP01": 23.149999618530273, + "SATB1_CHW_DH3_DP02": 23.149999618530273, + "SATB1_CHW_DH3_DP03": 22.68000030517578, + "SATB1_CHW_DH3_DP04": 23.049999237060547, + "SATB1_CHW_DH4_DP01": 23.440000534057617, + "SATB1_CHW_DH4_DP02": 24.100000381469727, + "SATB1_CHW_DH4_DP03": 22.989999771118164, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.15999984741211, + "SATB1_CHW_DH5_DP02": 22.969999313354492, + "SATB1_CHW_DH5_DP03": 23.3799991607666, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776700358398 + }, + { + "SATB1_CHW_DH1_DP01": 22.102187207526523, + "SATB1_CHW_DH1_DP02": 22.279241541130993, + "SATB1_CHW_DH1_DP03": 22.09089829861323, + "SATB1_CHW_DH1_DP04": 21.04616843280792, + "SATB1_CHW_DH2_DP01": 22.027502420634185, + "SATB1_CHW_DH2_DP02": 22.65638732948304, + "SATB1_CHW_DH2_DP03": 20.883785156599682, + "SATB1_CHW_DH2_DP04": 23.07218348426403, + "SATB1_CHW_DH3_DP01": 23.20346203370739, + "SATB1_CHW_DH3_DP02": 23.158908822441102, + "SATB1_CHW_DH3_DP03": 23.06293472365574, + "SATB1_CHW_DH3_DP04": 23.04109410178785, + "SATB1_CHW_DH4_DP01": 23.520189170010884, + "SATB1_CHW_DH4_DP02": 24.126723184868187, + "SATB1_CHW_DH4_DP03": 23.123611385057185, + "SATB1_CHW_DH4_DP04": 24.40109267998244, + "SATB1_CHW_DH5_DP01": 23.453979078755903, + "SATB1_CHW_DH5_DP02": 23.014531725833525, + "SATB1_CHW_DH5_DP03": 23.344374929521216, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776700388398 + }, + { + "SATB1_CHW_DH1_DP01": 22.100000381469727, + "SATB1_CHW_DH1_DP02": 22.299999237060547, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.020000457763672, + "SATB1_CHW_DH2_DP01": 22.010000228881836, + "SATB1_CHW_DH2_DP02": 22.639999389648438, + "SATB1_CHW_DH2_DP03": 20.850000381469727, + "SATB1_CHW_DH2_DP04": 23.06999969482422, + "SATB1_CHW_DH3_DP01": 23.209999084472656, + "SATB1_CHW_DH3_DP02": 23.15999984741211, + "SATB1_CHW_DH3_DP03": 23.110000610351562, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.399999618530273, + "SATB1_CHW_DH5_DP01": 23.489999771118164, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.34000015258789, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776700418398 + }, + { + "SATB1_CHW_DH1_DP01": 22.06437289937337, + "SATB1_CHW_DH1_DP02": 22.184202484607695, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 20.984360975392658, + "SATB1_CHW_DH2_DP01": 22.205935284010568, + "SATB1_CHW_DH2_DP02": 22.85377918577194, + "SATB1_CHW_DH2_DP03": 20.948011059157054, + "SATB1_CHW_DH2_DP04": 23.105633177057904, + "SATB1_CHW_DH3_DP01": 22.880311536216738, + "SATB1_CHW_DH3_DP02": 23.195636069118393, + "SATB1_CHW_DH3_DP03": 23.065472091197968, + "SATB1_CHW_DH3_DP04": 23.102348349508013, + "SATB1_CHW_DH4_DP01": 23.51218061211904, + "SATB1_CHW_DH4_DP02": 24.112184452056884, + "SATB1_CHW_DH4_DP03": 23.30924236536026, + "SATB1_CHW_DH4_DP04": 24.515791569900514, + "SATB1_CHW_DH5_DP01": 23.25837856721878, + "SATB1_CHW_DH5_DP02": 23.055624907747905, + "SATB1_CHW_DH5_DP03": 23.393437676938376, + "SATB1_CHW_DH5_DP04": 23.911262751293183, + "t_stamp": 1776700448398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059999465942383, + "SATB1_CHW_DH1_DP02": 22.170000076293945, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 20.979999542236328, + "SATB1_CHW_DH2_DP01": 22.229999542236328, + "SATB1_CHW_DH2_DP02": 22.8799991607666, + "SATB1_CHW_DH2_DP03": 20.959999084472656, + "SATB1_CHW_DH2_DP04": 23.110000610351562, + "SATB1_CHW_DH3_DP01": 22.84000015258789, + "SATB1_CHW_DH3_DP02": 23.200000762939453, + "SATB1_CHW_DH3_DP03": 23.059999465942383, + "SATB1_CHW_DH3_DP04": 23.110000610351562, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.110000610351562, + "SATB1_CHW_DH4_DP03": 23.329999923706055, + "SATB1_CHW_DH4_DP04": 24.530000686645508, + "SATB1_CHW_DH5_DP01": 23.229999542236328, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.399999618530273, + "SATB1_CHW_DH5_DP04": 23.920000076293945, + "t_stamp": 1776700478398 + }, + { + "SATB1_CHW_DH1_DP01": 22.21141034371356, + "SATB1_CHW_DH1_DP02": 22.17890778017044, + "SATB1_CHW_DH1_DP03": 21.919619324799328, + "SATB1_CHW_DH1_DP04": 21.04236589756229, + "SATB1_CHW_DH2_DP01": 22.1676566473643, + "SATB1_CHW_DH2_DP02": 22.844370044231415, + "SATB1_CHW_DH2_DP03": 21.05800982812701, + "SATB1_CHW_DH2_DP04": 23.172356465898297, + "SATB1_CHW_DH3_DP01": 23.062758939941435, + "SATB1_CHW_DH3_DP02": 23.191091725699106, + "SATB1_CHW_DH3_DP03": 23.095621687561565, + "SATB1_CHW_DH3_DP04": 23.118907499097986, + "SATB1_CHW_DH4_DP01": 23.581277639615024, + "SATB1_CHW_DH4_DP02": 24.11890866577191, + "SATB1_CHW_DH4_DP03": 23.151852213246244, + "SATB1_CHW_DH4_DP04": 24.423117720523088, + "SATB1_CHW_DH5_DP01": 23.28345087477709, + "SATB1_CHW_DH5_DP02": 23.024375609689088, + "SATB1_CHW_DH5_DP03": 23.604844877497356, + "SATB1_CHW_DH5_DP04": 23.848738665278837, + "t_stamp": 1776700508398 + }, + { + "SATB1_CHW_DH1_DP01": 22.229999542236328, + "SATB1_CHW_DH1_DP02": 22.18000030517578, + "SATB1_CHW_DH1_DP03": 21.899999618530273, + "SATB1_CHW_DH1_DP04": 21.049999237060547, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.84000015258789, + "SATB1_CHW_DH2_DP03": 21.06999969482422, + "SATB1_CHW_DH2_DP04": 23.18000030517578, + "SATB1_CHW_DH3_DP01": 23.09000015258789, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 23.100000381469727, + "SATB1_CHW_DH3_DP04": 23.1200008392334, + "SATB1_CHW_DH4_DP01": 23.59000015258789, + "SATB1_CHW_DH4_DP02": 24.1200008392334, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.290000915527344, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.6299991607666, + "SATB1_CHW_DH5_DP04": 23.84000015258789, + "t_stamp": 1776700538398 + }, + { + "SATB1_CHW_DH1_DP01": 22.078621772801835, + "SATB1_CHW_DH1_DP02": 22.224528962000377, + "SATB1_CHW_DH1_DP03": 22.176199936007688, + "SATB1_CHW_DH1_DP04": 21.245999524631618, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.875622738315695, + "SATB1_CHW_DH2_DP03": 21.203642672785794, + "SATB1_CHW_DH2_DP04": 23.233441594620153, + "SATB1_CHW_DH3_DP01": 23.508778227795936, + "SATB1_CHW_DH3_DP02": 23.1632756494103, + "SATB1_CHW_DH3_DP03": 22.752789602837883, + "SATB1_CHW_DH3_DP04": 22.995333361994742, + "SATB1_CHW_DH4_DP01": 23.652364429139283, + "SATB1_CHW_DH4_DP02": 24.164532646515223, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.41890510355545, + "SATB1_CHW_DH5_DP01": 23.68192063485334, + "SATB1_CHW_DH5_DP02": 23.05561593082072, + "SATB1_CHW_DH5_DP03": 23.514244584283688, + "SATB1_CHW_DH5_DP04": 23.875624592107286, + "t_stamp": 1776700568398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059999465942383, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.209999084472656, + "SATB1_CHW_DH1_DP04": 21.270000457763672, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.8799991607666, + "SATB1_CHW_DH2_DP03": 21.219999313354492, + "SATB1_CHW_DH2_DP04": 23.239999771118164, + "SATB1_CHW_DH3_DP01": 23.559999465942383, + "SATB1_CHW_DH3_DP02": 23.15999984741211, + "SATB1_CHW_DH3_DP03": 22.709999084472656, + "SATB1_CHW_DH3_DP04": 22.979999542236328, + "SATB1_CHW_DH4_DP01": 23.65999984741211, + "SATB1_CHW_DH4_DP02": 24.170000076293945, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.420000076293945, + "SATB1_CHW_DH5_DP01": 23.729999542236328, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.5, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776700598398 + }, + { + "SATB1_CHW_DH1_DP01": 22.104459907011634, + "SATB1_CHW_DH1_DP02": 22.23889310996883, + "SATB1_CHW_DH1_DP03": 22.103229953939454, + "SATB1_CHW_DH1_DP04": 21.092065920836994, + "SATB1_CHW_DH2_DP01": 22.106654007086764, + "SATB1_CHW_DH2_DP02": 22.782173308258262, + "SATB1_CHW_DH2_DP03": 21.05984594785382, + "SATB1_CHW_DH2_DP04": 23.222210601566395, + "SATB1_CHW_DH3_DP01": 22.87485428928817, + "SATB1_CHW_DH3_DP02": 23.17779164320381, + "SATB1_CHW_DH3_DP03": 23.118942446734394, + "SATB1_CHW_DH3_DP04": 23.095597156679318, + "SATB1_CHW_DH4_DP01": 23.579926644845855, + "SATB1_CHW_DH4_DP02": 24.187788543280867, + "SATB1_CHW_DH4_DP03": 23.227825081369847, + "SATB1_CHW_DH4_DP04": 24.4822464928901, + "SATB1_CHW_DH5_DP01": 23.16072891026087, + "SATB1_CHW_DH5_DP02": 23.042217984036675, + "SATB1_CHW_DH5_DP03": 23.348843551096337, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776700628398 + }, + { + "SATB1_CHW_DH1_DP01": 22.110000610351562, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.06999969482422, + "SATB1_CHW_DH2_DP01": 22.100000381469727, + "SATB1_CHW_DH2_DP02": 22.770000457763672, + "SATB1_CHW_DH2_DP03": 21.040000915527344, + "SATB1_CHW_DH2_DP04": 23.219999313354492, + "SATB1_CHW_DH3_DP01": 22.790000915527344, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 23.170000076293945, + "SATB1_CHW_DH3_DP04": 23.110000610351562, + "SATB1_CHW_DH4_DP01": 23.56999969482422, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.239999771118164, + "SATB1_CHW_DH4_DP04": 24.489999771118164, + "SATB1_CHW_DH5_DP01": 23.09000015258789, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.329999923706055, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776700658398 + }, + { + "SATB1_CHW_DH1_DP01": 22.26130025279207, + "SATB1_CHW_DH1_DP02": 22.302305677432365, + "SATB1_CHW_DH1_DP03": 22.33931730415, + "SATB1_CHW_DH1_DP04": 21.087807352620874, + "SATB1_CHW_DH2_DP01": 22.18899509801071, + "SATB1_CHW_DH2_DP02": 22.894612270392074, + "SATB1_CHW_DH2_DP03": 21.36945396395976, + "SATB1_CHW_DH2_DP04": 23.27341005516208, + "SATB1_CHW_DH3_DP01": 23.742783648487375, + "SATB1_CHW_DH3_DP02": 23.26902837159218, + "SATB1_CHW_DH3_DP03": 22.8763468371034, + "SATB1_CHW_DH3_DP04": 23.154500640426157, + "SATB1_CHW_DH4_DP01": 23.56999969482422, + "SATB1_CHW_DH4_DP02": 24.181098928919305, + "SATB1_CHW_DH4_DP03": 23.142089721362485, + "SATB1_CHW_DH4_DP04": 24.51670136330157, + "SATB1_CHW_DH5_DP01": 23.615232186990458, + "SATB1_CHW_DH5_DP02": 23.10229800436221, + "SATB1_CHW_DH5_DP03": 23.64148770793222, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776700688398 + }, + { + "SATB1_CHW_DH1_DP01": 22.280000686645508, + "SATB1_CHW_DH1_DP02": 22.309999465942383, + "SATB1_CHW_DH1_DP03": 22.3700008392334, + "SATB1_CHW_DH1_DP04": 21.09000015258789, + "SATB1_CHW_DH2_DP01": 22.200000762939453, + "SATB1_CHW_DH2_DP02": 22.90999984741211, + "SATB1_CHW_DH2_DP03": 21.40999984741211, + "SATB1_CHW_DH2_DP04": 23.280000686645508, + "SATB1_CHW_DH3_DP01": 23.860000610351562, + "SATB1_CHW_DH3_DP02": 23.280000686645508, + "SATB1_CHW_DH3_DP03": 22.84000015258789, + "SATB1_CHW_DH3_DP04": 23.15999984741211, + "SATB1_CHW_DH4_DP01": 23.56999969482422, + "SATB1_CHW_DH4_DP02": 24.18000030517578, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.520000457763672, + "SATB1_CHW_DH5_DP01": 23.68000030517578, + "SATB1_CHW_DH5_DP02": 23.110000610351562, + "SATB1_CHW_DH5_DP03": 23.68000030517578, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776700718398 + }, + { + "SATB1_CHW_DH1_DP01": 22.208789047501384, + "SATB1_CHW_DH1_DP02": 22.31890196644301, + "SATB1_CHW_DH1_DP03": 22.26313809188207, + "SATB1_CHW_DH1_DP04": 21.098904874654167, + "SATB1_CHW_DH2_DP01": 22.164396094570137, + "SATB1_CHW_DH2_DP02": 22.883292345910228, + "SATB1_CHW_DH2_DP03": 21.062704679193153, + "SATB1_CHW_DH2_DP04": 23.199873879908036, + "SATB1_CHW_DH3_DP01": 22.996180420257563, + "SATB1_CHW_DH3_DP02": 23.23548050101598, + "SATB1_CHW_DH3_DP03": 23.16930950078388, + "SATB1_CHW_DH3_DP04": 23.15109801361563, + "SATB1_CHW_DH4_DP01": 23.525476207542418, + "SATB1_CHW_DH4_DP02": 24.153291748747012, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.520000457763672, + "SATB1_CHW_DH5_DP01": 23.439605891039957, + "SATB1_CHW_DH5_DP02": 23.029890304192087, + "SATB1_CHW_DH5_DP03": 23.75121046444244, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776700748398 + }, + { + "SATB1_CHW_DH1_DP01": 22.200000762939453, + "SATB1_CHW_DH1_DP02": 22.31999969482422, + "SATB1_CHW_DH1_DP03": 22.25, + "SATB1_CHW_DH1_DP04": 21.100000381469727, + "SATB1_CHW_DH2_DP01": 22.15999984741211, + "SATB1_CHW_DH2_DP02": 22.8799991607666, + "SATB1_CHW_DH2_DP03": 21.020000457763672, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 22.889999389648438, + "SATB1_CHW_DH3_DP02": 23.229999542236328, + "SATB1_CHW_DH3_DP03": 23.209999084472656, + "SATB1_CHW_DH3_DP04": 23.149999618530273, + "SATB1_CHW_DH4_DP01": 23.520000457763672, + "SATB1_CHW_DH4_DP02": 24.149999618530273, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.520000457763672, + "SATB1_CHW_DH5_DP01": 23.40999984741211, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.760000228881836, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776700778398 + }, + { + "SATB1_CHW_DH1_DP01": 22.14660122041296, + "SATB1_CHW_DH1_DP02": 22.328900748406863, + "SATB1_CHW_DH1_DP03": 22.20547929814715, + "SATB1_CHW_DH1_DP04": 21.019866423427676, + "SATB1_CHW_DH2_DP01": 22.38246552323189, + "SATB1_CHW_DH2_DP02": 22.942307574145605, + "SATB1_CHW_DH2_DP03": 21.22479798366463, + "SATB1_CHW_DH2_DP04": 23.216706221791647, + "SATB1_CHW_DH3_DP01": 23.727073296114334, + "SATB1_CHW_DH3_DP02": 23.238902689047553, + "SATB1_CHW_DH3_DP03": 22.854110651611595, + "SATB1_CHW_DH3_DP04": 23.203399353178632, + "SATB1_CHW_DH4_DP01": 23.52890445611266, + "SATB1_CHW_DH4_DP02": 24.18560753946832, + "SATB1_CHW_DH4_DP03": 23.183405482262458, + "SATB1_CHW_DH4_DP04": 24.51110005242452, + "SATB1_CHW_DH5_DP01": 23.596955534911444, + "SATB1_CHW_DH5_DP02": 23.126786810428335, + "SATB1_CHW_DH5_DP03": 23.341735768461987, + "SATB1_CHW_DH5_DP04": 23.924508320194015, + "t_stamp": 1776700808398 + }, + { + "SATB1_CHW_DH1_DP01": 22.139999389648438, + "SATB1_CHW_DH1_DP02": 22.329999923706055, + "SATB1_CHW_DH1_DP03": 22.200000762939453, + "SATB1_CHW_DH1_DP04": 21.010000228881836, + "SATB1_CHW_DH2_DP01": 22.40999984741211, + "SATB1_CHW_DH2_DP02": 22.950000762939453, + "SATB1_CHW_DH2_DP03": 21.25, + "SATB1_CHW_DH2_DP04": 23.219999313354492, + "SATB1_CHW_DH3_DP01": 23.829999923706055, + "SATB1_CHW_DH3_DP02": 23.239999771118164, + "SATB1_CHW_DH3_DP03": 22.809999465942383, + "SATB1_CHW_DH3_DP04": 23.209999084472656, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.190000534057617, + "SATB1_CHW_DH4_DP04": 24.510000228881836, + "SATB1_CHW_DH5_DP01": 23.6200008392334, + "SATB1_CHW_DH5_DP02": 23.139999389648438, + "SATB1_CHW_DH5_DP03": 23.290000915527344, + "SATB1_CHW_DH5_DP04": 23.93000030517578, + "t_stamp": 1776700838398 + }, + { + "SATB1_CHW_DH1_DP01": 22.184506809599377, + "SATB1_CHW_DH1_DP02": 22.196465781980226, + "SATB1_CHW_DH1_DP03": 22.164379718967584, + "SATB1_CHW_DH1_DP04": 21.072330818045923, + "SATB1_CHW_DH2_DP01": 22.32099095544824, + "SATB1_CHW_DH2_DP02": 22.843172211193167, + "SATB1_CHW_DH2_DP03": 21.1787607979999, + "SATB1_CHW_DH2_DP04": 23.273417987437217, + "SATB1_CHW_DH3_DP01": 22.859322431910144, + "SATB1_CHW_DH3_DP02": 23.2578076261097, + "SATB1_CHW_DH3_DP03": 22.9435005769625, + "SATB1_CHW_DH3_DP04": 23.1654924372574, + "SATB1_CHW_DH4_DP01": 23.556713271030574, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.207803544332076, + "SATB1_CHW_DH4_DP04": 24.447689076777063, + "SATB1_CHW_DH5_DP01": 23.36180600794924, + "SATB1_CHW_DH5_DP02": 23.095495609284402, + "SATB1_CHW_DH5_DP03": 23.192088526151302, + "SATB1_CHW_DH5_DP04": 23.894389335606, + "t_stamp": 1776700868398 + }, + { + "SATB1_CHW_DH1_DP01": 22.190000534057617, + "SATB1_CHW_DH1_DP02": 22.18000030517578, + "SATB1_CHW_DH1_DP03": 22.15999984741211, + "SATB1_CHW_DH1_DP04": 21.079999923706055, + "SATB1_CHW_DH2_DP01": 22.309999465942383, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.170000076293945, + "SATB1_CHW_DH2_DP04": 23.280000686645508, + "SATB1_CHW_DH3_DP01": 22.739999771118164, + "SATB1_CHW_DH3_DP02": 23.260000228881836, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 23.15999984741211, + "SATB1_CHW_DH4_DP01": 23.559999465942383, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.209999084472656, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.329999923706055, + "SATB1_CHW_DH5_DP02": 23.09000015258789, + "SATB1_CHW_DH5_DP03": 23.18000030517578, + "SATB1_CHW_DH5_DP04": 23.889999389648438, + "t_stamp": 1776700898398 + }, + { + "SATB1_CHW_DH1_DP01": 22.109905587052474, + "SATB1_CHW_DH1_DP02": 22.313510763480696, + "SATB1_CHW_DH1_DP03": 22.177809401088044, + "SATB1_CHW_DH1_DP04": 21.258072795778283, + "SATB1_CHW_DH2_DP01": 22.292203168588077, + "SATB1_CHW_DH2_DP02": 22.838900847283394, + "SATB1_CHW_DH2_DP03": 21.15219085593675, + "SATB1_CHW_DH2_DP04": 23.199886903093766, + "SATB1_CHW_DH3_DP01": 23.61267839619977, + "SATB1_CHW_DH3_DP02": 23.224388828564923, + "SATB1_CHW_DH3_DP03": 23.04897921296338, + "SATB1_CHW_DH3_DP04": 23.151099905323246, + "SATB1_CHW_DH4_DP01": 23.604520108280415, + "SATB1_CHW_DH4_DP02": 24.163296318521414, + "SATB1_CHW_DH4_DP03": 23.112094153422223, + "SATB1_CHW_DH4_DP04": 24.457799053981926, + "SATB1_CHW_DH5_DP01": 23.64157019446732, + "SATB1_CHW_DH5_DP02": 23.045505380473173, + "SATB1_CHW_DH5_DP03": 23.696157134003936, + "SATB1_CHW_DH5_DP04": 23.94340682088126, + "t_stamp": 1776700928398 + }, + { + "SATB1_CHW_DH1_DP01": 22.100000381469727, + "SATB1_CHW_DH1_DP02": 22.329999923706055, + "SATB1_CHW_DH1_DP03": 22.18000030517578, + "SATB1_CHW_DH1_DP04": 21.280000686645508, + "SATB1_CHW_DH2_DP01": 22.290000915527344, + "SATB1_CHW_DH2_DP02": 22.84000015258789, + "SATB1_CHW_DH2_DP03": 21.149999618530273, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.719999313354492, + "SATB1_CHW_DH3_DP02": 23.219999313354492, + "SATB1_CHW_DH3_DP03": 23.059999465942383, + "SATB1_CHW_DH3_DP04": 23.149999618530273, + "SATB1_CHW_DH4_DP01": 23.610000610351562, + "SATB1_CHW_DH4_DP02": 24.15999984741211, + "SATB1_CHW_DH4_DP03": 23.100000381469727, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.68000030517578, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.760000228881836, + "SATB1_CHW_DH5_DP04": 23.950000762939453, + "t_stamp": 1776700958398 + }, + { + "SATB1_CHW_DH1_DP01": 22.2601936627148, + "SATB1_CHW_DH1_DP02": 22.419008230176733, + "SATB1_CHW_DH1_DP03": 22.16219089756012, + "SATB1_CHW_DH1_DP04": 21.36903581199798, + "SATB1_CHW_DH2_DP01": 22.192111977959126, + "SATB1_CHW_DH2_DP02": 22.902305457809693, + "SATB1_CHW_DH2_DP03": 21.239043291536966, + "SATB1_CHW_DH2_DP04": 23.30572097770945, + "SATB1_CHW_DH3_DP01": 22.9987082889239, + "SATB1_CHW_DH3_DP02": 23.219999313354492, + "SATB1_CHW_DH3_DP03": 23.051101150708526, + "SATB1_CHW_DH3_DP04": 23.194499620330618, + "SATB1_CHW_DH4_DP01": 23.743557770697276, + "SATB1_CHW_DH4_DP02": 24.186704793842598, + "SATB1_CHW_DH4_DP03": 23.19790778913615, + "SATB1_CHW_DH4_DP04": 24.50450066137086, + "SATB1_CHW_DH5_DP01": 23.51976169222629, + "SATB1_CHW_DH5_DP02": 23.12899234057772, + "SATB1_CHW_DH5_DP03": 23.261640092135153, + "SATB1_CHW_DH5_DP04": 24.00340795794342, + "t_stamp": 1776700988398 + }, + { + "SATB1_CHW_DH1_DP01": 22.280000686645508, + "SATB1_CHW_DH1_DP02": 22.43000030517578, + "SATB1_CHW_DH1_DP03": 22.15999984741211, + "SATB1_CHW_DH1_DP04": 21.3799991607666, + "SATB1_CHW_DH2_DP01": 22.18000030517578, + "SATB1_CHW_DH2_DP02": 22.90999984741211, + "SATB1_CHW_DH2_DP03": 21.25, + "SATB1_CHW_DH2_DP04": 23.31999969482422, + "SATB1_CHW_DH3_DP01": 22.90999984741211, + "SATB1_CHW_DH3_DP02": 23.219999313354492, + "SATB1_CHW_DH3_DP03": 23.049999237060547, + "SATB1_CHW_DH3_DP04": 23.200000762939453, + "SATB1_CHW_DH4_DP01": 23.760000228881836, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.209999084472656, + "SATB1_CHW_DH4_DP04": 24.510000228881836, + "SATB1_CHW_DH5_DP01": 23.5, + "SATB1_CHW_DH5_DP02": 23.139999389648438, + "SATB1_CHW_DH5_DP03": 23.200000762939453, + "SATB1_CHW_DH5_DP04": 24.010000228881836, + "t_stamp": 1776701018398 + }, + { + "SATB1_CHW_DH1_DP01": 22.057523851767833, + "SATB1_CHW_DH1_DP02": 22.367696820257155, + "SATB1_CHW_DH1_DP03": 22.142190439796448, + "SATB1_CHW_DH1_DP04": 21.34438537718455, + "SATB1_CHW_DH2_DP01": 22.23339027058688, + "SATB1_CHW_DH2_DP02": 22.9278013281439, + "SATB1_CHW_DH2_DP03": 21.054102013112267, + "SATB1_CHW_DH2_DP04": 23.257690376792127, + "SATB1_CHW_DH3_DP01": 23.853927437302534, + "SATB1_CHW_DH3_DP02": 23.282318367731335, + "SATB1_CHW_DH3_DP03": 23.041103156993614, + "SATB1_CHW_DH3_DP04": 23.14660410051083, + "SATB1_CHW_DH4_DP01": 23.537400685556115, + "SATB1_CHW_DH4_DP02": 24.207801353668582, + "SATB1_CHW_DH4_DP03": 23.201100190059364, + "SATB1_CHW_DH4_DP04": 24.465501343597612, + "SATB1_CHW_DH5_DP01": 23.526705775974477, + "SATB1_CHW_DH5_DP02": 23.148898185105057, + "SATB1_CHW_DH5_DP03": 23.369075602479366, + "SATB1_CHW_DH5_DP04": 23.9743958608255, + "t_stamp": 1776701048398 + }, + { + "SATB1_CHW_DH1_DP01": 22.030000686645508, + "SATB1_CHW_DH1_DP02": 22.360000610351562, + "SATB1_CHW_DH1_DP03": 22.139999389648438, + "SATB1_CHW_DH1_DP04": 21.34000015258789, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.93000030517578, + "SATB1_CHW_DH2_DP03": 21.030000686645508, + "SATB1_CHW_DH2_DP04": 23.25, + "SATB1_CHW_DH3_DP01": 23.969999313354492, + "SATB1_CHW_DH3_DP02": 23.290000915527344, + "SATB1_CHW_DH3_DP03": 23.040000915527344, + "SATB1_CHW_DH3_DP04": 23.139999389648438, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.209999084472656, + "SATB1_CHW_DH4_DP03": 23.200000762939453, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.530000686645508, + "SATB1_CHW_DH5_DP02": 23.149999618530273, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.969999313354492, + "t_stamp": 1776701078398 + }, + { + "SATB1_CHW_DH1_DP01": 22.145692724413596, + "SATB1_CHW_DH1_DP02": 22.226487301799423, + "SATB1_CHW_DH1_DP03": 22.09547682696516, + "SATB1_CHW_DH1_DP04": 21.29548175657715, + "SATB1_CHW_DH2_DP01": 22.213302825270812, + "SATB1_CHW_DH2_DP02": 22.823189997872518, + "SATB1_CHW_DH2_DP03": 21.038905390453337, + "SATB1_CHW_DH2_DP04": 23.365722372422333, + "SATB1_CHW_DH3_DP01": 23.6939447889328, + "SATB1_CHW_DH3_DP02": 23.245485170929843, + "SATB1_CHW_DH3_DP03": 23.173469749556357, + "SATB1_CHW_DH3_DP04": 23.086602195055484, + "SATB1_CHW_DH4_DP01": 23.661368296813965, + "SATB1_CHW_DH4_DP02": 24.22780238209298, + "SATB1_CHW_DH4_DP03": 23.226702011535412, + "SATB1_CHW_DH4_DP04": 24.54899739057184, + "SATB1_CHW_DH5_DP01": 23.71694733478346, + "SATB1_CHW_DH5_DP02": 23.114404721357587, + "SATB1_CHW_DH5_DP03": 23.75486283037093, + "SATB1_CHW_DH5_DP04": 23.943296564744568, + "t_stamp": 1776701108398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15999984741211, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.09000015258789, + "SATB1_CHW_DH1_DP04": 21.290000915527344, + "SATB1_CHW_DH2_DP01": 22.209999084472656, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 21.040000915527344, + "SATB1_CHW_DH2_DP04": 23.3799991607666, + "SATB1_CHW_DH3_DP01": 23.65999984741211, + "SATB1_CHW_DH3_DP02": 23.239999771118164, + "SATB1_CHW_DH3_DP03": 23.190000534057617, + "SATB1_CHW_DH3_DP04": 23.079999923706055, + "SATB1_CHW_DH4_DP01": 23.68000030517578, + "SATB1_CHW_DH4_DP02": 24.229999542236328, + "SATB1_CHW_DH4_DP03": 23.229999542236328, + "SATB1_CHW_DH4_DP04": 24.559999465942383, + "SATB1_CHW_DH5_DP01": 23.739999771118164, + "SATB1_CHW_DH5_DP02": 23.110000610351562, + "SATB1_CHW_DH5_DP03": 23.799999237060547, + "SATB1_CHW_DH5_DP04": 23.940000534057617, + "t_stamp": 1776701138398 + }, + { + "SATB1_CHW_DH1_DP01": 22.26679281440509, + "SATB1_CHW_DH1_DP02": 22.26340352666803, + "SATB1_CHW_DH1_DP03": 22.32152554848947, + "SATB1_CHW_DH1_DP04": 21.334519402885437, + "SATB1_CHW_DH2_DP01": 22.432466210020564, + "SATB1_CHW_DH2_DP02": 22.85450316777186, + "SATB1_CHW_DH2_DP03": 21.1824751542261, + "SATB1_CHW_DH2_DP04": 23.273181672167933, + "SATB1_CHW_DH3_DP01": 23.170217363768298, + "SATB1_CHW_DH3_DP02": 23.18658491733235, + "SATB1_CHW_DH3_DP03": 23.136612201908807, + "SATB1_CHW_DH3_DP04": 23.18679489067969, + "SATB1_CHW_DH4_DP01": 23.599862833687, + "SATB1_CHW_DH4_DP02": 24.18549420487813, + "SATB1_CHW_DH4_DP03": 23.256701763334014, + "SATB1_CHW_DH4_DP04": 24.515500978279114, + "SATB1_CHW_DH5_DP01": 23.766706047079087, + "SATB1_CHW_DH5_DP02": 23.056606278165425, + "SATB1_CHW_DH5_DP03": 23.56862625363918, + "SATB1_CHW_DH5_DP04": 23.957801317040957, + "t_stamp": 1776701168398 + }, + { + "SATB1_CHW_DH1_DP01": 22.280000686645508, + "SATB1_CHW_DH1_DP02": 22.270000457763672, + "SATB1_CHW_DH1_DP03": 22.350000381469727, + "SATB1_CHW_DH1_DP04": 21.34000015258789, + "SATB1_CHW_DH2_DP01": 22.459999084472656, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.200000762939453, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 23.110000610351562, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 23.1299991607666, + "SATB1_CHW_DH3_DP04": 23.200000762939453, + "SATB1_CHW_DH4_DP01": 23.59000015258789, + "SATB1_CHW_DH4_DP02": 24.18000030517578, + "SATB1_CHW_DH4_DP03": 23.260000228881836, + "SATB1_CHW_DH4_DP04": 24.510000228881836, + "SATB1_CHW_DH5_DP01": 23.770000457763672, + "SATB1_CHW_DH5_DP02": 23.049999237060547, + "SATB1_CHW_DH5_DP03": 23.540000915527344, + "SATB1_CHW_DH5_DP04": 23.959999084472656, + "t_stamp": 1776701198398 + }, + { + "SATB1_CHW_DH1_DP01": 22.110910059859386, + "SATB1_CHW_DH1_DP02": 22.234396456098505, + "SATB1_CHW_DH1_DP03": 22.082854362392425, + "SATB1_CHW_DH1_DP04": 21.010552081213937, + "SATB1_CHW_DH2_DP01": 22.157440936673286, + "SATB1_CHW_DH2_DP02": 22.842198609518977, + "SATB1_CHW_DH2_DP03": 21.182191021982828, + "SATB1_CHW_DH2_DP04": 23.28670578519194, + "SATB1_CHW_DH3_DP01": 22.976423977808174, + "SATB1_CHW_DH3_DP02": 23.16219400733678, + "SATB1_CHW_DH3_DP03": 22.774074302696736, + "SATB1_CHW_DH3_DP04": 23.057606525497757, + "SATB1_CHW_DH4_DP01": 23.616713263988494, + "SATB1_CHW_DH4_DP02": 24.144394230148382, + "SATB1_CHW_DH4_DP03": 23.108686617189353, + "SATB1_CHW_DH4_DP04": 24.447700628823196, + "SATB1_CHW_DH5_DP01": 23.467327899513865, + "SATB1_CHW_DH5_DP02": 22.996604932499366, + "SATB1_CHW_DH5_DP03": 23.370916622197914, + "SATB1_CHW_DH5_DP04": 23.862087607071793, + "t_stamp": 1776701228398 + }, + { + "SATB1_CHW_DH1_DP01": 22.09000015258789, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.049999237060547, + "SATB1_CHW_DH1_DP04": 20.969999313354492, + "SATB1_CHW_DH2_DP01": 22.1200008392334, + "SATB1_CHW_DH2_DP02": 22.84000015258789, + "SATB1_CHW_DH2_DP03": 21.18000030517578, + "SATB1_CHW_DH2_DP04": 23.290000915527344, + "SATB1_CHW_DH3_DP01": 22.959999084472656, + "SATB1_CHW_DH3_DP02": 23.15999984741211, + "SATB1_CHW_DH3_DP03": 22.729999542236328, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.6200008392334, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.09000015258789, + "SATB1_CHW_DH4_DP04": 24.440000534057617, + "SATB1_CHW_DH5_DP01": 23.43000030517578, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.350000381469727, + "SATB1_CHW_DH5_DP04": 23.850000381469727, + "t_stamp": 1776701258398 + }, + { + "SATB1_CHW_DH1_DP01": 22.17900290897324, + "SATB1_CHW_DH1_DP02": 22.185493087552373, + "SATB1_CHW_DH1_DP03": 22.21028383740449, + "SATB1_CHW_DH1_DP04": 21.076849841450045, + "SATB1_CHW_DH2_DP01": 21.95090843961779, + "SATB1_CHW_DH2_DP02": 22.81329526109007, + "SATB1_CHW_DH2_DP03": 20.957383638509114, + "SATB1_CHW_DH2_DP04": 23.26329352380562, + "SATB1_CHW_DH3_DP01": 23.699115715026856, + "SATB1_CHW_DH3_DP02": 23.09767704168325, + "SATB1_CHW_DH3_DP03": 23.023663446340713, + "SATB1_CHW_DH3_DP04": 23.084502278316894, + "SATB1_CHW_DH4_DP01": 23.52205282996604, + "SATB1_CHW_DH4_DP02": 24.0865883042919, + "SATB1_CHW_DH4_DP03": 23.152308829723204, + "SATB1_CHW_DH4_DP04": 24.413297697706753, + "SATB1_CHW_DH5_DP01": 23.269753021139014, + "SATB1_CHW_DH5_DP02": 23.03450033126031, + "SATB1_CHW_DH5_DP03": 23.688201788095935, + "SATB1_CHW_DH5_DP04": 23.823294489882343, + "t_stamp": 1776701288398 + }, + { + "SATB1_CHW_DH1_DP01": 22.190000534057617, + "SATB1_CHW_DH1_DP02": 22.18000030517578, + "SATB1_CHW_DH1_DP03": 22.229999542236328, + "SATB1_CHW_DH1_DP04": 21.09000015258789, + "SATB1_CHW_DH2_DP01": 21.93000030517578, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 20.93000030517578, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 23.790000915527344, + "SATB1_CHW_DH3_DP02": 23.09000015258789, + "SATB1_CHW_DH3_DP03": 23.059999465942383, + "SATB1_CHW_DH3_DP04": 23.09000015258789, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.079999923706055, + "SATB1_CHW_DH4_DP03": 23.15999984741211, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 23.25, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.729999542236328, + "SATB1_CHW_DH5_DP04": 23.81999969482422, + "t_stamp": 1776701318398 + }, + { + "SATB1_CHW_DH1_DP01": 22.243402058728535, + "SATB1_CHW_DH1_DP02": 22.233407939657152, + "SATB1_CHW_DH1_DP03": 22.11423962287903, + "SATB1_CHW_DH1_DP04": 21.170137788454692, + "SATB1_CHW_DH2_DP01": 22.20588949654897, + "SATB1_CHW_DH2_DP02": 22.899013321943393, + "SATB1_CHW_DH2_DP03": 21.108092619450886, + "SATB1_CHW_DH2_DP04": 23.224390674008124, + "SATB1_CHW_DH3_DP01": 23.335845711708068, + "SATB1_CHW_DH3_DP02": 23.179032341686618, + "SATB1_CHW_DH3_DP03": 22.86422533989032, + "SATB1_CHW_DH3_DP04": 23.00099481306076, + "SATB1_CHW_DH4_DP01": 23.483286617469787, + "SATB1_CHW_DH4_DP02": 24.026589289301384, + "SATB1_CHW_DH4_DP03": 23.14219677327474, + "SATB1_CHW_DH4_DP04": 24.427801624830302, + "SATB1_CHW_DH5_DP01": 23.615003114104187, + "SATB1_CHW_DH5_DP02": 22.995500638674454, + "SATB1_CHW_DH5_DP03": 23.55200019410204, + "SATB1_CHW_DH5_DP04": 23.784393837824616, + "t_stamp": 1776701348398 + }, + { + "SATB1_CHW_DH1_DP01": 22.25, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.100000381469727, + "SATB1_CHW_DH1_DP04": 21.18000030517578, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.90999984741211, + "SATB1_CHW_DH2_DP03": 21.1299991607666, + "SATB1_CHW_DH2_DP04": 23.219999313354492, + "SATB1_CHW_DH3_DP01": 23.280000686645508, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.84000015258789, + "SATB1_CHW_DH3_DP04": 22.989999771118164, + "SATB1_CHW_DH4_DP01": 23.479999542236328, + "SATB1_CHW_DH4_DP02": 24.020000457763672, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.65999984741211, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.530000686645508, + "SATB1_CHW_DH5_DP04": 23.780000686645508, + "t_stamp": 1776701378398 + }, + { + "SATB1_CHW_DH1_DP01": 22.241099611294015, + "SATB1_CHW_DH1_DP02": 22.195494525323433, + "SATB1_CHW_DH1_DP03": 22.126712849266486, + "SATB1_CHW_DH1_DP04": 21.162192157846956, + "SATB1_CHW_DH2_DP01": 22.257799215188506, + "SATB1_CHW_DH2_DP02": 22.847691824192964, + "SATB1_CHW_DH2_DP03": 20.96081735636329, + "SATB1_CHW_DH2_DP04": 23.16658767897539, + "SATB1_CHW_DH3_DP01": 23.71633821053417, + "SATB1_CHW_DH3_DP02": 23.09206842172186, + "SATB1_CHW_DH3_DP03": 22.97348008845874, + "SATB1_CHW_DH3_DP04": 23.02560199261292, + "SATB1_CHW_DH4_DP01": 23.479999542236328, + "SATB1_CHW_DH4_DP02": 24.126819726624145, + "SATB1_CHW_DH4_DP03": 23.273518522565233, + "SATB1_CHW_DH4_DP04": 24.332094060359616, + "SATB1_CHW_DH5_DP01": 23.268295900366432, + "SATB1_CHW_DH5_DP02": 22.98109988241529, + "SATB1_CHW_DH5_DP03": 23.40540160896941, + "SATB1_CHW_DH5_DP04": 23.886817955557113, + "t_stamp": 1776701408398 + }, + { + "SATB1_CHW_DH1_DP01": 22.239999771118164, + "SATB1_CHW_DH1_DP02": 22.190000534057617, + "SATB1_CHW_DH1_DP03": 22.1299991607666, + "SATB1_CHW_DH1_DP04": 21.15999984741211, + "SATB1_CHW_DH2_DP01": 22.260000228881836, + "SATB1_CHW_DH2_DP02": 22.84000015258789, + "SATB1_CHW_DH2_DP03": 20.940000534057617, + "SATB1_CHW_DH2_DP04": 23.15999984741211, + "SATB1_CHW_DH3_DP01": 23.770000457763672, + "SATB1_CHW_DH3_DP02": 23.079999923706055, + "SATB1_CHW_DH3_DP03": 22.989999771118164, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.479999542236328, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.290000915527344, + "SATB1_CHW_DH4_DP04": 24.31999969482422, + "SATB1_CHW_DH5_DP01": 23.219999313354492, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.899999618530273, + "t_stamp": 1776701438398 + }, + { + "SATB1_CHW_DH1_DP01": 22.14209902624085, + "SATB1_CHW_DH1_DP02": 22.16329686792411, + "SATB1_CHW_DH1_DP03": 22.263568019485472, + "SATB1_CHW_DH1_DP04": 21.24903852039973, + "SATB1_CHW_DH2_DP01": 22.32229541903748, + "SATB1_CHW_DH2_DP02": 22.884505306816102, + "SATB1_CHW_DH2_DP03": 21.13589852094535, + "SATB1_CHW_DH2_DP04": 23.24902018699646, + "SATB1_CHW_DH3_DP01": 23.262416769789485, + "SATB1_CHW_DH3_DP02": 23.18683645147036, + "SATB1_CHW_DH3_DP03": 22.9455078582311, + "SATB1_CHW_DH3_DP04": 23.06560054389388, + "SATB1_CHW_DH4_DP01": 23.631367610168457, + "SATB1_CHW_DH4_DP02": 24.122197346687315, + "SATB1_CHW_DH4_DP03": 23.103078648061807, + "SATB1_CHW_DH4_DP04": 24.435705217074812, + "SATB1_CHW_DH5_DP01": 23.611702455457053, + "SATB1_CHW_DH5_DP02": 22.99779898630667, + "SATB1_CHW_DH5_DP03": 23.318801977505647, + "SATB1_CHW_DH5_DP04": 23.90890132226944, + "t_stamp": 1776701468398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1299991607666, + "SATB1_CHW_DH1_DP02": 22.15999984741211, + "SATB1_CHW_DH1_DP03": 22.280000686645508, + "SATB1_CHW_DH1_DP04": 21.260000228881836, + "SATB1_CHW_DH2_DP01": 22.329999923706055, + "SATB1_CHW_DH2_DP02": 22.889999389648438, + "SATB1_CHW_DH2_DP03": 21.15999984741211, + "SATB1_CHW_DH2_DP04": 23.260000228881836, + "SATB1_CHW_DH3_DP01": 23.200000762939453, + "SATB1_CHW_DH3_DP02": 23.200000762939453, + "SATB1_CHW_DH3_DP03": 22.940000534057617, + "SATB1_CHW_DH3_DP04": 23.06999969482422, + "SATB1_CHW_DH4_DP01": 23.649999618530273, + "SATB1_CHW_DH4_DP02": 24.1200008392334, + "SATB1_CHW_DH4_DP03": 23.079999923706055, + "SATB1_CHW_DH4_DP04": 24.450000762939453, + "SATB1_CHW_DH5_DP01": 23.65999984741211, + "SATB1_CHW_DH5_DP02": 23, + "SATB1_CHW_DH5_DP03": 23.309999465942383, + "SATB1_CHW_DH5_DP04": 23.90999984741211, + "t_stamp": 1776701498398 + }, + { + "SATB1_CHW_DH1_DP01": 21.89860065460205, + "SATB1_CHW_DH1_DP02": 22.124396136837063, + "SATB1_CHW_DH1_DP03": 22.13752644794675, + "SATB1_CHW_DH1_DP04": 21.197672628478593, + "SATB1_CHW_DH2_DP01": 22.10751659037272, + "SATB1_CHW_DH2_DP02": 22.756482229200998, + "SATB1_CHW_DH2_DP03": 20.990813871860503, + "SATB1_CHW_DH2_DP04": 23.108666160964965, + "SATB1_CHW_DH3_DP01": 22.808180287361147, + "SATB1_CHW_DH3_DP02": 23.191097559165954, + "SATB1_CHW_DH3_DP03": 22.95779624414444, + "SATB1_CHW_DH3_DP04": 22.989898059018454, + "SATB1_CHW_DH4_DP01": 23.552055140968505, + "SATB1_CHW_DH4_DP02": 24.08439335759481, + "SATB1_CHW_DH4_DP03": 23.186814450949825, + "SATB1_CHW_DH4_DP04": 24.423298706767792, + "SATB1_CHW_DH5_DP01": 23.651097310320537, + "SATB1_CHW_DH5_DP02": 22.96440118522644, + "SATB1_CHW_DH5_DP03": 23.39899647210439, + "SATB1_CHW_DH5_DP04": 23.856591322803496, + "t_stamp": 1776701528398 + }, + { + "SATB1_CHW_DH1_DP01": 21.8700008392334, + "SATB1_CHW_DH1_DP02": 22.1200008392334, + "SATB1_CHW_DH1_DP03": 22.1200008392334, + "SATB1_CHW_DH1_DP04": 21.190000534057617, + "SATB1_CHW_DH2_DP01": 22.079999923706055, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 20.969999313354492, + "SATB1_CHW_DH2_DP04": 23.09000015258789, + "SATB1_CHW_DH3_DP01": 22.760000228881836, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 22.979999542236328, + "SATB1_CHW_DH4_DP01": 23.540000915527344, + "SATB1_CHW_DH4_DP02": 24.079999923706055, + "SATB1_CHW_DH4_DP03": 23.200000762939453, + "SATB1_CHW_DH4_DP04": 24.420000076293945, + "SATB1_CHW_DH5_DP01": 23.649999618530273, + "SATB1_CHW_DH5_DP02": 22.959999084472656, + "SATB1_CHW_DH5_DP03": 23.40999984741211, + "SATB1_CHW_DH5_DP04": 23.850000381469727, + "t_stamp": 1776701558398 + }, + { + "SATB1_CHW_DH1_DP01": 22.110279525878894, + "SATB1_CHW_DH1_DP02": 22.226804988140483, + "SATB1_CHW_DH1_DP03": 22.0843831382052, + "SATB1_CHW_DH1_DP04": 21.029736275542028, + "SATB1_CHW_DH2_DP01": 22.24907646054594, + "SATB1_CHW_DH2_DP02": 22.757801028476457, + "SATB1_CHW_DH2_DP03": 21.12137083557303, + "SATB1_CHW_DH2_DP04": 23.22351646137266, + "SATB1_CHW_DH3_DP01": 23.579232989062923, + "SATB1_CHW_DH3_DP02": 23.145486740879782, + "SATB1_CHW_DH3_DP03": 22.87102137412336, + "SATB1_CHW_DH3_DP04": 23.051194874722405, + "SATB1_CHW_DH4_DP01": 23.442059435800793, + "SATB1_CHW_DH4_DP02": 24.08890105235498, + "SATB1_CHW_DH4_DP03": 23.137697400488275, + "SATB1_CHW_DH4_DP04": 24.393300190135623, + "SATB1_CHW_DH5_DP01": 23.160404604058705, + "SATB1_CHW_DH5_DP02": 22.98669641573074, + "SATB1_CHW_DH5_DP03": 23.267614808879483, + "SATB1_CHW_DH5_DP04": 23.796596307200637, + "t_stamp": 1776701588398 + }, + { + "SATB1_CHW_DH1_DP01": 22.139999389648438, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.079999923706055, + "SATB1_CHW_DH1_DP04": 21.010000228881836, + "SATB1_CHW_DH2_DP01": 22.270000457763672, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.139999389648438, + "SATB1_CHW_DH2_DP04": 23.239999771118164, + "SATB1_CHW_DH3_DP01": 23.68000030517578, + "SATB1_CHW_DH3_DP02": 23.139999389648438, + "SATB1_CHW_DH3_DP03": 22.860000610351562, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.43000030517578, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.389999389648438, + "SATB1_CHW_DH5_DP01": 23.100000381469727, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.25, + "SATB1_CHW_DH5_DP04": 23.790000915527344, + "t_stamp": 1776701618398 + }, + { + "SATB1_CHW_DH1_DP01": 22.00650110426759, + "SATB1_CHW_DH1_DP02": 22.106486209734843, + "SATB1_CHW_DH1_DP03": 22.05328592183872, + "SATB1_CHW_DH1_DP04": 21.286017453957804, + "SATB1_CHW_DH2_DP01": 22.243302066847995, + "SATB1_CHW_DH2_DP02": 22.813405313891757, + "SATB1_CHW_DH2_DP03": 21.015337444384134, + "SATB1_CHW_DH2_DP04": 23.15988262358493, + "SATB1_CHW_DH3_DP01": 22.967614079680462, + "SATB1_CHW_DH3_DP02": 23.12219478991146, + "SATB1_CHW_DH3_DP03": 22.94898351817713, + "SATB1_CHW_DH3_DP04": 23.015499769932966, + "SATB1_CHW_DH4_DP01": 23.563561643594774, + "SATB1_CHW_DH4_DP02": 24.12560497677257, + "SATB1_CHW_DH4_DP03": 23.147801385035923, + "SATB1_CHW_DH4_DP04": 24.487902793067878, + "SATB1_CHW_DH5_DP01": 23.625242620818327, + "SATB1_CHW_DH5_DP02": 22.998899401438315, + "SATB1_CHW_DH5_DP03": 23.321196678551257, + "SATB1_CHW_DH5_DP04": 23.84340889084507, + "t_stamp": 1776701648398 + }, + { + "SATB1_CHW_DH1_DP01": 21.989999771118164, + "SATB1_CHW_DH1_DP02": 22.09000015258789, + "SATB1_CHW_DH1_DP03": 22.049999237060547, + "SATB1_CHW_DH1_DP04": 21.31999969482422, + "SATB1_CHW_DH2_DP01": 22.239999771118164, + "SATB1_CHW_DH2_DP02": 22.81999969482422, + "SATB1_CHW_DH2_DP03": 21, + "SATB1_CHW_DH2_DP04": 23.149999618530273, + "SATB1_CHW_DH3_DP01": 22.8799991607666, + "SATB1_CHW_DH3_DP02": 23.1200008392334, + "SATB1_CHW_DH3_DP03": 22.959999084472656, + "SATB1_CHW_DH3_DP04": 23.010000228881836, + "SATB1_CHW_DH4_DP01": 23.579999923706055, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.149999618530273, + "SATB1_CHW_DH4_DP04": 24.5, + "SATB1_CHW_DH5_DP01": 23.690000534057617, + "SATB1_CHW_DH5_DP02": 23, + "SATB1_CHW_DH5_DP03": 23.329999923706055, + "SATB1_CHW_DH5_DP04": 23.850000381469727, + "t_stamp": 1776701678398 + }, + { + "SATB1_CHW_DH1_DP01": 21.972202033369157, + "SATB1_CHW_DH1_DP02": 22.214603225724538, + "SATB1_CHW_DH1_DP03": 22.156853984355926, + "SATB1_CHW_DH1_DP04": 21.061789411258697, + "SATB1_CHW_DH2_DP01": 22.05315506889528, + "SATB1_CHW_DH2_DP02": 22.81999969482422, + "SATB1_CHW_DH2_DP03": 21.008904555398573, + "SATB1_CHW_DH2_DP04": 23.149999618530273, + "SATB1_CHW_DH3_DP01": 22.826571526796574, + "SATB1_CHW_DH3_DP02": 23.1912247713089, + "SATB1_CHW_DH3_DP03": 22.915521347990882, + "SATB1_CHW_DH3_DP04": 23.12568815169246, + "SATB1_CHW_DH4_DP01": 23.535480511696925, + "SATB1_CHW_DH4_DP02": 24.138900716146512, + "SATB1_CHW_DH4_DP03": 23.043197469438734, + "SATB1_CHW_DH4_DP04": 24.357606668585927, + "SATB1_CHW_DH5_DP01": 23.681097830295563, + "SATB1_CHW_DH5_DP02": 22.98220385523976, + "SATB1_CHW_DH5_DP03": 23.383388550308144, + "SATB1_CHW_DH5_DP04": 23.858901788495324, + "t_stamp": 1776701708398 + }, + { + "SATB1_CHW_DH1_DP01": 21.969999313354492, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.170000076293945, + "SATB1_CHW_DH1_DP04": 21.030000686645508, + "SATB1_CHW_DH2_DP01": 22.030000686645508, + "SATB1_CHW_DH2_DP02": 22.81999969482422, + "SATB1_CHW_DH2_DP03": 21.010000228881836, + "SATB1_CHW_DH2_DP04": 23.149999618530273, + "SATB1_CHW_DH3_DP01": 22.81999969482422, + "SATB1_CHW_DH3_DP02": 23.200000762939453, + "SATB1_CHW_DH3_DP03": 22.90999984741211, + "SATB1_CHW_DH3_DP04": 23.139999389648438, + "SATB1_CHW_DH4_DP01": 23.530000686645508, + "SATB1_CHW_DH4_DP02": 24.139999389648438, + "SATB1_CHW_DH4_DP03": 23.030000686645508, + "SATB1_CHW_DH4_DP04": 24.34000015258789, + "SATB1_CHW_DH5_DP01": 23.68000030517578, + "SATB1_CHW_DH5_DP02": 22.979999542236328, + "SATB1_CHW_DH5_DP03": 23.389999389648438, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776701738398 + }, + { + "SATB1_CHW_DH1_DP01": 22.023397765196883, + "SATB1_CHW_DH1_DP02": 22.15879352973838, + "SATB1_CHW_DH1_DP03": 21.99190939693451, + "SATB1_CHW_DH1_DP04": 21.225884408601125, + "SATB1_CHW_DH2_DP01": 21.9232143624728, + "SATB1_CHW_DH2_DP02": 22.766595499943556, + "SATB1_CHW_DH2_DP03": 21.116853058676924, + "SATB1_CHW_DH2_DP04": 23.176705784679335, + "SATB1_CHW_DH3_DP01": 23.104958255027366, + "SATB1_CHW_DH3_DP02": 23.19109770755021, + "SATB1_CHW_DH3_DP03": 22.749840866886608, + "SATB1_CHW_DH3_DP04": 23.07770146973104, + "SATB1_CHW_DH4_DP01": 23.565615803527834, + "SATB1_CHW_DH4_DP02": 24.166704445938763, + "SATB1_CHW_DH4_DP03": 23.15461078409561, + "SATB1_CHW_DH4_DP04": 24.464600916123086, + "SATB1_CHW_DH5_DP01": 23.421831292944432, + "SATB1_CHW_DH5_DP02": 23.015596363031825, + "SATB1_CHW_DH5_DP03": 23.3633029163003, + "SATB1_CHW_DH5_DP04": 23.815493016567316, + "t_stamp": 1776701768398 + }, + { + "SATB1_CHW_DH1_DP01": 22.030000686645508, + "SATB1_CHW_DH1_DP02": 22.149999618530273, + "SATB1_CHW_DH1_DP03": 21.969999313354492, + "SATB1_CHW_DH1_DP04": 21.25, + "SATB1_CHW_DH2_DP01": 21.90999984741211, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.1299991607666, + "SATB1_CHW_DH2_DP04": 23.18000030517578, + "SATB1_CHW_DH3_DP01": 23.139999389648438, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.729999542236328, + "SATB1_CHW_DH3_DP04": 23.06999969482422, + "SATB1_CHW_DH4_DP01": 23.56999969482422, + "SATB1_CHW_DH4_DP02": 24.170000076293945, + "SATB1_CHW_DH4_DP03": 23.170000076293945, + "SATB1_CHW_DH4_DP04": 24.479999542236328, + "SATB1_CHW_DH5_DP01": 23.389999389648438, + "SATB1_CHW_DH5_DP02": 23.020000457763672, + "SATB1_CHW_DH5_DP03": 23.360000610351562, + "SATB1_CHW_DH5_DP04": 23.809999465942383, + "t_stamp": 1776701798398 + }, + { + "SATB1_CHW_DH1_DP01": 22.1011896467011, + "SATB1_CHW_DH1_DP02": 22.221197910821537, + "SATB1_CHW_DH1_DP03": 22.05903278190507, + "SATB1_CHW_DH1_DP04": 21.214388599683087, + "SATB1_CHW_DH2_DP01": 22.372701984562287, + "SATB1_CHW_DH2_DP02": 22.742200231433724, + "SATB1_CHW_DH2_DP03": 21.210129112644903, + "SATB1_CHW_DH2_DP04": 23.19780200577596, + "SATB1_CHW_DH3_DP01": 23.549568837448124, + "SATB1_CHW_DH3_DP02": 23.181098832209877, + "SATB1_CHW_DH3_DP03": 22.71220461782858, + "SATB1_CHW_DH3_DP04": 23.061100696006395, + "SATB1_CHW_DH4_DP01": 23.57890271155171, + "SATB1_CHW_DH4_DP02": 24.08989712086189, + "SATB1_CHW_DH4_DP03": 23.116602671303728, + "SATB1_CHW_DH4_DP04": 24.417705914771062, + "SATB1_CHW_DH5_DP01": 22.980554288113293, + "SATB1_CHW_DH5_DP02": 22.99330501625054, + "SATB1_CHW_DH5_DP03": 23.45788233460488, + "SATB1_CHW_DH5_DP04": 23.82780016665299, + "t_stamp": 1776701828398 + }, + { + "SATB1_CHW_DH1_DP01": 22.110000610351562, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.06999969482422, + "SATB1_CHW_DH1_DP04": 21.209999084472656, + "SATB1_CHW_DH2_DP01": 22.43000030517578, + "SATB1_CHW_DH2_DP02": 22.739999771118164, + "SATB1_CHW_DH2_DP03": 21.219999313354492, + "SATB1_CHW_DH2_DP04": 23.200000762939453, + "SATB1_CHW_DH3_DP01": 23.600000381469727, + "SATB1_CHW_DH3_DP02": 23.18000030517578, + "SATB1_CHW_DH3_DP03": 22.709999084472656, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.579999923706055, + "SATB1_CHW_DH4_DP02": 24.079999923706055, + "SATB1_CHW_DH4_DP03": 23.110000610351562, + "SATB1_CHW_DH4_DP04": 24.40999984741211, + "SATB1_CHW_DH5_DP01": 22.93000030517578, + "SATB1_CHW_DH5_DP02": 22.989999771118164, + "SATB1_CHW_DH5_DP03": 23.469999313354492, + "SATB1_CHW_DH5_DP04": 23.829999923706055, + "t_stamp": 1776701858398 + }, + { + "SATB1_CHW_DH1_DP01": 22.207899272662438, + "SATB1_CHW_DH1_DP02": 22.158790408613125, + "SATB1_CHW_DH1_DP03": 22.17685447022401, + "SATB1_CHW_DH1_DP04": 21.201096743376556, + "SATB1_CHW_DH2_DP01": 22.32320575933493, + "SATB1_CHW_DH2_DP02": 22.83791296650994, + "SATB1_CHW_DH2_DP03": 21.362468840106516, + "SATB1_CHW_DH2_DP04": 23.208901252435, + "SATB1_CHW_DH3_DP01": 23.733570351157447, + "SATB1_CHW_DH3_DP02": 23.188903474492175, + "SATB1_CHW_DH3_DP03": 22.781188725371997, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.562191511579165, + "SATB1_CHW_DH4_DP02": 24.088901777723706, + "SATB1_CHW_DH4_DP03": 23.127801583805226, + "SATB1_CHW_DH4_DP04": 24.481203646818027, + "SATB1_CHW_DH5_DP01": 23.223776700000283, + "SATB1_CHW_DH5_DP02": 23.034499039310557, + "SATB1_CHW_DH5_DP03": 23.265303938125328, + "SATB1_CHW_DH5_DP04": 23.865606672983603, + "t_stamp": 1776701888398 + }, + { + "SATB1_CHW_DH1_DP01": 22.219999313354492, + "SATB1_CHW_DH1_DP02": 22.149999618530273, + "SATB1_CHW_DH1_DP03": 22.190000534057617, + "SATB1_CHW_DH1_DP04": 21.200000762939453, + "SATB1_CHW_DH2_DP01": 22.309999465942383, + "SATB1_CHW_DH2_DP02": 22.850000381469727, + "SATB1_CHW_DH2_DP03": 21.3799991607666, + "SATB1_CHW_DH2_DP04": 23.209999084472656, + "SATB1_CHW_DH3_DP01": 23.75, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.790000915527344, + "SATB1_CHW_DH3_DP04": 23.059999465942383, + "SATB1_CHW_DH4_DP01": 23.559999465942383, + "SATB1_CHW_DH4_DP02": 24.09000015258789, + "SATB1_CHW_DH4_DP03": 23.1299991607666, + "SATB1_CHW_DH4_DP04": 24.489999771118164, + "SATB1_CHW_DH5_DP01": 23.260000228881836, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.239999771118164, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776701918398 + }, + { + "SATB1_CHW_DH1_DP01": 22.07759678249359, + "SATB1_CHW_DH1_DP02": 22.29242081604004, + "SATB1_CHW_DH1_DP03": 22.18109581199134, + "SATB1_CHW_DH1_DP04": 21.19109670754399, + "SATB1_CHW_DH2_DP01": 22.221002459780376, + "SATB1_CHW_DH2_DP02": 22.81439423319499, + "SATB1_CHW_DH2_DP03": 21.11286929229051, + "SATB1_CHW_DH2_DP04": 23.22780382531484, + "SATB1_CHW_DH3_DP01": 23.19790878753019, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 23.08366174198301, + "SATB1_CHW_DH3_DP04": 23.113402688217164, + "SATB1_CHW_DH4_DP01": 23.542192720122756, + "SATB1_CHW_DH4_DP02": 24.179018825499217, + "SATB1_CHW_DH4_DP03": 23.210109961410158, + "SATB1_CHW_DH4_DP04": 24.472198030344646, + "SATB1_CHW_DH5_DP01": 23.36682927799225, + "SATB1_CHW_DH5_DP02": 23.084499403190613, + "SATB1_CHW_DH5_DP03": 23.284500789642333, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776701948398 + }, + { + "SATB1_CHW_DH1_DP01": 22.059999465942383, + "SATB1_CHW_DH1_DP02": 22.309999465942383, + "SATB1_CHW_DH1_DP03": 22.18000030517578, + "SATB1_CHW_DH1_DP04": 21.190000534057617, + "SATB1_CHW_DH2_DP01": 22.209999084472656, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 21.079999923706055, + "SATB1_CHW_DH2_DP04": 23.229999542236328, + "SATB1_CHW_DH3_DP01": 23.1299991607666, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 23.1200008392334, + "SATB1_CHW_DH3_DP04": 23.1200008392334, + "SATB1_CHW_DH4_DP01": 23.540000915527344, + "SATB1_CHW_DH4_DP02": 24.190000534057617, + "SATB1_CHW_DH4_DP03": 23.219999313354492, + "SATB1_CHW_DH4_DP04": 24.469999313354492, + "SATB1_CHW_DH5_DP01": 23.3799991607666, + "SATB1_CHW_DH5_DP02": 23.09000015258789, + "SATB1_CHW_DH5_DP03": 23.290000915527344, + "SATB1_CHW_DH5_DP04": 23.8700008392334, + "t_stamp": 1776701978398 + }, + { + "SATB1_CHW_DH1_DP01": 22.19347493133489, + "SATB1_CHW_DH1_DP02": 22.220999143098556, + "SATB1_CHW_DH1_DP03": 22.27795034866333, + "SATB1_CHW_DH1_DP04": 21.323553242646376, + "SATB1_CHW_DH2_DP01": 22.14771518424731, + "SATB1_CHW_DH2_DP02": 22.827799870019142, + "SATB1_CHW_DH2_DP03": 21.044383473523457, + "SATB1_CHW_DH2_DP04": 23.336812047668495, + "SATB1_CHW_DH3_DP01": 22.9340938404462, + "SATB1_CHW_DH3_DP02": 23.24341271736779, + "SATB1_CHW_DH3_DP03": 23.048825661747898, + "SATB1_CHW_DH3_DP04": 23.200086260353622, + "SATB1_CHW_DH4_DP01": 23.629038072932143, + "SATB1_CHW_DH4_DP02": 24.181099683757527, + "SATB1_CHW_DH4_DP03": 23.166600798505307, + "SATB1_CHW_DH4_DP04": 24.505595082484884, + "SATB1_CHW_DH5_DP01": 23.415605228339142, + "SATB1_CHW_DH5_DP02": 23.036613195064398, + "SATB1_CHW_DH5_DP03": 23.21881470956663, + "SATB1_CHW_DH5_DP04": 23.994607015095333, + "t_stamp": 1776702008398 + }, + { + "SATB1_CHW_DH1_DP01": 22.209999084472656, + "SATB1_CHW_DH1_DP02": 22.209999084472656, + "SATB1_CHW_DH1_DP03": 22.290000915527344, + "SATB1_CHW_DH1_DP04": 21.34000015258789, + "SATB1_CHW_DH2_DP01": 22.139999389648438, + "SATB1_CHW_DH2_DP02": 22.829999923706055, + "SATB1_CHW_DH2_DP03": 21.040000915527344, + "SATB1_CHW_DH2_DP04": 23.350000381469727, + "SATB1_CHW_DH3_DP01": 22.90999984741211, + "SATB1_CHW_DH3_DP02": 23.25, + "SATB1_CHW_DH3_DP03": 23.040000915527344, + "SATB1_CHW_DH3_DP04": 23.209999084472656, + "SATB1_CHW_DH4_DP01": 23.639999389648438, + "SATB1_CHW_DH4_DP02": 24.18000030517578, + "SATB1_CHW_DH4_DP03": 23.15999984741211, + "SATB1_CHW_DH4_DP04": 24.510000228881836, + "SATB1_CHW_DH5_DP01": 23.420000076293945, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.209999084472656, + "SATB1_CHW_DH5_DP04": 24.010000228881836, + "t_stamp": 1776702038398 + }, + { + "SATB1_CHW_DH1_DP01": 22.165498546556716, + "SATB1_CHW_DH1_DP02": 22.236703646336025, + "SATB1_CHW_DH1_DP03": 22.03176960029602, + "SATB1_CHW_DH1_DP04": 21.135213233927153, + "SATB1_CHW_DH2_DP01": 22.255694835608026, + "SATB1_CHW_DH2_DP02": 22.856704485569423, + "SATB1_CHW_DH2_DP03": 21.280420631763846, + "SATB1_CHW_DH2_DP04": 23.243173610466414, + "SATB1_CHW_DH3_DP01": 23.47990863723755, + "SATB1_CHW_DH3_DP02": 23.19658224334648, + "SATB1_CHW_DH3_DP03": 22.853126429090167, + "SATB1_CHW_DH3_DP04": 23.138795871611883, + "SATB1_CHW_DH4_DP01": 23.56876641648019, + "SATB1_CHW_DH4_DP02": 24.162196227131517, + "SATB1_CHW_DH4_DP03": 23.07098652214047, + "SATB1_CHW_DH4_DP04": 24.46549632628539, + "SATB1_CHW_DH5_DP01": 23.544634561515963, + "SATB1_CHW_DH5_DP02": 23.038900633617896, + "SATB1_CHW_DH5_DP03": 23.361297622016497, + "SATB1_CHW_DH5_DP04": 23.849769922719293, + "t_stamp": 1776702068398 + }, + { + "SATB1_CHW_DH1_DP01": 22.15999984741211, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22, + "SATB1_CHW_DH1_DP04": 21.110000610351562, + "SATB1_CHW_DH2_DP01": 22.270000457763672, + "SATB1_CHW_DH2_DP02": 22.860000610351562, + "SATB1_CHW_DH2_DP03": 21.309999465942383, + "SATB1_CHW_DH2_DP04": 23.229999542236328, + "SATB1_CHW_DH3_DP01": 23.549999237060547, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.829999923706055, + "SATB1_CHW_DH3_DP04": 23.1299991607666, + "SATB1_CHW_DH4_DP01": 23.559999465942383, + "SATB1_CHW_DH4_DP02": 24.15999984741211, + "SATB1_CHW_DH4_DP03": 23.059999465942383, + "SATB1_CHW_DH4_DP04": 24.459999084472656, + "SATB1_CHW_DH5_DP01": 23.559999465942383, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.3799991607666, + "SATB1_CHW_DH5_DP04": 23.829999923706055, + "t_stamp": 1776702098398 + }, + { + "SATB1_CHW_DH1_DP01": 21.999811934178837, + "SATB1_CHW_DH1_DP02": 22.257800805125296, + "SATB1_CHW_DH1_DP03": 22.035618221594298, + "SATB1_CHW_DH1_DP04": 21.101096870017003, + "SATB1_CHW_DH2_DP01": 22.189912500357313, + "SATB1_CHW_DH2_DP02": 22.868901275679775, + "SATB1_CHW_DH2_DP03": 21.21205438568943, + "SATB1_CHW_DH2_DP04": 23.274506293460696, + "SATB1_CHW_DH3_DP01": 23.71918872613847, + "SATB1_CHW_DH3_DP02": 23.234511978846175, + "SATB1_CHW_DH3_DP03": 22.785510793044452, + "SATB1_CHW_DH3_DP04": 23.1122014906832, + "SATB1_CHW_DH4_DP01": 23.54219301689196, + "SATB1_CHW_DH4_DP02": 24.195603915205513, + "SATB1_CHW_DH4_DP03": 23.1757044893887, + "SATB1_CHW_DH4_DP04": 24.477798785293697, + "SATB1_CHW_DH5_DP01": 23.33746247087506, + "SATB1_CHW_DH5_DP02": 23.057797252551794, + "SATB1_CHW_DH5_DP03": 23.11303043562545, + "SATB1_CHW_DH5_DP04": 23.8745032191656, + "t_stamp": 1776702128398 + }, + { + "SATB1_CHW_DH1_DP01": 21.979999542236328, + "SATB1_CHW_DH1_DP02": 22.260000228881836, + "SATB1_CHW_DH1_DP03": 22.040000915527344, + "SATB1_CHW_DH1_DP04": 21.100000381469727, + "SATB1_CHW_DH2_DP01": 22.18000030517578, + "SATB1_CHW_DH2_DP02": 22.8700008392334, + "SATB1_CHW_DH2_DP03": 21.200000762939453, + "SATB1_CHW_DH2_DP04": 23.280000686645508, + "SATB1_CHW_DH3_DP01": 23.739999771118164, + "SATB1_CHW_DH3_DP02": 23.239999771118164, + "SATB1_CHW_DH3_DP03": 22.780000686645508, + "SATB1_CHW_DH3_DP04": 23.110000610351562, + "SATB1_CHW_DH4_DP01": 23.540000915527344, + "SATB1_CHW_DH4_DP02": 24.200000762939453, + "SATB1_CHW_DH4_DP03": 23.190000534057617, + "SATB1_CHW_DH4_DP04": 24.479999542236328, + "SATB1_CHW_DH5_DP01": 23.309999465942383, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.079999923706055, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776702158398 + }, + { + "SATB1_CHW_DH1_DP01": 22.033400214406907, + "SATB1_CHW_DH1_DP02": 22.233296892477856, + "SATB1_CHW_DH1_DP03": 22.146851964441936, + "SATB1_CHW_DH1_DP04": 21.082192677104768, + "SATB1_CHW_DH2_DP01": 22.20669738864145, + "SATB1_CHW_DH2_DP02": 22.816594056506435, + "SATB1_CHW_DH2_DP03": 21.200000762939453, + "SATB1_CHW_DH2_DP04": 23.199884874509348, + "SATB1_CHW_DH3_DP01": 23.68657224667867, + "SATB1_CHW_DH3_DP02": 23.239999771118164, + "SATB1_CHW_DH3_DP03": 22.877883856196593, + "SATB1_CHW_DH3_DP04": 23.047700356916543, + "SATB1_CHW_DH4_DP01": 23.513288804149628, + "SATB1_CHW_DH4_DP02": 24.137689477625027, + "SATB1_CHW_DH4_DP03": 23.145494973384316, + "SATB1_CHW_DH4_DP04": 24.435499012836843, + "SATB1_CHW_DH5_DP01": 23.44353025394913, + "SATB1_CHW_DH5_DP02": 23.033301882447056, + "SATB1_CHW_DH5_DP03": 23.38259065189763, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776702188398 + }, + { + "SATB1_CHW_DH1_DP01": 22.040000915527344, + "SATB1_CHW_DH1_DP02": 22.229999542236328, + "SATB1_CHW_DH1_DP03": 22.15999984741211, + "SATB1_CHW_DH1_DP04": 21.079999923706055, + "SATB1_CHW_DH2_DP01": 22.209999084472656, + "SATB1_CHW_DH2_DP02": 22.809999465942383, + "SATB1_CHW_DH2_DP03": 21.200000762939453, + "SATB1_CHW_DH2_DP04": 23.190000534057617, + "SATB1_CHW_DH3_DP01": 23.68000030517578, + "SATB1_CHW_DH3_DP02": 23.239999771118164, + "SATB1_CHW_DH3_DP03": 22.889999389648438, + "SATB1_CHW_DH3_DP04": 23.040000915527344, + "SATB1_CHW_DH4_DP01": 23.510000228881836, + "SATB1_CHW_DH4_DP02": 24.1299991607666, + "SATB1_CHW_DH4_DP03": 23.139999389648438, + "SATB1_CHW_DH4_DP04": 24.43000030517578, + "SATB1_CHW_DH5_DP01": 23.459999084472656, + "SATB1_CHW_DH5_DP02": 23.030000686645508, + "SATB1_CHW_DH5_DP03": 23.420000076293945, + "SATB1_CHW_DH5_DP04": 23.8799991607666, + "t_stamp": 1776702218398 + }, + { + "SATB1_CHW_DH1_DP01": 22.298100032806396, + "SATB1_CHW_DH1_DP02": 22.23890074596405, + "SATB1_CHW_DH1_DP03": 22.329174197570637, + "SATB1_CHW_DH1_DP04": 21.266968458363937, + "SATB1_CHW_DH2_DP01": 22.17440196714401, + "SATB1_CHW_DH2_DP02": 22.783297552490236, + "SATB1_CHW_DH2_DP03": 21.217807211989875, + "SATB1_CHW_DH2_DP04": 23.234508279772538, + "SATB1_CHW_DH3_DP01": 22.976565994978042, + "SATB1_CHW_DH3_DP02": 23.204390580923434, + "SATB1_CHW_DH3_DP03": 22.93449448293824, + "SATB1_CHW_DH3_DP04": 23.03110054515203, + "SATB1_CHW_DH4_DP01": 23.429869599551587, + "SATB1_CHW_DH4_DP02": 24.04988855794359, + "SATB1_CHW_DH4_DP03": 23.202305079583308, + "SATB1_CHW_DH4_DP04": 24.421099768129984, + "SATB1_CHW_DH5_DP01": 23.602432939359, + "SATB1_CHW_DH5_DP02": 23.056698600260418, + "SATB1_CHW_DH5_DP03": 23.384399928156533, + "SATB1_CHW_DH5_DP04": 23.862198081108488, + "t_stamp": 1776702248398 + }, + { + "SATB1_CHW_DH1_DP01": 22.329999923706055, + "SATB1_CHW_DH1_DP02": 22.239999771118164, + "SATB1_CHW_DH1_DP03": 22.350000381469727, + "SATB1_CHW_DH1_DP04": 21.290000915527344, + "SATB1_CHW_DH2_DP01": 22.170000076293945, + "SATB1_CHW_DH2_DP02": 22.780000686645508, + "SATB1_CHW_DH2_DP03": 21.219999313354492, + "SATB1_CHW_DH2_DP04": 23.239999771118164, + "SATB1_CHW_DH3_DP01": 22.889999389648438, + "SATB1_CHW_DH3_DP02": 23.200000762939453, + "SATB1_CHW_DH3_DP03": 22.940000534057617, + "SATB1_CHW_DH3_DP04": 23.030000686645508, + "SATB1_CHW_DH4_DP01": 23.420000076293945, + "SATB1_CHW_DH4_DP02": 24.040000915527344, + "SATB1_CHW_DH4_DP03": 23.209999084472656, + "SATB1_CHW_DH4_DP04": 24.420000076293945, + "SATB1_CHW_DH5_DP01": 23.6200008392334, + "SATB1_CHW_DH5_DP02": 23.059999465942383, + "SATB1_CHW_DH5_DP03": 23.3799991607666, + "SATB1_CHW_DH5_DP04": 23.860000610351562, + "t_stamp": 1776702278398 + }, + { + "SATB1_CHW_DH1_DP01": 22.16979698205058, + "SATB1_CHW_DH1_DP02": 22.222197066950983, + "SATB1_CHW_DH1_DP03": 22.25205440649037, + "SATB1_CHW_DH1_DP04": 21.13864196897002, + "SATB1_CHW_DH2_DP01": 22.25899689906331, + "SATB1_CHW_DH2_DP02": 22.762197982478327, + "SATB1_CHW_DH2_DP03": 21.095344112548005, + "SATB1_CHW_DH2_DP04": 23.204393393898126, + "SATB1_CHW_DH3_DP01": 23.637974458017517, + "SATB1_CHW_DH3_DP02": 23.19109791079653, + "SATB1_CHW_DH3_DP03": 22.984494763367668, + "SATB1_CHW_DH3_DP04": 23.119002478617716, + "SATB1_CHW_DH4_DP01": 23.606975493683347, + "SATB1_CHW_DH4_DP02": 24.21803249790333, + "SATB1_CHW_DH4_DP03": 23.15659277961828, + "SATB1_CHW_DH4_DP04": 24.446702132465607, + "SATB1_CHW_DH5_DP01": 23.62890149340649, + "SATB1_CHW_DH5_DP02": 23.042201126052348, + "SATB1_CHW_DH5_DP03": 23.45119894619602, + "SATB1_CHW_DH5_DP04": 23.931212249495687, + "t_stamp": 1776702308398 + }, + { + "SATB1_CHW_DH1_DP01": 22.149999618530273, + "SATB1_CHW_DH1_DP02": 22.219999313354492, + "SATB1_CHW_DH1_DP03": 22.239999771118164, + "SATB1_CHW_DH1_DP04": 21.1200008392334, + "SATB1_CHW_DH2_DP01": 22.270000457763672, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.079999923706055, + "SATB1_CHW_DH2_DP04": 23.200000762939453, + "SATB1_CHW_DH3_DP01": 23.729999542236328, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.989999771118164, + "SATB1_CHW_DH3_DP04": 23.1299991607666, + "SATB1_CHW_DH4_DP01": 23.6299991607666, + "SATB1_CHW_DH4_DP02": 24.239999771118164, + "SATB1_CHW_DH4_DP03": 23.149999618530273, + "SATB1_CHW_DH4_DP04": 24.450000762939453, + "SATB1_CHW_DH5_DP01": 23.6299991607666, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.459999084472656, + "SATB1_CHW_DH5_DP04": 23.940000534057617, + "t_stamp": 1776702338398 + }, + { + "SATB1_CHW_DH1_DP01": 22.149999618530273, + "SATB1_CHW_DH1_DP02": 22.219999313354492, + "SATB1_CHW_DH1_DP03": 22.239999771118164, + "SATB1_CHW_DH1_DP04": 21.1200008392334, + "SATB1_CHW_DH2_DP01": 22.270000457763672, + "SATB1_CHW_DH2_DP02": 22.760000228881836, + "SATB1_CHW_DH2_DP03": 21.079999923706055, + "SATB1_CHW_DH2_DP04": 23.200000762939453, + "SATB1_CHW_DH3_DP01": 23.729999542236328, + "SATB1_CHW_DH3_DP02": 23.190000534057617, + "SATB1_CHW_DH3_DP03": 22.989999771118164, + "SATB1_CHW_DH3_DP04": 23.1299991607666, + "SATB1_CHW_DH4_DP01": 23.6299991607666, + "SATB1_CHW_DH4_DP02": 24.239999771118164, + "SATB1_CHW_DH4_DP03": 23.149999618530273, + "SATB1_CHW_DH4_DP04": 24.450000762939453, + "SATB1_CHW_DH5_DP01": 23.6299991607666, + "SATB1_CHW_DH5_DP02": 23.040000915527344, + "SATB1_CHW_DH5_DP03": 23.459999084472656, + "SATB1_CHW_DH5_DP04": 23.940000534057617, + "t_stamp": 1776702368398 + } + ], + "tags": [] + }, + "meta": { + "name": "CHW DP Chart" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "enabled": false, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": {}, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\"}\n\tfor i in range(0,5):\n\t\ttags \u003d system.tag.browse(self.custom.paths[i], {\"name\":\"*CHW*DP*\",\"typeId\":\"Objects/Basic/AnalogIn\",\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags:\n\t\t\ttagname \u003d str(item[\"fullPath\"]) + \"/Val\"\n\t\t\tnameparts \u003d tagname.split(\"]\")\n\t\t\tprovider\u003d histProvider[nameparts[0][1:]]\n\t\t\trun_path \u003d \"[{}]{}\".format(provider, nameparts[1])\n\t\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.DPs": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tmaximum \u003d 0\n\tfor item in rawHist:\n\t\tmaximum \u003d 0\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif(item[key] \u003e maximum):\n\t\t\t\tmaximum \u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"maxDP\": maximum})\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "color": "#F4F4F4", + "render": "color" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "DPs", + "x": "t_stamp", + "y": "maxDP" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "process temp", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "DP", + "zIndex": 0 + } + ], + "style": { + "marginBottom": -30, + "marginLeft": 0, + "marginTop": 10, + "paddingRight": 10 + }, + "title": { + "text": "CHW DP (Max)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 20, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Process Temp" + }, + "name": "DP", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "custom": { + "path": "value", + "raw": [ + { + "SATB1_CHW_DH1_Tonnage": 505.7060852050781, + "SATB1_CHW_DH2_Tonnage": 490.76177978515625, + "SATB1_CHW_DH3_Tonnage": 41.716636657714844, + "SATB1_CHW_DH4_Tonnage": 30.137920379638672, + "SATB1_CHW_DH5_Tonnage": 21.499755859375, + "t_stamp": 1776695198187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.3125915527344, + "SATB1_CHW_DH2_Tonnage": 474.4725036621094, + "SATB1_CHW_DH3_Tonnage": 39.4509162902832, + "SATB1_CHW_DH4_Tonnage": 30.97508430480957, + "SATB1_CHW_DH5_Tonnage": 19.87540054321289, + "t_stamp": 1776695228187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.2221984863281, + "SATB1_CHW_DH2_Tonnage": 459.17034912109375, + "SATB1_CHW_DH3_Tonnage": 40.69623947143555, + "SATB1_CHW_DH4_Tonnage": 31.54568862915039, + "SATB1_CHW_DH5_Tonnage": 18.517616271972656, + "t_stamp": 1776695258187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.4445495605469, + "SATB1_CHW_DH2_Tonnage": 482.0361328125, + "SATB1_CHW_DH3_Tonnage": 40.179779052734375, + "SATB1_CHW_DH4_Tonnage": 30.56692123413086, + "SATB1_CHW_DH5_Tonnage": 19.767112731933594, + "t_stamp": 1776695288187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.4445495605469, + "SATB1_CHW_DH2_Tonnage": 482.0361328125, + "SATB1_CHW_DH3_Tonnage": 40.179779052734375, + "SATB1_CHW_DH4_Tonnage": 30.56692123413086, + "SATB1_CHW_DH5_Tonnage": 19.767112731933594, + "t_stamp": 1776695318187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.1706237792969, + "SATB1_CHW_DH2_Tonnage": 475.45965576171875, + "SATB1_CHW_DH3_Tonnage": 41.48341369628906, + "SATB1_CHW_DH4_Tonnage": 31.287458419799805, + "SATB1_CHW_DH5_Tonnage": 20.537649154663086, + "t_stamp": 1776695348187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.31341552734375, + "SATB1_CHW_DH2_Tonnage": 494.3853759765625, + "SATB1_CHW_DH3_Tonnage": 40.417198181152344, + "SATB1_CHW_DH4_Tonnage": 29.6214656829834, + "SATB1_CHW_DH5_Tonnage": 21.31645965576172, + "t_stamp": 1776695378187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.30389404296875, + "SATB1_CHW_DH2_Tonnage": 489.32904052734375, + "SATB1_CHW_DH3_Tonnage": 41.291831970214844, + "SATB1_CHW_DH4_Tonnage": 30.9459285736084, + "SATB1_CHW_DH5_Tonnage": 21.166566848754883, + "t_stamp": 1776695408187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.912353515625, + "SATB1_CHW_DH2_Tonnage": 484.7228088378906, + "SATB1_CHW_DH3_Tonnage": 40.79203414916992, + "SATB1_CHW_DH4_Tonnage": 30.5079817506916, + "SATB1_CHW_DH5_Tonnage": 21.932926177978516, + "t_stamp": 1776695438187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.8699340820312, + "SATB1_CHW_DH2_Tonnage": 483.2357177734375, + "SATB1_CHW_DH3_Tonnage": 43.032779693603516, + "SATB1_CHW_DH4_Tonnage": 30.43363380432129, + "SATB1_CHW_DH5_Tonnage": 21.845462799072266, + "t_stamp": 1776695468187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.029052734375, + "SATB1_CHW_DH2_Tonnage": 475.5220947265625, + "SATB1_CHW_DH3_Tonnage": 40.350555419921875, + "SATB1_CHW_DH4_Tonnage": 29.76307487487793, + "SATB1_CHW_DH5_Tonnage": 21.533077239990234, + "t_stamp": 1776695498187 + }, + { + "SATB1_CHW_DH1_Tonnage": 501.416259765625, + "SATB1_CHW_DH2_Tonnage": 476.6633605957031, + "SATB1_CHW_DH3_Tonnage": 42.47051239013672, + "SATB1_CHW_DH4_Tonnage": 30.37949562072754, + "SATB1_CHW_DH5_Tonnage": 20.966644287109375, + "t_stamp": 1776695528187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.4934692382812, + "SATB1_CHW_DH2_Tonnage": 480.32452392578125, + "SATB1_CHW_DH3_Tonnage": 42.970314025878906, + "SATB1_CHW_DH4_Tonnage": 30.05462074279785, + "SATB1_CHW_DH5_Tonnage": 21.6705322265625, + "t_stamp": 1776695558187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.85528564453125, + "SATB1_CHW_DH2_Tonnage": 460.6239013671875, + "SATB1_CHW_DH3_Tonnage": 44.0198974609375, + "SATB1_CHW_DH4_Tonnage": 29.7255859375, + "SATB1_CHW_DH5_Tonnage": 22.10785675048828, + "t_stamp": 1776695588187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.43121337890625, + "SATB1_CHW_DH2_Tonnage": 488.47528076171875, + "SATB1_CHW_DH3_Tonnage": 41.70832061767578, + "SATB1_CHW_DH4_Tonnage": 29.51317024230957, + "SATB1_CHW_DH5_Tonnage": 23.174087524414062, + "t_stamp": 1776695618187 + }, + { + "SATB1_CHW_DH1_Tonnage": 496.0350036621094, + "SATB1_CHW_DH2_Tonnage": 475.48065185546875, + "SATB1_CHW_DH3_Tonnage": 41.54589080810547, + "SATB1_CHW_DH4_Tonnage": 29.32574462890625, + "SATB1_CHW_DH5_Tonnage": 23.349018096923828, + "t_stamp": 1776695648187 + }, + { + "SATB1_CHW_DH1_Tonnage": 498.2840576171875, + "SATB1_CHW_DH2_Tonnage": 472.206787109375, + "SATB1_CHW_DH3_Tonnage": 40.88365173339844, + "SATB1_CHW_DH4_Tonnage": 29.384056091308594, + "SATB1_CHW_DH5_Tonnage": 22.195323944091797, + "t_stamp": 1776695678187 + }, + { + "SATB1_CHW_DH1_Tonnage": 504.1900329589844, + "SATB1_CHW_DH2_Tonnage": 473.7061767578125, + "SATB1_CHW_DH3_Tonnage": 41.75830078125, + "SATB1_CHW_DH4_Tonnage": 30.35033416748047, + "SATB1_CHW_DH5_Tonnage": 20.60428810119629, + "t_stamp": 1776695708187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.28125, + "SATB1_CHW_DH2_Tonnage": 476.9631652832031, + "SATB1_CHW_DH3_Tonnage": 42.632957458496094, + "SATB1_CHW_DH4_Tonnage": 29.904685974121094, + "SATB1_CHW_DH5_Tonnage": 20.68758773803711, + "t_stamp": 1776695738187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.8802185058594, + "SATB1_CHW_DH2_Tonnage": 492.9942626953125, + "SATB1_CHW_DH3_Tonnage": 42.395545959472656, + "SATB1_CHW_DH4_Tonnage": 30.137920379638672, + "SATB1_CHW_DH5_Tonnage": 19.91706085205078, + "t_stamp": 1776695768187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.320068359375, + "SATB1_CHW_DH2_Tonnage": 471.80279541015625, + "SATB1_CHW_DH3_Tonnage": 42.15814208984375, + "SATB1_CHW_DH4_Tonnage": 30.421138763427734, + "SATB1_CHW_DH5_Tonnage": 19.746295928955078, + "t_stamp": 1776695798187 + }, + { + "SATB1_CHW_DH1_Tonnage": 513.7362060546875, + "SATB1_CHW_DH2_Tonnage": 444.53033447265625, + "SATB1_CHW_DH3_Tonnage": 41.74580383300781, + "SATB1_CHW_DH4_Tonnage": 31.853897094726562, + "SATB1_CHW_DH5_Tonnage": 20.312734603881836, + "t_stamp": 1776695828187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.1090698242188, + "SATB1_CHW_DH2_Tonnage": 435.9796142578125, + "SATB1_CHW_DH3_Tonnage": 41.687675979614255, + "SATB1_CHW_DH4_Tonnage": 31.370758056640625, + "SATB1_CHW_DH5_Tonnage": 20.691753387451172, + "t_stamp": 1776695858187 + }, + { + "SATB1_CHW_DH1_Tonnage": 523.9821166992188, + "SATB1_CHW_DH2_Tonnage": 437.79974365234375, + "SATB1_CHW_DH3_Tonnage": 41.783294677734375, + "SATB1_CHW_DH4_Tonnage": 31.287450790405273, + "SATB1_CHW_DH5_Tonnage": 21.75383186340332, + "t_stamp": 1776695888187 + }, + { + "SATB1_CHW_DH1_Tonnage": 513.61962890625, + "SATB1_CHW_DH2_Tonnage": 423.12225341796875, + "SATB1_CHW_DH3_Tonnage": 41.65834045410156, + "SATB1_CHW_DH4_Tonnage": 30.391983032226562, + "SATB1_CHW_DH5_Tonnage": 22.099517822265625, + "t_stamp": 1776695918187 + }, + { + "SATB1_CHW_DH1_Tonnage": 522.7742919921875, + "SATB1_CHW_DH2_Tonnage": 412.9723205566406, + "SATB1_CHW_DH3_Tonnage": 41.433433532714844, + "SATB1_CHW_DH4_Tonnage": 28.80512237548828, + "SATB1_CHW_DH5_Tonnage": 22.632648468017578, + "t_stamp": 1776695948187 + }, + { + "SATB1_CHW_DH1_Tonnage": 520.5418090820312, + "SATB1_CHW_DH2_Tonnage": 402.8388671875, + "SATB1_CHW_DH3_Tonnage": 40.99610900878906, + "SATB1_CHW_DH4_Tonnage": 29.62979507446289, + "SATB1_CHW_DH5_Tonnage": 21.499767303466797, + "t_stamp": 1776695978187 + }, + { + "SATB1_CHW_DH1_Tonnage": 526.1395874023438, + "SATB1_CHW_DH2_Tonnage": 497.59259033203125, + "SATB1_CHW_DH3_Tonnage": 40.950279235839844, + "SATB1_CHW_DH4_Tonnage": 29.42987632751465, + "SATB1_CHW_DH5_Tonnage": 20.083660125732422, + "t_stamp": 1776696008187 + }, + { + "SATB1_CHW_DH1_Tonnage": 531.095947265625, + "SATB1_CHW_DH2_Tonnage": 474.5934753417969, + "SATB1_CHW_DH3_Tonnage": 41.40843200683594, + "SATB1_CHW_DH4_Tonnage": 29.667274475097656, + "SATB1_CHW_DH5_Tonnage": 20.795879364013672, + "t_stamp": 1776696038187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.7271118164062, + "SATB1_CHW_DH2_Tonnage": 461.49017333984375, + "SATB1_CHW_DH3_Tonnage": 41.05857849121094, + "SATB1_CHW_DH4_Tonnage": 30.179569244384766, + "SATB1_CHW_DH5_Tonnage": 21.6705322265625, + "t_stamp": 1776696068187 + }, + { + "SATB1_CHW_DH1_Tonnage": 523.52392578125, + "SATB1_CHW_DH2_Tonnage": 437.83306884765625, + "SATB1_CHW_DH3_Tonnage": 41.62085723876953, + "SATB1_CHW_DH4_Tonnage": 30.933425903320312, + "SATB1_CHW_DH5_Tonnage": 21.40813636779785, + "t_stamp": 1776696098187 + }, + { + "SATB1_CHW_DH1_Tonnage": 501.2620849609375, + "SATB1_CHW_DH2_Tonnage": 490.345458984375, + "SATB1_CHW_DH3_Tonnage": 43.01195526123047, + "SATB1_CHW_DH4_Tonnage": 30.362829208374023, + "SATB1_CHW_DH5_Tonnage": 21.23737144470215, + "t_stamp": 1776696128187 + }, + { + "SATB1_CHW_DH1_Tonnage": 521.9412841796875, + "SATB1_CHW_DH2_Tonnage": 490.91180419921875, + "SATB1_CHW_DH3_Tonnage": 42.545475006103516, + "SATB1_CHW_DH4_Tonnage": 30.412799835205078, + "SATB1_CHW_DH5_Tonnage": 20.887510299682617, + "t_stamp": 1776696158187 + }, + { + "SATB1_CHW_DH1_Tonnage": 532.353759765625, + "SATB1_CHW_DH2_Tonnage": 481.0450744628906, + "SATB1_CHW_DH3_Tonnage": 41.908241271972656, + "SATB1_CHW_DH4_Tonnage": 30.483604431152344, + "SATB1_CHW_DH5_Tonnage": 21.40397071838379, + "t_stamp": 1776696188187 + }, + { + "SATB1_CHW_DH1_Tonnage": 528.0888061523438, + "SATB1_CHW_DH2_Tonnage": 476.80096435546875, + "SATB1_CHW_DH3_Tonnage": 41.783294677734375, + "SATB1_CHW_DH4_Tonnage": 29.904678344726562, + "SATB1_CHW_DH5_Tonnage": 21.928760528564453, + "t_stamp": 1776696218187 + }, + { + "SATB1_CHW_DH1_Tonnage": 522.2661743164062, + "SATB1_CHW_DH2_Tonnage": 476.7799072265625, + "SATB1_CHW_DH3_Tonnage": 43.778316497802734, + "SATB1_CHW_DH4_Tonnage": 30.587730407714844, + "SATB1_CHW_DH5_Tonnage": 22.195323944091797, + "t_stamp": 1776696248187 + }, + { + "SATB1_CHW_DH1_Tonnage": 522.7242431640625, + "SATB1_CHW_DH2_Tonnage": 482.406982421875, + "SATB1_CHW_DH3_Tonnage": 42.78289031982422, + "SATB1_CHW_DH4_Tonnage": 30.516925811767578, + "SATB1_CHW_DH5_Tonnage": 21.154071807861328, + "t_stamp": 1776696278187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.60595703125, + "SATB1_CHW_DH2_Tonnage": 504.5647888183594, + "SATB1_CHW_DH3_Tonnage": 41.68333435058594, + "SATB1_CHW_DH4_Tonnage": 31.216646194458008, + "SATB1_CHW_DH5_Tonnage": 20.966644287109375, + "t_stamp": 1776696308187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.7283935546875, + "SATB1_CHW_DH2_Tonnage": 462.8731384277344, + "SATB1_CHW_DH3_Tonnage": 41.121055603027344, + "SATB1_CHW_DH4_Tonnage": 30.82097625732422, + "SATB1_CHW_DH5_Tonnage": 20.083660125732422, + "t_stamp": 1776696338187 + }, + { + "SATB1_CHW_DH1_Tonnage": 521.3040771484375, + "SATB1_CHW_DH2_Tonnage": 423.763671875, + "SATB1_CHW_DH3_Tonnage": 41.824928283691406, + "SATB1_CHW_DH4_Tonnage": 30.483604431152344, + "SATB1_CHW_DH5_Tonnage": 19.29648208618164, + "t_stamp": 1776696368187 + }, + { + "SATB1_CHW_DH1_Tonnage": 522.4411010742188, + "SATB1_CHW_DH2_Tonnage": 422.9808349609375, + "SATB1_CHW_DH3_Tonnage": 41.88324737548828, + "SATB1_CHW_DH4_Tonnage": 29.096670150756836, + "SATB1_CHW_DH5_Tonnage": 19.850421905517578, + "t_stamp": 1776696398187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.6505126953125, + "SATB1_CHW_DH2_Tonnage": 434.5094909667969, + "SATB1_CHW_DH3_Tonnage": 41.37095260620117, + "SATB1_CHW_DH4_Tonnage": 28.21786117553711, + "SATB1_CHW_DH5_Tonnage": 18.996597290039062, + "t_stamp": 1776696428187 + }, + { + "SATB1_CHW_DH1_Tonnage": 513.765380859375, + "SATB1_CHW_DH2_Tonnage": 401.310302734375, + "SATB1_CHW_DH3_Tonnage": 41.295982360839844, + "SATB1_CHW_DH4_Tonnage": 27.755537033081055, + "SATB1_CHW_DH5_Tonnage": 19.392261505126953, + "t_stamp": 1776696458187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.337158203125, + "SATB1_CHW_DH2_Tonnage": 466.15081787109375, + "SATB1_CHW_DH3_Tonnage": 42.008201599121094, + "SATB1_CHW_DH4_Tonnage": 29.096670150756836, + "SATB1_CHW_DH5_Tonnage": 18.371845245361328, + "t_stamp": 1776696488187 + }, + { + "SATB1_CHW_DH1_Tonnage": 513.6862182617188, + "SATB1_CHW_DH2_Tonnage": 471.0532531738281, + "SATB1_CHW_DH3_Tonnage": 42.483009338378906, + "SATB1_CHW_DH4_Tonnage": 29.821378707885742, + "SATB1_CHW_DH5_Tonnage": 19.23400115966797, + "t_stamp": 1776696518187 + }, + { + "SATB1_CHW_DH1_Tonnage": 513.33642578125, + "SATB1_CHW_DH2_Tonnage": 484.6517639160156, + "SATB1_CHW_DH3_Tonnage": 42.19562530517578, + "SATB1_CHW_DH4_Tonnage": 31.99967384338379, + "SATB1_CHW_DH5_Tonnage": 19.667160034179688, + "t_stamp": 1776696548187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.9520263671875, + "SATB1_CHW_DH2_Tonnage": 467.075439453125, + "SATB1_CHW_DH3_Tonnage": 41.32097244262695, + "SATB1_CHW_DH4_Tonnage": 31.366600036621094, + "SATB1_CHW_DH5_Tonnage": 19.818290052795412, + "t_stamp": 1776696578187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.8837890625, + "SATB1_CHW_DH2_Tonnage": 413.7886657714844, + "SATB1_CHW_DH3_Tonnage": 40.546287536621094, + "SATB1_CHW_DH4_Tonnage": 31.870553970336914, + "SATB1_CHW_DH5_Tonnage": 19.754627227783203, + "t_stamp": 1776696608187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.0340576171875, + "SATB1_CHW_DH2_Tonnage": 413.79681396484375, + "SATB1_CHW_DH3_Tonnage": 40.246402740478516, + "SATB1_CHW_DH4_Tonnage": 30.562747955322266, + "SATB1_CHW_DH5_Tonnage": 20.283584594726562, + "t_stamp": 1776696638187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.8170166015625, + "SATB1_CHW_DH2_Tonnage": 404.9671630859375, + "SATB1_CHW_DH3_Tonnage": 40.34636306762695, + "SATB1_CHW_DH4_Tonnage": 29.821395874023438, + "SATB1_CHW_DH5_Tonnage": 19.258991241455078, + "t_stamp": 1776696668187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.7941284179688, + "SATB1_CHW_DH2_Tonnage": 408.0699462890625, + "SATB1_CHW_DH3_Tonnage": 40.671234130859375, + "SATB1_CHW_DH4_Tonnage": 29.767234802246094, + "SATB1_CHW_DH5_Tonnage": 20.296079635620117, + "t_stamp": 1776696698187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.88824462890625, + "SATB1_CHW_DH2_Tonnage": 419.56134033203125, + "SATB1_CHW_DH3_Tonnage": 40.85865783691406, + "SATB1_CHW_DH4_Tonnage": 29.354915618896484, + "SATB1_CHW_DH5_Tonnage": 19.496395111083984, + "t_stamp": 1776696728187 + }, + { + "SATB1_CHW_DH1_Tonnage": 498.21746826171875, + "SATB1_CHW_DH2_Tonnage": 415.75872802734375, + "SATB1_CHW_DH3_Tonnage": 40.95165842628479, + "SATB1_CHW_DH4_Tonnage": 29.60064125061035, + "SATB1_CHW_DH5_Tonnage": 20.358552932739258, + "t_stamp": 1776696758187 + }, + { + "SATB1_CHW_DH1_Tonnage": 525.9647216796875, + "SATB1_CHW_DH2_Tonnage": 473.81463623046875, + "SATB1_CHW_DH3_Tonnage": 39.121856689453125, + "SATB1_CHW_DH4_Tonnage": 30.450294494628906, + "SATB1_CHW_DH5_Tonnage": 20.516822814941406, + "t_stamp": 1776696788187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.4645080566406, + "SATB1_CHW_DH2_Tonnage": 462.6649169921875, + "SATB1_CHW_DH3_Tonnage": 41.45841979980469, + "SATB1_CHW_DH4_Tonnage": 29.942171096801758, + "SATB1_CHW_DH5_Tonnage": 21.73300552368164, + "t_stamp": 1776696818187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.9302062988281, + "SATB1_CHW_DH2_Tonnage": 462.8148193359375, + "SATB1_CHW_DH3_Tonnage": 41.158546447753906, + "SATB1_CHW_DH4_Tonnage": 30.50860595703125, + "SATB1_CHW_DH5_Tonnage": 20.433521270751953, + "t_stamp": 1776696848187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.3308410644531, + "SATB1_CHW_DH2_Tonnage": 498.475341796875, + "SATB1_CHW_DH3_Tonnage": 41.345970153808594, + "SATB1_CHW_DH4_Tonnage": 30.50860595703125, + "SATB1_CHW_DH5_Tonnage": 20.091991424560547, + "t_stamp": 1776696878187 + }, + { + "SATB1_CHW_DH1_Tonnage": 499.87933349609375, + "SATB1_CHW_DH2_Tonnage": 450.6280517578125, + "SATB1_CHW_DH3_Tonnage": 40.833675384521484, + "SATB1_CHW_DH4_Tonnage": 31.69563865661621, + "SATB1_CHW_DH5_Tonnage": 17.692941665649414, + "t_stamp": 1776696908187 + }, + { + "SATB1_CHW_DH1_Tonnage": 502.828125, + "SATB1_CHW_DH2_Tonnage": 434.03887939453125, + "SATB1_CHW_DH3_Tonnage": 42.10816192626953, + "SATB1_CHW_DH4_Tonnage": 31.887218475341797, + "SATB1_CHW_DH5_Tonnage": 19.937889099121094, + "t_stamp": 1776696938187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.06890869140625, + "SATB1_CHW_DH2_Tonnage": 406.25396728515625, + "SATB1_CHW_DH3_Tonnage": 40.621253967285156, + "SATB1_CHW_DH4_Tonnage": 30.962589263916016, + "SATB1_CHW_DH5_Tonnage": 19.554683685302734, + "t_stamp": 1776696968187 + }, + { + "SATB1_CHW_DH1_Tonnage": 500.9871826171875, + "SATB1_CHW_DH2_Tonnage": 398.77801513671875, + "SATB1_CHW_DH3_Tonnage": 40.28388977050781, + "SATB1_CHW_DH4_Tonnage": 30.479450225830078, + "SATB1_CHW_DH5_Tonnage": 20.4876708984375, + "t_stamp": 1776696998187 + }, + { + "SATB1_CHW_DH1_Tonnage": 501.3494873046875, + "SATB1_CHW_DH2_Tonnage": 396.80780029296875, + "SATB1_CHW_DH3_Tonnage": 41.00860595703125, + "SATB1_CHW_DH4_Tonnage": 29.9338436126709, + "SATB1_CHW_DH5_Tonnage": 19.679656982421875, + "t_stamp": 1776697028187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.36456298828125, + "SATB1_CHW_DH2_Tonnage": 402.7680358886719, + "SATB1_CHW_DH3_Tonnage": 41.14604949951172, + "SATB1_CHW_DH4_Tonnage": 30.391983032226562, + "SATB1_CHW_DH5_Tonnage": 19.962841033935547, + "t_stamp": 1776697058187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.3193359375, + "SATB1_CHW_DH2_Tonnage": 434.62615966796875, + "SATB1_CHW_DH3_Tonnage": 40.69622039794922, + "SATB1_CHW_DH4_Tonnage": 28.85927391052246, + "SATB1_CHW_DH5_Tonnage": 23.765518188476562, + "t_stamp": 1776697088187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.4549865722656, + "SATB1_CHW_DH2_Tonnage": 484.4145202636719, + "SATB1_CHW_DH3_Tonnage": 40.42133331298828, + "SATB1_CHW_DH4_Tonnage": 29.509004592895508, + "SATB1_CHW_DH5_Tonnage": 24.336135864257812, + "t_stamp": 1776697118187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.821533203125, + "SATB1_CHW_DH2_Tonnage": 512.6031494140625, + "SATB1_CHW_DH3_Tonnage": 40.05897903442383, + "SATB1_CHW_DH4_Tonnage": 29.7255859375, + "SATB1_CHW_DH5_Tonnage": 23.224071502685547, + "t_stamp": 1776697148187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.3221130371094, + "SATB1_CHW_DH2_Tonnage": 479.2664489746094, + "SATB1_CHW_DH3_Tonnage": 40.496307373046875, + "SATB1_CHW_DH4_Tonnage": 29.566723329544068, + "SATB1_CHW_DH5_Tonnage": 21.741300582885742, + "t_stamp": 1776697178187 + }, + { + "SATB1_CHW_DH1_Tonnage": 524.3736572265625, + "SATB1_CHW_DH2_Tonnage": 470.911376953125, + "SATB1_CHW_DH3_Tonnage": 40.65874481201172, + "SATB1_CHW_DH4_Tonnage": 29.875530242919922, + "SATB1_CHW_DH5_Tonnage": 21.19987678527832, + "t_stamp": 1776697208187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.876708984375, + "SATB1_CHW_DH2_Tonnage": 474.9681396484375, + "SATB1_CHW_DH3_Tonnage": 40.37135696411133, + "SATB1_CHW_DH4_Tonnage": 30.416980743408203, + "SATB1_CHW_DH5_Tonnage": 20.966636657714844, + "t_stamp": 1776697238187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.6937866210938, + "SATB1_CHW_DH2_Tonnage": 464.23077392578125, + "SATB1_CHW_DH3_Tonnage": 41.08357238769531, + "SATB1_CHW_DH4_Tonnage": 31.09170913696289, + "SATB1_CHW_DH5_Tonnage": 21.166555404663086, + "t_stamp": 1776697268187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.9789733886719, + "SATB1_CHW_DH2_Tonnage": 486.50518798828125, + "SATB1_CHW_DH3_Tonnage": 41.79578399658203, + "SATB1_CHW_DH4_Tonnage": 30.237884521484375, + "SATB1_CHW_DH5_Tonnage": 21.166555404663086, + "t_stamp": 1776697298187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.1475830078125, + "SATB1_CHW_DH2_Tonnage": 490.1705627441406, + "SATB1_CHW_DH3_Tonnage": 41.72081756591797, + "SATB1_CHW_DH4_Tonnage": 30.662708282470703, + "SATB1_CHW_DH5_Tonnage": 19.06739044189453, + "t_stamp": 1776697328187 + }, + { + "SATB1_CHW_DH1_Tonnage": 498.93377685546875, + "SATB1_CHW_DH2_Tonnage": 423.3721923828125, + "SATB1_CHW_DH3_Tonnage": 40.84616470336914, + "SATB1_CHW_DH4_Tonnage": 29.96715545654297, + "SATB1_CHW_DH5_Tonnage": 18.038604736328125, + "t_stamp": 1776697358187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.63189697265625, + "SATB1_CHW_DH2_Tonnage": 457.1419677734375, + "SATB1_CHW_DH3_Tonnage": 39.567535400390625, + "SATB1_CHW_DH4_Tonnage": 30.1087646484375, + "SATB1_CHW_DH5_Tonnage": 18.588422775268555, + "t_stamp": 1776697388187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.7469482421875, + "SATB1_CHW_DH2_Tonnage": 476.2425842285156, + "SATB1_CHW_DH3_Tonnage": 40.150634765625, + "SATB1_CHW_DH4_Tonnage": 29.554821014404297, + "SATB1_CHW_DH5_Tonnage": 20.86667251586914, + "t_stamp": 1776697418187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.1852416992188, + "SATB1_CHW_DH2_Tonnage": 473.9352111816406, + "SATB1_CHW_DH3_Tonnage": 40.96697235107422, + "SATB1_CHW_DH4_Tonnage": 30.795978546142578, + "SATB1_CHW_DH5_Tonnage": 21.674697875976562, + "t_stamp": 1776697448187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.8477783203125, + "SATB1_CHW_DH2_Tonnage": 491.90301513671875, + "SATB1_CHW_DH3_Tonnage": 41.083595275878906, + "SATB1_CHW_DH4_Tonnage": 30.30452537536621, + "SATB1_CHW_DH5_Tonnage": 20.812541961669922, + "t_stamp": 1776697478187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.9827880859375, + "SATB1_CHW_DH2_Tonnage": 498.9293518066406, + "SATB1_CHW_DH3_Tonnage": 39.88407897949219, + "SATB1_CHW_DH4_Tonnage": 31.670635223388672, + "SATB1_CHW_DH5_Tonnage": 21.216537475585938, + "t_stamp": 1776697508187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.1722106933594, + "SATB1_CHW_DH2_Tonnage": 478.550048828125, + "SATB1_CHW_DH3_Tonnage": 39.934059143066406, + "SATB1_CHW_DH4_Tonnage": 30.11292266845703, + "SATB1_CHW_DH5_Tonnage": 21.291507720947266, + "t_stamp": 1776697538187 + }, + { + "SATB1_CHW_DH1_Tonnage": 504.5108337402344, + "SATB1_CHW_DH2_Tonnage": 488.4627380371094, + "SATB1_CHW_DH3_Tonnage": 39.26765441894531, + "SATB1_CHW_DH4_Tonnage": 31.295785903930664, + "SATB1_CHW_DH5_Tonnage": 19.533870697021484, + "t_stamp": 1776697568187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.7682189941406, + "SATB1_CHW_DH2_Tonnage": 484.58929443359375, + "SATB1_CHW_DH3_Tonnage": 39.550872802734375, + "SATB1_CHW_DH4_Tonnage": 31.458213806152344, + "SATB1_CHW_DH5_Tonnage": 18.692546844482422, + "t_stamp": 1776697598187 + }, + { + "SATB1_CHW_DH1_Tonnage": 522.457763671875, + "SATB1_CHW_DH2_Tonnage": 492.336181640625, + "SATB1_CHW_DH3_Tonnage": 40.333892822265625, + "SATB1_CHW_DH4_Tonnage": 31.324934005737305, + "SATB1_CHW_DH5_Tonnage": 19.488065719604492, + "t_stamp": 1776697628187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.1123046875, + "SATB1_CHW_DH2_Tonnage": 496.5802917480469, + "SATB1_CHW_DH3_Tonnage": 39.96737289428711, + "SATB1_CHW_DH4_Tonnage": 31.131214606904983, + "SATB1_CHW_DH5_Tonnage": 20.67508316040039, + "t_stamp": 1776697658187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.1297607421875, + "SATB1_CHW_DH2_Tonnage": 462.10662841796875, + "SATB1_CHW_DH3_Tonnage": 40.08399200439453, + "SATB1_CHW_DH4_Tonnage": 31.045879364013672, + "SATB1_CHW_DH5_Tonnage": 19.43805694580078, + "t_stamp": 1776697688187 + }, + { + "SATB1_CHW_DH1_Tonnage": 517.293212890625, + "SATB1_CHW_DH2_Tonnage": 488.4002685546875, + "SATB1_CHW_DH3_Tonnage": 39.28431701660156, + "SATB1_CHW_DH4_Tonnage": 30.296186447143555, + "SATB1_CHW_DH5_Tonnage": 20.350223541259766, + "t_stamp": 1776697718187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.89276123046875, + "SATB1_CHW_DH2_Tonnage": 441.0275573730469, + "SATB1_CHW_DH3_Tonnage": 38.73453140258789, + "SATB1_CHW_DH4_Tonnage": 30.754337310791016, + "SATB1_CHW_DH5_Tonnage": 20.108654022216797, + "t_stamp": 1776697748187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.71044921875, + "SATB1_CHW_DH2_Tonnage": 460.315673828125, + "SATB1_CHW_DH3_Tonnage": 38.28471374511719, + "SATB1_CHW_DH4_Tonnage": 35.92726135253906, + "SATB1_CHW_DH5_Tonnage": 20.358543395996094, + "t_stamp": 1776697778187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.5958557128906, + "SATB1_CHW_DH2_Tonnage": 471.1280517578125, + "SATB1_CHW_DH3_Tonnage": 39.767452239990234, + "SATB1_CHW_DH4_Tonnage": 30.533594131469727, + "SATB1_CHW_DH5_Tonnage": 20.516822814941406, + "t_stamp": 1776697808187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.45263671875, + "SATB1_CHW_DH2_Tonnage": 481.8988037109375, + "SATB1_CHW_DH3_Tonnage": 39.85075378417969, + "SATB1_CHW_DH4_Tonnage": 28.996707916259766, + "SATB1_CHW_DH5_Tonnage": 22.132835388183594, + "t_stamp": 1776697838187 + }, + { + "SATB1_CHW_DH1_Tonnage": 501.7577209472656, + "SATB1_CHW_DH2_Tonnage": 439.37408447265625, + "SATB1_CHW_DH3_Tonnage": 39.66749572753906, + "SATB1_CHW_DH4_Tonnage": 29.600627899169922, + "SATB1_CHW_DH5_Tonnage": 21.27482795715332, + "t_stamp": 1776697868187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.5633544921875, + "SATB1_CHW_DH2_Tonnage": 495.409912109375, + "SATB1_CHW_DH3_Tonnage": 39.134376525878906, + "SATB1_CHW_DH4_Tonnage": 29.950485229492188, + "SATB1_CHW_DH5_Tonnage": 20.52098846435547, + "t_stamp": 1776697898187 + }, + { + "SATB1_CHW_DH1_Tonnage": 524.6318359375, + "SATB1_CHW_DH2_Tonnage": 454.9095764160156, + "SATB1_CHW_DH3_Tonnage": 40.350555419921875, + "SATB1_CHW_DH4_Tonnage": 30.55441665649414, + "SATB1_CHW_DH5_Tonnage": 20.775043487548828, + "t_stamp": 1776697928187 + }, + { + "SATB1_CHW_DH1_Tonnage": 521.84130859375, + "SATB1_CHW_DH2_Tonnage": 502.75701904296875, + "SATB1_CHW_DH3_Tonnage": 40.83369827270508, + "SATB1_CHW_DH4_Tonnage": 29.904685974121094, + "SATB1_CHW_DH5_Tonnage": 20.758384704589844, + "t_stamp": 1776697958187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.8441162109375, + "SATB1_CHW_DH2_Tonnage": 489.2333068847656, + "SATB1_CHW_DH3_Tonnage": 38.71787643432617, + "SATB1_CHW_DH4_Tonnage": 30.20455551147461, + "SATB1_CHW_DH5_Tonnage": 22.32442855834961, + "t_stamp": 1776697988187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.93023681640625, + "SATB1_CHW_DH2_Tonnage": 482.6734619140625, + "SATB1_CHW_DH3_Tonnage": 39.750797271728516, + "SATB1_CHW_DH4_Tonnage": 29.896350860595703, + "SATB1_CHW_DH5_Tonnage": 21.49142837524414, + "t_stamp": 1776698018187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.1756286621094, + "SATB1_CHW_DH2_Tonnage": 457.9042053222656, + "SATB1_CHW_DH3_Tonnage": 39.83409881591797, + "SATB1_CHW_DH4_Tonnage": 29.384056091308594, + "SATB1_CHW_DH5_Tonnage": 22.574329376220703, + "t_stamp": 1776698048187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.6736145019531, + "SATB1_CHW_DH2_Tonnage": 469.1080322265625, + "SATB1_CHW_DH3_Tonnage": 39.28431701660156, + "SATB1_CHW_DH4_Tonnage": 29.896350860595703, + "SATB1_CHW_DH5_Tonnage": 21.441444396972656, + "t_stamp": 1776698078187 + }, + { + "SATB1_CHW_DH1_Tonnage": 502.4116516113281, + "SATB1_CHW_DH2_Tonnage": 502.10308837890625, + "SATB1_CHW_DH3_Tonnage": 39.90073776245117, + "SATB1_CHW_DH4_Tonnage": 29.59646987915039, + "SATB1_CHW_DH5_Tonnage": 20.779218673706055, + "t_stamp": 1776698108187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.6351318359375, + "SATB1_CHW_DH2_Tonnage": 497.80487060546875, + "SATB1_CHW_DH3_Tonnage": 40.08399963378906, + "SATB1_CHW_DH4_Tonnage": 30.008804321289062, + "SATB1_CHW_DH5_Tonnage": 20.258583068847656, + "t_stamp": 1776698138187 + }, + { + "SATB1_CHW_DH1_Tonnage": 500.69989013671875, + "SATB1_CHW_DH2_Tonnage": 431.95623779296875, + "SATB1_CHW_DH3_Tonnage": 40.700416564941406, + "SATB1_CHW_DH4_Tonnage": 29.59646987915039, + "SATB1_CHW_DH5_Tonnage": 19.64633560180664, + "t_stamp": 1776698168187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.4121398925781, + "SATB1_CHW_DH2_Tonnage": 426.18359375, + "SATB1_CHW_DH3_Tonnage": 40.150634765625, + "SATB1_CHW_DH4_Tonnage": 29.11750030517578, + "SATB1_CHW_DH5_Tonnage": 20.516822814941406, + "t_stamp": 1776698198187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.170654296875, + "SATB1_CHW_DH2_Tonnage": 495.864013671875, + "SATB1_CHW_DH3_Tonnage": 40.000694274902344, + "SATB1_CHW_DH4_Tonnage": 29.783903121948242, + "SATB1_CHW_DH5_Tonnage": 20.879179000854492, + "t_stamp": 1776698228187 + }, + { + "SATB1_CHW_DH1_Tonnage": 526.772705078125, + "SATB1_CHW_DH2_Tonnage": 481.8988037109375, + "SATB1_CHW_DH3_Tonnage": 39.75079345703125, + "SATB1_CHW_DH4_Tonnage": 29.850534439086914, + "SATB1_CHW_DH5_Tonnage": 21.21654510498047, + "t_stamp": 1776698258187 + }, + { + "SATB1_CHW_DH1_Tonnage": 520.1295166015625, + "SATB1_CHW_DH2_Tonnage": 497.0301818847656, + "SATB1_CHW_DH3_Tonnage": 40.16729736328125, + "SATB1_CHW_DH4_Tonnage": 29.696439743041992, + "SATB1_CHW_DH5_Tonnage": 19.21733856201172, + "t_stamp": 1776698288187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.32135009765625, + "SATB1_CHW_DH2_Tonnage": 431.55224609375, + "SATB1_CHW_DH3_Tonnage": 39.634178161621094, + "SATB1_CHW_DH4_Tonnage": 29.96715545654297, + "SATB1_CHW_DH5_Tonnage": 20.34188461303711, + "t_stamp": 1776698318187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.13525390625, + "SATB1_CHW_DH2_Tonnage": 457.8833923339844, + "SATB1_CHW_DH3_Tonnage": 39.234336853027344, + "SATB1_CHW_DH4_Tonnage": 29.221630096435547, + "SATB1_CHW_DH5_Tonnage": 19.921226501464844, + "t_stamp": 1776698348187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.30426025390625, + "SATB1_CHW_DH2_Tonnage": 458.0416259765625, + "SATB1_CHW_DH3_Tonnage": 39.61750411987305, + "SATB1_CHW_DH4_Tonnage": 29.376571585941313, + "SATB1_CHW_DH5_Tonnage": 19.746295928955078, + "t_stamp": 1776698378187 + }, + { + "SATB1_CHW_DH1_Tonnage": 517.3431396484375, + "SATB1_CHW_DH2_Tonnage": 455.7008972167969, + "SATB1_CHW_DH3_Tonnage": 37.96817398071289, + "SATB1_CHW_DH4_Tonnage": 30.791824340820312, + "SATB1_CHW_DH5_Tonnage": 18.942440032958984, + "t_stamp": 1776698408187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.5518188476562, + "SATB1_CHW_DH2_Tonnage": 485.07244873046875, + "SATB1_CHW_DH3_Tonnage": 41.066932678222656, + "SATB1_CHW_DH4_Tonnage": 30.279529571533203, + "SATB1_CHW_DH5_Tonnage": 18.76332664489746, + "t_stamp": 1776698438187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.542236328125, + "SATB1_CHW_DH2_Tonnage": 504.79376220703125, + "SATB1_CHW_DH3_Tonnage": 37.051876068115234, + "SATB1_CHW_DH4_Tonnage": 29.15499496459961, + "SATB1_CHW_DH5_Tonnage": 19.45890235900879, + "t_stamp": 1776698468187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.2939453125, + "SATB1_CHW_DH2_Tonnage": 500.92852783203125, + "SATB1_CHW_DH3_Tonnage": 38.542930603027344, + "SATB1_CHW_DH4_Tonnage": 29.15499496459961, + "SATB1_CHW_DH5_Tonnage": 19.767122268676758, + "t_stamp": 1776698498187 + }, + { + "SATB1_CHW_DH1_Tonnage": 520.650146484375, + "SATB1_CHW_DH2_Tonnage": 478.824951171875, + "SATB1_CHW_DH3_Tonnage": 39.750797271728516, + "SATB1_CHW_DH4_Tonnage": 29.52983856201172, + "SATB1_CHW_DH5_Tonnage": 20.11281967163086, + "t_stamp": 1776698528187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.1119384765625, + "SATB1_CHW_DH2_Tonnage": 472.7398681640625, + "SATB1_CHW_DH3_Tonnage": 39.7008171081543, + "SATB1_CHW_DH4_Tonnage": 29.434043884277344, + "SATB1_CHW_DH5_Tonnage": 21.749656677246094, + "t_stamp": 1776698558187 + }, + { + "SATB1_CHW_DH1_Tonnage": 518.842529296875, + "SATB1_CHW_DH2_Tonnage": 476.67578125, + "SATB1_CHW_DH3_Tonnage": 39.43425750732422, + "SATB1_CHW_DH4_Tonnage": 28.863439559936523, + "SATB1_CHW_DH5_Tonnage": 20.595935821533203, + "t_stamp": 1776698588187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.2506713867188, + "SATB1_CHW_DH2_Tonnage": 484.5476379394531, + "SATB1_CHW_DH3_Tonnage": 39.567535400390625, + "SATB1_CHW_DH4_Tonnage": 28.1220760345459, + "SATB1_CHW_DH5_Tonnage": 22.18282699584961, + "t_stamp": 1776698618187 + }, + { + "SATB1_CHW_DH1_Tonnage": 517.7512817382812, + "SATB1_CHW_DH2_Tonnage": 482.6942138671875, + "SATB1_CHW_DH3_Tonnage": 39.60500717163086, + "SATB1_CHW_DH4_Tonnage": 27.48065948486328, + "SATB1_CHW_DH5_Tonnage": 20.296079635620117, + "t_stamp": 1776698648187 + }, + { + "SATB1_CHW_DH1_Tonnage": 513.0364990234375, + "SATB1_CHW_DH2_Tonnage": 483.5897216796875, + "SATB1_CHW_DH3_Tonnage": 39.87989807128906, + "SATB1_CHW_DH4_Tonnage": 26.651824951171875, + "SATB1_CHW_DH5_Tonnage": 21.30816650390625, + "t_stamp": 1776698678187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.7295837402344, + "SATB1_CHW_DH2_Tonnage": 478.90826416015625, + "SATB1_CHW_DH3_Tonnage": 39.90072250366211, + "SATB1_CHW_DH4_Tonnage": 26.576862335205078, + "SATB1_CHW_DH5_Tonnage": 20.48349380493164, + "t_stamp": 1776698708187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.9478759765625, + "SATB1_CHW_DH2_Tonnage": 480.2618408203125, + "SATB1_CHW_DH3_Tonnage": 40.508811950683594, + "SATB1_CHW_DH4_Tonnage": 29.438209533691406, + "SATB1_CHW_DH5_Tonnage": 20.283573150634766, + "t_stamp": 1776698738187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.5684814453125, + "SATB1_CHW_DH2_Tonnage": 449.1701354980469, + "SATB1_CHW_DH3_Tonnage": 40.75871276855469, + "SATB1_CHW_DH4_Tonnage": 28.90093994140625, + "SATB1_CHW_DH5_Tonnage": 20.46684455871582, + "t_stamp": 1776698768187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.714599609375, + "SATB1_CHW_DH2_Tonnage": 434.6176452636719, + "SATB1_CHW_DH3_Tonnage": 42.795372009277344, + "SATB1_CHW_DH4_Tonnage": 29.60065269470215, + "SATB1_CHW_DH5_Tonnage": 20.537649154663086, + "t_stamp": 1776698798187 + }, + { + "SATB1_CHW_DH1_Tonnage": 504.2026672363281, + "SATB1_CHW_DH2_Tonnage": 478.90826416015625, + "SATB1_CHW_DH3_Tonnage": 40.68788528442383, + "SATB1_CHW_DH4_Tonnage": 27.834693908691406, + "SATB1_CHW_DH5_Tonnage": 22.116178512573242, + "t_stamp": 1776698828187 + }, + { + "SATB1_CHW_DH1_Tonnage": 499.121337890625, + "SATB1_CHW_DH2_Tonnage": 464.697265625, + "SATB1_CHW_DH3_Tonnage": 42.795372009277344, + "SATB1_CHW_DH4_Tonnage": 28.651023864746094, + "SATB1_CHW_DH5_Tonnage": 22.640968322753906, + "t_stamp": 1776698858187 + }, + { + "SATB1_CHW_DH1_Tonnage": 498.350830078125, + "SATB1_CHW_DH2_Tonnage": 460.1658020019531, + "SATB1_CHW_DH3_Tonnage": 43.58256149291992, + "SATB1_CHW_DH4_Tonnage": 26.36860466003418, + "SATB1_CHW_DH5_Tonnage": 23.31570053100586, + "t_stamp": 1776698888187 + }, + { + "SATB1_CHW_DH1_Tonnage": 492.9862976074219, + "SATB1_CHW_DH2_Tonnage": 492.3653564453125, + "SATB1_CHW_DH3_Tonnage": 41.016944885253906, + "SATB1_CHW_DH4_Tonnage": 26.697647094726562, + "SATB1_CHW_DH5_Tonnage": 21.59139633178711, + "t_stamp": 1776698918187 + }, + { + "SATB1_CHW_DH1_Tonnage": 500.7706298828125, + "SATB1_CHW_DH2_Tonnage": 475.4554748535156, + "SATB1_CHW_DH3_Tonnage": 41.354286193847656, + "SATB1_CHW_DH4_Tonnage": 26.789274215698242, + "SATB1_CHW_DH5_Tonnage": 20.191944122314453, + "t_stamp": 1776698948187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.15771484375, + "SATB1_CHW_DH2_Tonnage": 489.0292053222656, + "SATB1_CHW_DH3_Tonnage": 40.99609375, + "SATB1_CHW_DH4_Tonnage": 29.550674438476562, + "SATB1_CHW_DH5_Tonnage": 19.488065719604492, + "t_stamp": 1776698978187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.97357177734375, + "SATB1_CHW_DH2_Tonnage": 490.865966796875, + "SATB1_CHW_DH3_Tonnage": 39.779937744140625, + "SATB1_CHW_DH4_Tonnage": 31.10004425048828, + "SATB1_CHW_DH5_Tonnage": 20.60845184326172, + "t_stamp": 1776699008187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.3363037109375, + "SATB1_CHW_DH2_Tonnage": 484.16448974609375, + "SATB1_CHW_DH3_Tonnage": 42.65376281738281, + "SATB1_CHW_DH4_Tonnage": 29.987995147705078, + "SATB1_CHW_DH5_Tonnage": 20.36688232421875, + "t_stamp": 1776699038187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.54345703125, + "SATB1_CHW_DH2_Tonnage": 513.9110717773438, + "SATB1_CHW_DH3_Tonnage": 42.47050094604492, + "SATB1_CHW_DH4_Tonnage": 29.030038833618164, + "SATB1_CHW_DH5_Tonnage": 21.49142837524414, + "t_stamp": 1776699068187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.03033447265625, + "SATB1_CHW_DH2_Tonnage": 480.68255615234375, + "SATB1_CHW_DH3_Tonnage": 39.94237518310547, + "SATB1_CHW_DH4_Tonnage": 28.159563064575195, + "SATB1_CHW_DH5_Tonnage": 20.21694564819336, + "t_stamp": 1776699098187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.3543395996094, + "SATB1_CHW_DH2_Tonnage": 468.46661376953125, + "SATB1_CHW_DH3_Tonnage": 41.091888427734375, + "SATB1_CHW_DH4_Tonnage": 27.997129440307617, + "SATB1_CHW_DH5_Tonnage": 21.703813552856445, + "t_stamp": 1776699128187 + }, + { + "SATB1_CHW_DH1_Tonnage": 500.3541564941406, + "SATB1_CHW_DH2_Tonnage": 447.90399169921875, + "SATB1_CHW_DH3_Tonnage": 38.959434509277344, + "SATB1_CHW_DH4_Tonnage": 27.95548439025879, + "SATB1_CHW_DH5_Tonnage": 22.30776596069336, + "t_stamp": 1776699158187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.2422790527344, + "SATB1_CHW_DH2_Tonnage": 482.527587890625, + "SATB1_CHW_DH3_Tonnage": 39.971527099609375, + "SATB1_CHW_DH4_Tonnage": 29.454875946044922, + "SATB1_CHW_DH5_Tonnage": 19.558868408203125, + "t_stamp": 1776699188187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.7562255859375, + "SATB1_CHW_DH2_Tonnage": 448.0872802734375, + "SATB1_CHW_DH3_Tonnage": 40.44217300415039, + "SATB1_CHW_DH4_Tonnage": 30.146259307861328, + "SATB1_CHW_DH5_Tonnage": 19.56719970703125, + "t_stamp": 1776699218187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.9658203125, + "SATB1_CHW_DH2_Tonnage": 491.3532409667969, + "SATB1_CHW_DH3_Tonnage": 41.03360366821289, + "SATB1_CHW_DH4_Tonnage": 29.221635818481445, + "SATB1_CHW_DH5_Tonnage": 22.54100799560547, + "t_stamp": 1776699248187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.1565551757812, + "SATB1_CHW_DH2_Tonnage": 458.724609375, + "SATB1_CHW_DH3_Tonnage": 41.35430908203125, + "SATB1_CHW_DH4_Tonnage": 27.297414779663086, + "SATB1_CHW_DH5_Tonnage": 22.565998077392578, + "t_stamp": 1776699278187 + }, + { + "SATB1_CHW_DH1_Tonnage": 521.0125732421875, + "SATB1_CHW_DH2_Tonnage": 430.2027587890625, + "SATB1_CHW_DH3_Tonnage": 40.89199447631836, + "SATB1_CHW_DH4_Tonnage": 27.40986442565918, + "SATB1_CHW_DH5_Tonnage": 21.424787521362305, + "t_stamp": 1776699308187 + }, + { + "SATB1_CHW_DH1_Tonnage": 523.4823608398438, + "SATB1_CHW_DH2_Tonnage": 415.1337890625, + "SATB1_CHW_DH3_Tonnage": 41.795772552490234, + "SATB1_CHW_DH4_Tonnage": 27.888835906982422, + "SATB1_CHW_DH5_Tonnage": 20.408523559570312, + "t_stamp": 1776699338187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.3558349609375, + "SATB1_CHW_DH2_Tonnage": 452.9852294921875, + "SATB1_CHW_DH3_Tonnage": 40.94614028930664, + "SATB1_CHW_DH4_Tonnage": 28.272008895874023, + "SATB1_CHW_DH5_Tonnage": 21.004131317138672, + "t_stamp": 1776699368187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.3558349609375, + "SATB1_CHW_DH2_Tonnage": 452.9852294921875, + "SATB1_CHW_DH3_Tonnage": 40.94614028930664, + "SATB1_CHW_DH4_Tonnage": 28.272008895874023, + "SATB1_CHW_DH5_Tonnage": 21.004131317138672, + "t_stamp": 1776699398187 + }, + { + "SATB1_CHW_DH1_Tonnage": 502.274169921875, + "SATB1_CHW_DH2_Tonnage": 434.3136291503906, + "SATB1_CHW_DH3_Tonnage": 42.15813064575195, + "SATB1_CHW_DH4_Tonnage": 28.222036361694336, + "SATB1_CHW_DH5_Tonnage": 21.07489776611328, + "t_stamp": 1776699428187 + }, + { + "SATB1_CHW_DH1_Tonnage": 501.4786682128906, + "SATB1_CHW_DH2_Tonnage": 491.986328125, + "SATB1_CHW_DH3_Tonnage": 40.142295837402344, + "SATB1_CHW_DH4_Tonnage": 28.84172079372406, + "SATB1_CHW_DH5_Tonnage": 20.966644287109375, + "t_stamp": 1776699458187 + }, + { + "SATB1_CHW_DH1_Tonnage": 518.7508544921875, + "SATB1_CHW_DH2_Tonnage": 493.96466064453125, + "SATB1_CHW_DH3_Tonnage": 40.23391342163086, + "SATB1_CHW_DH4_Tonnage": 29.055028915405273, + "SATB1_CHW_DH5_Tonnage": 20.700084686279297, + "t_stamp": 1776699488187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.8087768554688, + "SATB1_CHW_DH2_Tonnage": 464.3140563964844, + "SATB1_CHW_DH3_Tonnage": 41.18353271484375, + "SATB1_CHW_DH4_Tonnage": 28.85511589050293, + "SATB1_CHW_DH5_Tonnage": 21.05827522277832, + "t_stamp": 1776699518187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.227783203125, + "SATB1_CHW_DH2_Tonnage": 420.53997802734375, + "SATB1_CHW_DH3_Tonnage": 41.908241271972656, + "SATB1_CHW_DH4_Tonnage": 28.655195236206055, + "SATB1_CHW_DH5_Tonnage": 21.249855041503906, + "t_stamp": 1776699548187 + }, + { + "SATB1_CHW_DH1_Tonnage": 521.974609375, + "SATB1_CHW_DH2_Tonnage": 413.3387451171875, + "SATB1_CHW_DH3_Tonnage": 42.270599365234375, + "SATB1_CHW_DH4_Tonnage": 27.75555419921875, + "SATB1_CHW_DH5_Tonnage": 22.007896423339844, + "t_stamp": 1776699578187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.92901611328125, + "SATB1_CHW_DH2_Tonnage": 416.308349609375, + "SATB1_CHW_DH3_Tonnage": 40.70872497558594, + "SATB1_CHW_DH4_Tonnage": 28.009614944458008, + "SATB1_CHW_DH5_Tonnage": 21.22071075439453, + "t_stamp": 1776699608187 + }, + { + "SATB1_CHW_DH1_Tonnage": 518.9425048828125, + "SATB1_CHW_DH2_Tonnage": 418.8489990234375, + "SATB1_CHW_DH3_Tonnage": 39.959022521972656, + "SATB1_CHW_DH4_Tonnage": 27.843013763427734, + "SATB1_CHW_DH5_Tonnage": 21.666357040405273, + "t_stamp": 1776699638187 + }, + { + "SATB1_CHW_DH1_Tonnage": 518.1011962890625, + "SATB1_CHW_DH2_Tonnage": 467.0838623046875, + "SATB1_CHW_DH3_Tonnage": 43.024452209472656, + "SATB1_CHW_DH4_Tonnage": 28.01795196533203, + "SATB1_CHW_DH5_Tonnage": 20.904170989990234, + "t_stamp": 1776699668187 + }, + { + "SATB1_CHW_DH1_Tonnage": 519.3006591796875, + "SATB1_CHW_DH2_Tonnage": 462.8521423339844, + "SATB1_CHW_DH3_Tonnage": 42.27060317993164, + "SATB1_CHW_DH4_Tonnage": 27.92632293701172, + "SATB1_CHW_DH5_Tonnage": 20.725074768066406, + "t_stamp": 1776699698187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.6282958984375, + "SATB1_CHW_DH2_Tonnage": 480.3034973144531, + "SATB1_CHW_DH3_Tonnage": 40.583797454833984, + "SATB1_CHW_DH4_Tonnage": 28.413619995117188, + "SATB1_CHW_DH5_Tonnage": 21.83713150024414, + "t_stamp": 1776699728187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.7786865234375, + "SATB1_CHW_DH2_Tonnage": 490.511962890625, + "SATB1_CHW_DH3_Tonnage": 39.784114837646484, + "SATB1_CHW_DH4_Tonnage": 27.401538848876953, + "SATB1_CHW_DH5_Tonnage": 23.769728400945663, + "t_stamp": 1776699758187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.468505859375, + "SATB1_CHW_DH2_Tonnage": 491.986328125, + "SATB1_CHW_DH3_Tonnage": 39.296783447265625, + "SATB1_CHW_DH4_Tonnage": 29.10084342956543, + "SATB1_CHW_DH5_Tonnage": 22.79092025756836, + "t_stamp": 1776699788187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.2522583007812, + "SATB1_CHW_DH2_Tonnage": 490.874267578125, + "SATB1_CHW_DH3_Tonnage": 37.784912109375, + "SATB1_CHW_DH4_Tonnage": 29.171648025512695, + "SATB1_CHW_DH5_Tonnage": 22.02039337158203, + "t_stamp": 1776699818187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.54345703125, + "SATB1_CHW_DH2_Tonnage": 467.7544250488281, + "SATB1_CHW_DH3_Tonnage": 41.116878509521484, + "SATB1_CHW_DH4_Tonnage": 29.509023666381836, + "SATB1_CHW_DH5_Tonnage": 19.800434112548828, + "t_stamp": 1776699848187 + }, + { + "SATB1_CHW_DH1_Tonnage": 494.04827880859375, + "SATB1_CHW_DH2_Tonnage": 473.2189025878906, + "SATB1_CHW_DH3_Tonnage": 42.787044525146484, + "SATB1_CHW_DH4_Tonnage": 29.221630096435547, + "SATB1_CHW_DH5_Tonnage": 20.36271858215332, + "t_stamp": 1776699878187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.9888916015625, + "SATB1_CHW_DH2_Tonnage": 429.819580078125, + "SATB1_CHW_DH3_Tonnage": 41.18354415893555, + "SATB1_CHW_DH4_Tonnage": 28.788475036621094, + "SATB1_CHW_DH5_Tonnage": 21.29984474182129, + "t_stamp": 1776699908187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.14385986328125, + "SATB1_CHW_DH2_Tonnage": 468.85400390625, + "SATB1_CHW_DH3_Tonnage": 41.74163055419922, + "SATB1_CHW_DH4_Tonnage": 28.321998596191406, + "SATB1_CHW_DH5_Tonnage": 21.24570083618164, + "t_stamp": 1776699938187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.0776977539062, + "SATB1_CHW_DH2_Tonnage": 468.52911376953125, + "SATB1_CHW_DH3_Tonnage": 39.32177734375, + "SATB1_CHW_DH4_Tonnage": 30.621068954467773, + "SATB1_CHW_DH5_Tonnage": 19.842082977294922, + "t_stamp": 1776699968187 + }, + { + "SATB1_CHW_DH1_Tonnage": 499.81268310546875, + "SATB1_CHW_DH2_Tonnage": 475.3013610839844, + "SATB1_CHW_DH3_Tonnage": 40.34636688232422, + "SATB1_CHW_DH4_Tonnage": 29.654794692993164, + "SATB1_CHW_DH5_Tonnage": 20.550134658813477, + "t_stamp": 1776699998187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.46759033203125, + "SATB1_CHW_DH2_Tonnage": 487.5506591796875, + "SATB1_CHW_DH3_Tonnage": 38.86781692504883, + "SATB1_CHW_DH4_Tonnage": 28.809303283691406, + "SATB1_CHW_DH5_Tonnage": 21.024944305419922, + "t_stamp": 1776700028187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.9525146484375, + "SATB1_CHW_DH2_Tonnage": 478.2001953125, + "SATB1_CHW_DH3_Tonnage": 39.26765823364258, + "SATB1_CHW_DH4_Tonnage": 28.721830368041992, + "SATB1_CHW_DH5_Tonnage": 21.59556007385254, + "t_stamp": 1776700058187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.61474609375, + "SATB1_CHW_DH2_Tonnage": 472.36090087890625, + "SATB1_CHW_DH3_Tonnage": 39.01775360107422, + "SATB1_CHW_DH4_Tonnage": 29.600643157958984, + "SATB1_CHW_DH5_Tonnage": 21.54973602294922, + "t_stamp": 1776700088187 + }, + { + "SATB1_CHW_DH1_Tonnage": 518.338623046875, + "SATB1_CHW_DH2_Tonnage": 479.9703369140625, + "SATB1_CHW_DH3_Tonnage": 41.37095260620117, + "SATB1_CHW_DH4_Tonnage": 27.85968780517578, + "SATB1_CHW_DH5_Tonnage": 22.182817459106445, + "t_stamp": 1776700118187 + }, + { + "SATB1_CHW_DH1_Tonnage": 522.2620849609375, + "SATB1_CHW_DH2_Tonnage": 481.1490173339844, + "SATB1_CHW_DH3_Tonnage": 41.84576416015625, + "SATB1_CHW_DH4_Tonnage": 28.413619995117188, + "SATB1_CHW_DH5_Tonnage": 21.158199310302734, + "t_stamp": 1776700148187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.1732177734375, + "SATB1_CHW_DH2_Tonnage": 485.0224914550781, + "SATB1_CHW_DH3_Tonnage": 42.762054443359375, + "SATB1_CHW_DH4_Tonnage": 28.180389404296875, + "SATB1_CHW_DH5_Tonnage": 22.007896423339844, + "t_stamp": 1776700178187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.70379638671875, + "SATB1_CHW_DH2_Tonnage": 465.7718505859375, + "SATB1_CHW_DH3_Tonnage": 42.03318786621094, + "SATB1_CHW_DH4_Tonnage": 28.371976852416992, + "SATB1_CHW_DH5_Tonnage": 21.09988784790039, + "t_stamp": 1776700208187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.91204833984375, + "SATB1_CHW_DH2_Tonnage": 444.8885498046875, + "SATB1_CHW_DH3_Tonnage": 42.19562530517578, + "SATB1_CHW_DH4_Tonnage": 29.234130859375, + "SATB1_CHW_DH5_Tonnage": 20.695919036865234, + "t_stamp": 1776700238187 + }, + { + "SATB1_CHW_DH1_Tonnage": 498.750732421875, + "SATB1_CHW_DH2_Tonnage": 465.16375732421875, + "SATB1_CHW_DH3_Tonnage": 41.14604187011719, + "SATB1_CHW_DH4_Tonnage": 27.63062286376953, + "SATB1_CHW_DH5_Tonnage": 22.63263702392578, + "t_stamp": 1776700268187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.286865234375, + "SATB1_CHW_DH2_Tonnage": 439.5823974609375, + "SATB1_CHW_DH3_Tonnage": 41.14604187011719, + "SATB1_CHW_DH4_Tonnage": 28.463607788085938, + "SATB1_CHW_DH5_Tonnage": 22.195323944091797, + "t_stamp": 1776700298187 + }, + { + "SATB1_CHW_DH1_Tonnage": 517.805419921875, + "SATB1_CHW_DH2_Tonnage": 448.3746643066406, + "SATB1_CHW_DH3_Tonnage": 41.44593048095703, + "SATB1_CHW_DH4_Tonnage": 27.368221282958984, + "SATB1_CHW_DH5_Tonnage": 21.233205795288086, + "t_stamp": 1776700328187 + }, + { + "SATB1_CHW_DH1_Tonnage": 528.0389404296875, + "SATB1_CHW_DH2_Tonnage": 451.86077880859375, + "SATB1_CHW_DH3_Tonnage": 39.571678161621094, + "SATB1_CHW_DH4_Tonnage": 27.78888702392578, + "SATB1_CHW_DH5_Tonnage": 20.52931785583496, + "t_stamp": 1776700358187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.2630920410156, + "SATB1_CHW_DH2_Tonnage": 477.2589111328125, + "SATB1_CHW_DH3_Tonnage": 40.983612060546875, + "SATB1_CHW_DH4_Tonnage": 27.834693908691406, + "SATB1_CHW_DH5_Tonnage": 18.963274002075195, + "t_stamp": 1776700388187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.0453491210938, + "SATB1_CHW_DH2_Tonnage": 458.3290100097656, + "SATB1_CHW_DH3_Tonnage": 41.97071838378906, + "SATB1_CHW_DH4_Tonnage": 27.139148712158203, + "SATB1_CHW_DH5_Tonnage": 17.942848205566406, + "t_stamp": 1776700418187 + }, + { + "SATB1_CHW_DH1_Tonnage": 517.8804931640625, + "SATB1_CHW_DH2_Tonnage": 433.21826171875, + "SATB1_CHW_DH3_Tonnage": 42.183128356933594, + "SATB1_CHW_DH4_Tonnage": 26.331125259399414, + "SATB1_CHW_DH5_Tonnage": 20.516822814941406, + "t_stamp": 1776700448187 + }, + { + "SATB1_CHW_DH1_Tonnage": 531.0752563476562, + "SATB1_CHW_DH2_Tonnage": 430.0694885253906, + "SATB1_CHW_DH3_Tonnage": 42.445526123046875, + "SATB1_CHW_DH4_Tonnage": 27.18495750427246, + "SATB1_CHW_DH5_Tonnage": 22.22446632385254, + "t_stamp": 1776700478187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.09576416015625, + "SATB1_CHW_DH2_Tonnage": 464.5931396484375, + "SATB1_CHW_DH3_Tonnage": 41.470916748046875, + "SATB1_CHW_DH4_Tonnage": 27.680587768554688, + "SATB1_CHW_DH5_Tonnage": 22.51601791381836, + "t_stamp": 1776700508187 + }, + { + "SATB1_CHW_DH1_Tonnage": 493.65277099609375, + "SATB1_CHW_DH2_Tonnage": 430.5401306152344, + "SATB1_CHW_DH3_Tonnage": 41.91239547729492, + "SATB1_CHW_DH4_Tonnage": 27.92217254638672, + "SATB1_CHW_DH5_Tonnage": 21.724666595458984, + "t_stamp": 1776700538187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.85491943359375, + "SATB1_CHW_DH2_Tonnage": 434.480224609375, + "SATB1_CHW_DH3_Tonnage": 41.345970153808594, + "SATB1_CHW_DH4_Tonnage": 29.184152603149414, + "SATB1_CHW_DH5_Tonnage": 21.166555404663086, + "t_stamp": 1776700568187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.31884765625, + "SATB1_CHW_DH2_Tonnage": 485.55975341796875, + "SATB1_CHW_DH3_Tonnage": 41.695831298828125, + "SATB1_CHW_DH4_Tonnage": 29.042543411254883, + "SATB1_CHW_DH5_Tonnage": 21.349815368652344, + "t_stamp": 1776700598187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.850341796875, + "SATB1_CHW_DH2_Tonnage": 493.2733459472656, + "SATB1_CHW_DH3_Tonnage": 43.18272018432617, + "SATB1_CHW_DH4_Tonnage": 27.68476104736328, + "SATB1_CHW_DH5_Tonnage": 21.991199493408203, + "t_stamp": 1776700628187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.66845703125, + "SATB1_CHW_DH2_Tonnage": 470.05767822265625, + "SATB1_CHW_DH3_Tonnage": 43.07859420776367, + "SATB1_CHW_DH4_Tonnage": 28.25119972229004, + "SATB1_CHW_DH5_Tonnage": 21.799636840820312, + "t_stamp": 1776700658187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.9337158203125, + "SATB1_CHW_DH2_Tonnage": 492.0446472167969, + "SATB1_CHW_DH3_Tonnage": 41.94572448730469, + "SATB1_CHW_DH4_Tonnage": 28.555253982543945, + "SATB1_CHW_DH5_Tonnage": 19.700481414794922, + "t_stamp": 1776700688187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.4934692382812, + "SATB1_CHW_DH2_Tonnage": 486.5304260253906, + "SATB1_CHW_DH3_Tonnage": 42.38720703125, + "SATB1_CHW_DH4_Tonnage": 29.700613021850586, + "SATB1_CHW_DH5_Tonnage": 19.050739288330078, + "t_stamp": 1776700718187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.0611572265625, + "SATB1_CHW_DH2_Tonnage": 493.6856994628906, + "SATB1_CHW_DH3_Tonnage": 41.3751106262207, + "SATB1_CHW_DH4_Tonnage": 28.105432510375977, + "SATB1_CHW_DH5_Tonnage": 20.495996475219727, + "t_stamp": 1776700748187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.1019287109375, + "SATB1_CHW_DH2_Tonnage": 474.8642272949219, + "SATB1_CHW_DH3_Tonnage": 40.808685302734375, + "SATB1_CHW_DH4_Tonnage": 27.78889274597168, + "SATB1_CHW_DH5_Tonnage": 20.150291442871094, + "t_stamp": 1776700778187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.470947265625, + "SATB1_CHW_DH2_Tonnage": 470.99078369140625, + "SATB1_CHW_DH3_Tonnage": 43.90326690673828, + "SATB1_CHW_DH4_Tonnage": 27.988811492919922, + "SATB1_CHW_DH5_Tonnage": 18.46347427368164, + "t_stamp": 1776700808187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.252197265625, + "SATB1_CHW_DH2_Tonnage": 466.12176513671875, + "SATB1_CHW_DH3_Tonnage": 42.19562530517578, + "SATB1_CHW_DH4_Tonnage": 27.74306869506836, + "SATB1_CHW_DH5_Tonnage": 20.48349380493164, + "t_stamp": 1776700838187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.476318359375, + "SATB1_CHW_DH2_Tonnage": 474.027099609375, + "SATB1_CHW_DH3_Tonnage": 43.24519348144531, + "SATB1_CHW_DH4_Tonnage": 26.714323043823242, + "SATB1_CHW_DH5_Tonnage": 23.282379150390625, + "t_stamp": 1776700868187 + }, + { + "SATB1_CHW_DH1_Tonnage": 504.71490478515625, + "SATB1_CHW_DH2_Tonnage": 477.94219970703125, + "SATB1_CHW_DH3_Tonnage": 41.508399963378906, + "SATB1_CHW_DH4_Tonnage": 28.60523223876953, + "SATB1_CHW_DH5_Tonnage": 22.640979766845703, + "t_stamp": 1776700898187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.0189514160156, + "SATB1_CHW_DH2_Tonnage": 494.66461181640625, + "SATB1_CHW_DH3_Tonnage": 43.57006072998047, + "SATB1_CHW_DH4_Tonnage": 27.314083099365234, + "SATB1_CHW_DH5_Tonnage": 22.478546142578125, + "t_stamp": 1776700928187 + }, + { + "SATB1_CHW_DH1_Tonnage": 501.49951171875, + "SATB1_CHW_DH2_Tonnage": 493.14007568359375, + "SATB1_CHW_DH3_Tonnage": 43.62004470825195, + "SATB1_CHW_DH4_Tonnage": 28.122093200683594, + "SATB1_CHW_DH5_Tonnage": 20.83336639404297, + "t_stamp": 1776700958187 + }, + { + "SATB1_CHW_DH1_Tonnage": 502.9072265625, + "SATB1_CHW_DH2_Tonnage": 481.95703125, + "SATB1_CHW_DH3_Tonnage": 42.03319549560547, + "SATB1_CHW_DH4_Tonnage": 28.463623046875, + "SATB1_CHW_DH5_Tonnage": 21.799636840820312, + "t_stamp": 1776700988187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.09466552734375, + "SATB1_CHW_DH2_Tonnage": 487.330078125, + "SATB1_CHW_DH3_Tonnage": 41.85826110839844, + "SATB1_CHW_DH4_Tonnage": 28.780162811279297, + "SATB1_CHW_DH5_Tonnage": 21.378978729248047, + "t_stamp": 1776701018187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.6432800292969, + "SATB1_CHW_DH2_Tonnage": 480.6119384765625, + "SATB1_CHW_DH3_Tonnage": 44.961177825927734, + "SATB1_CHW_DH4_Tonnage": 26.039594650268555, + "SATB1_CHW_DH5_Tonnage": 21.95790672302246, + "t_stamp": 1776701048187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.40130615234375, + "SATB1_CHW_DH2_Tonnage": 486.7511291503906, + "SATB1_CHW_DH3_Tonnage": 41.10856628417969, + "SATB1_CHW_DH4_Tonnage": 27.189132690429688, + "SATB1_CHW_DH5_Tonnage": 21.76631736755371, + "t_stamp": 1776701078187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.0643005371094, + "SATB1_CHW_DH2_Tonnage": 461.76531982421875, + "SATB1_CHW_DH3_Tonnage": 41.63750457763672, + "SATB1_CHW_DH4_Tonnage": 28.463623046875, + "SATB1_CHW_DH5_Tonnage": 20.80837631225586, + "t_stamp": 1776701108187 + }, + { + "SATB1_CHW_DH1_Tonnage": 509.4462890625, + "SATB1_CHW_DH2_Tonnage": 509.18804931640625, + "SATB1_CHW_DH3_Tonnage": 41.45008087158203, + "SATB1_CHW_DH4_Tonnage": 29.313282012939453, + "SATB1_CHW_DH5_Tonnage": 19.842082977294922, + "t_stamp": 1776701138187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.6771240234375, + "SATB1_CHW_DH2_Tonnage": 498.5797119140625, + "SATB1_CHW_DH3_Tonnage": 41.916561126708984, + "SATB1_CHW_DH4_Tonnage": 27.73058319091797, + "SATB1_CHW_DH5_Tonnage": 20.358543395996094, + "t_stamp": 1776701168187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.1409912109375, + "SATB1_CHW_DH2_Tonnage": 482.5903015136719, + "SATB1_CHW_DH3_Tonnage": 41.18768310546875, + "SATB1_CHW_DH4_Tonnage": 28.980083465576172, + "SATB1_CHW_DH5_Tonnage": 20.01285743713379, + "t_stamp": 1776701198187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.7066040039062, + "SATB1_CHW_DH2_Tonnage": 481.80731201171875, + "SATB1_CHW_DH3_Tonnage": 42.12897491455078, + "SATB1_CHW_DH4_Tonnage": 26.66434097290039, + "SATB1_CHW_DH5_Tonnage": 22.54100799560547, + "t_stamp": 1776701228187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.2951049804688, + "SATB1_CHW_DH2_Tonnage": 448.06243896484375, + "SATB1_CHW_DH3_Tonnage": 41.021095275878906, + "SATB1_CHW_DH4_Tonnage": 27.072513580322266, + "SATB1_CHW_DH5_Tonnage": 22.366077423095703, + "t_stamp": 1776701258187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.3812255859375, + "SATB1_CHW_DH2_Tonnage": 498.5797119140625, + "SATB1_CHW_DH3_Tonnage": 41.23766326904297, + "SATB1_CHW_DH4_Tonnage": 27.389053344726562, + "SATB1_CHW_DH5_Tonnage": 21.624706268310547, + "t_stamp": 1776701288187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.76519775390625, + "SATB1_CHW_DH2_Tonnage": 475.4389953613281, + "SATB1_CHW_DH3_Tonnage": 41.246009826660156, + "SATB1_CHW_DH4_Tonnage": 28.180404663085938, + "SATB1_CHW_DH5_Tonnage": 20.283573150634766, + "t_stamp": 1776701318187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.2701416015625, + "SATB1_CHW_DH2_Tonnage": 431.5898742675781, + "SATB1_CHW_DH3_Tonnage": 41.97486877441406, + "SATB1_CHW_DH4_Tonnage": 28.788494110107422, + "SATB1_CHW_DH5_Tonnage": 20.283573150634766, + "t_stamp": 1776701348187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.9052429199219, + "SATB1_CHW_DH2_Tonnage": 464.6265869140625, + "SATB1_CHW_DH3_Tonnage": 41.83325958251953, + "SATB1_CHW_DH4_Tonnage": 28.94676399230957, + "SATB1_CHW_DH5_Tonnage": 19.15903091430664, + "t_stamp": 1776701378187 + }, + { + "SATB1_CHW_DH1_Tonnage": 508.1884765625, + "SATB1_CHW_DH2_Tonnage": 493.6358642578125, + "SATB1_CHW_DH3_Tonnage": 42.05400466918945, + "SATB1_CHW_DH4_Tonnage": 28.496944427490234, + "SATB1_CHW_DH5_Tonnage": 18.817501068115234, + "t_stamp": 1776701408187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.4637756347656, + "SATB1_CHW_DH2_Tonnage": 481.36993408203125, + "SATB1_CHW_DH3_Tonnage": 41.84575653076172, + "SATB1_CHW_DH4_Tonnage": 28.81348419189453, + "SATB1_CHW_DH5_Tonnage": 18.213573455810547, + "t_stamp": 1776701438187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.66827392578125, + "SATB1_CHW_DH2_Tonnage": 504.39404296875, + "SATB1_CHW_DH3_Tonnage": 40.900299072265625, + "SATB1_CHW_DH4_Tonnage": 28.27203369140625, + "SATB1_CHW_DH5_Tonnage": 18.979942321777344, + "t_stamp": 1776701468187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.982421875, + "SATB1_CHW_DH2_Tonnage": 455.72601318359375, + "SATB1_CHW_DH3_Tonnage": 41.57502746582031, + "SATB1_CHW_DH4_Tonnage": 27.9055118560791, + "SATB1_CHW_DH5_Tonnage": 22.00788688659668, + "t_stamp": 1776701498187 + }, + { + "SATB1_CHW_DH1_Tonnage": 504.83575439453125, + "SATB1_CHW_DH2_Tonnage": 493.944091796875, + "SATB1_CHW_DH3_Tonnage": 41.40843963623047, + "SATB1_CHW_DH4_Tonnage": 27.255773544311523, + "SATB1_CHW_DH5_Tonnage": 22.424386978149414, + "t_stamp": 1776701528187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.122802734375, + "SATB1_CHW_DH2_Tonnage": 496.31396484375, + "SATB1_CHW_DH3_Tonnage": 41.80827713012695, + "SATB1_CHW_DH4_Tonnage": 26.805953979492188, + "SATB1_CHW_DH5_Tonnage": 22.241127014160156, + "t_stamp": 1776701558187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.65283203125, + "SATB1_CHW_DH2_Tonnage": 416.3043212890625, + "SATB1_CHW_DH3_Tonnage": 42.978633880615234, + "SATB1_CHW_DH4_Tonnage": 27.122493743896484, + "SATB1_CHW_DH5_Tonnage": 21.249855041503906, + "t_stamp": 1776701588187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.5308532714844, + "SATB1_CHW_DH2_Tonnage": 417.33721923828125, + "SATB1_CHW_DH3_Tonnage": 42.682918548583984, + "SATB1_CHW_DH4_Tonnage": 26.53106117248535, + "SATB1_CHW_DH5_Tonnage": 20.52931785583496, + "t_stamp": 1776701618187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.7261962890625, + "SATB1_CHW_DH2_Tonnage": 431.0609130859375, + "SATB1_CHW_DH3_Tonnage": 41.995704650878906, + "SATB1_CHW_DH4_Tonnage": 27.70559310913086, + "SATB1_CHW_DH5_Tonnage": 20.708404541015625, + "t_stamp": 1776701648187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.0070190429688, + "SATB1_CHW_DH2_Tonnage": 471.0740661621094, + "SATB1_CHW_DH3_Tonnage": 42.458011627197266, + "SATB1_CHW_DH4_Tonnage": 28.22205352783203, + "SATB1_CHW_DH5_Tonnage": 19.654664993286133, + "t_stamp": 1776701678187 + }, + { + "SATB1_CHW_DH1_Tonnage": 521.758056640625, + "SATB1_CHW_DH2_Tonnage": 472.04034423828125, + "SATB1_CHW_DH3_Tonnage": 40.721214294433594, + "SATB1_CHW_DH4_Tonnage": 27.88885498046875, + "SATB1_CHW_DH5_Tonnage": 19.96703338623047, + "t_stamp": 1776701708187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.5912780761719, + "SATB1_CHW_DH2_Tonnage": 473.9354248046875, + "SATB1_CHW_DH3_Tonnage": 40.37135696411133, + "SATB1_CHW_DH4_Tonnage": 27.73058319091797, + "SATB1_CHW_DH5_Tonnage": 19.042407989501953, + "t_stamp": 1776701738187 + }, + { + "SATB1_CHW_DH1_Tonnage": 520.8875732421875, + "SATB1_CHW_DH2_Tonnage": 422.4226989746094, + "SATB1_CHW_DH3_Tonnage": 41.995697021484375, + "SATB1_CHW_DH4_Tonnage": 27.30575180053711, + "SATB1_CHW_DH5_Tonnage": 21.982894897460938, + "t_stamp": 1776701768187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.34881591796875, + "SATB1_CHW_DH2_Tonnage": 453.7435302734375, + "SATB1_CHW_DH3_Tonnage": 42.99946212768555, + "SATB1_CHW_DH4_Tonnage": 25.989612579345703, + "SATB1_CHW_DH5_Tonnage": 21.204023361206055, + "t_stamp": 1776701798187 + }, + { + "SATB1_CHW_DH1_Tonnage": 520.029541015625, + "SATB1_CHW_DH2_Tonnage": 448.63720703125, + "SATB1_CHW_DH3_Tonnage": 42.91615676879883, + "SATB1_CHW_DH4_Tonnage": 25.406513214111328, + "SATB1_CHW_DH5_Tonnage": 21.499767303466797, + "t_stamp": 1776701828187 + }, + { + "SATB1_CHW_DH1_Tonnage": 516.9808959960938, + "SATB1_CHW_DH2_Tonnage": 445.5009765625, + "SATB1_CHW_DH3_Tonnage": 42.38303756713867, + "SATB1_CHW_DH4_Tonnage": 25.539793014526367, + "SATB1_CHW_DH5_Tonnage": 21.07492446899414, + "t_stamp": 1776701858187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.9691162109375, + "SATB1_CHW_DH2_Tonnage": 442.65631103515625, + "SATB1_CHW_DH3_Tonnage": 41.595863342285156, + "SATB1_CHW_DH4_Tonnage": 29.654815673828125, + "SATB1_CHW_DH5_Tonnage": 20.883344650268555, + "t_stamp": 1776701888187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.6117553710938, + "SATB1_CHW_DH2_Tonnage": 432.39373779296875, + "SATB1_CHW_DH3_Tonnage": 43.032779693603516, + "SATB1_CHW_DH4_Tonnage": 28.7051944732666, + "SATB1_CHW_DH5_Tonnage": 22.353591918945312, + "t_stamp": 1776701918187 + }, + { + "SATB1_CHW_DH1_Tonnage": 514.1569213867188, + "SATB1_CHW_DH2_Tonnage": 490.4205017089844, + "SATB1_CHW_DH3_Tonnage": 41.29597091674805, + "SATB1_CHW_DH4_Tonnage": 27.097503662109375, + "SATB1_CHW_DH5_Tonnage": 20.57509994506836, + "t_stamp": 1776701948187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.1544189453125, + "SATB1_CHW_DH2_Tonnage": 449.386962890625, + "SATB1_CHW_DH3_Tonnage": 39.23432159423828, + "SATB1_CHW_DH4_Tonnage": 27.164142608642578, + "SATB1_CHW_DH5_Tonnage": 22.170331954956055, + "t_stamp": 1776701978187 + }, + { + "SATB1_CHW_DH1_Tonnage": 506.23095703125, + "SATB1_CHW_DH2_Tonnage": 478.483642578125, + "SATB1_CHW_DH3_Tonnage": 41.80827331542969, + "SATB1_CHW_DH4_Tonnage": 29.22580909729004, + "SATB1_CHW_DH5_Tonnage": 19.40060043334961, + "t_stamp": 1776702008187 + }, + { + "SATB1_CHW_DH1_Tonnage": 500.7998046875, + "SATB1_CHW_DH2_Tonnage": 456.4007873535156, + "SATB1_CHW_DH3_Tonnage": 41.370948791503906, + "SATB1_CHW_DH4_Tonnage": 28.471954345703125, + "SATB1_CHW_DH5_Tonnage": 19.83376121520996, + "t_stamp": 1776702038187 + }, + { + "SATB1_CHW_DH1_Tonnage": 505.45623779296875, + "SATB1_CHW_DH2_Tonnage": 413.9801025390625, + "SATB1_CHW_DH3_Tonnage": 41.116878509521484, + "SATB1_CHW_DH4_Tonnage": 27.54732322692871, + "SATB1_CHW_DH5_Tonnage": 21.39980697631836, + "t_stamp": 1776702068187 + }, + { + "SATB1_CHW_DH1_Tonnage": 503.6195068359375, + "SATB1_CHW_DH2_Tonnage": 423.59722900390625, + "SATB1_CHW_DH3_Tonnage": 41.737464904785156, + "SATB1_CHW_DH4_Tonnage": 26.597702026367188, + "SATB1_CHW_DH5_Tonnage": 22.965850830078125, + "t_stamp": 1776702098187 + }, + { + "SATB1_CHW_DH1_Tonnage": 497.73016357421875, + "SATB1_CHW_DH2_Tonnage": 434.2513122558594, + "SATB1_CHW_DH3_Tonnage": 40.05897903442383, + "SATB1_CHW_DH4_Tonnage": 26.39777183532715, + "SATB1_CHW_DH5_Tonnage": 22.961685180664062, + "t_stamp": 1776702128187 + }, + { + "SATB1_CHW_DH1_Tonnage": 500.9080810546875, + "SATB1_CHW_DH2_Tonnage": 426.7501220703125, + "SATB1_CHW_DH3_Tonnage": 39.5341911315918, + "SATB1_CHW_DH4_Tonnage": 26.301979064941406, + "SATB1_CHW_DH5_Tonnage": 22.007896423339844, + "t_stamp": 1776702158187 + }, + { + "SATB1_CHW_DH1_Tonnage": 507.7969970703125, + "SATB1_CHW_DH2_Tonnage": 423.55126953125, + "SATB1_CHW_DH3_Tonnage": 38.772010803222656, + "SATB1_CHW_DH4_Tonnage": 27.793048858642578, + "SATB1_CHW_DH5_Tonnage": 20.654277801513672, + "t_stamp": 1776702188187 + }, + { + "SATB1_CHW_DH1_Tonnage": 525.877197265625, + "SATB1_CHW_DH2_Tonnage": 461.8317565917969, + "SATB1_CHW_DH3_Tonnage": 38.66789627075195, + "SATB1_CHW_DH4_Tonnage": 27.830533981323242, + "SATB1_CHW_DH5_Tonnage": 19.283977508544922, + "t_stamp": 1776702218187 + }, + { + "SATB1_CHW_DH1_Tonnage": 518.8924560546875, + "SATB1_CHW_DH2_Tonnage": 485.26837158203125, + "SATB1_CHW_DH3_Tonnage": 40.83784866333008, + "SATB1_CHW_DH4_Tonnage": 27.65976905822754, + "SATB1_CHW_DH5_Tonnage": 20.566795349121094, + "t_stamp": 1776702248187 + }, + { + "SATB1_CHW_DH1_Tonnage": 515.431396484375, + "SATB1_CHW_DH2_Tonnage": 449.386962890625, + "SATB1_CHW_DH3_Tonnage": 42.20394515991211, + "SATB1_CHW_DH4_Tonnage": 28.088764190673828, + "SATB1_CHW_DH5_Tonnage": 20.820871353149414, + "t_stamp": 1776702278187 + }, + { + "SATB1_CHW_DH1_Tonnage": 511.08734130859375, + "SATB1_CHW_DH2_Tonnage": 491.01611328125, + "SATB1_CHW_DH3_Tonnage": 41.11273956298828, + "SATB1_CHW_DH4_Tonnage": 29.005064010620117, + "SATB1_CHW_DH5_Tonnage": 20.46684455871582, + "t_stamp": 1776702308187 + }, + { + "SATB1_CHW_DH1_Tonnage": 512.1160278320312, + "SATB1_CHW_DH2_Tonnage": 498.78387451171875, + "SATB1_CHW_DH3_Tonnage": 39.534202575683594, + "SATB1_CHW_DH4_Tonnage": 27.913367711639403, + "SATB1_CHW_DH5_Tonnage": 21.841304779052734, + "t_stamp": 1776702338187 + }, + { + "SATB1_CHW_DH1_Tonnage": 510.53338623046875, + "SATB1_CHW_DH2_Tonnage": 487.8465576171875, + "SATB1_CHW_DH3_Tonnage": 40.59211349487305, + "SATB1_CHW_DH4_Tonnage": 27.830533981323242, + "SATB1_CHW_DH5_Tonnage": 22.55351448059082, + "t_stamp": 1776702368187 + } + ], + "tags": [ + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH1_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh1/opc tags/satb1_dh1 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH2_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh2/opc tags/satb1_dh2 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH3_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh3/opc tags/satb1_dh3 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH4_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh4/opc tags/satb1_dh4 tonnage demand" + }, + { + "aggregate": "LastValue", + "alias": "SATB1_CHW_DH5_Tonnage", + "path": "[Ignition_Hist/ignition-satb1-io6:default]dh5/opc tags/satb1_dh5 tonnage demand" + } + ] + }, + "meta": { + "name": "Flow Chart" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "enabled": false, + "type": "tag-history" + } + }, + "props.dataSources.tonnage": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\tsummary \u003d 0\n\tfor item in rawHist:\n\t\tsummary \u003d 0\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tsummary +\u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"summary\": summary})\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "color": "#F4F4F4", + "gradient": { + "colors": [ + "" + ] + }, + "render": "color" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "tonnage", + "x": "t_stamp", + "y": "summary" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "tonnage" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "tonnage", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "tonnage", + "zIndex": 0 + } + ], + "style": { + "marginBottom": -30, + "marginLeft": 0, + "marginRight": -25, + "marginTop": 10, + "paddingRight": 0 + }, + "title": { + "text": "Tons (total)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 30, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "tonnage" + }, + "name": "tonnage", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "raw": [ + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 121.80273662105631, + "SATB1_CHW_FT03": 634.3123229697758, + "SATB1_CHW_FT04": 639.947717538041, + "SATB1_CHW_FT05": 94.62940617656372, + "SATB1_CHW_FT06": 141.62677464507098, + "SATB1_CHW_FT07": 547.3122448639552, + "SATB1_CHW_FT08": 695.0621813455963, + "SATB1_CHW_FT09": 179.93748542104035, + "SATB1_CHW_FT10": 365.1234666666667, + "t_stamp": 1776695231219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 121, + "SATB1_CHW_FT03": 634, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 142, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 694, + "SATB1_CHW_FT09": 180, + "SATB1_CHW_FT10": 365, + "t_stamp": 1776695261219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 108.80275, + "SATB1_CHW_FT03": 625.5624906251562, + "SATB1_CHW_FT04": 648.5050501683389, + "SATB1_CHW_FT05": 79.98801646694112, + "SATB1_CHW_FT06": 146.68962010968312, + "SATB1_CHW_FT07": 541.3748937517709, + "SATB1_CHW_FT08": 717.4363281835908, + "SATB1_CHW_FT09": 179.06262707062626, + "SATB1_CHW_FT10": 368.75306666666665, + "t_stamp": 1776695291219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 108, + "SATB1_CHW_FT03": 625, + "SATB1_CHW_FT04": 649, + "SATB1_CHW_FT05": 79, + "SATB1_CHW_FT06": 147, + "SATB1_CHW_FT07": 541, + "SATB1_CHW_FT08": 719, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776695321219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 132.39409343177613, + "SATB1_CHW_FT03": 638.1271878646442, + "SATB1_CHW_FT04": 643.3715752283181, + "SATB1_CHW_FT05": 94.94971834272191, + "SATB1_CHW_FT06": 136.68307723075898, + "SATB1_CHW_FT07": 549.4390565094183, + "SATB1_CHW_FT08": 751.8173134626925, + "SATB1_CHW_FT09": 183.68808348893037, + "SATB1_CHW_FT10": 374.6295061748971, + "t_stamp": 1776695351219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 134, + "SATB1_CHW_FT03": 639, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 550, + "SATB1_CHW_FT08": 754, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 375, + "t_stamp": 1776695381219 + }, + { + "SATB1_CHW_FT01": 109.1234, + "SATB1_CHW_FT02": 143.3824897081618, + "SATB1_CHW_FT03": 644.6265626562656, + "SATB1_CHW_FT04": 634.5569778488924, + "SATB1_CHW_FT05": 98.81469691161519, + "SATB1_CHW_FT06": 137.87592506167078, + "SATB1_CHW_FT07": 547.1866686668667, + "SATB1_CHW_FT08": 723.0544554455446, + "SATB1_CHW_FT09": 178.37363736373638, + "SATB1_CHW_FT10": 374.06173436223935, + "t_stamp": 1776695411219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 645, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 99, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 721, + "SATB1_CHW_FT09": 178, + "SATB1_CHW_FT10": 374, + "t_stamp": 1776695441219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 645, + "SATB1_CHW_FT04": 647.1338522308705, + "SATB1_CHW_FT05": 97.12353333333333, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 545.124402073368, + "SATB1_CHW_FT08": 730.3776562942716, + "SATB1_CHW_FT09": 186.43974066234438, + "SATB1_CHW_FT10": 373.06173333333334, + "t_stamp": 1776695471219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 645, + "SATB1_CHW_FT04": 648, + "SATB1_CHW_FT05": 97, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 731, + "SATB1_CHW_FT09": 187, + "SATB1_CHW_FT10": 373, + "t_stamp": 1776695501219 + }, + { + "SATB1_CHW_FT01": 110.8766, + "SATB1_CHW_FT02": 139.30890636978768, + "SATB1_CHW_FT03": 641.2489917002766, + "SATB1_CHW_FT04": 639.557081430619, + "SATB1_CHW_FT05": 92.30898970034332, + "SATB1_CHW_FT06": 141.75180827305758, + "SATB1_CHW_FT07": 546.8755374820839, + "SATB1_CHW_FT08": 715.058498050065, + "SATB1_CHW_FT09": 177.62281257291423, + "SATB1_CHW_FT10": 384.25882470584315, + "t_stamp": 1776695531219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 139, + "SATB1_CHW_FT03": 641, + "SATB1_CHW_FT04": 639, + "SATB1_CHW_FT05": 92, + "SATB1_CHW_FT06": 142, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 714, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 385, + "t_stamp": 1776695561219 + }, + { + "SATB1_CHW_FT01": 110.0617, + "SATB1_CHW_FT02": 148.38247941598053, + "SATB1_CHW_FT03": 637.249187540623, + "SATB1_CHW_FT04": 632.4330811027035, + "SATB1_CHW_FT05": 87.30884362812094, + "SATB1_CHW_FT06": 138.2482, + "SATB1_CHW_FT07": 553.5639290713953, + "SATB1_CHW_FT08": 661.4895588553906, + "SATB1_CHW_FT09": 191.06481234584362, + "SATB1_CHW_FT10": 381.24694156471884, + "t_stamp": 1776695591219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 149, + "SATB1_CHW_FT03": 637, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 658, + "SATB1_CHW_FT09": 192, + "SATB1_CHW_FT10": 381, + "t_stamp": 1776695621219 + }, + { + "SATB1_CHW_FT01": 112.8149, + "SATB1_CHW_FT02": 151.81470308828187, + "SATB1_CHW_FT03": 620.1208373612453, + "SATB1_CHW_FT04": 633.8761728580238, + "SATB1_CHW_FT05": 91.69108848185863, + "SATB1_CHW_FT06": 134.24826252895784, + "SATB1_CHW_FT07": 555.8754937746887, + "SATB1_CHW_FT08": 688.0068668955632, + "SATB1_CHW_FT09": 191.06230311515577, + "SATB1_CHW_FT10": 362.2349794170097, + "t_stamp": 1776695651219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 152, + "SATB1_CHW_FT03": 619, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 92, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 556, + "SATB1_CHW_FT08": 690, + "SATB1_CHW_FT09": 191, + "SATB1_CHW_FT10": 361, + "t_stamp": 1776695681219 + }, + { + "SATB1_CHW_FT01": 114.8766, + "SATB1_CHW_FT02": 126.66727778796313, + "SATB1_CHW_FT03": 634.940669633185, + "SATB1_CHW_FT04": 626.4955834805506, + "SATB1_CHW_FT05": 91.06178333333334, + "SATB1_CHW_FT06": 139.62741241958602, + "SATB1_CHW_FT07": 558.8131093445328, + "SATB1_CHW_FT08": 689.0623302168225, + "SATB1_CHW_FT09": 200.37653117344132, + "SATB1_CHW_FT10": 365.69125, + "t_stamp": 1776695711219 + }, + { + "SATB1_CHW_FT01": 115, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 636, + "SATB1_CHW_FT04": 626, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 559, + "SATB1_CHW_FT08": 689, + "SATB1_CHW_FT09": 201, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776695741219 + }, + { + "SATB1_CHW_FT01": 110.30857819036349, + "SATB1_CHW_FT02": 123.12353127447876, + "SATB1_CHW_FT03": 634.1245083005533, + "SATB1_CHW_FT04": 643.824138275885, + "SATB1_CHW_FT05": 88.18535, + "SATB1_CHW_FT06": 140.9379625308354, + "SATB1_CHW_FT07": 559.9377468873444, + "SATB1_CHW_FT08": 721.8199743320499, + "SATB1_CHW_FT09": 188.80994049702485, + "SATB1_CHW_FT10": 373.506, + "t_stamp": 1776695771219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 123, + "SATB1_CHW_FT03": 634, + "SATB1_CHW_FT04": 645, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 560, + "SATB1_CHW_FT08": 724, + "SATB1_CHW_FT09": 188, + "SATB1_CHW_FT10": 374, + "t_stamp": 1776695801219 + }, + { + "SATB1_CHW_FT01": 115.6297, + "SATB1_CHW_FT02": 125.8147, + "SATB1_CHW_FT03": 642.43975, + "SATB1_CHW_FT04": 651.5668166666667, + "SATB1_CHW_FT05": 103.94994916581943, + "SATB1_CHW_FT06": 142.87587080430652, + "SATB1_CHW_FT07": 556.2489374822914, + "SATB1_CHW_FT08": 618.0362506041768, + "SATB1_CHW_FT09": 186.1245687428124, + "SATB1_CHW_FT10": 369.30875, + "t_stamp": 1776695831219 + }, + { + "SATB1_CHW_FT01": 116, + "SATB1_CHW_FT02": 126, + "SATB1_CHW_FT03": 643, + "SATB1_CHW_FT04": 652, + "SATB1_CHW_FT05": 105, + "SATB1_CHW_FT06": 143, + "SATB1_CHW_FT07": 556, + "SATB1_CHW_FT08": 611, + "SATB1_CHW_FT09": 186, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776695861219 + }, + { + "SATB1_CHW_FT01": 108.49373333333334, + "SATB1_CHW_FT02": 137.25861235646073, + "SATB1_CHW_FT03": 662.6901246500466, + "SATB1_CHW_FT04": 656.6903488158925, + "SATB1_CHW_FT05": 96.55618146061798, + "SATB1_CHW_FT06": 141.12425838277449, + "SATB1_CHW_FT07": 552.2494334088789, + "SATB1_CHW_FT08": 615.688041594454, + "SATB1_CHW_FT09": 186.93757603026214, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776695891219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 138, + "SATB1_CHW_FT03": 664, + "SATB1_CHW_FT04": 657, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 616, + "SATB1_CHW_FT09": 187, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776695921219 + }, + { + "SATB1_CHW_FT01": 108.93828333333333, + "SATB1_CHW_FT02": 148.32038333333333, + "SATB1_CHW_FT03": 662.1247354122569, + "SATB1_CHW_FT04": 641.990683178053, + "SATB1_CHW_FT05": 88.4944, + "SATB1_CHW_FT06": 138.1863531058851, + "SATB1_CHW_FT07": 514.4940415673594, + "SATB1_CHW_FT08": 572.8696811613527, + "SATB1_CHW_FT09": 186.06240208006935, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776695951219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 149, + "SATB1_CHW_FT03": 662, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 512, + "SATB1_CHW_FT08": 570, + "SATB1_CHW_FT09": 186, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776695981219 + }, + { + "SATB1_CHW_FT01": 109.93828333333333, + "SATB1_CHW_FT02": 130.23597940034333, + "SATB1_CHW_FT03": 687.3148342582871, + "SATB1_CHW_FT04": 650.3803643151176, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 544.8161091945403, + "SATB1_CHW_FT08": 727.5117244137793, + "SATB1_CHW_FT09": 173.81201253249785, + "SATB1_CHW_FT10": 358.679605339911, + "t_stamp": 1776696011219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 129, + "SATB1_CHW_FT03": 689, + "SATB1_CHW_FT04": 651, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 738, + "SATB1_CHW_FT09": 173, + "SATB1_CHW_FT10": 358, + "t_stamp": 1776696041219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 139.3203720062001, + "SATB1_CHW_FT03": 680.5613280664033, + "SATB1_CHW_FT04": 640.6814613576893, + "SATB1_CHW_FT05": 90.81455, + "SATB1_CHW_FT06": 138.9378645954865, + "SATB1_CHW_FT07": 549.8128937631254, + "SATB1_CHW_FT08": 690.1825060835362, + "SATB1_CHW_FT09": 179.5629520984033, + "SATB1_CHW_FT10": 367.3823230387173, + "t_stamp": 1776696071219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 140, + "SATB1_CHW_FT03": 680, + "SATB1_CHW_FT04": 640, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 550, + "SATB1_CHW_FT08": 687, + "SATB1_CHW_FT09": 180, + "SATB1_CHW_FT10": 368, + "t_stamp": 1776696101219 + }, + { + "SATB1_CHW_FT01": 108.12343333333334, + "SATB1_CHW_FT02": 139.06178333333332, + "SATB1_CHW_FT03": 668.748775040832, + "SATB1_CHW_FT04": 615.6107, + "SATB1_CHW_FT05": 94.75273333333334, + "SATB1_CHW_FT06": 138.0621802243221, + "SATB1_CHW_FT07": 550, + "SATB1_CHW_FT08": 714.1899468342194, + "SATB1_CHW_FT09": 191.25061248979185, + "SATB1_CHW_FT10": 375.50574157097384, + "t_stamp": 1776696131219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 139, + "SATB1_CHW_FT03": 668, + "SATB1_CHW_FT04": 614, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 550, + "SATB1_CHW_FT08": 716, + "SATB1_CHW_FT09": 192, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776696161219 + }, + { + "SATB1_CHW_FT01": 110.81485, + "SATB1_CHW_FT02": 146.50573333333332, + "SATB1_CHW_FT03": 682.0609534600836, + "SATB1_CHW_FT04": 631.8235441181373, + "SATB1_CHW_FT05": 95.93819896998284, + "SATB1_CHW_FT06": 135.18640932046603, + "SATB1_CHW_FT07": 550.9374281381747, + "SATB1_CHW_FT08": 707.5638590352412, + "SATB1_CHW_FT09": 177.94049920021328, + "SATB1_CHW_FT10": 374.12353539225654, + "t_stamp": 1776696191219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 147, + "SATB1_CHW_FT03": 683, + "SATB1_CHW_FT04": 633, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 551, + "SATB1_CHW_FT08": 707, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 374, + "t_stamp": 1776696221219 + }, + { + "SATB1_CHW_FT01": 110.06171666666667, + "SATB1_CHW_FT02": 152.629206179897, + "SATB1_CHW_FT03": 673.6241352292997, + "SATB1_CHW_FT04": 640.5044165194494, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 135.93783540548648, + "SATB1_CHW_FT07": 548.1872343262932, + "SATB1_CHW_FT08": 699.4995832360884, + "SATB1_CHW_FT09": 183.56262398933066, + "SATB1_CHW_FT10": 385.25861235646073, + "t_stamp": 1776696251219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 153, + "SATB1_CHW_FT03": 673, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 699, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 386, + "t_stamp": 1776696281219 + }, + { + "SATB1_CHW_FT01": 112.81480308661523, + "SATB1_CHW_FT02": 136.11211853530892, + "SATB1_CHW_FT03": 652.3724562076035, + "SATB1_CHW_FT04": 642.8761625387513, + "SATB1_CHW_FT05": 95.06180103001716, + "SATB1_CHW_FT06": 139.7515209093788, + "SATB1_CHW_FT07": 550.8128937631254, + "SATB1_CHW_FT08": 754.3182772759092, + "SATB1_CHW_FT09": 186.81269375645854, + "SATB1_CHW_FT10": 374.74121235353925, + "t_stamp": 1776696311219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 135, + "SATB1_CHW_FT03": 651, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 551, + "SATB1_CHW_FT08": 758, + "SATB1_CHW_FT09": 187, + "SATB1_CHW_FT10": 374, + "t_stamp": 1776696341219 + }, + { + "SATB1_CHW_FT01": 110.1852, + "SATB1_CHW_FT02": 120.92675, + "SATB1_CHW_FT03": 672.565542759046, + "SATB1_CHW_FT04": 639.2476666666666, + "SATB1_CHW_FT05": 96.8764, + "SATB1_CHW_FT06": 135.31050517508626, + "SATB1_CHW_FT07": 538.8105635093918, + "SATB1_CHW_FT08": 583.6064, + "SATB1_CHW_FT09": 178.5619, + "SATB1_CHW_FT10": 367.4324761253979, + "t_stamp": 1776696371219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 120, + "SATB1_CHW_FT03": 674, + "SATB1_CHW_FT04": 639, + "SATB1_CHW_FT05": 97, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 538, + "SATB1_CHW_FT08": 572, + "SATB1_CHW_FT09": 178, + "SATB1_CHW_FT10": 367, + "t_stamp": 1776696401219 + }, + { + "SATB1_CHW_FT01": 106.24693333333333, + "SATB1_CHW_FT02": 124.69100514991416, + "SATB1_CHW_FT03": 662.7482124702078, + "SATB1_CHW_FT04": 635.2476666666666, + "SATB1_CHW_FT05": 96.06181563640607, + "SATB1_CHW_FT06": 127.49692505124915, + "SATB1_CHW_FT07": 536.1246687444791, + "SATB1_CHW_FT08": 595.4407813593787, + "SATB1_CHW_FT09": 172.37441248041603, + "SATB1_CHW_FT10": 371.6910051499142, + "t_stamp": 1776696431219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 662, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 127, + "SATB1_CHW_FT07": 536, + "SATB1_CHW_FT08": 597, + "SATB1_CHW_FT09": 172, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776696461219 + }, + { + "SATB1_CHW_FT01": 102.24693333333333, + "SATB1_CHW_FT02": 114.6796279937999, + "SATB1_CHW_FT03": 645.1237063578035, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 94.12360206003433, + "SATB1_CHW_FT06": 129.8136031066149, + "SATB1_CHW_FT07": 542.5631197400216, + "SATB1_CHW_FT08": 669.1917506874427, + "SATB1_CHW_FT09": 184.18778435130406, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776696491219 + }, + { + "SATB1_CHW_FT01": 102, + "SATB1_CHW_FT02": 114, + "SATB1_CHW_FT03": 644, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 94, + "SATB1_CHW_FT06": 130, + "SATB1_CHW_FT07": 543, + "SATB1_CHW_FT08": 674, + "SATB1_CHW_FT09": 185, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776696521219 + }, + { + "SATB1_CHW_FT01": 111.38266666666667, + "SATB1_CHW_FT02": 121.50560823986267, + "SATB1_CHW_FT03": 652.4390845598654, + "SATB1_CHW_FT04": 634.061962535831, + "SATB1_CHW_FT05": 94.93818436359393, + "SATB1_CHW_FT06": 147.81946666666667, + "SATB1_CHW_FT07": 546.7507084041738, + "SATB1_CHW_FT08": 710.5687163502408, + "SATB1_CHW_FT09": 185, + "SATB1_CHW_FT10": 381.3820102998283, + "t_stamp": 1776696551219 + }, + { + "SATB1_CHW_FT01": 112, + "SATB1_CHW_FT02": 122, + "SATB1_CHW_FT03": 653, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 149, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 713, + "SATB1_CHW_FT09": 185, + "SATB1_CHW_FT10": 382, + "t_stamp": 1776696581219 + }, + { + "SATB1_CHW_FT01": 109.1852, + "SATB1_CHW_FT02": 122, + "SATB1_CHW_FT03": 663.3138290780614, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 146.1864468925518, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 550.7944803679754, + "SATB1_CHW_FT09": 177.49943337110858, + "SATB1_CHW_FT10": 364.17390289838164, + "t_stamp": 1776696611219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 122, + "SATB1_CHW_FT03": 664, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 146, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 540, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 363, + "t_stamp": 1776696641219 + }, + { + "SATB1_CHW_FT01": 97.74098765020582, + "SATB1_CHW_FT02": 125.75280411993134, + "SATB1_CHW_FT03": 662.1247354122569, + "SATB1_CHW_FT04": 632.1238707956932, + "SATB1_CHW_FT05": 93.12363127281212, + "SATB1_CHW_FT06": 143.1862624174945, + "SATB1_CHW_FT07": 501.99289976332545, + "SATB1_CHW_FT08": 555.0016, + "SATB1_CHW_FT09": 166.68659477657962, + "SATB1_CHW_FT10": 365.81465000000003, + "t_stamp": 1776696671219 + }, + { + "SATB1_CHW_FT01": 97, + "SATB1_CHW_FT02": 126, + "SATB1_CHW_FT03": 662, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 93, + "SATB1_CHW_FT06": 143, + "SATB1_CHW_FT07": 499, + "SATB1_CHW_FT08": 556, + "SATB1_CHW_FT09": 166, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776696701219 + }, + { + "SATB1_CHW_FT01": 105.44425, + "SATB1_CHW_FT02": 123.1854, + "SATB1_CHW_FT03": 671.376802173442, + "SATB1_CHW_FT04": 644.1952731757725, + "SATB1_CHW_FT05": 88.30900515008584, + "SATB1_CHW_FT06": 141.12416666666667, + "SATB1_CHW_FT07": 529.94399719986, + "SATB1_CHW_FT08": 566.3142876191746, + "SATB1_CHW_FT09": 166.93763021484406, + "SATB1_CHW_FT10": 371.6293, + "t_stamp": 1776696731219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 123, + "SATB1_CHW_FT03": 672, + "SATB1_CHW_FT04": 645, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 532, + "SATB1_CHW_FT08": 567, + "SATB1_CHW_FT09": 167, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776696761219 + }, + { + "SATB1_CHW_FT01": 113.506, + "SATB1_CHW_FT02": 124.8764, + "SATB1_CHW_FT03": 654.1840166666667, + "SATB1_CHW_FT04": 641.2476625389577, + "SATB1_CHW_FT05": 89.87636872718788, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 540.4393, + "SATB1_CHW_FT08": 688.8966666666666, + "SATB1_CHW_FT09": 179.1894364906082, + "SATB1_CHW_FT10": 359.8033866102232, + "t_stamp": 1776696791219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 653, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 541, + "SATB1_CHW_FT08": 697, + "SATB1_CHW_FT09": 180, + "SATB1_CHW_FT10": 359, + "t_stamp": 1776696821219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 126.8764, + "SATB1_CHW_FT03": 622.0543869591306, + "SATB1_CHW_FT04": 639.1238020633677, + "SATB1_CHW_FT05": 86.24726666666666, + "SATB1_CHW_FT06": 142.87589793163218, + "SATB1_CHW_FT07": 556.0042002800187, + "SATB1_CHW_FT08": 648.2380825388359, + "SATB1_CHW_FT09": 193.12797519834655, + "SATB1_CHW_FT10": 359, + "t_stamp": 1776696851219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 127, + "SATB1_CHW_FT03": 620, + "SATB1_CHW_FT04": 639, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 143, + "SATB1_CHW_FT07": 557, + "SATB1_CHW_FT08": 645, + "SATB1_CHW_FT09": 194, + "SATB1_CHW_FT10": 359, + "t_stamp": 1776696881219 + }, + { + "SATB1_CHW_FT01": 106.494, + "SATB1_CHW_FT02": 113.86563781207293, + "SATB1_CHW_FT03": 625.6254686640782, + "SATB1_CHW_FT04": 640.8760436630281, + "SATB1_CHW_FT05": 89.75260824639179, + "SATB1_CHW_FT06": 151.440424610052, + "SATB1_CHW_FT07": 556.0624208491635, + "SATB1_CHW_FT08": 619.6862627474505, + "SATB1_CHW_FT09": 199.625174965007, + "SATB1_CHW_FT10": 356.1854438185394, + "t_stamp": 1776696911219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 113, + "SATB1_CHW_FT03": 626, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 152, + "SATB1_CHW_FT07": 556, + "SATB1_CHW_FT08": 618, + "SATB1_CHW_FT09": 200, + "SATB1_CHW_FT10": 356, + "t_stamp": 1776696941219 + }, + { + "SATB1_CHW_FT01": 98.494, + "SATB1_CHW_FT02": 132.70182836380607, + "SATB1_CHW_FT03": 638.1877572788027, + "SATB1_CHW_FT04": 632.5581313956202, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 144.49771674277525, + "SATB1_CHW_FT07": 518.498583380554, + "SATB1_CHW_FT08": 555.1873604213193, + "SATB1_CHW_FT09": 178.43819475692882, + "SATB1_CHW_FT10": 362.5672833333333, + "t_stamp": 1776696971219 + }, + { + "SATB1_CHW_FT01": 98, + "SATB1_CHW_FT02": 134, + "SATB1_CHW_FT03": 639, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 144, + "SATB1_CHW_FT07": 516, + "SATB1_CHW_FT08": 551, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 363, + "t_stamp": 1776697001219 + }, + { + "SATB1_CHW_FT01": 106.44425, + "SATB1_CHW_FT02": 123.68032732242258, + "SATB1_CHW_FT03": 639, + "SATB1_CHW_FT04": 622.6198539951332, + "SATB1_CHW_FT05": 90.93813436442726, + "SATB1_CHW_FT06": 141.1866968883852, + "SATB1_CHW_FT07": 494.43637393956567, + "SATB1_CHW_FT08": 551, + "SATB1_CHW_FT09": 183.56237603960065, + "SATB1_CHW_FT10": 362.0618323027949, + "t_stamp": 1776697031219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 123, + "SATB1_CHW_FT03": 639, + "SATB1_CHW_FT04": 622, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 493, + "SATB1_CHW_FT08": 551, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 362, + "t_stamp": 1776697061219 + }, + { + "SATB1_CHW_FT01": 80.729, + "SATB1_CHW_FT02": 142.70213510675535, + "SATB1_CHW_FT03": 658.6914819136523, + "SATB1_CHW_FT04": 626.6903178492258, + "SATB1_CHW_FT05": 96.6290814540727, + "SATB1_CHW_FT06": 132.55897452993733, + "SATB1_CHW_FT07": 522.0688948158027, + "SATB1_CHW_FT08": 605.3850308384731, + "SATB1_CHW_FT09": 168.059860974512, + "SATB1_CHW_FT10": 369.5055835194506, + "t_stamp": 1776697091219 + }, + { + "SATB1_CHW_FT01": 79, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 660, + "SATB1_CHW_FT04": 627, + "SATB1_CHW_FT05": 97, + "SATB1_CHW_FT06": 132, + "SATB1_CHW_FT07": 524, + "SATB1_CHW_FT08": 609, + "SATB1_CHW_FT09": 167, + "SATB1_CHW_FT10": 370, + "t_stamp": 1776697121219 + }, + { + "SATB1_CHW_FT01": 105.27056215729738, + "SATB1_CHW_FT02": 159.94913418109698, + "SATB1_CHW_FT03": 658.124975004999, + "SATB1_CHW_FT04": 639.1946634222763, + "SATB1_CHW_FT05": 87.61832302794953, + "SATB1_CHW_FT06": 137.62730621156314, + "SATB1_CHW_FT07": 549.3137091533218, + "SATB1_CHW_FT08": 789.9336810357756, + "SATB1_CHW_FT09": 172.62459385153713, + "SATB1_CHW_FT10": 357.8034, + "t_stamp": 1776697151219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 161, + "SATB1_CHW_FT03": 658, + "SATB1_CHW_FT04": 640, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 551, + "SATB1_CHW_FT08": 802, + "SATB1_CHW_FT09": 173, + "SATB1_CHW_FT10": 357, + "t_stamp": 1776697181219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 137.54580756987383, + "SATB1_CHW_FT03": 658, + "SATB1_CHW_FT04": 640.9380187327089, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 140.81304050788995, + "SATB1_CHW_FT07": 545.375268727606, + "SATB1_CHW_FT08": 695.1341432928353, + "SATB1_CHW_FT09": 187.06078130728974, + "SATB1_CHW_FT10": 357.93816872770907, + "t_stamp": 1776697211219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 136, + "SATB1_CHW_FT03": 658, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 688, + "SATB1_CHW_FT09": 188, + "SATB1_CHW_FT10": 358, + "t_stamp": 1776697241219 + }, + { + "SATB1_CHW_FT01": 109.8147, + "SATB1_CHW_FT02": 134.12363539392322, + "SATB1_CHW_FT03": 663.6261002934116, + "SATB1_CHW_FT04": 638.1858561952065, + "SATB1_CHW_FT05": 94.50532508875148, + "SATB1_CHW_FT06": 144.75154202647283, + "SATB1_CHW_FT07": 549.6885002667378, + "SATB1_CHW_FT08": 656.1193318218192, + "SATB1_CHW_FT09": 174.8729139922978, + "SATB1_CHW_FT10": 366.44364072734544, + "t_stamp": 1776697271219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 134, + "SATB1_CHW_FT03": 664, + "SATB1_CHW_FT04": 638, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 145, + "SATB1_CHW_FT07": 550, + "SATB1_CHW_FT08": 654, + "SATB1_CHW_FT09": 174, + "SATB1_CHW_FT10": 367, + "t_stamp": 1776697301219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 118.98956701443285, + "SATB1_CHW_FT03": 623.6795720071332, + "SATB1_CHW_FT04": 643.6282061965634, + "SATB1_CHW_FT05": 93.1236979383677, + "SATB1_CHW_FT06": 140.3105781570307, + "SATB1_CHW_FT07": 556.5639072682122, + "SATB1_CHW_FT08": 712.135397743371, + "SATB1_CHW_FT09": 183.37651039149347, + "SATB1_CHW_FT10": 375.44350927484544, + "t_stamp": 1776697331219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 118, + "SATB1_CHW_FT03": 621, + "SATB1_CHW_FT04": 644, + "SATB1_CHW_FT05": 93, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 557, + "SATB1_CHW_FT08": 716, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776697361219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 114.24733745562426, + "SATB1_CHW_FT03": 634.1269103211506, + "SATB1_CHW_FT04": 628.0531675527925, + "SATB1_CHW_FT05": 87.37100618343639, + "SATB1_CHW_FT06": 138.12429585680476, + "SATB1_CHW_FT07": 554.1870406479676, + "SATB1_CHW_FT08": 690.6842657867106, + "SATB1_CHW_FT09": 176.49917504124795, + "SATB1_CHW_FT10": 369.43272387873134, + "t_stamp": 1776697391219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 114, + "SATB1_CHW_FT03": 635, + "SATB1_CHW_FT04": 627, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 689, + "SATB1_CHW_FT09": 176, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776697421219 + }, + { + "SATB1_CHW_FT01": 108.12353333333333, + "SATB1_CHW_FT02": 131.82516666666666, + "SATB1_CHW_FT03": 647.1894364906082, + "SATB1_CHW_FT04": 643.8846185896901, + "SATB1_CHW_FT05": 95.4435, + "SATB1_CHW_FT06": 139.87579378968948, + "SATB1_CHW_FT07": 555.8753312555209, + "SATB1_CHW_FT08": 729.3181886364773, + "SATB1_CHW_FT09": 176.9376156269271, + "SATB1_CHW_FT10": 384.94911666666667, + "t_stamp": 1776697451219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 133, + "SATB1_CHW_FT03": 648, + "SATB1_CHW_FT04": 645, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 556, + "SATB1_CHW_FT08": 732, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 386, + "t_stamp": 1776697481219 + }, + { + "SATB1_CHW_FT01": 105.18534691088482, + "SATB1_CHW_FT02": 131.12366666666668, + "SATB1_CHW_FT03": 635.81055, + "SATB1_CHW_FT04": 649.6899321700581, + "SATB1_CHW_FT05": 88.49479175347078, + "SATB1_CHW_FT06": 145.627024865009, + "SATB1_CHW_FT07": 556.9376666666667, + "SATB1_CHW_FT08": 742.3139666666667, + "SATB1_CHW_FT09": 193.87709999999998, + "SATB1_CHW_FT10": 367.2366460558991, + "t_stamp": 1776697511219 + }, + { + "SATB1_CHW_FT01": 105, + "SATB1_CHW_FT02": 131, + "SATB1_CHW_FT03": 635, + "SATB1_CHW_FT04": 650, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 146, + "SATB1_CHW_FT07": 557, + "SATB1_CHW_FT08": 743, + "SATB1_CHW_FT09": 195, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776697541219 + }, + { + "SATB1_CHW_FT01": 109.69108333333334, + "SATB1_CHW_FT02": 108.484, + "SATB1_CHW_FT03": 634.0623343722395, + "SATB1_CHW_FT04": 641.5577278863943, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 145.0621197726553, + "SATB1_CHW_FT07": 553.2492708211804, + "SATB1_CHW_FT08": 728.9352655877598, + "SATB1_CHW_FT09": 178.12261871031183, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776697571219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 107, + "SATB1_CHW_FT03": 634, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 145, + "SATB1_CHW_FT07": 553, + "SATB1_CHW_FT08": 728, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776697601219 + }, + { + "SATB1_CHW_FT01": 111.87643333333334, + "SATB1_CHW_FT02": 121.0725, + "SATB1_CHW_FT03": 640.5636666666667, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 98.31965, + "SATB1_CHW_FT06": 139.37279378677022, + "SATB1_CHW_FT07": 553.9376833333333, + "SATB1_CHW_FT08": 724.2494, + "SATB1_CHW_FT09": 176.06236666666666, + "SATB1_CHW_FT10": 375.38183333333336, + "t_stamp": 1776697631219 + }, + { + "SATB1_CHW_FT01": 112, + "SATB1_CHW_FT02": 122, + "SATB1_CHW_FT03": 641, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 99, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 724, + "SATB1_CHW_FT09": 176, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776697661219 + }, + { + "SATB1_CHW_FT01": 111.06178333333334, + "SATB1_CHW_FT02": 121.06184896918384, + "SATB1_CHW_FT03": 642.8754271046886, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 99.93813436442726, + "SATB1_CHW_FT06": 137.124204140138, + "SATB1_CHW_FT07": 557.7508583619453, + "SATB1_CHW_FT08": 664.9260808693623, + "SATB1_CHW_FT09": 175.06233541118038, + "SATB1_CHW_FT10": 367.5566314456185, + "t_stamp": 1776697691219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 121, + "SATB1_CHW_FT03": 643, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 100, + "SATB1_CHW_FT06": 137, + "SATB1_CHW_FT07": 558, + "SATB1_CHW_FT08": 661, + "SATB1_CHW_FT09": 175, + "SATB1_CHW_FT10": 367, + "t_stamp": 1776697721219 + }, + { + "SATB1_CHW_FT01": 110.06178333333334, + "SATB1_CHW_FT02": 128.50532508875148, + "SATB1_CHW_FT03": 650.5014832838906, + "SATB1_CHW_FT04": 634.4337666666667, + "SATB1_CHW_FT05": 94.37110618510309, + "SATB1_CHW_FT06": 139.81365310578158, + "SATB1_CHW_FT07": 555.186896885052, + "SATB1_CHW_FT08": 615.0542824286262, + "SATB1_CHW_FT09": 164.68583856935717, + "SATB1_CHW_FT10": 361.3710061834364, + "t_stamp": 1776697751219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 129, + "SATB1_CHW_FT03": 651, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 94, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 612, + "SATB1_CHW_FT09": 164, + "SATB1_CHW_FT10": 361, + "t_stamp": 1776697781219 + }, + { + "SATB1_CHW_FT01": 113.75286666666666, + "SATB1_CHW_FT02": 138.38135395486816, + "SATB1_CHW_FT03": 650.062347921736, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 95.87623745875138, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 551.2493250224993, + "SATB1_CHW_FT08": 692.6366454451518, + "SATB1_CHW_FT09": 179.00164991750412, + "SATB1_CHW_FT10": 371.3196613389777, + "t_stamp": 1776697811219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 139, + "SATB1_CHW_FT03": 650, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 551, + "SATB1_CHW_FT08": 698, + "SATB1_CHW_FT09": 180, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776697841219 + }, + { + "SATB1_CHW_FT01": 113.06178333333334, + "SATB1_CHW_FT02": 129.61851030850514, + "SATB1_CHW_FT03": 654.6877812218778, + "SATB1_CHW_FT04": 621.8062032299462, + "SATB1_CHW_FT05": 87.55680928015467, + "SATB1_CHW_FT06": 134.37318134093294, + "SATB1_CHW_FT07": 559.4381561843816, + "SATB1_CHW_FT08": 600.4958837449589, + "SATB1_CHW_FT09": 178.12498750124988, + "SATB1_CHW_FT10": 366.3710061834364, + "t_stamp": 1776697871219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 129, + "SATB1_CHW_FT03": 655, + "SATB1_CHW_FT04": 621, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 560, + "SATB1_CHW_FT08": 594, + "SATB1_CHW_FT09": 178, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776697901219 + }, + { + "SATB1_CHW_FT01": 116.75280411993134, + "SATB1_CHW_FT02": 125.2474, + "SATB1_CHW_FT03": 677.504575686353, + "SATB1_CHW_FT04": 632.2563628181409, + "SATB1_CHW_FT05": 90.75253333333333, + "SATB1_CHW_FT06": 139.62726893907825, + "SATB1_CHW_FT07": 552.498466462195, + "SATB1_CHW_FT08": 651.1971596212828, + "SATB1_CHW_FT09": 186.43876581487223, + "SATB1_CHW_FT10": 368.8145, + "t_stamp": 1776697931219 + }, + { + "SATB1_CHW_FT01": 117, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 679, + "SATB1_CHW_FT04": 633, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 655, + "SATB1_CHW_FT09": 187, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776697961219 + }, + { + "SATB1_CHW_FT01": 104.8034, + "SATB1_CHW_FT02": 146.57780963016052, + "SATB1_CHW_FT03": 657.4357752299693, + "SATB1_CHW_FT04": 633.938017699705, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 138.12445214724949, + "SATB1_CHW_FT07": 556.6879530721416, + "SATB1_CHW_FT08": 725.3167963737563, + "SATB1_CHW_FT09": 184.18742500999866, + "SATB1_CHW_FT10": 350.2366666666667, + "t_stamp": 1776697991219 + }, + { + "SATB1_CHW_FT01": 104, + "SATB1_CHW_FT02": 148, + "SATB1_CHW_FT03": 656, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 557, + "SATB1_CHW_FT08": 730, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 349, + "t_stamp": 1776698021219 + }, + { + "SATB1_CHW_FT01": 113.382, + "SATB1_CHW_FT02": 139.55706286247585, + "SATB1_CHW_FT03": 645.6891725264105, + "SATB1_CHW_FT04": 640.5656789547363, + "SATB1_CHW_FT05": 87.24765015665622, + "SATB1_CHW_FT06": 135.18665311088517, + "SATB1_CHW_FT07": 555.1252395314349, + "SATB1_CHW_FT08": 656.8905958411091, + "SATB1_CHW_FT09": 200.87052001932787, + "SATB1_CHW_FT10": 354.6287185640718, + "t_stamp": 1776698051219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 139, + "SATB1_CHW_FT03": 645, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 652, + "SATB1_CHW_FT09": 202, + "SATB1_CHW_FT10": 355, + "t_stamp": 1776698081219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 125.86638110635177, + "SATB1_CHW_FT03": 675.9366404960745, + "SATB1_CHW_FT04": 621.3033782770287, + "SATB1_CHW_FT05": 89.81429690494842, + "SATB1_CHW_FT06": 135.93775207493084, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 749.4937156192699, + "SATB1_CHW_FT09": 189.81373251762824, + "SATB1_CHW_FT10": 362.50505841764027, + "t_stamp": 1776698111219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 678, + "SATB1_CHW_FT04": 620, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 756, + "SATB1_CHW_FT09": 189, + "SATB1_CHW_FT10": 363, + "t_stamp": 1776698141219 + }, + { + "SATB1_CHW_FT01": 112.12363333333333, + "SATB1_CHW_FT02": 124.06186769779497, + "SATB1_CHW_FT03": 666.7485122768416, + "SATB1_CHW_FT04": 620, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 554.062359353903, + "SATB1_CHW_FT08": 595.6693282213703, + "SATB1_CHW_FT09": 194.6255313474137, + "SATB1_CHW_FT10": 375.1959365989433, + "t_stamp": 1776698171219 + }, + { + "SATB1_CHW_FT01": 112, + "SATB1_CHW_FT02": 124, + "SATB1_CHW_FT03": 666, + "SATB1_CHW_FT04": 620, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 585, + "SATB1_CHW_FT09": 195, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776698201219 + }, + { + "SATB1_CHW_FT01": 111.06181666666667, + "SATB1_CHW_FT02": 133.38102063264557, + "SATB1_CHW_FT03": 661.3120677299469, + "SATB1_CHW_FT04": 644.3871870937635, + "SATB1_CHW_FT05": 101.25703714814259, + "SATB1_CHW_FT06": 135.06221355598888, + "SATB1_CHW_FT07": 554.937603119844, + "SATB1_CHW_FT08": 743.4492942019566, + "SATB1_CHW_FT09": 182.81180940952953, + "SATB1_CHW_FT10": 372.24758762061896, + "t_stamp": 1776698231219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 134, + "SATB1_CHW_FT03": 661, + "SATB1_CHW_FT04": 646, + "SATB1_CHW_FT05": 102, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 754, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776698261219 + }, + { + "SATB1_CHW_FT01": 111.93818333333333, + "SATB1_CHW_FT02": 116.17550585019501, + "SATB1_CHW_FT03": 660.0624010400173, + "SATB1_CHW_FT04": 644.1240041334711, + "SATB1_CHW_FT05": 90.74262475415847, + "SATB1_CHW_FT06": 139.68907296909896, + "SATB1_CHW_FT07": 554.0624, + "SATB1_CHW_FT08": 752.1248354139236, + "SATB1_CHW_FT09": 179.18730312171868, + "SATB1_CHW_FT10": 375.75252508416946, + "t_stamp": 1776698291219 + }, + { + "SATB1_CHW_FT01": 112, + "SATB1_CHW_FT02": 115, + "SATB1_CHW_FT03": 660, + "SATB1_CHW_FT04": 644, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 752, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776698321219 + }, + { + "SATB1_CHW_FT01": 109.18545, + "SATB1_CHW_FT02": 121.56682388626857, + "SATB1_CHW_FT03": 655.3117655882794, + "SATB1_CHW_FT04": 635.558, + "SATB1_CHW_FT05": 88.12379793670105, + "SATB1_CHW_FT06": 139.06213644015534, + "SATB1_CHW_FT07": 555.8753250216681, + "SATB1_CHW_FT08": 662.9251295898129, + "SATB1_CHW_FT09": 189.31374902078437, + "SATB1_CHW_FT10": 357.2373333333333, + "t_stamp": 1776698351219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 122, + "SATB1_CHW_FT03": 655, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 556, + "SATB1_CHW_FT08": 657, + "SATB1_CHW_FT09": 190, + "SATB1_CHW_FT10": 356, + "t_stamp": 1776698381219 + }, + { + "SATB1_CHW_FT01": 110.87636666666667, + "SATB1_CHW_FT02": 111.6805446757446, + "SATB1_CHW_FT03": 649.3741937634372, + "SATB1_CHW_FT04": 643.4417186093797, + "SATB1_CHW_FT05": 89.87623127052117, + "SATB1_CHW_FT06": 142.75127910271152, + "SATB1_CHW_FT07": 547.5611406476559, + "SATB1_CHW_FT08": 653.2495291745138, + "SATB1_CHW_FT09": 173.123181280312, + "SATB1_CHW_FT10": 352.2474041234021, + "t_stamp": 1776698411219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 111, + "SATB1_CHW_FT03": 649, + "SATB1_CHW_FT04": 644, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 143, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 653, + "SATB1_CHW_FT09": 172, + "SATB1_CHW_FT10": 352, + "t_stamp": 1776698441219 + }, + { + "SATB1_CHW_FT01": 107.24726666666666, + "SATB1_CHW_FT02": 123.19573333333334, + "SATB1_CHW_FT03": 661.1896396546551, + "SATB1_CHW_FT04": 634.6200206673556, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 138.3106822007767, + "SATB1_CHW_FT07": 552.6260875362512, + "SATB1_CHW_FT08": 767.3930464348812, + "SATB1_CHW_FT09": 180.43868128937632, + "SATB1_CHW_FT10": 358.56705, + "t_stamp": 1776698471219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 124, + "SATB1_CHW_FT03": 662, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 553, + "SATB1_CHW_FT08": 775, + "SATB1_CHW_FT09": 181, + "SATB1_CHW_FT10": 359, + "t_stamp": 1776698501219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 130.56693333333334, + "SATB1_CHW_FT03": 673.2521875364589, + "SATB1_CHW_FT04": 628.3719061984366, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 138.93786666666668, + "SATB1_CHW_FT07": 553.9376989616494, + "SATB1_CHW_FT08": 709.3623120770692, + "SATB1_CHW_FT09": 186.6258937648961, + "SATB1_CHW_FT10": 364.62880618656357, + "t_stamp": 1776698531219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 131, + "SATB1_CHW_FT03": 674, + "SATB1_CHW_FT04": 628, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 705, + "SATB1_CHW_FT09": 187, + "SATB1_CHW_FT10": 365, + "t_stamp": 1776698561219 + }, + { + "SATB1_CHW_FT01": 106.06181666666667, + "SATB1_CHW_FT02": 143.19553007449875, + "SATB1_CHW_FT03": 663.6856552390793, + "SATB1_CHW_FT04": 636.442009299845, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 134.31066666666666, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 692.8105229825672, + "SATB1_CHW_FT09": 180.43655939067682, + "SATB1_CHW_FT10": 365.9381333333333, + "t_stamp": 1776698591219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 663, + "SATB1_CHW_FT04": 637, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 692, + "SATB1_CHW_FT09": 180, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776698621219 + }, + { + "SATB1_CHW_FT01": 104.12363333333333, + "SATB1_CHW_FT02": 136.4949415823597, + "SATB1_CHW_FT03": 655.4985416423607, + "SATB1_CHW_FT04": 644.5041250687511, + "SATB1_CHW_FT05": 93.75246254104235, + "SATB1_CHW_FT06": 125.5592, + "SATB1_CHW_FT07": 547.4361072684545, + "SATB1_CHW_FT08": 712.6286438107302, + "SATB1_CHW_FT09": 174.3741062351039, + "SATB1_CHW_FT10": 362.24746666666664, + "t_stamp": 1776698651219 + }, + { + "SATB1_CHW_FT01": 104, + "SATB1_CHW_FT02": 136, + "SATB1_CHW_FT03": 655, + "SATB1_CHW_FT04": 645, + "SATB1_CHW_FT05": 94, + "SATB1_CHW_FT06": 125, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 714, + "SATB1_CHW_FT09": 174, + "SATB1_CHW_FT10": 362, + "t_stamp": 1776698681219 + }, + { + "SATB1_CHW_FT01": 104, + "SATB1_CHW_FT02": 125.68087730408986, + "SATB1_CHW_FT03": 635.309634518274, + "SATB1_CHW_FT04": 645.9379854004867, + "SATB1_CHW_FT05": 84.61914602846572, + "SATB1_CHW_FT06": 125.93781977567788, + "SATB1_CHW_FT07": 547.9376374908339, + "SATB1_CHW_FT08": 711.1871406429678, + "SATB1_CHW_FT09": 180.56322183890805, + "SATB1_CHW_FT10": 360.1237646039233, + "t_stamp": 1776698711219 + }, + { + "SATB1_CHW_FT01": 104, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 634, + "SATB1_CHW_FT04": 646, + "SATB1_CHW_FT05": 84, + "SATB1_CHW_FT06": 126, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 711, + "SATB1_CHW_FT09": 181, + "SATB1_CHW_FT10": 360, + "t_stamp": 1776698741219 + }, + { + "SATB1_CHW_FT01": 104, + "SATB1_CHW_FT02": 131.56691889729657, + "SATB1_CHW_FT03": 661.193179545303, + "SATB1_CHW_FT04": 641.3100051667528, + "SATB1_CHW_FT05": 89.62868762292076, + "SATB1_CHW_FT06": 140.0679533976699, + "SATB1_CHW_FT07": 540.4984332288819, + "SATB1_CHW_FT08": 642.5494199613307, + "SATB1_CHW_FT09": 181.93766251083406, + "SATB1_CHW_FT10": 369.38132302205037, + "t_stamp": 1776698771219 + }, + { + "SATB1_CHW_FT01": 104, + "SATB1_CHW_FT02": 132, + "SATB1_CHW_FT03": 663, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 141, + "SATB1_CHW_FT07": 540, + "SATB1_CHW_FT08": 638, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 370, + "t_stamp": 1776698801219 + }, + { + "SATB1_CHW_FT01": 104.93816666666666, + "SATB1_CHW_FT02": 143.2574123764604, + "SATB1_CHW_FT03": 640.4955750737488, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 88.12376666666667, + "SATB1_CHW_FT06": 134.43493333333333, + "SATB1_CHW_FT07": 545.6262, + "SATB1_CHW_FT08": 695.1977300378327, + "SATB1_CHW_FT09": 179.18704688255195, + "SATB1_CHW_FT10": 364.3712, + "t_stamp": 1776698831219 + }, + { + "SATB1_CHW_FT01": 105, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 639, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 546, + "SATB1_CHW_FT08": 699, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 364, + "t_stamp": 1776698861219 + }, + { + "SATB1_CHW_FT01": 105, + "SATB1_CHW_FT02": 154.31945532425542, + "SATB1_CHW_FT03": 629.6237917472168, + "SATB1_CHW_FT04": 636.3099948334194, + "SATB1_CHW_FT05": 83.30941666666666, + "SATB1_CHW_FT06": 123.68398246754329, + "SATB1_CHW_FT07": 558.1892873808413, + "SATB1_CHW_FT08": 663.371041930538, + "SATB1_CHW_FT09": 203.37727484834343, + "SATB1_CHW_FT10": 365.87626666666665, + "t_stamp": 1776698891219 + }, + { + "SATB1_CHW_FT01": 105, + "SATB1_CHW_FT02": 155, + "SATB1_CHW_FT03": 629, + "SATB1_CHW_FT04": 636, + "SATB1_CHW_FT05": 83, + "SATB1_CHW_FT06": 123, + "SATB1_CHW_FT07": 559, + "SATB1_CHW_FT08": 661, + "SATB1_CHW_FT09": 205, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776698921219 + }, + { + "SATB1_CHW_FT01": 105.93816666666666, + "SATB1_CHW_FT02": 126.85646905884903, + "SATB1_CHW_FT03": 618.6857009517142, + "SATB1_CHW_FT04": 631.31, + "SATB1_CHW_FT05": 87.69058333333334, + "SATB1_CHW_FT06": 133.31632721090702, + "SATB1_CHW_FT07": 547.7480249341645, + "SATB1_CHW_FT08": 704.1317565878294, + "SATB1_CHW_FT09": 183.43486449548317, + "SATB1_CHW_FT10": 361.3093333333333, + "t_stamp": 1776698951219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 618, + "SATB1_CHW_FT04": 631, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 707, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 361, + "t_stamp": 1776698981219 + }, + { + "SATB1_CHW_FT01": 112.56716666666667, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 636.7489585763321, + "SATB1_CHW_FT04": 632.8759687338544, + "SATB1_CHW_FT05": 90.81430309494841, + "SATB1_CHW_FT06": 146.1918468025533, + "SATB1_CHW_FT07": 551.6873177478213, + "SATB1_CHW_FT08": 736.0594008264463, + "SATB1_CHW_FT09": 165.1276804905277, + "SATB1_CHW_FT10": 367.56693333333334, + "t_stamp": 1776699011219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 638, + "SATB1_CHW_FT04": 633, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 147, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 738, + "SATB1_CHW_FT09": 164, + "SATB1_CHW_FT10": 368, + "t_stamp": 1776699041219 + }, + { + "SATB1_CHW_FT01": 106.43283333333333, + "SATB1_CHW_FT02": 135.3191113481442, + "SATB1_CHW_FT03": 656.7499166611108, + "SATB1_CHW_FT04": 642.3793643651151, + "SATB1_CHW_FT05": 90.06191563473942, + "SATB1_CHW_FT06": 136.6846929422548, + "SATB1_CHW_FT07": 556.687562504167, + "SATB1_CHW_FT08": 775.4984582048504, + "SATB1_CHW_FT09": 178.0616405247279, + "SATB1_CHW_FT10": 368, + "t_stamp": 1776699071219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 136, + "SATB1_CHW_FT03": 658, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 557, + "SATB1_CHW_FT08": 778, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 368, + "t_stamp": 1776699101219 + }, + { + "SATB1_CHW_FT01": 113.50533333333334, + "SATB1_CHW_FT02": 139.7522749241692, + "SATB1_CHW_FT03": 649.5626406226563, + "SATB1_CHW_FT04": 616.7378666666667, + "SATB1_CHW_FT05": 88.12389587013766, + "SATB1_CHW_FT06": 134.12453125781238, + "SATB1_CHW_FT07": 548.5624906251562, + "SATB1_CHW_FT08": 699.2528, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 358.6191460284657, + "t_stamp": 1776699131219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 140, + "SATB1_CHW_FT03": 649, + "SATB1_CHW_FT04": 615, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 694, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 358, + "t_stamp": 1776699161219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 123.1148, + "SATB1_CHW_FT03": 641.5008832450088, + "SATB1_CHW_FT04": 641.2608202923187, + "SATB1_CHW_FT05": 91.7521374643756, + "SATB1_CHW_FT06": 139.6259311724023, + "SATB1_CHW_FT07": 554.5618438156184, + "SATB1_CHW_FT08": 699.6242375762424, + "SATB1_CHW_FT09": 188.37339599373396, + "SATB1_CHW_FT10": 358, + "t_stamp": 1776699191219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 122, + "SATB1_CHW_FT03": 641, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 92, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 700, + "SATB1_CHW_FT09": 189, + "SATB1_CHW_FT10": 358, + "t_stamp": 1776699221219 + }, + { + "SATB1_CHW_FT01": 110.24739587673538, + "SATB1_CHW_FT02": 141.6997283288055, + "SATB1_CHW_FT03": 651.3117322532794, + "SATB1_CHW_FT04": 636.4347072451208, + "SATB1_CHW_FT05": 99.50451681722724, + "SATB1_CHW_FT06": 135.31143742916194, + "SATB1_CHW_FT07": 548.4378718935947, + "SATB1_CHW_FT08": 737.4965414937413, + "SATB1_CHW_FT09": 185.2504166944463, + "SATB1_CHW_FT10": 370.1952865881098, + "t_stamp": 1776699251219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 143, + "SATB1_CHW_FT03": 652, + "SATB1_CHW_FT04": 636, + "SATB1_CHW_FT05": 100, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 740, + "SATB1_CHW_FT09": 185, + "SATB1_CHW_FT10": 371, + "t_stamp": 1776699281219 + }, + { + "SATB1_CHW_FT01": 103.43295, + "SATB1_CHW_FT02": 144.87616666666668, + "SATB1_CHW_FT03": 670.7467919874679, + "SATB1_CHW_FT04": 628.4974252145655, + "SATB1_CHW_FT05": 83.1148, + "SATB1_CHW_FT06": 133.12475419124755, + "SATB1_CHW_FT07": 550.8120219307748, + "SATB1_CHW_FT08": 593.7800589931174, + "SATB1_CHW_FT09": 185.937275029996, + "SATB1_CHW_FT10": 369.1238, + "t_stamp": 1776699311219 + }, + { + "SATB1_CHW_FT01": 103, + "SATB1_CHW_FT02": 145, + "SATB1_CHW_FT03": 672, + "SATB1_CHW_FT04": 628, + "SATB1_CHW_FT05": 82, + "SATB1_CHW_FT06": 133, + "SATB1_CHW_FT07": 551, + "SATB1_CHW_FT08": 584, + "SATB1_CHW_FT09": 186, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776699341219 + }, + { + "SATB1_CHW_FT01": 102.06185, + "SATB1_CHW_FT02": 139.3715, + "SATB1_CHW_FT03": 652.3127187864644, + "SATB1_CHW_FT04": 643.0068174620372, + "SATB1_CHW_FT05": 83.87613333333333, + "SATB1_CHW_FT06": 133.93774169889318, + "SATB1_CHW_FT07": 541.6249479071163, + "SATB1_CHW_FT08": 627.123706012769, + "SATB1_CHW_FT09": 185.06256146960277, + "SATB1_CHW_FT10": 371.8143, + "t_stamp": 1776699371219 + }, + { + "SATB1_CHW_FT01": 102, + "SATB1_CHW_FT02": 139, + "SATB1_CHW_FT03": 651, + "SATB1_CHW_FT04": 644, + "SATB1_CHW_FT05": 84, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 541, + "SATB1_CHW_FT08": 630, + "SATB1_CHW_FT09": 185, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776699401219 + }, + { + "SATB1_CHW_FT01": 110.44335, + "SATB1_CHW_FT02": 135.24760412673544, + "SATB1_CHW_FT03": 638.8112811281128, + "SATB1_CHW_FT04": 623.3647788259609, + "SATB1_CHW_FT05": 85.87616460274337, + "SATB1_CHW_FT06": 136.81339066953348, + "SATB1_CHW_FT07": 551.3137147048038, + "SATB1_CHW_FT08": 730.3207487415408, + "SATB1_CHW_FT09": 187.81267814578368, + "SATB1_CHW_FT10": 362.619, + "t_stamp": 1776699431219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 135, + "SATB1_CHW_FT03": 638, + "SATB1_CHW_FT04": 622, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 137, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 737, + "SATB1_CHW_FT09": 188, + "SATB1_CHW_FT10": 362, + "t_stamp": 1776699461219 + }, + { + "SATB1_CHW_FT01": 110.06185, + "SATB1_CHW_FT02": 131.24766253895768, + "SATB1_CHW_FT03": 648.3139437981266, + "SATB1_CHW_FT04": 650.139, + "SATB1_CHW_FT05": 87.87613539774337, + "SATB1_CHW_FT06": 137, + "SATB1_CHW_FT07": 551.0623677061284, + "SATB1_CHW_FT08": 740.7504583486116, + "SATB1_CHW_FT09": 179.56175936265603, + "SATB1_CHW_FT10": 365.7524, + "t_stamp": 1776699491219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 131, + "SATB1_CHW_FT03": 649, + "SATB1_CHW_FT04": 652, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 137, + "SATB1_CHW_FT07": 551, + "SATB1_CHW_FT08": 741, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776699521219 + }, + { + "SATB1_CHW_FT01": 110.93815, + "SATB1_CHW_FT02": 136.62859380989684, + "SATB1_CHW_FT03": 659.3137947700872, + "SATB1_CHW_FT04": 643.5581593026551, + "SATB1_CHW_FT05": 90.81424690411507, + "SATB1_CHW_FT06": 136.06219896335062, + "SATB1_CHW_FT07": 546.3119114681422, + "SATB1_CHW_FT08": 569.4190096831719, + "SATB1_CHW_FT09": 196.8137864368927, + "SATB1_CHW_FT10": 370.6905, + "t_stamp": 1776699551219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 137, + "SATB1_CHW_FT03": 660, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 546, + "SATB1_CHW_FT08": 558, + "SATB1_CHW_FT09": 198, + "SATB1_CHW_FT10": 371, + "t_stamp": 1776699581219 + }, + { + "SATB1_CHW_FT01": 102.55665, + "SATB1_CHW_FT02": 137, + "SATB1_CHW_FT03": 648.7502874568814, + "SATB1_CHW_FT04": 644.8758103491376, + "SATB1_CHW_FT05": 86.3098178424412, + "SATB1_CHW_FT06": 132.24911257395217, + "SATB1_CHW_FT07": 544.1250479094803, + "SATB1_CHW_FT08": 556.1251124812532, + "SATB1_CHW_FT09": 183.00118315585996, + "SATB1_CHW_FT10": 355.99065015583074, + "t_stamp": 1776699611219 + }, + { + "SATB1_CHW_FT01": 102, + "SATB1_CHW_FT02": 137, + "SATB1_CHW_FT03": 648, + "SATB1_CHW_FT04": 645, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 132, + "SATB1_CHW_FT07": 544, + "SATB1_CHW_FT08": 556, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 355, + "t_stamp": 1776699641219 + }, + { + "SATB1_CHW_FT01": 104.81445, + "SATB1_CHW_FT02": 136.0619020634021, + "SATB1_CHW_FT03": 661.1260647075492, + "SATB1_CHW_FT04": 643.1241687361456, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 134.8132906645332, + "SATB1_CHW_FT07": 542.1248478989215, + "SATB1_CHW_FT08": 686.3184371510009, + "SATB1_CHW_FT09": 211.0633073858617, + "SATB1_CHW_FT10": 360.6285938098968, + "t_stamp": 1776699671219 + }, + { + "SATB1_CHW_FT01": 105, + "SATB1_CHW_FT02": 136, + "SATB1_CHW_FT03": 662, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 542, + "SATB1_CHW_FT08": 695, + "SATB1_CHW_FT09": 213, + "SATB1_CHW_FT10": 361, + "t_stamp": 1776699701219 + }, + { + "SATB1_CHW_FT01": 113.44335, + "SATB1_CHW_FT02": 147.25701238312695, + "SATB1_CHW_FT03": 645.1229374312477, + "SATB1_CHW_FT04": 643.937963564845, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 134.06218644265547, + "SATB1_CHW_FT07": 547.6257812890644, + "SATB1_CHW_FT08": 707.188759437972, + "SATB1_CHW_FT09": 183.93501341733753, + "SATB1_CHW_FT10": 368.5048, + "t_stamp": 1776699731219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 148, + "SATB1_CHW_FT03": 644, + "SATB1_CHW_FT04": 644, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 708, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776699761219 + }, + { + "SATB1_CHW_FT01": 112.12373127114549, + "SATB1_CHW_FT02": 147.06191666666666, + "SATB1_CHW_FT03": 650.5632072798787, + "SATB1_CHW_FT04": 634.6203333333333, + "SATB1_CHW_FT05": 89.75226666666667, + "SATB1_CHW_FT06": 135.8755708143062, + "SATB1_CHW_FT07": 551.7504083197226, + "SATB1_CHW_FT08": 732.3771937134381, + "SATB1_CHW_FT09": 166.06161461284623, + "SATB1_CHW_FT10": 353.9904, + "t_stamp": 1776699791219 + }, + { + "SATB1_CHW_FT01": 112, + "SATB1_CHW_FT02": 147, + "SATB1_CHW_FT03": 651, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 734, + "SATB1_CHW_FT09": 165, + "SATB1_CHW_FT10": 353, + "t_stamp": 1776699821219 + }, + { + "SATB1_CHW_FT01": 109.1856, + "SATB1_CHW_FT02": 124.48637522707955, + "SATB1_CHW_FT03": 636.936, + "SATB1_CHW_FT04": 630.2481958634023, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 141.6267, + "SATB1_CHW_FT07": 547.3119218653644, + "SATB1_CHW_FT08": 686.18325, + "SATB1_CHW_FT09": 175.31322188703146, + "SATB1_CHW_FT10": 371.7616873052116, + "t_stamp": 1776699851219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 123, + "SATB1_CHW_FT03": 636, + "SATB1_CHW_FT04": 630, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 142, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 683, + "SATB1_CHW_FT09": 176, + "SATB1_CHW_FT10": 373, + "t_stamp": 1776699881219 + }, + { + "SATB1_CHW_FT01": 112.75253333333333, + "SATB1_CHW_FT02": 136.13315221920365, + "SATB1_CHW_FT03": 653.8102442763355, + "SATB1_CHW_FT04": 611.241, + "SATB1_CHW_FT05": 87.18575619187307, + "SATB1_CHW_FT06": 138.24886666666666, + "SATB1_CHW_FT07": 547.9374135603953, + "SATB1_CHW_FT08": 586.4546620901093, + "SATB1_CHW_FT09": 176.93728548102237, + "SATB1_CHW_FT10": 378.6285938098968, + "t_stamp": 1776699911219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 137, + "SATB1_CHW_FT03": 655, + "SATB1_CHW_FT04": 610, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 580, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 379, + "t_stamp": 1776699941219 + }, + { + "SATB1_CHW_FT01": 106.43306666666666, + "SATB1_CHW_FT02": 125.743, + "SATB1_CHW_FT03": 635.3100493464924, + "SATB1_CHW_FT04": 637.2010033500559, + "SATB1_CHW_FT05": 95.44260928984517, + "SATB1_CHW_FT06": 142.6891511242229, + "SATB1_CHW_FT07": 547.0623655913978, + "SATB1_CHW_FT08": 685.010969957654, + "SATB1_CHW_FT09": 177.93757919306435, + "SATB1_CHW_FT10": 350.85699999999997, + "t_stamp": 1776699971219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 125, + "SATB1_CHW_FT03": 634, + "SATB1_CHW_FT04": 639, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 143, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 692, + "SATB1_CHW_FT09": 178, + "SATB1_CHW_FT10": 349, + "t_stamp": 1776700001219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 139.07054647267637, + "SATB1_CHW_FT03": 651.812658312225, + "SATB1_CHW_FT04": 642.7516165588961, + "SATB1_CHW_FT05": 88.49584187457293, + "SATB1_CHW_FT06": 139.24910427116836, + "SATB1_CHW_FT07": 545.1249500066658, + "SATB1_CHW_FT08": 738.8745833888814, + "SATB1_CHW_FT09": 188.3120531920212, + "SATB1_CHW_FT10": 355.5662622491834, + "t_stamp": 1776700031219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 140, + "SATB1_CHW_FT03": 653, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 742, + "SATB1_CHW_FT09": 189, + "SATB1_CHW_FT10": 356, + "t_stamp": 1776700061219 + }, + { + "SATB1_CHW_FT01": 108.8144, + "SATB1_CHW_FT02": 140.9380802373452, + "SATB1_CHW_FT03": 677.3786567985197, + "SATB1_CHW_FT04": 637.3721310109175, + "SATB1_CHW_FT05": 90.81419070953548, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 552.5012585221117, + "SATB1_CHW_FT08": 701.6821689920155, + "SATB1_CHW_FT09": 179.62393732288714, + "SATB1_CHW_FT10": 364.44286285752383, + "t_stamp": 1776700091219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 141, + "SATB1_CHW_FT03": 679, + "SATB1_CHW_FT04": 637, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 553, + "SATB1_CHW_FT08": 699, + "SATB1_CHW_FT09": 179, + "SATB1_CHW_FT10": 365, + "t_stamp": 1776700121219 + }, + { + "SATB1_CHW_FT01": 106.1856, + "SATB1_CHW_FT02": 142.87613539774338, + "SATB1_CHW_FT03": 680.8751749883342, + "SATB1_CHW_FT04": 635.1240645989234, + "SATB1_CHW_FT05": 86.30966666666667, + "SATB1_CHW_FT06": 134.31106259582694, + "SATB1_CHW_FT07": 553.9375885342888, + "SATB1_CHW_FT08": 711.1884207719486, + "SATB1_CHW_FT09": 186.50030830764103, + "SATB1_CHW_FT10": 370.6285061915635, + "t_stamp": 1776700151219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 143, + "SATB1_CHW_FT03": 681, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 712, + "SATB1_CHW_FT09": 187, + "SATB1_CHW_FT10": 371, + "t_stamp": 1776700181219 + }, + { + "SATB1_CHW_FT01": 107.87626666666667, + "SATB1_CHW_FT02": 137.37150619176987, + "SATB1_CHW_FT03": 662.2489583680544, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 89.75226666666667, + "SATB1_CHW_FT06": 134.9377677038716, + "SATB1_CHW_FT07": 547.437135428819, + "SATB1_CHW_FT08": 687.6240791973601, + "SATB1_CHW_FT09": 183.2499291678472, + "SATB1_CHW_FT10": 375.6904166666667, + "t_stamp": 1776700211219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 137, + "SATB1_CHW_FT03": 661, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 686, + "SATB1_CHW_FT09": 183, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776700241219 + }, + { + "SATB1_CHW_FT01": 109.87626666666667, + "SATB1_CHW_FT02": 143.56658333333334, + "SATB1_CHW_FT03": 653.499224961248, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 93.75226666666667, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 538.5614874324955, + "SATB1_CHW_FT08": 690.6879010617198, + "SATB1_CHW_FT09": 174.5619280964048, + "SATB1_CHW_FT10": 370.3715, + "t_stamp": 1776700271219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 653, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 94, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 538, + "SATB1_CHW_FT08": 691, + "SATB1_CHW_FT09": 174, + "SATB1_CHW_FT10": 370, + "t_stamp": 1776700301219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 139.30966150564157, + "SATB1_CHW_FT03": 692.3785436909385, + "SATB1_CHW_FT04": 646.2553751791727, + "SATB1_CHW_FT05": 87.43364277262046, + "SATB1_CHW_FT06": 134.06221666666667, + "SATB1_CHW_FT07": 544.5630978967367, + "SATB1_CHW_FT08": 640.3713438109365, + "SATB1_CHW_FT09": 182.43795936734386, + "SATB1_CHW_FT10": 367.1857969033849, + "t_stamp": 1776700331219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 139, + "SATB1_CHW_FT03": 695, + "SATB1_CHW_FT04": 647, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 637, + "SATB1_CHW_FT09": 183, + "SATB1_CHW_FT10": 367, + "t_stamp": 1776700361219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 111.79606666666666, + "SATB1_CHW_FT03": 643.4303381835758, + "SATB1_CHW_FT04": 647, + "SATB1_CHW_FT05": 87.93805, + "SATB1_CHW_FT06": 133.06218540618022, + "SATB1_CHW_FT07": 554.3763021484408, + "SATB1_CHW_FT08": 684.8182909145457, + "SATB1_CHW_FT09": 191.43823127437582, + "SATB1_CHW_FT10": 355.74301238353974, + "t_stamp": 1776700391219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 110, + "SATB1_CHW_FT03": 640, + "SATB1_CHW_FT04": 647, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 133, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 688, + "SATB1_CHW_FT09": 192, + "SATB1_CHW_FT10": 355, + "t_stamp": 1776700421219 + }, + { + "SATB1_CHW_FT01": 112.81435, + "SATB1_CHW_FT02": 119.38066666666667, + "SATB1_CHW_FT03": 668.129, + "SATB1_CHW_FT04": 650.7518041365977, + "SATB1_CHW_FT05": 91.7522, + "SATB1_CHW_FT06": 123.62183333333333, + "SATB1_CHW_FT07": 550.3118333333333, + "SATB1_CHW_FT08": 602.6768833333333, + "SATB1_CHW_FT09": 186.374406240104, + "SATB1_CHW_FT10": 373.76166666666666, + "t_stamp": 1776700451219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 120, + "SATB1_CHW_FT03": 670, + "SATB1_CHW_FT04": 651, + "SATB1_CHW_FT05": 92, + "SATB1_CHW_FT06": 123, + "SATB1_CHW_FT07": 550, + "SATB1_CHW_FT08": 597, + "SATB1_CHW_FT09": 186, + "SATB1_CHW_FT10": 375, + "t_stamp": 1776700481219 + }, + { + "SATB1_CHW_FT01": 111.12376666666667, + "SATB1_CHW_FT02": 141.5751737471042, + "SATB1_CHW_FT03": 667.1871, + "SATB1_CHW_FT04": 663.19335, + "SATB1_CHW_FT05": 94.81410309828169, + "SATB1_CHW_FT06": 127.68908333333333, + "SATB1_CHW_FT07": 548.1247333333333, + "SATB1_CHW_FT08": 672.94695, + "SATB1_CHW_FT09": 186.93758437359378, + "SATB1_CHW_FT10": 367.4954584090265, + "t_stamp": 1776700511219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 143, + "SATB1_CHW_FT03": 667, + "SATB1_CHW_FT04": 664, + "SATB1_CHW_FT05": 95, + "SATB1_CHW_FT06": 128, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 678, + "SATB1_CHW_FT09": 187, + "SATB1_CHW_FT10": 367, + "t_stamp": 1776700541219 + }, + { + "SATB1_CHW_FT01": 110.06188333333333, + "SATB1_CHW_FT02": 131.7434, + "SATB1_CHW_FT03": 645.4401826179685, + "SATB1_CHW_FT04": 643.3664755682954, + "SATB1_CHW_FT05": 91.24792920117999, + "SATB1_CHW_FT06": 139.25211218317253, + "SATB1_CHW_FT07": 542.3756060984754, + "SATB1_CHW_FT08": 601.1359304185551, + "SATB1_CHW_FT09": 182.31333311117035, + "SATB1_CHW_FT10": 364.1858, + "t_stamp": 1776700571219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 131, + "SATB1_CHW_FT03": 644, + "SATB1_CHW_FT04": 642, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 542, + "SATB1_CHW_FT08": 596, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 364, + "t_stamp": 1776700601219 + }, + { + "SATB1_CHW_FT01": 112.81064931173954, + "SATB1_CHW_FT02": 145.05154622016576, + "SATB1_CHW_FT03": 638.3835693956693, + "SATB1_CHW_FT04": 639.1902368390394, + "SATB1_CHW_FT05": 87.25299179441087, + "SATB1_CHW_FT06": 136.25457692563745, + "SATB1_CHW_FT07": 546.6803641568471, + "SATB1_CHW_FT08": 736.4059316956261, + "SATB1_CHW_FT09": 195.1040876106784, + "SATB1_CHW_FT10": 370.5575047435172, + "t_stamp": 1776700631219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 146, + "SATB1_CHW_FT03": 638, + "SATB1_CHW_FT04": 639, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 746, + "SATB1_CHW_FT09": 196, + "SATB1_CHW_FT10": 371, + "t_stamp": 1776700661219 + }, + { + "SATB1_CHW_FT01": 110.18730296408734, + "SATB1_CHW_FT02": 128.18728209918763, + "SATB1_CHW_FT03": 656.74028097574, + "SATB1_CHW_FT04": 638.062609479005, + "SATB1_CHW_FT05": 95.43759383445101, + "SATB1_CHW_FT06": 139.7488154821488, + "SATB1_CHW_FT07": 551.6851484157309, + "SATB1_CHW_FT08": 743.189011062353, + "SATB1_CHW_FT09": 181.00834278849362, + "SATB1_CHW_FT10": 373.8125844495971, + "t_stamp": 1776700691219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 127, + "SATB1_CHW_FT03": 658, + "SATB1_CHW_FT04": 638, + "SATB1_CHW_FT05": 96, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 743, + "SATB1_CHW_FT09": 180, + "SATB1_CHW_FT10": 374, + "t_stamp": 1776700721219 + }, + { + "SATB1_CHW_FT01": 110.93761666666667, + "SATB1_CHW_FT02": 128.87513333333334, + "SATB1_CHW_FT03": 658.9371145704857, + "SATB1_CHW_FT04": 631.43785, + "SATB1_CHW_FT05": 94.12489791836802, + "SATB1_CHW_FT06": 138.12540418013933, + "SATB1_CHW_FT07": 548.2514750491683, + "SATB1_CHW_FT08": 755.1822727424247, + "SATB1_CHW_FT09": 183.7483249441648, + "SATB1_CHW_FT10": 359.9364843919268, + "t_stamp": 1776700751219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 129, + "SATB1_CHW_FT03": 659, + "SATB1_CHW_FT04": 631, + "SATB1_CHW_FT05": 94, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 548, + "SATB1_CHW_FT08": 756, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 359, + "t_stamp": 1776700781219 + }, + { + "SATB1_CHW_FT01": 112.87523333333333, + "SATB1_CHW_FT02": 114.93696876770774, + "SATB1_CHW_FT03": 650.5681984804053, + "SATB1_CHW_FT04": 639.436206379362, + "SATB1_CHW_FT05": 96.81250937453127, + "SATB1_CHW_FT06": 136.12558744125587, + "SATB1_CHW_FT07": 545.1893495067982, + "SATB1_CHW_FT08": 691.3584151157172, + "SATB1_CHW_FT09": 194.3046535263833, + "SATB1_CHW_FT10": 378.6882437252092, + "t_stamp": 1776700811219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 114, + "SATB1_CHW_FT03": 650, + "SATB1_CHW_FT04": 640, + "SATB1_CHW_FT05": 97, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 687, + "SATB1_CHW_FT09": 195, + "SATB1_CHW_FT10": 380, + "t_stamp": 1776700841219 + }, + { + "SATB1_CHW_FT01": 112.06238333333333, + "SATB1_CHW_FT02": 144.00206673555786, + "SATB1_CHW_FT03": 654.6855775803144, + "SATB1_CHW_FT04": 632.5004500450045, + "SATB1_CHW_FT05": 82.93679683984199, + "SATB1_CHW_FT06": 134.12541254125412, + "SATB1_CHW_FT07": 551.5598159509202, + "SATB1_CHW_FT08": 693.5596845720382, + "SATB1_CHW_FT09": 181.88111235224488, + "SATB1_CHW_FT10": 384.6878229274309, + "t_stamp": 1776700871219 + }, + { + "SATB1_CHW_FT01": 112, + "SATB1_CHW_FT02": 146, + "SATB1_CHW_FT03": 655, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 82, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 694, + "SATB1_CHW_FT09": 181, + "SATB1_CHW_FT10": 385, + "t_stamp": 1776700901219 + }, + { + "SATB1_CHW_FT01": 106.374393760104, + "SATB1_CHW_FT02": 152.56263853473993, + "SATB1_CHW_FT03": 661.5581844841375, + "SATB1_CHW_FT04": 624.5012748512673, + "SATB1_CHW_FT05": 92.31253437328134, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 554.8106973256686, + "SATB1_CHW_FT08": 729.6009397494001, + "SATB1_CHW_FT09": 184.74733404425487, + "SATB1_CHW_FT10": 383.1249291690277, + "t_stamp": 1776700931219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 153, + "SATB1_CHW_FT03": 662, + "SATB1_CHW_FT04": 624, + "SATB1_CHW_FT05": 93, + "SATB1_CHW_FT06": 134, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 732, + "SATB1_CHW_FT09": 185, + "SATB1_CHW_FT10": 383, + "t_stamp": 1776700961219 + }, + { + "SATB1_CHW_FT01": 113.5008, + "SATB1_CHW_FT02": 135.18718333333334, + "SATB1_CHW_FT03": 638.5771621914429, + "SATB1_CHW_FT04": 619.3132552209204, + "SATB1_CHW_FT05": 96.75, + "SATB1_CHW_FT06": 139.62298743291444, + "SATB1_CHW_FT07": 552.1892094604731, + "SATB1_CHW_FT08": 716.0727536376819, + "SATB1_CHW_FT09": 196.24236211810592, + "SATB1_CHW_FT10": 370.8120666666667, + "t_stamp": 1776700991219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 134, + "SATB1_CHW_FT03": 637, + "SATB1_CHW_FT04": 619, + "SATB1_CHW_FT05": 97, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 715, + "SATB1_CHW_FT09": 197, + "SATB1_CHW_FT10": 370, + "t_stamp": 1776701021219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 132.12493541559027, + "SATB1_CHW_FT03": 642.6211252583162, + "SATB1_CHW_FT04": 628.3735, + "SATB1_CHW_FT05": 51.999249987499795, + "SATB1_CHW_FT06": 138.12572914236193, + "SATB1_CHW_FT07": 552.936870875275, + "SATB1_CHW_FT08": 703.7579494700353, + "SATB1_CHW_FT09": 203.55762949136724, + "SATB1_CHW_FT10": 390.62607710128503, + "t_stamp": 1776701051219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 132, + "SATB1_CHW_FT03": 643, + "SATB1_CHW_FT04": 629, + "SATB1_CHW_FT05": 49, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 553, + "SATB1_CHW_FT08": 703, + "SATB1_CHW_FT09": 204, + "SATB1_CHW_FT10": 392, + "t_stamp": 1776701081219 + }, + { + "SATB1_CHW_FT01": 108.3744, + "SATB1_CHW_FT02": 135.75013333333334, + "SATB1_CHW_FT03": 650.4951747587379, + "SATB1_CHW_FT04": 608.3779562992717, + "SATB1_CHW_FT05": 94.93755104081598, + "SATB1_CHW_FT06": 138.93718019234296, + "SATB1_CHW_FT07": 556.7476540493691, + "SATB1_CHW_FT08": 661.7772721969432, + "SATB1_CHW_FT09": 185.26275085005668, + "SATB1_CHW_FT10": 366.6865718904685, + "t_stamp": 1776701111219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 136, + "SATB1_CHW_FT03": 651, + "SATB1_CHW_FT04": 607, + "SATB1_CHW_FT05": 98, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 557, + "SATB1_CHW_FT08": 659, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 365, + "t_stamp": 1776701141219 + }, + { + "SATB1_CHW_FT01": 107.0624, + "SATB1_CHW_FT02": 121.93676561276021, + "SATB1_CHW_FT03": 645.3786936884385, + "SATB1_CHW_FT04": 635.1200626645779, + "SATB1_CHW_FT05": 86.74962498749959, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 555.1261978967017, + "SATB1_CHW_FT08": 742.3812269795503, + "SATB1_CHW_FT09": 189.62110631489475, + "SATB1_CHW_FT10": 361.2498041634027, + "t_stamp": 1776701171219 + }, + { + "SATB1_CHW_FT01": 107, + "SATB1_CHW_FT02": 121, + "SATB1_CHW_FT03": 645, + "SATB1_CHW_FT04": 637, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 139, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 748, + "SATB1_CHW_FT09": 190, + "SATB1_CHW_FT10": 361, + "t_stamp": 1776701201219 + }, + { + "SATB1_CHW_FT01": 109.8128, + "SATB1_CHW_FT02": 142.56329061182313, + "SATB1_CHW_FT03": 651.5584019467316, + "SATB1_CHW_FT04": 631.3757187859393, + "SATB1_CHW_FT05": 88.8125531241146, + "SATB1_CHW_FT06": 131.50267504458407, + "SATB1_CHW_FT07": 554.0630843847398, + "SATB1_CHW_FT08": 709.5878264637744, + "SATB1_CHW_FT09": 182.50507508458475, + "SATB1_CHW_FT10": 366.6253, + "t_stamp": 1776701231219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 144, + "SATB1_CHW_FT03": 652, + "SATB1_CHW_FT04": 631, + "SATB1_CHW_FT05": 89, + "SATB1_CHW_FT06": 131, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 707, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 367, + "t_stamp": 1776701261219 + }, + { + "SATB1_CHW_FT01": 108.1248, + "SATB1_CHW_FT02": 140.24986666666666, + "SATB1_CHW_FT03": 640.7560630052504, + "SATB1_CHW_FT04": 629.1252020867014, + "SATB1_CHW_FT05": 88.06248333333333, + "SATB1_CHW_FT06": 135.68606763671517, + "SATB1_CHW_FT07": 554.9369947495625, + "SATB1_CHW_FT08": 746.3523793649471, + "SATB1_CHW_FT09": 171.69360780065006, + "SATB1_CHW_FT10": 366.0624656255729, + "t_stamp": 1776701291219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 140, + "SATB1_CHW_FT03": 640, + "SATB1_CHW_FT04": 629, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 555, + "SATB1_CHW_FT08": 749, + "SATB1_CHW_FT09": 171, + "SATB1_CHW_FT10": 366, + "t_stamp": 1776701321219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 124.99946666666666, + "SATB1_CHW_FT03": 636.2520624656256, + "SATB1_CHW_FT04": 643.061, + "SATB1_CHW_FT05": 89.87503333333333, + "SATB1_CHW_FT06": 143.49773333333334, + "SATB1_CHW_FT07": 545.63, + "SATB1_CHW_FT08": 597.2114, + "SATB1_CHW_FT09": 182.24321261312312, + "SATB1_CHW_FT10": 365.0624510408507, + "t_stamp": 1776701351219 + }, + { + "SATB1_CHW_FT01": 108, + "SATB1_CHW_FT02": 124, + "SATB1_CHW_FT03": 636, + "SATB1_CHW_FT04": 644, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 144, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 587, + "SATB1_CHW_FT09": 183, + "SATB1_CHW_FT10": 365, + "t_stamp": 1776701381219 + }, + { + "SATB1_CHW_FT01": 101.43690938484359, + "SATB1_CHW_FT02": 112.74978750354161, + "SATB1_CHW_FT03": 643.4957417376377, + "SATB1_CHW_FT04": 632.7515749475017, + "SATB1_CHW_FT05": 88.12502916569447, + "SATB1_CHW_FT06": 144.93720104664922, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 699.4341260978983, + "SATB1_CHW_FT09": 181.12613333333334, + "SATB1_CHW_FT10": 371.56274062098964, + "t_stamp": 1776701411219 + }, + { + "SATB1_CHW_FT01": 101, + "SATB1_CHW_FT02": 112, + "SATB1_CHW_FT03": 644, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 145, + "SATB1_CHW_FT07": 545, + "SATB1_CHW_FT08": 707, + "SATB1_CHW_FT09": 181, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776701441219 + }, + { + "SATB1_CHW_FT01": 105.68791666666667, + "SATB1_CHW_FT02": 133.56324272071203, + "SATB1_CHW_FT03": 648.684755254079, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 90.81254375145838, + "SATB1_CHW_FT06": 138.4397093381777, + "SATB1_CHW_FT07": 542.1890968483858, + "SATB1_CHW_FT08": 647.0361993966767, + "SATB1_CHW_FT09": 176.31548948368388, + "SATB1_CHW_FT10": 367.31233333333336, + "t_stamp": 1776701471219 + }, + { + "SATB1_CHW_FT01": 106, + "SATB1_CHW_FT02": 135, + "SATB1_CHW_FT03": 649, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 91, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 542, + "SATB1_CHW_FT08": 643, + "SATB1_CHW_FT09": 176, + "SATB1_CHW_FT10": 367, + "t_stamp": 1776701501219 + }, + { + "SATB1_CHW_FT01": 112.56308333333334, + "SATB1_CHW_FT02": 142.50026666666668, + "SATB1_CHW_FT03": 652.7478, + "SATB1_CHW_FT04": 632.9373822897048, + "SATB1_CHW_FT05": 86.31241666666666, + "SATB1_CHW_FT06": 136.12560209336823, + "SATB1_CHW_FT07": 551.3696666666667, + "SATB1_CHW_FT08": 732.0086666666666, + "SATB1_CHW_FT09": 172.25233753895898, + "SATB1_CHW_FT10": 375.4378, + "t_stamp": 1776701531219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 143, + "SATB1_CHW_FT03": 653, + "SATB1_CHW_FT04": 633, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 552, + "SATB1_CHW_FT08": 738, + "SATB1_CHW_FT09": 172, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776701561219 + }, + { + "SATB1_CHW_FT01": 111.12483333333333, + "SATB1_CHW_FT02": 127.06246458451385, + "SATB1_CHW_FT03": 636.136024265049, + "SATB1_CHW_FT04": 640.49869173208, + "SATB1_CHW_FT05": 84.12506041364598, + "SATB1_CHW_FT06": 135.06289371062894, + "SATB1_CHW_FT07": 539.8202453169789, + "SATB1_CHW_FT08": 568.4263715752284, + "SATB1_CHW_FT09": 186.98941754853763, + "SATB1_CHW_FT10": 372.2499291678472, + "t_stamp": 1776701591219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 126, + "SATB1_CHW_FT03": 635, + "SATB1_CHW_FT04": 641, + "SATB1_CHW_FT05": 84, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 539, + "SATB1_CHW_FT08": 557, + "SATB1_CHW_FT09": 188, + "SATB1_CHW_FT10": 372, + "t_stamp": 1776701621219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 116.62484374739579, + "SATB1_CHW_FT03": 637.8108373891592, + "SATB1_CHW_FT04": 648.4990416187476, + "SATB1_CHW_FT05": 87.74999166638888, + "SATB1_CHW_FT06": 137.81153429452453, + "SATB1_CHW_FT07": 525.8825255017001, + "SATB1_CHW_FT08": 601.035669044603, + "SATB1_CHW_FT09": 184.25241682778852, + "SATB1_CHW_FT10": 374.81259687661463, + "t_stamp": 1776701651219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 116, + "SATB1_CHW_FT03": 638, + "SATB1_CHW_FT04": 649, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 138, + "SATB1_CHW_FT07": 525, + "SATB1_CHW_FT08": 604, + "SATB1_CHW_FT09": 184, + "SATB1_CHW_FT10": 375, + "t_stamp": 1776701681219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 115.06249895835069, + "SATB1_CHW_FT03": 642.6837351907087, + "SATB1_CHW_FT04": 649, + "SATB1_CHW_FT05": 86.12503124947918, + "SATB1_CHW_FT06": 139.87436666666667, + "SATB1_CHW_FT07": 549.3562620809172, + "SATB1_CHW_FT08": 677.9992335249522, + "SATB1_CHW_FT09": 176.50679818715008, + "SATB1_CHW_FT10": 362.8122697955034, + "t_stamp": 1776701711219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 115, + "SATB1_CHW_FT03": 643, + "SATB1_CHW_FT04": 649, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 551, + "SATB1_CHW_FT08": 683, + "SATB1_CHW_FT09": 176, + "SATB1_CHW_FT10": 362, + "t_stamp": 1776701741219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 139.37540625677093, + "SATB1_CHW_FT03": 667.3595325809732, + "SATB1_CHW_FT04": 639.6263333333334, + "SATB1_CHW_FT05": 83.18750312505209, + "SATB1_CHW_FT06": 133.43971666666667, + "SATB1_CHW_FT07": 546.3153858976497, + "SATB1_CHW_FT08": 561.2068080282723, + "SATB1_CHW_FT09": 189.1159270496449, + "SATB1_CHW_FT10": 373.2503875064584, + "t_stamp": 1776701771219 + }, + { + "SATB1_CHW_FT01": 111, + "SATB1_CHW_FT02": 141, + "SATB1_CHW_FT03": 669, + "SATB1_CHW_FT04": 639, + "SATB1_CHW_FT05": 83, + "SATB1_CHW_FT06": 133, + "SATB1_CHW_FT07": 546, + "SATB1_CHW_FT08": 553, + "SATB1_CHW_FT09": 190, + "SATB1_CHW_FT10": 374, + "t_stamp": 1776701801219 + }, + { + "SATB1_CHW_FT01": 110.06254270335127, + "SATB1_CHW_FT02": 136.31311969871186, + "SATB1_CHW_FT03": 671.8104689531046, + "SATB1_CHW_FT04": 637.1255165977869, + "SATB1_CHW_FT05": 82.06262498333555, + "SATB1_CHW_FT06": 126.44070056158243, + "SATB1_CHW_FT07": 529.1371673304781, + "SATB1_CHW_FT08": 641.0582275105822, + "SATB1_CHW_FT09": 177.8219511382195, + "SATB1_CHW_FT10": 373.0626072755753, + "t_stamp": 1776701831219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 136, + "SATB1_CHW_FT03": 672, + "SATB1_CHW_FT04": 637, + "SATB1_CHW_FT05": 82, + "SATB1_CHW_FT06": 126, + "SATB1_CHW_FT07": 528, + "SATB1_CHW_FT08": 647, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 373, + "t_stamp": 1776701861219 + }, + { + "SATB1_CHW_FT01": 112.81267814578368, + "SATB1_CHW_FT02": 144.4375656348452, + "SATB1_CHW_FT03": 665.4411901983664, + "SATB1_CHW_FT04": 638.8747478788484, + "SATB1_CHW_FT05": 83.87498333111081, + "SATB1_CHW_FT06": 149.4301288569571, + "SATB1_CHW_FT07": 552.3612935489248, + "SATB1_CHW_FT08": 630.1350891815302, + "SATB1_CHW_FT09": 188.24307384564094, + "SATB1_CHW_FT10": 375.8125250033338, + "t_stamp": 1776701891219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 145, + "SATB1_CHW_FT03": 665, + "SATB1_CHW_FT04": 639, + "SATB1_CHW_FT05": 84, + "SATB1_CHW_FT06": 151, + "SATB1_CHW_FT07": 554, + "SATB1_CHW_FT08": 629, + "SATB1_CHW_FT09": 189, + "SATB1_CHW_FT10": 376, + "t_stamp": 1776701921219 + }, + { + "SATB1_CHW_FT01": 110.1873, + "SATB1_CHW_FT02": 139.37499375010415, + "SATB1_CHW_FT03": 661.2520666666667, + "SATB1_CHW_FT04": 632.4383166666667, + "SATB1_CHW_FT05": 85.87496875052082, + "SATB1_CHW_FT06": 136.00453333333334, + "SATB1_CHW_FT07": 553.0630166666666, + "SATB1_CHW_FT08": 727.3797500000001, + "SATB1_CHW_FT09": 169.3244, + "SATB1_CHW_FT10": 371.31241666666665, + "t_stamp": 1776701951219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 139, + "SATB1_CHW_FT03": 661, + "SATB1_CHW_FT04": 632, + "SATB1_CHW_FT05": 86, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 553, + "SATB1_CHW_FT08": 734, + "SATB1_CHW_FT09": 168, + "SATB1_CHW_FT10": 371, + "t_stamp": 1776701981219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 121.187203120052, + "SATB1_CHW_FT03": 636.6437105293853, + "SATB1_CHW_FT04": 644.1853740646301, + "SATB1_CHW_FT05": 89.74993333333333, + "SATB1_CHW_FT06": 142.49660884200702, + "SATB1_CHW_FT07": 546.4424281810304, + "SATB1_CHW_FT08": 711.5176964607078, + "SATB1_CHW_FT09": 183.9246817303206, + "SATB1_CHW_FT10": 361.62483333333336, + "t_stamp": 1776702011219 + }, + { + "SATB1_CHW_FT01": 110, + "SATB1_CHW_FT02": 120, + "SATB1_CHW_FT03": 635, + "SATB1_CHW_FT04": 645, + "SATB1_CHW_FT05": 90, + "SATB1_CHW_FT06": 143, + "SATB1_CHW_FT07": 546, + "SATB1_CHW_FT08": 710, + "SATB1_CHW_FT09": 185, + "SATB1_CHW_FT10": 361, + "t_stamp": 1776702041219 + }, + { + "SATB1_CHW_FT01": 112.8127, + "SATB1_CHW_FT02": 147.18798333333334, + "SATB1_CHW_FT03": 639.684926482846, + "SATB1_CHW_FT04": 634.688817774222, + "SATB1_CHW_FT05": 88.12500208336806, + "SATB1_CHW_FT06": 137.37666277712952, + "SATB1_CHW_FT07": 518.8269429533558, + "SATB1_CHW_FT08": 582.5722668622678, + "SATB1_CHW_FT09": 175.6306366379382, + "SATB1_CHW_FT10": 362.8750333333333, + "t_stamp": 1776702071219 + }, + { + "SATB1_CHW_FT01": 113, + "SATB1_CHW_FT02": 149, + "SATB1_CHW_FT03": 640, + "SATB1_CHW_FT04": 634, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 137, + "SATB1_CHW_FT07": 517, + "SATB1_CHW_FT08": 574, + "SATB1_CHW_FT09": 175, + "SATB1_CHW_FT10": 363, + "t_stamp": 1776702101219 + }, + { + "SATB1_CHW_FT01": 113.93755104081599, + "SATB1_CHW_FT02": 145.25005833138894, + "SATB1_CHW_FT03": 619.3887481669111, + "SATB1_CHW_FT04": 634.937320845277, + "SATB1_CHW_FT05": 88.93748437526041, + "SATB1_CHW_FT06": 126.69180775896547, + "SATB1_CHW_FT07": 541.3591854419411, + "SATB1_CHW_FT08": 603.9794694040795, + "SATB1_CHW_FT09": 176.87368140383623, + "SATB1_CHW_FT10": 359.24999583340275, + "t_stamp": 1776702131219 + }, + { + "SATB1_CHW_FT01": 114, + "SATB1_CHW_FT02": 145, + "SATB1_CHW_FT03": 618, + "SATB1_CHW_FT04": 635, + "SATB1_CHW_FT05": 89, + "SATB1_CHW_FT06": 126, + "SATB1_CHW_FT07": 543, + "SATB1_CHW_FT08": 606, + "SATB1_CHW_FT09": 177, + "SATB1_CHW_FT10": 359, + "t_stamp": 1776702161219 + }, + { + "SATB1_CHW_FT01": 92.43635, + "SATB1_CHW_FT02": 133.7502, + "SATB1_CHW_FT03": 645.1718505183852, + "SATB1_CHW_FT04": 635.937347911597, + "SATB1_CHW_FT05": 88.06253229112848, + "SATB1_CHW_FT06": 134.4344622974865, + "SATB1_CHW_FT07": 546.7479081241457, + "SATB1_CHW_FT08": 569.4591959195919, + "SATB1_CHW_FT09": 171.37843784378438, + "SATB1_CHW_FT10": 353.375, + "t_stamp": 1776702191219 + }, + { + "SATB1_CHW_FT01": 91, + "SATB1_CHW_FT02": 133, + "SATB1_CHW_FT03": 647, + "SATB1_CHW_FT04": 636, + "SATB1_CHW_FT05": 88, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 547, + "SATB1_CHW_FT08": 567, + "SATB1_CHW_FT09": 171, + "SATB1_CHW_FT10": 353, + "t_stamp": 1776702221219 + }, + { + "SATB1_CHW_FT01": 103.18815000000001, + "SATB1_CHW_FT02": 140.49961667944402, + "SATB1_CHW_FT03": 655.4327, + "SATB1_CHW_FT04": 642.5612312922902, + "SATB1_CHW_FT05": 87.06256458118062, + "SATB1_CHW_FT06": 135.93716666666666, + "SATB1_CHW_FT07": 555.43285, + "SATB1_CHW_FT08": 704.73165, + "SATB1_CHW_FT09": 181.30626666666666, + "SATB1_CHW_FT10": 367.99925003749814, + "t_stamp": 1776702251219 + }, + { + "SATB1_CHW_FT01": 104, + "SATB1_CHW_FT02": 141, + "SATB1_CHW_FT03": 656, + "SATB1_CHW_FT04": 643, + "SATB1_CHW_FT05": 87, + "SATB1_CHW_FT06": 136, + "SATB1_CHW_FT07": 556, + "SATB1_CHW_FT08": 714, + "SATB1_CHW_FT09": 182, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776702281219 + }, + { + "SATB1_CHW_FT01": 104.93755, + "SATB1_CHW_FT02": 135.37511250375013, + "SATB1_CHW_FT03": 642.8822480374673, + "SATB1_CHW_FT04": 638.3133385556426, + "SATB1_CHW_FT05": 93.56214270237837, + "SATB1_CHW_FT06": 139.74872914548575, + "SATB1_CHW_FT07": 560.6849947499124, + "SATB1_CHW_FT08": 722.4326905448424, + "SATB1_CHW_FT09": 185.74779579659662, + "SATB1_CHW_FT10": 372.749987499375, + "t_stamp": 1776702311219 + }, + { + "SATB1_CHW_FT01": 105, + "SATB1_CHW_FT02": 135, + "SATB1_CHW_FT03": 642, + "SATB1_CHW_FT04": 638, + "SATB1_CHW_FT05": 94, + "SATB1_CHW_FT06": 140, + "SATB1_CHW_FT07": 561, + "SATB1_CHW_FT08": 723, + "SATB1_CHW_FT09": 186, + "SATB1_CHW_FT10": 373, + "t_stamp": 1776702341219 + }, + { + "SATB1_CHW_FT01": 108.7502, + "SATB1_CHW_FT02": 154.68747812463542, + "SATB1_CHW_FT03": 649.4957417376377, + "SATB1_CHW_FT04": 619.2533333333333, + "SATB1_CHW_FT05": 34.002200036667276, + "SATB1_CHW_FT06": 135.31416143064283, + "SATB1_CHW_FT07": 562.8739687671872, + "SATB1_CHW_FT08": 589.0159997333378, + "SATB1_CHW_FT09": 171.9459842335961, + "SATB1_CHW_FT10": 369.25, + "t_stamp": 1776702371219 + }, + { + "SATB1_CHW_FT01": 109, + "SATB1_CHW_FT02": 156, + "SATB1_CHW_FT03": 650, + "SATB1_CHW_FT04": 618, + "SATB1_CHW_FT05": 30, + "SATB1_CHW_FT06": 135, + "SATB1_CHW_FT07": 563, + "SATB1_CHW_FT08": 580, + "SATB1_CHW_FT09": 171, + "SATB1_CHW_FT10": 369, + "t_stamp": 1776702401219 + } + ], + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140", + "tags": [] + }, + "meta": { + "name": "CHWS Trend", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "enabled": false, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": { + "now": "now(3000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\"}\n\ttags \u003d system.tag.browse(self.custom.tagPath, {\"name\":\"*_FT*\",\"typeId\":\"Objects/Basic/AnalogIn\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\ttagname \u003d str(item[\"fullPath\"]) + \"/Val\"\n\t\tnameparts \u003d tagname.split(\"]\")\n\t\tprovider\u003d histProvider[nameparts[0][1:]]\n\t\trun_path \u003d \"[{}]{}\".format(provider, nameparts[1])\n\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Flows": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\ttotal \u003d 0\n\tfor item in rawHist:\n\t\ttotal \u003d 0\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\ttotal +\u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"totalFlow\": total})\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "color": "#F4F4F4", + "render": "color" + }, + "cursor": { + "enabled": false, + "series": "process temp" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Flows", + "x": "t_stamp", + "y": "totalFlow" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "CHWS", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "CHWS", + "zIndex": 0 + } + ], + "style": { + "marginBottom": -38, + "marginLeft": -18 + }, + "title": { + "text": "CHWS (gpm)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 50, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 35, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "max", + "min": "min", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "CHWS" + }, + "name": "CHWS", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "custom": { + "paths": [ + "[Ignition_Common_IO_Gtwy]DH1", + "[Ignition_Common_IO_Gtwy]DH2", + "[Ignition_Common_IO_Gtwy]DH3", + "[Ignition_Common_IO_Gtwy]DH4", + "[Ignition_Common_IO_Gtwy]DH5" + ], + "raw": [ + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 368, + "SATB1_CHW_DH2_FT01": 772, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 230, + "SATB1_CHW_DH4_FT01": 43, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 124, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776695318504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 364.43025019585616, + "SATB1_CHW_DH2_FT01": 772, + "SATB1_CHW_DH2_FT02": 575.1075643419123, + "SATB1_CHW_DH3_FT01": 340.4642857142857, + "SATB1_CHW_DH3_FT02": 231.7847938788778, + "SATB1_CHW_DH4_FT01": 108.1915634739421, + "SATB1_CHW_DH4_FT02": 109.43010967763443, + "SATB1_CHW_DH5_FT01": 139.18077730742309, + "SATB1_CHW_DH5_FT02": 163.57135476559506, + "t_stamp": 1776695348504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 772, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 341, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 116, + "SATB1_CHW_DH4_FT02": 109, + "SATB1_CHW_DH5_FT01": 141, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776695378504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 359.537303730373, + "SATB1_CHW_DH2_FT01": 765.7513834255617, + "SATB1_CHW_DH2_FT02": 578.5700975081256, + "SATB1_CHW_DH3_FT01": 336.5355267763388, + "SATB1_CHW_DH3_FT02": 236.46252958629196, + "SATB1_CHW_DH4_FT01": 48.12946666666667, + "SATB1_CHW_DH4_FT02": 115.24790399199934, + "SATB1_CHW_DH5_FT01": 113.31659388646288, + "SATB1_CHW_DH5_FT02": 166.67858928630955, + "t_stamp": 1776695408504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 359, + "SATB1_CHW_DH2_FT01": 765, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 40, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 110, + "SATB1_CHW_DH5_FT02": 167, + "t_stamp": 1776695438504 + }, + { + "SATB1_CHW_DH1_FT01": 334.21393333333333, + "SATB1_CHW_DH1_FT02": 359.8925648760813, + "SATB1_CHW_DH2_FT01": 770.3560892681545, + "SATB1_CHW_DH2_FT02": 573.6446214873829, + "SATB1_CHW_DH3_FT01": 334.2141702361706, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 48.93033333333334, + "SATB1_CHW_DH4_FT02": 113.32225537092285, + "SATB1_CHW_DH5_FT01": 82.31648333333334, + "SATB1_CHW_DH5_FT02": 160.74982916381938, + "t_stamp": 1776695468504 + }, + { + "SATB1_CHW_DH1_FT01": 334, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 771, + "SATB1_CHW_DH2_FT02": 573, + "SATB1_CHW_DH3_FT01": 334, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 50, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 79, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776695498504 + }, + { + "SATB1_CHW_DH1_FT01": 335.786036899385, + "SATB1_CHW_DH1_FT02": 363.5701476617446, + "SATB1_CHW_DH2_FT01": 781.7118429385687, + "SATB1_CHW_DH2_FT02": 568.5373154228192, + "SATB1_CHW_DH3_FT01": 338.4644345188494, + "SATB1_CHW_DH3_FT02": 238.7850071664278, + "SATB1_CHW_DH4_FT01": 63.39527674538758, + "SATB1_CHW_DH4_FT02": 117.4627679077364, + "SATB1_CHW_DH5_FT01": 101.3246725109163, + "SATB1_CHW_DH5_FT02": 161.78573690438492, + "t_stamp": 1776695528504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 783, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 339, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 65, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 104, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776695558504 + }, + { + "SATB1_CHW_DH1_FT01": 335.10696844947415, + "SATB1_CHW_DH1_FT02": 363.1075112911021, + "SATB1_CHW_DH2_FT01": 784.7853, + "SATB1_CHW_DH2_FT02": 567.1075261649223, + "SATB1_CHW_DH3_FT01": 336.3212607086903, + "SATB1_CHW_DH3_FT02": 236.32263386830658, + "SATB1_CHW_DH4_FT01": 58.74877914631911, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 90.60502675044584, + "SATB1_CHW_DH5_FT02": 159.3213553559226, + "t_stamp": 1776695588504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 89, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776695618504 + }, + { + "SATB1_CHW_DH1_FT01": 332.32094465092246, + "SATB1_CHW_DH1_FT02": 360.32246074869164, + "SATB1_CHW_DH2_FT01": 763.5767570540492, + "SATB1_CHW_DH2_FT02": 573.2474749158305, + "SATB1_CHW_DH3_FT01": 337.785744046131, + "SATB1_CHW_DH3_FT02": 242.24735824527485, + "SATB1_CHW_DH4_FT01": 57.106966666666665, + "SATB1_CHW_DH4_FT02": 117.1074702490083, + "SATB1_CHW_DH5_FT01": 120.255, + "SATB1_CHW_DH5_FT02": 159.89285357154762, + "t_stamp": 1776695648504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 761, + "SATB1_CHW_DH2_FT02": 574, + "SATB1_CHW_DH3_FT01": 338, + "SATB1_CHW_DH3_FT02": 243, + "SATB1_CHW_DH4_FT01": 57, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 124, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776695678504 + }, + { + "SATB1_CHW_DH1_FT01": 338.2511166666667, + "SATB1_CHW_DH1_FT02": 361.78494408612903, + "SATB1_CHW_DH2_FT01": 769.9260357988067, + "SATB1_CHW_DH2_FT02": 571.3225892470251, + "SATB1_CHW_DH3_FT01": 333.535592259871, + "SATB1_CHW_DH3_FT02": 236.75292902021565, + "SATB1_CHW_DH4_FT01": 61.46516666666667, + "SATB1_CHW_DH4_FT02": 114.32253387330634, + "SATB1_CHW_DH5_FT01": 112.391, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776695708504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 771, + "SATB1_CHW_DH2_FT02": 571, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 62, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 111, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776695738504 + }, + { + "SATB1_CHW_DH1_FT01": 337.2139666666667, + "SATB1_CHW_DH1_FT02": 363.7850225844626, + "SATB1_CHW_DH2_FT01": 786.1752116807787, + "SATB1_CHW_DH2_FT02": 573.6775338766938, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 65.57207379877002, + "SATB1_CHW_DH4_FT02": 115.78508567237816, + "SATB1_CHW_DH5_FT01": 117.25089581840302, + "SATB1_CHW_DH5_FT02": 161.7857226194643, + "t_stamp": 1776695768504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 574, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 66, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 118, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776695798504 + }, + { + "SATB1_CHW_DH1_FT01": 335.2139666666667, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 791.5705476484118, + "SATB1_CHW_DH2_FT02": 580.2476166666667, + "SATB1_CHW_DH3_FT01": 328.5355, + "SATB1_CHW_DH3_FT02": 244.0325, + "SATB1_CHW_DH4_FT01": 62.427933333333335, + "SATB1_CHW_DH4_FT02": 119.5702, + "SATB1_CHW_DH5_FT01": 113.53500891681529, + "SATB1_CHW_DH5_FT02": 163.78573333333333, + "t_stamp": 1776695828504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 792, + "SATB1_CHW_DH2_FT02": 581, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 245, + "SATB1_CHW_DH4_FT01": 62, + "SATB1_CHW_DH4_FT02": 120, + "SATB1_CHW_DH5_FT01": 113, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776695858504 + }, + { + "SATB1_CHW_DH1_FT01": 340.35801069982165, + "SATB1_CHW_DH1_FT02": 360.4303497925242, + "SATB1_CHW_DH2_FT01": 796.4627947671028, + "SATB1_CHW_DH2_FT02": 575.6455246887863, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 237.8609518730836, + "SATB1_CHW_DH4_FT01": 52.17681666666667, + "SATB1_CHW_DH4_FT02": 118.21513798160245, + "SATB1_CHW_DH5_FT01": 90.67537207713205, + "SATB1_CHW_DH5_FT02": 166.67851071630946, + "t_stamp": 1776695888504 + }, + { + "SATB1_CHW_DH1_FT01": 341, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 797, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 51, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 88, + "SATB1_CHW_DH5_FT02": 167, + "t_stamp": 1776695918504 + }, + { + "SATB1_CHW_DH1_FT01": 333.856, + "SATB1_CHW_DH1_FT02": 362.6772446207437, + "SATB1_CHW_DH2_FT01": 792.5371756195937, + "SATB1_CHW_DH2_FT02": 564.2910215170252, + "SATB1_CHW_DH3_FT01": 332.46433333333334, + "SATB1_CHW_DH3_FT02": 235.21523692061535, + "SATB1_CHW_DH4_FT01": 49.213966666666664, + "SATB1_CHW_DH4_FT02": 111.75287509583653, + "SATB1_CHW_DH5_FT01": 89.78593690105166, + "SATB1_CHW_DH5_FT02": 158.9645, + "t_stamp": 1776695948504 + }, + { + "SATB1_CHW_DH1_FT01": 333, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 792, + "SATB1_CHW_DH2_FT02": 563, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 49, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 90, + "SATB1_CHW_DH5_FT02": 158, + "t_stamp": 1776695978504 + }, + { + "SATB1_CHW_DH1_FT01": 335.679, + "SATB1_CHW_DH1_FT02": 363.89237204806426, + "SATB1_CHW_DH2_FT01": 779.5046914320951, + "SATB1_CHW_DH2_FT02": 568.3541430571295, + "SATB1_CHW_DH3_FT01": 330.32148928369054, + "SATB1_CHW_DH3_FT02": 241.2463710147826, + "SATB1_CHW_DH4_FT01": 45.427933333333335, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 81.96343394276762, + "SATB1_CHW_DH5_FT02": 155.3216339183041, + "t_stamp": 1776696008504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 778, + "SATB1_CHW_DH2_FT02": 569, + "SATB1_CHW_DH3_FT01": 330, + "SATB1_CHW_DH3_FT02": 242, + "SATB1_CHW_DH4_FT01": 45, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 81, + "SATB1_CHW_DH5_FT02": 155, + "t_stamp": 1776696038504 + }, + { + "SATB1_CHW_DH1_FT01": 340.465, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 774.4298143271442, + "SATB1_CHW_DH2_FT02": 579.7087354367718, + "SATB1_CHW_DH3_FT01": 313.03616666666665, + "SATB1_CHW_DH3_FT02": 248.24654155138504, + "SATB1_CHW_DH4_FT01": 48.572066666666665, + "SATB1_CHW_DH4_FT02": 111.89242795473108, + "SATB1_CHW_DH5_FT01": 87.25075417923632, + "SATB1_CHW_DH5_FT02": 163.92798213303556, + "t_stamp": 1776696068504 + }, + { + "SATB1_CHW_DH1_FT01": 341, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 774, + "SATB1_CHW_DH2_FT02": 581, + "SATB1_CHW_DH3_FT01": 311, + "SATB1_CHW_DH3_FT02": 249, + "SATB1_CHW_DH4_FT01": 49, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 88, + "SATB1_CHW_DH5_FT02": 165, + "t_stamp": 1776696098504 + }, + { + "SATB1_CHW_DH1_FT01": 344.572, + "SATB1_CHW_DH1_FT02": 374.70864304523184, + "SATB1_CHW_DH2_FT01": 779.3551214959501, + "SATB1_CHW_DH2_FT02": 569.3991866937769, + "SATB1_CHW_DH3_FT01": 319.0355, + "SATB1_CHW_DH3_FT02": 240.07648205863237, + "SATB1_CHW_DH4_FT01": 49.89300178330361, + "SATB1_CHW_DH4_FT02": 116.46201793273558, + "SATB1_CHW_DH5_FT01": 103.18043333333333, + "SATB1_CHW_DH5_FT02": 165, + "t_stamp": 1776696128504 + }, + { + "SATB1_CHW_DH1_FT01": 345, + "SATB1_CHW_DH1_FT02": 376, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 320, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 50, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 105, + "SATB1_CHW_DH5_FT02": 165, + "t_stamp": 1776696158504 + }, + { + "SATB1_CHW_DH1_FT01": 336.07, + "SATB1_CHW_DH1_FT02": 370.6465922346276, + "SATB1_CHW_DH2_FT01": 783.569947668411, + "SATB1_CHW_DH2_FT02": 570.6766538910182, + "SATB1_CHW_DH3_FT01": 329.82165774955416, + "SATB1_CHW_DH3_FT02": 236.32352990185458, + "SATB1_CHW_DH4_FT01": 54.46507441790696, + "SATB1_CHW_DH4_FT02": 117.89228102919611, + "SATB1_CHW_DH5_FT01": 106.78596309938499, + "SATB1_CHW_DH5_FT02": 161.42862143107155, + "t_stamp": 1776696188504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 370, + "SATB1_CHW_DH2_FT01": 784, + "SATB1_CHW_DH2_FT02": 571, + "SATB1_CHW_DH3_FT01": 331, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 55, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776696218504 + }, + { + "SATB1_CHW_DH1_FT01": 328.749, + "SATB1_CHW_DH1_FT02": 363.7534422403734, + "SATB1_CHW_DH2_FT01": 781.3224607486916, + "SATB1_CHW_DH2_FT02": 579.0311385230872, + "SATB1_CHW_DH3_FT01": 321.1787743946136, + "SATB1_CHW_DH3_FT02": 212.79989331199573, + "SATB1_CHW_DH4_FT01": 62.14401426642889, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 102.53515774737087, + "SATB1_CHW_DH5_FT02": 163.67841607919604, + "t_stamp": 1776696248504 + }, + { + "SATB1_CHW_DH1_FT01": 328, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 580, + "SATB1_CHW_DH3_FT01": 320, + "SATB1_CHW_DH3_FT02": 210, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776696278504 + }, + { + "SATB1_CHW_DH1_FT01": 326.214, + "SATB1_CHW_DH1_FT02": 363.89241308043603, + "SATB1_CHW_DH2_FT01": 775.6446322316116, + "SATB1_CHW_DH2_FT02": 581.7847928264275, + "SATB1_CHW_DH3_FT01": 321.78572619087305, + "SATB1_CHW_DH3_FT02": 230.52435081169372, + "SATB1_CHW_DH4_FT01": 42.461, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 99.3211, + "SATB1_CHW_DH5_FT02": 167.57131904396815, + "t_stamp": 1776696308504 + }, + { + "SATB1_CHW_DH1_FT01": 326, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 775, + "SATB1_CHW_DH2_FT02": 582, + "SATB1_CHW_DH3_FT01": 322, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 40, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 168, + "t_stamp": 1776696338504 + }, + { + "SATB1_CHW_DH1_FT01": 324.214, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 785.7109785163086, + "SATB1_CHW_DH2_FT02": 573.0758512641877, + "SATB1_CHW_DH3_FT01": 328.25006666666667, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 43.572, + "SATB1_CHW_DH4_FT02": 121.5697928298805, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 168, + "t_stamp": 1776696368504 + }, + { + "SATB1_CHW_DH1_FT01": 324, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 787, + "SATB1_CHW_DH2_FT02": 572, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 44, + "SATB1_CHW_DH4_FT02": 122, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 168, + "t_stamp": 1776696398504 + }, + { + "SATB1_CHW_DH1_FT01": 334.71582140297664, + "SATB1_CHW_DH1_FT02": 363.10756845947435, + "SATB1_CHW_DH2_FT01": 781.6445, + "SATB1_CHW_DH2_FT02": 574.6772946215771, + "SATB1_CHW_DH3_FT01": 325.42853333333335, + "SATB1_CHW_DH3_FT02": 230.32280538008968, + "SATB1_CHW_DH4_FT01": 63.646, + "SATB1_CHW_DH4_FT02": 118.4301405023417, + "SATB1_CHW_DH5_FT01": 98.10704821586307, + "SATB1_CHW_DH5_FT02": 161.75016666666667, + "t_stamp": 1776696428504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 230, + "SATB1_CHW_DH4_FT01": 66, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 98, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776696458504 + }, + { + "SATB1_CHW_DH1_FT01": 332.42806666666667, + "SATB1_CHW_DH1_FT02": 360.3229230897425, + "SATB1_CHW_DH2_FT01": 767.6116962767908, + "SATB1_CHW_DH2_FT02": 576.7847179401716, + "SATB1_CHW_DH3_FT01": 321.4284738078968, + "SATB1_CHW_DH3_FT02": 234.46162819765019, + "SATB1_CHW_DH4_FT01": 61.535, + "SATB1_CHW_DH4_FT02": 113.53811285538113, + "SATB1_CHW_DH5_FT01": 113.18040300671677, + "SATB1_CHW_DH5_FT02": 165.46424107068452, + "t_stamp": 1776696488504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 766, + "SATB1_CHW_DH2_FT02": 577, + "SATB1_CHW_DH3_FT01": 321, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 61, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 115, + "SATB1_CHW_DH5_FT02": 166, + "t_stamp": 1776696518504 + }, + { + "SATB1_CHW_DH1_FT01": 335.57193333333333, + "SATB1_CHW_DH1_FT02": 366.24707470747074, + "SATB1_CHW_DH2_FT01": 765.1074351239188, + "SATB1_CHW_DH2_FT02": 565.3982898289829, + "SATB1_CHW_DH3_FT01": 329.03541430571295, + "SATB1_CHW_DH3_FT02": 242.13924725805913, + "SATB1_CHW_DH4_FT01": 61.892985116914716, + "SATB1_CHW_DH4_FT02": 115.67736773677368, + "SATB1_CHW_DH5_FT01": 111.42819286345228, + "SATB1_CHW_DH5_FT02": 160.64316784160792, + "t_stamp": 1776696548504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 765, + "SATB1_CHW_DH2_FT02": 564, + "SATB1_CHW_DH3_FT01": 330, + "SATB1_CHW_DH3_FT02": 243, + "SATB1_CHW_DH4_FT01": 62, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 111, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776696578504 + }, + { + "SATB1_CHW_DH1_FT01": 332.42806666666667, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 759.6446892551791, + "SATB1_CHW_DH2_FT02": 556.8608759416039, + "SATB1_CHW_DH3_FT01": 338.92861309732154, + "SATB1_CHW_DH3_FT02": 236.75339566355015, + "SATB1_CHW_DH4_FT01": 54.85601426690445, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 101.17738628977149, + "SATB1_CHW_DH5_FT02": 159.107214879752, + "t_stamp": 1776696608504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 759, + "SATB1_CHW_DH2_FT02": 556, + "SATB1_CHW_DH3_FT01": 340, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 54, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 100, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776696638504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 770.6037301865093, + "SATB1_CHW_DH2_FT02": 570.2786092869762, + "SATB1_CHW_DH3_FT01": 328.39273333333335, + "SATB1_CHW_DH3_FT02": 231.53809230153837, + "SATB1_CHW_DH4_FT01": 60.25089581840302, + "SATB1_CHW_DH4_FT02": 123.13957131904397, + "SATB1_CHW_DH5_FT01": 103.57186666666666, + "SATB1_CHW_DH5_FT02": 161.6784839241962, + "t_stamp": 1776696668504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 772, + "SATB1_CHW_DH2_FT02": 572, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 61, + "SATB1_CHW_DH4_FT02": 124, + "SATB1_CHW_DH5_FT01": 104, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776696698504 + }, + { + "SATB1_CHW_DH1_FT01": 335.57193333333333, + "SATB1_CHW_DH1_FT02": 364.3226161308065, + "SATB1_CHW_DH2_FT01": 772, + "SATB1_CHW_DH2_FT02": 563.0753871026884, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 58.32105, + "SATB1_CHW_DH4_FT02": 120.43008100270009, + "SATB1_CHW_DH5_FT01": 107.57186666666666, + "SATB1_CHW_DH5_FT02": 162.8928482141369, + "t_stamp": 1776696728504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 772, + "SATB1_CHW_DH2_FT02": 562, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 120, + "SATB1_CHW_DH5_FT01": 108, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776696758504 + }, + { + "SATB1_CHW_DH1_FT01": 346.7156214063099, + "SATB1_CHW_DH1_FT02": 366.6774, + "SATB1_CHW_DH2_FT01": 801.4562909381823, + "SATB1_CHW_DH2_FT02": 566.4623333333334, + "SATB1_CHW_DH3_FT01": 333.25007916534724, + "SATB1_CHW_DH3_FT02": 236.3546, + "SATB1_CHW_DH4_FT01": 61.571933333333334, + "SATB1_CHW_DH4_FT02": 126.2474874581243, + "SATB1_CHW_DH5_FT01": 89.24801253312444, + "SATB1_CHW_DH5_FT02": 166.5714, + "t_stamp": 1776696788504 + }, + { + "SATB1_CHW_DH1_FT01": 348, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 805, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 334, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 62, + "SATB1_CHW_DH4_FT02": 127, + "SATB1_CHW_DH5_FT01": 87, + "SATB1_CHW_DH5_FT02": 167, + "t_stamp": 1776696818504 + }, + { + "SATB1_CHW_DH1_FT01": 333.7122952049201, + "SATB1_CHW_DH1_FT02": 362.5373691579439, + "SATB1_CHW_DH2_FT01": 797.8588286276209, + "SATB1_CHW_DH2_FT02": 570.5700451689252, + "SATB1_CHW_DH3_FT01": 333.1071333333333, + "SATB1_CHW_DH3_FT02": 238.78498566571105, + "SATB1_CHW_DH4_FT01": 62.89298333333333, + "SATB1_CHW_DH4_FT02": 121.64473223661183, + "SATB1_CHW_DH5_FT01": 100.39425, + "SATB1_CHW_DH5_FT02": 162.53575, + "t_stamp": 1776696848504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 797, + "SATB1_CHW_DH2_FT02": 571, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 121, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776696878504 + }, + { + "SATB1_CHW_DH1_FT01": 334.6789053515775, + "SATB1_CHW_DH1_FT02": 365.569478928863, + "SATB1_CHW_DH2_FT01": 789.8598710193471, + "SATB1_CHW_DH2_FT02": 578.1388245488328, + "SATB1_CHW_DH3_FT01": 335.67842143857075, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 53.17734704421593, + "SATB1_CHW_DH4_FT02": 119.21522720834514, + "SATB1_CHW_DH5_FT01": 110.92920235992133, + "SATB1_CHW_DH5_FT02": 166.4638780101658, + "t_stamp": 1776696908504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 789, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 52, + "SATB1_CHW_DH4_FT02": 119, + "SATB1_CHW_DH5_FT01": 112, + "SATB1_CHW_DH5_FT02": 167, + "t_stamp": 1776696938504 + }, + { + "SATB1_CHW_DH1_FT01": 333.21406666666667, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 785.4301189960335, + "SATB1_CHW_DH2_FT02": 588.8153394886837, + "SATB1_CHW_DH3_FT01": 329.75050415826405, + "SATB1_CHW_DH3_FT02": 235.4309189693677, + "SATB1_CHW_DH4_FT01": 73.4312, + "SATB1_CHW_DH4_FT02": 124.35402153261558, + "SATB1_CHW_DH5_FT01": 103.96361606026767, + "SATB1_CHW_DH5_FT02": 163.42905236492118, + "t_stamp": 1776696968504 + }, + { + "SATB1_CHW_DH1_FT01": 333, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 590, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 76, + "SATB1_CHW_DH4_FT02": 125, + "SATB1_CHW_DH5_FT01": 103, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776696998504 + }, + { + "SATB1_CHW_DH1_FT01": 331.21409643172615, + "SATB1_CHW_DH1_FT02": 363.3230553842564, + "SATB1_CHW_DH2_FT01": 794.8171333333333, + "SATB1_CHW_DH2_FT02": 577.5075917931965, + "SATB1_CHW_DH3_FT01": 328.10720178669646, + "SATB1_CHW_DH3_FT02": 228.75402923382057, + "SATB1_CHW_DH4_FT01": 42.960233333333335, + "SATB1_CHW_DH4_FT02": 114.292, + "SATB1_CHW_DH5_FT01": 98.53540774320427, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697028504 + }, + { + "SATB1_CHW_DH1_FT01": 331, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 796, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 228, + "SATB1_CHW_DH4_FT01": 39, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 98, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697058504 + }, + { + "SATB1_CHW_DH1_FT01": 339.03668394473243, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 789.7519002533671, + "SATB1_CHW_DH2_FT02": 579.5698021369872, + "SATB1_CHW_DH3_FT01": 325.32146607330367, + "SATB1_CHW_DH3_FT02": 229.784864144024, + "SATB1_CHW_DH4_FT01": 38.10701845030751, + "SATB1_CHW_DH4_FT02": 108.53758959826638, + "SATB1_CHW_DH5_FT01": 115.85892863095437, + "SATB1_CHW_DH5_FT02": 161.21437738553595, + "t_stamp": 1776697088504 + }, + { + "SATB1_CHW_DH1_FT01": 340, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 789, + "SATB1_CHW_DH2_FT02": 580, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 230, + "SATB1_CHW_DH4_FT01": 38, + "SATB1_CHW_DH4_FT02": 108, + "SATB1_CHW_DH5_FT01": 118, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776697118504 + }, + { + "SATB1_CHW_DH1_FT01": 343.57186666666666, + "SATB1_CHW_DH1_FT02": 360.32299616730546, + "SATB1_CHW_DH2_FT01": 780.9672693942172, + "SATB1_CHW_DH2_FT02": 575.5384102649558, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 230.89227154569087, + "SATB1_CHW_DH4_FT01": 55.85936901051649, + "SATB1_CHW_DH4_FT02": 111.5695240634582, + "SATB1_CHW_DH5_FT01": 118.89293511774804, + "SATB1_CHW_DH5_FT02": 163.67840535991067, + "t_stamp": 1776697148504 + }, + { + "SATB1_CHW_DH1_FT01": 344, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 119, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776697178504 + }, + { + "SATB1_CHW_DH1_FT01": 330.60572323794605, + "SATB1_CHW_DH1_FT02": 362.6766823317668, + "SATB1_CHW_DH2_FT01": 797.8473587735377, + "SATB1_CHW_DH2_FT02": 570.5389461053894, + "SATB1_CHW_DH3_FT01": 327.67841071964267, + "SATB1_CHW_DH3_FT02": 234.56876208252783, + "SATB1_CHW_DH4_FT01": 51.749233333333336, + "SATB1_CHW_DH4_FT02": 116.46123850153313, + "SATB1_CHW_DH5_FT01": 100.24871252145797, + "SATB1_CHW_DH5_FT02": 159.53614879504016, + "t_stamp": 1776697208504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 800, + "SATB1_CHW_DH2_FT02": 570, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 51, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 98, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776697238504 + }, + { + "SATB1_CHW_DH1_FT01": 331.67885, + "SATB1_CHW_DH1_FT02": 366.5698186182982, + "SATB1_CHW_DH2_FT01": 793.7519879969992, + "SATB1_CHW_DH2_FT02": 570, + "SATB1_CHW_DH3_FT01": 329.7856595219841, + "SATB1_CHW_DH3_FT02": 232.32273606295013, + "SATB1_CHW_DH4_FT01": 67.07339999999999, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 101.5717261954366, + "SATB1_CHW_DH5_FT02": 163.46398213273775, + "t_stamp": 1776697268504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 793, + "SATB1_CHW_DH2_FT02": 570, + "SATB1_CHW_DH3_FT01": 330, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 69, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776697298504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 364.32259462342296, + "SATB1_CHW_DH2_FT01": 781.3963933934434, + "SATB1_CHW_DH2_FT02": 577.139614339761, + "SATB1_CHW_DH3_FT01": 329.10718154697423, + "SATB1_CHW_DH3_FT02": 231.10756487391876, + "SATB1_CHW_DH4_FT01": 65.42819286345228, + "SATB1_CHW_DH4_FT02": 115.21502974950417, + "SATB1_CHW_DH5_FT01": 99.32124464592256, + "SATB1_CHW_DH5_FT02": 163.107214879752, + "t_stamp": 1776697328504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 578, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 65, + "SATB1_CHW_DH4_FT02": 115, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697358504 + }, + { + "SATB1_CHW_DH1_FT01": 332.89295, + "SATB1_CHW_DH1_FT02": 362.2151559088712, + "SATB1_CHW_DH2_FT01": 774.6446785107163, + "SATB1_CHW_DH2_FT02": 575.3227838608069, + "SATB1_CHW_DH3_FT01": 332.57132618876983, + "SATB1_CHW_DH3_FT02": 227.43044514440945, + "SATB1_CHW_DH4_FT01": 58.74935, + "SATB1_CHW_DH4_FT02": 113.21512257720447, + "SATB1_CHW_DH5_FT01": 99.89293154885915, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697388504 + }, + { + "SATB1_CHW_DH1_FT01": 333, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 774, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 227, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 100, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697418504 + }, + { + "SATB1_CHW_DH1_FT01": 342.82245, + "SATB1_CHW_DH1_FT02": 363.78486308105136, + "SATB1_CHW_DH2_FT01": 765.9667822260742, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 332.10718154697423, + "SATB1_CHW_DH3_FT02": 229.67719461991032, + "SATB1_CHW_DH4_FT01": 60.67889464824414, + "SATB1_CHW_DH4_FT02": 115.67734462241037, + "SATB1_CHW_DH5_FT01": 108.0364, + "SATB1_CHW_DH5_FT02": 166.57114048099197, + "t_stamp": 1776697448504 + }, + { + "SATB1_CHW_DH1_FT01": 344, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 765, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 332, + "SATB1_CHW_DH3_FT02": 230, + "SATB1_CHW_DH4_FT01": 61, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 109, + "SATB1_CHW_DH5_FT02": 167, + "t_stamp": 1776697478504 + }, + { + "SATB1_CHW_DH1_FT01": 341.32115, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 780.1731580087662, + "SATB1_CHW_DH2_FT02": 564.2909784836919, + "SATB1_CHW_DH3_FT01": 338.24971666666664, + "SATB1_CHW_DH3_FT02": 227.3228, + "SATB1_CHW_DH4_FT01": 62.78590356827386, + "SATB1_CHW_DH4_FT02": 107.96795, + "SATB1_CHW_DH5_FT01": 101.85665238912685, + "SATB1_CHW_DH5_FT02": 163.42898570047666, + "t_stamp": 1776697508504 + }, + { + "SATB1_CHW_DH1_FT01": 341, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 782, + "SATB1_CHW_DH2_FT02": 563, + "SATB1_CHW_DH3_FT01": 339, + "SATB1_CHW_DH3_FT02": 227, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 107, + "SATB1_CHW_DH5_FT01": 101, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697538504 + }, + { + "SATB1_CHW_DH1_FT01": 336.53525, + "SATB1_CHW_DH1_FT02": 363.1075517925299, + "SATB1_CHW_DH2_FT01": 787.3554677733887, + "SATB1_CHW_DH2_FT02": 562.1075535851195, + "SATB1_CHW_DH3_FT01": 342.57132618876983, + "SATB1_CHW_DH3_FT02": 231.46207436790613, + "SATB1_CHW_DH4_FT01": 73.7154, + "SATB1_CHW_DH4_FT02": 115.92464874414574, + "SATB1_CHW_DH5_FT01": 99.21416666666667, + "SATB1_CHW_DH5_FT02": 159.42888096269877, + "t_stamp": 1776697568504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 562, + "SATB1_CHW_DH3_FT01": 343, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 75, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776697598504 + }, + { + "SATB1_CHW_DH1_FT01": 332.4282, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 785.3222946284228, + "SATB1_CHW_DH2_FT02": 573.601656639056, + "SATB1_CHW_DH3_FT01": 333.17883333333333, + "SATB1_CHW_DH3_FT02": 239.13933333333333, + "SATB1_CHW_DH4_FT01": 64.2846, + "SATB1_CHW_DH4_FT02": 114.3226, + "SATB1_CHW_DH5_FT01": 103.46458333333334, + "SATB1_CHW_DH5_FT02": 162.57119285321423, + "t_stamp": 1776697628504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 332, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 104, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697658504 + }, + { + "SATB1_CHW_DH1_FT01": 335.57168094396854, + "SATB1_CHW_DH1_FT02": 367.4623987466249, + "SATB1_CHW_DH2_FT01": 780.5370179005967, + "SATB1_CHW_DH2_FT02": 566.9676983849192, + "SATB1_CHW_DH3_FT01": 330.2143630939484, + "SATB1_CHW_DH3_FT02": 239.1075535851195, + "SATB1_CHW_DH4_FT01": 57.642389293511776, + "SATB1_CHW_DH4_FT02": 118.46248208273609, + "SATB1_CHW_DH5_FT01": 99.53549107514874, + "SATB1_CHW_DH5_FT02": 164.78557024049599, + "t_stamp": 1776697688504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 368, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 566, + "SATB1_CHW_DH3_FT01": 330, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 57, + "SATB1_CHW_DH4_FT02": 119, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 165, + "t_stamp": 1776697718504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 365.32259462342296, + "SATB1_CHW_DH2_FT01": 782.6777553707439, + "SATB1_CHW_DH2_FT02": 567.784936917718, + "SATB1_CHW_DH3_FT01": 325.53584226403774, + "SATB1_CHW_DH3_FT02": 235.43025949567507, + "SATB1_CHW_DH4_FT01": 37.35513925232087, + "SATB1_CHW_DH4_FT02": 113.64508924851252, + "SATB1_CHW_DH5_FT01": 103.46457440957349, + "SATB1_CHW_DH5_FT02": 161.42880714678577, + "t_stamp": 1776697748504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 365, + "SATB1_CHW_DH2_FT01": 783, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 35, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 104, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776697778504 + }, + { + "SATB1_CHW_DH1_FT01": 336.8929202359921, + "SATB1_CHW_DH1_FT02": 366.7848738375387, + "SATB1_CHW_DH2_FT01": 778.5372320922636, + "SATB1_CHW_DH2_FT02": 573.3545322733863, + "SATB1_CHW_DH3_FT01": 316.96490175491226, + "SATB1_CHW_DH3_FT02": 235.89240358654712, + "SATB1_CHW_DH4_FT01": 54.644572590456825, + "SATB1_CHW_DH4_FT02": 116.56981433952201, + "SATB1_CHW_DH5_FT01": 126.32217259424687, + "SATB1_CHW_DH5_FT02": 164.57108096396786, + "t_stamp": 1776697808504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 778, + "SATB1_CHW_DH2_FT02": 574, + "SATB1_CHW_DH3_FT01": 316, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 57, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 129, + "SATB1_CHW_DH5_FT02": 165, + "t_stamp": 1776697838504 + }, + { + "SATB1_CHW_DH1_FT01": 344.14345239087316, + "SATB1_CHW_DH1_FT02": 366.10765590107655, + "SATB1_CHW_DH2_FT01": 779.7849810012666, + "SATB1_CHW_DH2_FT02": 580.2463961336555, + "SATB1_CHW_DH3_FT01": 323.14214763087284, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 43.60577676294605, + "SATB1_CHW_DH4_FT02": 118.78475127072744, + "SATB1_CHW_DH5_FT01": 154.00115001916697, + "SATB1_CHW_DH5_FT02": 161.42899285011916, + "t_stamp": 1776697868504 + }, + { + "SATB1_CHW_DH1_FT01": 345, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 581, + "SATB1_CHW_DH3_FT01": 324, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 42, + "SATB1_CHW_DH4_FT02": 119, + "SATB1_CHW_DH5_FT01": 157, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776697898504 + }, + { + "SATB1_CHW_DH1_FT01": 341.4282666666667, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 789.8182984965163, + "SATB1_CHW_DH2_FT02": 572.0754767302307, + "SATB1_CHW_DH3_FT01": 326.67843392169607, + "SATB1_CHW_DH3_FT02": 238.67725696759567, + "SATB1_CHW_DH4_FT01": 41.10706488225196, + "SATB1_CHW_DH4_FT02": 116.32258763522411, + "SATB1_CHW_DH5_FT01": 138.2491, + "SATB1_CHW_DH5_FT02": 162.78555951865062, + "t_stamp": 1776697928504 + }, + { + "SATB1_CHW_DH1_FT01": 341, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 791, + "SATB1_CHW_DH2_FT02": 571, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 41, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 136, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776697958504 + }, + { + "SATB1_CHW_DH1_FT01": 337.4282666666667, + "SATB1_CHW_DH1_FT02": 364.2152748845968, + "SATB1_CHW_DH2_FT01": 765.1181028879964, + "SATB1_CHW_DH2_FT02": 573.6770876731048, + "SATB1_CHW_DH3_FT01": 312.7149333333333, + "SATB1_CHW_DH3_FT02": 236.3230123152299, + "SATB1_CHW_DH4_FT01": 41, + "SATB1_CHW_DH4_FT02": 113.32286233272785, + "SATB1_CHW_DH5_FT01": 105.64089401490025, + "SATB1_CHW_DH5_FT02": 160.32165, + "t_stamp": 1776697988504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 762, + "SATB1_CHW_DH2_FT02": 574, + "SATB1_CHW_DH3_FT01": 311, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 41, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776698018504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 363.1078135675126, + "SATB1_CHW_DH2_FT01": 775.3861075928271, + "SATB1_CHW_DH2_FT02": 581.1373725254949, + "SATB1_CHW_DH3_FT01": 319.0346804432964, + "SATB1_CHW_DH3_FT02": 233.3236744759556, + "SATB1_CHW_DH4_FT01": 50.82210296495059, + "SATB1_CHW_DH4_FT02": 116.56893132696761, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 162.6781714552363, + "t_stamp": 1776698048504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 777, + "SATB1_CHW_DH2_FT02": 582, + "SATB1_CHW_DH3_FT01": 320, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 52, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776698078504 + }, + { + "SATB1_CHW_DH1_FT01": 332.5354255904265, + "SATB1_CHW_DH1_FT02": 365.67676767676767, + "SATB1_CHW_DH2_FT01": 785.031733862231, + "SATB1_CHW_DH2_FT02": 568.6161885553314, + "SATB1_CHW_DH3_FT01": 320, + "SATB1_CHW_DH3_FT02": 236.56886866363288, + "SATB1_CHW_DH4_FT01": 45.749583333333334, + "SATB1_CHW_DH4_FT02": 114.32312692724393, + "SATB1_CHW_DH5_FT01": 108.2501708361806, + "SATB1_CHW_DH5_FT02": 163.89270178830353, + "t_stamp": 1776698108504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 786, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 320, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 45, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 109, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776698138504 + }, + { + "SATB1_CHW_DH1_FT01": 329.32125, + "SATB1_CHW_DH1_FT02": 363.322798419763, + "SATB1_CHW_DH2_FT01": 776.182271264981, + "SATB1_CHW_DH2_FT02": 568.7848010534914, + "SATB1_CHW_DH3_FT01": 323.57117141142743, + "SATB1_CHW_DH3_FT02": 231.64579686953044, + "SATB1_CHW_DH4_FT01": 51.250416666666666, + "SATB1_CHW_DH4_FT02": 115.78483797839712, + "SATB1_CHW_DH5_FT01": 130.429557159286, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776698168504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 775, + "SATB1_CHW_DH2_FT02": 569, + "SATB1_CHW_DH3_FT01": 324, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 52, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 133, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776698198504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 363.89237204806426, + "SATB1_CHW_DH2_FT01": 786.6023532156726, + "SATB1_CHW_DH2_FT02": 572.569428704753, + "SATB1_CHW_DH3_FT01": 326.67826608669566, + "SATB1_CHW_DH3_FT02": 227.43064513440996, + "SATB1_CHW_DH4_FT01": 70.75093748437526, + "SATB1_CHW_DH4_FT02": 111.5380564305118, + "SATB1_CHW_DH5_FT01": 108.89290535473226, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776698228504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 573, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 227, + "SATB1_CHW_DH4_FT01": 73, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 106, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776698258504 + }, + { + "SATB1_CHW_DH1_FT01": 334.3574785826194, + "SATB1_CHW_DH1_FT02": 363.10763333333335, + "SATB1_CHW_DH2_FT01": 781.7524084136138, + "SATB1_CHW_DH2_FT02": 571.2152702545043, + "SATB1_CHW_DH3_FT01": 323.42888096269877, + "SATB1_CHW_DH3_FT02": 226.10765179419656, + "SATB1_CHW_DH4_FT01": 66.74959582659712, + "SATB1_CHW_DH4_FT02": 117.24678744645745, + "SATB1_CHW_DH5_FT01": 104.21424047468248, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776698288504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 571, + "SATB1_CHW_DH3_FT01": 323, + "SATB1_CHW_DH3_FT02": 226, + "SATB1_CHW_DH4_FT01": 66, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 104, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776698318504 + }, + { + "SATB1_CHW_DH1_FT01": 330.53549107514874, + "SATB1_CHW_DH1_FT02": 366.56970464697645, + "SATB1_CHW_DH2_FT01": 787.2479290631198, + "SATB1_CHW_DH2_FT02": 572.784822574462, + "SATB1_CHW_DH3_FT01": 329.24937917701374, + "SATB1_CHW_DH3_FT02": 230.46197309865494, + "SATB1_CHW_DH4_FT01": 63.32125, + "SATB1_CHW_DH4_FT02": 114.43022151107556, + "SATB1_CHW_DH5_FT01": 116.50036666666666, + "SATB1_CHW_DH5_FT02": 166.67825, + "t_stamp": 1776698348504 + }, + { + "SATB1_CHW_DH1_FT01": 330, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 573, + "SATB1_CHW_DH3_FT01": 330, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 118, + "SATB1_CHW_DH5_FT02": 167, + "t_stamp": 1776698378504 + }, + { + "SATB1_CHW_DH1_FT01": 331.7858297638294, + "SATB1_CHW_DH1_FT02": 364.322744620923, + "SATB1_CHW_DH2_FT01": 780.8598236754829, + "SATB1_CHW_DH2_FT02": 570.3227946200897, + "SATB1_CHW_DH3_FT01": 333.5711261854364, + "SATB1_CHW_DH3_FT02": 235.46192563457276, + "SATB1_CHW_DH4_FT01": 57.6425, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 127.82171666666667, + "SATB1_CHW_DH5_FT02": 159.8582380587314, + "t_stamp": 1776698408504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 570, + "SATB1_CHW_DH3_FT01": 334, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 57, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 129, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776698438504 + }, + { + "SATB1_CHW_DH1_FT01": 331.1070833333333, + "SATB1_CHW_DH1_FT02": 360.430214340478, + "SATB1_CHW_DH2_FT01": 798.7437871893594, + "SATB1_CHW_DH2_FT02": 576.2471123556178, + "SATB1_CHW_DH3_FT01": 331.32160536008934, + "SATB1_CHW_DH3_FT02": 232.43034767825594, + "SATB1_CHW_DH4_FT01": 62.3575, + "SATB1_CHW_DH4_FT02": 111.32261075369179, + "SATB1_CHW_DH5_FT01": 109.35623927065451, + "SATB1_CHW_DH5_FT02": 159.8927613047319, + "t_stamp": 1776698468504 + }, + { + "SATB1_CHW_DH1_FT01": 331, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 801, + "SATB1_CHW_DH2_FT02": 577, + "SATB1_CHW_DH3_FT01": 331, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776698498504 + }, + { + "SATB1_CHW_DH1_FT01": 336.3574107098215, + "SATB1_CHW_DH1_FT02": 362.67739462324374, + "SATB1_CHW_DH2_FT01": 823.3141666666667, + "SATB1_CHW_DH2_FT02": 575.2150702511708, + "SATB1_CHW_DH3_FT01": 326.536, + "SATB1_CHW_DH3_FT02": 232.89243154052568, + "SATB1_CHW_DH4_FT01": 58.53549107514875, + "SATB1_CHW_DH4_FT02": 115.46240770679512, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 155.53616666666667, + "t_stamp": 1776698528504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 826, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 326, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 155, + "t_stamp": 1776698558504 + }, + { + "SATB1_CHW_DH1_FT01": 344.1432, + "SATB1_CHW_DH1_FT02": 362.1075482075299, + "SATB1_CHW_DH2_FT01": 792.0824666666666, + "SATB1_CHW_DH2_FT02": 565.1830302828287, + "SATB1_CHW_DH3_FT01": 334.03506608223194, + "SATB1_CHW_DH3_FT02": 235.67725537907702, + "SATB1_CHW_DH4_FT01": 60.678744645744096, + "SATB1_CHW_DH4_FT02": 110.64518924684589, + "SATB1_CHW_DH5_FT01": 138.25039582673622, + "SATB1_CHW_DH5_FT02": 159.46375893735103, + "t_stamp": 1776698588504 + }, + { + "SATB1_CHW_DH1_FT01": 345, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 564, + "SATB1_CHW_DH3_FT01": 335, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 61, + "SATB1_CHW_DH4_FT02": 110, + "SATB1_CHW_DH5_FT01": 142, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776698618504 + }, + { + "SATB1_CHW_DH1_FT01": 342.3213, + "SATB1_CHW_DH1_FT02": 365.5698594976583, + "SATB1_CHW_DH2_FT01": 769.2561, + "SATB1_CHW_DH2_FT02": 564, + "SATB1_CHW_DH3_FT01": 337.67839463991066, + "SATB1_CHW_DH3_FT02": 235.10756845947432, + "SATB1_CHW_DH4_FT01": 44.927499999999995, + "SATB1_CHW_DH4_FT02": 115.35488924815414, + "SATB1_CHW_DH5_FT01": 116.10643510725178, + "SATB1_CHW_DH5_FT02": 157.32170536175602, + "t_stamp": 1776698648504 + }, + { + "SATB1_CHW_DH1_FT01": 342, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 767, + "SATB1_CHW_DH2_FT02": 564, + "SATB1_CHW_DH3_FT01": 338, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 43, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 113, + "SATB1_CHW_DH5_FT02": 157, + "t_stamp": 1776698678504 + }, + { + "SATB1_CHW_DH1_FT01": 344.6787, + "SATB1_CHW_DH1_FT02": 360.64555696286914, + "SATB1_CHW_DH2_FT01": 777.7102644867757, + "SATB1_CHW_DH2_FT02": 566.6772161391931, + "SATB1_CHW_DH3_FT01": 333.53622318884055, + "SATB1_CHW_DH3_FT02": 233.2152225722047, + "SATB1_CHW_DH4_FT01": 22.463258945684238, + "SATB1_CHW_DH4_FT02": 117.78484767682154, + "SATB1_CHW_DH5_FT01": 101.39271012149797, + "SATB1_CHW_DH5_FT02": 164.14189527015765, + "t_stamp": 1776698708504 + }, + { + "SATB1_CHW_DH1_FT01": 345, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 779, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 20, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 100, + "SATB1_CHW_DH5_FT02": 165, + "t_stamp": 1776698738504 + }, + { + "SATB1_CHW_DH1_FT01": 340.5355, + "SATB1_CHW_DH1_FT02": 361.78491899459965, + "SATB1_CHW_DH2_FT01": 785.2479290631198, + "SATB1_CHW_DH2_FT02": 569.6773784918995, + "SATB1_CHW_DH3_FT01": 338.3566785559519, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 37.858000000000004, + "SATB1_CHW_DH4_FT02": 111.7526668444563, + "SATB1_CHW_DH5_FT01": 100.8928815480258, + "SATB1_CHW_DH5_FT02": 162.32175536258939, + "t_stamp": 1776698768504 + }, + { + "SATB1_CHW_DH1_FT01": 340, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 786, + "SATB1_CHW_DH2_FT02": 570, + "SATB1_CHW_DH3_FT01": 339, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 40, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 101, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776698798504 + }, + { + "SATB1_CHW_DH1_FT01": 339.1071, + "SATB1_CHW_DH1_FT02": 363.78493333333336, + "SATB1_CHW_DH2_FT01": 797.6033666666667, + "SATB1_CHW_DH2_FT02": 574.4622589623506, + "SATB1_CHW_DH3_FT01": 326.5008250137502, + "SATB1_CHW_DH3_FT02": 236.56974050432493, + "SATB1_CHW_DH4_FT01": 63.2154, + "SATB1_CHW_DH4_FT02": 116.3549, + "SATB1_CHW_DH5_FT01": 106.3573, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776698828504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 799, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 66, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776698858504 + }, + { + "SATB1_CHW_DH1_FT01": 339.8929, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 791.8598236754829, + "SATB1_CHW_DH2_FT02": 586.6012699365032, + "SATB1_CHW_DH3_FT01": 327.6784, + "SATB1_CHW_DH3_FT02": 236.10762615825612, + "SATB1_CHW_DH4_FT01": 62.428399999999996, + "SATB1_CHW_DH4_FT02": 112.53788080794614, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 160.21446666666668, + "t_stamp": 1776698888504 + }, + { + "SATB1_CHW_DH1_FT01": 340, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 791, + "SATB1_CHW_DH2_FT02": 588, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 62, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776698918504 + }, + { + "SATB1_CHW_DH1_FT01": 338.2142, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 777.6115805790289, + "SATB1_CHW_DH2_FT02": 573.7211240374679, + "SATB1_CHW_DH3_FT01": 324.42885951900803, + "SATB1_CHW_DH3_FT02": 235.10760358678624, + "SATB1_CHW_DH4_FT01": 54.8568, + "SATB1_CHW_DH4_FT02": 112.8924464148805, + "SATB1_CHW_DH5_FT01": 95.39251666666667, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776698948504 + }, + { + "SATB1_CHW_DH1_FT01": 338, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 776, + "SATB1_CHW_DH2_FT02": 572, + "SATB1_CHW_DH3_FT01": 324, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 54, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 94, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776698978504 + }, + { + "SATB1_CHW_DH1_FT01": 335.3213, + "SATB1_CHW_DH1_FT02": 361.32323535292943, + "SATB1_CHW_DH2_FT01": 776.8924625460363, + "SATB1_CHW_DH2_FT02": 574.6767646470706, + "SATB1_CHW_DH3_FT01": 325.7855369077182, + "SATB1_CHW_DH3_FT02": 246.59849368480687, + "SATB1_CHW_DH4_FT01": 43.2852, + "SATB1_CHW_DH4_FT02": 118.35380769871688, + "SATB1_CHW_DH5_FT01": 76.14263095615073, + "SATB1_CHW_DH5_FT02": 163.57094763507882, + "t_stamp": 1776699008504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 361, + "SATB1_CHW_DH2_FT01": 777, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 326, + "SATB1_CHW_DH3_FT02": 248, + "SATB1_CHW_DH4_FT01": 42, + "SATB1_CHW_DH4_FT02": 119, + "SATB1_CHW_DH5_FT01": 74, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776699038504 + }, + { + "SATB1_CHW_DH1_FT01": 337.67865535574407, + "SATB1_CHW_DH1_FT02": 362.7845558944614, + "SATB1_CHW_DH2_FT01": 786.8167863868936, + "SATB1_CHW_DH2_FT02": 575.8922779472307, + "SATB1_CHW_DH3_FT01": 334.92722030565136, + "SATB1_CHW_DH3_FT02": 238.18534877906492, + "SATB1_CHW_DH4_FT01": 63.4296, + "SATB1_CHW_DH4_FT02": 118.10770179502991, + "SATB1_CHW_DH5_FT01": 85.6070732154464, + "SATB1_CHW_DH5_FT02": 165.7854071530949, + "t_stamp": 1776699068504 + }, + { + "SATB1_CHW_DH1_FT01": 338, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 66, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 87, + "SATB1_CHW_DH5_FT02": 166, + "t_stamp": 1776699098504 + }, + { + "SATB1_CHW_DH1_FT01": 341.57147380876984, + "SATB1_CHW_DH1_FT02": 364.7845369243846, + "SATB1_CHW_DH2_FT01": 780.8606523224613, + "SATB1_CHW_DH2_FT02": 574.2154630756154, + "SATB1_CHW_DH3_FT01": 327.96555, + "SATB1_CHW_DH3_FT02": 238.78447025882903, + "SATB1_CHW_DH4_FT01": 49.928067865535574, + "SATB1_CHW_DH4_FT02": 118.8923, + "SATB1_CHW_DH5_FT01": 87, + "SATB1_CHW_DH5_FT02": 157.07314878085364, + "t_stamp": 1776699128504 + }, + { + "SATB1_CHW_DH1_FT01": 342, + "SATB1_CHW_DH1_FT02": 365, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 574, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 48, + "SATB1_CHW_DH4_FT02": 119, + "SATB1_CHW_DH5_FT01": 87, + "SATB1_CHW_DH5_FT02": 156, + "t_stamp": 1776699158504 + }, + { + "SATB1_CHW_DH1_FT01": 339.3214, + "SATB1_CHW_DH1_FT02": 364.10782255107824, + "SATB1_CHW_DH2_FT01": 775.5382884759604, + "SATB1_CHW_DH2_FT02": 569.5391127553911, + "SATB1_CHW_DH3_FT01": 319.85850471650946, + "SATB1_CHW_DH3_FT02": 230.97070292970702, + "SATB1_CHW_DH4_FT01": 61.39325, + "SATB1_CHW_DH4_FT02": 114.53902044761445, + "SATB1_CHW_DH5_FT01": 116.46300894985083, + "SATB1_CHW_DH5_FT02": 163.14122862571247, + "t_stamp": 1776699188504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 775, + "SATB1_CHW_DH2_FT02": 569, + "SATB1_CHW_DH3_FT01": 319, + "SATB1_CHW_DH3_FT02": 230, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 120, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776699218504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 363.1077887227695, + "SATB1_CHW_DH2_FT01": 783.0315354356957, + "SATB1_CHW_DH2_FT02": 580.5987466039969, + "SATB1_CHW_DH3_FT01": 317.2146333333333, + "SATB1_CHW_DH3_FT02": 228.2156441155391, + "SATB1_CHW_DH4_FT01": 129.0733666666667, + "SATB1_CHW_DH4_FT02": 109.53878591906127, + "SATB1_CHW_DH5_FT01": 111.07153571785726, + "SATB1_CHW_DH5_FT02": 159.53675, + "t_stamp": 1776699248504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 784, + "SATB1_CHW_DH2_FT02": 582, + "SATB1_CHW_DH3_FT01": 317, + "SATB1_CHW_DH3_FT02": 228, + "SATB1_CHW_DH4_FT01": 137, + "SATB1_CHW_DH4_FT02": 109, + "SATB1_CHW_DH5_FT01": 110, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776699278504 + }, + { + "SATB1_CHW_DH1_FT01": 337.2142333333333, + "SATB1_CHW_DH1_FT02": 360.32361763823616, + "SATB1_CHW_DH2_FT01": 784, + "SATB1_CHW_DH2_FT02": 582, + "SATB1_CHW_DH3_FT01": 327.7122, + "SATB1_CHW_DH3_FT02": 233.3524755445198, + "SATB1_CHW_DH4_FT01": 50.39031666666666, + "SATB1_CHW_DH4_FT02": 111.67648235176482, + "SATB1_CHW_DH5_FT01": 108.2143, + "SATB1_CHW_DH5_FT02": 161.6777714819012, + "t_stamp": 1776699308504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 784, + "SATB1_CHW_DH2_FT02": 582, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 234, + "SATB1_CHW_DH4_FT01": 40, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 108, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776699338504 + }, + { + "SATB1_CHW_DH1_FT01": 340.57147380876984, + "SATB1_CHW_DH1_FT02": 361.78453075512584, + "SATB1_CHW_DH2_FT01": 775.9681113518919, + "SATB1_CHW_DH2_FT02": 579.3232092550301, + "SATB1_CHW_DH3_FT01": 328.1072720302682, + "SATB1_CHW_DH3_FT02": 235.78446048442214, + "SATB1_CHW_DH4_FT01": 32.85693333333333, + "SATB1_CHW_DH4_FT02": 116.46141921288194, + "SATB1_CHW_DH5_FT01": 95.50030832819454, + "SATB1_CHW_DH5_FT02": 161.10731251979396, + "t_stamp": 1776699368504 + }, + { + "SATB1_CHW_DH1_FT01": 341, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 775, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 32, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 94, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776699398504 + }, + { + "SATB1_CHW_DH1_FT01": 336.53566666666666, + "SATB1_CHW_DH1_FT02": 365.5694902823616, + "SATB1_CHW_DH2_FT01": 775.8924946247313, + "SATB1_CHW_DH2_FT02": 575.4305692141012, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 232.43064306430642, + "SATB1_CHW_DH4_FT01": 42.714600000000004, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 89.53575892931549, + "SATB1_CHW_DH5_FT02": 160.1072702423414, + "t_stamp": 1776699428504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 776, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 44, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 89, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776699458504 + }, + { + "SATB1_CHW_DH1_FT01": 331.53566666666666, + "SATB1_CHW_DH1_FT02": 364.21520358672643, + "SATB1_CHW_DH2_FT01": 782.2476041267355, + "SATB1_CHW_DH2_FT02": 572.3228107603587, + "SATB1_CHW_DH3_FT01": 336.0347660872319, + "SATB1_CHW_DH3_FT02": 235.56951898396613, + "SATB1_CHW_DH4_FT01": 62.750550000000004, + "SATB1_CHW_DH4_FT02": 107.18327277575919, + "SATB1_CHW_DH5_FT01": 111.32124999999999, + "SATB1_CHW_DH5_FT02": 162.67815536407727, + "t_stamp": 1776699488504 + }, + { + "SATB1_CHW_DH1_FT01": 331, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 783, + "SATB1_CHW_DH2_FT02": 572, + "SATB1_CHW_DH3_FT01": 337, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 65, + "SATB1_CHW_DH4_FT02": 106, + "SATB1_CHW_DH5_FT01": 114, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776699518504 + }, + { + "SATB1_CHW_DH1_FT01": 329.2142666666667, + "SATB1_CHW_DH1_FT02": 362.2152297461709, + "SATB1_CHW_DH2_FT01": 797.2800286661889, + "SATB1_CHW_DH2_FT02": 577.3543107614873, + "SATB1_CHW_DH3_FT01": 337, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 52.499633333333335, + "SATB1_CHW_DH4_FT02": 113.13922869237692, + "SATB1_CHW_DH5_FT01": 113.10715, + "SATB1_CHW_DH5_FT02": 157.64361072684545, + "t_stamp": 1776699548504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 799, + "SATB1_CHW_DH2_FT02": 578, + "SATB1_CHW_DH3_FT01": 337, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 51, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 113, + "SATB1_CHW_DH5_FT02": 157, + "t_stamp": 1776699578504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 365.5690574590055, + "SATB1_CHW_DH2_FT01": 801.6772322767723, + "SATB1_CHW_DH2_FT02": 576.2155010081821, + "SATB1_CHW_DH3_FT01": 327.1802213185788, + "SATB1_CHW_DH3_FT02": 231.5389101816364, + "SATB1_CHW_DH4_FT01": 48.32139464342261, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 105.85743808539715, + "SATB1_CHW_DH5_FT02": 165.03406439570696, + "t_stamp": 1776699608504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 802, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 326, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 48, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 105, + "SATB1_CHW_DH5_FT02": 166, + "t_stamp": 1776699638504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 363.3229822982298, + "SATB1_CHW_DH2_FT01": 789.5055670378025, + "SATB1_CHW_DH2_FT02": 583.1386995149434, + "SATB1_CHW_DH3_FT01": 327.7854297571626, + "SATB1_CHW_DH3_FT02": 234.569216408581, + "SATB1_CHW_DH4_FT01": 48.8928815480258, + "SATB1_CHW_DH4_FT02": 113.1076440977431, + "SATB1_CHW_DH5_FT01": 44.28644288142938, + "SATB1_CHW_DH5_FT02": 163.322, + "t_stamp": 1776699668504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 584, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 49, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 37, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776699698504 + }, + { + "SATB1_CHW_DH1_FT01": 331.6786, + "SATB1_CHW_DH1_FT02": 358.53802690134506, + "SATB1_CHW_DH2_FT01": 789.7850225844626, + "SATB1_CHW_DH2_FT02": 584, + "SATB1_CHW_DH3_FT01": 328.89274642488084, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 49.89286845219247, + "SATB1_CHW_DH4_FT02": 112.10758871276897, + "SATB1_CHW_DH5_FT01": 120.03505, + "SATB1_CHW_DH5_FT02": 160.32186609330466, + "t_stamp": 1776699728504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 358, + "SATB1_CHW_DH2_FT01": 790, + "SATB1_CHW_DH2_FT02": 584, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 50, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 130, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776699758504 + }, + { + "SATB1_CHW_DH1_FT01": 336.46433333333334, + "SATB1_CHW_DH1_FT02": 365.1389620345988, + "SATB1_CHW_DH2_FT01": 777.5051831605613, + "SATB1_CHW_DH2_FT02": 584, + "SATB1_CHW_DH3_FT01": 332.571, + "SATB1_CHW_DH3_FT02": 231.43059282345294, + "SATB1_CHW_DH4_FT01": 49.10713333333333, + "SATB1_CHW_DH4_FT02": 111.10761307956402, + "SATB1_CHW_DH5_FT01": 99.643605939901, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776699788504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 776, + "SATB1_CHW_DH2_FT02": 584, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 49, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 96, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776699818504 + }, + { + "SATB1_CHW_DH1_FT01": 337.89285178580354, + "SATB1_CHW_DH1_FT02": 368.677144619077, + "SATB1_CHW_DH2_FT01": 784.03235, + "SATB1_CHW_DH2_FT02": 566.1526666666666, + "SATB1_CHW_DH3_FT01": 339.2491458475692, + "SATB1_CHW_DH3_FT02": 235.46175, + "SATB1_CHW_DH4_FT01": 48.10713333333333, + "SATB1_CHW_DH4_FT02": 120.81638027300455, + "SATB1_CHW_DH5_FT01": 112.071, + "SATB1_CHW_DH5_FT02": 163.5708143061898, + "t_stamp": 1776699848504 + }, + { + "SATB1_CHW_DH1_FT01": 338, + "SATB1_CHW_DH1_FT02": 369, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 564, + "SATB1_CHW_DH3_FT01": 340, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 48, + "SATB1_CHW_DH4_FT02": 122, + "SATB1_CHW_DH5_FT01": 114, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776699878504 + }, + { + "SATB1_CHW_DH1_FT01": 328.1784863081051, + "SATB1_CHW_DH1_FT02": 362.754565753516, + "SATB1_CHW_DH2_FT01": 788.5697548455911, + "SATB1_CHW_DH2_FT02": 565.7843764580417, + "SATB1_CHW_DH3_FT01": 338.21453333333335, + "SATB1_CHW_DH3_FT02": 233.3235744992835, + "SATB1_CHW_DH4_FT01": 50.6786, + "SATB1_CHW_DH4_FT02": 122.89225129145143, + "SATB1_CHW_DH5_FT01": 103.28582143035717, + "SATB1_CHW_DH5_FT02": 162.21457024283737, + "t_stamp": 1776699908504 + }, + { + "SATB1_CHW_DH1_FT01": 327, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 789, + "SATB1_CHW_DH2_FT02": 566, + "SATB1_CHW_DH3_FT01": 338, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 51, + "SATB1_CHW_DH4_FT02": 123, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776699938504 + }, + { + "SATB1_CHW_DH1_FT01": 342.17873333333335, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 791.6775677567757, + "SATB1_CHW_DH2_FT02": 566.8923897641077, + "SATB1_CHW_DH3_FT01": 343.35648927482123, + "SATB1_CHW_DH3_FT02": 238.35412776740463, + "SATB1_CHW_DH4_FT01": 42.9642, + "SATB1_CHW_DH4_FT02": 114.96829365873174, + "SATB1_CHW_DH5_FT01": 67.17943034282763, + "SATB1_CHW_DH5_FT02": 164.67815, + "t_stamp": 1776699968504 + }, + { + "SATB1_CHW_DH1_FT01": 344, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 792, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 344, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 42, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 63, + "SATB1_CHW_DH5_FT02": 165, + "t_stamp": 1776699998504 + }, + { + "SATB1_CHW_DH1_FT01": 343.1071779744346, + "SATB1_CHW_DH1_FT02": 362.89229769364084, + "SATB1_CHW_DH2_FT01": 788.4302831336344, + "SATB1_CHW_DH2_FT02": 577.7075723236902, + "SATB1_CHW_DH3_FT01": 336.8584761015932, + "SATB1_CHW_DH3_FT02": 237.21547127049726, + "SATB1_CHW_DH4_FT01": 47.357021432618915, + "SATB1_CHW_DH4_FT02": 115.78465845651341, + "SATB1_CHW_DH5_FT01": 94.24760428645234, + "SATB1_CHW_DH5_FT02": 156.9660855942937, + "t_stamp": 1776700028504 + }, + { + "SATB1_CHW_DH1_FT01": 343, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 788, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 48, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 98, + "SATB1_CHW_DH5_FT02": 156, + "t_stamp": 1776700058504 + }, + { + "SATB1_CHW_DH1_FT01": 331.392802973482, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 785.3223929857314, + "SATB1_CHW_DH2_FT02": 577.2151953593813, + "SATB1_CHW_DH3_FT01": 327.96518043170266, + "SATB1_CHW_DH3_FT02": 238.78476771515727, + "SATB1_CHW_DH4_FT01": 56.03576785892863, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 101.57131189892829, + "SATB1_CHW_DH5_FT02": 162.24907075589633, + "t_stamp": 1776700088504 + }, + { + "SATB1_CHW_DH1_FT01": 330, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 577, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 57, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776700118504 + }, + { + "SATB1_CHW_DH1_FT01": 332.6785553574107, + "SATB1_CHW_DH1_FT02": 365.6770769102575, + "SATB1_CHW_DH2_FT01": 798.3873575094993, + "SATB1_CHW_DH2_FT02": 577.8923571761883, + "SATB1_CHW_DH3_FT01": 325.2145261824606, + "SATB1_CHW_DH3_FT02": 243.46162819765019, + "SATB1_CHW_DH4_FT01": 61.46425892901785, + "SATB1_CHW_DH4_FT02": 115.10762436463628, + "SATB1_CHW_DH5_FT01": 100.21433333333333, + "SATB1_CHW_DH5_FT02": 161.21456309061514, + "t_stamp": 1776700148504 + }, + { + "SATB1_CHW_DH1_FT01": 333, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 800, + "SATB1_CHW_DH2_FT02": 578, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 244, + "SATB1_CHW_DH4_FT01": 62, + "SATB1_CHW_DH4_FT02": 115, + "SATB1_CHW_DH5_FT01": 100, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776700178504 + }, + { + "SATB1_CHW_DH1_FT01": 337.46425, + "SATB1_CHW_DH1_FT02": 364.21535948801704, + "SATB1_CHW_DH2_FT01": 778.5804, + "SATB1_CHW_DH2_FT02": 564.615196160128, + "SATB1_CHW_DH3_FT01": 329.4635922734621, + "SATB1_CHW_DH3_FT02": 240.43079282011968, + "SATB1_CHW_DH4_FT01": 60.2142702378373, + "SATB1_CHW_DH4_FT02": 110.53831538948701, + "SATB1_CHW_DH5_FT01": 114.28533333333334, + "SATB1_CHW_DH5_FT02": 158.32198390080495, + "t_stamp": 1776700208504 + }, + { + "SATB1_CHW_DH1_FT01": 338, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 776, + "SATB1_CHW_DH2_FT02": 563, + "SATB1_CHW_DH3_FT01": 330, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 60, + "SATB1_CHW_DH4_FT02": 110, + "SATB1_CHW_DH5_FT01": 116, + "SATB1_CHW_DH5_FT02": 158, + "t_stamp": 1776700238504 + }, + { + "SATB1_CHW_DH1_FT01": 340.67855, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 773.32255, + "SATB1_CHW_DH2_FT02": 562.1076387152691, + "SATB1_CHW_DH3_FT01": 329.10726845447425, + "SATB1_CHW_DH3_FT02": 225.72248612430622, + "SATB1_CHW_DH4_FT01": 60, + "SATB1_CHW_DH4_FT02": 114.46188976115472, + "SATB1_CHW_DH5_FT01": 119.57133333333333, + "SATB1_CHW_DH5_FT02": 160.678, + "t_stamp": 1776700268504 + }, + { + "SATB1_CHW_DH1_FT01": 341, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 773, + "SATB1_CHW_DH2_FT02": 562, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 224, + "SATB1_CHW_DH4_FT01": 60, + "SATB1_CHW_DH4_FT02": 115, + "SATB1_CHW_DH5_FT01": 120, + "SATB1_CHW_DH5_FT02": 161, + "t_stamp": 1776700298504 + }, + { + "SATB1_CHW_DH1_FT01": 340.10716488058534, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 771.215003583393, + "SATB1_CHW_DH2_FT02": 577.169980500325, + "SATB1_CHW_DH3_FT01": 328.10726666666665, + "SATB1_CHW_DH3_FT02": 233.8156864052266, + "SATB1_CHW_DH4_FT01": 58.21429642839286, + "SATB1_CHW_DH4_FT02": 111.43052615789736, + "SATB1_CHW_DH5_FT01": 112.85745237579374, + "SATB1_CHW_DH5_FT02": 154.75102088437754, + "t_stamp": 1776700328504 + }, + { + "SATB1_CHW_DH1_FT01": 340, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 771, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 112, + "SATB1_CHW_DH5_FT02": 154, + "t_stamp": 1776700358504 + }, + { + "SATB1_CHW_DH1_FT01": 336.4286071434524, + "SATB1_CHW_DH1_FT02": 363.10760538026904, + "SATB1_CHW_DH2_FT01": 784.3877231287188, + "SATB1_CHW_DH2_FT02": 568.2912645632282, + "SATB1_CHW_DH3_FT01": 331.57093333333336, + "SATB1_CHW_DH3_FT02": 239.46181539384645, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 113.67723386169308, + "SATB1_CHW_DH5_FT01": 121.82098333333333, + "SATB1_CHW_DH5_FT02": 146.85826666666668, + "t_stamp": 1776700388504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 786, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 332, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 123, + "SATB1_CHW_DH5_FT02": 146, + "t_stamp": 1776700418504 + }, + { + "SATB1_CHW_DH1_FT01": 337.7857, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 790.4625833333333, + "SATB1_CHW_DH2_FT02": 567.8924, + "SATB1_CHW_DH3_FT01": 327.53633333333335, + "SATB1_CHW_DH3_FT02": 236.43047384123068, + "SATB1_CHW_DH4_FT01": 56.2143, + "SATB1_CHW_DH4_FT02": 111.32270537842297, + "SATB1_CHW_DH5_FT01": 98.89354822580377, + "SATB1_CHW_DH5_FT02": 151.3563, + "t_stamp": 1776700448504 + }, + { + "SATB1_CHW_DH1_FT01": 338, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 791, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 56, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 96, + "SATB1_CHW_DH5_FT02": 152, + "t_stamp": 1776700478504 + }, + { + "SATB1_CHW_DH1_FT01": 335.321494641756, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 782.96735, + "SATB1_CHW_DH2_FT02": 564.4304, + "SATB1_CHW_DH3_FT01": 335.0346, + "SATB1_CHW_DH3_FT02": 235.10763153947434, + "SATB1_CHW_DH4_FT01": 61.3571, + "SATB1_CHW_DH4_FT02": 116.35451075815403, + "SATB1_CHW_DH5_FT01": 89.75027082881952, + "SATB1_CHW_DH5_FT02": 165.39052682455292, + "t_stamp": 1776700508504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 782, + "SATB1_CHW_DH2_FT02": 564, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 62, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 89, + "SATB1_CHW_DH5_FT02": 167, + "t_stamp": 1776700538504 + }, + { + "SATB1_CHW_DH1_FT01": 332.3215, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 779.3229407941877, + "SATB1_CHW_DH2_FT02": 563.1078230442389, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 236.78428726151796, + "SATB1_CHW_DH4_FT01": 58.4286, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 117.56965717238046, + "SATB1_CHW_DH5_FT02": 163.42943803746417, + "t_stamp": 1776700568504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 779, + "SATB1_CHW_DH2_FT02": 563, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 121, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776700598504 + }, + { + "SATB1_CHW_DH1_FT01": 332.8916444740346, + "SATB1_CHW_DH1_FT02": 365.67275813860596, + "SATB1_CHW_DH2_FT01": 779.891100644109, + "SATB1_CHW_DH2_FT02": 574.5817355702018, + "SATB1_CHW_DH3_FT01": 333.32565493825103, + "SATB1_CHW_DH3_FT02": 239.67260834831237, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 116.10904733373278, + "SATB1_CHW_DH5_FT01": 104.05995139975367, + "SATB1_CHW_DH5_FT02": 160.3257993109532, + "t_stamp": 1776700628504 + }, + { + "SATB1_CHW_DH1_FT01": 333, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 780, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 102, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776700658504 + }, + { + "SATB1_CHW_DH1_FT01": 332.1077415803433, + "SATB1_CHW_DH1_FT02": 370.4586635521815, + "SATB1_CHW_DH2_FT01": 775.5407163950016, + "SATB1_CHW_DH2_FT02": 568.8661527680448, + "SATB1_CHW_DH3_FT01": 326.7549672188579, + "SATB1_CHW_DH3_FT02": 235.5414379390319, + "SATB1_CHW_DH4_FT01": 68.70712260216847, + "SATB1_CHW_DH4_FT02": 116.89176607991992, + "SATB1_CHW_DH5_FT01": 96.64658192373136, + "SATB1_CHW_DH5_FT02": 163.5684495011845, + "t_stamp": 1776700688504 + }, + { + "SATB1_CHW_DH1_FT01": 332, + "SATB1_CHW_DH1_FT02": 371, + "SATB1_CHW_DH2_FT01": 775, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 326, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 70, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 96, + "SATB1_CHW_DH5_FT02": 164, + "t_stamp": 1776700718504 + }, + { + "SATB1_CHW_DH1_FT01": 334.6770053832436, + "SATB1_CHW_DH1_FT02": 363.86496216540553, + "SATB1_CHW_DH2_FT01": 783.02796759892, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 334.9223512941451, + "SATB1_CHW_DH3_FT02": 235.89186306210206, + "SATB1_CHW_DH4_FT01": 60.18415, + "SATB1_CHW_DH4_FT02": 110.75660855361845, + "SATB1_CHW_DH5_FT01": 99.56927384543592, + "SATB1_CHW_DH5_FT02": 162.21559640672655, + "t_stamp": 1776700748504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 784, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 336, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 59, + "SATB1_CHW_DH4_FT02": 110, + "SATB1_CHW_DH5_FT01": 100, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776700778504 + }, + { + "SATB1_CHW_DH1_FT01": 336.78463692271794, + "SATB1_CHW_DH1_FT02": 365.67502582730697, + "SATB1_CHW_DH2_FT01": 792.9186622006699, + "SATB1_CHW_DH2_FT02": 570.675025827307, + "SATB1_CHW_DH3_FT01": 344.02929707029296, + "SATB1_CHW_DH3_FT02": 232.4334844041589, + "SATB1_CHW_DH4_FT01": 69.70802153297444, + "SATB1_CHW_DH4_FT02": 114.45861729958509, + "SATB1_CHW_DH5_FT01": 109.81515616146129, + "SATB1_CHW_DH5_FT02": 158.43149737521873, + "t_stamp": 1776700808504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 794, + "SATB1_CHW_DH2_FT02": 571, + "SATB1_CHW_DH3_FT01": 345, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 71, + "SATB1_CHW_DH4_FT02": 115, + "SATB1_CHW_DH5_FT01": 111, + "SATB1_CHW_DH5_FT02": 158, + "t_stamp": 1776700838504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 800.2439906651108, + "SATB1_CHW_DH2_FT02": 579.9187296824206, + "SATB1_CHW_DH3_FT01": 327.15584632052673, + "SATB1_CHW_DH3_FT02": 238.24286476393706, + "SATB1_CHW_DH4_FT01": 53.153035883931395, + "SATB1_CHW_DH4_FT02": 117.6756797306083, + "SATB1_CHW_DH5_FT01": 114.56925230841028, + "SATB1_CHW_DH5_FT02": 159.78438203183597, + "t_stamp": 1776700868504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 801, + "SATB1_CHW_DH2_FT02": 581, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 51, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 115, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776700898504 + }, + { + "SATB1_CHW_DH1_FT01": 330.75377077048717, + "SATB1_CHW_DH1_FT02": 363.324924184357, + "SATB1_CHW_DH2_FT01": 783.1632340198627, + "SATB1_CHW_DH2_FT02": 577.4332916770808, + "SATB1_CHW_DH3_FT01": 316.9707191067411, + "SATB1_CHW_DH3_FT02": 239.89164375572773, + "SATB1_CHW_DH4_FT01": 44.7536541057649, + "SATB1_CHW_DH4_FT02": 116.21658279734729, + "SATB1_CHW_DH5_FT01": 115.89227205306402, + "SATB1_CHW_DH5_FT02": 161.7842215778422, + "t_stamp": 1776700928504 + }, + { + "SATB1_CHW_DH1_FT01": 330, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 577, + "SATB1_CHW_DH3_FT01": 316, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 44, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 116, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776700958504 + }, + { + "SATB1_CHW_DH1_FT01": 335.3539, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 576.1083054152708, + "SATB1_CHW_DH3_FT01": 330.27413333333334, + "SATB1_CHW_DH3_FT02": 237.32501625081255, + "SATB1_CHW_DH4_FT01": 56.492666666666665, + "SATB1_CHW_DH4_FT02": 111.5413604013534, + "SATB1_CHW_DH5_FT01": 114.21543692394873, + "SATB1_CHW_DH5_FT02": 162.8921, + "t_stamp": 1776700988504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 332, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 111, + "SATB1_CHW_DH5_FT01": 114, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776701018504 + }, + { + "SATB1_CHW_DH1_FT01": 338.67695, + "SATB1_CHW_DH1_FT02": 362.10835944270383, + "SATB1_CHW_DH2_FT01": 794.3773040898636, + "SATB1_CHW_DH2_FT02": 572.4334377708153, + "SATB1_CHW_DH3_FT01": 339.1371856197603, + "SATB1_CHW_DH3_FT02": 232.5419638690754, + "SATB1_CHW_DH4_FT01": 51.75366666666667, + "SATB1_CHW_DH4_FT02": 116.35004333044463, + "SATB1_CHW_DH5_FT01": 102.40031666666667, + "SATB1_CHW_DH5_FT02": 159.43154052567542, + "t_stamp": 1776701048504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 796, + "SATB1_CHW_DH2_FT02": 572, + "SATB1_CHW_DH3_FT01": 340, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 51, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 101, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776701078504 + }, + { + "SATB1_CHW_DH1_FT01": 336.32305, + "SATB1_CHW_DH1_FT02": 365.56671166891675, + "SATB1_CHW_DH2_FT01": 780.8383585845959, + "SATB1_CHW_DH2_FT02": 566.6499324966248, + "SATB1_CHW_DH3_FT01": 339.10785, + "SATB1_CHW_DH3_FT02": 235.56657832891645, + "SATB1_CHW_DH4_FT01": 44.75377077048716, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 77.80063333333334, + "SATB1_CHW_DH5_FT02": 161.67639460657676, + "t_stamp": 1776701108504 + }, + { + "SATB1_CHW_DH1_FT01": 336, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 779, + "SATB1_CHW_DH2_FT02": 566, + "SATB1_CHW_DH3_FT01": 339, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 44, + "SATB1_CHW_DH4_FT02": 117, + "SATB1_CHW_DH5_FT01": 75, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776701138504 + }, + { + "SATB1_CHW_DH1_FT01": 344.03085, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 782.5672883022515, + "SATB1_CHW_DH2_FT02": 574.0250162497292, + "SATB1_CHW_DH3_FT01": 330.0783513058551, + "SATB1_CHW_DH3_FT02": 236.89163513941435, + "SATB1_CHW_DH4_FT01": 56.49264154402573, + "SATB1_CHW_DH4_FT02": 110.75808736521059, + "SATB1_CHW_DH5_FT01": 85.707578459641, + "SATB1_CHW_DH5_FT02": 165.56835491558755, + "t_stamp": 1776701168504 + }, + { + "SATB1_CHW_DH1_FT01": 345, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 783, + "SATB1_CHW_DH2_FT02": 575, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 110, + "SATB1_CHW_DH5_FT01": 87, + "SATB1_CHW_DH5_FT02": 166, + "t_stamp": 1776701198504 + }, + { + "SATB1_CHW_DH1_FT01": 332.50756666666666, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 777.648921630721, + "SATB1_CHW_DH2_FT02": 585.7001783363056, + "SATB1_CHW_DH3_FT01": 323.6469107818464, + "SATB1_CHW_DH3_FT02": 240.5665927765463, + "SATB1_CHW_DH4_FT01": 62.461666666666666, + "SATB1_CHW_DH4_FT02": 121.59229320488674, + "SATB1_CHW_DH5_FT01": 88.78457025716239, + "SATB1_CHW_DH5_FT02": 167.78425587946063, + "t_stamp": 1776701228504 + }, + { + "SATB1_CHW_DH1_FT01": 331, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 777, + "SATB1_CHW_DH2_FT02": 587, + "SATB1_CHW_DH3_FT01": 323, + "SATB1_CHW_DH3_FT02": 241, + "SATB1_CHW_DH4_FT01": 63, + "SATB1_CHW_DH4_FT02": 123, + "SATB1_CHW_DH5_FT01": 89, + "SATB1_CHW_DH5_FT02": 168, + "t_stamp": 1776701258504 + }, + { + "SATB1_CHW_DH1_FT01": 330.10768333333334, + "SATB1_CHW_DH1_FT02": 366.8917576464705, + "SATB1_CHW_DH2_FT01": 783.243366224415, + "SATB1_CHW_DH2_FT02": 579.8659388282357, + "SATB1_CHW_DH3_FT01": 324.78436666666664, + "SATB1_CHW_DH3_FT02": 239.2165513792816, + "SATB1_CHW_DH4_FT01": 48.722904618256365, + "SATB1_CHW_DH4_FT02": 119.43283606967248, + "SATB1_CHW_DH5_FT01": 97.03055, + "SATB1_CHW_DH5_FT02": 157.2942215703595, + "t_stamp": 1776701288504 + }, + { + "SATB1_CHW_DH1_FT01": 330, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 784, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 47, + "SATB1_CHW_DH4_FT02": 119, + "SATB1_CHW_DH5_FT01": 98, + "SATB1_CHW_DH5_FT02": 156, + "t_stamp": 1776701318504 + }, + { + "SATB1_CHW_DH1_FT01": 338.03085, + "SATB1_CHW_DH1_FT02": 364.3247, + "SATB1_CHW_DH2_FT01": 781.3242945950901, + "SATB1_CHW_DH2_FT02": 568.2988, + "SATB1_CHW_DH3_FT01": 328.56873333333334, + "SATB1_CHW_DH3_FT02": 233.6496, + "SATB1_CHW_DH4_FT01": 39.861466666666665, + "SATB1_CHW_DH4_FT02": 114.54107431542808, + "SATB1_CHW_DH5_FT01": 110.49196666666667, + "SATB1_CHW_DH5_FT02": 158.67645, + "t_stamp": 1776701348504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 233, + "SATB1_CHW_DH4_FT01": 39, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 112, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776701378504 + }, + { + "SATB1_CHW_DH1_FT01": 342.5692071798803, + "SATB1_CHW_DH1_FT02": 366.6752554124098, + "SATB1_CHW_DH2_FT01": 774.7568040532658, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 234.78343694271763, + "SATB1_CHW_DH4_FT01": 49.7078, + "SATB1_CHW_DH4_FT02": 117.56707388210197, + "SATB1_CHW_DH5_FT01": 108.4309261512308, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776701408504 + }, + { + "SATB1_CHW_DH1_FT01": 343, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 774, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 329, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 51, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 108, + "SATB1_CHW_DH5_FT02": 159, + "t_stamp": 1776701438504 + }, + { + "SATB1_CHW_DH1_FT01": 343.89231487191455, + "SATB1_CHW_DH1_FT02": 367.89173513774773, + "SATB1_CHW_DH2_FT01": 777.5675333333334, + "SATB1_CHW_DH2_FT02": 567.8917351377477, + "SATB1_CHW_DH3_FT01": 325.43134052234205, + "SATB1_CHW_DH3_FT02": 242.13361443975933, + "SATB1_CHW_DH4_FT01": 67.0617, + "SATB1_CHW_DH4_FT02": 112.6494, + "SATB1_CHW_DH5_FT01": 134.76844614076902, + "SATB1_CHW_DH5_FT02": 161.67639460657676, + "t_stamp": 1776701468504 + }, + { + "SATB1_CHW_DH1_FT01": 344, + "SATB1_CHW_DH1_FT02": 368, + "SATB1_CHW_DH2_FT01": 778, + "SATB1_CHW_DH2_FT02": 568, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 243, + "SATB1_CHW_DH4_FT01": 69, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 138, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776701498504 + }, + { + "SATB1_CHW_DH1_FT01": 338.6461892301795, + "SATB1_CHW_DH1_FT02": 366.21653333333336, + "SATB1_CHW_DH2_FT01": 786.0269499999999, + "SATB1_CHW_DH2_FT02": 577.8090666666667, + "SATB1_CHW_DH3_FT01": 319.647, + "SATB1_CHW_DH3_FT02": 245.6751, + "SATB1_CHW_DH4_FT01": 71.67695, + "SATB1_CHW_DH4_FT02": 113.78353333333334, + "SATB1_CHW_DH5_FT01": 131.75401666666667, + "SATB1_CHW_DH5_FT02": 148.618, + "t_stamp": 1776701528504 + }, + { + "SATB1_CHW_DH1_FT01": 338, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 787, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 319, + "SATB1_CHW_DH3_FT02": 246, + "SATB1_CHW_DH4_FT01": 72, + "SATB1_CHW_DH4_FT02": 114, + "SATB1_CHW_DH5_FT01": 131, + "SATB1_CHW_DH5_FT02": 147, + "t_stamp": 1776701558504 + }, + { + "SATB1_CHW_DH1_FT01": 337.1077, + "SATB1_CHW_DH1_FT02": 364.2166522231851, + "SATB1_CHW_DH2_FT01": 764.7047746021165, + "SATB1_CHW_DH2_FT02": 570.9750687442713, + "SATB1_CHW_DH3_FT01": 324.35282157261423, + "SATB1_CHW_DH3_FT02": 240.65015665622292, + "SATB1_CHW_DH4_FT01": 51.477058715688074, + "SATB1_CHW_DH4_FT02": 115.78338471794017, + "SATB1_CHW_DH5_FT01": 115.83168894370188, + "SATB1_CHW_DH5_FT02": 155.92088728896888, + "t_stamp": 1776701588504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 762, + "SATB1_CHW_DH2_FT02": 570, + "SATB1_CHW_DH3_FT01": 325, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 49, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 114, + "SATB1_CHW_DH5_FT02": 157, + "t_stamp": 1776701618504 + }, + { + "SATB1_CHW_DH1_FT01": 333.4308, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 789.6476431762118, + "SATB1_CHW_DH2_FT02": 567.3248716581105, + "SATB1_CHW_DH3_FT01": 324.1078369278976, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 57.923, + "SATB1_CHW_DH4_FT02": 120.45871391426095, + "SATB1_CHW_DH5_FT01": 109.53867564459408, + "SATB1_CHW_DH5_FT02": 157.89212793973033, + "t_stamp": 1776701648504 + }, + { + "SATB1_CHW_DH1_FT01": 333, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 793, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 324, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 59, + "SATB1_CHW_DH4_FT02": 121, + "SATB1_CHW_DH5_FT01": 109, + "SATB1_CHW_DH5_FT02": 158, + "t_stamp": 1776701678504 + }, + { + "SATB1_CHW_DH1_FT01": 331.2154297428376, + "SATB1_CHW_DH1_FT02": 365.78313975771107, + "SATB1_CHW_DH2_FT01": 794.783614425705, + "SATB1_CHW_DH2_FT02": 575.024112647892, + "SATB1_CHW_DH3_FT01": 321.3235, + "SATB1_CHW_DH3_FT02": 237.32547947944613, + "SATB1_CHW_DH4_FT01": 59, + "SATB1_CHW_DH4_FT02": 118.32510665244634, + "SATB1_CHW_DH5_FT01": 140.2288128531191, + "SATB1_CHW_DH5_FT02": 150.86293333333333, + "t_stamp": 1776701708504 + }, + { + "SATB1_CHW_DH1_FT01": 331, + "SATB1_CHW_DH1_FT02": 366, + "SATB1_CHW_DH2_FT01": 795, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 321, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 59, + "SATB1_CHW_DH4_FT02": 118, + "SATB1_CHW_DH5_FT01": 144, + "SATB1_CHW_DH5_FT02": 150, + "t_stamp": 1776701738504 + }, + { + "SATB1_CHW_DH1_FT01": 334.56919281988036, + "SATB1_CHW_DH1_FT02": 363.32494874231134, + "SATB1_CHW_DH2_FT01": 792.3244662233112, + "SATB1_CHW_DH2_FT02": 584.025020002667, + "SATB1_CHW_DH3_FT01": 322.78430359494007, + "SATB1_CHW_DH3_FT02": 234.32505959425896, + "SATB1_CHW_DH4_FT01": 56.323105385089754, + "SATB1_CHW_DH4_FT02": 110.86635330199687, + "SATB1_CHW_DH5_FT01": 93.14090234837246, + "SATB1_CHW_DH5_FT02": 157.13694771753805, + "t_stamp": 1776701768504 + }, + { + "SATB1_CHW_DH1_FT01": 335, + "SATB1_CHW_DH1_FT02": 363, + "SATB1_CHW_DH2_FT01": 792, + "SATB1_CHW_DH2_FT02": 585, + "SATB1_CHW_DH3_FT01": 323, + "SATB1_CHW_DH3_FT02": 234, + "SATB1_CHW_DH4_FT01": 56, + "SATB1_CHW_DH4_FT02": 110, + "SATB1_CHW_DH5_FT01": 87, + "SATB1_CHW_DH5_FT02": 158, + "t_stamp": 1776701798504 + }, + { + "SATB1_CHW_DH1_FT01": 338.56872417011067, + "SATB1_CHW_DH1_FT02": 366.56644335566443, + "SATB1_CHW_DH2_FT01": 796.4587298148549, + "SATB1_CHW_DH2_FT02": 579.6504349565043, + "SATB1_CHW_DH3_FT01": 323.892031062525, + "SATB1_CHW_DH3_FT02": 231.32531204692785, + "SATB1_CHW_DH4_FT01": 63.137567283816885, + "SATB1_CHW_DH4_FT02": 106.4334899843349, + "SATB1_CHW_DH5_FT01": 88.78429542727636, + "SATB1_CHW_DH5_FT02": 161.5680503941207, + "t_stamp": 1776701828504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 797, + "SATB1_CHW_DH2_FT02": 579, + "SATB1_CHW_DH3_FT01": 324, + "SATB1_CHW_DH3_FT02": 231, + "SATB1_CHW_DH4_FT01": 64, + "SATB1_CHW_DH4_FT02": 106, + "SATB1_CHW_DH5_FT01": 89, + "SATB1_CHW_DH5_FT02": 162, + "t_stamp": 1776701858504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 787.1892982163694, + "SATB1_CHW_DH2_FT02": 562.0570928488081, + "SATB1_CHW_DH3_FT01": 327.5686019569602, + "SATB1_CHW_DH3_FT02": 228.3249041506918, + "SATB1_CHW_DH4_FT01": 60.43085026586435, + "SATB1_CHW_DH4_FT02": 109.56706117686281, + "SATB1_CHW_DH5_FT01": 97.92252300306707, + "SATB1_CHW_DH5_FT02": 149.51012651897784, + "t_stamp": 1776701888504 + }, + { + "SATB1_CHW_DH1_FT01": 339, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 786, + "SATB1_CHW_DH2_FT02": 560, + "SATB1_CHW_DH3_FT01": 328, + "SATB1_CHW_DH3_FT02": 228, + "SATB1_CHW_DH4_FT01": 60, + "SATB1_CHW_DH4_FT02": 110, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 148, + "t_stamp": 1776701918504 + }, + { + "SATB1_CHW_DH1_FT01": 331.86171897135046, + "SATB1_CHW_DH1_FT02": 364.32475, + "SATB1_CHW_DH2_FT01": 794.919, + "SATB1_CHW_DH2_FT02": 575.15975, + "SATB1_CHW_DH3_FT01": 315.5098748354194, + "SATB1_CHW_DH3_FT02": 237.80888333333334, + "SATB1_CHW_DH4_FT01": 64.46142564290595, + "SATB1_CHW_DH4_FT02": 114.45891666666667, + "SATB1_CHW_DH5_FT01": 106.13801436642723, + "SATB1_CHW_DH5_FT02": 161.38202696621724, + "t_stamp": 1776701948504 + }, + { + "SATB1_CHW_DH1_FT01": 331, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 796, + "SATB1_CHW_DH2_FT02": 577, + "SATB1_CHW_DH3_FT01": 314, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 65, + "SATB1_CHW_DH4_FT02": 115, + "SATB1_CHW_DH5_FT01": 107, + "SATB1_CHW_DH5_FT02": 163, + "t_stamp": 1776701978504 + }, + { + "SATB1_CHW_DH1_FT01": 327.43086666666665, + "SATB1_CHW_DH1_FT02": 362.2168566286743, + "SATB1_CHW_DH2_FT01": 784.4070389441583, + "SATB1_CHW_DH2_FT02": 577, + "SATB1_CHW_DH3_FT01": 325.5977567040549, + "SATB1_CHW_DH3_FT02": 239.89153835899486, + "SATB1_CHW_DH4_FT01": 42.69254487574793, + "SATB1_CHW_DH4_FT02": 109.6504590672021, + "SATB1_CHW_DH5_FT01": 114.13811896864948, + "SATB1_CHW_DH5_FT02": 156.75537889772178, + "t_stamp": 1776702008504 + }, + { + "SATB1_CHW_DH1_FT01": 327, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 783, + "SATB1_CHW_DH2_FT02": 577, + "SATB1_CHW_DH3_FT01": 327, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 40, + "SATB1_CHW_DH4_FT02": 109, + "SATB1_CHW_DH5_FT01": 115, + "SATB1_CHW_DH5_FT02": 156, + "t_stamp": 1776702038504 + }, + { + "SATB1_CHW_DH1_FT01": 328.78456666666665, + "SATB1_CHW_DH1_FT02": 366.458790384423, + "SATB1_CHW_DH2_FT01": 775.8648108018003, + "SATB1_CHW_DH2_FT02": 567.1908246786804, + "SATB1_CHW_DH3_FT01": 332.3529784326144, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 79.2612, + "SATB1_CHW_DH4_FT02": 117.9177474744107, + "SATB1_CHW_DH5_FT01": 120.3536, + "SATB1_CHW_DH5_FT02": 155.10787206026967, + "t_stamp": 1776702068504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 775, + "SATB1_CHW_DH2_FT02": 566, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 240, + "SATB1_CHW_DH4_FT01": 84, + "SATB1_CHW_DH4_FT02": 119, + "SATB1_CHW_DH5_FT01": 121, + "SATB1_CHW_DH5_FT02": 155, + "t_stamp": 1776702098504 + }, + { + "SATB1_CHW_DH1_FT01": 333.46134231096147, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 780.3508757311647, + "SATB1_CHW_DH2_FT02": 574.9166263935874, + "SATB1_CHW_DH3_FT01": 336.5685477150762, + "SATB1_CHW_DH3_FT02": 237.32510665244635, + "SATB1_CHW_DH4_FT01": 60.80058665688905, + "SATB1_CHW_DH4_FT02": 119.89168110918544, + "SATB1_CHW_DH5_FT01": 114.75423742937618, + "SATB1_CHW_DH5_FT02": 150.53963069128724, + "t_stamp": 1776702128504 + }, + { + "SATB1_CHW_DH1_FT01": 334, + "SATB1_CHW_DH1_FT02": 367, + "SATB1_CHW_DH2_FT01": 781, + "SATB1_CHW_DH2_FT02": 576, + "SATB1_CHW_DH3_FT01": 337, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 120, + "SATB1_CHW_DH5_FT01": 114, + "SATB1_CHW_DH5_FT02": 150, + "t_stamp": 1776702158504 + }, + { + "SATB1_CHW_DH1_FT01": 336.6768, + "SATB1_CHW_DH1_FT02": 362.54130413041304, + "SATB1_CHW_DH2_FT01": 782.7837189145943, + "SATB1_CHW_DH2_FT02": 567.9744812067672, + "SATB1_CHW_DH3_FT01": 342.3528, + "SATB1_CHW_DH3_FT02": 235.21658832549923, + "SATB1_CHW_DH4_FT01": 49.96945, + "SATB1_CHW_DH4_FT02": 112.86595326199287, + "SATB1_CHW_DH5_FT01": 110.431, + "SATB1_CHW_DH5_FT02": 172.30241008033602, + "t_stamp": 1776702188504 + }, + { + "SATB1_CHW_DH1_FT01": 337, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 783, + "SATB1_CHW_DH2_FT02": 567, + "SATB1_CHW_DH3_FT01": 343, + "SATB1_CHW_DH3_FT02": 235, + "SATB1_CHW_DH4_FT01": 49, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 110, + "SATB1_CHW_DH5_FT02": 175, + "t_stamp": 1776702218504 + }, + { + "SATB1_CHW_DH1_FT01": 339.6768, + "SATB1_CHW_DH1_FT02": 360.2165, + "SATB1_CHW_DH2_FT01": 784.7837333333333, + "SATB1_CHW_DH2_FT02": 569.6752445874098, + "SATB1_CHW_DH3_FT01": 347.4605179827339, + "SATB1_CHW_DH3_FT02": 232.32485, + "SATB1_CHW_DH4_FT01": 48.10771666666667, + "SATB1_CHW_DH4_FT02": 115.56706666666666, + "SATB1_CHW_DH5_FT01": 100.18574071296435, + "SATB1_CHW_DH5_FT02": 159.83480550648312, + "t_stamp": 1776702248504 + }, + { + "SATB1_CHW_DH1_FT01": 340, + "SATB1_CHW_DH1_FT02": 360, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 570, + "SATB1_CHW_DH3_FT01": 348, + "SATB1_CHW_DH3_FT02": 232, + "SATB1_CHW_DH4_FT01": 48, + "SATB1_CHW_DH4_FT02": 116, + "SATB1_CHW_DH5_FT01": 99, + "SATB1_CHW_DH5_FT02": 158, + "t_stamp": 1776702278504 + }, + { + "SATB1_CHW_DH1_FT01": 333.75413333333336, + "SATB1_CHW_DH1_FT02": 363.5670594509908, + "SATB1_CHW_DH2_FT01": 773.4055400923348, + "SATB1_CHW_DH2_FT02": 569.1082351372523, + "SATB1_CHW_DH3_FT01": 338.18657288576287, + "SATB1_CHW_DH3_FT02": 238.2421207020117, + "SATB1_CHW_DH4_FT01": 48.89228333333333, + "SATB1_CHW_DH4_FT02": 123.1342522375373, + "SATB1_CHW_DH5_FT01": 98.10777025900863, + "SATB1_CHW_DH5_FT02": 159.7841928064269, + "t_stamp": 1776702308504 + }, + { + "SATB1_CHW_DH1_FT01": 333, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 772, + "SATB1_CHW_DH2_FT02": 569, + "SATB1_CHW_DH3_FT01": 337, + "SATB1_CHW_DH3_FT02": 239, + "SATB1_CHW_DH4_FT01": 49, + "SATB1_CHW_DH4_FT02": 124, + "SATB1_CHW_DH5_FT01": 98, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776702338504 + }, + { + "SATB1_CHW_DH1_FT01": 328.53866666666664, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 782.7024216263062, + "SATB1_CHW_DH2_FT02": 572.5669477684078, + "SATB1_CHW_DH3_FT01": 333.43146666666667, + "SATB1_CHW_DH3_FT02": 237.21656305728237, + "SATB1_CHW_DH4_FT01": 52.56913333333333, + "SATB1_CHW_DH4_FT02": 113.2987783536941, + "SATB1_CHW_DH5_FT01": 109.59922665377756, + "SATB1_CHW_DH5_FT02": 152.8632, + "t_stamp": 1776702368504 + }, + { + "SATB1_CHW_DH1_FT01": 328, + "SATB1_CHW_DH1_FT02": 364, + "SATB1_CHW_DH2_FT01": 784, + "SATB1_CHW_DH2_FT02": 573, + "SATB1_CHW_DH3_FT01": 333, + "SATB1_CHW_DH3_FT02": 237, + "SATB1_CHW_DH4_FT01": 53, + "SATB1_CHW_DH4_FT02": 112, + "SATB1_CHW_DH5_FT01": 111, + "SATB1_CHW_DH5_FT02": 152, + "t_stamp": 1776702398504 + }, + { + "SATB1_CHW_DH1_FT01": 328.8922517958034, + "SATB1_CHW_DH1_FT02": 362.2166783321668, + "SATB1_CHW_DH2_FT01": 784.8918072128524, + "SATB1_CHW_DH2_FT02": 581.0249312557287, + "SATB1_CHW_DH3_FT01": 332.1079112711031, + "SATB1_CHW_DH3_FT02": 236.10837249608372, + "SATB1_CHW_DH4_FT01": 57.461342310961484, + "SATB1_CHW_DH4_FT02": 112.89169235897009, + "SATB1_CHW_DH5_FT01": 137.7661616919154, + "SATB1_CHW_DH5_FT02": 159.1364431778411, + "t_stamp": 1776702428504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 582, + "SATB1_CHW_DH3_FT01": 332, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 141, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776702458504 + }, + { + "SATB1_CHW_DH1_FT01": 329, + "SATB1_CHW_DH1_FT02": 362, + "SATB1_CHW_DH2_FT01": 785, + "SATB1_CHW_DH2_FT02": 582, + "SATB1_CHW_DH3_FT01": 332, + "SATB1_CHW_DH3_FT02": 236, + "SATB1_CHW_DH4_FT01": 58, + "SATB1_CHW_DH4_FT02": 113, + "SATB1_CHW_DH5_FT01": 141, + "SATB1_CHW_DH5_FT02": 160, + "t_stamp": 1776702488504 + } + ], + "tags": [] + }, + "meta": { + "name": "CHWR Trend" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "240", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "enabled": false, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": {}, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\"}\n\tfor i in range(0,5):\n\t\ttags \u003d system.tag.browse(self.custom.paths[i], {\"name\":\"*_FT*\",\"typeId\":\"Objects/Basic/AnalogIn\",\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags:\n\t\t\ttagname \u003d str(item[\"fullPath\"]) + \"/Val\"\n\t\t\tnameparts \u003d tagname.split(\"]\")\n\t\t\tprovider\u003d histProvider[nameparts[0][1:]]\n\t\t\trun_path \u003d \"[{}]{}\".format(provider, nameparts[1])\n\t\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Flows": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\ttotal \u003d 0\n\tfor item in rawHist:\n\t\ttotal \u003d 0\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\ttotal +\u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"totalFlow\": total})\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "color": "#F4F4F4", + "render": "color" + }, + "dataSources": {}, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Flows", + "x": "t_stamp", + "y": "totalFlow" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "CHWS", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "CHWS", + "zIndex": 0 + } + ], + "style": { + "marginBottom": -30, + "marginLeft": -20, + "marginTop": 30 + }, + "title": { + "text": "CHWR (gpm)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 50, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 35, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": 10000, + "min": 0, + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "CHWS" + }, + "name": "CHWS", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Trends" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "marginLeft": -20, + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "DH Flex" + }, + "position": { + "basis": "50%" + }, + "props": { + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "DH": 101, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[default]simulator/CHW_System/Ton1" + }, + { + "DH": 102, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[default]simulator/CHW_System/Ton2" + }, + { + "DH": 201, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[default]simulator/CHW_System/Ton3" + }, + { + "DH": 202, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[default]simulator/CHW_System/Ton4" + }, + { + "DH": 203, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[default]simulator/CHW_System/Ton5" + } + ], + "justify": "space-around", + "path": "Library/Widgets/Wgt_MovingIndicator", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "var(--text-muted)" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "104px" + }, + "props": { + "text": "Outside air conditions", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Temperature" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/CHW_System/Temp" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F", + "EU_Pos": 1, + "Size": 14 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Humidity" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/CHW_System/RH" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "%RH", + "EU_Pos": 1, + "Size": 14 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dewpoint" + }, + "propConfig": { + "props.params.Value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/CHW_System/dwpt" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "EU": "°F Dwpt", + "EU_Pos": 1, + "Size": 14 + }, + "path": "Library/Widgets/Wgt_Variable", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "DH Tonnage" + }, + "props": { + "style": { + "gap": "var(--space-lg)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VSD Status Count" + }, + "position": { + "basis": "30%", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "custom.values": { + "binding": { + "config": { + "path": "this.custom.CH_tagPath" + }, + "transforms": [ + { + "code": "\toutput \u003d {}\n\trunning \u003d 0\n\tstandby \u003d 0\n\tfaulted \u003d 0\n\ttags \u003d system.tag.browse(self.custom.tagPath,{\"typeId\":\"Objects/Mechanical/VSD\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\trun_path \u003d str(item[\"fullPath\"]) + \"/Status Running\"\n\t\trun_values \u003d system.tag.readBlocking(run_path)\n\t\tfault_path \u003d str(item[\"fullPath\"]) + \"/Alarms/Alarm Summary\"\n\t\tfault_values \u003d system.tag.readBlocking(fault_path)\n\t\tif(fault_values[0].value):\n\t\t\tfaulted+\u003d1\n\t\t\tcontinue\n\t\tif(run_values[0].value):\n\t\t\trunning+\u003d1\n\t\telse:\n\t\t\tstandby+\u003d1\n\t\t\n\toutput[\"Running\"] \u003d running\n\toutput[\"Standby\"] \u003d standby\n\toutput[\"Faulted\"] \u003d faulted\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "Chillers", + "faulted": 5, + "running": 40, + "standby": 9 + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "marginBottom": -20, + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD PierChart_0" + }, + "position": { + "basis": "30%", + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_PID" + }, + "path": "Library/Widgets/Wgt_PID_Gauge", + "style": { + "marginBottom": 0, + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Tonnage Gauge" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/CHW_System/Total" + }, + "type": "tag" + } + } + }, + "props": { + "backgroundColor": "", + "innerAxis": { + "data": "secondaryValue", + "maxValue": 80, + "percentRadius": 85, + "show": false, + "width": 1 + }, + "outerAxis": { + "data": "value", + "maxValue": 16000, + "percentRadius": 73, + "ranges": [ + { + "color": "#77B6D8", + "end": 16000, + "start": 0, + "width": 8 + } + ], + "show": true, + "width": 1 + }, + "style": { + "marginTop": 10, + "overflow": "visible" + } + }, + "type": "ia.chart.gauge" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]simulator/CHW_System/Total" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.00", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "numberFormat": "###0.##", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "props": { + "text": "Tons", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "paddingLeft": 5 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Tonnage Value" + }, + "position": { + "basis": "10%" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "marginTop": -20 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Charts" + }, + "position": { + "basis": "15%", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "gap": "20px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Lower Section" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "justify": "space-between", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "gap": "10px", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Datahalls/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Datahalls/resource.json new file mode 100644 index 0000000..cd2daa7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Datahalls/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "17fd6343f2bcb80cf1b9e0067df14abaf46834e4b9232562b3414b885757d9b6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-17T00:18:17Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Datahalls/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Datahalls/thumbnail.png new file mode 100644 index 0000000..6919c67 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Datahalls/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Datahalls/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Datahalls/view.json new file mode 100644 index 0000000..eed15bb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Datahalls/view.json @@ -0,0 +1,133 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 2400, + "width": 1400 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DH FlexRepeater" + }, + "position": { + "basis": "600px", + "shrink": 0 + }, + "props": { + "elementPosition": { + "basis": "100%" + }, + "instances": [ + { + "DH": 1, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1" + }, + { + "DH": 2, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2" + }, + { + "DH": 3, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH3" + }, + { + "DH": 4, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4" + }, + { + "DH": 5, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5" + } + ], + "path": "Library/Cards/Card_DH", + "style": { + "gap": 10, + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "setHomepage", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "Set Homepage", + "type": "method" + } + ] + }, + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": 10, + "overflow": "scroll", + "padding": 10 + } + }, + "scripts": { + "customMethods": [ + { + "name": "setHomepage", + "params": [], + "script": "\t# implement your method here\n\tview \u003d \"Pages/Dev/C_AirSystem/L1/C101 L1 Overview\"\n\t\n\tuser \u003d self.session.props.auth.user.userName\n\tif user !\u003d \"\":\n\t\tutils.admin.user.saveSettings({\"Homepage\":view}, user)\n\t\tself.session.refreshBinding(\"custom.user_settings\")" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/EPMS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/EPMS/resource.json new file mode 100644 index 0000000..a0873b5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/EPMS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c265f440bbdc717104a68c7fc51ea931a20f57609fbfa05e003ba7433e4124c8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T20:48:36Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/EPMS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/EPMS/thumbnail.png new file mode 100644 index 0000000..7594a67 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/EPMS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/EPMS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/EPMS/view.json new file mode 100644 index 0000000..ca33d85 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/EPMS/view.json @@ -0,0 +1,300 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 2000, + "width": 1050 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DH_Panels" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "elementPosition": { + "basis": "100%" + }, + "instances": [ + { + "DH": "DH1", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "DH": "DH2", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "DH": "DH3", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "DH": "DH4", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "DH": "DH5", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "path": "Pages/Dev/D_Electrical/L1/Widgets/PowerDH Typ2", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "FlexRepeater_0" + }, + "position": { + "align": "auto", + "display": false, + "grow": 1, + "shrink": 0 + }, + "props": { + "instances": [ + { + "TagId": "SES-01", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + }, + { + "TagId": "SES-02", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + } + } + ], + "path": "Pages/Dev/D_Electrical/L1/Widgets/SES", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "props": { + "path": "Pages/Dev/D_Electrical/L1/Widgets/UT_Widget" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "basis": "630.9px", + "grow": 1 + }, + "props": { + "path": "Pages/Dev/D_Electrical/L1/Widgets/GEN_Widget" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "256px", + "display": false, + "grow": 1, + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "194px", + "grow": 1, + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "basis": "25%" + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_PQM" + }, + "path": "Pages/Dev/D_Electrical/L1/Widgets/SWBD_Kw_Widget" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "186px", + "grow": 1, + "shrink": 0 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "marginLeft": 20, + "marginRight": 20, + "marginTop": 10, + "overflow": "scroll" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Equipment/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Equipment/resource.json new file mode 100644 index 0000000..49a78ca --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Equipment/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "03b830ed0d5028292a1c625362e5e37493e9aab0fa0ccede105cfcb8f3f7febf", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-17T00:15:37Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Equipment/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Equipment/thumbnail.png new file mode 100644 index 0000000..6ef9821 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Equipment/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Equipment/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Equipment/view.json new file mode 100644 index 0000000..fcc950b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Equipment/view.json @@ -0,0 +1,214 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 2400, + "width": 1400 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DH FlexRepeater" + }, + "position": { + "basis": "600px", + "shrink": 0 + }, + "props": { + "elementPosition": { + "basis": "100%" + }, + "instances": [ + { + "DH": 1, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1" + }, + { + "DH": 2, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2" + }, + { + "DH": 3, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH3" + }, + { + "DH": 4, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4" + }, + { + "DH": 5, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5" + } + ], + "path": "Pages/Dev/A_Building/Widgets/DH", + "style": { + "gap": 10, + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "DOAS FlexRepeater" + }, + "position": { + "shrink": 0 + }, + "props": { + "elementPosition": { + "basis": "100%" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + } + ], + "path": "Pages/Dev/C_AirSystem/Widgets/DOAS_Panel", + "style": { + "gap": 10, + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "RTU Flex Repeater" + }, + "position": { + "shrink": 0 + }, + "props": { + "elementPosition": { + "basis": "100%" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + } + ], + "path": "Pages/Dev/C_AirSystem/Widgets/RTU_Panel", + "style": { + "gap": 10, + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "setHomepage", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "Set Homepage", + "type": "method" + } + ] + }, + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": 10, + "overflow": "scroll", + "padding": 10 + } + }, + "scripts": { + "customMethods": [ + { + "name": "setHomepage", + "params": [], + "script": "\t# implement your method here\n\tview \u003d \"Pages/Dev/C_AirSystem/L1/C101 L1 Overview\"\n\t\n\tuser \u003d self.session.props.auth.user.userName\n\tif user !\u003d \"\":\n\t\tutils.admin.user.saveSettings({\"Homepage\":view}, user)\n\t\tself.session.refreshBinding(\"custom.user_settings\")" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Generators/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Generators/resource.json new file mode 100644 index 0000000..d0c2330 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Generators/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "81ba48c205ea459b1c302042d4b0ff9b272f67cff88e635beff9469205f86634", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T15:18:24Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Generators/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Generators/thumbnail.png new file mode 100644 index 0000000..a9c7620 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Generators/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Generators/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Generators/view.json new file mode 100644 index 0000000..ccd5014 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Generators/view.json @@ -0,0 +1,926 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 946, + "width": 1322 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px" + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "P1 Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "direction": "column", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-1", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-2", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1243/SWBD/SATB1_ER1243_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-3", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-4", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1245/SWBD/SATB1_ER1245_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-5", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1246/SWBD/SATB1_ER1246_ATS" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators P1" + }, + "position": { + "height": 545, + "width": 257 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px" + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "P2 Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "direction": "column", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-1", + "tagPath_ATS": "[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-2", + "tagPath_ATS": "[Ignition_SATB1_IO2_default]ER1249/SWBD/SATB1_ER1249_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-3", + "tagPath_ATS": "[Ignition_SATB1_IO2_default]ER1250/SWBD/SATB1_ER1250_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-4", + "tagPath_ATS": "[Ignition_SATB1_IO2_default]ER1251/SWBD/SATB1_ER1251_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-5", + "tagPath_ATS": "[Ignition_SATB1_IO2_default]ER1252/SWBD/SATB1_ER1252_ATS" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators P2" + }, + "position": { + "height": 545, + "width": 257, + "x": 257 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px" + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "P3 Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "direction": "column", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-1", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-2", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-3", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-4", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-5", + "tagPath_ATS": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_ATS" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators P3" + }, + "position": { + "height": 545, + "width": 257, + "x": 514 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px" + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "P4 Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "direction": "column", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-1" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-2" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-3" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-4" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-5" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators P4" + }, + "position": { + "height": 545, + "width": 257, + "x": 771 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px" + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "P5 Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "direction": "column", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-1" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-2" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-3" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-4" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P5-5" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators P5" + }, + "position": { + "height": 545, + "width": 257, + "x": 1028 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "M Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M1", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M2", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M3", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M4", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M5", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M6", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M7", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M8", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_ATS" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators M" + }, + "position": { + "height": 232, + "width": 1028, + "y": 545 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "House Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "110px", + "shrink": 0 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "direction": "column", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_GEN-P1-1" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_GEN-P1-2" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators Houses", + "visible": false + }, + "position": { + "height": 131, + "width": 1028, + "y": 777 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "props": { + "style": { + "border-bottom": "1px solid var(--border)" + }, + "text": "House Generators", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "345px", + "shrink": 0 + }, + "props": { + "alignContent": "flex-start", + "alignItems": "flex-start", + "direction": "column", + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS1", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_ATS" + }, + { + "instancePosition": { + "align": "center" + }, + "instanceStyle": { + "classes": "" + }, + "objectName": "GEN", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS2", + "tagPath_ATS": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_ATS" + } + ], + "path": "Library/Symbols/Electrical/Sym_Generator", + "style": { + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Generators Houses_0" + }, + "position": { + "height": 545, + "width": 254, + "x": 1285 + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-right": "1px solid var(--border)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Home/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Home/resource.json new file mode 100644 index 0000000..acb8761 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Home/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8da1fc6b117ca5b8c546620c819dd4ee493182ceeb819120ffe4c940a1f50f0f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T14:56:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Home/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Home/thumbnail.png new file mode 100644 index 0000000..3aa50c1 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Home/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Home/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Home/view.json new file mode 100644 index 0000000..869932a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/Home/view.json @@ -0,0 +1,282 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 1500, + "width": 1700 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DH Overview" + }, + "position": { + "basis": "631px", + "shrink": 0 + }, + "props": { + "elementPosition": { + "basis": "100%" + }, + "instances": [ + { + "DH": 101, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1" + }, + { + "DH": 102, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2" + }, + { + "DH": 201, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH3" + }, + { + "DH": 202, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4" + }, + { + "DH": 203, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5" + } + ], + "path": "Library/Cards/Card_DH", + "style": { + "gap": "10px", + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "meta": { + "name": "CHW System" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "path": "Library/Cards/Card_Mech", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Electrical Resume" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "path": "Library/Cards/Card_Electrical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Lower Section 01", + "tooltip": { + "width": "250px" + } + }, + "position": { + "basis": "250px", + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "DOAS Equipment" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "path": "Library/Cards/Card_DOAS", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RTU Equipment" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "path": "Library/Cards/Card_RTU", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Lower Section 02" + }, + "position": { + "basis": "250px", + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Server Status" + }, + "position": { + "grow": 1 + }, + "props": { + "path": "Library/Cards/Card_Gtwys", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Lower Section 2" + }, + "position": { + "basis": "250px", + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "setHomepage", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "Set Homepage", + "type": "method" + } + ] + }, + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": "10px", + "overflow": "scroll", + "padding": "10px" + } + }, + "scripts": { + "customMethods": [ + { + "name": "setHomepage", + "params": [], + "script": "\t# implement your method here\n\tview \u003d self.page.props.path\n\tuser \u003d self.session.props.auth.user.userName\n\tif user !\u003d \"\":\n\t\tutils.admin.user.saveSettings({\"Homepage\":view}, user)\n\t\tself.session.refreshBinding(\"custom.user_settings\")" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/System_Health/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/System_Health/resource.json new file mode 100644 index 0000000..ac36c27 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/System_Health/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "db00a60f3188e1c3f41ae0798d743cb3f13eff7caec56de97a40e87ba7fe0151", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-20T16:11:45Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/System_Health/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/System_Health/thumbnail.png new file mode 100644 index 0000000..6ef9821 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/System_Health/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/System_Health/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/System_Health/view.json new file mode 100644 index 0000000..fcc950b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/System_Health/view.json @@ -0,0 +1,214 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 2400, + "width": 1400 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DH FlexRepeater" + }, + "position": { + "basis": "600px", + "shrink": 0 + }, + "props": { + "elementPosition": { + "basis": "100%" + }, + "instances": [ + { + "DH": 1, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1" + }, + { + "DH": 2, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2" + }, + { + "DH": 3, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH3" + }, + { + "DH": 4, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4" + }, + { + "DH": 5, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5" + } + ], + "path": "Pages/Dev/A_Building/Widgets/DH", + "style": { + "gap": 10, + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "DOAS FlexRepeater" + }, + "position": { + "shrink": 0 + }, + "props": { + "elementPosition": { + "basis": "100%" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + } + ], + "path": "Pages/Dev/C_AirSystem/Widgets/DOAS_Panel", + "style": { + "gap": 10, + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "RTU Flex Repeater" + }, + "position": { + "shrink": 0 + }, + "props": { + "elementPosition": { + "basis": "100%" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + } + ], + "path": "Pages/Dev/C_AirSystem/Widgets/RTU_Panel", + "style": { + "gap": 10, + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "setHomepage", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "Set Homepage", + "type": "method" + } + ] + }, + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": 10, + "overflow": "scroll", + "padding": 10 + } + }, + "scripts": { + "customMethods": [ + { + "name": "setHomepage", + "params": [], + "script": "\t# implement your method here\n\tview \u003d \"Pages/Dev/C_AirSystem/L1/C101 L1 Overview\"\n\t\n\tuser \u003d self.session.props.auth.user.userName\n\tif user !\u003d \"\":\n\t\tutils.admin.user.saveSettings({\"Homepage\":view}, user)\n\t\tself.session.refreshBinding(\"custom.user_settings\")" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/UPS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/UPS/resource.json new file mode 100644 index 0000000..74d3a1f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/UPS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "90931fd26373bb2df53dd95a98a4395b0b17c12ffe9c4f5e58b8118a2d3c13af", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T15:36:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/UPS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/UPS/thumbnail.png new file mode 100644 index 0000000..f5d8437 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/UPS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/UPS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/UPS/view.json new file mode 100644 index 0000000..c9355d8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Dashboards/UPS/view.json @@ -0,0 +1,3380 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 2500, + "width": 1500 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Lineup" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "../UPS view.custom.lineup" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "text": "DH101", + "textStyle": { + "color": "var(--olGray)", + "fontSize": 24, + "fontWeight": "bold", + "textAlign": "center", + "wordWrap": "break-word" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Row1" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row2" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row3" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row4" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "custom": { + "Rooms": [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + "lineup": "P1", + "tagprovider": "[Ignition_SATB1_IO1_default]" + }, + "meta": { + "name": "UPS view" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "P1 Container" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "bockgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "gap": "10px", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Lineup" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "../UPS view.custom.lineup" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "text": "DH102", + "textStyle": { + "color": "var(--olGray)", + "fontSize": 24, + "fontWeight": "bold", + "textAlign": "center", + "wordWrap": "break-word" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Row1" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row2" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row3" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row4" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "custom": { + "Rooms": [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + "lineup": "P2", + "tagprovider": "[Ignition_SATB1_IO2_default]" + }, + "meta": { + "name": "UPS view" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "P2 Container" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "bockgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "gap": "10px", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Lineup" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "../UPS view.custom.lineup" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "text": "DH201", + "textStyle": { + "color": "var(--olGray)", + "fontSize": 24, + "fontWeight": "bold", + "textAlign": "center", + "wordWrap": "break-word" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Row1" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row2" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row3" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row4" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "custom": { + "Rooms": [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + "lineup": "P3", + "tagprovider": "[Ignition_SATB1_IO3_default]" + }, + "meta": { + "name": "UPS view" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "P3 Container" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "bockgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "gap": "10px", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Lineup" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "../UPS view.custom.lineup" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "text": "DH202", + "textStyle": { + "color": "var(--olGray)", + "fontSize": 24, + "fontWeight": "bold", + "textAlign": "center", + "wordWrap": "break-word" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Row1" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row2" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row3" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row4" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "custom": { + "Rooms": [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + "lineup": "P4", + "tagprovider": "[Ignition_SATB1_IO4_default]" + }, + "meta": { + "name": "UPS view" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "P4 Container" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "bockgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "gap": "10px", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Lineup" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "../UPS view.custom.lineup" + }, + "enabled": false, + "type": "property" + } + } + }, + "props": { + "text": "DH203", + "textStyle": { + "color": "var(--olGray)", + "fontSize": 24, + "fontWeight": "bold", + "textAlign": "center", + "wordWrap": "break-word" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Row1" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-1\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row2" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row3" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "Row4" + }, + "position": { + "basis": "25%" + }, + "propConfig": { + "props.instances[0].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[0]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[1].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[1]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[2].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[2]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[3].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[3]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + }, + "props.instances[4].tagPath": { + "binding": { + "config": { + "struct": { + "room": "{parent.custom.Rooms[4]}", + "tagprovider": "{parent.custom.tagprovider}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "{value}[\u0027tagprovider\u0027] + {value}[\u0027room\u0027] + \"/SATB1_\" + {value}[\u0027room\u0027] + \"_UPS-2\"", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "alignItems": "center", + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "UPS" + } + ], + "justify": "space-between", + "path": "Library/Symbols/Electrical/Sym_UPS", + "style": { + "gap": "10px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "custom": { + "Rooms": [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ], + "lineup": "P5", + "tagprovider": "[Ignition_SATB1_IO5_default]" + }, + "meta": { + "name": "UPS view" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "P5 Container" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "bockgroundColor": "var(--container)", + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "boxShadow": "var(--boxShadow2)", + "gap": "10px", + "overflow": "visible", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": "20px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH101/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH101/resource.json new file mode 100644 index 0000000..c5722b1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH101/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "986b49f4f31a86323f8cc504cbf1b2b4cd4943880181feac17d240b528c80679", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T00:04:42Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH101/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH101/thumbnail.png new file mode 100644 index 0000000..30f0c57 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH101/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH101/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH101/view.json new file mode 100644 index 0000000..f7d3ac7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH101/view.json @@ -0,0 +1,3588 @@ +{ + "custom": { + "CRAH01_SAT": null, + "CRAH02_SAT": null, + "GlobalDisTemp": null + }, + "params": { + "pageId": "" + }, + "propConfig": { + "custom.CRAH01_SAT": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1263/SATB1_IDF1263_CRAH_01/Supply Air Temperature" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.CRAH02_SAT": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1263/SATB1_IDF1263_CRAH_02/Supply Air Temperature" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.GlobalDisTemp": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/OPC Tags/SATB1_DH1_STU_T_SP" + }, + "type": "tag" + }, + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1190, + "width": 2078 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "STU" + }, + "position": { + "height": 69, + "width": 121, + "x": 126.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU01" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_0" + }, + "position": { + "height": 69, + "width": 120, + "x": 282.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU03" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_1" + }, + "position": { + "height": 69, + "width": 120, + "x": 437.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU05" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_2" + }, + "position": { + "height": 69, + "width": 120, + "x": 592.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "TextPosition": 0, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU07" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_3" + }, + "position": { + "height": 69, + "width": 120, + "x": 747.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "TextPosition": 0, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU09" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_4" + }, + "position": { + "height": 69, + "width": 120, + "x": 902.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "TextPosition": 0, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU11" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_5" + }, + "position": { + "height": 69, + "width": 120, + "x": 1057.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "TextPosition": 0, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU13" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_6" + }, + "position": { + "height": 69, + "width": 120, + "x": 1212.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "TextPosition": 0, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU15" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_8" + }, + "position": { + "height": 69, + "width": 120, + "x": 1523.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "TextPosition": 0, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU19" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_9" + }, + "position": { + "height": 69, + "width": 120, + "x": 127.80000000000001, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU02" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_10" + }, + "position": { + "height": 69, + "width": 120, + "x": 283.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU04" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_11" + }, + "position": { + "height": 69, + "width": 120, + "x": 438.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU06" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_12" + }, + "position": { + "height": 69, + "width": 120, + "x": 593.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU08" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_13" + }, + "position": { + "height": 69, + "width": 120, + "x": 748.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU10" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_14" + }, + "position": { + "height": 69, + "width": 120, + "x": 903.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU12" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_15" + }, + "position": { + "height": 69, + "width": 120, + "x": 1058.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU14" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_16" + }, + "position": { + "height": 69, + "width": 120, + "x": 1213.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU16" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_17" + }, + "position": { + "height": 69, + "width": 120, + "x": 1368.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU18" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_18" + }, + "position": { + "height": 69, + "width": 120, + "x": 1524.8, + "y": 963 + }, + "props": { + "params": { + "TagPosition": false, + "TextPosition": 1, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU20" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_0" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 1524.8, + "y": 1019.9 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_02" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_2" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 128.8, + "y": 1019.9 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAH 1263-1" + }, + "position": { + "height": 69, + "width": 121, + "x": 17.9, + "y": 260.858 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "CRAH", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1263/SATB1_IDF1263_CRAH_01" + }, + "path": "Library/Symbols/HVAC/Sym_CRAH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAH 1263 -2" + }, + "position": { + "height": 69, + "width": 121, + "x": 17.9, + "y": 854.975 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "CRAH", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1263/SATB1_IDF1263_CRAH_02" + }, + "path": "Library/Symbols/HVAC/Sym_CRAH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FCU-15" + }, + "position": { + "height": 69, + "rotate": { + "anchor": "50% 25%" + }, + "width": 121, + "x": 17.9, + "y": 191.685 + }, + "props": { + "path": "Library/Symbols/HVAC/Sym_FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H1" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 192.993, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "38_36", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H2" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 336.205, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "34_32", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H3" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 479.5, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "30_28", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H4" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 622.241, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "26_24", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H5" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 89, + "x": 763.27, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "22_20", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H6" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 904.25, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "18_16", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H7" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 1048.25, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "14_12", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H8" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 1190.7, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "10_08", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H9" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 1332.8, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "06_04", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H10" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1476.8, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "02", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H11" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 193.99, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "37_35", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H12" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 337.2, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "33_31", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H13" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 478.5, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "29_27", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H14" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 621.24, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "25_23", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H15" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 765.27, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "21_19", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H16" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 909.25, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "17_15", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H17" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 1051.25, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "13_11", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H18" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 1193.7, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "09_07", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H19" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 87, + "x": 1334.8, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "05_03", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H20" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 69, + "x": 1477.8, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_185" + }, + "position": { + "height": 35, + "width": 70, + "x": 780.3, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_21_19_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_89" + }, + "position": { + "height": 35, + "width": 70, + "x": 780.3, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_22_20_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_75" + }, + "position": { + "height": 35, + "width": 70, + "x": 211.9, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_38_36_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_76" + }, + "position": { + "height": 35, + "width": 70, + "x": 355.7, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_34_32_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_77" + }, + "position": { + "height": 35, + "width": 70, + "x": 497.4, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_30_28_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_78" + }, + "position": { + "height": 35, + "width": 70, + "x": 639.1, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_26_24_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_79" + }, + "position": { + "height": 35, + "width": 70, + "x": 780.3, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_22_20_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_80" + }, + "position": { + "height": 35, + "width": 70, + "x": 927.3, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_18_16_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_81" + }, + "position": { + "height": 35, + "width": 70, + "x": 1067.2, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_14_12_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_82" + }, + "position": { + "height": 35, + "width": 70, + "x": 1211.7, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_10_08_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_83" + }, + "position": { + "height": 35, + "width": 70, + "x": 1353.7, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_06_04_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_84" + }, + "position": { + "height": 35, + "width": 70, + "x": 1480.7, + "y": 152 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_02_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_85" + }, + "position": { + "height": 35, + "width": 70, + "x": 211.9, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_38_36_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_86" + }, + "position": { + "height": 35, + "width": 70, + "x": 355.7, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_34_32_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_87" + }, + "position": { + "height": 35, + "width": 70, + "x": 497.4, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_30_28_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_88" + }, + "position": { + "height": 35, + "width": 70, + "x": 639.1, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_26_24_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_90" + }, + "position": { + "height": 35, + "width": 70, + "x": 927.3, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_18_16_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_91" + }, + "position": { + "height": 35, + "width": 70, + "x": 1067.2, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_14_12_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_92" + }, + "position": { + "height": 35, + "width": 70, + "x": 1211.7, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_10_08_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_93" + }, + "position": { + "height": 35, + "width": 70, + "x": 1353.7, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_06_04_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_94" + }, + "position": { + "height": 35, + "width": 70, + "x": 1480.7, + "y": 516.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_02_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_95" + }, + "position": { + "height": 35, + "width": 70, + "x": 211.9, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_37_35_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_96" + }, + "position": { + "height": 35, + "width": 70, + "x": 355.7, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_33_31_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_97" + }, + "position": { + "height": 35, + "width": 70, + "x": 497.4, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_29_27_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_98" + }, + "position": { + "height": 35, + "width": 70, + "x": 639.1, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_25_23_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_99" + }, + "position": { + "height": 35, + "width": 70, + "x": 780.3, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_21_19_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_100" + }, + "position": { + "height": 35, + "width": 70, + "x": 927.3, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_17_15_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_101" + }, + "position": { + "height": 35, + "width": 70, + "x": 1067.2, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_13_11_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_102" + }, + "position": { + "height": 35, + "width": 70, + "x": 1211.7, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_09_07_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_103" + }, + "position": { + "height": 35, + "width": 70, + "x": 1353.7, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 0, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_05_03_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_104" + }, + "position": { + "height": 35, + "width": 70, + "x": 1480.7, + "y": 921 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_01_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_181" + }, + "position": { + "height": 35, + "width": 70, + "x": 211.9, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_37_35_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_182" + }, + "position": { + "height": 35, + "width": 70, + "x": 355.7, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_33_31_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_183" + }, + "position": { + "height": 35, + "width": 70, + "x": 497.4, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_29_27_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_184" + }, + "position": { + "height": 35, + "width": 70, + "x": 639.1, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_25_23_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_186" + }, + "position": { + "height": 35, + "width": 70, + "x": 927.3, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_17_15_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_187" + }, + "position": { + "height": 35, + "width": 70, + "x": 1067.2, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_13_11_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_188" + }, + "position": { + "height": 35, + "width": 70, + "x": 1211.7, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_09_07_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_189" + }, + "position": { + "height": 35, + "width": 70, + "x": 1353.7, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_05_03_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_190" + }, + "position": { + "height": 35, + "width": 70, + "x": 1480.7, + "y": 555.5 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_01_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_167" + }, + "position": { + "height": 35, + "width": 70, + "x": 1614, + "y": 322.479 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_IDF1_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_168" + }, + "position": { + "height": 35, + "width": 70, + "x": 1614, + "y": 818.479 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_IDF1_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_7" + }, + "position": { + "height": 69, + "width": 120, + "x": 1367.8, + "y": 74.5 + }, + "props": { + "params": { + "TagPosition": true, + "TextPosition": 0, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU17" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_19" + }, + "position": { + "height": 69, + "width": 119, + "x": 1343.8, + "y": 15.5 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_DH1_LD1_CTRL" + }, + "path": "Library/Symbols/HVAC/Sym_LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C1" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 62, + "x": 131.26, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 38, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C2" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 280.744, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "36_34", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C3" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 425.2, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "32_30", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C4" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 567.241, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "28_26", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C5" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 710.3, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "24_22", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C6" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 52, + "x": 852.25, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "20_18", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C7" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 995.3, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "16_14", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C8" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1134.7, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "12_10", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C9" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1278.8, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "08_06", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C10" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1420.8, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "04_02", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C11" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 62, + "x": 131.26, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 37, + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C12" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 281.74, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "35_33", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C13" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 424.2, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "31_29", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C14" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 566.24, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "27_25", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C15" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 710.3, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "23_21", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C16" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 57, + "x": 852.25, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "19_17", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C17" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 996.3, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "15_13", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C18" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 58, + "x": 1135.7, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "11_09", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C19" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1280.8, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "07_05", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C20" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1422.8, + "y": 583.4 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "03_01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_20" + }, + "position": { + "height": 69, + "width": 119, + "x": 1344, + "y": 1040 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO1_default]GAL1262/SATB1_DH1_LD2_CTRL" + }, + "path": "Library/Symbols/HVAC/Sym_LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C24" + }, + "position": { + "height": 465, + "rotate": { + "anchor": "50% 64%" + }, + "width": 61, + "x": 20, + "y": 341 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "struct": { + "c1": "{view.custom.CRAH01_SAT}", + "c2": "{view.custom.CRAH02_SAT}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "max({value}[\u0027c1\u0027], {value}[\u0027c2\u0027])", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "Aisle": "IDF2", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle_3", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C22" + }, + "position": { + "height": 465, + "rotate": { + "anchor": "50% 64%" + }, + "width": 47, + "x": 80.86, + "y": 341 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "struct": { + "c1": "{view.custom.CRAH01_SAT}", + "c2": "{view.custom.CRAH02_SAT}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "max({value}[\u0027c1\u0027], {value}[\u0027c2\u0027])", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "Aisle": "IDF2", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_108" + }, + "position": { + "height": 20, + "width": "Auto", + "x": 102.456, + "y": 524.1 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "backgroundColor": "--containerRoot", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH controls" + }, + "position": { + "height": 1000, + "width": 370, + "x": 1708, + "y": -11.1562 + }, + "props": { + "params": { + "dh": 1 + }, + "path": "Library/Cards/Card_DH_Control", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 148, + "width": 105, + "x": 1814.78, + "y": 915.345 + }, + "props": { + "params": { + "DH": "DH1" + }, + "path": "Library/Widgets/HVAC/Wdg_Dewpoint", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C21" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1546.78, + "y": 583 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "03_01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C23" + }, + "position": { + "height": 344, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1544.78, + "y": 180 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.GlobalDisTemp" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "04_02", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_3" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 373, + "y": 1020 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_4" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 675, + "y": 1020 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 6.98828125, + "y": 147.96875 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)", + "overflow": "visible" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "LLSPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.LLSPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH102/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH102/resource.json new file mode 100644 index 0000000..0ed14e6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH102/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "240b43812a78c3303b313fb417dc4c18a0ccff0af8f464cc77a6c1caa8d5ed19", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:11:55Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH102/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH102/thumbnail.png new file mode 100644 index 0000000..ab96496 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH102/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH102/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH102/view.json new file mode 100644 index 0000000..19d15a3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH102/view.json @@ -0,0 +1,4507 @@ +{ + "custom": { + "c1": 69.8, + "c2": 69.8, + "global": 75 + }, + "params": { + "pageId": "" + }, + "propConfig": { + "custom.c1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1273/SATB1_IDF1273_CRAH_01/Supply Air Temperature" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.c2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1273/SATB1_IDF1273_CRAH_02/Supply Air Temperature" + }, + "type": "tag" + }, + "persistent": true + }, + "custom.global": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/OPC Tags/SATB1_DH2_STU_T_SP" + }, + "type": "tag" + }, + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1150, + "width": 2120 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": { + "racks": "var(--olGray)", + "walls": "var(--olGray)" + } + }, + "meta": { + "name": "DH2" + }, + "position": { + "height": 1120, + "width": 1920, + "x": -93, + "y": 9 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M3.844,42.027l0,-40.465l1212.58,0.001l-0,24.078m-0,30.959l-0,34.963l-1212.58,-0l0,-10.581", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.12px" + }, + "type": "path" + }, + { + "d": "M1216.43,776.159l-0,17.306l-1133.79,-0l-0,-5.3m-0,-46.068l-0,-38.632l1133.79,-0l-0,37.411", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1216.43,697.168l-0,6.297m-0,-580.852l-0,538.665m-0,-567.011l-0,5.001m-1133.79,57.75l-0,-27.535m-0,411.98l-0,-350.712m-0,478.187l-0,-93.828", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M82.637,703.465l-0,-4.689", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1.667,646.491l-0,12.917l80.97,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M82.637,603.783l-80.97,0l-0,15.699", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M1.667,603.783l-0,-474.499l80.97,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + } + ], + "id": "Walls", + "name": "Walls", + "opacity": "50%", + "type": "group" + }, + { + "elements": [ + { + "d": "M129.917,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M129.917,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M233.417,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M233.417,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M336.917,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M336.917,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M440.417,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M440.417,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M543.917,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M543.917,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M647.417,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M647.417,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M750.917,375.688l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M750.917,668.188l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M854.417,375.688l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M854.417,668.188l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M957.917,375.688l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M957.917,668.188l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M171.917,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M171.917,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M275.417,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M275.417,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M378.917,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M378.917,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M482.417,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M482.417,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M585.917,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M585.917,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M689.417,376.438l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M689.417,668.938l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M792.917,375.688l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M792.917,668.188l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M896.417,375.688l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M896.417,668.188l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M999.917,375.688l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M999.917,668.188l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1061.42,375.688l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1061.42,668.188l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-21l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-9.75l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-10.5l21.75,-0l-0,-10.5l-21.75,-0l-0,-9.75l21.75,-0l-0,-10.5l-21.75,-0l-0,248.25l21.75,-0l-0,-237.75l-0,237.75l-21.75,-0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1173.64,591.644l0,-340.536l0,5.65l-20.963,-0.005l-0,9l20.963,0.024l0,5.288l-20.963,0l-0,8.188l20.963,-0l0,5.25l-20.963,-0l-0,9l20.963,-0l0,5.25l-20.963,-0l-0,9l20.963,-0l0,4.5l-20.963,-0l-0,9l20.963,-0l0,5.25l-20.963,-0l-0,9l20.963,-0l0,4.5l-20.963,-0l-0,8.25l20.963,-0l0,6l-20.963,-0l-0,9l20.963,-0l0,5.25l-20.963,-0l-0,8.25l20.963,-0l0,6l-20.963,-0l-0,9l20.963,-0l0,4.5l-20.963,-0l-0,8.25l20.963,-0l0,6l-20.963,-0l-0,9l20.963,-0l0,5.25l-20.963,-0l-0,8.25l20.963,-0l0,4.5l-20.963,-0l-0,9l20.963,-0l0,6l-20.963,-0l-0,8.25l20.963,-0l0,5.25l-20.963,-0l-0,8.25l20.963,-0l0,5.25l-20.963,-0l-0,9.75l20.963,-0l0,4.5l-20.963,-0l-0,8.25l20.963,-0l0,6l-20.963,-0l-0,9l20.963,-0l0,4.5l-20.963,-0l-0,9l20.963,-0l0,4.5l-20.963,-0l-0,9.06l20.963,-0l0,5.94l-20.963,-0l-0,8.25l20.963,-0l0,5.25l-20.963,-0l-0,8.25l20.963,-0l0,6l-20.963,-0l-0,9l20.963,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M21.604,553.335l-0,-340.536l-0,5.649l20.963,-0.004l0,9l-20.963,0.023l-0,5.289l20.963,0l0,8.188l-20.963,-0l-0,5.25l20.963,-0l0,9l-20.963,-0l-0,5.25l20.963,-0l0,9l-20.963,-0l-0,4.5l20.963,-0l0,9l-20.963,-0l-0,5.25l20.963,-0l0,9l-20.963,-0l-0,4.5l20.963,-0l0,8.25l-20.963,-0l-0,6l20.963,-0l0,9l-20.963,-0l-0,5.25l20.963,-0l0,8.25l-20.963,-0l-0,6l20.963,-0l0,9l-20.963,-0l-0,4.5l20.963,-0l0,8.25l-20.963,-0l-0,6l20.963,-0l0,9l-20.963,-0l-0,5.25l20.963,-0l0,8.25l-20.963,-0l-0,4.5l20.963,-0l0,9l-20.963,-0l-0,6l20.963,-0l0,8.25l-20.963,-0l-0,5.25l20.963,-0l0,8.25l-20.963,-0l-0,5.25l20.963,-0l0,9.75l-20.963,-0l-0,4.5l20.963,-0l0,8.25l-20.963,-0l-0,6l20.963,-0l0,9l-20.963,-0l-0,4.5l20.963,-0l0,9l-20.963,-0l-0,4.5l20.963,-0l0,9.06l-20.963,-0l-0,5.94l20.963,-0l0,8.25l-20.963,-0l-0,5.25l20.963,-0l0,8.25l-20.963,-0l-0,6l20.963,-0l0,9l-20.963,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + } + ], + "id": "Racks", + "name": "Racks", + "opacity": "50%", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1218 796" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "STU" + }, + "position": { + "height": 69, + "width": 121, + "x": 1546.1770858764648, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU19" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_0" + }, + "position": { + "height": 69, + "width": 120, + "x": 151.2, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_1" + }, + "position": { + "height": 69, + "width": 120, + "x": 306.2, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU03" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_2" + }, + "position": { + "height": 69, + "width": 120, + "x": 461.2, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU05" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_3" + }, + "position": { + "height": 69, + "width": 120, + "x": 616.2, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU07" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_4" + }, + "position": { + "height": 69, + "width": 120, + "x": 771.2, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU09" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_5" + }, + "position": { + "height": 69, + "width": 120, + "x": 926.2, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU11" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_6" + }, + "position": { + "height": 69, + "width": 120, + "x": 1081.1770858764648, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU13" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_7" + }, + "position": { + "height": 69, + "width": 120, + "x": 1236.1770858764648, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU15" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_8" + }, + "position": { + "height": 69, + "width": 120, + "x": 1391.1770858764648, + "y": 80 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU17" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_9" + }, + "position": { + "height": 69, + "width": 120, + "x": 151.2, + "y": 986 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_10" + }, + "position": { + "height": 69, + "width": 120, + "x": 306.2, + "y": 986 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU04" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_11" + }, + "position": { + "height": 69, + "width": 120, + "x": 461.2, + "y": 986 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU06" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_12" + }, + "position": { + "height": 69, + "width": 120, + "x": 616.2, + "y": 986 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU08" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_13" + }, + "position": { + "height": 69, + "width": 120, + "x": 771.2, + "y": 987 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU10" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_14" + }, + "position": { + "height": 69, + "width": 120, + "x": 926.2, + "y": 987 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU12" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_15" + }, + "position": { + "height": 69, + "width": 120, + "x": 1081.18, + "y": 986 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU14" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_16" + }, + "position": { + "height": 69, + "width": 120, + "x": 1236.18, + "y": 987 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU16" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_17" + }, + "position": { + "height": 69, + "width": 120, + "x": 1391.18, + "y": 986 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU18" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_18" + }, + "position": { + "height": 69, + "width": 120, + "x": 1547.2, + "y": 987 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU20" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM" + }, + "position": { + "height": 64, + "width": 165, + "x": 151.2, + "y": 13 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_HUM_03" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_0" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 1547.2, + "y": 1049.9 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_HUM_02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_2" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 151.2, + "y": 1050 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_HUM_01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_75" + }, + "position": { + "height": 25, + "width": 65, + "x": 213.4, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_76_74_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_76" + }, + "position": { + "height": 25, + "width": 65, + "x": 358.4, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_72_70_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_77" + }, + "position": { + "height": 25, + "width": 65, + "x": 503.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_68_66_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_78" + }, + "position": { + "height": 25, + "width": 65, + "x": 647.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_64_62_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_79" + }, + "position": { + "height": 25, + "width": 65, + "x": 793.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_60_58_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_80" + }, + "position": { + "height": 25, + "width": 65, + "x": 938.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_56_54_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_81" + }, + "position": { + "height": 25, + "width": 65, + "x": 1076.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_52_50_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_82" + }, + "position": { + "height": 25, + "width": 65, + "x": 1227.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_48_46_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_83" + }, + "position": { + "height": 25, + "width": 65, + "x": 1364.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_44_42_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_84" + }, + "position": { + "height": 25, + "width": 65, + "x": 1506.7, + "y": 160 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_40_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_85" + }, + "position": { + "height": 25, + "width": 65, + "x": 213.4, + "y": 538 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_76_74_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_86" + }, + "position": { + "height": 25, + "width": 65, + "x": 358.4, + "y": 538 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_72_70_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_87" + }, + "position": { + "height": 25, + "width": 65, + "x": 503.7, + "y": 538 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_68_66_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_88" + }, + "position": { + "height": 25, + "width": 65, + "x": 647.7, + "y": 538 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_64_62_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_89" + }, + "position": { + "height": 25, + "width": 65, + "x": 793.7, + "y": 539 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_60_58_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_90" + }, + "position": { + "height": 25, + "width": 65, + "x": 938.7, + "y": 539 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_56_54_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_91" + }, + "position": { + "height": 25, + "width": 65, + "x": 1076.7, + "y": 539 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_52_50_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_92" + }, + "position": { + "height": 25, + "width": 65, + "x": 1227.7, + "y": 539 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_48_46_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_93" + }, + "position": { + "height": 25, + "width": 65, + "x": 1364.7, + "y": 539 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_44_42_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_94" + }, + "position": { + "height": 25, + "width": 65, + "x": 1506.7, + "y": 540 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_40_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_95" + }, + "position": { + "height": 25, + "width": 65, + "x": 213.4, + "y": 949 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_75_73_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_96" + }, + "position": { + "height": 25, + "width": 65, + "x": 358.4, + "y": 950 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_71_69_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_97" + }, + "position": { + "height": 25, + "width": 65, + "x": 503.7, + "y": 950 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_67_65_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_98" + }, + "position": { + "height": 25, + "width": 65, + "x": 647.7, + "y": 950 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_63_61_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_99" + }, + "position": { + "height": 25, + "width": 65, + "x": 793.7, + "y": 951 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_59_57_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_100" + }, + "position": { + "height": 25, + "width": 65, + "x": 938.7, + "y": 951 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_55_53_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_101" + }, + "position": { + "height": 25, + "width": 65, + "x": 1076.7, + "y": 951 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_51_49_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_102" + }, + "position": { + "height": 25, + "width": 65, + "x": 1227.7, + "y": 951 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_47_45_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_103" + }, + "position": { + "height": 25, + "width": 65, + "x": 1364.7, + "y": 951 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_43_41_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_104" + }, + "position": { + "height": 25, + "width": 65, + "x": 1506.7, + "y": 951 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_39_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_181" + }, + "position": { + "height": 25, + "width": 65, + "x": 213.4, + "y": 570 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_75_73_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_182" + }, + "position": { + "height": 25, + "width": 65, + "x": 358.4, + "y": 571 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_71_69_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_183" + }, + "position": { + "height": 25, + "width": 65, + "x": 503.7, + "y": 571 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_67_65_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_184" + }, + "position": { + "height": 25, + "width": 65, + "x": 647.7, + "y": 571 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_63_61_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_185" + }, + "position": { + "height": 25, + "width": 65, + "x": 793.7, + "y": 572 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_59_57_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_186" + }, + "position": { + "height": 25, + "width": 65, + "x": 938.7, + "y": 572 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_55_53_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_187" + }, + "position": { + "height": 25, + "width": 65, + "x": 1076.7, + "y": 572 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_51_49_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_188" + }, + "position": { + "height": 25, + "width": 65, + "x": 1227.7, + "y": 572 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_47_45_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_189" + }, + "position": { + "height": 25, + "width": 65, + "x": 1364.7, + "y": 572 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_43_41_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_190" + }, + "position": { + "height": 25, + "width": 65, + "x": 1506.7, + "y": 572 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_39_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_167" + }, + "position": { + "height": 25, + "width": 65, + "x": 1636, + "y": 339 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_IDF1_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_168" + }, + "position": { + "height": 25, + "width": 65, + "x": 1636, + "y": 845 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_IDF1_DP_02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_170" + }, + "position": { + "height": 25, + "width": 150, + "x": 1360.97, + "y": 1054.9 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO2_default]GAL1272/SATB1_DH2_LD2" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_171" + }, + "position": { + "height": 60, + "width": 110, + "x": 1367.16, + "y": 21.49 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_DH2_LD1" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAH 1263-1" + }, + "position": { + "height": 69, + "width": 121, + "x": 13.84, + "y": 181.524 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "CRAH", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1273/SATB1_IDF1273_CRAH_01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/CRAH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAH 1263 -2" + }, + "position": { + "height": 69, + "width": 121, + "x": 13.866, + "y": 793.529 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "CRAH", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1273/SATB1_IDF1273_CRAH_02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/CRAH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FCU-15" + }, + "position": { + "height": 69, + "width": 121, + "x": 15.873, + "y": 858.517 + }, + "props": { + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 138.84, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 76, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 191.512, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "76_74", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 283.3, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "74_72", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 339.2, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "72_70", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 429.5, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "70_68", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 484, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "68_66", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 575.3, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "66_64", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 630.4, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "64_62", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 720.8, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "62_60", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 775.8, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "60_58", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 867.3, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "58_56", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 88, + "x": 921.6, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "56_54", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1012.27, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "54_52", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1067.5, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "52_50", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C8" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1158.5, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "50_48", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H8" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 91, + "x": 1212.5, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "48_46", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1303.5, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "46_44", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 88, + "x": 1358.5, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "44_42", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1448.7, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "42_40", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 72, + "x": 1504.7, + "y": 188.8 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 40, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C11" + }, + "position": { + "height": 480, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1576.67, + "y": 365.81 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "IDF4", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 138.841, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 75, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 193.512, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "75_73", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 339.2, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "71_69", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 283.3, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "73_71", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 484, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "67_65", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 429.5, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "69_67", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 630.4, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "63_61", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 575.3, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "65_63", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 775.8, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "59_57", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 720.8, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "61_59", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H17" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 88, + "x": 921.6, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "55_53", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C17" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 867.3, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "57_55", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1067.5, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "51_49", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1012.27, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "53_51", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 91, + "x": 1212.5, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "47_45", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1158.5, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "49_47", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 88, + "x": 1358.5, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "43_41", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1303.5, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "45_43", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H21" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 72, + "x": 1504.7, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 39, + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C21" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1448.7, + "y": 599.9 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "41_39", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_172" + }, + "position": { + "height": 0, + "width": 0, + "x": -2058, + "y": -2070 + }, + "props": { + "params": { + "FalseText": "No Leak Detected", + "TrueText": "Leak Detected", + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_GAL1182_STU_LD" + }, + "path": "Library/CommonObjects/BooleanIndicator", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle_3" + }, + "position": { + "height": 478, + "width": 71, + "x": 1631, + "y": 367.131 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "IDF4", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle_3", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH controls" + }, + "position": { + "height": 1000, + "width": 350, + "x": 1744, + "y": 9.84 + }, + "props": { + "params": { + "dh": 2 + }, + "path": "Pages/Dev/C_AirSystem/Widgets/DH_Control", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 143, + "width": 130, + "x": 1584.78, + "y": 190.47 + }, + "props": { + "params": { + "DH": "DH2" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/Dewpoint", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C24" + }, + "position": { + "height": 480, + "rotate": { + "anchor": "50% 64%" + }, + "width": 61, + "x": 13.737501525878905, + "y": 305.5 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "struct": { + "c1": "{view.custom.c1}", + "c2": "{view.custom.c1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "max({value}[\u0027c1\u0027], {value}[\u0027c2\u0027])", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "Aisle": "IDF3", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle_3", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C22" + }, + "position": { + "height": 480, + "rotate": { + "anchor": "50% 64%" + }, + "width": 47, + "x": 81.26, + "y": 305.5 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "struct": { + "c1": "{view.custom.c1}", + "c2": "{view.custom.c2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "expression": "max({value}[\u0027c1\u0027], {value}[\u0027c2\u0027])", + "type": "expression" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "Aisle": "IDF3", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_108" + }, + "position": { + "height": 25, + "width": 65, + "x": 86.0999969482422, + "y": 568.5250244140625 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_COR_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "backgroundColor": "--containerRoot", + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -12, + "y": 0 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "LLSPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.LLSPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH201/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH201/resource.json new file mode 100644 index 0000000..0185d94 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH201/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0d3856658ae20bd9cf8b10b0d2a493f9f8681a6b5710a00d4e302419ec65b10b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:34:28Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH201/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH201/thumbnail.png new file mode 100644 index 0000000..be49a64 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH201/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH201/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH201/view.json new file mode 100644 index 0000000..a20cd47 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH201/view.json @@ -0,0 +1,3810 @@ +{ + "custom": { + "c1": "value", + "c2": "value", + "global": 75 + }, + "params": { + "pageId": "" + }, + "permissions": { + "securityLevels": [], + "type": "AllOf" + }, + "propConfig": { + "custom.c1": { + "persistent": true + }, + "custom.c2": { + "persistent": true + }, + "custom.global": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/OPC Tags/SATB1_DH3_STU_T_SP" + }, + "enabled": false, + "type": "tag" + }, + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1388, + "width": 2214 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "DH201" + }, + "position": { + "height": 1264, + "width": 1736, + "x": 87.875, + "y": 36 + }, + "props": { + "elements": [ + { + "d": "M292.594,26.999l0,5.503l-276.536,-0l-0,-5.498m-0,-20.826l-0,-5.78l276.536,-0l0,5.833m0,209.161l-276.536,-0m-0,-23.474l-0,-6.881l276.536,-0l0,6.434m-263.855,-158.969l0,1.573m0,8.074l0,134.332m263.855,-134.332l0,134.332m-268.415,-127.238l4.56,-0l0,19.721l-17.557,-0l0,-19.721l5.194,-0m-13.074,122.476l-2.904,-0l-0,-102.755l28.341,-0l0,102.755l-16.796,-0m-11.545,-122.476l10.784,-0l0,19.721l-10.784,-0l-0,-14.741", + "fill": { + "paint": "transparent" + }, + "id": "_2ndFloor", + "name": "_2ndFloor", + "stroke": { + "opacity": "0.95", + "paint": "var(--text-muted)", + "width": "0.8px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(30.5184,0,0,30.5184,225.217,115.44)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "30.518px" + }, + "text": "DH201", + "type": "text", + "visibility": "hidden", + "x": "130.22px", + "y": "115.44px" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 293 216" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "STU" + }, + "position": { + "height": 69, + "width": 121, + "x": 300, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU01" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_0" + }, + "position": { + "height": 69, + "width": 120, + "x": 451, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU03" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_1" + }, + "position": { + "height": 69, + "width": 120, + "x": 601, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU05" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_2" + }, + "position": { + "height": 69, + "width": 120, + "x": 751, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU07" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_3" + }, + "position": { + "height": 69, + "width": 120, + "x": 901, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU09" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_4" + }, + "position": { + "height": 69, + "width": 120, + "x": 1051, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU11" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_5" + }, + "position": { + "height": 69, + "width": 120, + "x": 1201, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU13" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_6" + }, + "position": { + "height": 69, + "width": 120, + "x": 1351, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU15" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_7" + }, + "position": { + "height": 69, + "width": 120, + "x": 1501, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU17" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_8" + }, + "position": { + "height": 69, + "width": 120, + "x": 1651, + "y": 172.3 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU19" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_9" + }, + "position": { + "height": 69, + "width": 120, + "x": 300, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU02" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_10" + }, + "position": { + "height": 69, + "width": 120, + "x": 450, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU04" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_11" + }, + "position": { + "height": 69, + "width": 120, + "x": 600, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU06" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_12" + }, + "position": { + "height": 69, + "width": 120, + "x": 750, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU08" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_13" + }, + "position": { + "height": 69, + "width": 120, + "x": 900, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU10" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_14" + }, + "position": { + "height": 69, + "width": 120, + "x": 1050, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU12" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_15" + }, + "position": { + "height": 69, + "width": 120, + "x": 1200, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU14" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_16" + }, + "position": { + "height": 69, + "width": 120, + "x": 1350, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU16" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_17" + }, + "position": { + "height": 69, + "width": 120, + "x": 1500, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU18" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_18" + }, + "position": { + "height": 69, + "width": 120, + "x": 1650, + "y": 1105 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU20" + }, + "path": "Library/Symbols/HVAC/Sym_STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_0" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 1645.7, + "y": 1234.4 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_HUM_02" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_2" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 310.703, + "y": 1234.4 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_HUM_01" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_75" + }, + "position": { + "height": 25, + "width": 70, + "x": 376, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_116_114_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_76" + }, + "position": { + "height": 25, + "width": 70, + "x": 516, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_112_110_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_77" + }, + "position": { + "height": 25, + "width": 70, + "x": 656, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_108_106_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_78" + }, + "position": { + "height": 25, + "width": 70, + "x": 796, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_104_102_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_79" + }, + "position": { + "height": 25, + "width": 70, + "x": 936, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_100_98_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_81" + }, + "position": { + "height": 25, + "width": 70, + "x": 1216, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_92_90_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_82" + }, + "position": { + "height": 25, + "width": 70, + "x": 1356, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_88_86_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_83" + }, + "position": { + "height": 25, + "width": 70, + "x": 1496, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_84_82_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_84" + }, + "position": { + "height": 25, + "width": 70, + "x": 1636, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_80_78_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_85" + }, + "position": { + "height": 25, + "width": 70, + "x": 376, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_116_114_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_86" + }, + "position": { + "height": 25, + "width": 70, + "x": 516, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_112_110_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_87" + }, + "position": { + "height": 25, + "width": 70, + "x": 656, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_108_106_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_88" + }, + "position": { + "height": 25, + "width": 70, + "x": 796, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_104_102_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_89" + }, + "position": { + "height": 25, + "width": 70, + "x": 936, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_100_98_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_91" + }, + "position": { + "height": 25, + "width": 70, + "x": 1216, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_92_90_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_92" + }, + "position": { + "height": 25, + "width": 70, + "x": 1356, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_88_86_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_93" + }, + "position": { + "height": 25, + "width": 70, + "x": 1496, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_84_82_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_94" + }, + "position": { + "height": 25, + "width": 70, + "x": 1636, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_80_78_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_95" + }, + "position": { + "height": 25, + "width": 70, + "x": 376, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_117_115_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_96" + }, + "position": { + "height": 25, + "width": 70, + "x": 516, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_113_111_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_97" + }, + "position": { + "height": 25, + "width": 70, + "x": 656, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_109_107_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_98" + }, + "position": { + "height": 25, + "width": 70, + "x": 796, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_105_103_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_99" + }, + "position": { + "height": 25, + "width": 70, + "x": 936, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_101_99_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_100" + }, + "position": { + "height": 25, + "width": 70, + "x": 1076, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_97_95_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_101" + }, + "position": { + "height": 25, + "width": 70, + "x": 1216, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_93_91_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_102" + }, + "position": { + "height": 25, + "width": 70, + "x": 1356, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_89_87_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_103" + }, + "position": { + "height": 25, + "width": 70, + "x": 1496, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_85_83_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_104" + }, + "position": { + "height": 25, + "width": 70, + "x": 1636, + "y": 1048 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_81_79_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_181" + }, + "position": { + "height": 25, + "width": 70, + "x": 376, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_117_115_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_182" + }, + "position": { + "height": 25, + "width": 70, + "x": 516, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_113_111_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_183" + }, + "position": { + "height": 25, + "width": 70, + "x": 656, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_109_107_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_184" + }, + "position": { + "height": 25, + "width": 70, + "x": 796, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_105_103_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_185" + }, + "position": { + "height": 25, + "width": 70, + "x": 936, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_101_99_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_186" + }, + "position": { + "height": 25, + "width": 70, + "x": 1076, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_97_95_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_187" + }, + "position": { + "height": 25, + "width": 70, + "x": 1216, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_93_91_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_188" + }, + "position": { + "height": 25, + "width": 70, + "x": 1356, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_89_87_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_189" + }, + "position": { + "height": 25, + "width": 70, + "x": 1496, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_85_83_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_190" + }, + "position": { + "height": 25, + "width": 70, + "x": 1636, + "y": 672.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_81_79_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LR2" + }, + "position": { + "height": 85, + "width": 72, + "x": 1767.38, + "y": 1154.44 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO3_default]GAL1172/SATB1_DH3_LD2_CTRL" + }, + "path": "Library/Symbols/HVAC/Sym_LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LD_North" + }, + "position": { + "height": 88, + "width": 79, + "x": 213.35, + "y": 128.135 + }, + "props": { + "params": { + "TagPosition": false, + "layout": 2, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_DH3_LD1_CTRL" + }, + "path": "Library/Symbols/HVAC/Sym_LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_80" + }, + "position": { + "height": 25, + "width": 70, + "x": 1076, + "y": 262 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_96_94_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_90" + }, + "position": { + "height": 25, + "width": 70, + "x": 1076, + "y": 637.9 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_96_94_DP_02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 306.026, + "y": 288.032 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 116, + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 376, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "116_114", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 516, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "112_110", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 446.021, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "114_112", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 656, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "108_106", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 586.021, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "110_108", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 796, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "104_102", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 726.021, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "106_104", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 936, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "100_98", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 866.021, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "102_100", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1076, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "96_94", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1006.02, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "98_96", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1216, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "92_90", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1146.02, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "94_92", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H8" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1356, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "88_86", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C8" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1286.02, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "90_88", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1426.02, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "86_84", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1496, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "84_82", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1566.02, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "82_80", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1636, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "80_78", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C11" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 306.026, + "y": 697.932 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 117, + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H11" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 376, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "117_115", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 516, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "113_111", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 446.021, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "115_113", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 656, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "109_107", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 586.021, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "111_109", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 796, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "105_103", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 726.021, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "107_105", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 936, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "101_99", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 866.021, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "103_101", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1076, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "97_95", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1006.02, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "99_97", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H17" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1216, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "93_91", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C17" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1146.02, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "95_93", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1356.02, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "89_87", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1286.02, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "91_89", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1496, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "85_83", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1426.02, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "87_85", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1566.02, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "83_81", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1636, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "81_79", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C21" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1706.02, + "y": 288.077 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 78, + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C22" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 70, + "x": 1706.02, + "y": 697.977 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 79, + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_" + }, + "path": "Library/Widgets/HVAC/Wdg_ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH controls" + }, + "position": { + "height": 1000, + "width": 350, + "x": 1814, + "y": 34.8426 + }, + "props": { + "params": { + "dh": 201 + }, + "path": "Library/Cards/Card_DH_Control", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_105" + }, + "position": { + "height": 37, + "width": 77, + "x": 279.48, + "y": 652.2 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 172, + "width": 145, + "x": 14.950878247070314, + "y": 43.92978912353516 + }, + "props": { + "params": { + "DH": "DH3" + }, + "path": "Library/Widgets/HVAC/Wdg_Dewpoint", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_3" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 755.7, + "y": 1234.4 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_HUM_01" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_4" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 1200.7, + "y": 1234.4 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_HUM_01" + }, + "path": "Library/Symbols/HVAC/Sym_HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LD_North_0" + }, + "position": { + "height": 94, + "width": 84, + "x": 180, + "y": 338 + }, + "props": { + "params": { + "TagPosition": false, + "layout": 2, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_DH3_LD1_CTRL" + }, + "path": "Library/Symbols/HVAC/Sym_LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LD_North_1" + }, + "position": { + "height": 17, + "width": 1481, + "x": 284.91, + "y": 148.8 + }, + "props": { + "params": { + "TagPosition": false, + "layout": 2, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO3_default]GAL1171/SATB1_DH3_LD1_CTRL" + }, + "path": "Library/Symbols/HVAC/Sym_LR", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LD_North_2" + }, + "position": { + "height": 17, + "width": 1458, + "x": 310, + "y": 1178 + }, + "props": { + "params": { + "NS": false, + "leak": 15, + "stops": [ + 10, + 15, + 20, + 25, + 30, + 35, + 40, + 45, + 50, + 60 + ] + }, + "path": "Library/Symbols/HVAC/Sym_LR", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LD_North_3" + }, + "position": { + "height": 74, + "width": 99, + "x": 1111, + "y": 50 + }, + "props": { + "params": { + "Layout": 2, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_LD_DI" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LD_North_4" + }, + "position": { + "height": 74, + "rotate": { + "anchor": "40% 50%" + }, + "width": 99, + "x": 1111, + "y": 1208 + }, + "props": { + "params": { + "Layout": 2, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_LD_DI" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_106" + }, + "position": { + "height": 37, + "width": 77, + "x": 215, + "y": 53 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_107" + }, + "position": { + "height": 37, + "width": 77, + "x": 215, + "y": 93 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_108" + }, + "position": { + "height": 37, + "width": 77, + "x": 315, + "y": 92.99 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_109" + }, + "position": { + "height": 37, + "width": 77, + "x": 315, + "y": 52.99 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_110" + }, + "position": { + "height": 37, + "width": 77, + "x": 1597, + "y": 51.14708587646484 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_111" + }, + "position": { + "height": 37, + "width": 77, + "x": 1597, + "y": 91.14708587646484 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_112" + }, + "position": { + "height": 37, + "width": 77, + "x": 1697, + "y": 91.14708587646484 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_113" + }, + "position": { + "height": 37, + "width": 77, + "x": 1697, + "y": 51.14708587646484 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_114" + }, + "position": { + "height": 37, + "width": 77, + "x": 10, + "y": 652 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_COR_DP_01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Sym_FCU" + }, + "position": { + "height": 70, + "width": 120, + "x": 60, + "y": 318.982 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1128/SATB1_HS2_EL1128_FCU16" + }, + "path": "Library/Symbols/HVAC/Sym_FCU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Sym_FCU_0" + }, + "position": { + "height": 70, + "width": 120, + "x": 60, + "y": 375 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1128/SATB1_HS2_EL1128_FCU16" + }, + "path": "Library/Symbols/HVAC/Sym_FCU" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -8.015625, + "y": 5 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "LLSPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.LLSPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH202/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH202/resource.json new file mode 100644 index 0000000..c304e35 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH202/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c3e4cc241dec753dca7478d7e4fcd782548690a378e7cfef74ddd985ddce8f9e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:11:55Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH202/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH202/thumbnail.png new file mode 100644 index 0000000..345949c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH202/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH202/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH202/view.json new file mode 100644 index 0000000..952b565 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH202/view.json @@ -0,0 +1,4832 @@ +{ + "custom": { + "global": 75 + }, + "params": { + "pageId": "" + }, + "permissions": { + "securityLevels": [], + "type": "AllOf" + }, + "propConfig": { + "custom.global": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/OPC Tags/SATB1_DH4_STU_T_SP" + }, + "type": "tag" + }, + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1150, + "width": 2244 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": { + "racks": "var(--olGray)", + "walls": "var(--olGray)" + } + }, + "meta": { + "name": "DH4" + }, + "position": { + "height": 1109, + "width": 2000, + "x": -80.01, + "y": 4.01 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M143.531,42.131l0,-40.464l1161.22,-0l-0,24.079m-0,30.958l-0,34.963", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M216.956,91.667l-73.425,-0l0,-10.581", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1304.75,773.558l-0,17.306l-1087.8,-0l-0,-5.3m-0,-46.068l-0,-38.632", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1304.75,700.864l-0,37.411", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1304.75,694.567l-0,6.297l-1087.8,-0l-0,-4.689m1087.8,-576.163l-0,538.666m-1087.8,-567.011l1087.8,-0l-0,5m-1087.8,569.67l-0,-539.455", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M162.462,443.552l0,6.626l-80.641,-0l0,-42.841", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,407.337l0,20.211", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,351.017l0,56.32l-80.641,0l0,-82.74", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,324.597l0,6.822", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,278.46l0,46.137l-80.641,-0l0,-132.301", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,192.296l0,53.024", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,169.46l0,22.836l-80.641,-0l0,-45.361l80.641,0l0,4.688", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M81.821,790.864l0,-340.686m80.641,166.885l0,173.801", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,450.178l0,122.285", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M81.821,136.95l0,154.624l-80.154,0l-0,-184.276l80.154,0l0,13.255", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "82.957", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "165.769" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "82.957", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "165.769" + }, + { + "d": "M81.821,107.298l0,-105.631", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "173.725" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "173.725" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "192.475" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "192.475" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "211.225" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "211.225" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "229.975" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "229.975" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "248.725" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "248.725" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "48.562", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "18.924", + "x": "32.329", + "y": "208.335" + } + ], + "id": "Walls", + "name": "Walls", + "opacity": "50%", + "type": "group" + }, + { + "elements": [ + { + "d": "M269.752,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M269.752,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M373.252,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M373.252,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M476.752,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M476.752,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M580.252,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M580.252,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M683.752,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M683.752,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M787.252,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M787.252,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M890.752,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M890.752,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M994.252,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M994.252,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1097.75,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1097.75,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M311.752,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M311.752,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M415.252,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M415.252,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M518.752,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M518.752,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M622.252,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M622.252,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M725.752,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M725.752,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M829.252,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M829.252,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M932.752,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M932.752,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1036.25,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1036.25,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1139.75,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1139.75,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1201.25,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1242.77,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1201.25,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1242.77,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + } + ], + "id": "Racks", + "name": "Racks", + "opacity": "50%", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1307 793" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "STU" + }, + "position": { + "height": 69, + "width": 121, + "x": 350, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_0" + }, + "position": { + "height": 69, + "width": 120, + "x": 496, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU03" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_1" + }, + "position": { + "height": 69, + "width": 120, + "x": 643, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU05" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_2" + }, + "position": { + "height": 69, + "width": 120, + "x": 789, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU07" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_3" + }, + "position": { + "height": 69, + "width": 120, + "x": 936, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU09" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_4" + }, + "position": { + "height": 69, + "width": 120, + "x": 1083, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU11" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_5" + }, + "position": { + "height": 69, + "width": 120, + "x": 1229, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU13" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_6" + }, + "position": { + "height": 69, + "width": 120, + "x": 1376, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU15" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_7" + }, + "position": { + "height": 69, + "width": 120, + "x": 1522, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU17" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_8" + }, + "position": { + "height": 69, + "width": 120, + "x": 1668, + "y": 75.4818 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU19" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_9" + }, + "position": { + "height": 69, + "width": 120, + "x": 349, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_10" + }, + "position": { + "height": 69, + "width": 120, + "x": 495, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU04" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_11" + }, + "position": { + "height": 69, + "width": 120, + "x": 642, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_12" + }, + "position": { + "height": 69, + "width": 120, + "x": 788, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU08" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_13" + }, + "position": { + "height": 69, + "width": 120, + "x": 935, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU10" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_14" + }, + "position": { + "height": 69, + "width": 120, + "x": 1081.43, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU12" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_15" + }, + "position": { + "height": 69, + "width": 120, + "x": 1229, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU14" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_16" + }, + "position": { + "height": 69, + "width": 120, + "x": 1376, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU16" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_17" + }, + "position": { + "height": 69, + "width": 120, + "x": 1523, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU18" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_18" + }, + "position": { + "height": 69, + "width": 120, + "x": 1669, + "y": 972.482 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU20" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM" + }, + "position": { + "height": 64, + "width": 165, + "x": 349, + "y": 7.49737 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_HUM_03" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_0" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 1670.02, + "y": 1045.5 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_HUM_02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_2" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 165, + "x": 350.01599999999996, + "y": 1045.5 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_HUM_01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_75" + }, + "position": { + "height": 25, + "width": 60, + "x": 391.4, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_156_154_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_76" + }, + "position": { + "height": 25, + "width": 60, + "x": 535.7, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_152_150_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_77" + }, + "position": { + "height": 25, + "width": 60, + "x": 684.4, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_148_146_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_78" + }, + "position": { + "height": 25, + "width": 60, + "x": 831.7, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_144_142_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_79" + }, + "position": { + "height": 25, + "width": 60, + "x": 971.7, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_140_138_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_81" + }, + "position": { + "height": 25, + "width": 60, + "x": 1265.7, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_132_130_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_82" + }, + "position": { + "height": 25, + "width": 60, + "x": 1411.7, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_128_126_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_83" + }, + "position": { + "height": 25, + "width": 60, + "x": 1554.7, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_124_122_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_84" + }, + "position": { + "height": 25, + "width": 60, + "x": 1698.01, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_120_118_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_85" + }, + "position": { + "height": 25, + "width": 60, + "x": 391.4, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_156_154_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_86" + }, + "position": { + "height": 25, + "width": 60, + "x": 535.7, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_152_150_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_87" + }, + "position": { + "height": 25, + "width": 60, + "x": 684.4, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_148_146_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_88" + }, + "position": { + "height": 25, + "width": 60, + "x": 831.7, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_144_142_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_89" + }, + "position": { + "height": 25, + "width": 60, + "x": 971.7, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_140_138_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_91" + }, + "position": { + "height": 25, + "width": 60, + "x": 1265.7, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_132_130_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_92" + }, + "position": { + "height": 25, + "width": 60, + "x": 1411.7, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_128_126_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_93" + }, + "position": { + "height": 25, + "width": 60, + "x": 1554.7, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_124_122_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_94" + }, + "position": { + "height": 25, + "width": 60, + "x": 1698.01, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_120_118_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_95" + }, + "position": { + "height": 25, + "width": 60, + "x": 391.4, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_157_155_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_96" + }, + "position": { + "height": 25, + "width": 60, + "x": 535.7, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_153_151_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_97" + }, + "position": { + "height": 25, + "width": 60, + "x": 684.4, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_149_147_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_98" + }, + "position": { + "height": 25, + "width": 60, + "x": 831.7, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_145_143_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_99" + }, + "position": { + "height": 25, + "width": 60, + "x": 971.7, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_141_139_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_100" + }, + "position": { + "height": 25, + "width": 60, + "x": 1121.7, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_137_135_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_101" + }, + "position": { + "height": 25, + "width": 60, + "x": 1265.7, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_133_131_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_102" + }, + "position": { + "height": 25, + "width": 60, + "x": 1411.7, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_129_127_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_103" + }, + "position": { + "height": 25, + "width": 60, + "x": 1554.7, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_125_123_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_104" + }, + "position": { + "height": 25, + "width": 60, + "x": 1698.01, + "y": 938.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_121_119_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_181" + }, + "position": { + "height": 25, + "width": 60, + "x": 391.4, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_157_155_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_182" + }, + "position": { + "height": 25, + "width": 60, + "x": 535.7, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_153_151_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_183" + }, + "position": { + "height": 25, + "width": 60, + "x": 684.4, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_149_147_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_184" + }, + "position": { + "height": 25, + "width": 60, + "x": 831.7, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_145_143_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_185" + }, + "position": { + "height": 25, + "width": 60, + "x": 971.7, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_141_139_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_186" + }, + "position": { + "height": 25, + "width": 60, + "x": 1121.7, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_137_135_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_187" + }, + "position": { + "height": 25, + "width": 60, + "x": 1265.7, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_133_131_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_188" + }, + "position": { + "height": 25, + "width": 60, + "x": 1411.7, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_129_127_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_189" + }, + "position": { + "height": 25, + "width": 60, + "x": 1554.7, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_125_123_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_190" + }, + "position": { + "height": 25, + "width": 60, + "x": 1698.01, + "y": 566.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_121_119_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_170" + }, + "position": { + "height": 25, + "width": 150, + "x": 1499, + "y": 1042.42 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO4_default]GAL1282/SATB1_DH4_LD2_CTRL" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_171" + }, + "position": { + "height": 25, + "width": 150, + "x": 1504, + "y": 6.49737146911621 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "DiscreteIn", + "objectName_Info": "LD", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO4_default]GAL1281/SATB1_DH4_LD1_CTRL" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FCU-15" + }, + "position": { + "height": 69, + "width": 121, + "x": 120.296, + "y": 212.988 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1284/SATB1_HS2_EL1284_FCU13" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_80" + }, + "position": { + "height": 25, + "width": 60, + "x": 1121.7, + "y": 152.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_136_134_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_90" + }, + "position": { + "height": 25, + "width": 60, + "x": 1121.7, + "y": 530.4817714691162 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_136_134_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 71, + "x": 310.5, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 156, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 383, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "156_154", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 526.6, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "152_150", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 473.011, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "154_152", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 671.7, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "148_146", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 617.6, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "150_148", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 816.7, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "144_142", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 761.7, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "146_144", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 963.7, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "140_138", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 907.6, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "142_140", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1105.7, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "136_134", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1053.7, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "138_136", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1251.5, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "132_130", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1195.5, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "134_132", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H8" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1396.6, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "128_126", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C8" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 1341.6, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "130_128", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1486.6, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "126_124", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1540.5, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "124_122", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1631.62, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "122_120", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1685.5, + "y": 178.2 + }, + "propConfig": { + "props.params.Aisle": { + "access": "PUBLIC" + }, + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "120_118", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C11" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 71, + "x": 310.5, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 157, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H11" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 383, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "157_155", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 526.6, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "153_151", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 473.011, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "155_153", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 671.7, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "149_147", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 617.6, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "151_149", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 816.7, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "145_143", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 761.7, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "147_145", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 963.7, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "141_139", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 907.6, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "143_141", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1105.7, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "137_135", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1053.7, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "139_137", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H17" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1251.5, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "133_131", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1396.6, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "129_127", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 1341.6, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "131_129", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1540.5, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "125_123", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1486.6, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "127_125", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1631.62, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "123_121", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1685.5, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "transforms": [ + { + "expression": "{value}+5", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "121_119", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C21" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 1775, + "y": 178.2 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 118, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C22" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 54, + "x": 1775, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": 119, + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH controls" + }, + "position": { + "height": 1000, + "width": 350, + "x": 1880, + "y": 5.321771469116211 + }, + "props": { + "params": { + "dh": 4 + }, + "path": "Pages/Dev/C_AirSystem/Widgets/DH_Control", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_105" + }, + "position": { + "height": 25, + "width": 60, + "x": 241.2, + "y": 543.475 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_COR_DP_01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 172, + "width": 145, + "x": 156.23558911132812, + "y": 21.267353259277343 + }, + "props": { + "params": { + "DH": "DH4" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/Dewpoint", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FCU-16" + }, + "position": { + "height": 69, + "width": 121, + "x": 120.27603149414062, + "y": 398 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]FS1285/SATB1_HS2_FS1285_FCU09" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FCU-17" + }, + "position": { + "height": 69, + "width": 121, + "x": 120.276, + "y": 449 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1286/SATB1_HS2_IDF1286_FCU10" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FCU-18" + }, + "position": { + "height": 69, + "width": 121, + "x": 120, + "y": 514 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]IDF1286/SATB1_HS2_IDF1286_FCU11" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FCU-19" + }, + "position": { + "height": 69, + "width": 121, + "x": 120, + "y": 574 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1287/SATB1_HS2_EL1287_FCU12" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C23" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 55, + "x": 1195.5, + "y": 586.1 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "path": "view.custom.global" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "Aisle": "135_133", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 148.28125, + "y": 328 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "LLSPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.LLSPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH203/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH203/resource.json new file mode 100644 index 0000000..a5904e5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH203/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "030c80d811d103d2ce46b8c698448a6f4287654fd8869c8a9340bb9d1be39edf", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:11:55Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH203/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH203/thumbnail.png new file mode 100644 index 0000000..f14ce75 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH203/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH203/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH203/view.json new file mode 100644 index 0000000..2bdb9fa --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/DH203/view.json @@ -0,0 +1,5021 @@ +{ + "custom": { + "ColdAisleSP": 65 + }, + "params": { + "pageId": "" + }, + "propConfig": { + "custom.ColdAisleSP": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1150, + "width": 2233 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": { + "racks": "var(--olGray)", + "walls": "var(--olGray)" + } + }, + "meta": { + "name": "DH5" + }, + "position": { + "height": 1108, + "width": 2000, + "x": -80.02083337306976, + "y": 6.718800000000002 + }, + "propConfig": { + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[0].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.walls" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[11].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[12].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[13].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[14].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[15].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[16].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[17].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[18].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[19].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[20].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[21].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[22].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[23].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[24].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[25].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[26].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[27].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[28].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[29].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[30].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[31].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[32].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[33].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[34].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[35].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[36].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[37].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[38].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[39].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + }, + "props.elements[1].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.racks" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M143.171,42.131l-0,-40.464l1161.22,-0l-0,24.079m-0,30.958l-0,34.963", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M218.626,91.667l-75.455,-0l-0,-10.581", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1304.39,773.558l-0,17.306l-1085.77,-0l0,-5.3m0,-46.068l0,-38.632", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1304.39,700.864l-0,37.411", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M1304.39,694.567l-0,6.297l-1085.77,-0l0,-4.689m1085.77,-576.163l-0,538.666m-1085.77,-567.011l1085.77,-0l-0,5m-1085.77,569.67l0,-539.455", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.13px" + }, + "type": "path" + }, + { + "d": "M102.675,790.864l-20.854,-0l0,-385.734l80.641,-0l0,5.518m0,38.626l0,341.59l-7.144,-0m-0,-0l-52.643,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,348.809l0,56.321", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M81.821,405.13l0,-82.741", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,322.389l0,6.822", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,268.249l0,54.14l-80.641,0l0,-90.368l80.641,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,224.689l0,7.332", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M81.821,232.021l0,-41.933", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,190.088l0,19.28", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M162.462,167.252l0,22.836l-80.641,0l0,-45.36l80.641,-0l0,4.688", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M81.821,134.743l0,28.818", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M81.821,254.689l0,34.678l-80.154,0l-0,-34.678", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "d": "M1.667,163.561l-0,-58.47l80.154,-0l0,13.255", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "82.957", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "163.561" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "82.957", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "163.561" + }, + { + "d": "M81.821,105.091l0,-103.424", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.33px" + }, + "type": "path" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "171.518" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "171.518" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "190.268" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "190.268" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "209.018" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "209.018" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "227.768" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "227.768" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.662", + "x": "1.667", + "y": "246.518" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "8.25", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "30.569", + "x": "51.252", + "y": "246.518" + }, + { + "fill": { + "paint": "transparent" + }, + "height": "48.562", + "name": "rect", + "stroke": { + "width": "3.33px" + }, + "type": "rect", + "width": "18.924", + "x": "32.329", + "y": "206.127" + } + ], + "id": "Walls", + "name": "Walls", + "opacity": "50%", + "type": "group" + }, + { + "elements": [ + { + "d": "M269.392,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M269.392,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M372.892,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M372.892,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M476.392,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M476.392,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M579.892,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M579.892,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M683.392,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M683.392,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M786.892,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M786.892,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M890.392,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M890.392,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M993.892,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M993.892,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1097.39,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1097.39,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M311.392,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M311.392,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M414.892,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M414.892,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M518.392,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M518.392,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M621.892,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M621.892,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M725.392,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M725.392,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M828.892,373.837l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M828.892,666.337l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M932.392,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M932.392,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1035.89,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1035.89,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1139.39,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1139.39,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1200.89,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1242.41,373.087l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1200.89,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + }, + { + "d": "M1242.41,665.587l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-21l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-9.75l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-10.5l21.75,0l-0,-10.5l-21.75,0l-0,-9.75l21.75,0l-0,-10.5l-21.75,0l-0,248.25l21.75,0l-0,-237.75l-0,237.75l-21.75,0Z", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "1.67px" + }, + "type": "path" + } + ], + "id": "Racks", + "name": "Racks", + "opacity": "50%", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1306 793" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "STU_0" + }, + "position": { + "height": 69, + "width": 120, + "x": 466, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU03" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_1" + }, + "position": { + "height": 69, + "width": 120, + "x": 621, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU05" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_2" + }, + "position": { + "height": 69, + "width": 120, + "x": 776, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU07" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_3" + }, + "position": { + "height": 69, + "width": 120, + "x": 931, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU09" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_4" + }, + "position": { + "height": 69, + "width": 120, + "x": 1086, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU11" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_5" + }, + "position": { + "height": 69, + "width": 120, + "x": 1241, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU13" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_6" + }, + "position": { + "height": 69, + "width": 120, + "x": 1396, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU15" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_7" + }, + "position": { + "height": 69, + "width": 120, + "x": 1551, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU17" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_8" + }, + "position": { + "height": 69, + "width": 120, + "x": 1706, + "y": 77 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU19" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_9" + }, + "position": { + "height": 69, + "width": 120, + "x": 311, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_10" + }, + "position": { + "height": 69, + "width": 120, + "x": 466, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU04" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_11" + }, + "position": { + "height": 69, + "width": 120, + "x": 621, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU06" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_12" + }, + "position": { + "height": 69, + "width": 120, + "x": 776, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU08" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_13" + }, + "position": { + "height": 69, + "width": 120, + "x": 931, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU10" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_14" + }, + "position": { + "height": 69, + "width": 120, + "x": 1086, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU12" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_15" + }, + "position": { + "height": 69, + "width": 120, + "x": 1241, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU14" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_16" + }, + "position": { + "height": 69, + "width": 120, + "x": 1396, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU16" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_17" + }, + "position": { + "height": 69, + "width": 120, + "x": 1551, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU18" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU_18" + }, + "position": { + "height": 69, + "width": 120, + "x": 1706, + "y": 975 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU20" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_0" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 120, + "x": 1706, + "y": 1050.9 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_HUM_02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM_2" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-903% 38%" + }, + "width": 120, + "x": 311, + "y": 1049.9 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_HUM_01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_171" + }, + "position": { + "height": 25, + "width": 129, + "x": 1538.98, + "y": 6.21875 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_LD_DI", + "tagPath_Info": "[Ignition_SATB1_IO5_default]GAL1181/SATB1_DH5_LD1_CTRL" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAH 1263 -2" + }, + "position": { + "height": 69, + "width": 122, + "x": 121.908, + "y": 272.961 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1185/SATB1_HS2_EL1185_FCU01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAH 1263 -4" + }, + "position": { + "height": 69, + "width": 122, + "x": 121.948, + "y": 448.701 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]MDF1187/SATB1_HS2_MDF1187_FCU02" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAH 1263 -5" + }, + "position": { + "height": 69, + "width": 122, + "x": 121.979, + "y": 514.49 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "FCU", + "tagPath": "[Ignition_Common_IO_Gtwy]MDF1187/SATB1_HS2_MDF1187_FCU03" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/FCU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "STU" + }, + "position": { + "height": 69, + "width": 121, + "x": 311, + "y": 78 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "STU", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU01" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/STU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HUM" + }, + "position": { + "height": 64, + "width": 120, + "x": 311, + "y": 14 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "HUM", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_HUM_03" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/HUM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAC" + }, + "position": { + "height": 69, + "width": 120, + "x": 119.973, + "y": 566.728 + }, + "props": { + "params": { + "TagPosition": false, + "objectName": "CRAC", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188_CRAC1" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/CRAC", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CRAC_0" + }, + "position": { + "height": 69, + "width": 120, + "x": 121.973, + "y": 1045.64 + }, + "props": { + "params": { + "TagPosition": true, + "objectName": "CRAC", + "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS2_MMR1188_CRAC2" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/CRAC", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_194" + }, + "position": { + "height": 25, + "width": 129, + "x": 1537.98, + "y": 1046 + }, + "props": { + "params": { + "Bkgnd_EN": true, + "EU": "degF", + "EU_Pos": false, + "FalseText": "No Leak Detected", + "Size": 12, + "TrueText": "Lead Detected", + "objectName": "DiscreteIn", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_LD_DI" + }, + "path": "Pages/Dev/C_AirSystem/Equipment/LD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_75" + }, + "position": { + "height": 35, + "width": 63, + "x": 402.679, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_196_194_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_76" + }, + "position": { + "height": 35, + "width": 63, + "x": 543.679, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_192_190_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_77" + }, + "position": { + "height": 35, + "width": 63, + "x": 692.679, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_188_186_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_78" + }, + "position": { + "height": 35, + "width": 63, + "x": 837.7, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_184_182_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_79" + }, + "position": { + "height": 35, + "width": 63, + "x": 974.7, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_180_178_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_80" + }, + "position": { + "height": 35, + "width": 63, + "x": 1119.68, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_176_174_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_81" + }, + "position": { + "height": 35, + "width": 63, + "x": 1267.68, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_172_170_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_82" + }, + "position": { + "height": 35, + "width": 63, + "x": 1409.68, + "y": 153 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_168_166_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_83" + }, + "position": { + "height": 35, + "width": 63, + "x": 1560.68, + "y": 153.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_164_162_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_84" + }, + "position": { + "height": 35, + "width": 63, + "x": 1711.68, + "y": 153.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_160_158_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_85" + }, + "position": { + "height": 35, + "width": 63, + "x": 402.679, + "y": 519 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_196_194_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_86" + }, + "position": { + "height": 35, + "width": 63, + "x": 543.679, + "y": 521 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_192_190_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_87" + }, + "position": { + "height": 35, + "width": 63, + "x": 692.679, + "y": 521 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_188_186_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_88" + }, + "position": { + "height": 35, + "width": 63, + "x": 837.7, + "y": 521 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_184_182_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_89" + }, + "position": { + "height": 35, + "width": 63, + "x": 974.7, + "y": 521 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_180_178_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_90" + }, + "position": { + "height": 35, + "width": 63, + "x": 1117.68, + "y": 521 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_176_174_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_91" + }, + "position": { + "height": 35, + "width": 63, + "x": 1265.68, + "y": 522 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_172_170_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_92" + }, + "position": { + "height": 35, + "width": 63, + "x": 1409.68, + "y": 522 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_168_166_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_93" + }, + "position": { + "height": 35, + "width": 63, + "x": 1560.68, + "y": 522.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_164_162_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_94" + }, + "position": { + "height": 35, + "width": 63, + "x": 1711.68, + "y": 522.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_160_158_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_95" + }, + "position": { + "height": 35, + "width": 63, + "x": 402.7, + "y": 929 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_197_195_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_96" + }, + "position": { + "height": 35, + "width": 63, + "x": 543.679, + "y": 931 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_193_191_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_97" + }, + "position": { + "height": 35, + "width": 63, + "x": 692.679, + "y": 931 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_189_187_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_98" + }, + "position": { + "height": 35, + "width": 63, + "x": 837.7, + "y": 931 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_185_183_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_99" + }, + "position": { + "height": 35, + "width": 63, + "x": 974.7, + "y": 931 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_181_179_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_101" + }, + "position": { + "height": 35, + "width": 63, + "x": 1265.68, + "y": 931 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_173_171_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_102" + }, + "position": { + "height": 35, + "width": 63, + "x": 1414.68, + "y": 932 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_169_167_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_103" + }, + "position": { + "height": 35, + "width": 63, + "x": 1560.68, + "y": 932.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_165_163_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_104" + }, + "position": { + "height": 35, + "width": 63, + "x": 1711.68, + "y": 932.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_161_159_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_181" + }, + "position": { + "height": 35, + "width": 63, + "x": 402.7, + "y": 560.721 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_197_195_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_182" + }, + "position": { + "height": 35, + "width": 63, + "x": 543.68, + "y": 562.721 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_193_191_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_183" + }, + "position": { + "height": 35, + "width": 63, + "x": 692.679, + "y": 565 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_189_187_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_184" + }, + "position": { + "height": 35, + "width": 63, + "x": 837.7, + "y": 565 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_185_183_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_185" + }, + "position": { + "height": 35, + "width": 63, + "x": 974.7, + "y": 565 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_181_179_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_186" + }, + "position": { + "height": 35, + "width": 63, + "x": 1117.68, + "y": 565 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_177_175_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_187" + }, + "position": { + "height": 35, + "width": 63, + "x": 1265.68, + "y": 565 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_173_171_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_188" + }, + "position": { + "height": 35, + "width": 63, + "x": 1412.68, + "y": 566 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_169_167_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_189" + }, + "position": { + "height": 35, + "width": 63, + "x": 1560.68, + "y": 566.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_165_163_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_190" + }, + "position": { + "height": 35, + "width": 63, + "x": 1711.68, + "y": 566.7291717529297 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_161_159_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_100" + }, + "position": { + "height": 35, + "width": 63, + "x": 1116.68, + "y": 931 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_177_175_DP02" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_30" + }, + "position": { + "height": 0, + "width": 0, + "x": -13949, + "y": -13911 + }, + "props": { + "params": { + "objectName": "PID_Loop", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWP_PID" + }, + "path": "Library/CommonObjects/PID", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DH controls" + }, + "position": { + "height": 1000, + "width": 350, + "x": 1851, + "y": 6.55875 + }, + "props": { + "params": { + "dh": 5 + }, + "path": "Pages/Dev/C_AirSystem/Widgets/DH_Control", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 328.5, + "y": 176.05 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": 196, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H1" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 383, + "y": 179.56 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "196_194", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 472.01, + "y": 175.56 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "194_192", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H2" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 529.6, + "y": 178.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "192_190", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 617.6, + "y": 174.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "190_188", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H3" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 671.7, + "y": 178.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "188_186", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 763.7, + "y": 174.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "186_184", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H4" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 815.7, + "y": 179.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "184_182", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 908.6, + "y": 175.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "182_180", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H5" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 961.7, + "y": 180.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "180_178", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1052.7, + "y": 173.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "178_176", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H6" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1106.7, + "y": 178.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "176_174", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1197.5, + "y": 173.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "174_172", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H7" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1251.5, + "y": 177.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "172_170", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C8" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1342.64, + "y": 175.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "170_168", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1486.6, + "y": 175.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "166_164", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H9" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1540.5, + "y": 179.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "164_162", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1631.62, + "y": 175.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "162_160", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H10" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1686.5, + "y": 179.72 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "160_158", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C21" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1776, + "y": 176.06 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": 158, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C22" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1776, + "y": 587.96 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": 159, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1684.5, + "y": 587.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "161_159", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C20" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1630.62, + "y": 587.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "163_161", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1540.5, + "y": 589.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "165_163", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C19" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1486.6, + "y": 585.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "167_165", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1396.64, + "y": 589.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "169_167", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C18" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1342.64, + "y": 585.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "171_169", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H17" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1251.5, + "y": 587.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "173_171", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C17" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1197.5, + "y": 583.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "175_173", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1106.7, + "y": 589.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "177_175", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C16" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 1052.7, + "y": 583.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "179_177", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 961.7, + "y": 590.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "181_179", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C15" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 908.6, + "y": 586.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "183_181", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 815.7, + "y": 590.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "185_183", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C14" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 763.7, + "y": 585.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "187_185", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 1397.32, + "y": 178.344 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "168_166", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C13" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 617.6, + "y": 585.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "191_189", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 528.6, + "y": 589.62 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "193_191", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C12" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 472.01, + "y": 586.46 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "195_193", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H11" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 383, + "y": 590.46 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "197_195", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ColdAisle C11" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 53, + "x": 328.5, + "y": 585.95 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": 197, + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/ColdAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HotAisle H21" + }, + "position": { + "height": 350, + "rotate": { + "anchor": "50% 64%" + }, + "width": 90, + "x": 673, + "y": 591 + }, + "propConfig": { + "props.params.SP": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5_STU_T_SP" + }, + "transforms": [ + { + "expression": "{value}+5\r\n", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "Aisle": "189_187", + "TT": "TT01", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/HotAisle", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_105" + }, + "position": { + "height": 25, + "width": 60, + "x": 241.7812469482422, + "y": 548.70575 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_COR_DP01" + }, + "path": "Library/CommonObjects/Transmitter", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 148, + "width": 105, + "x": 151.452, + "y": 22.923000000000002 + }, + "props": { + "params": { + "DH": "DH5" + }, + "path": "Pages/Dev/C_AirSystem/Widgets/Dewpoint", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 81.8125, + "y": -106 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "LLSPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.LLSPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH101/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH101/resource.json new file mode 100644 index 0000000..d52d6cf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH101/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0559b98f47e3ef2742f3260c497effba58fc2c5e1c8bd215b62b815ed7a94435", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:11:55Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH101/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH101/thumbnail.png new file mode 100644 index 0000000..8823513 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH101/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH101/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH101/view.json new file mode 100644 index 0000000..d2d33bb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH101/view.json @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B301 STU LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*DH1/SATB1_DH1_STU_LLS*" + }, + "deviceName": "STU", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_STU_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/DH1_STU", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_STU_Rotation" + } + }, + "path": "Library/Templates/Graphics/LLS/Device LLS V1" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH102/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH102/resource.json new file mode 100644 index 0000000..c686acb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH102/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2c22a88144ea103f845c9a937db8498cf77b14ecf84e69d497f4781a8a89ee4b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:11:55Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH102/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH102/thumbnail.png new file mode 100644 index 0000000..c5028a7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH102/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH102/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH102/view.json new file mode 100644 index 0000000..476a4e4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH102/view.json @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B302 STU LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*DH2/SATB1_DH2_STU_LLS*" + }, + "deviceName": "STU", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_STU_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/DH2_STU", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_STU_Rotation" + } + }, + "path": "Library/Templates/Graphics/LLS/Device LLS V1" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH201/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH201/resource.json new file mode 100644 index 0000000..268651b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH201/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "775473862d21a9d25899d3d49f0b3443a85b259319dab271f10950c68fb7b802", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T16:53:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH201/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH201/thumbnail.png new file mode 100644 index 0000000..7683b48 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH201/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH201/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH201/view.json new file mode 100644 index 0000000..21ff48b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH201/view.json @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B303 STU LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*DH3/SATB1_DH3_STU_LLS*" + }, + "deviceName": "STU", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_STU_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/DH3_STU", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_STU_Rotation" + } + }, + "path": "Library/Layouts/LLS/Device LLS" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH202/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH202/resource.json new file mode 100644 index 0000000..4dcebd5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH202/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fa09e20050b9be2de2056fc0d3cbde8876f31590f684c291ce6bf03f201262e8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:11:55Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH202/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH202/thumbnail.png new file mode 100644 index 0000000..8974d7e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH202/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH202/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH202/view.json new file mode 100644 index 0000000..c1c6e9a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH202/view.json @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B304 STU LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*DH4/SATB1_DH4_STU_LLS*" + }, + "deviceName": "STU", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_STU_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/DH4_STU", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_STU_Rotation" + } + }, + "path": "Library/Templates/Graphics/LLS/Device LLS V1" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH203/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH203/resource.json new file mode 100644 index 0000000..986f33c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH203/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c48c9207f2056fcc610c180e8eb8a3412687acccc0c6fccddbdcfc1d7ebf6a40", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:11:55Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH203/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH203/thumbnail.png new file mode 100644 index 0000000..b80b8e8 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH203/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH203/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH203/view.json new file mode 100644 index 0000000..a7c26c2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Datahall/LLS_STU_DH203/view.json @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B305 STU LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*DH5/SATB1_DH5_STU_LLS*" + }, + "deviceName": "STU", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_STU_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/DH5_STU", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_STU_Rotation" + } + }, + "path": "Library/Templates/Graphics/LLS/Device LLS V1" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/AdHocTrends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/AdHocTrends/resource.json new file mode 100644 index 0000000..76d2b1d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/AdHocTrends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dd221bdc7cd1dbc1a7de0044253cf658820e1a5c5e419b3c1bb8bcf12892ef4c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:39:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/AdHocTrends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/AdHocTrends/thumbnail.png new file mode 100644 index 0000000..b4a8ef2 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/AdHocTrends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/AdHocTrends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/AdHocTrends/view.json new file mode 100644 index 0000000..7320802 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/AdHocTrends/view.json @@ -0,0 +1,6078 @@ +{ + "custom": { + "activeControl": "", + "configureDatabases": { + "sql:Ignition": false, + "sql_Ignition": false + }, + "custom_trends_ref": { + "current_config": { + "axes": [ + { + "color": "#757A7F", + "dataFormat": "0,0.##", + "label": { + "font": { + "color": "#757A7F", + "size": 10 + }, + "offset": 0, + "style": { + "classes": "" + }, + "text": "" + }, + "name": "Default", + "position": "left", + "range": { + "auto": true, + "max": "", + "min": "" + }, + "style": { + "classes": "" + }, + "tick": { + "color": "#757A7F", + "label": { + "font": { + "color": "#757A7F", + "size": 10 + }, + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + }, + "width": 60 + } + ], + "config": { + "dateFormat": "YYYY/MM/DD", + "endDate": {}, + "export": { + "dateFormat": "None", + "timeFormat": "x" + }, + "measureOfTime": "days", + "mode": "realtime", + "penNamePathDepth": 3, + "pointCount": 300, + "rangeEndDate": null, + "rangeSelectorPen": "", + "rangeStartDate": null, + "refreshRate": 1000, + "responsiveDesignWidth": 750, + "startDate": {}, + "tagBrowserStartPath": "histprov:Ignition_Hist", + "timeFormat": "h:mm A", + "unitOfTime": 1, + "visibility": { + "buttons": { + "showAnnotationButton": true, + "showFullscreenButton": true, + "showMoreButton": true, + "showPanZoomButton": true, + "showRangeBrushButton": true, + "showSettingsButton": true, + "showTagBrowserButton": true, + "showXTraceButton": true + }, + "showDateRangeSelector": true, + "showPenControlDisplay": true, + "showTagBrowser": true + } + }, + "dataColumns": { + "penControl": { + "average": true, + "axis": true, + "currentValue": true, + "maximum": true, + "minimum": true, + "plot": true, + "xTrace": true + }, + "rangeSelection": { + "average": true, + "delta": true, + "first": true, + "last": true, + "lcl": true, + "maximum": true, + "median": true, + "minimum": true, + "standardDeviation": true, + "sum": true, + "ucl": true + } + }, + "interaction": { + "annotation": { + "dot": { + "color": "#757A7F", + "opacity": 1, + "radius": 3, + "style": { + "classes": "" + }, + "visible": true + }, + "infoBox": { + "dateFormat": "YYYY/MM/DD", + "fill": { + "color": "#FAFAFB", + "opacity": 0.9 + }, + "font": { + "color": "", + "size": 11, + "style": { + "classes": "" + } + }, + "icon": { + "fill": { + "color": "#929597", + "opacity": 1 + }, + "stroke": { + "color": "#929597", + "dashArray": 0, + "opacity": 0, + "width": 0 + }, + "style": { + "classes": "" + } + }, + "showTime": true, + "stroke": { + "color": "#757A7F", + "dashArray": 0, + "opacity": 0.9, + "width": 1 + }, + "style": { + "classes": "" + }, + "timeFormat": "h:mm A", + "visible": true, + "width": "auto" + }, + "line": { + "color": "#757A7F", + "dashArray": 0, + "opacity": 0.9, + "style": { + "classes": "" + }, + "visible": true, + "width": 1 + } + }, + "chartZoomLevel": 1, + "fullscreen": false, + "mode": "panAndZoom", + "panAndZoom": { + "freeRange": false + }, + "rangeBrush": { + "active": { + "color": "#0C7BB3", + "opacity": 0.3, + "style": { + "classes": "" + } + }, + "inactive": { + "color": "#757A7F", + "opacity": 0.3, + "style": { + "classes": "" + } + }, + "values": [] + }, + "rangeZoomLevel": 1, + "xTrace": { + "infoBox": { + "dataFormat": "0,0.##", + "dateFormat": "YYYY/MM/DD", + "fill": { + "color": "#FAFAFB", + "opacity": 0.9 + }, + "font": { + "color": "", + "size": 11, + "style": { + "classes": "" + } + }, + "showTime": true, + "stroke": { + "color": "#757A7F", + "dashArray": 0, + "opacity": 0.9, + "width": 1 + }, + "style": { + "classes": "" + }, + "timeFormat": "h:mm A", + "visible": true, + "width": "auto" + }, + "line": { + "color": "#757A7F", + "dashArray": 0, + "opacity": 0.5, + "style": { + "classes": "" + }, + "visible": true, + "width": 1 + }, + "values": [ + 1.0013210702341138 + ] + } + }, + "legend": { + "visible": false + }, + "pens": [], + "plots": [ + { + "color": "var(--neutral-10)", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ], + "timeAxis": { + "color": "#737676", + "grid": { + "color": "", + "dashArray": 0, + "opacity": 0.9, + "style": { + "classes": "" + }, + "visible": false + }, + "height": 35, + "style": { + "classes": "" + }, + "tick": { + "color": "#757A7F", + "label": { + "angled": false, + "font": { + "color": "#757A7F", + "size": 10 + }, + "format": "Auto", + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + }, + "tickCount": "auto", + "visible": true + }, + "title": { + "font": { + "color": "", + "size": 12 + }, + "style": { + "classes": "" + }, + "text": "", + "visible": false + } + }, + "drv": "", + "histprov": "Ignition", + "rootTagPath": "" + }, + "databases": [], + "functionTitle": "", + "isAdmin": false, + "refreshRate": 1000, + "viewSaves": false + }, + "params": {}, + "propConfig": { + "custom.activeControl": { + "persistent": true + }, + "custom.configureDatabases": { + "binding": { + "config": { + "expression": "true" + }, + "enabled": false, + "transforms": [ + { + "code": "\t# resets this property when the view is opened\n\treturn {}", + "type": "script" + } + ], + "type": "expr" + }, + "persistent": true + }, + "custom.custom_trends_ref": { + "persistent": true + }, + "custom.databases": { + "binding": { + "config": { + "expression": "runScript(\u0027system.db.getConnections\u0027, 0)" + }, + "transforms": [ + { + "code": "\t# collect the database connection info, check for which ones are enabled for storing ad hoc trend configs\n\ttag_provider \u003d self.session.custom.trends.histprov\n\tbase_path \u003d self.session.custom.trends.rootTagPath\n\t\n\tdatabases \u003d []\n\tfor row in range(value.getRowCount()):\n\t\tif value.getValueAt(row,\u0027Name\u0027) \u003d\u003d self.session.custom.trends.histprov:\n\t\t\tdatabase \u003d {\u0027connector\u0027: \u0027sql\u0027}\n\t\t\tfor column in value.getColumnNames():\n\t\t\t\tdatabase[column] \u003d value.getValueAt(row, column)\n\t\t\tdatabases.append(database)\n\t\n\t# avoid an exception when mongodb module is not installed\n\tif \u0027mongodb\u0027 in system.getDict():\n\t\tfor row in system.mongodb.listConnectorInfo():\n\t\t\tdatabase \u003d row\n\t\t\tdatabase[\u0027connector\u0027] \u003d \u0027mongodb\u0027\n\t\t\tdatabase[\u0027DBType\u0027] \u003d \u0027MongoDB\u0027\n\t\t\t\n\t\t\t# for consistency with system.db.getConnections\n\t\t\tdatabase[\u0027Name\u0027] \u003d database.pop(\u0027name\u0027)\n\t\t\tdatabase[\u0027Status\u0027] \u003d database.pop(\u0027status\u0027)\n\t\t\t\n\t\t\tdatabases.append(database)\n\t\n\tfor database in databases:\n\t\ttry:\n\t\t\tdatabase[\u0027Enabled\u0027] \u003d database[\u0027Status\u0027] \u003d\u003d \u0027Valid\u0027 and self.rootContainer.databaseEnabled(database[\u0027Name\u0027], connector\u003ddatabase[\u0027connector\u0027])\n\t\texcept:\n\t\t\tdatabase[\u0027Enabled\u0027] \u003d False\n\t\n\t\n\treturn databases", + "type": "script" + } + ], + "type": "expr" + }, + "persistent": true + }, + "custom.functionTitle": { + "persistent": true + }, + "custom.isAdmin": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/roles/Administrator\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.refreshRate": { + "persistent": true + }, + "custom.viewSaves": { + "binding": { + "config": { + "expression": "false" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 951, + "width": 1385 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "props": { + "path": "material/trending_up" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "TitleSpacer" + }, + "position": { + "basis": "15px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AdHocTrends" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/HeaderTitle" + }, + "text": "Ad Hoc Trends" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FunctionTitle" + }, + "position": { + "basis": "15px", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.functionTitle" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "AdHocTrends/FunctionTitle" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Controls" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/ControlBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "HeaderSmall" + }, + "props": { + "direction": "column", + "style": { + "classes": "AdHocTrends/Header", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "props": { + "path": "material/trending_up" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "TitleSpacer" + }, + "position": { + "basis": "15px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AdHocTrends" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/HeaderTitle" + }, + "text": "Ad Hoc Trends" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FunctionTitle" + }, + "position": { + "basis": "15px", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.functionTitle" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "AdHocTrends/FunctionTitle", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FunctionTitleSpacer" + }, + "position": { + "basis": "5px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Configure Databases" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ConfigureDatabases" + }, + "position": { + "basis": "26px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/storage" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/FullRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "DbSpacer" + }, + "position": { + "basis": "8px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Load from Database" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)\n\tself.parent.parent.getChild(\"LoadFromDb\").getChild(\"Databases\").refreshBinding(\"props.options\")\n\tself.parent.parent.getChild(\"LoadFromDb\").getChild(\"Charts\").refreshBinding(\"props.options\")\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "LoadFromDb", + "tooltip": { + "enabled": true, + "location": "center-left", + "text": "Load from DB" + } + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/playlist_play" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/LeftRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "custom": { + "title": "Save to Database" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)\n\tself.parent.parent.getChild(\"SaveToDb\").getChild(\"Charts\").refreshBinding(\"props.options\")\n\tself.parent.parent.getChild(\"SaveToDb\").getChild(\"Databases\").refreshBinding(\"props.options\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SaveToDb", + "tooltip": { + "enabled": true, + "location": "center-left", + "text": "Save to DB" + } + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated\u0027)" + }, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/playlist_add" + }, + "width": 23 + }, + "primary": false, + "style": { + "borderBottomLeftRadius": 3, + "borderLeftWidth": "1px", + "borderTopLeftRadius": 3, + "classes": "AdHocTrends/Control AdHocTrends/RightRadius", + "overflow": "visible" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SaveFileSpacer" + }, + "position": { + "basis": "8px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated\u0027)" + }, + "enabled": false, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Load File" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "LoadFromFile", + "tooltip": { + "enabled": true, + "location": "center-left", + "text": "Load From File" + } + }, + "position": { + "basis": "25px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/folder_open" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/LeftRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "custom": { + "title": "Save File" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SaveToFile", + "tooltip": { + "enabled": true, + "location": "center-left", + "text": "Save To File" + } + }, + "position": { + "basis": "25px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/save" + }, + "width": 23 + }, + "primary": false, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/Control AdHocTrends/RightRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SetRefreshRateSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Set Real-Time Refresh Rate" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, \u0027root/MainTopControls/HeaderLarge/SetRefreshRate/Rate\u0027, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SetRefreshRate", + "tooltip": { + "enabled": true, + "location": "center-left", + "text": "Set Refresh Rate" + } + }, + "position": { + "basis": "25px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/access_time" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/LeftRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.togglePause()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Pause", + "tooltip": { + "enabled": true, + "location": "center-left", + "text": "Play / Pause" + } + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.image.icon.color": { + "binding": { + "config": { + "expression": "if({this.props.primary}, \u0027var(--neutral-20)\u0027, \u0027var(--neutral-70)\u0027)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "expression": "{...../Body/PowerChart.props.config.refreshRate} \u003d 0" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/pause_circle_outline" + }, + "width": 23 + }, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/Control AdHocTrends/RightRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SetTitleSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Set Title" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, \u0027root/MainTopControls/HeaderLarge/SetTitle/Title\u0027, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SetTitle", + "tooltip": { + "enabled": true, + "location": "center-left", + "text": "Set Title" + } + }, + "position": { + "basis": "26px", + "shrink": 0 + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/text_fields" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/FullRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "DbSpacer_0" + }, + "position": { + "basis": "8px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Configure Databases" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.custom.viewSaves \u003d not self.view.custom.viewSaves" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ViewSaves" + }, + "position": { + "basis": "26px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated\u0027)" + }, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/cloud_queue" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/FullRadius" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Controls" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/ControlBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onKeyPress": { + "config": { + "script": "\tself.view.rootContainer.setTitle(self.props.text)\n\tif event.key \u003d\u003d \u0027Enter\u0027:\n\t\tself.view.rootContainer.closeFunction()\n\t\t# clearing own text during key press will not work\n\t\t# must be cleared it after this event\n\t\timport threading\n\t\tdef resetText():\n\t\t\tself.props.text \u003d \u0027\u0027\n\t\tthreading.Timer(0.3, resetText).start()\n\t\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Title" + }, + "position": { + "basis": "350px" + }, + "props": { + "deferUpdates": false, + "placeholder": "Enter a new title or leave blank to clear...", + "rejectUpdatesWhileFocused": false + }, + "type": "ia.input.text-field" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.getSibling(\u0027Title\u0027).props.text \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tnewTitle \u003d self.getSibling(\u0027Title\u0027).props.text\n\tself.getSibling(\u0027Title\u0027).props.text \u003d \u0027\u0027\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.setTitle(newTitle)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "SetTitle" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onKeyDown": { + "config": { + "script": "\tif event.key \u003d\u003d \u0027Enter\u0027:\n\t\tself.view.rootContainer.closeFunction()\n\t\t# the value entered will not yet be availble\n\t\t# must trigger the new rate after this event is done\n\t\timport threading\n\t\tdef setNewRate():\n\t\t\tself.view.rootContainer.setRate(self.props.value)\n\t\tthreading.Timer(0.3, setNewRate).start()\n\t\t\n\t\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Rate" + }, + "position": { + "basis": "150px" + }, + "props": { + "align": "left", + "format": "0,0", + "inputBounds": { + "minimum": 0 + }, + "placeholder": "Enter a new rate for real-time mode...", + "value": 5000 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "shrink": 0 + }, + "props": { + "text": "(ms)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tnewRate \u003d self.getSibling(\u0027Rate\u0027).props.value\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.setRate(newRate)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "SetRefreshRate" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "OptionsSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.getSibling(\u0027Display\u0027).props.selected\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.saveToFile(includePlots, includeDisplay)\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "SaveToFile" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "OptionsSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "BrowseSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "configJson": "" + }, + "events": { + "component": { + "onFileReceived": { + "config": { + "script": "\tself.custom.configJson \u003d event.file.getString()\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "FileUpload" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "fileUploadIcon": { + "path": "material/folder_open", + "style": { + "cursor": "pointer" + } + }, + "maxUploads": 1, + "supportedFileTypes": [ + "JSON" + ] + }, + "type": "ia.input.fileupload" + }, + { + "meta": { + "name": "BrowseLabel" + }, + "position": { + "shrink": 0 + }, + "props": { + "text": "Browse (10 MB max)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.getSibling(\u0027FileUpload\u0027).custom.configJson \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.getSibling(\u0027Display\u0027).props.selected\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.loadFromFile(self.getSibling(\u0027FileUpload\u0027).custom.configJson, includePlots, includeDisplay)\n\tself.getSibling(\u0027FileUpload\u0027).custom.configJson \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Load" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Load" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "LoadFromFile" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "FullSpacer" + }, + "position": { + "basis": "0px", + "grow": 1, + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "256px" + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "\tdbList \u003d []\n\tfor db in value:\n\t\tif db[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\t\telif db[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, \u0027MongoDB\u0027, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\treturn dbList", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": "sql:Ignition" + }, + "type": "ia.input.dropdown" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.refreshBinding(\u0027custom.databases\u0027)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Refresh" + }, + "position": { + "basis": "26px", + "shrink": 0 + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/refresh" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "140px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "!isNull({../Databases.props.value})" + }, + "type": "expr" + } + }, + "props.label.text": { + "binding": { + "config": { + "expression": "if({this.props.selected}, \u0027Enabled\u0027, \u0027Disabled\u0027)" + }, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "struct": { + "databases": "{view.custom.databases}", + "selectedDatabase": "{../Databases.props.value}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn next((x.Enabled for x in self.view.custom.databases if \u0027%s:%s\u0027 %(x.connector, x.Name) \u003d\u003d value.selectedDatabase), False)", + "type": "script" + } + ], + "type": "expr-struct" + }, + "onChange": { + "enabled": null, + "script": "\tselectedDatabase \u003d self.getSibling(\u0027Databases\u0027).props.value\n\tif selectedDatabase:\n\t\tif currentValue:\n\t\t\tif currentValue.value:\n\t\t\t\tself.view.custom.configureDatabases[selectedDatabase] \u003d True\n\t\t\telse:\n\t\t\t\tself.view.custom.configureDatabases[selectedDatabase] \u003d False" + } + } + }, + "props": { + "color": { + "selected": "var(--success)", + "unselected": "var(--neutral-60)" + }, + "label": {} + }, + "type": "ia.input.toggle-switch" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.view.custom.configureDatabases \u003d {}\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.configureDatabases()\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ConfigureDatabases" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "OptionsSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DatabaseSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "256px", + "display": false + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "#\treturn [{\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: db.Name} for db in filter(lambda x: x[\u0027Enabled\u0027], value)]\n\t\n\toptions \u003d self.view.rootContainer.populateDatabaseDropdown(value, True)\n\tif len(options) \u003e 0:\n\t\tself.props.value \u003d options[0][\u0027value\u0027]\n\treturn options\t", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "expression": "try({this.props.options}[0][\u0027value\u0027],\u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": "sql:Ignition" + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "ChartSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Charts" + }, + "position": { + "basis": "256px" + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "../Databases.props.value" + }, + "transforms": [ + { + "code": "\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d value), False)\n\tif not dbInfo:\n\t\treturn []\n\tcharts \u003d self.view.rootContainer.getCharts(value)\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\treturn [{\u0027value\u0027: chart[\u0027id\u0027], \u0027label\u0027: chart[\u0027config_name\u0027]} for chart in charts]\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\treturn [{\u0027value\u0027: chart[\u0027_id\u0027], \u0027label\u0027: chart[\u0027configName\u0027]} for chart in charts]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a chart..." + }, + "search": { + "noResultsText": "No charts found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.getSibling(\u0027Display\u0027).props.selected\n\tdbName \u003d self.getSibling(\u0027Databases\u0027).props.value\n\tconfigId \u003d self.getSibling(\u0027Charts\u0027).props.value\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.loadFromDb(dbName, configId, includePlots, includeDisplay)\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Load" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Load" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "LoadFromDb" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "OptionsSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "PrivateSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Private" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{session.props.auth.authenticated}" + }, + "type": "expr" + } + } + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Store Privately", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DatabaseSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "256px", + "display": false + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "#\treturn [{\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: db.Name} for db in filter(lambda x: x[\u0027Enabled\u0027], value)]\n\t\n\toptions \u003d self.view.rootContainer.populateDatabaseDropdown(value, True)\n\tif len(options) \u003e 0:\n\t\tself.props.value \u003d options[0][\u0027value\u0027]\n\treturn options", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "expression": "try({this.props.options}[0][\u0027value\u0027],\u0027\u0027)" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": "sql:Ignition" + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Favorite" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{session.props.auth.authenticated}" + }, + "type": "expr" + } + } + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Set Favorite", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "ChartSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Charts" + }, + "position": { + "basis": "256px" + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "../Databases.props.value" + }, + "transforms": [ + { + "code": "\tself.props.value \u003d \u0027\u0027\n\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d value), False)\n\tif not dbInfo:\n\t\treturn []\n\tcharts \u003d self.view.rootContainer.getOwnCharts(value)\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\treturn [{\u0027value\u0027: chart[\u0027id\u0027], \u0027label\u0027: chart[\u0027config_name\u0027]} for chart in charts]\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\tfrom system.mongodb.types import ObjectId\n\t\treturn [{\u0027value\u0027: chart[\u0027_id\u0027], \u0027label\u0027: chart[\u0027configName\u0027]} for chart in charts]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "allowCustomOptions": true, + "placeholder": { + "text": "Select or create a chart..." + }, + "search": { + "noResultsText": "No charts found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + } + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "custom": { + "debug": false, + "debug2": "" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.getSibling(\u0027Display\u0027).props.selected\n\tprivate \u003d self.session.props.auth.authenticated and self.getSibling(\u0027Private\u0027).props.selected\n\tfavorite \u003d self.session.props.auth.authenticated and self.getSibling(\u0027Favorite\u0027).props.selected\n\tdbName \u003d self.getSibling(\u0027Databases\u0027).props.value\n\tconfigId \u003d self.getSibling(\u0027Charts\u0027).props.value\n\tnewChart \u003d not any(str(o[\u0027value\u0027]) \u003d\u003d str(configId) for o in self.getSibling(\u0027Charts\u0027).props.options)\n\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.saveToDb(dbName, configId, includePlots, includeDisplay, private, favorite, newChart)\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.getSibling(\u0027Charts\u0027).props.value \u003d None\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "SaveToDb" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "HeaderLarge" + }, + "position": { + "size": "large" + }, + "props": { + "direction": "column", + "style": { + "classes": "AdHocTrends/Header", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "MainTopControls" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.breakpoint": { + "binding": { + "config": { + "expression": "{../Body/PowerChart.props.config.responsiveDesignWidth}+2" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "maxHeight": "50px", + "zIndex": 1 + } + }, + "type": "ia.container.breakpt" + }, + { + "children": [ + { + "meta": { + "domId": "adhocTrends", + "name": "PowerChart", + "tooltip": { + "text": "tooltip" + } + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.axes": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.axes" + }, + "type": "property" + } + }, + "props.config.dateFormat": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.dateFormat" + }, + "type": "property" + } + }, + "props.config.endDate": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.endDate" + }, + "type": "property" + } + }, + "props.config.export": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.export" + }, + "type": "property" + } + }, + "props.config.measureOfTime": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.measureOfTime" + }, + "type": "property" + } + }, + "props.config.mode": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.mode" + }, + "type": "property" + } + }, + "props.config.penNamePathDepth": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.penNamePathDepth" + }, + "type": "property" + } + }, + "props.config.pointCount": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.pointCount" + }, + "type": "property" + } + }, + "props.config.rangeEndDate": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.rangeEndDate" + }, + "type": "property" + } + }, + "props.config.rangeSelectorPen": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.rangeSelectorPen" + }, + "type": "property" + } + }, + "props.config.rangeStartDate": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.rangeStartDate" + }, + "type": "property" + } + }, + "props.config.refreshRate": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.refreshRate" + }, + "type": "property" + } + }, + "props.config.responsiveDesignWidth": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.responsiveDesignWidth" + }, + "type": "property" + } + }, + "props.config.startDate": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.startDate" + }, + "type": "property" + } + }, + "props.config.tagBrowserStartPath": { + "binding": { + "config": { + "path": "session.custom.trends.current_config.config.tagBrowserStartPath" + }, + "transforms": [ + { + "code": "\timport time\n\ttime.sleep(0.2)\n\treturn value", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "props.config.timeFormat": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.timeFormat" + }, + "type": "property" + } + }, + "props.config.unitOfTime": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.unitOfTime" + }, + "type": "property" + } + }, + "props.config.visibility": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.config.visibility" + }, + "type": "property" + } + }, + "props.dataColumns": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.dataColumns" + }, + "type": "property" + } + }, + "props.interaction": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.interaction" + }, + "type": "property" + } + }, + "props.legend": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.legend" + }, + "type": "property" + } + }, + "props.pens": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.pens" + }, + "type": "property" + } + }, + "props.plots": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.plots" + }, + "type": "property" + } + }, + "props.timeAxis": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.timeAxis" + }, + "type": "property" + } + }, + "props.title": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.trends.current_config.title" + }, + "type": "property" + } + } + }, + "props": { + "config": { + "tagBrowserStartPath": "histprov:ignition_hist" + } + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "props": { + "text": "Saved Configs", + "textStyle": { + "fontSize": "0.8em", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttable \u003d self.parent.parent.getChild(\"Table\")\n\ttable.refreshBinding(\u0027props.data\u0027)\n\ttable.props.selection.selectedRow \u003d None\n\ttable.props.selection.selectedColumn \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Refresh" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/refresh", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.icon" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.custom.viewSaves \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Close" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "path": "material/arrow_forward", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "40px" + }, + "props": { + "alignItems": "center", + "style": { + "gap": "10px", + "overflow": "hidden", + "padding": "0 8px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "expression": "now(0)" + }, + "transforms": [ + { + "code": "\tisAdmin \u003d self.view.custom.isAdmin\n\tquery \u003d \"\"\"\n\tSELECT \n\t\tid, config_name, favorite, private, username, t_stamp\n\tFROM ad_hoc_trends_config\n\tWHERE username \u003d ?\n\t\tOR (username IS NULL and ? \u003d 1)\n\tORDER BY t_stamp DESC\n\t\"\"\"\n\treturn system.db.runPrepQuery(query, [self.session.props.auth.user.userName, isAdmin], database\u003d\u0027Ignition\u0027)", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.pager.bottom": { + "binding": { + "config": { + "expression": "len({this.props.data}) \u003e {this.props.pager.initialOption}" + }, + "type": "expr" + } + }, + "props.selection.selectedColumn": { + "binding": { + "config": { + "expression": "null" + }, + "type": "expr" + } + }, + "props.selection.selectedRow": { + "binding": { + "config": { + "expression": "null" + }, + "type": "expr" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "id", + "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": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "config_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": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "favorite", + "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": "Favorite" + }, + "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": "private", + "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": "Private" + }, + "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": "username", + "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": "Username" + }, + "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 HH:mm:ss", + "editable": false, + "field": "t_stamp", + "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": "TStamp" + }, + "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": "date", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + } + ], + "pager": {}, + "selection": {}, + "style": { + "margin": "0 8px" + } + }, + "type": "ia.display.table" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\ttable \u003d self.parent.parent.getChild(\"Table\")\n\tconfigId \u003d table.props.selection.data[0].id\n\tquery \u003d \"\"\"\n\tDELETE FROM ad_hoc_trends_config\n\tWHERE id \u003d ?\n\t\"\"\"\n\targs \u003d [configId]\n\tsystem.db.runPrepUpdate(query, args, database\u003d\u0027Ignition\u0027)\n\ttable.refreshBinding(\u0027props.data\u0027)\n\tself.props.value \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Delete" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "len({.../Table.props.selection.data}) \u003e 0\r\n\u0026\u0026 {session.props.auth.authenticated}" + }, + "type": "expr" + } + } + }, + "props": { + "confirm": { + "enabled": true + }, + "primary": false, + "readyState": { + "icon": { + "style": { + "height": "24px", + "width": "2rem" + } + }, + "text": "Delete Selected Config" + }, + "style": { + "padding": "0 10px" + }, + "writingState": { + "icon": { + "style": { + "height": "24px", + "width": "2rem" + } + }, + "text": "Delete Selected Config" + } + }, + "type": "ia.input.oneshotbutton" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "35px", + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "margin": "8px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "0px", + "shrink": 0 + }, + "propConfig": { + "props.style.flex-basis": { + "binding": { + "config": { + "expression": "if(!{view.custom.viewSaves}, 0, 520)" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "border-bottom": "1px solid var(--border)", + "border-left": "none", + "border-right": "1px solid var(--border)", + "border-top": "1px solid var(--border)", + "overflow": "hidden", + "transition": "all 0.2s ease-in-out" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Body", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "500px", + "grow": 1 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onKeyPress": { + "config": { + "script": "\tself.view.rootContainer.setTitle(self.props.text)\n\tif event.key \u003d\u003d \u0027Enter\u0027:\n\t\tself.view.rootContainer.closeFunction()\n\t\t# clearing own text during key press will not work\n\t\t# must be cleared it after this event\n\t\timport threading\n\t\tdef resetText():\n\t\t\tself.props.text \u003d \u0027\u0027\n\t\tthreading.Timer(0.3, resetText).start()\n\t\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Title" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "deferUpdates": false, + "placeholder": "Enter a new title or leave blank to clear...", + "rejectUpdatesWhileFocused": false + }, + "type": "ia.input.text-field" + }, + { + "meta": { + "name": "SaveSpacer" + }, + "position": { + "basis": "8px", + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.parent.getSibling(\u0027Title\u0027).props.text \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tnewTitle \u003d self.parent.getSibling(\u0027Title\u0027).props.text\n\tself.parent.getSibling(\u0027Title\u0027).props.text \u003d \u0027\u0027\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.setTitle(newTitle)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Save", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelSave" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "SetTitle" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onKeyDown": { + "config": { + "script": "\tif event.key \u003d\u003d \u0027Enter\u0027:\n\t\tself.view.rootContainer.closeFunction()\n\t\t# the value entered will not yet be availble\n\t\t# must trigger the new rate after this event is done\n\t\timport threading\n\t\tdef setNewRate():\n\t\t\tself.view.rootContainer.setRate(self.props.value)\n\t\tthreading.Timer(0.3, setNewRate).start()\n\t\t\n\t\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Rate" + }, + "position": { + "basis": "60px", + "grow": 1 + }, + "props": { + "align": "left", + "format": "0,0", + "inputBounds": { + "minimum": 0 + }, + "placeholder": "Enter a new rate for real-time mode...", + "style": { + "height": "60px" + }, + "value": 5000 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "(ms)" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "RateInput" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tnewRate \u003d self.parent.parent.getChild(\u0027RateInput/Rate\u0027).props.value\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.setRate(newRate)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Save", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelSave" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "SetRefreshRate" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.parent.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.parent.getSibling(\u0027Display\u0027).props.selected\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.saveToFile(includePlots, includeDisplay)\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Save", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelSave" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "SaveToFile" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "children": [ + { + "custom": { + "configJson": "" + }, + "events": { + "component": { + "onFileReceived": { + "config": { + "script": "\tself.custom.configJson \u003d event.file.getString()\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "FileUpload" + }, + "position": { + "basis": "60px", + "grow": 1 + }, + "props": { + "fileUploadIcon": { + "path": "material/folder_open", + "style": { + "cursor": "pointer" + } + }, + "maxUploads": 1, + "supportedFileTypes": [ + "JSON" + ] + }, + "type": "ia.input.fileupload" + }, + { + "meta": { + "name": "BrowseLabel" + }, + "position": { + "shrink": 0 + }, + "props": { + "text": "Browse (10 MB max)" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Browse" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "SaveSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.parent.parent.getChild(\u0027Browse/FileUpload\u0027).custom.configJson \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.parent.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.parent.getSibling(\u0027Display\u0027).props.selected\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.loadFromFile(self.parent.parent.getChild(\u0027Browse/FileUpload\u0027).custom.configJson, includePlots, includeDisplay)\n\tself.parent.parent.getChild(\u0027Browse/FileUpload\u0027).custom.configJson \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Load" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Load", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelLoad" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "LoadFromFile" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "60px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "\tdbList \u003d []\n\tfor db in value:\n\t\tif db[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\t\telif db[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, \u0027MongoDB\u0027, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\treturn dbList", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "enabled": false, + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.refreshBinding(\u0027custom.databases\u0027)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Refresh" + }, + "position": { + "basis": "60px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/refresh" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "DbRefresh" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "!isNull({../DbRefresh/Databases.props.value})" + }, + "type": "expr" + } + }, + "props.label.text": { + "binding": { + "config": { + "expression": "if({this.props.selected}, \u0027Enabled\u0027, \u0027Disabled\u0027)" + }, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "struct": { + "databases": "{view.custom.databases}", + "selectedDatabase": "{../DbRefresh/Databases.props.value}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn next((x.Enabled for x in self.view.custom.databases if \u0027%s:%s\u0027 %(x.connector, x.Name) \u003d\u003d value.selectedDatabase), False)", + "type": "script" + } + ], + "type": "expr-struct" + }, + "onChange": { + "enabled": null, + "script": "\tselectedDatabase \u003d self.parent.getChild(\u0027DbRefresh/Databases\u0027).props.value\n\tif selectedDatabase:\n\t\tif currentValue:\n\t\t\tif currentValue.value:\n\t\t\t\tself.view.custom.configureDatabases[selectedDatabase] \u003d True\n\t\t\telse:\n\t\t\t\tself.view.custom.configureDatabases[selectedDatabase] \u003d False" + } + } + }, + "props": { + "color": { + "selected": "var(--success)", + "unselected": "var(--neutral-60)" + }, + "label": {} + }, + "type": "ia.input.toggle-switch" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.view.custom.configureDatabases \u003d {}\n\tself.parent.parent.getChild(\u0027DbRefresh/Databases\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.configureDatabases()\n\tself.parent.parent.getChild(\u0027DbRefresh/Databases\u0027).props.value \u003d None\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Save", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelSave" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "ConfigureDatabases" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "enabled": false, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "60px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "#\treturn [{\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: db.Name} for db in filter(lambda x: x[\u0027Enabled\u0027], value)]\n\treturn self.view.rootContainer.populateDatabaseDropdown(value, True)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "expression": "coalesce({this.props.options[0].value},\u0027\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "enabled": false, + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + } + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "ChartSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "key": "value" + }, + "meta": { + "name": "Charts" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "../Databases.props.value" + }, + "transforms": [ + { + "code": "\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d value), False)\n\tif not dbInfo:\n\t\treturn []\n\tcharts \u003d self.view.rootContainer.getCharts(value)\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\treturn [{\u0027value\u0027: chart[\u0027id\u0027], \u0027label\u0027: chart[\u0027config_name\u0027]} for chart in charts]\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\treturn [{\u0027value\u0027: chart[\u0027_id\u0027], \u0027label\u0027: chart[\u0027configName\u0027]} for chart in charts]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a chart..." + }, + "search": { + "noResultsText": "No charts found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "SaveSpacer" + }, + "position": { + "basis": "8px", + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.parent.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.parent.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.parent.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.parent.getSibling(\u0027Display\u0027).props.selected\n\tdbName \u003d self.parent.getSibling(\u0027Databases\u0027).props.value\n\tconfigId \u003d self.parent.getSibling(\u0027Charts\u0027).props.value\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.loadFromDb(dbName, configId, includePlots, includeDisplay)\n\tself.parent.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.parent.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Load" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Load", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelLoad" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "LoadFromDb" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Private" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{session.props.auth.authenticated}" + }, + "type": "expr" + } + } + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "text": "Store Privately", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Favorite" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{session.props.auth.authenticated}" + }, + "type": "expr" + } + } + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "text": "Set Favorite", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "60px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "#\treturn [{\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: db.Name} for db in filter(lambda x: x[\u0027Enabled\u0027], value)]\n\treturn self.view.rootContainer.populateDatabaseDropdown(value, True)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "expression": "coalesce({this.props.options[0].value},\u0027\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "enabled": false, + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + } + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "ChartSpacer" + }, + "position": { + "basis": "8px", + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "custom": { + "key": "value" + }, + "meta": { + "name": "Charts" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "../Databases.props.value" + }, + "transforms": [ + { + "code": "\tself.props.value \u003d \u0027\u0027\n\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d value), False)\n\tif not dbInfo:\n\t\treturn []\n\tcharts \u003d self.view.rootContainer.getOwnCharts(value)\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\treturn [{\u0027value\u0027: chart[\u0027id\u0027], \u0027label\u0027: chart[\u0027config_name\u0027]} for chart in charts]\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\tfrom system.mongodb.types import ObjectId\n\t\treturn [{\u0027value\u0027: chart[\u0027_id\u0027], \u0027label\u0027: chart[\u0027configName\u0027]} for chart in charts]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "allowCustomOptions": true, + "placeholder": { + "text": "Select or create a chart..." + }, + "search": { + "noResultsText": "No charts found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + } + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px", + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.parent.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.parent.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.parent.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.parent.getSibling(\u0027Display\u0027).props.selected\n\tprivate \u003d self.session.props.auth.authenticated and self.parent.getSibling(\u0027Private\u0027).props.selected\n\tfavorite \u003d self.session.props.auth.authenticated and self.parent.getSibling(\u0027Favorite\u0027).props.selected\n\tdbName \u003d self.parent.getSibling(\u0027Databases\u0027).props.value\n\tconfigId \u003d self.parent.getSibling(\u0027Charts\u0027).props.value\n\tnewChart \u003d not any(str(o[\u0027value\u0027]) \u003d\u003d str(configId) for o in self.parent.getSibling(\u0027Charts\u0027).props.options)\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.saveToDb(dbName, configId, includePlots, includeDisplay, private, favorite, newChart)\n\tself.parent.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.parent.getSibling(\u0027Charts\u0027).props.value \u003d None\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Save", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelSave" + }, + "position": { + "basis": "60px" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "SaveToDb" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "title": "Configure Databases" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ConfigureDatabases" + }, + "position": { + "basis": "36px", + "display": false + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/storage" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/FullRadiusMobile AdHocTrends/MobileControl" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "DatabaseSpacer" + }, + "position": { + "basis": "8px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Load from Database" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)\n\tself.parent.parent.getChild(\"LoadFromDb\").getChild(\"Charts\").refreshBinding(\"props.options\")\n\tself.parent.parent.getChild(\"LoadFromDb\").getChild(\"Databases\").refreshBinding(\"props.options\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "LoadFromDb" + }, + "position": { + "basis": "35px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/playlist_play" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/LeftRadiusMobile AdHocTrends/MobileControl" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "custom": { + "title": "Save to Database" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)\n\tself.parent.parent.getChild(\"SaveToDb\").getChild(\"Charts\").refreshBinding(\"props.options\")\n\tself.parent.parent.getChild(\"SaveToDb\").getChild(\"Databases\").refreshBinding(\"props.options\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SaveToDb" + }, + "position": { + "basis": "35px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/playlist_add" + }, + "width": 23 + }, + "primary": false, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/MobileControl AdHocTrends/RightRadiusMobile" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SaveFileSpacer" + }, + "position": { + "basis": "8px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Load File" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "LoadFromFile" + }, + "position": { + "basis": "35px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/folder_open" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/LeftRadiusMobile AdHocTrends/MobileControl" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "custom": { + "title": "Save File" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SaveToFile" + }, + "position": { + "basis": "35px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/save" + }, + "width": 23 + }, + "primary": false, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/MobileControl AdHocTrends/RightRadiusMobile" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SetRefreshRateSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Set Real-Time Refresh Rate" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, \u0027root/MobileBottomControls/FooterSmall/SetRefreshRate/RateInput/Rate\u0027, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SetRefreshRate" + }, + "position": { + "basis": "35px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/access_time" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/LeftRadiusMobile AdHocTrends/MobileControl" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.togglePause()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Pause" + }, + "position": { + "basis": "35px" + }, + "propConfig": { + "props.image.icon.color": { + "binding": { + "config": { + "expression": "if({this.props.primary}, \u0027var(--neutral-20)\u0027, \u0027var(--neutral-70)\u0027)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "expression": "{...../Body/PowerChart.props.config.refreshRate} \u003d 0" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/pause_circle_outline" + }, + "width": 23 + }, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/MobileControl AdHocTrends/RightRadiusMobile" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SetTitleSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Set Title" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, \u0027root/MobileBottomControls/FooterSmall/SetTitle/Title\u0027, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SetTitle" + }, + "position": { + "basis": "36px", + "shrink": 0 + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/text_fields" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/FullRadiusMobile AdHocTrends/MobileControl" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Controls" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "classes": "AdHocTrends/MobileControlBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FooterSmall" + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/Header", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "MobileBottomControls" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.breakpoint": { + "binding": { + "config": { + "expression": "{../Body/PowerChart.props.config.responsiveDesignWidth}+2" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "maxHeight": "50px", + "zIndex": 1 + } + }, + "type": "ia.container.breakpt" + }, + { + "meta": { + "name": "Debug" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{session.custom.site}" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "scripts": { + "customMethods": [ + { + "name": "toggleFunction", + "params": [ + "name", + "focusElement", + "title" + ], + "script": "\t# toggle just forwards to the open/close methods based on what\u0027s currently selected\n\t# visibility of each feature is based on the name that is stored in the activeControl property\n\tif self.view.custom.activeControl \u003d\u003d name:\n\t\tself.view.rootContainer.closeFunction()\n\telse:\n\t\tself.view.rootContainer.openFunction(name, focusElement, title)\n\t\t" + }, + { + "name": "closeFunction", + "params": [], + "script": "\tself.view.custom.activeControl \u003d None\n\tself.view.custom.functionTitle \u003d \u0027\u0027" + }, + { + "name": "openFunction", + "params": [ + "name", + "focusElement", + "title" + ], + "script": "\tself.view.custom.activeControl \u003d name\n\tself.view.custom.functionTitle \u003d title\n\t\n\t# special case for auto focusing specific elements when opened\n\t# currently used for title and rate \n\t# a delay was necessary in order to allow the input component to become visible first, before focusing\n\tif focusElement:\n\t\timport threading\n\t\tdef focusWorker():\n\t\t\tself.view.getChild(focusElement).focus()\n\t\tthreading.Timer(0.3, focusWorker).start()" + }, + { + "name": "setTitle", + "params": [ + "title" + ], + "script": "\t# sets or hides the title of the chart\n\t# if you simply set it to empty,\n\t# it still includes some extra whitespace where the title would be\n\tif title:\n\t\tself.view.getChild(\u0027root/Body/PowerChart\u0027).props.title.text \u003d title\n\t\tself.view.getChild(\u0027root/Body/PowerChart\u0027).props.title.visible \u003d True\n\telse:\n\t\tself.view.getChild(\u0027root/Body/PowerChart\u0027).props.title.text \u003d \u0027\u0027\n\t\tself.view.getChild(\u0027root/Body/PowerChart\u0027).props.title.visible \u003d False" + }, + { + "name": "setRate", + "params": [ + "rate" + ], + "script": "\tself.view.getChild(\u0027root/Body/PowerChart\u0027).props.config.refreshRate \u003d rate" + }, + { + "name": "saveToFile", + "params": [ + "includePlots", + "includeDisplay" + ], + "script": "\tconfig \u003d self.view.rootContainer.getConfigJson(includePlots, includeDisplay)\n\tsystem.perspective.download(\u0027chartsettings.json\u0027, config)\n" + }, + { + "name": "loadFromFile", + "params": [ + "config", + "includePlots", + "includeDisplay" + ], + "script": "\t# save files are split into two sections -\n\t# the configured plots (pens/axes/plots) and the overall display settings (legends/columns)\n\n\tif config:\n\t\tif isinstance(config, str) or isinstance(config, unicode):\n\t\t\tconfig \u003d system.util.jsonDecode(config.decode(\u0027utf-8\u0027))\n\t\tconfig \u003d self.view.rootContainer.propertyTreeRestoreDate(config)\n\t\t\n\t\tpowerChart \u003d self.view.getChild(\u0027root/Body/PowerChart\u0027)\n\t\tif includePlots:\n\t\t\tif \u0027config\u0027 in config:\n\t\t\t\tpowerChart.props.config \u003d config[\u0027config\u0027]\n\t\t\t\t\n\t\t\tif \u0027axes\u0027 in config:\n\t\t\t\tpowerChart.props.axes \u003d config[\u0027axes\u0027]\n\t\t\tif \u0027pens\u0027 in config:\n\t\t\t\tpowerChart.props.pens \u003d config[\u0027pens\u0027]\n\t\t\tif \u0027plots\u0027 in config:\n\t\t\t\tpowerChart.props.plots \u003d config[\u0027plots\u0027]\n\t\t\tif \u0027title\u0027 in config:\n\t\t\t\tpowerChart.props.title \u003d config[\u0027title\u0027]\n\t\t\t\n\t\tif includeDisplay:\n\t\t\tif \u0027timeAxis\u0027 in config:\n\t\t\t\tpowerChart.props.timeAxis \u003d config[\u0027timeAxis\u0027]\n\t\t\tif \u0027interaction\u0027 in config:\n\t\t\t\t# range brushes are not currently writable through the property tree\n\t\t\t\tconfig[\u0027interaction\u0027][\u0027rangeBrush\u0027][\u0027values\u0027] \u003d []\n\t\t\t\tpowerChart.props.interaction \u003d config[\u0027interaction\u0027]\n\t\t\tif \u0027dataColumns\u0027 in config:\n\t\t\t\tpowerChart.props.dataColumns \u003d config[\u0027dataColumns\u0027]\n\t\t\tif \u0027legend\u0027 in config:\n\t\t\t\tpowerChart.props.legend \u003d config[\u0027legend\u0027]\n" + }, + { + "name": "togglePause", + "params": [], + "script": "\t# this will store the current refresh rate before setting it to 0 so it can be unpaused later\n\tpowerChart \u003d self.view.getChild(\u0027root/Body/PowerChart\u0027)\n\tif powerChart.props.config.refreshRate \u003d\u003d 0:\n\t\tself.view.rootContainer.setRate(self.view.custom.refreshRate)\n\telse:\n\t\tself.view.custom.refreshRate \u003d powerChart.props.config.refreshRate\n\t\tself.view.rootContainer.setRate(0)" + }, + { + "name": "configureDatabases", + "params": [], + "script": "\t# current functionality allows an admin to toggle the available databases\n\t# the list of databases to enable/disable is store in a property until the admin selects \u0027Save\u0027\n\t# based on that list, this function will attempt to enable/disable each one\n\t# enable means there is a matching configs table and the first row has private\u003d0\n\t# disabled means the first row has private\u003d1, or there is no matching configs table \n\t# for enable: this will check for valid connection, create configs table if necessary, or update the existing matching table with private\u003d0\n\t# for disable: this will check for valid connection, update the existing matching table with private\u003d1\n\t# after doing this, we send out a message to open sessions to update their db listing, so they don\u0027t have to manually refresh anything\n\t\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\tfor dbDetailedName in self.view.custom.configureDatabases:\n\t\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d dbDetailedName), False)\n\t\tif not dbInfo:\n\t\t\tlogger.error(\u0027Unable to create configuration table for database \"%s\" because it was not found in database list (view.custom.databases).\u0027 %dbDetailedName)\n\t\t\tcontinue\n\t\t\n\t\tif dbInfo[\u0027Status\u0027] !\u003d \"Valid\":\n\t\t\tlogger.error(\u0027Unable to create configuration table for database \"%s\" because database does not have a valid connection.\u0027 %dbDetailedName)\n\t\t\tcontinue\n\t\t\n\t\tdbEnable \u003d self.view.custom.configureDatabases[dbDetailedName]\n\t\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\t\tdbType \u003d dbInfo[\u0027DBType\u0027]\n\t\t\tdbName \u003d dbInfo[\u0027Name\u0027]\n\t\t\t\n\t\t\ttableExistsQuery \u003d self.view.rootContainer.getTableExistsQuery(dbType)\n\t\t\ttableFormatMatchesQuery \u003d self.view.rootContainer.getTableFormatMatchesQuery(dbType, dbName)\n\t\t\tcreateTableQuery \u003d self.view.rootContainer.getCreateTableQuery(dbType)\n\t\t\tmakeDatabasePrivateQuery \u003d self.view.rootContainer.getMakeDatabasePrivateQuery(dbType)\n\t\t\t\n\t\t\tif not tableExistsQuery or not tableFormatMatchesQuery or not createTableQuery or not makeDatabasePrivateQuery:\n\t\t\t\tlogger.error(\u0027Unable to create configuration table for sql database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbInfo[\u0027Name\u0027], dbType))\n\t\t\t\tcontinue\n\t\t\t\n\t\t\ttableExists \u003d system.db.runScalarPrepQuery(tableExistsQuery, None, dbInfo[\u0027Name\u0027])\n\t\t\t\n\t\t\tif dbEnable:\n\t\t\t\tif tableExists:\n\t\t\t\t\ttableFormatMatches \u003d system.db.runScalarPrepQuery(tableFormatMatchesQuery, None, dbInfo[\u0027Name\u0027])\n\t\t\t\t\tif tableFormatMatches:\n\t\t\t\t\t\tsystem.db.runPrepUpdate(makeDatabasePrivateQuery, [False, False], dbInfo[\u0027Name\u0027])\n\t\t\t\t\t\tlogger.info(\u0027Enabled sql database \"%s\"\u0027 %dbInfo[\u0027Name\u0027])\n\t\t\t\t\telse:\n\t\t\t\t\t\tlogger.error(\u0027Unable to create configuration table for sql database \"%s\" because configuration table but does not match expected format [id,user,public,config, config_name,timestamp].\u0027 %dbInfo[\u0027Name\u0027])\n\t\t\t\telse:\n\t\t\t\t\tsystem.db.runPrepUpdate(createTableQuery, None, dbInfo[\u0027Name\u0027])\n\t\t\t\t\tlogger.info(\u0027Created configuration table for sql database \"%s\"\u0027 %dbInfo[\u0027Name\u0027])\n\t\t\t\t\tsystem.db.runPrepUpdate(makeDatabasePrivateQuery, [False, False], dbInfo[\u0027Name\u0027])\n\t\t\t\t\tlogger.info(\u0027Enabled sql database \"%s\"\u0027 %dbInfo[\u0027Name\u0027])\n\t\t\telse:\n\t\t\t\tif tableExists:\n\t\t\t\t\ttableFormatMatches \u003d system.db.runScalarPrepQuery(tableFormatMatchesQuery, None, dbInfo[\u0027Name\u0027])\n\t\t\t\t\tif tableFormatMatches:\n\t\t\t\t\t\tsystem.db.runPrepUpdate(makeDatabasePrivateQuery, [True, True], dbInfo[\u0027Name\u0027])\n\t\t\t\t\t\tlogger.info(\u0027Disabled sql database \"%s\"\u0027 %dbInfo[\u0027Name\u0027])\n\t\t\t\t\telse:\n\t\t\t\t\t\tlogger.error(\u0027Unable to create configuration table for sql database \"%s\" because configuration table but does not match expected format [id,user,public,config, config_name,timestamp].\u0027 %dbInfo[\u0027Name\u0027])\n\t\t\t\telse:\n\t\t\t\t\t# ad hoc trends config table does not exist, so there is no change needed\n\t\t\t\t\tpass\n\t\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\t\t# collection exists\n\t\t\t# upsert\n\t\t\tif dbEnable:\n\t\t\t\tsystem.mongodb.updateOne(dbInfo[\u0027Name\u0027], \u0027ad_hoc_trends_config\u0027, {\u0027_id\u0027: \u0027config\u0027}, {\u0027$set\u0027: {\u0027Enabled\u0027: True}}, {\u0027upsert\u0027: True})\n\t\t\telse:\n\t\t\t\tsystem.mongodb.updateOne(dbInfo[\u0027Name\u0027], \u0027ad_hoc_trends_config\u0027, {\u0027_id\u0027: \u0027config\u0027}, {\u0027$set\u0027: {\u0027Enabled\u0027: False}}, {\u0027upsert\u0027: True})\n\t\t\t\n\n\tfor session in filter(lambda x: x.sessionScope !\u003d \u0027designer\u0027, system.perspective.getSessionInfo()):\n\t\tsystem.perspective.sendMessage(\u0027ad_hoc_trends_databaseReconfigured\u0027, {}, \u0027session\u0027, session.id)" + }, + { + "name": "databaseEnabled", + "params": [ + "dbName", + "connector" + ], + "script": "\t# enable means there is a matching configs table and the first row has private\u003d0\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\tsystem.perspective.print(repr([\u0027dbName\u0027, dbName, \u0027connector\u0027, connector]))\n\tif connector \u003d\u003d \u0027sql\u0027:\n\t\tdbInfo \u003d system.db.getConnectionInfo(dbName)\n\t\tif not dbInfo:\n\t\t\tlogger.error(\u0027Unable to check if database \"%s\" is enabled because it was not found in database connection list (system.db.getConnectionInfo).\u0027 %dbName)\n\t\t\treturn False\n\t\n\t\tdbType \u003d dbInfo.getValueAt(0, \u0027DBType\u0027)\n\t\t\n\t\ttableExistsQuery \u003d self.view.rootContainer.getTableExistsQuery(dbType)\n\t\ttableFormatMatchesQuery \u003d self.view.rootContainer.getTableFormatMatchesQuery(dbType, dbName)\n\t\tdatabaseEnabledQuery \u003d self.view.rootContainer.getDatabaseEnabledQuery(dbType)\n\t\t\n\t\tif not tableExistsQuery or not tableFormatMatchesQuery or not databaseEnabledQuery:\n\t\t\tlogger.debug(\u0027Unable to check if database \"%s\" is enabled because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\t\tsystem.perspective.print(\u0027False\u0027)\n\t\t\treturn False\n\t\n\t\tcheck1 \u003d bool(system.db.runScalarPrepQuery(tableExistsQuery, None, dbName))\n\t\tcheck2 \u003d bool(system.db.runScalarPrepQuery(tableFormatMatchesQuery, None, dbName))\n\t\tcheck3 \u003d bool(system.db.runScalarPrepQuery(databaseEnabledQuery, None, dbName))\n\t\tsystem.perspective.print(\"check1: {}, check2: {}, check3: {}\".format(check1, check2, check3))\n\t\treturn check1 and \\\n\t\t\t\tcheck2 and \\\n\t\t\t\tcheck3\n\t\t\n#\t\treturn bool(system.db.runScalarPrepQuery(tableExistsQuery, None, dbName)) and \\\n#\t\t\tbool(system.db.runScalarPrepQuery(tableFormatMatchesQuery, None, dbName)) and \\\n#\t\t\tbool(system.db.runScalarPrepQuery(databaseEnabledQuery, None, dbName))\n\t\t\t\n\telif connector \u003d\u003d \u0027mongodb\u0027:\n\t\tcollections \u003d system.mongodb.listCollectionNames(dbName)\n\t\t\n\t\tif \u0027ad_hoc_trends_config\u0027 in collections:\n\t\t\tdoc \u003d system.mongodb.findOne(dbName, \u0027ad_hoc_trends_config\u0027, {\u0027_id\u0027: \u0027config\u0027})\n\t\t\tif doc and doc[\u0027Enabled\u0027]:\n\t\t\t\treturn True\n\t\t\n\t\treturn False" + }, + { + "name": "getCharts", + "params": [ + "dbName" + ], + "script": "\t# get any chart created by this user or any chart made available publicly (null user or private\u003d0)\n\tif not dbName:\n\t\treturn system.dataset.toPyDataSet(system.dataset.toDataSet([\u0027id\u0027, \u0027username\u0027, \u0027config_name\u0027, \u0027private\u0027, \u0027config\u0027, \u0027t_stamp\u0027], []))\n\t\n\tusername \u003d self.session.props.auth.user.userName\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d dbName), False)\n\tif not dbInfo:\n\t\tlogger.error(\u0027Unable to load charts of database \"%s\" because it was not found in database list (view.custom.databases).\u0027 %dbName)\n\t\treturn\n\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\tdbType \u003d dbInfo[\u0027DBType\u0027]\n\t\t\n\t\tavailableChartsQuery \u003d self.view.rootContainer.getAvailableChartsQuery(dbType)\n\t\t\n\t\tif not availableChartsQuery:\n\t\t\tlogger.debug(\u0027Unable to load charts of database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\t\treturn system.dataset.toPyDataSet(system.dataset.toDataSet([\u0027id\u0027, \u0027username\u0027, \u0027config_name\u0027, \u0027private\u0027, \u0027config\u0027, \u0027t_stamp\u0027], []))\n\t\t\n\t\treturn system.db.runPrepQuery(availableChartsQuery, [username], dbInfo[\u0027Name\u0027])\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\treturn system.mongodb.find(dbInfo[\u0027Name\u0027], \u0027ad_hoc_trends_config\u0027, {\n\t\t\t\u0027$and\u0027: [\n\t\t\t\t{\u0027$or\u0027: [{\u0027username\u0027: username}, {\u0027username\u0027: None}, {\u0027private\u0027: False}]},\n\t\t\t\t{\u0027_id\u0027: {\u0027$ne\u0027: \u0027config\u0027}}]\n\t\t})\n" + }, + { + "name": "getOwnCharts", + "params": [ + "dbName" + ], + "script": "\t# only returns the list of charts created by this user, or ones created globally (null user)\n\t# used for the saving feature, so that you don\u0027t edit someone else\u0027s charts\n\tif not dbName:\n\t\treturn system.dataset.toPyDataSet(system.dataset.toDataSet([\u0027id\u0027, \u0027username\u0027, \u0027config_name\u0027, \u0027private\u0027, \u0027config\u0027, \u0027t_stamp\u0027], []))\n\t\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d dbName), False)\n\tif not dbInfo:\n\t\tlogger.error(\u0027Unable to load charts of database \"%s\" because it was not found in database list (view.custom.databases).\u0027 %dbName)\n\t\treturn\n\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\tdbType \u003d dbInfo[\u0027DBType\u0027]\n\t\t\n\t\townChartsQuery \u003d self.view.rootContainer.getOwnChartsQuery(dbType)\n\t\t\n\t\tif not ownChartsQuery:\n\t\t\tlogger.debug(\u0027Unable to load charts of database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\t\treturn system.dataset.toPyDataSet(system.dataset.toDataSet([\u0027id\u0027, \u0027username\u0027, \u0027config_name\u0027, \u0027private\u0027, \u0027config\u0027, \u0027t_stamp\u0027], []))\n\t\t\n\t\treturn system.db.runPrepQuery(ownChartsQuery, [self.session.props.auth.user.userName], dbInfo[\u0027Name\u0027])\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\treturn\tsystem.mongodb.find(dbInfo[\u0027Name\u0027], \u0027ad_hoc_trends_config\u0027, {\n\t\t\t\u0027$and\u0027: [\n\t\t\t\t{\u0027$or\u0027: [{\u0027username\u0027: self.session.props.auth.user.userName}, {\u0027username\u0027: None}]},\n\t\t\t\t{\u0027_id\u0027: {\u0027$ne\u0027: \u0027config\u0027}}]\n\t\t})\n" + }, + { + "name": "loadFromDb", + "params": [ + "dbName", + "configId", + "includePlots", + "includeDisplay" + ], + "script": "\tif not dbName or not configId:\n\t\treturn\n\t\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d dbName), False)\n\tif not dbInfo:\n\t\tlogger.error(\u0027Unable to load chart configuration from database \"%s\" because it was not found in database list (view.custom.databases).\u0027 %dbName)\n\t\treturn\n\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\tdbType \u003d dbInfo[\u0027DBType\u0027]\n\t\t\n\t\tchartConfigQuery \u003d self.view.rootContainer.getChartConfigQuery(dbType)\n\t\tif not chartConfigQuery:\n\t\t\tlogger.debug(\u0027Unable to load chart configuration from database \"%s\" because it is an unknown sql database type \"%s\".\u0027 %(dbName, dbType))\n\t\t\treturn\n\t\t\n\t\tself.view.rootContainer.loadFromFile(system.db.runScalarPrepQuery(chartConfigQuery, [configId], dbInfo[\u0027Name\u0027]), includePlots, includeDisplay)\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\tfrom system.mongodb.types import ObjectId\n\t\tconfigDoc \u003d system.mongodb.findOne(dbInfo[\u0027Name\u0027], \u0027ad_hoc_trends_config\u0027, {\u0027_id\u0027: ObjectId(configId)})\n\t\tif configDoc:\n\t\t\tself.view.rootContainer.loadFromFile(configDoc[\u0027config\u0027], includePlots, includeDisplay)\n\t\n\t\n\t" + }, + { + "name": "saveToDb", + "params": [ + "dbName", + "configId", + "includePlots", + "includeDisplay", + "private", + "favorite", + "newChart" + ], + "script": "\tif not dbName or not configId:\n\t\treturn\n\t\n\t# configId will either be a unique id (newChart \u003d\u003d False) or the name for a new chart (newChart \u003d\u003d True)\n\t\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\t\n\tconfigJson \u003d self.view.rootContainer.getConfigJson(includePlots, includeDisplay)\n\tusername \u003d self.session.props.auth.user.userName\n\tdbInfo \u003d next((d for d in self.view.custom.databases if \u0027%s:%s\u0027 %(d.connector, d.Name) \u003d\u003d dbName), False)\n\tif not dbInfo:\n\t\tlogger.error(\u0027Unable to save chart configuration to database \"%s\" because it was not found in database list (view.custom.databases).\u0027 %dbName)\n\t\treturn\n\n\tif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\tdbType \u003d dbInfo[\u0027DBType\u0027]\n\n\t\tif newChart:\n\t\t\tinsertChartConfigQuery \u003d self.view.rootContainer.getInsertChartConfigQuery(dbType)\n\t\t\tif not insertChartConfigQuery:\n\t\t\t\tlogger.debug(\u0027Unable to save chart configuration to database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\t\t\treturn\n\t\t\t\t\n\t\t\tnewId \u003d system.db.runPrepUpdate(insertChartConfigQuery, [configJson, configId, private, favorite, username], dbInfo[\u0027Name\u0027], getKey\u003d1)\n\t\t\tif favorite:\n\t\t\t\tupdateFavoritesQuery \u003d self.view.rootContainer.getUpdateFavoritesQuery(dbType)\n\t\t\t\tsystem.db.runPrepUpdate(updateFavoritesQuery, [newId, username], dbInfo[\u0027Name\u0027])\n\t\t\t\n\t\t\tlogger.debug(\u0027Saved new chart configuration to database \"%s\"\u0027 %dbName)\n\t\t\t\n\t\telse:\n\t\t\tupdateChartConfigQuery \u003d self.view.rootContainer.getUpdateChartConfigQuery(dbType)\n\t\t\tif not updateChartConfigQuery:\n\t\t\t\tlogger.debug(\u0027Unable to save chart configuration to database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\t\t\treturn\n\t\t\t\t\n\t\t\tsystem.db.runPrepUpdate(updateChartConfigQuery, [configJson, username, private, username, favorite, configId], dbInfo[\u0027Name\u0027])\n\t\t\tif favorite:\n\t\t\t\tupdateFavoritesQuery \u003d self.view.rootContainer.getUpdateFavoritesQuery(dbType)\n\t\t\t\tsystem.db.runPrepUpdate(updateFavoritesQuery, [configId, username], dbInfo[\u0027Name\u0027])\n\t\t\t\n\t\t\tlogger.debug(\u0027Updated chart configuration in database \"%s\"\u0027 %dbName)\n\telif dbInfo[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\tfrom system.mongodb.types import ObjectId\n\t\tif newChart:\n\t\t\tsystem.mongodb.updateOne(dbInfo[\u0027Name\u0027], \u0027ad_hoc_trends_config\u0027, {\u0027_id\u0027: ObjectId.get()}, {\u0027$set\u0027: {\u0027config\u0027: system.util.jsonDecode(configJson), \u0027configName\u0027: configId, \u0027private\u0027: private, \u0027favorite\u0027: favorite, \u0027username\u0027: username}}, {\u0027upsert\u0027: True})\n\t\telse:\n\t\t\tsystem.mongodb.updateOne(dbInfo[\u0027Name\u0027], \u0027ad_hoc_trends_config\u0027, {\u0027_id\u0027: ObjectId(configId)}, {\u0027$set\u0027: {\u0027config\u0027: system.util.jsonDecode(configJson), \u0027private\u0027: private, \u0027favorite\u0027: favorite, \u0027username\u0027: username}}, {\u0027upsert\u0027: True})\n\t" + }, + { + "name": "getConfigJson", + "params": [ + "includePlots", + "includeDisplay" + ], + "script": "\tconfig \u003d {}\n\tpowerChart \u003d self.view.getChild(\u0027root/Body/PowerChart\u0027)\n\n\t# added a deepcopy utility that includes an option to convert Date to Instant format string\n\n\tif includePlots:\n\t\tconfig[\u0027config\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.config, True)\n\t\tconfig[\u0027axes\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.axes, True)\n\t\tconfig[\u0027pens\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.pens, True)\n\t\tconfig[\u0027plots\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.plots, True)\n\t\tconfig[\u0027title\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.title, True)\n\t\t\n\tif includeDisplay:\n\t\tconfig[\u0027timeAxis\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.timeAxis, True)\n\n\t\tconfig[\u0027interaction\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.interaction, True)\n\t\t\n\t\tconfig[\u0027dataColumns\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.dataColumns, True)\n\t\tconfig[\u0027legend\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.legend, True)\n\t\n\t# this method easily converts the perspective property trees into json\n\t# using str() of the property itself can include various parts that are not json compatible\n\tif config:\n\t\tfrom com.inductiveautomation.ignition.common import TypeUtilities\n\t\treturn str(TypeUtilities.pyToGson(config))\n\treturn \u0027{}\u0027" + }, + { + "name": "getTableExistsQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT EXISTS(\n\t\t\tSELECT\n\t\t\t\t*\n\t\t\tFROM\n\t\t\t\tinformation_schema.tables\n\t\t\tWHERE\n\t\t\t\ttable_schema NOT IN (\u0027information_schema\u0027, \u0027pg_catalog\u0027) AND\n\t\t\t\ttable_type \u003d \u0027BASE TABLE\u0027 AND\n\t\t\t\ttable_name \u003d \u0027ad_hoc_trends_config\u0027)\u0027\u0027\u0027\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT EXISTS(\n\t\t\tSELECT\n\t\t\t\t*\n\t\t\tFROM\n\t\t\t\tsqlite_master\n\t\t\tWHERE\n\t\t\t\ttype\u003d\u0027table\u0027 AND\n\t\t\t\tname\u003d\u0027ad_hoc_trends_config\u0027)\u0027\u0027\u0027\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT EXISTS(\n\t\t\tSELECT\n\t\t\t\t*\n\t\t\tFROM\n\t\t\t\tinformation_schema.tables\n\t\t\tWHERE\n\t\t\t\ttable_name \u003d \u0027ad_hoc_trends_config\u0027)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tCASE WHEN EXISTS \n\t\t\t(\n\t\t\t\tSELECT * \n\t\t\t\tFROM INFORMATION_SCHEMA.TABLES\n\t\t\t\tWHERE TABLE_TYPE \u003d \u0027BASE TABLE\u0027\n\t\t\t\tAND TABLE_NAME \u003d \u0027ad_hoc_trends_config\u0027\n\t\t\t)\n\t\t\t\tTHEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tcount(*)\n\t\tFROM\n\t\t\tdba_tables\n\t\tWHERE\n\t\t\ttable_name \u003d \u0027AD_HOC_TRENDS_CONFIG\u0027\n\t\t\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getDatabaseEnabledQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tprivate \u003d false\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d 0\u0027\u0027\u0027\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tprivate \u003d false\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d 0\u0027\u0027\u0027\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\t# by deafult, MySQL will auto increment when you try to set an auto increment column to 0 on INSERT.\n\t\t# using -1 here instead\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tprivate \u003d false\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d -1\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tCOUNT(*)\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\t\u0027\u0027\u0027\n#\t\tSELECT\n#\t\t\tCASE WHEN private \u003d 1\n#\t\t\t\tTHEN 1\n#\t\t\t\tELSE 0\n#\t\t\tEND\n#\t\tFROM\n#\t\t\tad_hoc_trends_config\n#\t\tWHERE\n#\t\t\tid \u003d 0\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tCASE WHEN private \u003d 0\n\t\t\t\tTHEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\n\t\tFROM\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tWHERE\n\t\t\tid \u003d 0\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getTableFormatMatchesQuery", + "params": [ + "dbType", + "dbName" + ], + "script": "\tsystem.perspective.print(\u0027dbType: {}\u0027.format(dbType))\n\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tcount(*) \u003d 7\n\t\tFROM\n\t\t\tinformation_schema.columns\n\t\tWHERE\n\t\t\ttable_name \u003d \u0027ad_hoc_trends_config\u0027 AND\n\t\t\tcolumn_name IN (\u0027id\u0027,\u0027username\u0027,\u0027config_name\u0027,\u0027private\u0027,\u0027config\u0027,\u0027t_stamp\u0027,\u0027favorite\u0027)\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tcount(*) \u003d 7\n\t\tFROM\n\t\t\tpragma_table_info(\u0027ad_hoc_trends_config\u0027)\n\t\tWHERE\n\t\t\tname IN (\u0027id\u0027,\u0027username\u0027,\u0027config_name\u0027,\u0027private\u0027,\u0027config\u0027,\u0027t_stamp\u0027,\u0027favorite\u0027)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tcount(*) \u003d 7\n\t\tFROM\n\t\t\tinformation_schema.columns\n\t\tWHERE\n\t\t\ttable_schema \u003d \u0027{}\u0027 AND \n\t\t\ttable_name \u003d \u0027ad_hoc_trends_config\u0027 AND\n\t\t\tcolumn_name IN (\u0027id\u0027,\u0027username\u0027,\u0027config_name\u0027,\u0027private\u0027,\u0027config\u0027,\u0027t_stamp\u0027,\u0027favorite\u0027)\u0027\u0027\u0027.format(dbName)\n\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tCASE WHEN COUNT(*) \u003d 7\n\t\t\t\tTHEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\n\t\tFROM\n\t\t\tinformation_schema.columns\n\t\tWHERE\n\t\t\tTABLE_NAME \u003d \u0027ad_hoc_trends_config\u0027 AND\n\t\t\tCOLUMN_NAME IN (\u0027id\u0027,\u0027username\u0027,\u0027config_name\u0027,\u0027private\u0027,\u0027config\u0027,\u0027t_stamp\u0027,\u0027favorite\u0027)\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tCASE WHEN COUNT(*) \u003d 7\n\t\t\t\tTHEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\n\t\tFROM\n\t\t\tall_tab_cols\n\t\tWHERE\n\t\t\tTABLE_NAME \u003d \u0027AD_HOC_TRENDS_CONFIG\u0027 AND\n\t\t\tCOLUMN_NAME IN (\u0027ID\u0027,\u0027USERNAME\u0027,\u0027CONFIG_NAME\u0027,\u0027PRIVATE\u0027,\u0027CONFIG\u0027,\u0027T_STAMP\u0027,\u0027FAVORITE\u0027)\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getCreateTableQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tCREATE TABLE ad_hoc_trends_config(\n\t\t\tid SERIAL PRIMARY KEY,\n\t\t\tusername text,\n\t\t\tconfig_name text,\n\t\t\tprivate boolean,\n\t\t\tconfig text,\n\t\t\tt_stamp timestamp DEFAULT CURRENT_TIMESTAMP,\n\t\t\tCONSTRAINT name UNIQUE(username, config_name)\n\t\t)\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tCREATE TABLE ad_hoc_trends_config(\n\t\t\tid INTEGER PRIMARY KEY,\n\t\t\tusername TEXT,\n\t\t\tconfig_name TEXT,\n\t\t\tprivate INTEGER,\n\t\t\tconfig TEXT,\n\t\t\tt_stamp TEXT DEFAULT CURRENT_TIMESTAMP,\n\t\t\tUNIQUE(username, config_name)\n\t\t)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tCREATE TABLE ad_hoc_trends_config(\n\t\t\tid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,\n\t\t\tusername VARCHAR(255),\n\t\t\tconfig_name VARCHAR(255),\n\t\t\tprivate BOOLEAN,\n\t\t\tconfig TEXT,\n\t\t\tt_stamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n\t\t\tCONSTRAINT name UNIQUE(username, config_name)\n\t\t)\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tCREATE TABLE ad_hoc_trends_config(\n\t\t\tid INT NOT NULL PRIMARY KEY IDENTITY(1, 1),\n\t\t\tusername VARCHAR(255),\n\t\t\tconfig_name VARCHAR(255),\n\t\t\tprivate BIT,\n\t\t\tconfig TEXT,\n\t\t\tt_stamp DATETIME DEFAULT CURRENT_TIMESTAMP,\n\t\t\tCONSTRAINT name UNIQUE(username, config_name)\n\t\t)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tCREATE TABLE ad_hoc_trends_config(\n\t\t\tid NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY,\n\t\t username VARCHAR(255),\n\t\t config_name VARCHAR(255),\n\t\t private NUMBER,\n\t\t config NCLOB,\n\t\t t_stamp DATE DEFAULT CURRENT_TIMESTAMP,\n\t\t CONSTRAINT name UNIQUE(username, config_name)\n\t\t)\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getMakeDatabasePrivateQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO ad_hoc_trends_config\n\t\t\t(id, config, config_name, private, username)\n\t\tVALUES\n\t\t\t(0, null, null, ?, null) \n\t\tON CONFLICT (id) \n\t\tDO UPDATE\n\t\t\tSET\n\t\t\t\tprivate \u003d ?\n\t\t\tWHERE\n\t\t\t\tad_hoc_trends_config.id \u003d 0\n\t\t\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\t# using ? AND ? here to use up to arguments, matching the other SQL queries\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT OR REPLACE INTO ad_hoc_trends_config\n\t\t\t(id, config, config_name, private, username)\n\t\tVALUES\n\t\t\t(0, null, null, ? AND ?, null)\n\t\t\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO ad_hoc_trends_config\n\t\t\t\t\t(id, config, config_name, private, username)\n\t\t\t\tVALUES\n\t\t\t\t\t(-1, null, null, ?, null) \n\t\t\t\tON DUPLICATE KEY UPDATE\n\t\t\t\t\tprivate \u003d ?\n\t\t\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tBEGIN TRAN\n\t\t\tUPDATE ad_hoc_trends_config\n\t\t\tWITH (SERIALIZABLE)\n\t\t\tSET private \u003d ?\n\t\t\tWHERE id \u003d 0\n\t\t\t\n\t\t\tIF @@rowcount \u003d 0\n\t\t\tBEGIN\n\t\t\t\tSET IDENTITY_INSERT ad_hoc_trends_config ON\n\t\t\t\tINSERT INTO ad_hoc_trends_config\n\t\t\t\t(id, config, config_name, private, username)\n\t\t\t\tVALUES\n\t\t\t\t(0, null, null, ?, null)\n\t\t\t\tSET IDENTITY_INSERT ad_hoc_trends_config OFF\n\t\t\tEND\n\t\tCOMMIT TRAN\n\t\t\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tMERGE INTO AD_HOC_TRENDS_CONFIG a\n\t\t\tUSING (SELECT 0 AS ID FROM DUAL d) d\n\t\t\tON (a.ID \u003d d.ID)\n\t\t\tWHEN MATCHED THEN UPDATE SET a.PRIVATE \u003d ?\n\t\t\tWHEN NOT MATCHED THEN INSERT (ID, CONFIG, CONFIG_NAME, PRIVATE, USERNAME) VALUES (0, null, null, ?, null)\n\t\t\u0027\u0027\u0027\n\t\t\n\treturn \u0027\u0027" + }, + { + "name": "getAvailableChartsQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR \n\t\t\t(private \u003d FALSE) OR \n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR \n\t\t\t(private \u003d FALSE) OR \n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR \n\t\t\t(private \u003d FALSE) OR \n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR \n\t\t\t(private \u003d \u0027FALSE\u0027) OR \n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid as \"id\",\n\t\t\tusername as \"username\",\n\t\t\tconfig_name as \"config_name\",\n\t\t\tfavorite as \"favorite\"\n\t\tFROM\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tWHERE\n\t\t\t((USERNAME IS NULL) OR \n\t\t\t(PRIVATE \u003d 0) OR \n\t\t\t(USERNAME \u003d ?)) AND\n\t\t\tID \u003e 0\u0027\u0027\u0027\n\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getOwnChartsQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR\n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR\n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR\n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name,\n\t\t\tfavorite\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR\n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid as \"id\",\n\t\t\tusername as \"username\",\n\t\t\tconfig_name as \"config_name\",\n\t\t\tfavorite as \"favorite\"\n\t\tFROM\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tWHERE\n\t\t\t((username IS NULL) OR\n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getFavoriteChartQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tusername \u003d ? AND\n\t\t\tfavorite \u003d TRUE\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tusername \u003d ? AND\n\t\t\tfavorite \u003d TRUE\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tusername \u003d ? AND\n\t\t\tfavorite \u003d TRUE\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tusername \u003d ? AND\n\t\t\tfavorite \u003d TRUE\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid as \"id\",\n\t\t\tusername as \"username\",\n\t\t\tconfig_name as \"config_name\"\n\t\tFROM\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tWHERE\n\t\t\tusername \u003d ? AND\n\t\t\tfavorite \u003d 1\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getChartConfigQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tconfig\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tconfig\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tconfig\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tconfig\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tconfig as \"config\"\n\t\tFROM\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getInsertChartConfigQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO\n\t\t\tad_hoc_trends_config\n\t\t\t(config, config_name, private, favorite, username)\n\t\tVALUES\n\t\t\t(?, ?, ?, ?, ?)\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO\n\t\t\tad_hoc_trends_config\n\t\t\t(config, config_name, private, favorite, username)\n\t\tVALUES\n\t\t\t(?, ?, ?, ?, ?)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO\n\t\t\tad_hoc_trends_config\n\t\t\t(config, config_name, private, favorite, username)\n\t\tVALUES\n\t\t\t(?, ?, ?, ?, ?)\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO\n\t\t\tad_hoc_trends_config\n\t\t\t(config, config_name, private, favorite, username)\n\t\tVALUES\n\t\t\t(?, ?, ?, ?, ?)\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\t\t(config, config_name, private, favorite, username)\n\t\tVALUES\n\t\t\t(?, ?, ?, ?, ?)\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getUpdateChartConfigQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tconfig \u003d ?,\n\t\t\tprivate \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE private\n\t\t\tEND, \n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE favorite\n\t\t\tEND, \n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tconfig \u003d ?,\n\t\t\tprivate \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE private\n\t\t\tEND, \n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE favorite\n\t\t\tEND\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tconfig \u003d ?,\n\t\t\tprivate \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE private\n\t\t\tEND, \n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE favorite\n\t\t\tEND\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tconfig \u003d ?,\n\t\t\tprivate \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE private\n\t\t\tEND, \n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE favorite\n\t\t\tEND\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tSET\n\t\t\tconfig \u003d ?,\n\t\t\tprivate \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE private\n\t\t\tEND, \n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE favorite\n\t\t\tEND\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getUpdateFavoritesQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN id \u003d ? THEN TRUE\n\t\t\t\tELSE FALSE\n\t\t\tEND\n\t\tWHERE\n\t\t\tusername \u003d ?\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN id \u003d ? THEN TRUE\n\t\t\t\tELSE FALSE\n\t\t\tEND\n\t\tWHERE\n\t\t\tusername \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN id \u003d ? THEN TRUE\n\t\t\t\tELSE FALSE\n\t\t\tEND\n\t\tWHERE\n\t\t\tusername \u003d ?\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN id \u003d ? THEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\n\t\tWHERE\n\t\t\tusername \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tSET\n\t\t\tfavorite \u003d CASE\n\t\t\t\tWHEN id \u003d ? THEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\n\t\tWHERE\n\t\t\tusername \u003d ?\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "dateToInstant", + "params": [ + "date" + ], + "script": "\t# using this to convert Date props into string format that can be stored and easily turned back into Date\n\t# using the type ultility converter to string alone does not work well enough as no timezone is included\n\n\treturn str(date.toInstant())" + }, + { + "name": "dateFromInstant", + "params": [ + "instant" + ], + "script": "\t# using this to convert a string in Instant form back to java.util.Date for certain props\n\tfrom java.util import Date\n\tfrom java.time import Instant\n\tif isinstance(instant, basestring):\n\t\treturn Date.from(Instant.parse(instant))\n\treturn Date.from(instant)" + }, + { + "name": "propertyDeepcopy", + "params": [ + "property", + "convertDates\u003dFalse" + ], + "script": "\t# utility for copying the values from a perspective prop tree\n\t# deepcopy() does not appear to work directly on the prop tree wrapper type\n\t# also converting Date object to Instant format string\n\t\n\timport collections\n\tfrom java.util import Date\n\t\n\tdef copyProperties(node):\n\t\t# perspective arrays and python lists (but not strings)\n\t\tif \u0027PropertyTreeScriptWrapper$ArrayWrapper\u0027 in str(type(node)) or \\\n\t\t(isinstance(node, collections.Sequence) and not isinstance(node, basestring)):\n\t\t\tnodeCopy \u003d []\n\t\t\tfor i in node:\n\t\t\t\tnodeCopy.append(copyProperties(i))\n\t\t\treturn nodeCopy\n\t\t# perspective objects and python dictionaries\n\t\telif \u0027PropertyTreeScriptWrapper$ObjectWrapper\u0027 in str(type(node)) or isinstance(node, collections.Mapping):\n\t\t\tnodeCopy \u003d {}\n\t\t\tfor k in node:\n\t\t\t\tnodeCopy[k] \u003d copyProperties(node[k])\n\t\t\treturn nodeCopy\n\t\t# single value, with optional date conversion\n\t\telse:\n\t\t\tif convertDates and isinstance(node, Date):\n\t\t\t\treturn self.view.rootContainer.dateToInstant(node)\n\t\t\treturn node\n\t\t\t\n\treturn copyProperties(property)" + }, + { + "name": "propertyTreeRestoreDate", + "params": [ + "propertyTree" + ], + "script": "\t# creates a new copy of the given property tree, replacing Instant formatted strings with java.util.Date\n\timport collections\n\t\n\tdef convertProperties(node):\n\t\t# perspective arrays and python lists (but not strings)\n\t\tif \u0027PropertyTreeScriptWrapper$ArrayWrapper\u0027 in str(type(node)) or \\\n\t\t(isinstance(node, collections.Sequence) and not isinstance(node, basestring)):\n\t\t\tnodeCopy \u003d []\n\t\t\tfor i in node:\n\t\t\t\tnodeCopy.append(convertProperties(i))\n\t\t\treturn nodeCopy\n\t\t# perspective objects and python dictionaries\n\t\telif \u0027PropertyTreeScriptWrapper$ObjectWrapper\u0027 in str(type(node)) or isinstance(node, collections.Mapping):\n\t\t\tnodeCopy \u003d {}\n\t\t\tfor k in node:\n\t\t\t\tnodeCopy[k] \u003d convertProperties(node[k])\n\t\t\treturn nodeCopy\n\t\t# single value\n\t\telse:\n\t\t\t# this will attempt to convert the string back into Date, otherwise just returns the value\n\t\t\tif isinstance(node, basestring):\n\t\t\t\ttry:\n\t\t\t\t\treturn self.view.rootContainer.dateFromInstant(node)\n\t\t\t\texcept:\n\t\t\t\t\treturn node\n\t\t\treturn node\n\t\t\t\n\treturn convertProperties(propertyTree)" + }, + { + "name": "populateDatabaseDropdown", + "params": [ + "databases", + "filterEnabled" + ], + "script": "\tif filterEnabled:\n\t\tdbList \u003d []\n\t\tfor db in filter(lambda x: x[\u0027Enabled\u0027], databases):\n\t\t\tif db[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\t\t\telif db[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, \u0027MongoDB\u0027, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\t\treturn dbList\n\telse:\n\t\tdbList \u003d []\n\t\tfor db in value:\n\t\t\tif db[\u0027connector\u0027] \u003d\u003d \u0027sql\u0027:\n\t\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\t\t\telif db[\u0027connector\u0027] \u003d\u003d \u0027mongodb\u0027:\n\t\t\t\tdbList.append({\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, \u0027MongoDB\u0027, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: \u0027%s:%s\u0027 %(db.connector, db.Name)})\n\t\treturn dbList" + } + ], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "ad_hoc_trends_databaseReconfigured", + "pageScope": false, + "script": "\t# called when someone enables/disables a database\n\t# this way, users don\u0027t have to manually refresh their db listing\n\tself.view.custom.configureDatabases \u003d {}\n\tself.view.refreshBinding(\u0027custom.databases\u0027)\n\tif self.view.custom.activeControl in [\u0027LoadFromDb\u0027, \u0027SaveToDb\u0027]:\n\t\tself.view.rootContainer.closeFunction()", + "sessionScope": true, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/ColorRef/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/ColorRef/resource.json new file mode 100644 index 0000000..0ee896a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/ColorRef/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6c254ed18bf13a61c9c210160397ee1a73d5d5589fc174236b4371d7b604462e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T19:23:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/ColorRef/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/ColorRef/thumbnail.png new file mode 100644 index 0000000..90569f5 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/ColorRef/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/ColorRef/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/ColorRef/view.json new file mode 100644 index 0000000..25deb25 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/ColorRef/view.json @@ -0,0 +1,650 @@ +{ + "custom": { + "adjusted": 1753686060271, + "ampm": "value", + "hour": "value", + "min": "value", + "mtime": "value", + "time": { + "$": [ + "ts", + 0, + 1753734507366 + ], + "$ts": 1753686060271 + } + }, + "params": { + "GoTo": "", + "zoom": "" + }, + "propConfig": { + "custom.adjusted": { + "binding": { + "config": { + "expression": "toMillis({view.custom.time})" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.ampm": { + "persistent": true + }, + "custom.hour": { + "persistent": true + }, + "custom.min": { + "persistent": true + }, + "custom.mtime": { + "persistent": true + }, + "custom.time": { + "persistent": true + }, + "params.GoTo": { + "paramDirection": "input", + "persistent": true + }, + "params.zoom": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 922 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "fontSize": 20, + "fontWeight": "600" + }, + "text": "Theme Control" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RadioGroup" + }, + "position": { + "basis": "35px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.props.theme" + }, + "type": "property" + } + } + }, + "props": { + "index": 1, + "radios": [ + { + "selected": false, + "text": "Light", + "value": "stream-light" + }, + { + "selected": true, + "text": "Dark", + "value": "stream-dark" + } + ] + }, + "type": "ia.input.radio-group" + } + ], + "meta": { + "name": "Theme" + }, + "position": { + "basis": "89px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "fontSize": 20, + "fontWeight": "600" + }, + "text": "One Line Colors" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "olGreen", + "textStyle": { + "color": "--olGreen", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "olYellow", + "textStyle": { + "color": "--olYellow", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "olRed", + "textStyle": { + "color": "--olRed", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "olGray", + "textStyle": { + "backgroundColor": "--olLightGray", + "color": "--olGray", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "OneLine" + }, + "position": { + "basis": "155px" + }, + "props": { + "direction": "column", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "fontSize": 20, + "fontWeight": "600" + }, + "text": "Stream Color Palette" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "streamnavy", + "textStyle": { + "color": "--streamnavy", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "streamblue", + "textStyle": { + "color": "--streamblue", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "darkbluegray", + "textStyle": { + "backgroundColor": "#FFFFFF", + "color": "--darkbluegray", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "darkgray", + "textStyle": { + "color": "--darkgray", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "tagvalue-color", + "textStyle": { + "color": "--tagvalue-color", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "units-color", + "textStyle": { + "color": "--units-color", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "241px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "gray", + "textStyle": { + "color": "--gray", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "lightgray", + "textStyle": { + "backgroundColor": "#000000", + "color": "--lightgray", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "darkred", + "textStyle": { + "color": "--darkred", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "241px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "alarmred", + "textStyle": { + "color": "--alarmred", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "sunsetorange", + "textStyle": { + "color": "--sunsetorange", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "goldenyellow", + "textStyle": { + "color": "--goldenyellow", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "coolpurple", + "textStyle": { + "color": "--coolpurple", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "241px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "hpWhite", + "textStyle": { + "color": "--state-running", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "hpGray", + "textStyle": { + "color": "--state-standby", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "hpRed", + "textStyle": { + "color": "--state-faulted", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "hpBlue", + "textStyle": { + "color": "--hpBlue", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "hpPurple", + "textStyle": { + "color": "--hpPurple", + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "241px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "OneLine_0" + }, + "position": { + "basis": "278px" + }, + "props": { + "direction": "column", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "gap": "6px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Connections/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Connections/resource.json new file mode 100644 index 0000000..8e289fb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Connections/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e75cd0b3438d83870fed200d5dd6d7e5e2b30e6fb086d9b81a17ee86e7036661", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T22:29:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Connections/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Connections/thumbnail.png new file mode 100644 index 0000000..469459c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Connections/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Connections/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Connections/view.json new file mode 100644 index 0000000..3f77aa0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Connections/view.json @@ -0,0 +1,1851 @@ +{ + "custom": { + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + }, + "filters": { + "alm": [], + "prov": [], + "tag": [] + } + }, + "params": {}, + "propConfig": { + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.filters": { + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "IO GW:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "alignItems": "flex-start", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_Common_IO_Gtwy", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_Common_IO_Gtwy", + "source": "prov" + }, + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_SATB1_IO1_default", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_SATB1_IO1_default", + "source": "prov" + } + ], + "path": "Library/Templates/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tsystem.perspective.sendMessage(\u0027clearFilters\u0027, {\n\t\t\u0027source\u0027: source\n\t})\n\tself.parent.parent.parent.parent.getChild(\"AlarmStatusTable\").custom.filters[source] \u003d []" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "prov" + }, + "position": { + "display": false, + "grow": 1 + }, + "props": { + "style": { + "borderBottom": "1px solid var(--border)", + "borderTop": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "Quick Search:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.instances": { + "persistent": true + }, + "props.instances[14].label": { + "binding": { + "config": { + "expression": "\u0027\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH101", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH102", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH201", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH202", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH203", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "CHWS", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Electrical", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--neutral-50)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "", + "mode": "Custom", + "selected": false, + "source": "tag" + } + ], + "path": "Library/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tself.view.custom.filters[source] \u003d []\n\tflexRepeater \u003d self.parent.parent.getChild(\"FlexRepeater\")\n\ttoDelete \u003d []\n\tfor i, instance in enumerate(flexRepeater.props.instances):\n\t\tinstance[\u0027selected\u0027] \u003d False\n\t\tif instance[\u0027mode\u0027] \u003d\u003d \u0027Custom\u0027:\n\t\t\tinstance[\u0027label\u0027] \u003d \u0027\u0027\n\t\t\tif i \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\ttoDelete.append(i)\n\tfor index in reversed(toDelete):\n\t\tflexRepeater.props.instances.pop(index)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "tag" + }, + "position": { + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "RadioGroup" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "expression": "0" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "radioStyle": { + "padding": "0px 10px" + }, + "radios": [ + { + "selected": true, + "text": "Match on ANY", + "value": 0 + }, + { + "selected": false, + "text": "Match on ALL", + "value": 1 + } + ], + "style": { + "borderLeft": "1px solid var(--border)", + "borderRight": "1px solid var(--border)", + "fontSize": "0.8em", + "padding": "4px 5px" + } + }, + "type": "ia.input.radio-group" + }, + { + "meta": { + "name": "Table_0" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "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\tinstance \u003d system.tag.readBlocking(item)[0].value\n\t\tconnected \u003d instance[\"Alarms\"][\"Connection Lost\"]\n\t\thostname \u003d instance[\"Hostname\"]\n\t\tname \u003d instance[\"Name\"]\n\t\tport \u003d instance[\"Port\"]\n\t\tstate \u003d instance[\"State\"]\n\t\toutput.append({ \"Connected\": connected,\n\t\t\t\t\t\t\"Hostname\": hostname,\n\t\t\t\t\t\t\"Name\": name,\n\t\t\t\t\t\t\"Port\": port,\n\t\t\t\t\t\t\"State\": state})\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": "", + "paddingLeft": "10px" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Hostname", + "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": "Port", + "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": "Status", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "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": "Connected", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "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": "" + } + ], + "data": [ + { + "Connected": true, + "Hostname": "192.168.100.102", + "Name": "CRAC_1120_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.103", + "Name": "CRAC_1120_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.104", + "Name": "CRAC_1152_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.105", + "Name": "CRAC_1152_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.106", + "Name": "CRAC_1152_03", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.107", + "Name": "CRAC_1188_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.108", + "Name": "CRAC_1188_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.109", + "Name": "CRAH_1150_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.110", + "Name": "CRAH_1150_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.111", + "Name": "CRAH_1151_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.112", + "Name": "CRAH_1151_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.113", + "Name": "CRAH_1240_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.114", + "Name": "CRAH_1240_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.115", + "Name": "CRAH_1241_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.116", + "Name": "CRAH_1241_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.117", + "Name": "CRAH_1247_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.118", + "Name": "CRAH_1247_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.119", + "Name": "CRAH_1253_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.120", + "Name": "CRAH_1253_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.121", + "Name": "CRAH_1263_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.122", + "Name": "CRAH_1263_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.123", + "Name": "CRAH_1273_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.124", + "Name": "CRAH_1273_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": false, + "Hostname": "192.168.100.60", + "Name": "FireController", + "Port": 502, + "State": "Connecting" + }, + { + "Connected": true, + "Hostname": "192.168.100.62", + "Name": "Fire_Pump", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.142", + "Name": "FS_CP16_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.158", + "Name": "FS_CP18_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.143", + "Name": "FS_CP20_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.144", + "Name": "FS_CP20_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.145", + "Name": "FS_CP22_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.157", + "Name": "FS_CP22_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.146", + "Name": "FS_CP24_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.147", + "Name": "FS_CP38_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.148", + "Name": "FS_CP38_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.149", + "Name": "FS_CP38_03", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.150", + "Name": "FS_CP60_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.151", + "Name": "FS_CP60_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.152", + "Name": "FS_CP60_03", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.153", + "Name": "FS_CP61_01", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.154", + "Name": "FS_CP61_02", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.155", + "Name": "FS_CP61_03", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.156", + "Name": "FS_CP61_04", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.100.20", + "Name": "Plant Manager", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.2", + "Name": "SES 1A FDR1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.3", + "Name": "SES 1A FDR2", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.4", + "Name": "SES 1A FDR3", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.1", + "Name": "SES 1A MAIN", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.121", + "Name": "SES 1A PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.9", + "Name": "SWBD HS1 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.156", + "Name": "SWBD HS1 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.10", + "Name": "SWBD HS1 Breaker 1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.123", + "Name": "SWBD HS1 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.69", + "Name": "SWBD HS1 TX RP HS1 4", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.14", + "Name": "SWBD HS2 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.157", + "Name": "SWBD HS2 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.124", + "Name": "SWBD HS2 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.69", + "Name": "SWBD HS1 TX RP HS1 4", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.20", + "Name": "SWBD M1 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.21", + "Name": "SWBD M1 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.22", + "Name": "SWBD M1 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.23", + "Name": "SWBD M1 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.24", + "Name": "SWBD M1 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.19", + "Name": "SWBD M1 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.158", + "Name": "SWBD M1 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.125", + "Name": "SWBD M1 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.26", + "Name": "SWBD M2 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.27", + "Name": "SWBD M2 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.28", + "Name": "SWBD M2 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.29", + "Name": "SWBD M2 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.30", + "Name": "SWBD M2 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.25", + "Name": "SWBD M2 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.159", + "Name": "SWBD M2 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.126", + "Name": "SWBD M2 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.32", + "Name": "SWBD M3 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.33", + "Name": "SWBD M3 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.34", + "Name": "SWBD M3 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.35", + "Name": "SWBD M3 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.36", + "Name": "SWBD M3 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.31", + "Name": "SWBD M3 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.160", + "Name": "SWBD M3 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.127", + "Name": "SWBD M3 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.38", + "Name": "SWBD M4 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.39", + "Name": "SWBD M4 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.40", + "Name": "SWBD M4 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.41", + "Name": "SWBD M4 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.42", + "Name": "SWBD M4 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.37", + "Name": "SWBD M4 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.161", + "Name": "SWBD M4 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.128", + "Name": "SWBD M4 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.44", + "Name": "SWBD M5 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.45", + "Name": "SWBD M5 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.46", + "Name": "SWBD M5 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.47", + "Name": "SWBD M5 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.48", + "Name": "SWBD M5 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.43", + "Name": "SWBD M5 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.162", + "Name": "SWBD M5 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.129", + "Name": "SWBD M5 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.50", + "Name": "SWBD M6 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.51", + "Name": "SWBD M6 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.52", + "Name": "SWBD M6 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.53", + "Name": "SWBD M6 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.54", + "Name": "SWBD M6 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.49", + "Name": "SWBD M6 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.163", + "Name": "SWBD M6 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.130", + "Name": "SWBD M6 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.56", + "Name": "SWBD M7 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.57", + "Name": "SWBD M7 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.58", + "Name": "SWBD M7 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.59", + "Name": "SWBD M7 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.60", + "Name": "SWBD M7 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.55", + "Name": "SWBD M7 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.164", + "Name": "SWBD M7 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.131", + "Name": "SWBD M7 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.62", + "Name": "SWBD M8 52F1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.63", + "Name": "SWBD M8 52F6", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.64", + "Name": "SWBD M8 52F7", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.65", + "Name": "SWBD M8 52F8", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.66", + "Name": "SWBD M8 52F9", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.61", + "Name": "SWBD M8 52U", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.165", + "Name": "SWBD M8 ATS", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.132", + "Name": "SWBD M8 PQM", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.181", + "Name": "UPS HS1", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.191", + "Name": "UPS HS1 BAT", + "Port": 602, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.182", + "Name": "UPS HS2", + "Port": 502, + "State": "Connected" + }, + { + "Connected": true, + "Hostname": "192.168.101.192", + "Name": "UPS HS2 BAT", + "Port": 602, + "State": "Connected" + } + ], + "filter": { + "enabled": true + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "addFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index].selected \u003d True", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "customFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(\u0027tag\u0027).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index][\u0027selected\u0027] \u003d True\n\t\tflexRepeater.props.instances[index][\u0027label\u0027] \u003d label\n\t\tflexRepeater.props.instances.append({\n\t\t\t\"color\": \"var(--neutral-50)\",\n\t\t\t\"filterString\": \"\",\n\t\t\t\"instancePosition\": {},\n\t\t\t\"instanceStyle\": {\n\t\t\t\"classes\": \"\"\n\t\t\t},\n\t\t\t\"mode\": \"Custom\",\n\t\t\t\"selected\": False,\n\t\t\t\"source\": \"tag\",\n\t\t\t\"label\": \"\"\n\t\t\t})", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "removeFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\ti \u003d self.view.custom.filters[source].index(label)\n\t\tself.view.custom.filters[source].pop(i)\n\t\tflexRepeater.props.instances[index].selected \u003d False\n\t\tif flexRepeater.props.instances[index].mode \u003d\u003d \u0027Custom\u0027:\n\t\t\tflexRepeater.props.instances[index].label \u003d \u0027\u0027\n\t\t\tif index \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\tflexRepeater.props.instances.pop(index)\n\telse:\n\t\tpass", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/DCS Panels/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/DCS Panels/resource.json new file mode 100644 index 0000000..b5c846f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/DCS Panels/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8f95ffced5598e389ecfe3b14078592a66f192222f55ef71ad320c3de5d0b0b4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T21:36:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/DCS Panels/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/DCS Panels/thumbnail.png new file mode 100644 index 0000000..cbbffff Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/DCS Panels/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/DCS Panels/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/DCS Panels/view.json new file mode 100644 index 0000000..97dab4f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/DCS Panels/view.json @@ -0,0 +1,1202 @@ +{ + "custom": {}, + "params": { + "embedded": false, + "objectName": "Panel_340_580", + "tagPath": "[Ignition_Common_IO_Gtwy]zz_Testing/Panel2" + }, + "propConfig": { + "params.embedded": { + "paramDirection": "input", + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1429, + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Plant Manager panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FR Plant manager" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_PNL01" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_PNL02" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "FR RIO" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_PNL62" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_PNL63" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_PNL64" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_PNL65" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_PNL66" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "PlantManager" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "VFD Controllers" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_PNL03" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_PNL04" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_PNL05" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_PNL06" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_PNL07" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "VFDControllers" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Chiller Controllers" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_PNL14" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_PNL15" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1244/SATB1_ER1244_PNL11" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1244/SATB1_ER1244_PNL12" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1244/SATB1_ER1244_PNL13" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1248/SATB1_HS2_ER1248_PNL08" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1248/SATB1_HS2_ER1248_PNL09" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1248/SATB1_HS2_ER1248_PNL10" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 5 + }, + "useDefaultViewHeight": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "CHControllers" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "DH Managers" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FR Second Floor" + }, + "position": { + "basis": "320px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_PNL20" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_PNL21" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_PNL22" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_PNL23" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel_340_580", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_PNL24" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel_340_580", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_PNL25" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 10 + }, + "useDefaultViewHeight": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "FR First Floor" + }, + "position": { + "basis": "320px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_PNL16" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_PNL17" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_PNL18" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel Red", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_PNL19" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 10 + }, + "useDefaultViewHeight": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "DH Managers" + }, + "position": { + "basis": "400px", + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 15, + "overflow": "visible", + "padding": 15 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "DH1 Electrical Panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_PNL56" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_PNL55" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_PNL54" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_PNL53" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_PNL52" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "DH1 Electrical Rooms" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "DH2 Electrical Panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SATB1_HS2_ER1248_PNL50" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_PNL49" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_PNL48" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_PNL47" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_PNL46" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "DH2 Electrical Rooms" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "DH3 Electrical Panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1155/SATB1_ER1155_PNL35" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1156/SATB1_ER1156_PNL34" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1157/SATB1_ER1157_PNL33" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1158/SATB1_ER1158_PNL32" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_PNL31" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 10 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "DH3 Electrical Rooms" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "DH4 Electrical Panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO4_default]ER1254/SATB1_ER1254_PNL44" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO4_default]ER1255/SATB1_ER1255_PNL43" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO4_default]ER1256/SATB1_ER1256_PNL42" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO4_default]ER1257/SATB1_ER1257_PNL41" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_SATB1_IO4_default]ER1258/SATB1_ER1258_PNL40" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "DH4 Electrical Rooms" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "DH5 Electrical Panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1161/SATB1_ER1161_PNL30" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1162/SATB1_ER1162_PNL29" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1163/SATB1_ER1163_PNL28" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1164/SATB1_ER1164_PNL27" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1165/SATB1_ER1165_PNL26" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "DH5 Electrical Rooms" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Mech Rooms - Electrical Panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_PNL58" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_PNL57" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_PNL38" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_PNL51" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "M Electrical Rooms" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "HS \u0026 Floor Mgrs Electrical Panels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "160px" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_ER1151_PNL37" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MR1253_PNL45" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1126/SATB1_RM1126_PNL60" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_ER1229_PNL61" + } + ], + "justify": "space-around", + "path": "Library/Symbols/Sym_Panel", + "style": { + "gap": 20 + }, + "useDefaultViewHeight": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "HS Electrical Rooms" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--container)", + "boxShadow": "var(--boxShadow2)", + "gap": 5, + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": 15, + "overflow": "scroll", + "padding": 5 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Ignition/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Ignition/resource.json new file mode 100644 index 0000000..cb9e626 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Ignition/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "df394d0d874bffc74a983a8a7ef2e3f3134c2bf0ca6a4dabff635f72999891b1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-20T15:54:03Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Ignition/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Ignition/thumbnail.png new file mode 100644 index 0000000..8c3ad1c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Ignition/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Ignition/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Ignition/view.json new file mode 100644 index 0000000..cca6ebb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Ignition/view.json @@ -0,0 +1,914 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 1020, + "width": 1750 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Ignition Network Architecture", + "textStyle": { + "fontSize": 18, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "meta": { + "name": "NetworkFloor" + }, + "position": { + "height": 586, + "width": 1054, + "x": 80, + "y": 260.04668749999996 + }, + "propConfig": { + "custom.colorHandler.zones": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": "stream-light", + "output": "#ebebeb" + }, + { + "input": "stream-dark", + "output": "#12121280" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.zones" + }, + "type": "property" + } + }, + "props.elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.zones" + }, + "type": "property" + } + }, + "props.elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.zones" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[3].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "d": "M3226.58,282.538c12.932,7.43 20.907,21.206 20.91,36.12c0.003,14.915 -7.966,28.693 -20.895,36.128c-385.651,221.779 -2423.16,1393.5 -2651.22,1524.65c-12.855,7.393 -28.671,7.396 -41.529,0.009c-76.864,-44.162 -347.139,-199.446 -470.997,-270.607c-12.932,-7.43 -20.907,-21.206 -20.91,-36.12c-0.003,-14.915 7.966,-28.693 20.895,-36.128c385.651,-221.779 2423.16,-1393.5 2651.22,-1524.65c12.855,-7.393 28.671,-7.396 41.529,-0.009c76.863,44.162 347.139,199.446 470.997,270.607Z", + "fill": {}, + "id": "Zone01", + "name": "Zone01", + "type": "path" + }, + { + "d": "M3169.28,1567.04c12.932,7.43 20.907,21.205 20.91,36.12c0.003,14.914 -7.966,28.693 -20.895,36.128c-213.14,122.572 -903.927,519.828 -1059.11,609.072c-19.283,11.089 -43.006,11.094 -62.293,0.012c-91.889,-52.793 -363.12,-208.626 -486.884,-279.734c-12.932,-7.43 -20.907,-21.205 -20.91,-36.12c-0.003,-14.914 7.966,-28.693 20.895,-36.128c218.337,-125.56 937.895,-539.362 1069.49,-615.042c12.855,-7.392 28.671,-7.396 41.529,-0.008c79.764,45.827 368.424,211.674 497.267,285.7Z", + "fill": {}, + "id": "Zone011", + "name": "Zone011", + "type": "path" + }, + { + "d": "M4235.68,1129.82c12.932,7.43 20.906,21.205 20.909,36.12c0.003,14.914 -7.966,28.693 -20.895,36.128c-112.575,64.74 -343.453,197.513 -413.742,237.934c-12.855,7.393 -28.671,7.396 -41.529,0.009c-116.596,-66.989 -691.421,-397.249 -883.798,-507.778c-12.932,-7.43 -20.907,-21.205 -20.91,-36.12c-0.003,-14.914 7.966,-28.693 20.895,-36.128c112.576,-64.74 343.454,-197.513 413.743,-237.934c12.855,-7.393 28.671,-7.396 41.529,-0.009c116.596,66.99 691.42,397.249 883.798,507.778Z", + "fill": {}, + "id": "Zone03", + "name": "Zone03", + "type": "path" + }, + { + "elements": [ + { + "d": "M609.683,1759.37l-150.586,-86.941", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M1301.94,1354.31l-150.586,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M2488.01,1366.11l-749.764,-432.876", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M2428.76,707.843l-150.585,-86.941", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M3000.96,380.318l-150.585,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M612.372,1759.37l2388.59,-1379.05", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M3107.97,973.119l150.586,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M2943.48,1384.12l562.301,-349.589", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M2030.45,1983.38l478.231,-276.107", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M3723.15,1331.16l150.585,-86.94", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M3723.2,1331.16l-615.237,-355.206", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "8.33px" + }, + "type": "path", + "visibility": "hidden" + } + ], + "id": "Connections", + "name": "Connections", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 4299 2267" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "IO1-M" + }, + "position": { + "height": 120, + "width": 155, + "x": -83.0844, + "y": 644.056 + }, + "props": { + "params": { + "ipAddr": "10.239.152.191", + "tagProvider": "[Ignition SATB1 IO1 default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO2-M" + }, + "position": { + "height": 120, + "width": 155, + "x": -83.0844, + "y": 508.006 + }, + "props": { + "params": { + "ipAddr": "10.239.152.181", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO3-M" + }, + "position": { + "height": 120, + "width": 124.01, + "x": 122.0211875, + "y": 267.9815 + }, + "props": { + "params": { + "ipAddr": "10.239.152.182", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO4-M" + }, + "position": { + "height": 120, + "width": 124.01, + "x": 122.00118750000001, + "y": 404.0315 + }, + "props": { + "params": { + "ipAddr": "10.239.152.192", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO5-M" + }, + "position": { + "height": 120, + "width": 170, + "x": 1065.96, + "y": 260.031375 + }, + "props": { + "params": { + "ipAddr": "10.239.152.180", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO6-M" + }, + "position": { + "height": 120, + "width": 170, + "x": 1066, + "y": 396.009375 + }, + "props": { + "params": { + "ipAddr": "10.239.152.190", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 130, + "width": 130, + "x": 901.305, + "y": 422.9136875 + }, + "props": { + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 130, + "width": 130, + "x": 705.54, + "y": 237.0346875 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 130, + "width": 130, + "x": 566, + "y": 317.0546875 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 130, + "width": 130, + "x": 433, + "y": 394.0546875 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 130, + "width": 130, + "x": 289, + "y": 476.0546875 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 130, + "width": 130, + "x": 119, + "y": 575.0546875 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Database" + }, + "position": { + "height": 130, + "width": 130, + "x": 513.234, + "y": 666.9696875 + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "d": "M352.242,171.978c-0,-26.76 -62.353,-48.485 -139.155,-48.485c-76.801,-0 -139.154,21.725 -139.154,48.485l-0,264.243c-0,26.759 62.353,48.485 139.154,48.485c76.802,-0 139.155,-21.726 139.155,-48.485l-0,-264.243Z", + "fill": { + "paint": "#bfc0c2" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M73.933,183.91c-0,26.7 62.353,48.377 139.154,48.377c76.802,-0 139.155,-21.677 139.155,-48.377", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M73.933,268.05c-0,26.7 62.353,48.376 139.154,48.376c76.802,0 139.155,-21.676 139.155,-48.376", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + }, + { + "d": "M73.933,352.189c-0,26.7 62.353,48.377 139.154,48.377c76.802,0 139.155,-21.677 139.155,-48.377", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "paint": "#000", + "width": "8.33px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "name": "group", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 500 516" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 200, + "width": 200, + "x": 652, + "y": 524.0546875 + }, + "props": { + "params": { + "Position": false + }, + "path": "Pages/Dev/E_Network/Equipment/Server" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HMI-M" + }, + "position": { + "height": 118, + "width": 170, + "x": 880.299375, + "y": 646.047 + }, + "props": { + "params": { + "ipAddr": "10.239.152.189", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "HMI-M_0" + }, + "position": { + "height": 118, + "width": 170, + "x": 1080.259375, + "y": 646.047 + }, + "props": { + "params": { + "ipAddr": "10.239.152.199", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO4-M_0" + }, + "position": { + "height": 120, + "width": 143, + "x": 315.89, + "y": 290.909 + }, + "props": { + "params": { + "ipAddr": "10.239.152.193", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO3-M_0" + }, + "position": { + "height": 120, + "width": 143, + "x": 315.89, + "y": 154.909 + }, + "props": { + "params": { + "ipAddr": "10.239.152.183", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO3-M_1" + }, + "position": { + "height": 120, + "width": 143, + "x": 510.509, + "y": 54.11189999999999 + }, + "props": { + "params": { + "ipAddr": "10.239.152.184", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO4-M_1" + }, + "position": { + "height": 120, + "width": 143, + "x": 510.509, + "y": 191.9085 + }, + "props": { + "params": { + "ipAddr": "10.239.152.194", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO4-M_2" + }, + "position": { + "height": 120, + "width": 143, + "x": 844.51, + "y": 185.908 + }, + "props": { + "params": { + "ipAddr": "10.239.152.195", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "IO3-M_2" + }, + "position": { + "height": 120, + "width": 143, + "x": 844.51, + "y": 48.1075 + }, + "props": { + "params": { + "ipAddr": "10.239.152.185", + "tagProvider": "[default]" + }, + "path": "Library/Templates/Graphics/Network/Gateway", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/OPC Status/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/OPC Status/resource.json new file mode 100644 index 0000000..1a818fc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/OPC Status/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d34e034381b153161056faadbdf91a00aaac3d46f37e7aa5de7e0ff72a459f16", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-20T15:54:03Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/OPC Status/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/OPC Status/thumbnail.png new file mode 100644 index 0000000..9245b3e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/OPC Status/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/OPC Status/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/OPC Status/view.json new file mode 100644 index 0000000..3274edb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/OPC Status/view.json @@ -0,0 +1,681 @@ +{ + "custom": { + "data": [ + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_EcoStruxure_OPC_UA_Server_Expert", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_Ignition_OPC_UA_Server", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_26", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_27", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_28", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_29", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_30", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_31", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_32", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_33", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_34", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_35", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_37", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_38", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_45", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_51", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_57", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_58", + "[Ignition_Common_IO_Gtwy]OPC/SATB1_OPC_PNL_61", + "[Ignition_SATB1_IO1_default]OPC/SATB1_OPC_Ignition_OPC_UA_Server", + "[Ignition_SATB1_IO1_default]OPC/SATB1_OPC_PNL_52", + "[Ignition_SATB1_IO1_default]OPC/SATB1_OPC_PNL_53", + "[Ignition_SATB1_IO1_default]OPC/SATB1_OPC_PNL_54", + "[Ignition_SATB1_IO1_default]OPC/SATB1_OPC_PNL_55", + "[Ignition_SATB1_IO1_default]OPC/SATB1_OPC_PNL_56", + "[Ignition_SATB1_IO2_default]OPC/SATB1_OPC_Ignition_OPC_UA_Server", + "[Ignition_SATB1_IO2_default]OPC/SATB1_OPC_PNL_46", + "[Ignition_SATB1_IO2_default]OPC/SATB1_OPC_PNL_47", + "[Ignition_SATB1_IO2_default]OPC/SATB1_OPC_PNL_48", + "[Ignition_SATB1_IO2_default]OPC/SATB1_OPC_PNL_49", + "[Ignition_SATB1_IO2_default]OPC/SATB1_OPC_PNL_50" + ], + "tagPath": [ + "[Ignition_Common_IO_Gtwy]", + "[Ignition_SATB1_IO1_default]", + "[Ignition_SATB1_IO2_default]", + "[Ignition_SATB1_IO4_default]" + ] + }, + "params": {}, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "struct": { + "tagPaths": "{view.custom.tagPath}", + "time": "now(3000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor path in value[\u0027tagPaths\u0027]:\n\t\ttags \u003d system.tag.browse(path,{\"typeId\":\"Objects/Network/OPC_Status\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags:\n\t\t\toutput.append(str(item[\"fullPath\"]))\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.tagPath": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "custom": { + "data": "value" + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "100%" + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "struct": { + "paths": "{view.custom.data}", + "time": "now(5000)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tdata \u003d value[\"paths\"]\n\tfor item in data:\n\t\tgateway_array \u003d item.split(\u0027]\u0027)\n\t\tgateway \u003d gateway_array[0][1:]\n\t\topc_array \u003d item.split(\u0027SATB1_OPC_\u0027)\n\t\topc \u003d opc_array[-1]\n\t\topc \u003d opc.replace(\"_\", \" \")\n\t\tinstance \u003d system.tag.readBlocking(item)[0].value\n\t\tmeta \u003d instance[\u0027Meta\u0027]\n\t\tdesc \u003d meta[\u0027EqName\u0027]\n\t\tconnected \u003d instance[\"Connected\"]\n\t\tenabled \u003d instance[\"Enabled\"]\n\t\tstate \u003d instance[\"State\"]\n\t\tif state \u003d\u003d \"FAULTED\":\n\t\t\tstyle \u003d {\"backgroundColor\": \"#FF0000A8\", \"color\":\"white\"}\n\t\telse:\n\t\t\tstyle \u003d {\"backgroundColor\": \"\", \"color\":\"\"}\n\t\toutput.append({ \"Gateway\": gateway,\n\t\t\t\t\t\t\"OPC\": opc,\n\t\t\t\t\t\t\"Description\": desc,\n\t\t\t\t\t\t\"Enabled\": enabled,\n\t\t\t\t\t\t\"Connected\": connected,\n\t\t\t\t\t\t\"State\": {\"value\":state, \"style\": style}\n\t\t\t\t\t\t})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Gateway", + "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": "", + "paddingLeft": "10px" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "OPC", + "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": "Description", + "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": "Description" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "Offline", + "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": "Enabled", + "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": "0%" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Connected", + "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": "State", + "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.##%", + "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": "", + "paddingLeft": "10px" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + } + ], + "filter": { + "enabled": true + }, + "style": { + "backgroundColor": "#FF0000A8" + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/PLC Data/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/PLC Data/resource.json new file mode 100644 index 0000000..285fb3d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/PLC Data/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e113e243a7108cce389ac44dcee81c09c5282a63aed6b986e9ef78e25b17703c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T22:27:41Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/PLC Data/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/PLC Data/thumbnail.png new file mode 100644 index 0000000..bcd1b2c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/PLC Data/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/PLC Data/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/PLC Data/view.json new file mode 100644 index 0000000..fb52454 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/PLC Data/view.json @@ -0,0 +1,1710 @@ +{ + "custom": { + "data": [], + "tagPath": [ + "[Ignition_Common_IO_Gtwy]", + "[Ignition_SATB1_IO1_default]", + "[Ignition_SATB1_IO2_default]", + "[Ignition_SATB1_IO3_default]", + "[Ignition_SATB1_IO4_default]", + "[Ignition_SATB1_IO5_default]" + ] + }, + "params": {}, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "struct": { + "tagPaths": "{view.custom.tagPath}", + "time": "now(3000)" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tpaths \u003d value[\u0027tagPaths\u0027]\n\tfor path in paths:\n\t\ttags \u003d system.tag.browse(path,{\"typeId\":\"Objects/Network/PLC_Data\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags:\n\t\t\toutput.append(str(item[\"fullPath\"]))\n\t\ttags_v2 \u003d system.tag.browse(path,{\"typeId\":\"Objects/Network/PLC_Data v2\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags_v2:\n\t\t\toutput.append(str(item[\"fullPath\"]))\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.tagPath": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "70%" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "30%" + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "struct": { + "paths": "{view.custom.data}", + "time": "now(3000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tdata \u003d [\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL01\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL03\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL04\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL05\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL06\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL07\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL08\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL09\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL10\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL11\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL12\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL13\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL14\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL15\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL16\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL18\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL20\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL22\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL24\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL60\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL26\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL27\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL28\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL29\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL30\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL31\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL32\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL33\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL34\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL35\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL37\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL38\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL45\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL51\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL57\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL58\",\n\t\"[Ignition_Common_IO_Gtwy]PLC/SATB1_PLCData_PNL61\",\n\t\"[Ignition_SATB1_IO1_default]PLC/SATB1_PLCData_PNL52\",\n\t\"[Ignition_SATB1_IO1_default]PLC/SATB1_PLCData_PNL53\",\n\t\"[Ignition_SATB1_IO1_default]PLC/SATB1_PLCData_PNL54\",\n\t\"[Ignition_SATB1_IO1_default]PLC/SATB1_PLCData_PNL55\",\n\t\"[Ignition_SATB1_IO1_default]PLC/SATB1_PLCData_PNL56\",\n\t\"[Ignition_SATB1_IO2_default]PLC/SATB1_PLCData_PNL46\",\n\t\"[Ignition_SATB1_IO2_default]PLC/SATB1_PLCData_PNL47\",\n\t\"[Ignition_SATB1_IO2_default]PLC/SATB1_PLCData_PNL48\",\n\t\"[Ignition_SATB1_IO2_default]PLC/SATB1_PLCData_PNL49\",\n\t\"[Ignition_SATB1_IO2_default]PLC/SATB1_PLCData_PNL50\",\n\t\"[Ignition_SATB1_IO4_default]PLC/SATB1_PLCData_PNL40\",\n\t\"[Ignition_SATB1_IO4_default]PLC/SATB1_PLCData_PNL41\",\n\t\"[Ignition_SATB1_IO4_default]PLC/SATB1_PLCData_PNL42\",\n\t\"[Ignition_SATB1_IO4_default]PLC/SATB1_PLCData_PNL43\",\n\t\"[Ignition_SATB1_IO4_default]PLC/SATB1_PLCData_PNL44\"]\n\toutput \u003d []\n\t#data \u003d value[\"paths\"]\n\tfor item in data:\n\t\tpanel \u003d item.split(\u0027_\u0027)\n\t\tinstance \u003d system.tag.readBlocking(item)[0].value\n\t\tpanelName \u003d panel[-1]\n\t\tmeta \u003d instance[\u0027Meta\u0027]\n\t\tdesc \u003d meta[\u0027EqName\u0027]\n\t\troom \u003d meta[\u0027Room\u0027]\n\t\tqPname \u003d system.tag.readBlocking(item+\"/Project Name\")\n\t\tname \u003d instance[\"Project Name\"]\n\t\tload \u003d instance[\"Processor Load\"]\n\t\tversion \u003d instance[\"OS Version\"]\n\t\tyear \u003d instance[\"Year\"]\n\t\tmonth \u003d instance[\"Month\"]\n\t\tday \u003d instance[\"Day\"]\n\t\thour \u003d instance[\"Hour\"]\n\t\tminute \u003d instance[\"Minute\"]\n\t\tdate \u003d str(month) + \"/\" + str(day) + \"/\" + str(year)\n\t\ttime \u003d str(hour) + \":\" + str(minute)\n\t\ttry:\n\t\t\thb \u003d instance[\"PLC Heartbeat\"]\n\t\texcept:\n\t\t\thb \u003d False\n\t\tif str(qPname[0].quality) !\u003d \u0027Good\u0027:\n\t\t\toutput.append({ \"Panel\": panelName,\n\t\t\t\t\t\t\"Description\": desc,\n\t\t\t\t\t\t\"ProjectName\": name,\n\t\t\t\t\t\t\"Room\": room,\n\t\t\t\t\t\t\"ProcessorLoad\": \"Offline\",\n\t\t\t\t\t\t\"OSVersion\": \"Offline\",\n\t\t\t\t\t\t\"date\": \"Offline\",\n\t\t\t\t\t\t\"time\": \"Offline\",\n\t\t\t\t\t\t\"hb\": hb})\n\t\t\tcontinue\n\t\toutput.append({ \"Panel\": panelName,\n\t\t\t\t\t\t\"Description\": desc,\n\t\t\t\t\t\t\"ProjectName\": name,\n\t\t\t\t\t\t\"Room\": room,\n\t\t\t\t\t\t\"ProcessorLoad\": str(load) + \"%\",\n\t\t\t\t\t\t\"OSVersion\": version,\n\t\t\t\t\t\t\"date\": date,\n\t\t\t\t\t\t\"time\":time,\n\t\t\t\t\t\t\"hb\": hb})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "plc", + "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": "PLC" + }, + "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": "", + "paddingLeft": "10px" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "25px" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "pnl", + "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": "Panel" + }, + "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": true, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "25px" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "desc", + "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": "Description" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "Offline", + "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": "20%" + }, + { + "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": "Room" + }, + "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": "20%" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "hb", + "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": "Heartbeat" + }, + "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": "load", + "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": "Processor Load" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "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": "date", + "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": "PLC Date" + }, + "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": "time", + "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": "PLC Time" + }, + "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": "ver", + "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": "OS Version" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "OS Version" + }, + "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": [ + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "89%", + "plc": "PLC01", + "pnl": "PNL04", + "room": "RM1272", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "57%", + "plc": "PLC02", + "pnl": "PNL64", + "room": "RM1434", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "24%", + "plc": "PLC03", + "pnl": "PNL32", + "room": "RM1241", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "13%", + "plc": "PLC04", + "pnl": "PNL32", + "room": "RM1354", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "33%", + "plc": "PLC05", + "pnl": "PNL12", + "room": "RM1168", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "23%", + "plc": "PLC06", + "pnl": "PNL15", + "room": "RM1136", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "63%", + "plc": "PLC07", + "pnl": "PNL69", + "room": "RM1485", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "71%", + "plc": "PLC08", + "pnl": "PNL60", + "room": "RM1356", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "81%", + "plc": "PLC09", + "pnl": "PNL15", + "room": "RM1302", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "50%", + "plc": "PLC10", + "pnl": "PNL35", + "room": "RM1237", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "47%", + "plc": "PLC11", + "pnl": "PNL30", + "room": "RM1294", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "77%", + "plc": "PLC12", + "pnl": "PNL57", + "room": "RM1403", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "87%", + "plc": "PLC13", + "pnl": "PNL60", + "room": "RM1220", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "29%", + "plc": "PLC14", + "pnl": "PNL58", + "room": "RM1198", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "23%", + "plc": "PLC15", + "pnl": "PNL27", + "room": "RM1415", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "45%", + "plc": "PLC16", + "pnl": "PNL35", + "room": "RM1207", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "57%", + "plc": "PLC17", + "pnl": "PNL39", + "room": "RM1279", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "12%", + "plc": "PLC18", + "pnl": "PNL52", + "room": "RM1202", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "32%", + "plc": "PLC19", + "pnl": "PNL49", + "room": "RM1494", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "74%", + "plc": "PLC20", + "pnl": "PNL66", + "room": "RM1122", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "67%", + "plc": "PLC21", + "pnl": "PNL48", + "room": "RM1180", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "34%", + "plc": "PLC22", + "pnl": "PNL47", + "room": "RM1155", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "41%", + "plc": "PLC23", + "pnl": "PNL56", + "room": "RM1347", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "76%", + "plc": "PLC24", + "pnl": "PNL20", + "room": "RM1496", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "41%", + "plc": "PLC25", + "pnl": "PNL16", + "room": "RM1225", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "68%", + "plc": "PLC26", + "pnl": "PNL63", + "room": "RM1250", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "79%", + "plc": "PLC27", + "pnl": "PNL47", + "room": "RM1448", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "55%", + "plc": "PLC28", + "pnl": "PNL37", + "room": "RM1289", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "31%", + "plc": "PLC29", + "pnl": "PNL22", + "room": "RM1279", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "76%", + "plc": "PLC30", + "pnl": "PNL38", + "room": "RM1489", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "89%", + "plc": "PLC31", + "pnl": "PNL10", + "room": "RM1225", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "89%", + "plc": "PLC32", + "pnl": "PNL59", + "room": "RM1367", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "44%", + "plc": "PLC33", + "pnl": "PNL18", + "room": "RM1259", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "22%", + "plc": "PLC34", + "pnl": "PNL12", + "room": "RM1178", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "74%", + "plc": "PLC35", + "pnl": "PNL55", + "room": "RM1378", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "70%", + "plc": "PLC36", + "pnl": "PNL45", + "room": "RM1442", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "32%", + "plc": "PLC37", + "pnl": "PNL34", + "room": "RM1325", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "65%", + "plc": "PLC38", + "pnl": "PNL28", + "room": "RM1386", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "18%", + "plc": "PLC39", + "pnl": "PNL04", + "room": "RM1200", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "32%", + "plc": "PLC40", + "pnl": "PNL61", + "room": "RM1285", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "85%", + "plc": "PLC41", + "pnl": "PNL66", + "room": "RM1189", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "68%", + "plc": "PLC42", + "pnl": "PNL09", + "room": "RM1357", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "40%", + "plc": "PLC43", + "pnl": "PNL03", + "room": "RM1127", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "70%", + "plc": "PLC44", + "pnl": "PNL17", + "room": "RM1208", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "63%", + "plc": "PLC45", + "pnl": "PNL32", + "room": "RM1143", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "13%", + "plc": "PLC46", + "pnl": "PNL55", + "room": "RM1500", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "74%", + "plc": "PLC47", + "pnl": "PNL35", + "room": "RM1490", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "42%", + "plc": "PLC48", + "pnl": "PNL50", + "room": "RM1201", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "65%", + "plc": "PLC49", + "pnl": "PNL30", + "room": "RM1397", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "60%", + "plc": "PLC50", + "pnl": "PNL18", + "room": "RM1131", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "16%", + "plc": "PLC51", + "pnl": "PNL37", + "room": "RM1281", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "75%", + "plc": "PLC52", + "pnl": "PNL55", + "room": "RM1335", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "25%", + "plc": "PLC53", + "pnl": "PNL46", + "room": "RM1121", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "46%", + "plc": "PLC54", + "pnl": "PNL44", + "room": "RM1193", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "60%", + "plc": "PLC55", + "pnl": "PNL31", + "room": "RM1144", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "47%", + "plc": "PLC56", + "pnl": "PNL10", + "room": "RM1234", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "64%", + "plc": "PLC57", + "pnl": "PNL32", + "room": "RM1428", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "16%", + "plc": "PLC58", + "pnl": "PNL58", + "room": "RM1322", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "35%", + "plc": "PLC59", + "pnl": "PNL24", + "room": "RM1170", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "33%", + "plc": "PLC60", + "pnl": "PNL09", + "room": "RM1206", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "38%", + "plc": "PLC61", + "pnl": "PNL49", + "room": "RM1237", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "25%", + "plc": "PLC62", + "pnl": "PNL07", + "room": "RM1494", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "60%", + "plc": "PLC63", + "pnl": "PNL63", + "room": "RM1309", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "48%", + "plc": "PLC64", + "pnl": "PNL29", + "room": "RM1241", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "19%", + "plc": "PLC65", + "pnl": "PNL34", + "room": "RM1480", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "80%", + "plc": "PLC66", + "pnl": "PNL04", + "room": "RM1225", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "1", + "load": "49%", + "plc": "PLC67", + "pnl": "PNL52", + "room": "RM1395", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "30%", + "plc": "PLC68", + "pnl": "PNL48", + "room": "RM1273", + "time": "17:08", + "ver": "3.6" + }, + { + "date": "4/23/2026", + "desc": "Description", + "hb": "0", + "load": "42%", + "plc": "PLC69", + "pnl": "PNL35", + "room": "RM1401", + "time": "17:08", + "ver": "3.6" + } + ], + "pager": { + "activeOption": 7, + "options": [ + 7, + 10, + 25, + 50, + 100 + ] + }, + "virtualized": false + }, + "type": "ia.display.table" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\toutput \u003d []\n\tpaths \u003d self.view.custom.tagPath\n\tfor path in paths:\n\t\ttags \u003d system.tag.browse(path,{\"typeId\":\"Objects/Network/PLC_Data\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags:\n\t\t\toutput.append(str(item[\"fullPath\"]))\n\tself.view.custom.data \u003d output" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Panels_List/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Panels_List/resource.json new file mode 100644 index 0000000..4aaf0b0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Panels_List/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7e5be24881f2dd0d10e36b998d69909ebf104933b84cbcca7a932e166fe439f3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T22:28:04Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Panels_List/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Panels_List/thumbnail.png new file mode 100644 index 0000000..9495da2 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Panels_List/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Panels_List/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Panels_List/view.json new file mode 100644 index 0000000..c2526b4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Panels_List/view.json @@ -0,0 +1,2079 @@ +{ + "custom": { + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + }, + "filters": { + "alm": [], + "prov": [], + "tag": [] + } + }, + "params": {}, + "propConfig": { + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.filters": { + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "IO GW:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "alignItems": "flex-start", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_Common_IO_Gtwy", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_Common_IO_Gtwy", + "source": "prov" + }, + { + "color": "var(--callToAction)", + "filterString": "prov:Ignition_SATB1_IO1_default", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Ignition_SATB1_IO1_default", + "source": "prov" + } + ], + "path": "Library/Templates/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tsystem.perspective.sendMessage(\u0027clearFilters\u0027, {\n\t\t\u0027source\u0027: source\n\t})\n\tself.parent.parent.parent.parent.getChild(\"AlarmStatusTable\").custom.filters[source] \u003d []" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "prov" + }, + "position": { + "display": false, + "grow": 1 + }, + "props": { + "style": { + "borderBottom": "1px solid var(--border)", + "borderTop": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "75px", + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "var(--neutral-30)" + }, + "text": "Quick Search:", + "textStyle": { + "fontSize": "0.6em", + "textAlign": "center", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.instances": { + "persistent": true + }, + "props.instances[14].label": { + "binding": { + "config": { + "expression": "\u0027\u0027" + }, + "type": "expr" + } + } + }, + "props": { + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "instances": [ + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH101", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH102", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH201", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH202", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "DH203", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "CHWS", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--action-primary)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "Electrical", + "mode": "", + "selected": false, + "source": "tag" + }, + { + "color": "var(--neutral-50)", + "filterString": "", + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "label": "", + "mode": "Custom", + "selected": false, + "source": "tag" + } + ], + "path": "Library/Framework/Pill Button", + "style": { + "gap": "5px", + "padding": "8px 5px" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsource \u003d self.parent.parent.meta.name\n\tself.view.custom.filters[source] \u003d []\n\tflexRepeater \u003d self.parent.parent.getChild(\"FlexRepeater\")\n\ttoDelete \u003d []\n\tfor i, instance in enumerate(flexRepeater.props.instances):\n\t\tinstance[\u0027selected\u0027] \u003d False\n\t\tif instance[\u0027mode\u0027] \u003d\u003d \u0027Custom\u0027:\n\t\t\tinstance[\u0027label\u0027] \u003d \u0027\u0027\n\t\t\tif i \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\ttoDelete.append(i)\n\tfor index in reversed(toDelete):\n\t\tflexRepeater.props.instances.pop(index)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "props": { + "primary": false, + "text": "Remove All", + "textStyle": { + "fontSize": "0.75em", + "textAlign": "center" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "78px", + "shrink": 0 + }, + "props": { + "alignItems": "center", + "justify": "center", + "style": { + "backgroundColor": "var(--neutral-30)", + "border-left": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "tag" + }, + "position": { + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "border": "1px solid var(--border)" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "RadioGroup" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "expression": "0" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "radioStyle": { + "padding": "0px 10px" + }, + "radios": [ + { + "selected": true, + "text": "Match on ANY", + "value": 0 + }, + { + "selected": false, + "text": "Match on ALL", + "value": 1 + } + ], + "style": { + "borderLeft": "1px solid var(--border)", + "borderRight": "1px solid var(--border)", + "fontSize": "0.8em", + "padding": "4px 5px" + } + }, + "type": "ia.input.radio-group" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "grow": 1 + }, + "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": "Panel" + }, + "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": "Desc", + "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": "Description" + }, + "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": "Location" + }, + "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": "AC1", + "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": "Primary AC Supply" + }, + "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": "AC2", + "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": "Secondary AC Supply" + }, + "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": "DC1", + "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": "Primary DC Power Supply" + }, + "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": "DC2", + "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": "Secondary DC Power Supply" + }, + "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": "THA", + "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": "High Temperature" + }, + "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": "XA", + "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": "Panel Intrusion Alarm" + }, + "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": [ + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL01" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL02" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL03" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL04" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL05" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL06" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL07" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL08" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL09" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL10" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL11" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL12" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL13" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL14" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL15" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL16" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL17" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL18" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL19" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL20" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL21" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL22" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL23" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL24" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL25" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL26" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL27" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL28" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL29" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL30" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL31" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL32" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL33" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL34" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL35" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL36" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL37" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL38" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL39" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL40" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL41" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL42" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL43" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL44" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL45" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL46" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL47" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL48" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL49" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL50" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL51" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL52" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL53" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL54" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL55" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL56" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL57" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL58" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL59" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL60" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL61" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL62" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL63" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL64" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL65" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL66" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL67" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL68" + }, + { + "AC1": "Good", + "AC2": "Good", + "DC1": "Good", + "DC2": "Alarm", + "Desc": "Description", + "Room": "Location", + "THA": "Good", + "XA": "Good", + "name": "PNL69" + } + ], + "virtualized": "[{\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL00\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL01\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL02\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL03\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL04\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL05\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL06\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL07\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL08\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL09\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL10\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL11\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL12\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL13\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL14\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL15\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL16\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL17\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL18\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL19\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL20\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL21\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL22\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL23\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL24\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL25\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL26\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL27\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL28\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL29\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL30\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL31\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL32\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL33\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL34\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL35\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL36\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL37\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL38\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL39\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL40\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL41\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL42\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL43\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL44\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL45\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL46\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL47\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL48\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL49\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL50\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL51\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL52\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL53\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL54\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL55\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL56\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL57\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL58\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL59\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL60\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL61\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL62\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL63\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL64\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL65\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL66\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL67\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL68\u0027}, {\u0027XA\u0027: [\u0027OK\u0027], \u0027THA\u0027: [\u0027OK\u0027], \u0027AC1\u0027: [\u0027OK\u0027], \u0027AC2\u0027: [\u0027OK\u0027], \u0027DC2\u0027: [\u0027OK\u0027], \u0027DC1\u0027: [\u0027OK\u0027], \u0027name\u0027: \u0027PNL69\u0027}] " + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "addFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index].selected \u003d True", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "customFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(\u0027tag\u0027).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\tpass\n\telse:\n\t\tself.view.custom.filters[source].append(label)\n\t\tflexRepeater.props.instances[index][\u0027selected\u0027] \u003d True\n\t\tflexRepeater.props.instances[index][\u0027label\u0027] \u003d label\n\t\tflexRepeater.props.instances.append({\n\t\t\t\"color\": \"var(--neutral-50)\",\n\t\t\t\"filterString\": \"\",\n\t\t\t\"instancePosition\": {},\n\t\t\t\"instanceStyle\": {\n\t\t\t\"classes\": \"\"\n\t\t\t},\n\t\t\t\"mode\": \"Custom\",\n\t\t\t\"selected\": False,\n\t\t\t\"source\": \"tag\",\n\t\t\t\"label\": \"\"\n\t\t\t})", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "removeFilter", + "pageScope": true, + "script": "\tsource \u003d payload[\u0027source\u0027]\n\tlabel \u003d payload[\u0027label\u0027]\n\tindex \u003d payload[\u0027index\u0027]\n\t\n\tflexRepeater \u003d self.getChild(\"FlexContainer\").getChild(source).getChild(\"FlexRepeater\")\n\t\n\tif label in self.view.custom.filters[source]:\n\t\ti \u003d self.view.custom.filters[source].index(label)\n\t\tself.view.custom.filters[source].pop(i)\n\t\tflexRepeater.props.instances[index].selected \u003d False\n\t\tif flexRepeater.props.instances[index].mode \u003d\u003d \u0027Custom\u0027:\n\t\t\tflexRepeater.props.instances[index].label \u003d \u0027\u0027\n\t\t\tif index \u003c len(flexRepeater.props.instances) - 1:\n\t\t\t\tflexRepeater.props.instances.pop(index)\n\telse:\n\t\tpass", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/RemoteTags/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/RemoteTags/resource.json new file mode 100644 index 0000000..9ef8a78 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/RemoteTags/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5fd7f11150c2e09e7ad37a380e95b8d4682ff698bb4b5db657f571221af19816", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T19:34:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/RemoteTags/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/RemoteTags/thumbnail.png new file mode 100644 index 0000000..0aa9697 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/RemoteTags/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/RemoteTags/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/RemoteTags/view.json new file mode 100644 index 0000000..1770873 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/RemoteTags/view.json @@ -0,0 +1,153 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "Slider" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SDC_IO1_default]New Tag1.CanWrite" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SDC_IO1_default]New Tag1" + }, + "type": "tag" + } + } + }, + "type": "ia.input.slider" + }, + { + "meta": { + "name": "PowerChart" + }, + "position": { + "basis": "600px" + }, + "props": { + "config": { + "rangeEndDate": { + "$": [ + "ts", + 0, + 1758720229448 + ], + "$ts": 1758720217429 + }, + "rangeStartDate": { + "$": [ + "ts", + 0, + 1758720229448 + ], + "$ts": 1758716629429 + }, + "tagBrowserStartPath": "[Ignition_SDC_IO1_default]", + "unitOfTime": 1, + "visibility": { + "showTagBrowser": true + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "pens": [ + { + "axis": "", + "data": { + "aggregateMode": "default", + "source": "histprov:Ignition_Hist:/drv:ignition-sdc-io1:default:/tag:new tag1" + }, + "display": { + "breakLine": true, + "interpolation": "curveLinear", + "radius": 3, + "styles": { + "highlighted": { + "fill": { + "color": "#63BEA2", + "opacity": 1 + }, + "stroke": { + "color": "#63BEA2", + "dashArray": 0, + "opacity": 1, + "width": 1 + } + }, + "muted": { + "fill": { + "color": "#63BEA2", + "opacity": 0.4 + }, + "stroke": { + "color": "#63BEA2", + "dashArray": 0, + "opacity": 0.4, + "width": 1 + } + }, + "normal": { + "fill": { + "color": "#63BEA2", + "opacity": 0.8 + }, + "stroke": { + "color": "#63BEA2", + "dashArray": 0, + "opacity": 0.8, + "width": 1 + } + }, + "selected": { + "fill": { + "color": "#63BEA2", + "opacity": 1 + }, + "stroke": { + "color": "#63BEA2", + "dashArray": 0, + "opacity": 1, + "width": 1 + } + } + }, + "type": "line" + }, + "enabled": true, + "name": "new tag1", + "plot": 0, + "selectable": true, + "visible": true + } + ] + }, + "type": "ia.chart.powerchart" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Server Status/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Server Status/resource.json new file mode 100644 index 0000000..2cdf61e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Server Status/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2e6985323f193f6e0d9c0e71dc9fa38583e92881dfb0d8e588d12ca7aea60ea5", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T22:21:01Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Server Status/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Server Status/thumbnail.png new file mode 100644 index 0000000..263ddce Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Server Status/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Server Status/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Server Status/view.json new file mode 100644 index 0000000..5343fa7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/Server Status/view.json @@ -0,0 +1,1040 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 1000, + "width": 1700 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Gateway |" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/SystemName" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 14, + "fontStyle": "italic" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "style": { + "gap": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Role:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Redundancy/Role" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "License:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/LicenseState" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Uptime", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/UptimeSeconds" + }, + "transforms": [ + { + "code": "\tdays \u003d value / 86400\n\thours \u003d value % 86400\n\thours \u003d hours /3600\n\toutput \u003d str(days) + \" days \" + str(hours) + \" hrs\"\n\treturn output", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "props": { + "alignContent": "space-between", + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Session Counts:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Sessions/SessionCount" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_3" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Current Time:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/CurrentDateTime" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_4" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "80%" + }, + "props": { + "direction": "column", + "style": { + "gap": 3, + "padding": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "CPU_Gauge" + }, + "position": { + "basis": "75px" + }, + "propConfig": { + "props.arc.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/CPU Usage" + }, + "transforms": [ + { + "code": "\tif value\u003e 0.5:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.arcBackground.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/CPU Usage" + }, + "transforms": [ + { + "code": "\tif value\u003e 0.5:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/CPU Usage" + }, + "type": "tag" + } + } + }, + "props": { + "arc": { + "width": 0 + }, + "arcBackground": {}, + "endAngle": 450, + "label": { + "offsetY": 12, + "visible": false + }, + "maxValue": 1, + "startAngle": 90 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/CPU Usage" + }, + "transforms": [ + { + "expression": "{value}*100\r\n", + "type": "expression" + }, + { + "formatType": "numeric", + "formatValue": "##.##", + "type": "format" + }, + { + "expression": "{value}+\"% cpu\"", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CPU_Gauge_0" + }, + "position": { + "basis": "75px" + }, + "propConfig": { + "custom.memory": { + "binding": { + "config": { + "struct": { + "max": "{this.props.maxValue}", + "value": "{this.props.value}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d float(value[\"value\"]) / float(value[\"max\"])\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.arc.color": { + "binding": { + "config": { + "path": "this.custom.memory" + }, + "transforms": [ + { + "code": "\tif value\u003e 0.33:\n\t\toutput \u003d \"#F1E013\"\n\telif value \u003e0.66:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.arcBackground.color": { + "binding": { + "config": { + "path": "this.custom.memory" + }, + "transforms": [ + { + "code": "\tif value\u003e 0.33:\n\t\toutput \u003d \"#F1E013\"\n\telif value \u003e0.66:\n\t\toutput \u003d \"red\"\n\telse:\n\t\toutput \u003d \"green\"\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + }, + "props.maxValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": {}, + "tagPath": "[System]Gateway/Performance/Max Memory" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/Memory Usage" + }, + "type": "tag" + } + } + }, + "props": { + "arc": { + "width": 0 + }, + "arcBackground": {}, + "endAngle": 450, + "label": { + "color": "#F1E013", + "offsetY": 12, + "visible": false + }, + "startAngle": 90 + }, + "type": "ia.chart.simple-gauge" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/Memory Utilization" + }, + "transforms": [ + { + "expression": "{value}*100", + "type": "expression" + }, + { + "formatType": "numeric", + "formatValue": "##.##", + "type": "format" + }, + { + "expression": "{value}+ \" %\"", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "20%" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "85%" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "15%" + }, + "props": { + "style": { + "backgroundColor": "#143663" + }, + "text": "MASTER", + "textStyle": { + "color": "white", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Left Container" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "outlineColor": "#143663", + "outlineStyle": "solid", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Redundancy" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30%" + }, + "props": { + "style": { + "gap": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Redundancy/Connection/IsConnected" + }, + "transforms": [ + { + "fallback": "Error", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Peer Not Connected" + }, + { + "input": true, + "output": "Peer Connected" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": {}, + "tagPath": "[System]Gateway/Redundancy/Connection/IsConnected" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "red" + }, + { + "input": true, + "output": "green" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Peer Id:", + "textStyle": { + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Redundancy/Connection/PeerId" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontSize": 12 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "props": { + "style": { + "gap": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "100%" + }, + "props": { + "direction": "column", + "style": { + "gap": 3, + "padding": 5 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "85%" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "15%" + }, + "props": { + "style": { + "backgroundColor": "#143663" + }, + "text": "BACKUP", + "textStyle": { + "color": "white", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Right Container" + }, + "position": { + "basis": "50%" + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "outlineColor": "#143663", + "outlineStyle": "solid", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "justify": "space-evenly", + "style": { + "gap": "var(--space-lg)", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "grow": 1 + }, + "props": { + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO1/Master" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO2/Master" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO3/Master" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO4/Master" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO5/Master" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO6/Master" + } + ], + "justify": "space-evenly", + "path": "Library/Widgets/Network/Wgt_Agent", + "style": { + "gap": "var(--space-lg)", + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "name": "FlexRepeater_0" + }, + "position": { + "grow": 1 + }, + "props": { + "elementPosition": { + "basis": "auto" + }, + "instances": [ + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO1/Backup" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO2/Backup" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO3/Backup" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO4/Backup" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO5/Backup" + }, + { + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "tagPath": "[System]Gateway/EAM/Agents/Ignition-SATB1-IO6/Backup" + } + ], + "justify": "space-evenly", + "path": "Library/Widgets/Network/Wgt_Agent", + "style": { + "gap": "var(--space-lg)", + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "gap": "var(--space-lg)", + "padding": "var(--space-lg)" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/TableTrends/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/TableTrends/resource.json new file mode 100644 index 0000000..9c35139 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/TableTrends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f1bc74b6244f20454c931e4be06929520da1602494118634bc9a8db05aa4250f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:39:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/TableTrends/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/TableTrends/thumbnail.png new file mode 100644 index 0000000..61d99c0 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/TableTrends/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/TableTrends/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/TableTrends/view.json new file mode 100644 index 0000000..e7ce32f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Diagnostics/TableTrends/view.json @@ -0,0 +1,754 @@ +{ + "custom": { + "providers": [ + "Ignition_Common_IO_Gtwy", + "Ignition_SATB1_IO1_default", + "Ignition_SATB1_IO2_default", + "Ignition_SATB1_IO3_default", + "Ignition_SATB1_IO4_default", + "Ignition_SATB1_IO5_default" + ] + }, + "events": { + "system": { + "onStartup": { + "config": { + "script": "\n\tend \u003d system.date.now()\n\tstart \u003d system.date.addDays(end, -7)\n\t\n\tself.getChild(\"root\").getChild(\"Data\").getChild(\"Settings\").getChild(\"StartDate\").getChild(\"DateTimeInput\").props.value \u003d start\n\tself.getChild(\"root\").getChild(\"Data\").getChild(\"Settings\").getChild(\"EndDate\").getChild(\"DateTimeInput\").props.value \u003d end" + }, + "scope": "G", + "type": "script" + } + } + }, + "params": {}, + "propConfig": { + "custom.providers": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1255 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "80px" + }, + "props": { + "text": "Provider" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "struct": { + "provs": "{view.custom.providers}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tret \u003d []\n\t\n\tfor val in value[\u0027provs\u0027]:\n\t\titem \u003d {\n\t\t\t\"value\": \u0027[\u0027+val+\u0027]\u0027,\n\t\t\t\"label\": val\n\t\t}\n\t\tret.append(item)\n\treturn ret", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "value": "[Ignition_Common_IO_Gtwy]" + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Provider" + }, + "position": { + "basis": "36px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "TagBrowseTree" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.root.path": { + "binding": { + "config": { + "path": "../Provider/Dropdown.props.value" + }, + "type": "property" + } + } + }, + "props": { + "filter": { + "enabled": true + }, + "root": {} + }, + "scripts": { + "customMethods": [], + "extensionFunctions": [ + { + "enabled": true, + "name": "filterBrowseNode", + "script": "\t#system.perspective.print(str(node))\n\tif node.attributes is not None:\n\t\tfor attribute in node.getAttributes():\n\t\t\tif attribute.getId() \u003d\u003d \"history\":\n\t\t\t\treturn True\n\treturn node.hasChildren()" + } + ], + "messageHandlers": [] + }, + "type": "ia.display.tag-browse-tree" + } + ], + "meta": { + "name": "TagSelect" + }, + "position": { + "basis": "325px" + }, + "props": { + "direction": "column", + "style": { + "gap": "5px", + "overflow": "visible", + "paddingLeft": "5px", + "paddingRight": "5px", + "paddingTop": "80px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Mode" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "36px" + }, + "props": { + "options": [ + { + "label": "Historical", + "value": "historical" + }, + { + "label": "Realtime", + "value": "realtime" + } + ], + "value": "historical" + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Mode" + }, + "position": { + "basis": "150px", + "shrink": 0 + }, + "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" + }, + "props": { + "formattedValue": "Feb 5, 2026 11:05 AM", + "inputProps": { + "style": { + "fontSize": 12 + } + }, + "value": { + "$": [ + "ts", + 192, + 1770915919423 + ], + "$ts": 1770311119423 + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "StartDate" + }, + "position": { + "basis": "160px", + "shrink": 0 + }, + "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": { + "expression": "addDays(now(0),-1)" + }, + "type": "expr" + } + } + }, + "props": { + "formattedValue": "Feb 12, 2026 11:05 AM", + "inputProps": { + "style": { + "fontSize": 12 + } + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "EndDate" + }, + "position": { + "basis": "160px", + "shrink": 0 + }, + "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 + }, + "props": { + "format": 0, + "value": 1 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "256px" + }, + "props": { + "options": [ + { + "label": "min", + "value": "minutes" + }, + { + "label": "hour", + "value": "hours" + }, + { + "label": "day", + "value": "days" + } + ], + "value": "minutes" + }, + "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", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "gap": "5px", + "paddingRight": "3px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tspp \u003d self.parent.parent\n\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 self.parent.parent.parent.parent.getChild(\"TagSelect\").getChild(\"TagBrowseTree\").props.selection.values\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\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.xlsx\"%()\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": "114px", + "shrink": 0 + }, + "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": "Data" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline/resource.json new file mode 100644 index 0000000..5fe573b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e33fc9dc1d705f46b6fa90134464c05cb5fc8bdef5689aaf3cff0b574cad750b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T22:17:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline/thumbnail.png new file mode 100644 index 0000000..ed8542f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline/view.json new file mode 100644 index 0000000..5f9f37b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline/view.json @@ -0,0 +1,3491 @@ +{ + "custom": { + "colorHandler": { + "lines": "var(--olGray)" + } + }, + "params": {}, + "propConfig": { + "custom.colorHandler": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 600, + "width": 1200 + } + }, + "root": { + "children": [ + { + "custom": { + "key": "value" + }, + "meta": { + "name": "OnelineDiagram" + }, + "position": { + "height": 600, + "width": 1200 + }, + "propConfig": { + "props.elements[5].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.colorHandler.lines" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#008100" + }, + "height": "178.735", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "444.63", + "x": "26.322", + "y": "302.752" + }, + { + "fill": { + "paint": "#008100" + }, + "height": "178.735", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "444.63", + "x": "4534", + "y": "302.752" + } + ], + "id": "SES", + "name": "SES", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#a8d18d" + }, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": 220, + "x": "211.479", + "y": "652.307" + }, + { + "fill": { + "paint": "#a8d18d" + }, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": 220, + "x": 4575, + "y": "652.307" + }, + { + "fill": { + "paint": "#a8d18d" + }, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": 220, + "x": "211.479", + "y": "1244.35" + }, + { + "fill": { + "paint": "#a8d18d" + }, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": 220, + "x": 4575, + "y": "1244.35" + }, + { + "fill": { + "paint": "#a8d18d" + }, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": 220, + "x": 211.479, + "y": "1840.82" + }, + { + "fill": { + "paint": "#a8d18d" + }, + "height": "446.969", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": 220, + "x": 4575, + "y": "1840.82" + } + ], + "id": "DS", + "name": "DS", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#fafac8" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "2133.62" + }, + { + "fill": { + "paint": "#fafac8" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2993.68", + "y": "946.28" + } + ], + "id": "HS", + "name": "HS", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "1838.4" + }, + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "1838.4" + }, + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "1838.4" + }, + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "1838.4" + }, + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "1838.4" + }, + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2993.68", + "y": "1838.4" + }, + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "3428.1", + "y": "2133.62" + }, + { + "fill": { + "paint": "#c8f0ff" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "3862.53", + "y": "2133.62" + } + ], + "id": "M", + "name": "M", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "1538.87" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "1538.87" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "1538.87" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "1538.87" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "1538.87" + } + ], + "id": "P2", + "name": "P2", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "1242.06" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "1242.06" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "1242.06" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "1242.06" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "1242.06" + } + ], + "id": "P3", + "name": "P3", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "647.309" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "647.309" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "647.309" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "647.309" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "647.309" + } + ], + "id": "P5", + "name": "P5", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "814.661", + "y": "946.28" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "946.28" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "946.28" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "946.28" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "946.28" + } + ], + "id": "P4", + "name": "P4", + "type": "group" + }, + { + "elements": [ + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1252.53", + "y": "2133.62" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "1686.96", + "y": "2133.62" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2123.11", + "y": "2133.62" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2557.53", + "y": "2133.62" + }, + { + "fill": { + "paint": "#ffd7b3" + }, + "height": "154.171", + "name": "rect", + "stroke": { + "paint": "#000", + "width": "4.17px" + }, + "type": "rect", + "width": "330.99", + "x": "2993.68", + "y": "2133.62" + } + ], + "id": "P1", + "name": "P1", + "type": "group" + } + ], + "id": "P", + "name": "P", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M1145.65,724.395l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,724.395l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,724.395l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,724.395l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2888.52,724.395l1690,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,724.395l-390,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A3-1B3-2", + "name": "DS-1A3-1B3-2", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1023.37l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2890.24,1023.37l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3324.67,1023.37l1250,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1023.37l-390,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A3-1B3-1", + "name": "DS-1A3-1B3-1", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1319.14l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1319.14l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1319.14l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1319.14l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2890.24,1319.14l1690,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1319.14l-390,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A2-1B2-2", + "name": "DS-1A2-1B2-2", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1615.96l106.882,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1615.96l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1615.96l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1615.96l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2890.24,1615.96l1685,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1615.96l-390,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A2-1B2-1", + "name": "DS-1A2-1B2-1", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,1915.49l106.882,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M1583.52,1915.49l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2017.95,1915.49l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2454.09,1915.49l103.435,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M2888.52,1915.49l103.434,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M3324.67,1915.49l1250,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M814.661,1915.49l-390,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "DS-1A1-1B1-2", + "name": "DS-1A1-1B1-2", + "type": "group" + }, + { + "elements": [ + { + "d": "M1145.65,2210.7l106.882,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M1583.52,2210.7l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M2017.95,2210.7l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M2454.09,2210.7l103.435,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M2888.52,2210.7l103.434,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M3324.67,2210.7l103.434,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M3759.09,2210.7l103.434,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M4193.52,2210.7l380,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + }, + { + "d": "M814.661,2210.7l-390,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "3.75px" + }, + "type": "path" + } + ], + "id": "DA-1A1-1B1-1", + "name": "DA-1A1-1B1-1", + "type": "group" + }, + { + "elements": [ + { + "d": "M211.479,875.791l-46.431,0l0,-394.305", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M211.479,1467.84l-93.872,0l-0,-986.349", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M211.479,2064.31l-140.211,-0l0,-1582.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "SES-1A-DS", + "name": "SES-1A-DS", + "type": "group" + }, + { + "elements": [ + { + "d": "M4792.45,875.791l47.797,0l-0,-394.305", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4792.45,1467.84l93.694,0l-0,-986.349", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4792.45,2064.31l140.156,-0l-0,-1582.82", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "SES-1B-DS", + "name": "SES-1B-DS", + "type": "group" + }, + { + "elements": [ + { + "d": "M248.636,302.752l0,-172.353", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M248.636,130.399l22.872,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M248.636,130.399l-22.871,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Utility01", + "name": "Utility01", + "type": "group" + }, + { + "elements": [ + { + "d": "M4756.31,302.752l-0,-172.353", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4756.31,130.399l22.871,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M4756.31,130.399l-22.872,-21.694", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "Utility02", + "name": "Utility02", + "type": "group" + } + ], + "id": "Conections", + "name": "Conections", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 5000 2500" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 37, + "width": 107, + "x": 6, + "y": 76 + }, + "props": { + "text": "SES-1A", + "textStyle": { + "color": "#EBEBEB", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 37, + "width": 107, + "x": 1085, + "y": 76 + }, + "props": { + "text": "SES-1A", + "textStyle": { + "color": "#EBEBEB", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 37, + "width": 45, + "x": 55, + "y": 191 + }, + "props": { + "text": "DS-1A3", + "textStyle": { + "color": "#2D2D2D", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 37, + "width": 45, + "x": 54, + "y": 334 + }, + "props": { + "text": "DS-1A2", + "textStyle": { + "color": "#2D2D2D", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 37, + "width": 45, + "x": 55, + "y": 478 + }, + "props": { + "text": "DS-1A1", + "textStyle": { + "color": "#2D2D2D", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 37, + "width": 45, + "x": 1102, + "y": 190.503 + }, + "props": { + "text": "DS-1B3", + "textStyle": { + "color": "#2D2D2D", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 37, + "width": 45, + "x": 1101, + "y": 333.503 + }, + "props": { + "text": "DS-1B2", + "textStyle": { + "color": "#2D2D2D", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 37, + "width": 45, + "x": 1102, + "y": 477.503 + }, + "props": { + "text": "DS-1B1", + "textStyle": { + "color": "#2D2D2D", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_7" + }, + "position": { + "height": 22, + "width": 79, + "x": 614, + "y": 153.9895782470703 + }, + "props": { + "text": "UT-P5.5", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_8" + }, + "position": { + "height": 22, + "width": 79, + "x": 510, + "y": 155 + }, + "props": { + "text": "UT-P5.4", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_9" + }, + "position": { + "height": 22, + "width": 79, + "x": 405, + "y": 155 + }, + "props": { + "text": "UT-P5.3", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_10" + }, + "position": { + "height": 22, + "width": 79, + "x": 300, + "y": 156 + }, + "props": { + "text": "UT-P5.2", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_11" + }, + "position": { + "height": 22, + "width": 79, + "x": 196, + "y": 155 + }, + "props": { + "text": "UT-P5.1", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_12" + }, + "position": { + "height": 22, + "width": 79, + "x": 195.99, + "y": 228.98 + }, + "props": { + "text": "UT-P4.1", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_13" + }, + "position": { + "height": 22, + "width": 79, + "x": 299.99, + "y": 229.98 + }, + "props": { + "text": "UT-P4.2", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_14" + }, + "position": { + "height": 22, + "width": 79, + "x": 404.99, + "y": 228.98 + }, + "props": { + "text": "UT-P4.3", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_15" + }, + "position": { + "height": 22, + "width": 79, + "x": 509.99, + "y": 228.98 + }, + "props": { + "text": "UT-P4.4", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_16" + }, + "position": { + "height": 22, + "width": 79, + "x": 613.99, + "y": 227.98 + }, + "props": { + "text": "UT-P4.5", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_17" + }, + "position": { + "height": 22, + "width": 79, + "x": 194.99, + "y": 299.97 + }, + "props": { + "text": "UT-P3.1", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_18" + }, + "position": { + "height": 22, + "width": 79, + "x": 298.99, + "y": 300.97 + }, + "props": { + "text": "UT-P3.2", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_19" + }, + "position": { + "height": 22, + "width": 79, + "x": 403.99, + "y": 299.97 + }, + "props": { + "text": "UT-P3.3", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_20" + }, + "position": { + "height": 22, + "width": 79, + "x": 508.99, + "y": 299.97 + }, + "props": { + "text": "UT-P3.4", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_21" + }, + "position": { + "height": 22, + "width": 79, + "x": 612.99, + "y": 298.97 + }, + "props": { + "text": "UT-P3.5", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_22" + }, + "position": { + "height": 22, + "width": 79, + "x": 194.99, + "y": 371.96 + }, + "props": { + "text": "UT-P2.1", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_23" + }, + "position": { + "height": 22, + "width": 79, + "x": 298.99, + "y": 372.96 + }, + "props": { + "text": "UT-P2.2", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_24" + }, + "position": { + "height": 22, + "width": 79, + "x": 403.99, + "y": 371.96 + }, + "props": { + "text": "UT-P2.3", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_25" + }, + "position": { + "height": 22, + "width": 79, + "x": 508.99, + "y": 371.96 + }, + "props": { + "text": "UT-P2.4", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_26" + }, + "position": { + "height": 22, + "width": 79, + "x": 612.99, + "y": 370.96 + }, + "props": { + "text": "UT-P2.5", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_27" + }, + "position": { + "height": 22, + "width": 79, + "x": 193.99, + "y": 441.95 + }, + "props": { + "text": "UT-M1", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_28" + }, + "position": { + "height": 22, + "width": 79, + "x": 297.99, + "y": 442.95 + }, + "props": { + "text": "UT-M2", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_29" + }, + "position": { + "height": 22, + "width": 79, + "x": 402.99, + "y": 441.95 + }, + "props": { + "text": "UT-M3", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_30" + }, + "position": { + "height": 22, + "width": 79, + "x": 507.99, + "y": 441.95 + }, + "props": { + "text": "UT-M4", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_31" + }, + "position": { + "height": 22, + "width": 79, + "x": 611.99, + "y": 440.95 + }, + "props": { + "text": "UT-M5", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_32" + }, + "position": { + "height": 22, + "width": 79, + "x": 195.98, + "y": 513.94 + }, + "props": { + "text": "UT-HS1", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_33" + }, + "position": { + "height": 22, + "width": 79, + "x": 299.98, + "y": 514.94 + }, + "props": { + "text": "UT-P1.5", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_34" + }, + "position": { + "height": 22, + "width": 79, + "x": 404.98, + "y": 513.94 + }, + "props": { + "text": "UT-P1.2", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_35" + }, + "position": { + "height": 22, + "width": 79, + "x": 509.98, + "y": 513.94 + }, + "props": { + "text": "UT-P1.3", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_36" + }, + "position": { + "height": 19, + "width": 79, + "x": 613.98, + "y": 512.94 + }, + "props": { + "text": "UT-P1.4", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_37" + }, + "position": { + "height": 22, + "width": 79, + "x": 717, + "y": 229 + }, + "props": { + "text": "UT-HS2", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_38" + }, + "position": { + "height": 22, + "width": 79, + "x": 717, + "y": 441 + }, + "props": { + "text": "UT-M6", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_39" + }, + "position": { + "height": 22, + "width": 79, + "x": 926.97, + "y": 511.93 + }, + "props": { + "text": "UT-M8", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_40" + }, + "position": { + "height": 22, + "width": 79, + "x": 822.97, + "y": 512.93 + }, + "props": { + "text": "UT-M7", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_41" + }, + "position": { + "height": 22, + "width": 79, + "x": 717.97, + "y": 512.93 + }, + "props": { + "text": "UT-P5.5", + "textStyle": { + "color": "#252525", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "height": 20, + "width": 68, + "x": 205, + "y": 171 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO5_default]ER1161/SWBD/SATB1_ER1161_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_0" + }, + "position": { + "height": 20, + "width": 77, + "x": 301, + "y": 171 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO5_default]ER1162/SWBD/SATB1_ER1162_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_1" + }, + "position": { + "height": 20, + "width": 77, + "x": 407, + "y": 171 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO5_default]ER1163/SWBD/SATB1_ER1163_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_2" + }, + "position": { + "height": 21, + "width": 77, + "x": 510, + "y": 171 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO5_default]ER1164/SWBD/SATB1_ER1164_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_3" + }, + "position": { + "height": 23, + "width": 77, + "x": 614, + "y": 169 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO5_default]ER1165/SWBD/SATB1_ER1165_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_4" + }, + "position": { + "height": 20, + "width": 68, + "x": 205, + "y": 243 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO4_default]ER1254/SWBD/SATB1_ER1254_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_5" + }, + "position": { + "height": 20, + "width": 77, + "x": 301, + "y": 243 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO4_default]ER1255/SWBD/SATB1_ER1255_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_6" + }, + "position": { + "height": 20, + "width": 77, + "x": 407, + "y": 243 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO4_default]ER1256/SWBD/SATB1_ER1256_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_7" + }, + "position": { + "height": 21, + "width": 77, + "x": 510, + "y": 243 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO4_default]ER1257/SWBD/SATB1_ER1257_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_8" + }, + "position": { + "height": 23, + "width": 77, + "x": 614, + "y": 241 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO4_default]ER1258/SWBD/SATB1_ER1258_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_9" + }, + "position": { + "height": 20, + "width": 68, + "x": 205, + "y": 316 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO3_default]ER1155/SWBD/SATB1_ER1155_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_10" + }, + "position": { + "height": 20, + "width": 77, + "x": 301, + "y": 316 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO3_default]ER1156/SWBD/SATB1_ER1156_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_11" + }, + "position": { + "height": 20, + "width": 77, + "x": 407, + "y": 316 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO3_default]ER1157/SWBD/SATB1_ER1157_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_12" + }, + "position": { + "height": 21, + "width": 77, + "x": 510, + "y": 315 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO3_default]ER1158/SWBD/SATB1_ER1158_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_13" + }, + "position": { + "height": 23, + "width": 77, + "x": 614, + "y": 313 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO3_default]ER1159/SWBD/SATB1_ER1159_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_14" + }, + "position": { + "height": 20, + "width": 68, + "x": 205, + "y": 388 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_15" + }, + "position": { + "height": 20, + "width": 77, + "x": 301, + "y": 388 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO2_default]ER1249/SWBD/SATB1_ER1249_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_16" + }, + "position": { + "height": 20, + "width": 77, + "x": 407, + "y": 388 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO2_default]ER1250/SWBD/SATB1_ER1250_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_17" + }, + "position": { + "height": 21, + "width": 77, + "x": 510, + "y": 387 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO2_default]ER1251/SWBD/SATB1_ER1251_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_18" + }, + "position": { + "height": 23, + "width": 77, + "x": 614, + "y": 385 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO2_default]ER1252/SWBD/SATB1_ER1252_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_19" + }, + "position": { + "height": 20, + "width": 68, + "x": 205, + "y": 458 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_20" + }, + "position": { + "height": 20, + "width": 77, + "x": 303, + "y": 458 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_PQM/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_21" + }, + "position": { + "height": 20, + "width": 77, + "x": 407, + "y": 458 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_PQM/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_22" + }, + "position": { + "height": 21, + "width": 77, + "x": 510, + "y": 457 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_PQM/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_23" + }, + "position": { + "height": 23, + "width": 77, + "x": 614, + "y": 455 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_PQM/Reactive Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_24" + }, + "position": { + "height": 20, + "width": 68, + "x": 205, + "y": 530 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PQM/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_25" + }, + "position": { + "height": 20, + "width": 77, + "x": 301, + "y": 530 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_26" + }, + "position": { + "height": 20, + "width": 77, + "x": 407, + "y": 530 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO1_default]ER1243/SWBD/SATB1_ER1243_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_27" + }, + "position": { + "height": 21, + "width": 77, + "x": 510, + "y": 529 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_28" + }, + "position": { + "height": 23, + "width": 77, + "x": 614, + "y": 527 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO1_default]ER1245/SWBD/SATB1_ER1245_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_29" + }, + "position": { + "height": 23, + "width": 77, + "x": 718, + "y": 241 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_PQM/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_30" + }, + "position": { + "height": 23, + "width": 77, + "x": 719, + "y": 455 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_PQM/Reactive Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_31" + }, + "position": { + "height": 21, + "width": 77, + "x": 718, + "y": 529 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_SATB1_IO1_default]ER1246/SWBD/SATB1_ER1246_PQM1/Real Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_32" + }, + "position": { + "height": 23, + "width": 77, + "x": 823, + "y": 527 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_PQM/Reactive Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_33" + }, + "position": { + "height": 23, + "width": 77, + "x": 927, + "y": 527 + }, + "props": { + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_PQM/Reactive Power" + }, + "path": "Library/CommonObjects/miscValueDisplay", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 6, + "y": 0 + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P1/resource.json new file mode 100644 index 0000000..852c844 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2388620d9653b5483ab72eceb797c7f76d8a461849b4575c3a073178b1602c88", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:38:07Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P1/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P1/thumbnail.png new file mode 100644 index 0000000..707cb63 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P1/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P1/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P1/view.json new file mode 100644 index 0000000..76e4179 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P1/view.json @@ -0,0 +1,2351 @@ +{ + "custom": { + "pageName": "P1.1" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1261", + "IO1": "[Ignition_SATB1_IO1_default]", + "Room": "ER1242", + "boxColor": "var(--olGray)", + "pageId": "", + "pageName": "P1-1", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-HS1", + "source2": "UT-P1.2" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 806, + "width": 1812 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-HS1_to_UT-P1-1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-1_to_UT-P1-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 164.5, + "y": 105.5 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P1-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.outputPower": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Operation Modes" + }, + "enabled": false, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": 1 + }, + { + "input": 5, + "output": 1 + }, + { + "input": 6, + "output": 1 + }, + { + "input": 8, + "output": null + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 54, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.625, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.375, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 1, + "Gallery": "GAL1261", + "Gateway": "[Ignition_SATB1_IO1_default]", + "Linuep": 1 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1016, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1256, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -52, + "y": -55.5 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P2/resource.json new file mode 100644 index 0000000..052657e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8aa3287355bae1ff58124f023267ab91b2e9ec6906a095133700e1bd0a8eab9f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:38:19Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P2/thumbnail.png new file mode 100644 index 0000000..8559da9 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P2/view.json new file mode 100644 index 0000000..1acb419 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P2/view.json @@ -0,0 +1,2316 @@ +{ + "custom": { + "pageName": "P1.2" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1261", + "IO1": "[Ignition_SATB1_IO1_default]", + "Room": "ER1243", + "boxColor": "var(--olGray)", + "pageId": "", + "pageName": "P1-2", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.1", + "source2": "UT-P1.3" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + }, + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "code": "\tif value is None:\n\t\treturn 0\n\treturn value", + "type": "script" + }, + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-1_to_UT-P1-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-2_to_UT-P1-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P1-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO1_default]ER1243/SWBD/SATB1_ER1243_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 1, + "Gallery": "GAL1261", + "Gateway": "[Ignition_SATB1_IO1_default]", + "Linuep": 2 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1016, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1256, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P3/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P3/resource.json new file mode 100644 index 0000000..96e1099 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P3/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c4dcbf00b5de9ce1f5075ee28a4937e11b39e3961b53b4c365dc93cc57c4e414", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:38:25Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P3/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P3/thumbnail.png new file mode 100644 index 0000000..2d78a0f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P3/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P3/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P3/view.json new file mode 100644 index 0000000..2d2200d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P3/view.json @@ -0,0 +1,2340 @@ +{ + "custom": { + "pageName": "P1.3" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1261", + "IO1": "[Ignition_SATB1_IO1_default]", + "Room": "ER1244", + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P1-3", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-2_to_UT-P1-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-3_to_UT-P1-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P1-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-3" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 1, + "Gallery": "GAL1261", + "Gateway": "[Ignition_SATB1_IO1_default]", + "Linuep": 3 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 0, + "y": 10 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P4/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P4/resource.json new file mode 100644 index 0000000..2834b5a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P4/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ab249f4d1c6502780b95e8a5d187e7e4ad27ac215a359bf8e30ed111a97410cb", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:38:29Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P4/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P4/thumbnail.png new file mode 100644 index 0000000..c83c664 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P4/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P4/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P4/view.json new file mode 100644 index 0000000..67dcc89 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P4/view.json @@ -0,0 +1,2336 @@ +{ + "custom": { + "pageName": "P1.4" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1261", + "IO1": "[Ignition_SATB1_IO1_default]", + "Room": "ER1245", + "boxColor": "var(--olGray)", + "inputPower1": 0, + "inputPower2": 0, + "pageId": "", + "pageName": "P1-4", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-3_to_UT-P1-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-4_to_UT-P1-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P1-4", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-4" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO1_default]ER1245/SWBD/SATB1_ER1245_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 1, + "Gallery": "GAL1261", + "Gateway": "[Ignition_SATB1_IO1_default]", + "Linuep": 4 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1136, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1016, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P5/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P5/resource.json new file mode 100644 index 0000000..958e5a1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P5/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c383892c988ac72678dd98c7104e7d2cb9162e88e9b7f4bd7451bde7c51103b2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:38:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P5/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P5/thumbnail.png new file mode 100644 index 0000000..bc43883 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P5/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P5/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P5/view.json new file mode 100644 index 0000000..b96ba1a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH101_P5/view.json @@ -0,0 +1,2342 @@ +{ + "custom": { + "pageName": "P1.5" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1261", + "IO1": "[Ignition_SATB1_IO1_default]", + "Room": "ER1246", + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P1-5", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-4_to_UT-P1-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-5_to_UT-M7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P1-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../DP-P.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "enabled": false, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-5" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO1_default]ER1246/SWBD/SATB1_ER1246_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 1, + "Gallery": "GAL1261", + "Gateway": "[Ignition_SATB1_IO1_default]", + "Linuep": 5 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 324, + "y": 33 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P1/resource.json new file mode 100644 index 0000000..e2b647c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c1530d7ad6f37c745ab4558838ead7a96b5b3e746fab10bf6e689b3f566dd463", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:39:11Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P1/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P1/thumbnail.png new file mode 100644 index 0000000..225c3ef Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P1/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P1/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P1/view.json new file mode 100644 index 0000000..e74077f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P1/view.json @@ -0,0 +1,2338 @@ +{ + "custom": { + "pageName": "P2.1" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1271", + "IO1": "[Ignition_SATB1_IO2_default]", + "Room": "ER1248", + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P2-1", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS2A_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-1_to_UT-P2-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P2-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 2, + "Gallery": "GAL1271", + "Gateway": "[Ignition_SATB1_IO2_default]", + "Linuep": 1 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-1-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P2/resource.json new file mode 100644 index 0000000..2942e90 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1921069cdc8c666ef3cc83864805fc5be371bb2edf74f784d617827919e7ccc3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:39:21Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P2/thumbnail.png new file mode 100644 index 0000000..65c1343 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P2/view.json new file mode 100644 index 0000000..161066c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P2/view.json @@ -0,0 +1,2336 @@ +{ + "custom": { + "pageName": "P2.2" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1271", + "IO1": "[Ignition_SATB1_IO2_default]", + "Room": "ER1249", + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P2-2", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-1_to_UT-P2-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-2_to_UT-P2-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P2-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO2_default]ER1249/SWBD/SATB1_ER1249_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 2, + "Gallery": "GAL1271", + "Gateway": "[Ignition_SATB1_IO2_default]", + "Linuep": 2 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-2-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P3/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P3/resource.json new file mode 100644 index 0000000..3542d19 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P3/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7fb373280ee41397c619402fdc95fff32a478ac6495268fb8742ec95352d5a56", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:39:26Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P3/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P3/thumbnail.png new file mode 100644 index 0000000..3579ab9 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P3/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P3/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P3/view.json new file mode 100644 index 0000000..7b3371e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P3/view.json @@ -0,0 +1,2336 @@ +{ + "custom": { + "pageName": "P2.3" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1271", + "IO1": "[Ignition_SATB1_IO2_default]", + "Room": "ER1250", + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P2-3", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-2_to_UT-P2-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-3_to_UT-P2-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P2-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-3" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO2_default]ER1250/SWBD/SATB1_ER1250_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 2, + "Gallery": "GAL1271", + "Gateway": "[Ignition_SATB1_IO2_default]", + "Linuep": 3 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-3-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1016, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1376, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P4/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P4/resource.json new file mode 100644 index 0000000..33d1714 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P4/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6ca15e0caf001e2e4092aa9a66079c6a3951168fada254dfcc64fa81716844ed", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:39:31Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P4/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P4/thumbnail.png new file mode 100644 index 0000000..874b084 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P4/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P4/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P4/view.json new file mode 100644 index 0000000..20e8e9c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P4/view.json @@ -0,0 +1,2336 @@ +{ + "custom": { + "pageName": "P2.4" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1271", + "IO1": "[Ignition_SATB1_IO2_default]", + "Room": "ER1251", + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P2-4", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-3_to_UT-P2-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-4_to_UT-P2-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P2-4", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "value", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-4" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO2_default]ER1251/SWBD/SATB1_ER1251_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 2, + "Gallery": "GAL1271", + "Gateway": "[Ignition_SATB1_IO2_default]", + "Linuep": 4 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-4-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P5/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P5/resource.json new file mode 100644 index 0000000..e7845c5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P5/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "148b115c9afa44d600213ad42dc84df0c83e0f10d778efb67a364ff579e4fec1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:39:35Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P5/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P5/thumbnail.png new file mode 100644 index 0000000..c7f063a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P5/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P5/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P5/view.json new file mode 100644 index 0000000..2268685 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH102_P5/view.json @@ -0,0 +1,2386 @@ +{ + "custom": { + "pageName": "P2.5" + }, + "params": { + "Common": "[Ignition_Common_IO_Gtwy]", + "Galery": "GAL1271", + "IO1": "[Ignition_SATB1_IO2_default]", + "Room": "ER1252", + "boxColor": "var(--olGray)", + "inputPower1": 1, + "inputPower2": 0, + "pageId": "", + "pageName": "P2-5", + "textColor": "var(--olGray)", + "textHandler": { + "source1": "UT-P1.2", + "source2": "UT-P1.4" + } + }, + "propConfig": { + "custom.pageName": { + "binding": { + "config": { + "expression": "replace({view.params.pageName},\u0027-\u0027,\u0027.\u0027)" + }, + "type": "expr" + }, + "persistent": true + }, + "params.Common": { + "paramDirection": "input", + "persistent": true + }, + "params.Galery": { + "paramDirection": "input", + "persistent": true + }, + "params.IO1": { + "paramDirection": "input", + "persistent": true + }, + "params.Room": { + "paramDirection": "input", + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower1": { + "paramDirection": "inout", + "persistent": true + }, + "params.inputPower2": { + "paramDirection": "inout", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "inout", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + }, + "params.textHandler": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 790, + "width": 1790 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-4_to_UT-P2-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS2B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.params.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.Common}+\u0027Yard/SATB1_YARD_GEN-\u0027+{view.params.pageName}" + }, + "type": "expr" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_CAM-\u0027+{view.params.pageName}\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "props.params.textHandler.CAM.CAM1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P2-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 56, + "y": 33 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.params.inputPower1" + }, + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.params.inputPower2" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+\u0027Yard/SATB1_YARD_UT-\u0027+{view.params.pageName}\r\n\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../DP-P.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.textHandler.tagIdPlate1": { + "binding": { + "config": { + "expression": "\u0027STU-DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-1\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-4\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-1\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SATB1_\u0027+ {view.params.Room} +\u0027_UPS-2\u0027\r\n//[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "path": "view.params.pageName" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Room}+\u0027/SWBD\u0027\r\n\r\n" + }, + "type": "expr" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "expression": "\u0027SWBD \u0027+ {view.params.pageName}\r\n" + }, + "transforms": [ + { + "code": "\treturn value.replace(\u0027-\u0027, \u0027.\u0027)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "room": "ER1252", + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "expression": "\u0027DP-\u0027+{view.custom.pageName}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "tostr({view.params.tagPath})+\u0027/SATB1_YARD_SPD-\u0027+tostr({view.params.pageName})\r\n\r\n" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_UPS-1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "props": { + "params": { + "tagPath": "[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_UPS-2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P2-5" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_SATB1_IO2_default]ER1252/SWBD/SATB1_ER1252_PQM1", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "props": { + "params": { + "DH": 2, + "Gallery": "GAL1271", + "Gateway": "[Ignition_SATB1_IO2_default]", + "Linuep": 5 + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView", + "visible": false + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_7", + "visible": false + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 61, + "width": 94, + "x": 1027, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-1/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-2/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_8" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-3/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_9" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "props": { + "params": { + "desc": "Output Power", + "tagpath": "[Ignition_SATB1_IO2_default]GAL1271/SATB1_GAL1271_PDU_P2-5-4/Output Total KW" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_0" + }, + "position": { + "height": 160, + "width": 130, + "x": 1136, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-2\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU_3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1256, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "{view.params.IO1}+{view.params.Galery}+\u0027/SATB1_\u0027+{view.params.Galery}+\u0027_PDU_\u0027+{view.params.pageName}+\u0027-3\u0027\r\n//[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -3, + "y": 6 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P1/resource.json new file mode 100644 index 0000000..55dd276 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e96a2346b9d1f8b3ceae515412e1df2ab11a7adf6e44366c7a8d66107ebaf0f7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:39:53Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P1/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P1/thumbnail.png new file mode 100644 index 0000000..0d194e9 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P1/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P1/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P1/view.json new file mode 100644 index 0000000..7a70be5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P1/view.json @@ -0,0 +1,2776 @@ +{ + "custom": { + "DH": 3, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 1, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P3.1", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "custom.cam_energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P3-1/Closed" + }, + "type": "tag" + } + }, + "custom.ut_energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-1/Data/isEnergized" + }, + "type": "tag" + } + }, + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "this.custom.ut_energized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 0, + "breaker11": 0, + "breaker12": 0, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P3.1", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P3.1", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1155/SATB1_ER1155_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P2/resource.json new file mode 100644 index 0000000..530dcf6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d89d506308de8b77bdd5dedce57c2ce1db06194d78de6bbbbadbde9b3ded79b0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:39:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P2/thumbnail.png new file mode 100644 index 0000000..846076c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P2/view.json new file mode 100644 index 0000000..94ed3fe --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P2/view.json @@ -0,0 +1,2766 @@ +{ + "custom": { + "DH": 3, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 2, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P3.2", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "custom.ut_energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-2/Data/isEnergized" + }, + "type": "tag" + } + }, + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "this.custom.ut_energized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 0, + "breaker11": 0, + "breaker12": 0, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P3.2", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P3.2", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1156/SATB1_ER1156_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P3/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P3/resource.json new file mode 100644 index 0000000..b74d45f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P3/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f962dd68843a7596cacfaf071c4278b5f42b123690fe6844dc5785ec5c1d875c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:40:07Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P3/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P3/thumbnail.png new file mode 100644 index 0000000..911b860 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P3/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P3/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P3/view.json new file mode 100644 index 0000000..405bd23 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P3/view.json @@ -0,0 +1,2768 @@ +{ + "custom": { + "DH": 3, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 3, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P3.3", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "custom.ut_energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-3/Data/isEnergized" + }, + "type": "tag" + } + }, + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "this.custom.ut_energized" + }, + "enabled": false, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "inputPowerMain": 1, + "outputPower": { + "breaker1": 1, + "breaker10": 0, + "breaker11": 0, + "breaker12": 0, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P3.3", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P3.3", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1157/SATB1_ER1157_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P4/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P4/resource.json new file mode 100644 index 0000000..81ac52e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P4/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c90343c87bd1703460014aaec3c624f4f868a64e866bfaeae5413ff519f410f7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:40:11Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P4/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P4/thumbnail.png new file mode 100644 index 0000000..26b7145 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P4/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P4/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P4/view.json new file mode 100644 index 0000000..fdd9eba --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P4/view.json @@ -0,0 +1,2766 @@ +{ + "custom": { + "DH": 3, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 4, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P3.4", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "custom.UT_Energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-4/Data/isEnergized" + }, + "type": "tag" + } + }, + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "this.custom.UT_Energized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 0, + "breaker11": 0, + "breaker12": 0, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P3.4", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P3.4", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1158/SATB1_ER1158_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P5/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P5/resource.json new file mode 100644 index 0000000..75dd06b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P5/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7a2cf6b3adb3ae497da92f1d3fbef8a166982b6bfbae895791a18c39cccc7478", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:40:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P5/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P5/thumbnail.png new file mode 100644 index 0000000..5c91c8c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P5/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P5/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P5/view.json new file mode 100644 index 0000000..37d7531 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH201_P5/view.json @@ -0,0 +1,2770 @@ +{ + "custom": { + "DH": 3, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 5, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P3.5", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "custom.utpowered": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-5/Data/isEnergized" + }, + "type": "tag" + } + }, + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "this.custom.utpowered" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 0, + "breaker11": 1, + "breaker12": 0, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P3.5", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P3.5", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1159/SATB1_ER1159_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GA1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -130, + "y": 31 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P1/resource.json new file mode 100644 index 0000000..087999e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8604b2187aeb4a89fac1d6cd165e7d86a2ccb64356a8527a117e6e69e8c202de", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:40:33Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P1/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P1/thumbnail.png new file mode 100644 index 0000000..94a07eb Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P1/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P1/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P1/view.json new file mode 100644 index 0000000..1f14485 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P1/view.json @@ -0,0 +1,2759 @@ +{ + "custom": { + "DH": 4, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_SATB1_IO4_default]", + "in1": true, + "in2": true, + "lineup": 1, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P4.2" + } + }, + "params": { + "pageId": "", + "pageName": "P4-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P4-1/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5 or value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telse:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P4.1", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "custom.ut_energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-1/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "this.custom.ut_energized" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO4_default]ER1254/SATB1_ER1254_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P2/resource.json new file mode 100644 index 0000000..793949b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "19510fad72439ed4c67f487d0950d875490b8e90be33d3df00cdc4e964d025ce", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:40:46Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P2/thumbnail.png new file mode 100644 index 0000000..f6f2bde Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P2/view.json new file mode 100644 index 0000000..bcb3d9f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P2/view.json @@ -0,0 +1,2762 @@ +{ + "custom": { + "DH": 4, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_SATB1_IO4_default]", + "in1": true, + "in2": true, + "lineup": 2, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5 or value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telse:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P4.2", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "custom.ut_energized": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-2/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "path": "this.custom.ut_energized" + }, + "type": "property" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO4_default]ER1255/SATB1_ER1255_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GA1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P3/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P3/resource.json new file mode 100644 index 0000000..307f1a7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P3/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "66215a7ecbf802939201f836f31efd2670a4d633bad1e2d0f96e5108b821f7c3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:40:50Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P3/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P3/thumbnail.png new file mode 100644 index 0000000..711c375 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P3/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P3/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P3/view.json new file mode 100644 index 0000000..f707122 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P3/view.json @@ -0,0 +1,2754 @@ +{ + "custom": { + "DH": 4, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_SATB1_IO4_default]", + "in1": true, + "in2": true, + "lineup": 3, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5 or value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telse:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P4.3", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-3/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO4_default]ER1256/SATB1_ER1256_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P4/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P4/resource.json new file mode 100644 index 0000000..c14a4c5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P4/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fbe5df5683c9aaa1ce9d37d4e72022622f4314d32f5b3323b656bd335cec7032", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:40:55Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P4/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P4/thumbnail.png new file mode 100644 index 0000000..6211103 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P4/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P4/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P4/view.json new file mode 100644 index 0000000..a9c077c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P4/view.json @@ -0,0 +1,2758 @@ +{ + "custom": { + "DH": 4, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_SATB1_IO4_default]", + "in1": true, + "in2": true, + "lineup": 4, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5 or value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telse:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P4.4", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-4/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO4_default]ER1257/SATB1_ER1257_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -7, + "y": -1 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P5/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P5/resource.json new file mode 100644 index 0000000..4a305ce --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P5/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3e89bee66ae774a1c8fc5f99aa8e78e0d52d101177d43b93bac448e5a25d7da7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:41:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P5/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P5/thumbnail.png new file mode 100644 index 0000000..9cb2a16 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P5/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P5/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P5/view.json new file mode 100644 index 0000000..d2d52e4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH202_P5/view.json @@ -0,0 +1,2754 @@ +{ + "custom": { + "DH": 4, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_SATB1_IO4_default]", + "in1": true, + "in2": true, + "lineup": 5, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5 or value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telse:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P4.5", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-5/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_SATB1_IO4_default]ER1258/SATB1_ER1258_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P1/resource.json new file mode 100644 index 0000000..48c2b83 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4bb8de5eba6b182f1b8129835b9b4fa0ed6e0aadae17c51de7145e4feba1d1c1", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:41:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P1/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P1/thumbnail.png new file mode 100644 index 0000000..6defe13 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P1/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P1/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P1/view.json new file mode 100644 index 0000000..11d5b14 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P1/view.json @@ -0,0 +1,2758 @@ +{ + "custom": { + "DH": 5, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 1, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P5.1", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-1/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P5.1", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P5.1", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1161/SATB1_ER1161_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P2/resource.json new file mode 100644 index 0000000..ee7329f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6e7ed4dda743b8cc920a06ffada1a33420a77d150a467ec120c4474177f3a1e0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:41:17Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P2/thumbnail.png new file mode 100644 index 0000000..3b9f378 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P2/view.json new file mode 100644 index 0000000..32c801d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P2/view.json @@ -0,0 +1,2762 @@ +{ + "custom": { + "DH": 5, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 2, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P5.2", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-2/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P5.2", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P5.2", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1162/SATB1_ER1162_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -35, + "y": -11.5 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P3/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P3/resource.json new file mode 100644 index 0000000..30dfcdc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P3/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "00fd6c53621d7aabf8de058dbb7a71284d39abdacf470928602bacaab878aa0f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:41:23Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P3/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P3/thumbnail.png new file mode 100644 index 0000000..f218622 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P3/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P3/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P3/view.json new file mode 100644 index 0000000..ec73043 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P3/view.json @@ -0,0 +1,2746 @@ +{ + "custom": { + "DH": 5, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 3, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P5.3", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-3/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P5.3", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P5.3", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1163/SATB1_ER1163_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P4/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P4/resource.json new file mode 100644 index 0000000..1eb4000 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P4/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "be32e6036340c3f91979dc07fd9dd5dd97d7cf2922b16f5b80f6c016ec129a16", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:41:28Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P4/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P4/thumbnail.png new file mode 100644 index 0000000..e52769a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P4/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P4/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P4/view.json new file mode 100644 index 0000000..ee4371b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P4/view.json @@ -0,0 +1,2758 @@ +{ + "custom": { + "DH": 5, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 4, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P5.4", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-4/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 1, + "breaker14": 1, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P5.4", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P5.4", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1164/SATB1_ER1164_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P5/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P5/resource.json new file mode 100644 index 0000000..6c3251a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P5/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "812e650715caf667ecbf0e0462ef1aaee57c0cc20f99d9c98c7af06d7659f30a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:41:34Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P5/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P5/thumbnail.png new file mode 100644 index 0000000..c50bc5e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P5/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P5/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P5/view.json new file mode 100644 index 0000000..a7e1f68 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_DH203_P5/view.json @@ -0,0 +1,2758 @@ +{ + "custom": { + "DH": 5, + "boxColor": "var(--olGray)", + "gtwy": "[Ignition_Common_IO_Gtwy]", + "in1": true, + "in2": true, + "lineup": 5, + "rooms": [ + [ + "ER1242", + "ER1243", + "ER1244", + "ER1245", + "ER1246" + ], + [ + "ER1248", + "ER1249", + "ER1250", + "ER1251", + "ER1252" + ], + [ + "ER1155", + "ER1156", + "ER1157", + "ER1158", + "ER1159" + ], + [ + "ER1254", + "ER1255", + "ER1256", + "ER1257", + "ER1258" + ], + [ + "ER1161", + "ER1162", + "ER1163", + "ER1164", + "ER1165" + ] + ], + "textColor": "var(--olGray)", + "textHandler": { + "source1": "DS-1A2", + "source2": "UT-P3.2" + } + }, + "params": { + "pageId": "", + "pageName": "P3-1" + }, + "propConfig": { + "custom.DH": { + "persistent": true + }, + "custom.boxColor": { + "persistent": true + }, + "custom.gtwy": { + "persistent": true + }, + "custom.in1": { + "persistent": true + }, + "custom.in2": { + "persistent": true + }, + "custom.lineup": { + "persistent": true + }, + "custom.rooms": { + "persistent": true + }, + "custom.textColor": { + "persistent": true + }, + "custom.textHandler": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.pageName": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 813, + "width": 1815 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "P-Cables" + }, + "position": { + "height": 790, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.BKR1": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR10": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR11": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR12": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR5": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR6": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR7": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR8": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.BKR9": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.CAM": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GEN": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + }, + "custom.colorHandler.inputPower1": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.inputPower2": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR9" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR10" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR11" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR12" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower1" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.inputPower2" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].text": { + "binding": { + "config": { + "path": "view.custom.textHandler.source2" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.custom.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GEN" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CAM" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR5" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR6" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.BKR7" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS2" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS1" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M4604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M5604.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M6104.12,1364.35l-0,356.543", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "4.17px" + }, + "type": "path" + } + ], + "id": "PDU", + "name": "PDU", + "type": "group", + "visibility": "visible" + }, + { + "d": "M1104.17,1362.37l-0,129.3", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "width": "4.17px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M221,70.747l8.208,12.536l-8.208,12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M312.541,83.283l0,161.624", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M229.208,83.283l83.333,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,200.946,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "81.659px", + "y": "91.771px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M487.375,95.819l-8.208,-12.536l8.208,-12.536", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.17px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l0,161.624", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M395.833,83.283l83.334,0", + "fill": {}, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,613.446,91.7708)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "type": "text", + "x": "494.159px", + "y": "91.771px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,906.365,2316.77)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px", + "fontWeight": "700" + }, + "text": "MPZ-P1.2", + "type": "text", + "x": "801.342px", + "y": "2316.77px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,905.487,2337.82)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": " GEN EX AU", + "type": "text", + "x": "801.752px", + "y": "2337.82px" + }, + { + "name": "group", + "transform": "matrix(23.3333,0,0,23.3333,889.343,2358.67)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "23.333px" + }, + "text": "POWER", + "type": "text", + "x": "801.194px", + "y": "2358.66px" + }, + { + "d": "M854.167,2250l-0,-260.417", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,2291.67l-22.958,-41.667l45.915,0l-22.957,41.667Zm-0,-9.594l15.12,-27.443l-30.241,-0l15.121,27.443Z", + "fill": {}, + "name": "path", + "type": "path" + } + ], + "id": "AUX-PWR", + "name": "AUX-PWR", + "type": "group", + "visibility": "visible" + }, + { + "d": "M354.167,479.055l-0,587.737", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M854.167,316.667l-0,356.47", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M854.167,733.333l-0,489.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "CAM", + "name": "CAM", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M1354.17,2551.9l-0,-562.315", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2104.17,1718.57l-0,-353.982", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "DP", + "name": "DP", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M2708.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M2708.33,3083.33l0,-1094.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1719.14l0,-327.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M3458.33,1989.08l0,927.584", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,1391.67l-0,1691.67", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,1391.67l-0,1525", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6854.09,2916.67l-218.65,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6568.45,2916.67l-3110.12,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + }, + { + "d": "M6604.19,3083.33l-3895.86,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linejoin": "bevel", + "width": "4.63px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 7459 3292" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "GEN" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.Generator.Gen1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Parameters.DeviceLabel" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027dh\u0027] \u003d\u003d 3 or value[\u0027dh\u0027] \u003d\u003d 5:\n\t\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 1:\n\t\treturn \"[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 2:\n\t\treturn \"[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])\n\telif value[\u0027dh\u0027] \u003d\u003d 4:\n\t\treturn \"[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_CAM-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-P5.5", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.inputPower_A": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.inputPower_B": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": 0 + }, + { + "input": true, + "output": 1 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"{}Yard/SATB1_YARD_UT-P{}-{}\".format(value[\u0027gtwy\u0027], value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Dist PNL" + }, + "position": { + "height": 109, + "width": 258, + "x": 300, + "y": 581 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "STU-DP-P3.1", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1" + }, + "position": { + "height": 160, + "width": 130, + "x": 1015, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker9" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2" + }, + "position": { + "height": 160, + "width": 130, + "x": 1135, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker10" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3" + }, + "position": { + "height": 160, + "width": 130, + "x": 1255, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker11" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4" + }, + "position": { + "height": 160, + "width": 130, + "x": 1375, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker12" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "PDU", + "outputPower": { + "subfeedBkr1": 0, + "subfeedBkr2": 0, + "subfeedBkr3": 0, + "subfeedBkr4": 0, + "subfeedBkr5": 0 + }, + "textColor": "var(--olGray)", + "textHandler": { + "PDU1": "Parameters.DeviceLabel", + "PDU2": "1000kVA", + "PDU3": "(OFCI)", + "SBFDBkr1": "1600AF", + "SBFDBkr1-1": "600AF", + "SBFDBkr1-2": "600AT", + "SBFDBkr1-3": "LSI", + "SBFDBkr1-4": "100%", + "SBFDBkr1-5": "TYP FOR 5", + "SBFDBkr1-6": "TO DATA HALL", + "SBFDBkr2": "1200AT", + "SBFDBkr3": "LSI,ST,", + "SBFDBkr4": "ERMS,", + "SBFDBkr5": "100%", + "SBFDBkr6": "1000kVA", + "SPD": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/PDU V2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1" + }, + "position": { + "height": 160, + "width": 130, + "x": 585, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker6" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2" + }, + "position": { + "height": 160, + "width": 130, + "x": 765, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker7" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UPS", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Battery1": "600A", + "UPS2": "1000kVA, 1000kW", + "UPS3": "480V,3PH, 3W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS woCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_P" + }, + "position": { + "height": 111, + "width": 1725, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inUPS1": { + "binding": { + "config": { + "path": "../UPS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inUPS2": { + "binding": { + "config": { + "path": "../UPS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerGen": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPowerMain": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-5/Data/isEnergized" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 1 + }, + { + "input": false, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.pageName": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.room": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\treturn group[value[\u0027lp\u0027]-1]", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD\".format(value[\u0027dh\u0027], er)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.SWBD1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "hp": "now(3000)", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"SWBD P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": { + "breaker1": 1, + "breaker10": 1, + "breaker11": 1, + "breaker12": 1, + "breaker13": 0, + "breaker14": 0, + "breaker2": 0, + "breaker3": 0, + "breaker4": 0, + "breaker5": 1, + "breaker6": 1, + "breaker7": 1, + "breaker8": 0, + "breaker9": 1 + }, + "textColor": "var(--olGray)", + "textHandler": { + "SWBD1": "SWBD P5.5", + "SWBD2": "3000A. 480V, 3PH", + "SWBD3": "3W, 35kAIC, UL891" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-P" + }, + "position": { + "height": 105, + "width": 371, + "x": 180, + "y": 385 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker5" + }, + "type": "property" + } + }, + "props.params.textHandler.IDPlate1": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\treturn \"DP P{}.{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "100AT", + "Breaker1-2": "LSI", + "Breaker1-3": "NC", + "Breaker2-1": "400AT", + "Breaker2-2": "LSI", + "Breaker2-3": "NC", + "Breaker3-1": "15AT", + "Breaker3-2": "LSI", + "Breaker3-3": "NC", + "Breaker4-1": "15AT", + "Breaker4-2": "LSI", + "Breaker4-3": "NC", + "Breaker5-1": "15AT", + "Breaker5-2": "LSI", + "Breaker5-3": "NC", + "IDPlate1": "DP P5.5", + "IDPlate2": "800A, 480V", + "IDPlate3": "3PH, 3W, 65kAIC", + "Mainbreaker1": "800AT", + "Mainbreaker2": "LSIG, NC", + "Mainbreaker3": "100%", + "mainLegend": "TO CRAH\u0027s" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_P.props.params.outputPower.breaker1" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "gtwy": "{view.custom.gtwy}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"{}{}/SATB1_{}_SPD\".format(value[\u0027gtwy\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "H2" + }, + "position": { + "height": 50, + "width": 50, + "x": 707, + "y": 544 + }, + "props": { + "params": { + "objectName": "H2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1165/SATB1_ER1165_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS1 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 703.63, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS2 BAT" + }, + "position": { + "height": 51, + "width": 59, + "x": 887.38, + "y": 489 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_UPS-2\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/UPS_P", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Critical Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 667, + "y": 6 + }, + "propConfig": { + "props.params.DH": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "type": "property" + } + }, + "props.params.Gallery": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "fallback": "GAL1261", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "GAL1261" + }, + { + "input": 2, + "output": "GAL1271" + }, + { + "input": 3, + "output": "GAL1171" + }, + { + "input": 4, + "output": "GAL1281" + }, + { + "input": 5, + "output": "GAL1181" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.Gateway": { + "binding": { + "config": { + "path": "view.custom.DH" + }, + "transforms": [ + { + "expression": "\"[Ignition_SATB1_IO\" +{value}+ \"_default]\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.params.Linuep": { + "binding": { + "config": { + "path": "view.custom.lineup" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/Power Critical", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Total Trend" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}", + "rooms": "{view.custom.rooms}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\trooms \u003d value[\u0027rooms\u0027]\n\tgroup \u003d rooms[value[\u0027dh\u0027]-1]\n\ter \u003d group[value[\u0027lp\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SWBD/SATB1_{}_PQM1\".format(value[\u0027dh\u0027], er, er)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN Fuel" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn \"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P{}-{}\".format(value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU1 Power" + }, + "position": { + "height": 63, + "width": 95, + "x": 1034, + "y": 549.5 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-1/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU2 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1147, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-2/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU3 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1267, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-3/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDU4 Power" + }, + "position": { + "height": 61, + "width": 94, + "x": 1387, + "y": 554 + }, + "propConfig": { + "props.params.tagpath": { + "binding": { + "config": { + "struct": { + "dh": "{view.custom.DH}", + "lp": "{view.custom.lineup}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tgalleries \u003d [\"GAL1261\", \"GAL1271\", \"GAL1171\", \"GAL1281\", \"GAL1181\"]\n\tgl \u003d galleries[value[\u0027dh\u0027]-1]\n\treturn \"[Ignition_SATB1_IO{}_default]{}/SATB1_{}_PDU_P{}-{}-4/Output Total KW\".format(value[\u0027dh\u0027], gl, gl, value[\u0027dh\u0027], value[\u0027lp\u0027])", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "params": { + "desc": "Output Power" + }, + "path": "Pages/Dev/D_Electrical/Widgets/VariableValue", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS1/resource.json new file mode 100644 index 0000000..1cb36e7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4c3483fbefa3d4bf17a3381a4e384b11f1771905d6e483667721901718122867", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:53:51Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS1/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS1/thumbnail.png new file mode 100644 index 0000000..3ad6e3e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS1/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS1/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS1/view.json new file mode 100644 index 0000000..534da97 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS1/view.json @@ -0,0 +1,5961 @@ +{ + "custom": { + "Src01": 1, + "Src02": 0 + }, + "params": { + "pageId": "" + }, + "propConfig": { + "custom.Src01": { + "persistent": true + }, + "custom.Src02": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1310, + "width": 1801 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "HS1 Cables" + }, + "position": { + "height": 1290, + "width": 1790 + }, + "propConfig": { + "custom.colorHandler.CamOut": { + "binding": { + "config": { + "path": "../CAM-HS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.FP": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB1": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._1" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB10": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB11": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._11" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB12": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB13": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._13" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB14": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._14" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB15": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._15" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB16": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._16" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB2": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB3": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB4": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._4" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB5": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._5" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB6": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._6" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB7": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._7" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB8": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._8" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.SWBD_CB9": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._9" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UPS_Out": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT-HS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UTOut" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UTOut" + }, + "type": "property" + } + }, + "props.elements[10].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB3" + }, + "type": "property" + } + }, + "props.elements[10].elements[1].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB3" + }, + "type": "property" + } + }, + "props.elements[11].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB4" + }, + "type": "property" + } + }, + "props.elements[11].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB5" + }, + "type": "property" + } + }, + "props.elements[11].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB6" + }, + "type": "property" + } + }, + "props.elements[11].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB7" + }, + "type": "property" + } + }, + "props.elements[11].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB7" + }, + "type": "property" + } + }, + "props.elements[11].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB8" + }, + "type": "property" + } + }, + "props.elements[11].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB9" + }, + "type": "property" + } + }, + "props.elements[11].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB8" + }, + "type": "property" + } + }, + "props.elements[11].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB9" + }, + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-HS1_to_UT-P1-1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-HS1_to_UT-P1-1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-HS1_to_UT-P1-1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.FP" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.FP" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.FP" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.FP" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[3].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.FP" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].elements[0].fill.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.FP" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GenOut" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GenOut" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GenOut" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.GenOut" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[4].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CamOut" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[4].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CamOut" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[4].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CamOut" + }, + "enabled": false, + "type": "property" + } + }, + "props.elements[4].elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.CamOut" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB2" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[1].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UPS_Out" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB10" + }, + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB10" + }, + "type": "property" + } + }, + "props.elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB10" + }, + "type": "property" + } + }, + "props.elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB10" + }, + "type": "property" + } + }, + "props.elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB10" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB10" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB12" + }, + "type": "property" + } + }, + "props.elements[8].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB15" + }, + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB13" + }, + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB14" + }, + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB15" + }, + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB15" + }, + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB11" + }, + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB11" + }, + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB12" + }, + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB13" + }, + "type": "property" + } + }, + "props.elements[8].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB14" + }, + "type": "property" + } + }, + "props.elements[9].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.SWBD_CB16" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M63.75,99.532l-45,0l0,290.468l36.075,0l-0.029,66.339", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,86.23l0,105.793", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "UT_OUT", + "name": "UT", + "type": "group" + }, + { + "d": "M198.75,245.226l0,23.274", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "linecap": "butt", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M39.78,12.734l1.477,2.257l-1.477,2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M56.257,14.991l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M41.257,14.991l15,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M87.727,17.248l-1.477,-2.257l1.477,-2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.25,14.991l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M71.25,14.991l15,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,38.583,16.4823)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": "4.167px", + "textAlign": "right" + }, + "text": "DS-1A1 W4", + "type": "text", + "x": "15px", + "y": "16.482px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,116.679,16.4823)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": "4.167px" + }, + "text": "UT P1.1", + "type": "text", + "x": "88.887px", + "y": "16.482px" + } + ], + "id": "SRC", + "name": "SRC", + "type": "group" + }, + { + "elements": [ + { + "d": "M72.511,456.339l-0,-28.819l36.239,0l0.029,-56.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M121.2,313.523l-2.257,1.477l-2.256,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "var(--olGreen)", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M121.2,311.349l-2.257,1.477l-2.256,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "var(--olGreen)", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M118.943,315l0,32.118", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "var(--olGreen)", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M98.702,371.25l0,-56.25", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M101.515,305.257l2.812,4.872l-2.812,4.871l-5.625,0l-2.813,-4.871l2.813,-4.872l5.625,0Zm-0.481,0.834l-4.663,-0l-2.331,4.038l2.331,4.038l4.663,-0l2.331,-4.038l-2.331,-4.038Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,101.727,311.62)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "PF", + "type": "text", + "x": "96.403px", + "y": "311.62px" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,124.772,306.733)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "TEMP", + "type": "text", + "x": "113.198px", + "y": "306.733px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,123.5,310.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "GEN", + "type": "text", + "x": "114.471px", + "y": "310.533px" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "FP", + "name": "FP", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M153.75,57l0,64.165", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M196.343,114.099l-1.477,-2.256l1.477,-2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "purple", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M198.517,114.099l-1.477,-2.256l1.477,-2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "var(--olRed)", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M194.866,111.843l-41.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "var(--olRed)", + "width": "0.83px" + }, + "type": "path", + "visibility": "hidden" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,222.411,113.334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "LOADBANK", + "type": "text", + "x": "199.718px", + "y": "113.334px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,248.728,139.141)", + "type": "group" + }, + { + "elements": [], + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "TO PORTABLE GENERATOR", + "type": "text", + "x": "199.718px", + "y": "139.141px" + } + ], + "name": "group", + "type": "group", + "visibility": "hidden" + }, + { + "elements": [ + { + "d": "M196.343,139.906l-1.477,-2.256l1.477,-2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "purple", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M198.517,139.906l-1.477,-2.256l1.477,-2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "purple", + "width": "0.75px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M194.866,137.65l-41.116,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "paint": "purple", + "width": "0.83px" + }, + "type": "path", + "visibility": "hidden" + }, + { + "d": "M153.75,132l0,88.125", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + } + ], + "id": "DS", + "name": "DS", + "type": "group" + }, + { + "elements": [ + { + "d": "M288.75,309.419l0,-64.193", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,358.008l0,63.867", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M198.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M243.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M333.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M378.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M423.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M468.75,470.625l0,74.81", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M513.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "elements": [ + { + "d": "M198.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M243.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M333.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M378.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M423.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M513.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M468.75,557.617l0,110.766", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "name": "group", + "type": "group" + }, + { + "d": "M468.75,674.117l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M468.75,817.5l0,56.227", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "DP-UPS", + "name": "DP-UPS", + "type": "group" + }, + { + "elements": [ + { + "d": "M738.75,583.125l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M783.75,583.125l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M828.75,583.125l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M873.75,583.125l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M828.758,330.784l0,-85.558", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M828.758,534.375l0,-197.758", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "DP-LP", + "name": "DP-LP", + "type": "group" + }, + { + "elements": [ + { + "d": "M963.75,336.617l0,87.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M1008.75,336.617l0,87.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M1053.75,336.617l0,87.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M1098.75,336.617l0,96.318", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M1098.75,445.117l0,91.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M918.761,336.617l-0,87.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M918.75,330.883l0,-85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M963.766,330.883l0,-85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M1008.75,330.883l0,-85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M1053.75,330.883l0,-85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M1098.75,330.883l0,-85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "RP-HS1", + "name": "RP-HS1", + "type": "group" + }, + { + "d": "M1188.75,328.125l0,-82.5", + "fill": { + "paint": "transparent" + }, + "id": "RTU", + "name": "RTU", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M333.75,292.5l0,-47.274", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M333.75,300l-4.132,-7.5l8.264,0l-4.132,7.5Zm-0,-1.727l2.722,-4.94l-5.444,0l2.722,4.94Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,342.605,303.033)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "MPZ-HS1", + "type": "text", + "x": "324.317px", + "y": "303.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,342.914,306.783)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "GEN-AUX", + "type": "text", + "x": "324px", + "y": "306.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,340.032,310.535)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "POWER", + "type": "text", + "x": "324.291px", + "y": "310.535px" + } + ], + "id": "GEN-AUX", + "name": "GEN-AUX", + "type": "group" + }, + { + "elements": [ + { + "d": "M468.75,311.227l0,-66.001", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M513.75,311.227l0,-66.001", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M558.75,311.227l0,-66.001", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M603.718,318.273l-0,-73.047", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M603.718,412.5l-0,-61.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M648.75,412.5l0,-61.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M693.75,412.5l0,-61.132", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M648.75,318.273l0,-73.047", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M693.75,318.273l0,-73.047", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "butt", + "linejoin": "bevel", + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "FE", + "name": "FE", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "square", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1343 968" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "SWBD_HS1" + }, + "position": { + "height": 110, + "width": 1743, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.genPower": { + "binding": { + "config": { + "path": "../CAM-HS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inputPower": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1/Data/isEnergized" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "OutputPower": { + "_1": 0, + "_10": 1, + "_11": 1, + "_12": 1, + "_13": 1, + "_14": 1, + "_15": 1, + "_16": 1, + "_17": 1, + "_2": 1, + "_3": 1, + "_4": 1, + "_5": 1, + "_6": 1, + "_7": 1, + "_8": 1, + "_9": 1 + }, + "boxColor": "--olGray", + "tagPath": "" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD HS1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT-HS1" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1", + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM-HS1" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-HS1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-HS1", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 339 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_ER1151_HS1_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FP" + }, + "position": { + "height": 143, + "width": 115, + "x": 60, + "y": 590 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UT-HS1.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inPower2": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/FP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FP_DS" + }, + "position": { + "height": 90, + "width": 109, + "x": 120, + "y": 450 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 0, + "tagPath": "", + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/FP_DS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-UPS-HS1" + }, + "position": { + "height": 105, + "width": 486, + "x": 240, + "y": 535 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP_UPS_HS1", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-1" + }, + "position": { + "height": 102, + "width": 59, + "x": 240, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-2" + }, + "position": { + "height": 102, + "width": 59, + "x": 300, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-3" + }, + "position": { + "height": 102, + "width": 59, + "x": 360, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-3" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-4" + }, + "position": { + "height": 102, + "width": 59, + "x": 420, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-4" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-5" + }, + "position": { + "height": 102, + "width": 59, + "x": 480, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-5" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-6" + }, + "position": { + "height": 102, + "width": 59, + "x": 540, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-6" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-7" + }, + "position": { + "height": 102, + "width": 59, + "x": 600, + "y": 838 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-8" + }, + "position": { + "height": 102, + "width": 59, + "x": 660, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-8" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX LP-HS1-1" + }, + "position": { + "height": 102, + "width": 59, + "x": 1080, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-1" + }, + "position": { + "height": 102, + "width": 59, + "x": 1200, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._11" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-2" + }, + "position": { + "height": 102, + "width": 59, + "x": 1260, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-3" + }, + "position": { + "height": 102, + "width": 59, + "x": 1320, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._13" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-4" + }, + "position": { + "height": 102, + "width": 59, + "x": 1380, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._14" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-5" + }, + "position": { + "height": 102, + "width": 59, + "x": 1440, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._15" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 240, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 300, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 360, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-4" + }, + "position": { + "height": 107, + "width": 75, + "x": 420, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-5" + }, + "position": { + "height": 107, + "width": 75, + "x": 480, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-6" + }, + "position": { + "height": 107, + "width": 75, + "x": 540, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-7" + }, + "position": { + "height": 107, + "width": 75, + "x": 600, + "y": 983 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-8" + }, + "position": { + "height": 107, + "width": 75, + "x": 660, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-9" + }, + "position": { + "height": 107, + "width": 75, + "x": 600, + "y": 1133 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PP-HS1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 600, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._4" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PP-HS1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 660, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._5" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PP-HS1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 720, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._6" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 960, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 1020, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 1080, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-4" + }, + "position": { + "height": 107, + "width": 75, + "x": 1140, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 1200, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._11" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 1260, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 1320, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._13" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-4" + }, + "position": { + "height": 107, + "width": 75, + "x": 1380, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._14" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-5" + }, + "position": { + "height": 107, + "width": 75, + "x": 1440, + "y": 683 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._15" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FE-PNL-1" + }, + "position": { + "height": 155, + "width": 56, + "x": 780, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._7" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/FE-PNL" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FE-PNL-2" + }, + "position": { + "height": 155, + "width": 56, + "x": 840, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._8" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/FE-PNL" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FE-PNL-3" + }, + "position": { + "height": 155, + "width": 56, + "x": 900, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._9" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/FE-PNL" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FE-DS-1" + }, + "position": { + "height": 107, + "width": 72, + "x": 780, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._7" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/FE-DS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FE-DS-2" + }, + "position": { + "height": 107, + "width": 72, + "x": 840, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._8" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/FE-DS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "FE-DS-3" + }, + "position": { + "height": 107, + "width": 72, + "x": 900, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._9" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/FE-DS" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS1-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 960, + "y": 681 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX-UPS-HS1-DS-7" + }, + "position": { + "height": 107, + "width": 60, + "x": 600, + "y": 683 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "TX UPS-HS1-7" + }, + "path": "Pages/Dev/D_Electrical/Equipment/DS SW" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HS1-R" + }, + "position": { + "height": 107, + "width": 60, + "x": 1440, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._15" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DS SW" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 110, + "width": 80, + "x": 1555, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._16" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "objectName": "RTU01", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + }, + "path": "Pages/Dev/D_Electrical/Equipment/RTU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS wCB" + }, + "position": { + "height": 160, + "width": 180, + "x": 245, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_HS1.props.params.OutputPower._2" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "objectName": "UPS_HS", + "outPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_UPS" + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS wCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 133, + "x": 155.5, + "y": 1 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 182, + "x": 16.687000000000012, + "y": 904.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + }, + "text": "*NM - Not Monitored" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 14, + "width": 21, + "x": 661.685, + "y": 849.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 14, + "width": 21, + "x": 601, + "y": 850 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 14, + "width": 21, + "x": 540, + "y": 850 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 14, + "width": 21, + "x": 481, + "y": 850 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 14, + "width": 21, + "x": 421, + "y": 850 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 14, + "width": 21, + "x": 361, + "y": 850 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 14, + "width": 21, + "x": 301, + "y": 850 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_7" + }, + "position": { + "height": 14, + "width": 21, + "x": 241, + "y": 850 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_8" + }, + "position": { + "height": 14, + "width": 21, + "x": 240.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_9" + }, + "position": { + "height": 14, + "width": 21, + "x": 300.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_10" + }, + "position": { + "height": 14, + "width": 21, + "x": 360.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_11" + }, + "position": { + "height": 14, + "width": 21, + "x": 420.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_12" + }, + "position": { + "height": 14, + "width": 21, + "x": 480.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_13" + }, + "position": { + "height": 14, + "width": 21, + "x": 539.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_14" + }, + "position": { + "height": 14, + "width": 21, + "x": 600.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_15" + }, + "position": { + "height": 14, + "width": 21, + "x": 661.99, + "y": 701.62 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_16" + }, + "position": { + "height": 14, + "width": 21, + "x": 601, + "y": 1002 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_17" + }, + "position": { + "height": 14, + "width": 21, + "x": 241, + "y": 552 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_18" + }, + "position": { + "height": 14, + "width": 21, + "x": 601.669, + "y": 399.167 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_19" + }, + "position": { + "height": 14, + "width": 21, + "x": 660.669, + "y": 399.167 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_20" + }, + "position": { + "height": 14, + "width": 21, + "x": 721.669, + "y": 399.167 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_21" + }, + "position": { + "height": 14, + "width": 21, + "x": 780.669, + "y": 399.167 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_22" + }, + "position": { + "height": 14, + "width": 21, + "x": 841.669, + "y": 399.167 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_23" + }, + "position": { + "height": 14, + "width": 21, + "x": 902.669, + "y": 399.167 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_24" + }, + "position": { + "height": 14, + "width": 21, + "x": 780.67, + "y": 550.17 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_25" + }, + "position": { + "height": 14, + "width": 21, + "x": 841.67, + "y": 550.17 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_26" + }, + "position": { + "height": 14, + "width": 21, + "x": 902.67, + "y": 550.17 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_27" + }, + "position": { + "height": 14, + "width": 21, + "x": 963, + "y": 849 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_28" + }, + "position": { + "height": 14, + "width": 21, + "x": 1023, + "y": 849 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_29" + }, + "position": { + "height": 14, + "width": 21, + "x": 1083, + "y": 849 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_30" + }, + "position": { + "height": 14, + "width": 21, + "x": 1143, + "y": 849 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_31" + }, + "position": { + "height": 14, + "width": 21, + "x": 963, + "y": 701 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_32" + }, + "position": { + "height": 14, + "width": 21, + "x": 1202.99, + "y": 549.99 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_33" + }, + "position": { + "height": 14, + "width": 21, + "x": 1262.99, + "y": 549.99 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_34" + }, + "position": { + "height": 14, + "width": 21, + "x": 1322.99, + "y": 549.99 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_35" + }, + "position": { + "height": 14, + "width": 21, + "x": 1382.99, + "y": 549.99 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_36" + }, + "position": { + "height": 14, + "width": 21, + "x": 1081.666748046875, + "y": 400 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_37" + }, + "position": { + "height": 14, + "width": 21, + "x": 1443, + "y": 550 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_38" + }, + "position": { + "height": 14, + "width": 21, + "x": 1382.99, + "y": 399.98 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_39" + }, + "position": { + "height": 14, + "width": 21, + "x": 1442.99, + "y": 399.98 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_40" + }, + "position": { + "height": 14, + "width": 21, + "x": 1322.99, + "y": 399.98 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_41" + }, + "position": { + "height": 14, + "width": 21, + "x": 1262.99, + "y": 399.98 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_42" + }, + "position": { + "height": 14, + "width": 21, + "x": 1202.99, + "y": 399.98 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_43" + }, + "position": { + "height": 14, + "width": 21, + "x": 1443, + "y": 702.1112060546875 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_44" + }, + "position": { + "height": 14, + "width": 21, + "x": 601, + "y": 1152 + }, + "props": { + "style": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontSize": 8 + }, + "text": "*NM" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "rotate": { + "anchor": "50% 36%" + }, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 425.2496092224121, + "y": 431 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_UPS" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_HS", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_MPR1151_HS1_PQM" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-82% 116%" + }, + "width": 50, + "x": 420, + "y": 481 + }, + "props": { + "params": { + "objectName": "H2 HS", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1151/SATB1_ER1151_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "custom": { + "inputPower1": 1, + "inputPower2": 1 + }, + "meta": { + "name": "root" + }, + "position": { + "x": -11, + "y": -103 + }, + "props": { + "aspectRatio": "3050:2100" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS2/resource.json new file mode 100644 index 0000000..9458715 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "15320339a9edb438bf47f1478dd918abc963b96aedb05b9dc419243fa8dccc49", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:53:55Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS2/thumbnail.png new file mode 100644 index 0000000..86e548e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS2/view.json new file mode 100644 index 0000000..7741800 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_HS2/view.json @@ -0,0 +1,3727 @@ +{ + "custom": {}, + "params": { + "pageId": "" + }, + "propConfig": { + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "custom": { + "colorHandler": {} + }, + "meta": { + "name": "HS2 Cables" + }, + "position": { + "height": 990, + "width": 1250 + }, + "propConfig": { + "custom.colorHandler.Cam_Out": { + "binding": { + "config": { + "path": "../CAM-HS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.Gen_Out": { + "binding": { + "config": { + "path": "../GEB_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.colorHandler.UT_out": { + "binding": { + "config": { + "path": "../UT-HS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[1].fill.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-5_to_UT-HS2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-5_to_UT-HS2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-5_to_UT-HS2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.UT_out" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Gen_Out" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.colorHandler.Cam_Out" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[10].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._11" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[8].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[9].stroke.paint": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M603.75,292.5l0,-47.274", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M603.75,300l-4.132,-7.5l8.264,0l-4.132,7.5Zm-0,-1.727l2.722,-4.94l-5.444,0l2.722,4.94Z", + "fill": {}, + "name": "path", + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,613.085,303.033)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "MPZ-HS1", + "type": "text", + "x": "594.797px", + "y": "303.033px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,612.914,306.783)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "AU", + "type": "tspan", + "x": "604.347px 607.126px ", + "y": "306.783px 306.783px " + } + ], + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "GEN X", + "type": "text", + "x": "594.39px", + "y": "306.783px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,611.486,310.535)", + "type": "group" + }, + { + "name": "text", + "style": { + "fill": "var(--olGray)", + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "POWER", + "type": "text", + "x": "595.745px", + "y": "310.535px" + } + ], + "id": "GEN-AUX", + "name": "GEN-AUX", + "type": "group" + }, + { + "d": "M198.75,245.226l0,23.274", + "fill": { + "paint": "transparent" + }, + "id": "SPD", + "name": "SPD", + "stroke": { + "linejoin": "round", + "width": "0.75px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M39.78,12.734l1.477,2.257l-1.477,2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M56.257,14.991l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M41.257,14.991l15,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,34.4057,16.463)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT P4.5", + "type": "text", + "x": "22px", + "y": "16.463px" + } + ], + "id": "SRC01", + "name": "SRC01", + "type": "group" + }, + { + "elements": [ + { + "d": "M87.727,17.248l-1.477,-2.257l1.477,-2.257", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M71.25,14.991l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M71.25,14.991l15,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,115.408,16.463)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1B3 W4", + "type": "text", + "x": "88.779px", + "y": "16.463px" + } + ], + "id": "SRC02", + "name": "SRC02", + "type": "group" + }, + { + "d": "M63.75,86.23l0,105.793", + "fill": { + "paint": "transparent" + }, + "id": "UT", + "name": "UT", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "elements": [ + { + "d": "M153.75,57l0,64.165", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M153.75,132l0,88.125", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "GEN", + "name": "GEN", + "type": "group" + }, + { + "elements": [ + { + "d": "M288.75,309.419l0,-64.193", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,358.008l0,64.005", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "UPS", + "name": "UPS", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "d": "M108.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M153.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M198.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M243.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M333.75,470.625l0,85.258", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX", + "name": "TX", + "type": "group" + }, + { + "elements": [ + { + "d": "M108.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M153.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M198.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M243.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M333.75,561.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "RP-UPS", + "name": "RP-UPS", + "type": "group" + } + ], + "id": "DP-UPS-HS2", + "name": "DP-UPS-HS2", + "type": "group" + }, + { + "elements": [ + { + "d": "M423.75,470.625l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M468.75,470.625l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M513.75,470.625l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M558.75,470.625l0,65.602", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M468.75,311.227l0,-66.001", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M423.75,330.883l0,-85.657", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M423.75,336.617l0,85.396", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M513.75,311.227l0,-66.001", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M558.75,311.227l0,-66.001", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "DP-LP-HS2", + "name": "DP-LP-HS2", + "type": "group" + }, + { + "elements": [ + { + "d": "M738.75,330.883l0,-85.657", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M783.75,330.883l0,-85.657", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M648.75,330.883l0,-85.657", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M648.75,336.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M693.75,336.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M738.75,336.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M828.75,536.32l0,-91.203", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M783.75,336.617l0,87.11", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M828.75,336.617l0,96.318", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M693.75,330.883l0,-85.657", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M828.758,330.784l0,-85.558", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "RP-HS2", + "name": "RP-HS2", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 938 743" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 339 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "inputPower": 1, + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_ER1253_HS2_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM-HS2" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEB_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-HS2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-HS2", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT-HS2" + }, + "position": { + "height": 111, + "width": 86, + "x": 55, + "y": 35 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-5" + }, + "position": { + "height": 107, + "width": 75, + "x": 1080, + "y": 683 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 840, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._8" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 900, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._9" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 960, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HP1-4" + }, + "position": { + "height": 107, + "width": 75, + "x": 1020, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._11" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-HS1-R" + }, + "position": { + "height": 107, + "width": 60, + "x": 1080, + "y": 533 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DS SW" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-4" + }, + "position": { + "height": 107, + "width": 75, + "x": 720, + "y": 683 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 660, + "y": 683 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 600, + "y": 683 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "LP-HS1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 540, + "y": 683 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-1" + }, + "position": { + "height": 102, + "width": 59, + "x": 840, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._8" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-2" + }, + "position": { + "height": 102, + "width": 59, + "x": 900, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._9" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-3" + }, + "position": { + "height": 102, + "width": 59, + "x": 960, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._10" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-4" + }, + "position": { + "height": 102, + "width": 59, + "x": 1020, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._11" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-5" + }, + "position": { + "height": 102, + "width": 59, + "x": 1080, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._12" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PP-HS1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 600, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._4" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PP-HS1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 660, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._5" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PP-HS1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 720, + "y": 383 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._6" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-6" + }, + "position": { + "height": 107, + "width": 75, + "x": 420, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-6" + }, + "position": { + "height": 102, + "width": 59, + "x": 420, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-5" + }, + "position": { + "height": 102, + "width": 59, + "x": 360, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-5" + }, + "position": { + "height": 107, + "width": 75, + "x": 360, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-4" + }, + "position": { + "height": 107, + "width": 75, + "x": 300, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-4" + }, + "position": { + "height": 102, + "width": 59, + "x": 300, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-3" + }, + "position": { + "height": 102, + "width": 59, + "x": 240, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-3" + }, + "position": { + "height": 107, + "width": 75, + "x": 240, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-2" + }, + "position": { + "height": 107, + "width": 75, + "x": 180, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-2" + }, + "position": { + "height": 102, + "width": 59, + "x": 180, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "RP-UPS-HS1-1" + }, + "position": { + "height": 107, + "width": 75, + "x": 120, + "y": 833 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/RP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX UPS-HS1-1" + }, + "position": { + "height": 102, + "width": 59, + "x": 120, + "y": 688 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "TX RP-HS1-6" + }, + "position": { + "height": 102, + "width": 59, + "x": 540, + "y": 388 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "Tag": "value" + }, + "path": "Pages/Dev/D_Electrical/Equipment/TX" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UPS wCB" + }, + "position": { + "height": 160, + "width": 180, + "x": 244.5, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._2" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "objectName": "UPS_HS", + "outPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_HS2_UPS" + }, + "path": "Pages/Dev/D_Electrical/Equipment/UPS wCB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-UPS-HS2" + }, + "position": { + "height": 105, + "width": 381, + "x": 120, + "y": 535 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../UPS wCB.props.params.outPower" + }, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": false + }, + { + "input": 1, + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-UPS-HS2" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-LP-HS2-1" + }, + "position": { + "height": 109, + "width": 258, + "x": 540, + "y": 531 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD HS2.props.params.OutputPower._3" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker1-1": "152AT", + "Breaker1-2": "LSI", + "Breaker2-1": "152AT", + "Breaker2-2": "LSI", + "Breaker3-1": "125AT", + "Breaker3-2": "LSI", + "Breaker4-1": "152AT", + "Breaker4-2": "LSI", + "mainBreaker1": "250AT", + "mainBreaker2": "LSI", + "tagIdPlate1": "DP-LP-HS", + "tagIdPlate2": "250A, 480/277V,", + "tagIdPlate3": "3PH, 4W, 65kAIC" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/DP-LP-HS2-1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEB_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD HS2" + }, + "position": { + "height": 119, + "width": 1129, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.inPower_SRC01": { + "binding": { + "config": { + "path": "../UT-HS2.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.inPower_SRC02": { + "binding": { + "config": { + "path": "../CAM-HS2.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "OutputPower": { + "_1": 1, + "_10": 1, + "_11": 1, + "_12": 1, + "_2": 1, + "_3": 1, + "_4": 1, + "_5": 1, + "_6": 1, + "_7": 1, + "_8": 1, + "_9": 1 + }, + "boxColor": "var(--olGray)", + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD HS2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-HS2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1" + }, + "position": { + "height": 51, + "width": 59, + "x": 425.25, + "y": 431 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_HS2_UPS" + }, + "path": "Pages/Dev/D_Electrical/Widgets/UPS_HS", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_MPR1253_HS2_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD_0" + }, + "position": { + "height": 64, + "rotate": { + "anchor": "-82% 116%" + }, + "width": 50, + "x": 165, + "y": 431 + }, + "props": { + "params": { + "objectName": "H2 HS", + "tagPath": "[Ignition_Common_IO_Gtwy]MR1253/SATB1_ER1253_H2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/H2", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M1/resource.json new file mode 100644 index 0000000..6274fe2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "26b9d68f6b0835ad49627f74ec3c94e2402363319f420cb689ba8310f89777c5", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:54:00Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M1/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M1/thumbnail.png new file mode 100644 index 0000000..23e96f0 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M1/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M1/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M1/view.json new file mode 100644 index 0000000..220fcb0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M1/view.json @@ -0,0 +1,1169 @@ +{ + "custom": { + "MNumber": "M1", + "room": "MPR1240" + }, + "params": { + "pageId": "value" + }, + "propConfig": { + "custom.MNumber": { + "persistent": true + }, + "custom.room": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable" + }, + "position": { + "height": 990, + "width": 1250 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1A_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M1_to_UT-M2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "DS-1A1", + "right": "UT-M2" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M1.1", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 241, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 56, + "y": 235 + }, + "propConfig": { + "custom.MNumber": { + "binding": { + "config": { + "path": "view.custom.MNumber" + }, + "type": "property" + } + }, + "custom.room": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "type": "property" + } + }, + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M1", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 0, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 419, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD05" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 479, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD06" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_1" + }, + "position": { + "height": 255, + "width": 70, + "x": 539, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD07" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH02_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH02", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH03_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH03", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH04_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH04", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH05_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH05", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH06_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH06", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 424, + "y": 532.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 244, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M1" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 55, + "y": -42 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M2/resource.json new file mode 100644 index 0000000..7e69b13 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5b4743e6a9a9bb7c405674585dca5b70c5664ae3ea295b032ac847d4454c1b2d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:54:03Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M2/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M2/thumbnail.png new file mode 100644 index 0000000..d5ceb61 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M2/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M2/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M2/view.json new file mode 100644 index 0000000..83b5a1d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M2/view.json @@ -0,0 +1,1152 @@ +{ + "custom": { + "MNumber": "M2", + "room": "MPR1240" + }, + "params": { + "pageId": "value" + }, + "propConfig": { + "custom.MNumber": { + "persistent": true + }, + "custom.room": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable" + }, + "position": { + "height": 990, + "width": 1250, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M1_to_UT-M2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M2_to_UT-M3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "UT-M1", + "right": "UT-M3" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M1.2", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 241, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 56, + "y": 235 + }, + "propConfig": { + "custom.MNumber": { + "binding": { + "config": { + "path": "view.custom.MNumber" + }, + "type": "property" + } + }, + "custom.room": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "type": "property" + } + }, + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M2", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 1, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1240" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 419, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD08" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 479, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD13" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_1" + }, + "position": { + "height": 255, + "width": 70, + "x": 539, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD14" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH07_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH07", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH08_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH08", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH09_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH09", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH10_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH10", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH11_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH11", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Motor", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH12_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH12", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 424, + "y": 532.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 244, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M2" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -295, + "y": 91 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M3/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M3/resource.json new file mode 100644 index 0000000..2a2db85 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M3/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "92e8534aa392d74006c21b060358f41c766f03d5a47cd45980bce35640470302", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:54:07Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M3/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M3/thumbnail.png new file mode 100644 index 0000000..1004bac Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M3/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M3/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M3/view.json new file mode 100644 index 0000000..ad12c0c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M3/view.json @@ -0,0 +1,1148 @@ +{ + "custom": { + "MNumber": "M3", + "room": "MPR1241" + }, + "params": { + "pageId": "value" + }, + "propConfig": { + "custom.MNumber": { + "persistent": true + }, + "custom.room": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable" + }, + "position": { + "height": 990, + "width": 1250, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M2_to_UT-M3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M3_to_UT-M4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "UT-M2", + "right": "UT-M4" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M3", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 241, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 56, + "y": 235 + }, + "propConfig": { + "custom.MNumber": { + "binding": { + "config": { + "path": "view.custom.MNumber" + }, + "type": "property" + } + }, + "custom.room": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "type": "property" + } + }, + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M3", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 0, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 419, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD15" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 479, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD16" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_1" + }, + "position": { + "height": 255, + "width": 70, + "x": 539, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD17" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH13_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH14_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH15_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH16_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH17_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH18_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 424, + "y": 532.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 244, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M3" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M4/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M4/resource.json new file mode 100644 index 0000000..b9e03bd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M4/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2540815c104a7b45d3b9d14f57cfa1e530be1b6738245cd8dc4db916b30ebce5", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:54:10Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M4/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M4/thumbnail.png new file mode 100644 index 0000000..357531e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M4/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M4/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M4/view.json new file mode 100644 index 0000000..e0c66f9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M4/view.json @@ -0,0 +1,1108 @@ +{ + "custom": { + "MNumber": "M4", + "room": "MPR1241" + }, + "params": { + "pageId": "value" + }, + "propConfig": { + "custom.MNumber": { + "persistent": true + }, + "custom.room": { + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable" + }, + "position": { + "height": 990, + "width": 1250, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M3_to_UT-M4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M4_to_UT-M5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "UT-M3", + "right": "UT-M5" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "expression": "//[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M4\r\n\u0027[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-\u0027+{view.custom.MNumber}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 1, + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M4", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 241, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 56, + "y": 235 + }, + "propConfig": { + "custom.MNumber": { + "binding": { + "config": { + "path": "view.custom.MNumber" + }, + "type": "property" + } + }, + "custom.room": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "type": "property" + } + }, + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M4", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 0, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1241" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 418, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD18" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 478, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD19" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_1" + }, + "position": { + "height": 255, + "width": 70, + "x": 538, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD20" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH19_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH20_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH21_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH22_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH23_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH24_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 423, + "y": 532.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 243, + "y": 385 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M4" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M5/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M5/resource.json new file mode 100644 index 0000000..9bf6362 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M5/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9035d9b8dc6f98187a3ed53f1d1a7b699a0f1c3e6ede80e4b294f3204e4453dd", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:54:12Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M5/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M5/thumbnail.png new file mode 100644 index 0000000..8f90d8b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M5/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M5/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M5/view.json new file mode 100644 index 0000000..0a46422 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M5/view.json @@ -0,0 +1,1009 @@ +{ + "custom": {}, + "params": { + "pageId": "value" + }, + "propConfig": { + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable" + }, + "position": { + "height": 990, + "width": 1250 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M4_to_UT-M5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M5_to_UT-M6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "UT-M4", + "right": "UT-M6" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M1.5", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M5", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 0, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 417, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD09" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 477, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD10" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH25_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH26_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH27_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH28_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH29_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH30_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 422, + "y": 532.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 242, + "y": 385 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M5" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M6/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M6/resource.json new file mode 100644 index 0000000..e481f68 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M6/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f5bbc691c5fb9d15ef266c43ec070742566908b448314b9dbaa0d8d07d367d80", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:54:15Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M6/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M6/thumbnail.png new file mode 100644 index 0000000..b56604c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M6/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M6/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M6/view.json new file mode 100644 index 0000000..daaf554 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M6/view.json @@ -0,0 +1,1056 @@ +{ + "custom": {}, + "params": { + "pageId": "" + }, + "propConfig": { + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": 990, + "width": 1250 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "var(--olRed)" + }, + { + "input": 0, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M5_to_UT-M6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "UT-M6", + "right": "DS-1B1 W3" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M6", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M6", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M6", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M1.3", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M6", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 0, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 410, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD11" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 470, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD12" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH31_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH32_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH33_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH34_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH35_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH36_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 421, + "y": 532.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 242, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M6" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M7/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M7/resource.json new file mode 100644 index 0000000..bf4a9aa --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M7/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0ec9c879bf5b5a673ac0af2efd7d6836bb5bf0ef69c767d7df9fac0a41fc7b96", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:54:18Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M7/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M7/thumbnail.png new file mode 100644 index 0000000..df150e3 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M7/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M7/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M7/view.json new file mode 100644 index 0000000..bf47b4c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M7/view.json @@ -0,0 +1,1023 @@ +{ + "custom": {}, + "params": { + "pageId": "value" + }, + "propConfig": { + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable" + }, + "position": { + "height": 990, + "width": 1250 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGReen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-5_to_UT-M7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M7_to_UT-M8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "UT-P1.5", + "right": "UT-M8" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M7", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M7", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M7", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M7", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M7", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 0, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 418, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD03" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 478, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD04" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH37_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH38_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH39_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH40_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH41_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH42_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 423, + "y": 532.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 243, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M7" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M8/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M8/resource.json new file mode 100644 index 0000000..48d29ee --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M8/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9a8e4edc77ba778d44920e5f7893df7d7468e1f52cb4007399552890f47826d4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T16:54:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M8/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M8/thumbnail.png new file mode 100644 index 0000000..fdb25a4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M8/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M8/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M8/view.json new file mode 100644 index 0000000..2402d0a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_M8/view.json @@ -0,0 +1,1052 @@ +{ + "custom": {}, + "params": { + "pageId": "value" + }, + "propConfig": { + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 990, + "width": 1250 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "M-Cable" + }, + "position": { + "height": 990, + "width": 1250 + }, + "propConfig": { + "props.params.colorHandler.BKR5Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR7Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.BKR8Out": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.CAMOut": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.GenOut": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.SPDIn": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.UTOut": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(-olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD1OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD2OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.VFD3OUT": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.params.colorHandler.inputLeft": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M7_to_UT-M8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.colorHandler.inputRight": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.params.hb": { + "binding": { + "config": { + "expression": "now(3000)" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "colorHandler": { + "Text": "var(--olGray)" + }, + "textHandler": { + "left": "UT-M7", + "right": "DS-1B1 W4" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/M-Cable", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UT" + }, + "position": { + "height": 112, + "width": 86, + "x": 55, + "y": 35 + }, + "props": { + "params": { + "A_Closed": "value", + "B_Closed": "value", + "boxColor": "var(--olGray)", + "inputPower_A": 1, + "inputPower_B": 1, + "objectName": "UT", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M8", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GEN_TypB" + }, + "position": { + "height": 95, + "width": 132, + "x": 155 + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "GEN", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M8", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000AF", + "breaker2": "3000AT", + "breaker3": "LSIG, NC", + "breaker4": "ERMS,100%", + "breaker5": "52GB" + }, + "Generator": { + "Gen1": "GEN-P5-1", + "Gen2": "2500kW / 3125kVA,", + "Gen3": "480Y/277V,3PH,4W" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/GEN_TypB", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "CAM" + }, + "position": { + "height": 90, + "width": 153, + "x": 165, + "y": 105 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../GEN_TypB.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "CAM", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_CAM-M8", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker": { + "breaker1": "3000A", + "breaker2": "MOLDED", + "breaker3": "CASE", + "breaker4": "SWITCH", + "breaker5": "CAM" + }, + "CAM": { + "CAM1": "CAM-M8", + "CAM2": "300A,480V, 3PH, 3W", + "CAM3": "STDBY POWER SWITCH IN", + "CAM4": "WATERPROOF ENCLOSURE" + } + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/CAM", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SPD" + }, + "position": { + "height": 50, + "width": 50, + "x": 240, + "y": 340 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._1" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DiscreteIn", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_SPD", + "textColor": "var(--olGray)", + "textHandler": { + "SPD1": "SPD" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/SPD" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SWBD_M" + }, + "position": { + "height": 111, + "width": 1128, + "x": 55, + "y": 235 + }, + "propConfig": { + "props.params.InPower_Src1": { + "binding": { + "config": { + "path": "../UT.props.params.outputPower" + }, + "type": "property" + } + }, + "props.params.InPower_Src2": { + "binding": { + "config": { + "path": "../CAM.props.params.outputPower" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "lineup": "M8", + "outputPower": { + "_1": 1, + "_2": 0, + "_3": 0, + "_4": 0, + "_5": 0, + "_6": 1, + "_7": 0, + "_8": 1, + "_9": 1 + }, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1247" + }, + "path": "Pages/Dev/D_Electrical/Equipment/SWBD/SWBD_M", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP" + }, + "position": { + "height": 255, + "width": 70, + "x": 417, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD01" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "VFD-CHWP_0" + }, + "position": { + "height": 255, + "width": 70, + "x": 477, + "y": 685 + }, + "propConfig": { + "props.params.VFD.InputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "VFD": { + "objectName": "VSD", + "outputPower": 1, + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_MPR1140_VFD02" + }, + "boxColor": "var(--olGray)", + "taxtHandler": { + "CHWP1": "CHWP-01", + "CHWP2": 75, + "VFD1": "VFD", + "VFD2": "CHWP 01" + }, + "textColor": "var(--olGray)" + }, + "path": "Pages/Dev/D_Electrical/Equipment/VFD-CHWP", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH" + }, + "position": { + "height": 110, + "width": 70, + "x": 715, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH43_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_0" + }, + "position": { + "height": 110, + "width": 70, + "x": 775, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH44_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_1" + }, + "position": { + "height": 110, + "width": 70, + "x": 835, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH45_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_2" + }, + "position": { + "height": 110, + "width": 70, + "x": 955, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH46_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_3" + }, + "position": { + "height": 110, + "width": 70, + "x": 1015, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH47_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "ACCH_4" + }, + "position": { + "height": 110, + "width": 70, + "x": 1075, + "y": 535 + }, + "propConfig": { + "props.params.inputPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "Chiller", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH48_MOTOR", + "textColor": "var(--olGray)", + "textHandler": { + "deviceLabel": "CH-A01", + "motor1": "330.4kW", + "motor2": "442 FLA" + } + }, + "path": "Pages/Dev/D_Electrical/Equipment/ACCH" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M" + }, + "position": { + "height": 108, + "width": 180, + "x": 422, + "y": 532.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_0" + }, + "position": { + "height": 108, + "width": 180, + "x": 720, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._8" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-CH-SWBD-M_1" + }, + "position": { + "height": 108, + "width": 180, + "x": 960, + "y": 382.7 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._9" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-CH-SWBD-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DP-M" + }, + "position": { + "height": 105, + "width": 381, + "x": 242, + "y": 385 + }, + "propConfig": { + "props.params.inPower": { + "binding": { + "config": { + "path": "../SWBD_M.props.params.outputPower._6" + }, + "type": "property" + } + } + }, + "props": { + "path": "Pages/Dev/D_Electrical/Equipment/DP-M" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 51, + "width": 59, + "x": 238, + "y": 38.5 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M8" + }, + "path": "Pages/Dev/D_Electrical/Widgets/GenFuel", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 179, + "rotate": { + "anchor": "50% 36%" + }, + "width": 250, + "x": 375, + "y": 6 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_PQM", + "title": "Main" + }, + "path": "Pages/Dev/D_Electrical/Widgets/Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_SES/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_SES/resource.json new file mode 100644 index 0000000..d56d063 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_SES/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f55feaf3515a96f448cbfcf08320d0a0dc63218578def39a1d2a58f27f2a64bd", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T21:50:59Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_SES/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_SES/thumbnail.png new file mode 100644 index 0000000..1cdb467 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_SES/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_SES/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_SES/view.json new file mode 100644 index 0000000..68cbb3e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_SES/view.json @@ -0,0 +1,2967 @@ +{ + "custom": { + "in1": 0, + "in2": 0 + }, + "params": { + "boxColor": "var(--olGray)", + "inputPower_1": 1, + "inputPower_2": 1, + "pageId": "", + "textColor": "var(--olGray)" + }, + "propConfig": { + "custom.in1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A/SEL_Main/Voltage Average Phase" + }, + "transforms": [ + { + "code": "\tif value \u003e 1:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.in2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/SEL_Main/Voltage Average Phase" + }, + "transforms": [ + { + "code": "\tif value \u003e 1:\n\t\treturn 1\n\telse:\n\t\treturn 0", + "type": "script" + } + ], + "type": "tag" + }, + "persistent": true + }, + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower_1": { + "paramDirection": "input", + "persistent": true + }, + "params.inputPower_2": { + "paramDirection": "input", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 850, + "width": 1607 + } + }, + "root": { + "children": [ + { + "custom": { + "DS1_": "value" + }, + "meta": { + "contextMenu": { + "enabled": true, + "items": [ + { + "children": [], + "icon": { + "color": "", + "path": "material/accessibility", + "style": {} + }, + "link": { + "target": "self", + "url": "" + }, + "message": { + "payload": {}, + "scope": "page", + "type": "" + }, + "method": { + "name": "", + "params": {} + }, + "style": { + "classes": "" + }, + "text": "menu-item", + "type": "method" + } + ] + }, + "name": "SES_Cables" + }, + "position": { + "height": 850, + "width": 1250, + "x": 146, + "y": -23 + }, + "propConfig": { + "custom.DS1A_Out3": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1/Breaker Closed Way 03}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS1A_Out4": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1/Breaker Closed Way 04}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS1B_Out3": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B1/Breaker Closed Way 03}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B1/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS1B_Out4": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B1/Breaker Closed Way 04}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B1/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS2A_Out3": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2/Breaker Closed Way 03}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS2A_Out4": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2/Breaker Closed Way 04}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS2B_Out3": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B2/Breaker Closed Way 03}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B2/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS2B_Out4": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B2/Breaker Closed Way 04}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B2/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS3A_Out3": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3/Breaker Closed Way 03}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS3A_Out4": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3/Breaker Closed Way 04}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS3B_Out3": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B3/Breaker Closed Way 03}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B3/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.DS3B_Out4": { + "binding": { + "config": { + "struct": { + "bkr": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B3/Breaker Closed Way 04}", + "ds": "{[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B3/Data/isEnergized}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tif value[\u0027ds\u0027] and value[\u0027bkr\u0027]:\n\t\treturn \u0027var(--olRed)\u0027\n\telse:\n\t\treturn \u0027var(--olGreen)\u0027", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.cableDS1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1A_W2_to_DS1B_W2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.cableDS2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS2A_W2_to_DS2B_W2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.cableDS3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3A_W2_to_DS3B_W2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1B_Out4" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1B_Out4" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1B_Out4" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1B_Out4" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[10].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS2" + }, + "type": "property" + } + }, + "props.elements[10].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS2" + }, + "type": "property" + } + }, + "props.elements[10].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS2" + }, + "type": "property" + } + }, + "props.elements[11].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS1" + }, + "type": "property" + } + }, + "props.elements[11].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS1" + }, + "type": "property" + } + }, + "props.elements[11].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS1" + }, + "type": "property" + } + }, + "props.elements[12].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SES-1A.props.params.outputPower_2" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[12].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SES-1A.props.params.outputPower_1" + }, + "transforms": [ + { + "fallback": "#AAAAAA", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[12].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SES-1A.props.params.outputPower_3" + }, + "transforms": [ + { + "fallback": "#AAAAAA", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2B_Out3" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2B_Out4" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2B_Out3" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2B_Out4" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3B_Out3" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3B_Out4" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3B_Out3" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3B_Out4" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1A_Out3" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1A_Out3" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1A_Out3" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS1A_Out3" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2A_Out4" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2A_Out3" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2A_Out3" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS2A_Out4" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3A_Out3" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3A_Out3" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3A_Out3" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.DS3A_Out4" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.in1" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[6].elements[1].stroke.width": { + "binding": { + "config": { + "expression": "concat(({view.props.defaultSize.width}*0.0008),\u0027px\u0027)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.elements[6].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[6].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "view.custom.in2" + }, + "transforms": [ + { + "fallback": "var(--olGray)", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[7].elements[3].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[7].elements[5].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../SES-1B.props.params.outputPower_1" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../SES-1B.props.params.outputPower_3" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../SES-1B.props.params.outputPower_2" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[9].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS3" + }, + "type": "property" + } + }, + "props.elements[9].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS3" + }, + "type": "property" + } + }, + "props.elements[9].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.cableDS3" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M741.007,576.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M786.007,576.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M738.75,577.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M783.75,577.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,746.114,584.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "736.621px 738.008px ", + "y": "584.283px 584.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-M6", + "type": "text", + "x": "731.297px", + "y": "584.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,791.114,584.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "781.621px 783.008px ", + "y": "584.283px 584.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-M8", + "type": "text", + "x": "776.297px", + "y": "584.283px" + } + ], + "id": "DS-1B1", + "name": "DS-1B1", + "type": "group" + }, + { + "elements": [ + { + "d": "M651.007,426.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M696.007,426.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M648.75,427.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.67px" + }, + "type": "path" + }, + { + "d": "M693.75,427.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.67px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,656.114,434.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "646.621px 648.008px ", + "y": "434.283px 434.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-P3.5", + "type": "text", + "x": "641.297px", + "y": "434.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,701.114,434.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "691.621px 693.008px ", + "y": "434.283px 434.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-P2.5", + "type": "text", + "x": "686.297px", + "y": "434.283px" + } + ], + "id": "DS-1B2", + "name": "DS-1B2", + "type": "group" + }, + { + "elements": [ + { + "d": "M561.007,276.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M606.007,276.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M558.75,277.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M603.75,277.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,566.114,284.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "556.621px 558.008px ", + "y": "284.283px 284.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-P5.5", + "type": "text", + "x": "551.297px", + "y": "284.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,611.114,284.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "601.621px 603.008px ", + "y": "284.283px 284.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-HS2", + "type": "text", + "x": "596.297px", + "y": "284.283px" + } + ], + "id": "DS-1B3", + "name": "DS-1B3", + "type": "group" + }, + { + "elements": [ + { + "d": "M111.007,576.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M156.007,576.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M153.75,577.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M108.75,577.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,116.198,584.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "106.705px 108.093px ", + "y": "584.283px 584.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-HS1", + "type": "text", + "x": "101.381px", + "y": "584.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,161.114,584.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "151.621px 153.008px ", + "y": "584.283px 584.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-M1", + "type": "text", + "x": "146.297px", + "y": "584.283px" + } + ], + "id": "DS-1A1", + "name": "DS-1A1", + "type": "group" + }, + { + "elements": [ + { + "d": "M201.007,426.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M246.007,426.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M243.75,427.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M198.75,427.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,206.114,434.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "196.621px 198.008px ", + "y": "434.283px 434.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-P2.1", + "type": "text", + "x": "191.297px", + "y": "434.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,251.114,434.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "241.621px 243.008px ", + "y": "434.283px 434.283px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-P3.1", + "type": "text", + "x": "236.297px", + "y": "434.283px" + } + ], + "id": "DS-1A2", + "name": "DS-1A2", + "type": "group" + }, + { + "elements": [ + { + "d": "M291.007,276.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M336.007,276.023l-2.257,1.477l-2.257,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M333.75,277.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M288.75,277.5l0,-32.465", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,296.114,284.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "292px", + "y": "284.283px 284.283px " + } + ], + "name": "text", + "style": { + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-P4.1", + "type": "text", + "x": "281px", + "y": "284.283px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,341.114,284.283)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "338px ", + "y": "284.283px 284.283px " + } + ], + "name": "text", + "style": { + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "UT-P5.1", + "type": "text", + "x": "326.297px", + "y": "284.283px" + } + ], + "id": "DS-1A3", + "name": "DS-1A3", + "type": "group" + }, + { + "elements": [ + { + "d": "M78.741,28.523l-2.257,1.477l-2.256,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M76.484,30l0,49.523", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,101.224,22.7072)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "65.423px 68.123px 70.668px ", + "y": "22.707px 22.707px 22.707px " + }, + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "94.51px 95.898px ", + "y": "22.707px 22.707px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "SUBSTATION XFMR T-1A", + "type": "text", + "x": "51.611px", + "y": "22.707px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,99.0928,26.4572)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "79.639px 82.418px ", + "y": "26.457px 26.457px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "(60/80/100MVA, 34.5kV)", + "type": "text", + "x": "53.774px", + "y": "26.457px" + } + ], + "id": "SRC-01", + "name": "SRC-01", + "type": "group" + }, + { + "elements": [ + { + "d": "M573.73,28.523l-2.257,1.477l-2.256,-1.477", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M571.473,30l0,49.523", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,596.213,22.7072)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "560.411px 563.111px 565.656px ", + "y": "22.707px 22.707px 22.707px " + }, + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "589.499px 590.886px ", + "y": "22.707px 22.707px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "SUBSTATION XFMR T-1B", + "type": "text", + "x": "546.599px", + "y": "22.707px" + }, + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,594.081,26.4572)", + "type": "group" + }, + { + "elements": [ + { + "name": "tspan", + "text": "", + "type": "tspan", + "x": "574.628px 577.407px ", + "y": "26.457px 26.457px " + } + ], + "name": "text", + "style": { + "fontFamily": "\u0027ArialMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px" + }, + "text": "(60/80/100MVA, 34.5kV)", + "type": "text", + "x": "548.763px", + "y": "26.457px" + } + ], + "id": "SRC-02", + "name": "SRC-02", + "type": "group" + }, + { + "elements": [ + { + "d": "M603.75,134.25l-0,58.327", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "linecap": "round", + "linejoin": "round", + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M783.75,492.386l0,-358.136", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.67px" + }, + "type": "path" + }, + { + "d": "M693.75,342.99l0,-208.74", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + } + ], + "id": "SES-1B", + "name": "SES-1B", + "type": "group" + }, + { + "elements": [ + { + "d": "M333.75,192.577l0,-27.577", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M558.75,165l-225,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M558.75,192.577l0,-27.577", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + } + ], + "id": "DS-1A3-1B3", + "name": "DS-1A3-1B3", + "type": "group" + }, + { + "elements": [ + { + "d": "M243.75,342.577l0,-27.577", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M648.75,342.99l0,-27.99", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M648.75,315l-405,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + } + ], + "id": "DS-1A2-1B2", + "name": "DS-1A2-1B2", + "type": "group" + }, + { + "elements": [ + { + "d": "M153.75,492.386l0,-27.386", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M738.75,465l-585,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M738.75,492.386l0,-27.386", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + } + ], + "id": "DS-1A1-1B1", + "name": "DS-1A1-1B1", + "type": "group" + }, + { + "elements": [ + { + "d": "M198.75,342.577l0,-208.327", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M108.75,492.386l0,-358.136", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M288.75,192.577l0,-58.327", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + } + ], + "id": "SES-1A", + "name": "SES-1A", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 938 638" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "SES-1A" + }, + "position": { + "height": 111, + "width": 479, + "x": 201, + "y": 62 + }, + "propConfig": { + "props.params.boxColor": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.params.textColor": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "inputPower": 1, + "objectName": "SEL-735", + "outputPower_1": 0, + "outputPower_2": 0, + "outputPower_3": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A" + }, + "path": "Library/Symbols/Electrical/Sym_SES" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SES-1B" + }, + "position": { + "height": 111, + "width": 479, + "x": 861, + "y": 62 + }, + "propConfig": { + "props.params.boxColor": { + "binding": { + "config": { + "path": "view.params.boxColor" + }, + "type": "property" + } + }, + "props.params.textColor": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "inputPower": 1, + "objectName": "SEL-735", + "outputPower_1": 0, + "outputPower_2": 0, + "outputPower_3": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B" + }, + "path": "Library/Symbols/Electrical/Sym_SES" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DS" + }, + "position": { + "height": 110, + "width": 160, + "x": 501, + "y": 212 + }, + "propConfig": { + "props.params.textHandler.text1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3", + "textColor": "var(--olGray)", + "textHandler": { + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "path": "Library/Symbols/Electrical/Sym_DS_A", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DS_0" + }, + "position": { + "height": 110, + "width": 160, + "x": 381, + "y": 412 + }, + "propConfig": { + "props.params.inputPower_1": { + "binding": { + "config": { + "path": "../SES-1A.props.params.outputPower_2" + }, + "type": "property" + } + }, + "props.params.inputPower_2": { + "binding": { + "config": { + "struct": { + "InputDS": "{../DS_3.props.params.inputPower_2}\u0026\u0026tag(tostr({../DS_3.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))\u0026\u0026tag(tostr({../DS_3.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))", + "Way1_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))", + "Way2_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))", + "inputPower_1": "{this.props.params.inputPower_1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tinputPower_1 \u003d value.inputPower_1\n\tWay1_Closed \u003d value.Way1_Closed\n\tWay2_Closed \u003d value.Way2_Closed\n\tInputDS \u003d value.InputDS\n\t\n\tif inputPower_1 and Way1_Closed and Way2_Closed:\n\t\treturn 1\n\telif InputDS:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.text1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2", + "textColor": "var(--olGray)", + "textHandler": { + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "path": "Library/Symbols/Electrical/Sym_DS_A", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DS_1" + }, + "position": { + "height": 110, + "width": 160, + "x": 261, + "y": 612 + }, + "propConfig": { + "props.params.inputPower_1": { + "binding": { + "config": { + "path": "../SES-1A.props.params.outputPower_1" + }, + "type": "property" + } + }, + "props.params.inputPower_2": { + "binding": { + "config": { + "struct": { + "InputDS": "{../DS_4.props.params.inputPower_1}\u0026\u0026tag(tostr({../DS_4.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))\u0026\u0026tag(tostr({../DS_4.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))", + "Way1_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))", + "Way2_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))", + "inputPower_1": "{this.props.params.inputPower_1}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tinputPower_1 \u003d value.inputPower_1\n\tWay1_Closed \u003d value.Way1_Closed\n\tWay2_Closed \u003d value.Way2_Closed\n\tInputDS \u003d value.InputDS\n\t\n\tif inputPower_1 and Way1_Closed and Way2_Closed:\n\t\treturn 1\n\telif InputDS:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.textHandler.text1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1", + "textColor": "var(--olGray)", + "textHandler": { + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "path": "Library/Symbols/Electrical/Sym_DS_A", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DS_2" + }, + "position": { + "height": 110, + "width": 160, + "x": 861, + "y": 212 + }, + "propConfig": { + "props.params.textHandler.text1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B3", + "tagPath_Cable": "[Ignition_Common_IO_Gtwy]Cables/DS_3", + "tagPath_FRD": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/SEL_FDR-1", + "textColor": "var(--olGray)", + "textHandler": { + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "path": "Library/Symbols/Electrical/Sym_DS_B", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DS_3" + }, + "position": { + "height": 110, + "width": 160, + "x": 981, + "y": 412 + }, + "propConfig": { + "props.params.inputPower_1": { + "binding": { + "config": { + "struct": { + "InputDS": "{../DS_0.props.params.inputPower_1}\u0026\u0026tag(tostr({../DS_0.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))\u0026\u0026tag(tostr({../DS_0.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))", + "Way1_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))", + "Way2_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))", + "inputPower_2": "{this.props.params.inputPower_2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tinputPower_2 \u003d value.inputPower_2\n\tWay1_Closed \u003d value.Way1_Closed\n\tWay2_Closed \u003d value.Way2_Closed\n\tInputDS \u003d value.InputDS\n\t\n\tif inputPower_2 and Way1_Closed and Way2_Closed:\n\t\treturn 1\n\telif InputDS:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.inputPower_2": { + "binding": { + "config": { + "path": "../SES-1B.props.params.outputPower_2" + }, + "type": "property" + } + }, + "props.params.textHandler.text1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B2", + "tagPath_Cable": "[Ignition_Common_IO_Gtwy]Cables/DS_2", + "tagPath_FRD": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/SEL_FDR-2", + "textColor": "var(--olGray)", + "textHandler": { + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "path": "Library/Symbols/Electrical/Sym_DS_B", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DS_4" + }, + "position": { + "height": 110, + "width": 160, + "x": 1101, + "y": 612 + }, + "propConfig": { + "props.params.inputPower_1": { + "binding": { + "config": { + "struct": { + "InputDS": "{../DS_1.props.params.inputPower_1}\u0026\u0026tag(tostr({../DS_1.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))\u0026\u0026tag(tostr({../DS_1.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))", + "Way1_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 01\u0027))", + "Way2_Closed": "tag(tostr({this.props.params.tagPath}+\u0027/Breaker Closed Way 02\u0027))", + "inputPower_2": "{this.props.params.inputPower_2}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tinputPower_2 \u003d value.inputPower_2\n\tWay1_Closed \u003d value.Way1_Closed\n\tWay2_Closed \u003d value.Way2_Closed\n\tInputDS \u003d value.InputDS\n\t\n\tif inputPower_2 and Way1_Closed and Way2_Closed:\n\t\treturn 1\n\telif InputDS:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.params.inputPower_2": { + "binding": { + "config": { + "path": "../SES-1B.props.params.outputPower_3" + }, + "type": "property" + } + }, + "props.params.textHandler.text1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.props.params.tagPath}" + }, + "tagPath": "{tagPath}/Meta/EqName" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "DS", + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B1", + "tagPath_Cable": "[Ignition_Common_IO_Gtwy]Cables/DS_1", + "tagPath_FRD": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/SEL_FDR-1", + "textColor": "var(--olGray)", + "textHandler": { + "text2": "600A, 34.5kV", + "text3": "3P, 3W, 25kIAC", + "text4": "VISTA SWGR" + } + }, + "path": "Library/Symbols/Electrical/Sym_DS_B", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView", + "visible": false + }, + "position": { + "height": 41, + "width": 299, + "x": 590.83, + "y": 184 + }, + "props": { + "params": { + "L_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A3", + "R_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B3", + "cable": false, + "path": "[Ignition_Common_IO_Gtwy]Cables/DS_3" + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/Cable Bidirect" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0", + "visible": false + }, + "position": { + "height": 41, + "width": 299, + "x": 582, + "y": 369 + }, + "props": { + "params": { + "L_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A2", + "R_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B2", + "cable": false, + "path": "[Ignition_Common_IO_Gtwy]Cables/DS_2" + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/Cable Bidirect" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_1", + "visible": false + }, + "position": { + "height": 41, + "width": 299, + "x": 583, + "y": 530 + }, + "props": { + "params": { + "L_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1A1", + "R_Path": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_DS-1B1", + "cable": false, + "path": "[Ignition_Common_IO_Gtwy]Cables/DS_1" + }, + "path": "Pages/Dev/D_Electrical/Equipment/Cables/Cable Bidirect" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 186, + "rotate": { + "anchor": "50% 36%" + }, + "width": 262, + "x": 8.8203, + "y": 184.004 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A/PQM_Main", + "title": "SES 1A" + }, + "path": "Library/Widgets/Electrical/Wdt_Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 15, + "width": 55, + "x": 503.5, + "y": 349.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-P4.1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 15, + "width": 55, + "x": 563, + "y": 349.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-P5.1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 15, + "width": 55, + "x": 923.5, + "y": 349.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-HS2", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 15, + "width": 55, + "x": 863.5, + "y": 349.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-P5.5", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 15, + "width": 55, + "x": 383.234, + "y": 548.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-P2.1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 15, + "width": 55, + "x": 443.234, + "y": 548.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-P3.1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 15, + "width": 55, + "x": 983.49, + "y": 548.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-P3.5", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 15, + "width": 55, + "x": 1043.49, + "y": 548.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-P2.5", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_7" + }, + "position": { + "height": 15, + "width": 55, + "x": 320.71975, + "y": 748.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-M1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_8" + }, + "position": { + "height": 15, + "width": 55, + "x": 260.71975, + "y": 748.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-HS1", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_9" + }, + "position": { + "height": 15, + "width": 55, + "x": 1100.22, + "y": 748.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-M6", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_10" + }, + "position": { + "height": 15, + "width": 55, + "x": 1160.22, + "y": 748.5 + }, + "props": { + "style": { + "backgroundColor": "var(--containerRoot)" + }, + "text": "UT-M8", + "textStyle": { + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 186, + "rotate": { + "anchor": "50% 36%" + }, + "width": 262, + "x": 1212, + "y": 184 + }, + "props": { + "params": { + "tagpath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/PQM_Main", + "title": "SES 1B" + }, + "path": "Library/Widgets/Electrical/Wdt_Power", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -50, + "y": -12.5 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_UT/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_UT/resource.json new file mode 100644 index 0000000..a8c4219 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_UT/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "09308a31336e9f1f88dd30d001203898065b8a4ebca5ae79e923abf932ac3dea", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T21:52:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_UT/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_UT/thumbnail.png new file mode 100644 index 0000000..215e429 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_UT/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_UT/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_UT/view.json new file mode 100644 index 0000000..bfb60f4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Electrical/Oneline_UT/view.json @@ -0,0 +1,10305 @@ +{ + "custom": {}, + "params": { + "boxColor": "var(--olGray)", + "pageId": "", + "textColor": "var(--olGray)" + }, + "propConfig": { + "params.boxColor": { + "paramDirection": "input", + "persistent": true + }, + "params.pageId": { + "paramDirection": "input", + "persistent": true + }, + "params.textColor": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1290, + "width": 1130 + } + }, + "root": { + "children": [ + { + "custom": { + "HS1": {}, + "M1": {}, + "P2": {}, + "P3": {}, + "P4": {}, + "P5": {} + }, + "meta": { + "name": "UT Cables" + }, + "position": { + "height": 1290, + "width": 1130 + }, + "propConfig": { + "custom.HS1.C1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1A_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-HS1_to_UT-P1-1" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-1_to_UT-P1-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-2_to_UT-P1-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-3_to_UT-P1-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C6": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-4_to_UT-P1-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C7": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P1-5_to_UT-M7" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C8": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M7_to_UT-M8" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.HS1.C9": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.M1.C1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1A_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.M1.C2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M1_to_UT-M2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.M1.C3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M2_to_UT-M3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.M1.C4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M3_to_UT-M4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.M1.C5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M4_to_UT-M5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.M1.C6": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-M5_to_UT-M6" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.M1.C7": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P2.C1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS2A_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P2.C2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-1_to_UT-P2-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P2.C3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-2_to_UT-P2-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P2.C4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-3_to_UT-P2-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P2.C5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P2-4_to_UT-P2-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P2.C6": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS2B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P3.C1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS2A_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P3.C2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P3-1_to_UT-P3-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P3.C3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P3-2_to_UT-P3-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P3.C4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P3-3_to_UT-P3-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P3.C5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P3-4_to_UT-P3-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P3.C6": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS2B_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P4.C1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3A_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P4.C2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-1_to_UT-P4-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P4.C3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-2_to_UT-P4-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P4.C4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-3_to_UT-P4-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P4.C5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-4_to_UT-P4-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P4.C6": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P4-5_to_UT-HS2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P4.C7": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3B_W4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P5.C1": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3A_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P5.C2": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P5-1_to_UT-P5-2" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P5.C3": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P5-2_to_UT-P5-3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P5.C4": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P5-3_to_UT-P5-4" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P5.C5": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/UT/Line_UT-P5-4_to_UT-P5-5" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "custom.P5.C6": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Cables/SES/DS3B_W3" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "var(--olRed)" + }, + { + "input": false, + "output": "var(--olGreen)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.elements[0].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C1" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C1" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C1" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C1" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C6" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C6" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C6" + }, + "type": "property" + } + }, + "props.elements[0].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C6" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C2" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C2" + }, + "type": "property" + } + }, + "props.elements[0].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C2" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C3" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C3" + }, + "type": "property" + } + }, + "props.elements[0].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C3" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C4" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C4" + }, + "type": "property" + } + }, + "props.elements[0].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C4" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C5" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C5" + }, + "type": "property" + } + }, + "props.elements[0].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P5.C5" + }, + "type": "property" + } + }, + "props.elements[0].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P5-1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": true, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P5-2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P5-3.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P5-4.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[0].elements[6].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P5-5.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C1" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C1" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C1" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C1" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C7" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C7" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C7" + }, + "type": "property" + } + }, + "props.elements[1].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C7" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C2" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C2" + }, + "type": "property" + } + }, + "props.elements[1].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C2" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C3" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C3" + }, + "type": "property" + } + }, + "props.elements[1].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C3" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C4" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C4" + }, + "type": "property" + } + }, + "props.elements[1].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C4" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C5" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C5" + }, + "type": "property" + } + }, + "props.elements[1].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C5" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C6" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C6" + }, + "type": "property" + } + }, + "props.elements[1].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P4.C6" + }, + "type": "property" + } + }, + "props.elements[1].elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../UT_HS2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P4-5.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P4-4.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P4-3.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P4-2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[1].elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P4-1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C1" + }, + "type": "property" + } + }, + "props.elements[2].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C1" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C6" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C6" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C6" + }, + "type": "property" + } + }, + "props.elements[2].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C6" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C2" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C2" + }, + "type": "property" + } + }, + "props.elements[2].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C2" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C3" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C3" + }, + "type": "property" + } + }, + "props.elements[2].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C3" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C4" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C4" + }, + "type": "property" + } + }, + "props.elements[2].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C4" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C5" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C5" + }, + "type": "property" + } + }, + "props.elements[2].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P3.C5" + }, + "type": "property" + } + }, + "props.elements[2].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P3-1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P3-2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P3-3.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P3-4.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[2].elements[6].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P3-5.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C1" + }, + "type": "property" + } + }, + "props.elements[3].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C1" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C6" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C6" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C6" + }, + "type": "property" + } + }, + "props.elements[3].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C6" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C2" + }, + "type": "property" + } + }, + "props.elements[3].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C2" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C3" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C3" + }, + "type": "property" + } + }, + "props.elements[3].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C3" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C4" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C4" + }, + "type": "property" + } + }, + "props.elements[3].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C4" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C5" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C5" + }, + "type": "property" + } + }, + "props.elements[3].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.P2.C5" + }, + "type": "property" + } + }, + "props.elements[3].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P2-5.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P2-4.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P2-3.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P2-2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[3].elements[6].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P2-1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C1" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C1" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C1" + }, + "type": "property" + } + }, + "props.elements[4].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C1" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C7" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C7" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C7" + }, + "type": "property" + } + }, + "props.elements[4].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C7" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C2" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C2" + }, + "type": "property" + } + }, + "props.elements[4].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C2" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C3" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C3" + }, + "type": "property" + } + }, + "props.elements[4].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C3" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C4" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C4" + }, + "type": "property" + } + }, + "props.elements[4].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C4" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C5" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C5" + }, + "type": "property" + } + }, + "props.elements[4].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C5" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C6" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C6" + }, + "type": "property" + } + }, + "props.elements[4].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.M1.C6" + }, + "type": "property" + } + }, + "props.elements[4].elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M3.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[7].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M4.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[7].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M5.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[4].elements[7].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M6.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[0].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C1" + }, + "type": "property" + } + }, + "props.elements[5].elements[0].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C1" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[1].fill": { + "binding": { + "config": { + "path": "view.params.textColor" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C9" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C9" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C9" + }, + "type": "property" + } + }, + "props.elements[5].elements[1].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C9" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C2" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C2" + }, + "type": "property" + } + }, + "props.elements[5].elements[2].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C2" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C3" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C3" + }, + "type": "property" + } + }, + "props.elements[5].elements[3].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C3" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C4" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C4" + }, + "type": "property" + } + }, + "props.elements[5].elements[4].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C4" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C5" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C5" + }, + "type": "property" + } + }, + "props.elements[5].elements[5].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C5" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C6" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C6" + }, + "type": "property" + } + }, + "props.elements[5].elements[6].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C6" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C7" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C7" + }, + "type": "property" + } + }, + "props.elements[5].elements[7].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C7" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C8" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C8" + }, + "type": "property" + } + }, + "props.elements[5].elements[8].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "this.custom.HS1.C8" + }, + "type": "property" + } + }, + "props.elements[5].elements[9].elements[0].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M8.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[9].elements[1].stroke.paint": { + "binding": { + "config": { + "path": "../UT_M7.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[9].elements[2].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P1-5.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[9].elements[3].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P1-4.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[9].elements[4].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P1-3.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[9].elements[5].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P1-2.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[9].elements[6].stroke.paint": { + "binding": { + "config": { + "path": "../UT_P1-1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.elements[5].elements[9].elements[7].stroke.paint": { + "binding": { + "config": { + "path": "../UT_HS1.props.params.outputPower" + }, + "transforms": [ + { + "fallback": "purple", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "var(--olGreen)" + }, + { + "input": 1, + "output": "var(--olRed)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,71.0986,40.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1A3", + "type": "text", + "visibility": "hidden", + "x": "56.279px", + "y": "40.533px" + }, + { + "d": "M66.007,41.994l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M236.257,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,43.472l-0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,52.731l172.507,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "C1", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,791.099,40.5334)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1B3", + "type": "text", + "visibility": "hidden", + "x": "776.279px", + "y": "40.533px" + }, + { + "d": "M786.007,41.994l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M783.75,43.472l0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M611.25,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M611.25,52.731l172.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "C6", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M326.257,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M251.25,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M251.25,52.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "C2", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M416.257,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M341.25,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M341.25,52.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "C3", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "d": "M506.257,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M431.25,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M431.25,52.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "C4", + "type": "group" + }, + { + "elements": [ + { + "d": "M596.257,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M521.25,52.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M521.25,52.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "C5", + "type": "group" + }, + { + "elements": [ + { + "d": "M243.75,123.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M333.75,123.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M423.75,123.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M513.75,123.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M603.75,123.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "OUTS", + "type": "group", + "visibility": "visible" + } + ], + "id": "DS-1A3-1B3-01", + "name": "DS-1A3-1B3-01", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,71.0986,190.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1A3", + "type": "text", + "visibility": "hidden", + "x": "56.279px", + "y": "190.533px" + }, + { + "d": "M66.007,191.994l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M191.257,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,193.472l-0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M63.75,202.731l127.507,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "C1", + "name": "P4-C1", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,791.099,190.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1B3", + "type": "text", + "visibility": "hidden", + "x": "776.279px", + "y": "190.533px" + }, + { + "d": "M786.007,191.994l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.68px" + }, + "type": "path" + }, + { + "d": "M783.75,193.472l0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M656.25,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M656.25,202.731l127.5,0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "SRC021", + "name": "SRC021", + "type": "group" + }, + { + "elements": [ + { + "d": "M281.257,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M206.25,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M206.25,202.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "TX011", + "name": "TX011", + "type": "group" + }, + { + "elements": [ + { + "d": "M371.257,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M296.25,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M296.25,202.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "TX021", + "name": "TX021", + "type": "group" + }, + { + "elements": [ + { + "d": "M461.257,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M386.25,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M386.25,202.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "TX031", + "name": "TX031", + "type": "group" + }, + { + "elements": [ + { + "d": "M551.257,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M476.25,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M476.25,202.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "TX041", + "name": "TX041", + "type": "group" + }, + { + "elements": [ + { + "d": "M641.257,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M566.25,202.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M566.25,202.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "TX05", + "name": "TX05", + "type": "group" + }, + { + "elements": [ + { + "d": "M648.75,273.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M558.75,273.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M468.75,273.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M378.75,273.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M288.75,273.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M198.75,273.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + } + ], + "id": "OUT1", + "name": "OUT1", + "type": "group" + } + ], + "id": "DS-1A3-1B3-02", + "name": "DS-1A3-1B3-02", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,71.0986,340.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1A2", + "type": "text", + "visibility": "hidden", + "x": "56.279px", + "y": "340.533px" + }, + { + "d": "M66.007,341.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M236.257,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,343.009l-0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,352.269l172.507,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC012", + "name": "SRC012", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,791.099,340.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1B2", + "type": "text", + "visibility": "hidden", + "x": "776.279px", + "y": "340.533px" + }, + { + "d": "M786.007,341.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M783.75,343.009l0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M611.25,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M611.25,352.269l172.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC022", + "name": "SRC022", + "type": "group" + }, + { + "elements": [ + { + "d": "M326.257,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M251.25,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M251.25,352.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX012", + "name": "TX012", + "type": "group" + }, + { + "elements": [ + { + "d": "M416.257,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M341.25,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M341.25,352.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX022", + "name": "TX022", + "type": "group" + }, + { + "elements": [ + { + "d": "M506.257,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M431.25,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M431.25,352.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX032", + "name": "TX032", + "type": "group" + }, + { + "elements": [ + { + "d": "M596.257,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M521.25,352.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M521.25,352.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX042", + "name": "TX042", + "type": "group" + }, + { + "elements": [ + { + "d": "M243.75,423.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M333.75,423.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M423.75,423.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M513.75,423.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M603.75,423.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "OUT2", + "name": "OUT2", + "type": "group" + } + ], + "id": "DA-1A2-1B2-01", + "name": "DA-1A2-1B2-01", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,71.0986,490.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1A2", + "type": "text", + "visibility": "hidden", + "x": "56.279px", + "y": "490.533px" + }, + { + "d": "M66.007,491.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M236.257,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,493.009l-0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,502.269l172.507,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC013", + "name": "SRC013", + "type": "group", + "visibility": "visible" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,791.099,490.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1B2", + "type": "text", + "visibility": "hidden", + "x": "776.279px", + "y": "490.533px" + }, + { + "d": "M786.007,491.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M783.75,493.009l0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M611.25,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M611.25,502.269l172.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC023", + "name": "SRC023", + "type": "group" + }, + { + "elements": [ + { + "d": "M326.257,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M251.25,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M251.25,502.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX013", + "name": "TX013", + "type": "group" + }, + { + "elements": [ + { + "d": "M416.257,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M341.25,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M341.25,502.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX023", + "name": "TX023", + "type": "group" + }, + { + "elements": [ + { + "d": "M506.257,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M431.25,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M431.25,502.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX033", + "name": "TX033", + "type": "group" + }, + { + "elements": [ + { + "d": "M596.257,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M521.25,502.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M521.25,502.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX043", + "name": "TX043", + "type": "group" + }, + { + "elements": [ + { + "d": "M603.75,573.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M513.75,573.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M423.75,573.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M333.75,573.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M243.75,573.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "OUT3", + "name": "OUT3", + "type": "group" + } + ], + "id": "DA-1A2-1B2-02", + "name": "DA-1A2-1B2-02", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,71.0986,640.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1A1", + "type": "text", + "visibility": "hidden", + "x": "56.279px", + "y": "640.533px" + }, + { + "d": "M66.007,641.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M191.257,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,643.009l-0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,652.269l127.507,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC014", + "name": "SRC014", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,791.099,640.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1B1", + "type": "text", + "visibility": "hidden", + "x": "776.279px", + "y": "640.533px" + }, + { + "d": "M786.007,641.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M783.75,643.009l0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M656.25,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M656.25,652.269l127.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC024", + "name": "SRC024", + "type": "group" + }, + { + "elements": [ + { + "d": "M281.257,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M206.25,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M206.25,652.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX014", + "name": "TX014", + "type": "group" + }, + { + "elements": [ + { + "d": "M371.257,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M296.25,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M296.25,652.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX024", + "name": "TX024", + "type": "group" + }, + { + "elements": [ + { + "d": "M461.257,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M386.25,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M386.25,652.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX034", + "name": "TX034", + "type": "group" + }, + { + "elements": [ + { + "d": "M551.257,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M476.25,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M476.25,652.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX044", + "name": "TX044", + "type": "group" + }, + { + "elements": [ + { + "d": "M641.257,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M566.25,652.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M566.25,652.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX051", + "name": "TX051", + "type": "group" + }, + { + "elements": [ + { + "d": "M198.75,723.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,723.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M378.75,723.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M468.75,723.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M558.75,723.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M648.75,723.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "OUT4", + "name": "OUT4", + "type": "group" + } + ], + "id": "DS-1A1-1B1-01", + "name": "DS-1A1-1B1-01", + "type": "group" + }, + { + "elements": [ + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,71.0986,790.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1A1", + "type": "text", + "visibility": "hidden", + "x": "56.279px", + "y": "790.533px" + }, + { + "d": "M66.007,791.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M101.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,793.009l-0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M63.75,802.491l37.507,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC015", + "name": "SRC015", + "type": "group" + }, + { + "elements": [ + { + "name": "group", + "transform": "matrix(4.16667,0,0,4.16667,791.099,790.533)", + "type": "group" + }, + { + "name": "text", + "style": { + "fontFamily": "\u0027Arial-BoldMT\u0027, \u0027Arial\u0027", + "fontSize": "4.167px", + "fontWeight": "700" + }, + "text": "DS-1B1", + "type": "text", + "visibility": "hidden", + "x": "776.279px", + "y": "790.533px" + }, + { + "d": "M786.007,791.531l-2.257,1.478l-2.257,-1.478", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.75px" + }, + "type": "path" + }, + { + "d": "M783.75,793.009l0,9.482", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M746.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M746.25,802.269l37.5,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "SRC025", + "name": "SRC025", + "type": "group" + }, + { + "elements": [ + { + "d": "M191.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M116.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M116.25,802.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX015", + "name": "TX015", + "type": "group" + }, + { + "elements": [ + { + "d": "M281.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M206.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M206.25,802.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX025", + "name": "TX025", + "type": "group" + }, + { + "elements": [ + { + "d": "M371.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M296.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M296.25,802.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX035", + "name": "TX035", + "type": "group" + }, + { + "elements": [ + { + "d": "M461.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M386.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M386.25,802.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX045", + "name": "TX045", + "type": "group" + }, + { + "elements": [ + { + "d": "M551.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M476.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M476.25,802.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX052", + "name": "TX052", + "type": "group" + }, + { + "elements": [ + { + "d": "M641.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M566.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M566.25,802.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX06", + "name": "TX06", + "type": "group" + }, + { + "elements": [ + { + "d": "M731.257,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M656.25,802.491l0,29.092", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M656.25,802.491l75.007,-0", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "TX07", + "name": "TX07", + "type": "group" + }, + { + "elements": [ + { + "d": "M738.75,873.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M648.75,873.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M558.75,873.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M468.75,873.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M378.75,873.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M288.75,873.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M198.75,873.73l0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + }, + { + "d": "M108.75,873.73l-0,41.27", + "fill": { + "paint": "transparent" + }, + "name": "path", + "stroke": { + "width": "0.83px" + }, + "type": "path" + } + ], + "id": "OUT5", + "name": "OUT5", + "type": "group" + } + ], + "id": "DS-1A1-1B1-02", + "name": "DS-1A1-1B1-02", + "type": "group" + } + ], + "fill": { + "rule": "evenodd" + }, + "preserveAspectRatio": "none", + "stroke": { + "linejoin": "bevel", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 848 968" + }, + "type": "ia.shapes.svg" + }, + { + "custom": { + "A": { + "IN": false, + "InputPower_A": 1, + "OUT": 0 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P5-2" + }, + "position": { + "height": 111, + "width": 86, + "x": 415, + "y": 85 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": false, + "InputPower_A": 1, + "OUT": 0 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P5-3" + }, + "position": { + "height": 111, + "width": 86, + "x": 534.5, + "y": 85 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": false, + "InputPower_A": 1, + "OUT": 0 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P5-4" + }, + "position": { + "height": 111, + "width": 86, + "x": 655, + "y": 85 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-4", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": false, + "InputPower_A": 1, + "OUT": 0 + }, + "B": { + "IN": 1, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P5-5" + }, + "position": { + "height": 111, + "width": 86, + "x": 775, + "y": 85 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": 1, + "InputPower_A": 1, + "OUT": 0 + }, + "B": { + "IN": true, + "InputPower_B": 0, + "OUT": 0 + }, + "Bus": false + }, + "meta": { + "name": "UT_P5-1" + }, + "position": { + "height": 111, + "width": 86, + "x": 295, + "y": 85 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P5-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": 1, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P4-1" + }, + "position": { + "height": 111, + "width": 86, + "x": 235, + "y": 285 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P4-2" + }, + "position": { + "height": 111, + "width": 86, + "x": 355, + "y": 285 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P4-3" + }, + "position": { + "height": 111, + "width": 86, + "x": 474.5, + "y": 285 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P4-4" + }, + "position": { + "height": 111, + "width": 86, + "x": 595, + "y": 285 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-4", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": true, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P4-5" + }, + "position": { + "height": 111, + "width": 86, + "x": 715, + "y": 285 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_UT-P4-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": 1, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_HS2" + }, + "position": { + "height": 111, + "width": 86, + "x": 835, + "y": 285 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": {}, + "B": {} + }, + "meta": { + "name": "UT_P3-1" + }, + "position": { + "height": 111, + "width": 86, + "x": 295, + "y": 485 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": {}, + "B": {} + }, + "meta": { + "name": "UT_P3-2" + }, + "position": { + "height": 111, + "width": 86, + "x": 415, + "y": 485 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": {}, + "B": {} + }, + "meta": { + "name": "UT_P3-3" + }, + "position": { + "height": 111, + "width": 86, + "x": 534.5, + "y": 485 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": {}, + "B": {} + }, + "meta": { + "name": "UT_P3-4" + }, + "position": { + "height": 111, + "width": 86, + "x": 655, + "y": 485 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-4", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": {}, + "B": {} + }, + "meta": { + "name": "UT_P3-5" + }, + "position": { + "height": 111, + "width": 86, + "x": 775, + "y": 485 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-P3-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": 1, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P2-1" + }, + "position": { + "height": 111, + "width": 86, + "x": 295, + "y": 684 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P2-2" + }, + "position": { + "height": 111, + "width": 86, + "x": 415, + "y": 684 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P2-3" + }, + "position": { + "height": 111, + "width": 86, + "x": 534.5, + "y": 684 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P2-4" + }, + "position": { + "height": 111, + "width": 86, + "x": 655, + "y": 684 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-4", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": 1, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P2-5" + }, + "position": { + "height": 111, + "width": 86, + "x": 775, + "y": 684 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_UT-P2-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": 1, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_M1" + }, + "position": { + "height": 111, + "width": 86, + "x": 235, + "y": 885 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_M2" + }, + "position": { + "height": 111, + "width": 86, + "x": 355, + "y": 885 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_M3" + }, + "position": { + "height": 111, + "width": 86, + "x": 474.5, + "y": 885 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_M4" + }, + "position": { + "height": 111, + "width": 86, + "x": 595, + "y": 885 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M4", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": false, + "InputPower_B": false, + "OUT": 0 + }, + "Bus": true + }, + "meta": { + "name": "UT_M5" + }, + "position": { + "height": 111, + "width": 86, + "x": 715, + "y": 885 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": false, + "InputPower_A": 0, + "OUT": 0 + }, + "B": { + "IN": 0, + "InputPower_B": 0, + "OUT": 0 + }, + "Bus": false + }, + "meta": { + "name": "UT_M6" + }, + "position": { + "height": 111, + "width": 86, + "x": 834.5, + "y": 885 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M6", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": 1, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_HS1" + }, + "position": { + "height": 111, + "width": 86, + "x": 115.25, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P1-1" + }, + "position": { + "height": 111, + "width": 86, + "x": 235.25, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-1", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P1-2" + }, + "position": { + "height": 111, + "width": 86, + "x": 354.75, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-2", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P1-3" + }, + "position": { + "height": 111, + "width": 86, + "x": 475.25, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-3", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": true, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P1-4" + }, + "position": { + "height": 111, + "width": 86, + "x": 595.25, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-4", + "textColor": "var(--olGray)" + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": true, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_P1-5" + }, + "position": { + "height": 111, + "width": 86, + "x": 714.75, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_UT-P1-5", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": true, + "InputPower_B": true, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_M7" + }, + "position": { + "height": 111, + "width": 86, + "x": 834.25, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M7", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "A": { + "IN": true, + "InputPower_A": 1, + "OUT": 1 + }, + "B": { + "IN": 1, + "InputPower_B": 1, + "OUT": 1 + }, + "Bus": true + }, + "meta": { + "name": "UT_M8" + }, + "position": { + "height": 111, + "width": 86, + "x": 953.75, + "y": 1084 + }, + "propConfig": { + "custom.A.IN": { + "binding": { + "config": { + "path": "view.params.UT_P5_1" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.InputPower_A": { + "binding": { + "config": { + "path": "this.custom.A.IN" + }, + "enabled": false, + "type": "property" + } + }, + "custom.A.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.A.IN} \u0026\u0026 {this.props.params.A_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.IN": { + "binding": { + "config": { + "expression": "{../UT_0.props.params.inputPower_A}\r\n\u0026\u0026{../UT_3.props.params.A_Closed}\u0026\u0026{../UT_3.props.params.B_Closed}\r\n\u0026\u0026{../UT_2.props.params.A_Closed}\u0026\u0026{../UT_2.props.params.B_Closed}\r\n\u0026\u0026{../UT_1.props.params.A_Closed}\u0026\u0026{../UT_1.props.params.B_Closed}\r\n\u0026\u0026{../UT_0.props.params.A_Closed}\u0026\u0026{../UT_0.props.params.B_Closed}\r\n" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.B.InputPower_B": { + "binding": { + "config": { + "struct": { + "Bus": "{this.custom.Bus}", + "In": "{this.custom.B.IN}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\tIn \u003d value.In\n\tBus \u003d value.Bus\n\t\n\tif (In or Bus) and self.props.params.B_Closed:\n\t\treturn 1\n\telse:\n\t\treturn 0\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.B.OUT": { + "binding": { + "config": { + "expression": "if({this.custom.B.IN} \u0026\u0026 {this.props.params.B_Closed} ,1,0)" + }, + "enabled": false, + "type": "expr" + } + }, + "custom.Bus": { + "binding": { + "config": { + "expression": "{this.custom.A.OUT}||{this.custom.B.OUT}" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "params": { + "boxColor": "var(--olGray)", + "objectName": "UT", + "outputPower": 0, + "tagPath": "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-M8", + "textColor": "var(--olGray)", + "textHandler": { + "Breaker_1": "VFI", + "SwitchA_1": "A", + "SwitchA_2": "NC", + "SwitchB_1": "B", + "SwitchB_2": "NC", + "Transformer_1": "34.5kV", + "Transformer_2": "2500kVA", + "Transformer_3": "480/277V", + "Transformer_4": "5.75%Z", + "Transformer_5": "MIN." + } + }, + "path": "Library/Symbols/Electrical/Sym_UT", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 42, + "width": 127, + "x": 26, + "y": 1013 + }, + "props": { + "text": "DS-1A1 Way 04", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 42, + "width": 127, + "x": 26, + "y": 813 + }, + "props": { + "text": "DS-1A1 Way 03", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 42, + "width": 127, + "x": 26, + "y": 613 + }, + "props": { + "text": "DS-1A2 Way 04", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 42, + "width": 127, + "x": 26, + "y": 413 + }, + "props": { + "text": "DS-1A2 Way 03", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 42, + "width": 127, + "x": 26, + "y": 214 + }, + "props": { + "text": "DS-1A3 Way 04", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 42, + "width": 127, + "x": 26, + "y": 14 + }, + "props": { + "text": "DS-1A3 Way 03", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 42, + "width": 127, + "x": 983, + "y": 1013 + }, + "props": { + "text": "DS-1B1 Way 04", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_7" + }, + "position": { + "height": 42, + "width": 127, + "x": 983, + "y": 813 + }, + "props": { + "text": "DS-1B1 Way 03", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_8" + }, + "position": { + "height": 42, + "width": 127, + "x": 983, + "y": 613 + }, + "props": { + "text": "DS-1B2 Way 04", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_9" + }, + "position": { + "height": 42, + "width": 127, + "x": 983, + "y": 413 + }, + "props": { + "text": "DS-1B2 Way 03", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_10" + }, + "position": { + "height": 42, + "width": 127, + "x": 983, + "y": 214 + }, + "props": { + "text": "DS-1B3 Way 04", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_11" + }, + "position": { + "height": 42, + "width": 127, + "x": 983, + "y": 14 + }, + "props": { + "text": "DS-1B3 Way 03", + "textStyle": { + "color": "var(--olGray)", + "fontFamily": "inherit", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -78, + "y": 240 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\t# implement your handler here\n\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/FireSystem/FireSystem/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/FireSystem/FireSystem/resource.json new file mode 100644 index 0000000..384dc68 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/FireSystem/FireSystem/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "23c8f68d6c6414dd38602c99dbf1670850e20cb6530d4bc3c50b9c91afa94905", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T15:36:03Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/FireSystem/FireSystem/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/FireSystem/FireSystem/thumbnail.png new file mode 100644 index 0000000..e6f9cd0 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/FireSystem/FireSystem/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/FireSystem/FireSystem/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/FireSystem/FireSystem/view.json new file mode 100644 index 0000000..218b12d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/FireSystem/FireSystem/view.json @@ -0,0 +1,194 @@ +{ + "custom": { + "DOAS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/DOAS1", + "data": [ + "[Ignition_Common_IO_Gtwy]Roof/DOAS1", + "[Ignition_Common_IO_Gtwy]Roof/DOAS2", + "[Ignition_Common_IO_Gtwy]Roof/DOAS3" + ], + "key": null, + "tagPath": "[Ignition_Common_IO_Gtwy]" + }, + "params": {}, + "propConfig": { + "custom.DOAS_tagPath": { + "binding": { + "config": { + "path": "view.custom.key" + }, + "transforms": [ + { + "code": "\toutput \u003d \"\"\n\tif(value is None):\n\t\toutput \u003d \"[Ignition_Common_IO_Gtwy]Roof/DOAS1\"\n\telse:\n\t\toutput \u003d self.custom.data[value]\n\treturn output", + "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/DOAS\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\toutput.append(str(item[\"fullPath\"]))\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.key": { + "binding": { + "config": { + "path": "/root/Location/Table.props.selection.selectedRow" + }, + "transforms": [ + { + "code": "\tif(value \u003d\u003d \"null\"):\n\t\tvalue \u003d 0\n\treturn value", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.tagPath": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "fontSize": 40, + "fontWeight": "bold" + }, + "text": "Fire System" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Main Pump" + }, + "props": { + "params": { + "embedded": false, + "objectName": "Motor MainFP", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1141/SATB1_RM1141_PMP_01" + }, + "path": "Library/Symbols/Mechanical/Sym_SP", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Jockey Pump" + }, + "props": { + "params": { + "embedded": false, + "objectName": "Motor JockeyFP", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1141/SATB1_RM1141_PMP_02" + }, + "path": "Library/Symbols/Mechanical/Sym_SP", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "First Floor" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": 200, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "props": { + "params": { + "embedded": false, + "objectName": "Fire Panel", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1102/SATB1_RM1102_Fire System Panel" + }, + "path": "Library/Symbols/Sym_Panel", + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "style": { + "gap": 50, + "overflow": "visible", + "padding": 15 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/CRAH/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/CRAH/resource.json new file mode 100644 index 0000000..6fddc7e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/CRAH/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8db8fa84349b94d61a44ec446afb6f7eb8d4c6daca9af12fe126ec5c6fb73851", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T14:51:29Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/CRAH/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/CRAH/thumbnail.png new file mode 100644 index 0000000..db8e34e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/CRAH/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/CRAH/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/CRAH/view.json new file mode 100644 index 0000000..7347b30 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/CRAH/view.json @@ -0,0 +1,843 @@ +{ + "custom": { + "AlarmSeverity": { + "prov": 3 + }, + "CRAH_tagPaths": [], + "data": [ + "[Ignition_SATB1_IO1_default]ER1242/SATB1_P1_1_ER1242_CRAH_01", + "[Ignition_SATB1_IO1_default]ER1242/SATB1_P1_1_ER1242_CRAH_02", + "[Ignition_SATB1_IO1_default]ER1243/SATB1_P1_2_ER1243_CRAH_01", + "[Ignition_SATB1_IO1_default]ER1243/SATB1_P1_2_ER1243_CRAH_02", + "[Ignition_SATB1_IO1_default]ER1244/SATB1_P1_3_ER1244_CRAH_01", + "[Ignition_SATB1_IO1_default]ER1244/SATB1_P1_3_ER1244_CRAH_02", + "[Ignition_SATB1_IO1_default]ER1245/SATB1_P1_4_ER1245_CRAH_01", + "[Ignition_SATB1_IO1_default]ER1245/SATB1_P1_4_ER1245_CRAH_02", + "[Ignition_SATB1_IO1_default]ER1246/SATB1_P1_5_ER1246_CRAH_01", + "[Ignition_SATB1_IO1_default]ER1246/SATB1_P1_5_ER1246_CRAH_02", + "[Ignition_SATB1_IO2_default]ER1248/SATB1_P2_1_ER1248_CRAH_01", + "[Ignition_SATB1_IO2_default]ER1248/SATB1_P2_1_ER1248_CRAH_02", + "[Ignition_SATB1_IO2_default]ER1249/SATB1_P2_2_ER1249_CRAH_01", + "[Ignition_SATB1_IO2_default]ER1249/SATB1_P2_2_ER1249_CRAH_02", + "[Ignition_SATB1_IO2_default]ER1250/SATB1_P2_3_ER1250_CRAH_01", + "[Ignition_SATB1_IO2_default]ER1250/SATB1_P2_3_ER1250_CRAH_02", + "[Ignition_SATB1_IO2_default]ER1251/SATB1_P2_4_ER1251_CRAH_01", + "[Ignition_SATB1_IO2_default]ER1251/SATB1_P2_4_ER1251_CRAH_02", + "[Ignition_SATB1_IO2_default]ER1252/SATB1_P2_5_ER1252_CRAH_01", + "[Ignition_SATB1_IO2_default]ER1252/SATB1_P2_5_ER1252_CRAH_02", + "[Ignition_SATB1_IO3_default]ER1155/SATB1_P3_1_ER1155_CRAH_01", + "[Ignition_SATB1_IO3_default]ER1155/SATB1_P3_1_ER1155_CRAH_02", + "[Ignition_SATB1_IO3_default]ER1156/SATB1_P3_2_ER1156_CRAH_01", + "[Ignition_SATB1_IO3_default]ER1156/SATB1_P3_2_ER1156_CRAH_02", + "[Ignition_SATB1_IO3_default]ER1157/SATB1_P3_3_ER1157_CRAH_01", + "[Ignition_SATB1_IO3_default]ER1157/SATB1_P3_3_ER1157_CRAH_02", + "[Ignition_SATB1_IO3_default]ER1158/SATB1_P3_4_ER1158_CRAH_01", + "[Ignition_SATB1_IO3_default]ER1158/SATB1_P3_4_ER1158_CRAH_02", + "[Ignition_SATB1_IO3_default]ER1159/SATB1_P3_5_ER1159_CRAH_01", + "[Ignition_SATB1_IO3_default]ER1159/SATB1_P3_5_ER1159_CRAH_02", + "[Ignition_SATB1_IO4_default]ER1254/SATB1_P4_1_ER1254_CRAH_01", + "[Ignition_SATB1_IO4_default]ER1254/SATB1_P4_1_ER1254_CRAH_02", + "[Ignition_SATB1_IO4_default]ER1255/SATB1_P4_2_ER1255_CRAH_01", + "[Ignition_SATB1_IO4_default]ER1255/SATB1_P4_2_ER1255_CRAH_02", + "[Ignition_SATB1_IO4_default]ER1256/SATB1_P4_3_ER1256_CRAH_01", + "[Ignition_SATB1_IO4_default]ER1256/SATB1_P4_3_ER1256_CRAH_02", + "[Ignition_SATB1_IO4_default]ER1257/SATB1_P4_4_ER1257_CRAH_01", + "[Ignition_SATB1_IO4_default]ER1257/SATB1_P4_4_ER1257_CRAH_02", + "[Ignition_SATB1_IO4_default]ER1258/SATB1_P4_5_ER1258_CRAH_01", + "[Ignition_SATB1_IO4_default]ER1258/SATB1_P4_5_ER1258_CRAH_02", + "[Ignition_SATB1_IO5_default]ER1161/SATB1_P5_1_ER1161_CRAH_01", + "[Ignition_SATB1_IO5_default]ER1161/SATB1_P5_1_ER1161_CRAH_02", + "[Ignition_SATB1_IO5_default]ER1162/SATB1_P5_2_ER1162_CRAH_01", + "[Ignition_SATB1_IO5_default]ER1162/SATB1_P5_2_ER1162_CRAH_02", + "[Ignition_SATB1_IO5_default]ER1163/SATB1_P5_3_ER1163_CRAH_01", + "[Ignition_SATB1_IO5_default]ER1163/SATB1_P5_3_ER1163_CRAH_02", + "[Ignition_SATB1_IO5_default]ER1164/SATB1_P5_4_EL1164_CRAH_01", + "[Ignition_SATB1_IO5_default]ER1164/SATB1_P5_4_EL1164_CRAH_02", + "[Ignition_SATB1_IO5_default]ER1165/SATB1_P5_5_EL1165_CRAH_01", + "[Ignition_SATB1_IO5_default]ER1165/SATB1_P5_5_EL1165_CRAH_02", + "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_ER1151_CRAH_01", + "[Ignition_Common_IO_Gtwy]ER1151/SATB1_HS1_ER1151_CRAH_02", + "[Ignition_Common_IO_Gtwy]IDF1263/SATB1_IDF1263_CRAH_01", + "[Ignition_Common_IO_Gtwy]IDF1263/SATB1_IDF1263_CRAH_02", + "[Ignition_Common_IO_Gtwy]IDF1273/SATB1_IDF1273_CRAH_01", + "[Ignition_Common_IO_Gtwy]IDF1273/SATB1_IDF1273_CRAH_02", + "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_M5_6_MPR1150_CRAH_01", + "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_M5_6_MPR1150_CRAH_02", + "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_M1_2_MPR1240_CRAH_01", + "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_M1_2_MPR1240_CRAH_02", + "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_M3_4_MPR1241_CRAH_01", + "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_M3_4_MPR1241_CRAH_02", + "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_M7_8_MPR1247_CRAH_01", + "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_M7_8_MPR1247_CRAH_02", + "[Ignition_Common_IO_Gtwy]MR1253/SATB1_HS2_MR1253_CRAH_01", + "[Ignition_Common_IO_Gtwy]MR1253/SATB1_HS2_MR1253_CRAH_02" + ], + "key": "[Ignition_SATB1_IO1_default]ER1242/SATB1_P1_1_ER1242_CRAH_01", + "key_1": null, + "selectedRoom": "MPR1150", + "tagPath": [ + "[Ignition_SATB1_IO1_default]", + "[Ignition_SATB1_IO2_default]", + "[Ignition_SATB1_IO3_default]", + "[Ignition_SATB1_IO4_default]", + "[Ignition_SATB1_IO5_default]", + "[Ignition_Common_IO_Gtwy]" + ] + }, + "params": {}, + "propConfig": { + "custom.AlarmSeverity": { + "binding": { + "config": { + "struct": { + "paths": "{view.custom.data}", + "time": "now(5000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttags \u003d value[\u0027paths\u0027]\n\tfor tag in tags:\n\t\taggAlarmStatus \u003d system.tag.readBlocking([tag+\"/AlarmSummary/ActiveAlarms\"])[0].value\n\t\treturn aggAlarmStatus\n\t\tmaxState \u003d 0\n\t\tfor v in aggAlarmStatus:\n\t\t\tmaxState \u003d v if v \u003e maxState else maxState\n\t\toutput.append(maxState)\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.CRAH_tagPaths": { + "binding": { + "config": { + "struct": { + "selected": "{view.custom.selectedRoom}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tselected \u003d value[\"selected\"]\n\tproviders \u003d {\n\t\t\t\t\"MPR1240\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\"MPR1241\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\"MPR1247\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\"MPR1150\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\"ER1151\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\"MR1253\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\"IDF1263\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\"IDF1273\":\"[Ignition_Common_IO_Gtwy]\",\n\t\t\t\t\n\t\t\t\t\"ER1242\":\"[Ignition_SATB1_IO1_default]\",\n\t\t\t\t\"ER1243\":\"[Ignition_SATB1_IO1_default]\",\n\t\t\t\t\"ER1244\":\"[Ignition_SATB1_IO1_default]\",\n\t\t\t\t\"ER1245\":\"[Ignition_SATB1_IO1_default]\",\n\t\t\t\t\"ER1246\":\"[Ignition_SATB1_IO1_default]\",\n\t\t\t\t\n\t\t\t\t\"ER1248\":\"[Ignition_SATB1_IO2_default]\",\n\t\t\t\t\"ER1249\":\"[Ignition_SATB1_IO2_default]\",\n\t\t\t\t\"ER1250\":\"[Ignition_SATB1_IO2_default]\",\n\t\t\t\t\"ER1251\":\"[Ignition_SATB1_IO2_default]\",\n\t\t\t\t\"ER1252\":\"[Ignition_SATB1_IO2_default]\",\n\t\t\t\t\n\t\t\t\t\"ER1155\":\"[Ignition_SATB1_IO3_default]\",\n\t\t\t\t\"ER1156\":\"[Ignition_SATB1_IO3_default]\",\n\t\t\t\t\"ER1157\":\"[Ignition_SATB1_IO3_default]\",\n\t\t\t\t\"ER1158\":\"[Ignition_SATB1_IO3_default]\",\n\t\t\t\t\"ER1159\":\"[Ignition_SATB1_IO3_default]\",\n\t\t\t\t\n\t\t\t\t\"ER1254\":\"[Ignition_SATB1_IO4_default]\",\n\t\t\t\t\"ER1255\":\"[Ignition_SATB1_IO4_default]\",\n\t\t\t\t\"ER1256\":\"[Ignition_SATB1_IO4_default]\",\n\t\t\t\t\"ER1257\":\"[Ignition_SATB1_IO4_default]\",\n\t\t\t\t\"ER1258\":\"[Ignition_SATB1_IO4_default]\",\n\t\t\t\t\n\t\t\t\t\"ER1161\":\"[Ignition_SATB1_IO5_default]\",\n\t\t\t\t\"ER1162\":\"[Ignition_SATB1_IO5_default]\",\n\t\t\t\t\"ER1163\":\"[Ignition_SATB1_IO5_default]\",\n\t\t\t\t\"ER1164\":\"[Ignition_SATB1_IO5_default]\",\n\t\t\t\t\"ER1165\":\"[Ignition_SATB1_IO5_default]\",\n\t\t\t\t}\n\t\n\tpath \u003d providers[selected] + \u0027/\u0027 + selected\n\ttags \u003d system.tag.browse(path,{\"typeId\":\"Objects/Air/CRAH v2\", \"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.data": { + "binding": { + "config": { + "path": "view.custom.time" + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tdata \u003d self.custom.tagPath\n\tfor item in data:\n\t\ttags \u003d system.tag.browse(item,{\"typeId\":\"Objects/Air/CRAH\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\t\tfor item in tags:\n\t\t\tCRAH_tagPath \u003d str(item[\"fullPath\"])\n\t\t\toutput.append(CRAH_tagPath)\n\toutput.append(value)\n\treturn output", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.key": { + "persistent": true + }, + "custom.key_1": { + "binding": { + "config": { + "path": "view.custom.key" + }, + "transforms": [ + { + "code": "\n\treturn alarm.summary.calcMaxPriority(value)", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.selectedRoom": { + "persistent": true + }, + "custom.tagPath": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1300 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.CRAH_tagPaths[0]" + }, + "enabled": false, + "transforms": [ + { + "code": "\timport re\n\ttag_path \u003d value\n\tpattern \u003d r\"]([^/]+)\" # Matches any characters between \u0027]\u0027 and \u0027/\u0027\n\tmatch \u003d re.search(pattern, tag_path)\n\tif match:\n\t\textracted_value \u003d match.group(1)\n\treturn extracted_value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 5, + "paddingLeft": 15, + "paddingRight": 15, + "paddingTop": 5 + }, + "text": "ER1242" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "path": "view.custom.CRAH_tagPaths" + }, + "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\": \"CRAH\",\n\t\t\t\t\t\t\"tagPath\": item})\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "row-reverse", + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "CRAH", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_M5_6_MPR1150_CRAH_01" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "CRAH", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_M5_6_MPR1150_CRAH_02" + } + ], + "path": "Library/Diagrams/HVAC/Dgrm_CRAH", + "style": { + "gap": 15, + "overflow": "visible" + } + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Diagrams" + }, + "position": { + "basis": "70%", + "grow": 1 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": 15, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Second Floor" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SecondFloor" + }, + "position": { + "basis": "20%", + "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" + }, + "position": { + "basis": "20%", + "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)\n\t\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "65%" + }, + "propConfig": { + "custom.selectedPaths": { + "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/CRAH\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\treturn tags", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.data": { + "binding": { + "config": { + "struct": { + "data": "{view.custom.data}", + "time": "now(5000)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor item in value[\u0027data\u0027]:\n\t\ttry:\n\t\t\tAlmS \u003d alarm.summary.calcMaxPriority(item)\n\t\texcept:\n\t\t\tAlmS \u003d -1\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\tRAT \u003d system.tag.readBlocking(item + \"/Return Air Temperature\")[0].value\n\t\t#SAT \u003d system.tag.readBlocking(item + \"/Supply Air Temperature\")[0].value\n\t\t#Name \u003d system.tag.readBlocking(item + \"/Meta/EqName\")[0].value\n\t\t#Room \u003d system.tag.readBlocking(item + \"/Meta/Room\")[0].value\n\t\tRoom \u003d item.split(\u0027/\u0027)[0].split(\u0027]\u0027)[1]\n\t\tName \u003d item.rsplit(\u0027_\u0027,2)\n\t\ttagPath \u003d item\n\t\toutput.append({ \"RAT\": RAT,\n\t\t\t\t\t\t#\"SAT\": SAT,\n\t\t\t\t\t\t\"Room\": Room,\n\t\t\t\t\t\t\"Name\": Name[1] + Name[2],\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": "RAT", + "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": "Return Air 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": false, + "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 + }, + "pager": { + "activeOption": 14, + "options": [ + 5, + 10, + 14, + 50, + 100 + ] + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "Location" + }, + "position": { + "basis": "450px", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around", + "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": "roomUpdate", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selectedRoom \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/DOAS/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/DOAS/resource.json new file mode 100644 index 0000000..defab36 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/DOAS/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "13f9b2b8158ed1630ad3ae62be1f9dd52d34af622477a4241be9c895c54a2e3a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T15:02:04Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/DOAS/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/DOAS/thumbnail.png new file mode 100644 index 0000000..793420c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/DOAS/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/DOAS/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/DOAS/view.json new file mode 100644 index 0000000..bc8e093 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/DOAS/view.json @@ -0,0 +1,699 @@ +{ + "custom": { + "DOAS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03", + "data": [ + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + ], + "selectedRoom": "SATB1_RF_DOAS03", + "tagPath": "[Ignition_Common_IO_Gtwy]" + }, + "params": {}, + "propConfig": { + "custom.DOAS_tagPath": { + "binding": { + "config": { + "path": "view.custom.selectedRoom" + }, + "transforms": [ + { + "code": "\treturn self.custom.tagPath +\"Roof/\"+ value", + "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/DOAS\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\toutput.append(str(item[\"fullPath\"]))\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selectedRoom": { + "persistent": true + }, + "custom.tagPath": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "DOAS_Diagram" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.DOAS_tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": false, + "objectName": "DOAS" + }, + "path": "Library/Diagrams/HVAC/Dgrm_DOAS", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Diagram" + }, + "position": { + "basis": "70%", + "grow": 1 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Roof" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FirstFloor Percent" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "path": "Library/Widgets/Layouts/RTU_Roof", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "Second Floor" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FirstFloor Percent_0" + }, + "position": { + "basis": "15%", + "grow": 1 + }, + "props": { + "path": "Library/Widgets/Layouts/RTU_SecondFloor", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_2" + }, + "props": { + "text": "First Floor" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FirstFloor Percent_1" + }, + "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].Tag}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "35%" + }, + "propConfig": { + "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\ttry:\n\t\t\tAlmS \u003d alarm.summary.calcMaxPriority(item)\n\t\texcept:\n\t\t\tAlmS \u003d -1\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\tRAT \u003d system.tag.readBlocking(item + \"/Return Air Temperature\")[0].value\n\t\tSAT \u003d system.tag.readBlocking(item + \"/Supply Air Temperature\")[0].value\n\t\t#Name \u003d system.tag.readBlocking(item + \"/Meta/EqName\")[0].value\n\t\tName \u003d item.split(\u0027_\u0027)[5]\n\t\t#Tag \u003d system.tag.readBlocking(item + \"/Meta/Ignition Tag Name\")[0].value\n\t\tTag \u003d item.split(\u0027/\u0027)[1]\n\t\ttagPath \u003d item\n\t\toutput.append({\n\t\t\t\t\t\t\"RAT\": RAT,\n\t\t\t\t\t\t\"SAT\": SAT,\n\t\t\t\t\t\t\"Name\": Name,\n\t\t\t\t\t\t\"Tag\": Tag,\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": "SAT", + "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": "Supply Air Temperature" + }, + "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": "Tag", + "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": "Tag" + }, + "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": false, + "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": "DOAS01", + "RAT": null, + "SAT": null, + "Tag": "SATB1_RF_DOAS01", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01" + }, + { + "AlarmSeverity": " ", + "Name": "DOAS02", + "RAT": null, + "SAT": null, + "Tag": "SATB1_RF_DOAS02", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02" + }, + { + "AlarmSeverity": " ", + "Name": "DOAS03", + "RAT": null, + "SAT": null, + "Tag": "SATB1_RF_DOAS03", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + }, + { + "AlarmSeverity": " ", + "Name": "DOAS04", + "RAT": null, + "SAT": null, + "Tag": "SATB1_RF_DOAS04", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + }, + { + "AlarmSeverity": " ", + "Name": "DOAS05", + "RAT": null, + "SAT": null, + "Tag": "SATB1_RF_DOAS05", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03" + } + ] + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "Location" + }, + "position": { + "basis": "450px", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around", + "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": "roomUpdate", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selectedRoom \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/EF/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/EF/resource.json new file mode 100644 index 0000000..7675d73 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/EF/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5fdabcb92c07c086d0f5103ada82ad408715caf3ba48ccc834695522706f39e8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T15:09:03Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/EF/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/EF/thumbnail.png new file mode 100644 index 0000000..504cb6f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/EF/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/EF/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/EF/view.json new file mode 100644 index 0000000..e44daea --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/EF/view.json @@ -0,0 +1,444 @@ +{ + "custom": { + "DOAS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/DOAS1", + "data": [ + "[Ignition_Common_IO_Gtwy]Roof/DOAS1", + "[Ignition_Common_IO_Gtwy]Roof/DOAS2", + "[Ignition_Common_IO_Gtwy]Roof/DOAS3" + ], + "key": null, + "tagPath": "[Ignition_Common_IO_Gtwy]", + "tpe": "AnalogIn" + }, + "params": { + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_RM1200_SpaceDP" + }, + "propConfig": { + "custom.DOAS_tagPath": { + "binding": { + "config": { + "path": "view.custom.key" + }, + "transforms": [ + { + "code": "\toutput \u003d \"\"\n\tif(value is None):\n\t\toutput \u003d \"[Ignition_Common_IO_Gtwy]Roof/DOAS1\"\n\telse:\n\t\toutput \u003d self.custom.data[value]\n\treturn output", + "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/DOAS\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\toutput.append(str(item[\"fullPath\"]))\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.key": { + "binding": { + "config": { + "path": "/root/Location/Table.props.selection.selectedRow" + }, + "transforms": [ + { + "code": "\tif(value \u003d\u003d \"null\"):\n\t\tvalue \u003d 0\n\treturn value", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.tagPath": { + "persistent": true + }, + "custom.tpe": { + "persistent": true + }, + "params.objectName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "SecondFloor Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 5, + "paddingLeft": 15, + "paddingRight": 15, + "paddingTop": 5 + }, + "text": "Second Floor" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "grow": 1 + }, + "props": { + "params": { + "embedded": false, + "objectName": "EF", + "tagPath": "[Ignition_Common_IO_Gtwy]RT_Tags/SATB1_HS1_RT_EF02" + }, + "path": "Library/Diagrams/HVAC/Dgrm_EF", + "style": { + "borderBottomLeftRadius": "var(-borderRadius)", + "borderBottomRightRadius": "var(-borderRadius)", + "borderTopLeftRadius": "var(-borderRadius)", + "borderTopRightRadius": "var(-borderRadius)", + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "grow": 1 + }, + "props": { + "params": { + "embedded": false, + "objectName": "EF_V2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_ER1229_EF4_VFD" + }, + "path": "Library/Diagrams/HVAC/Dgrm_EF_VFD", + "style": { + "borderBottomLeftRadius": "var(-borderRadius)", + "borderBottomRightRadius": "var(-borderRadius)", + "borderTopLeftRadius": "var(-borderRadius)", + "borderTopRightRadius": "var(-borderRadius)", + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "grow": 1 + }, + "props": { + "params": { + "embedded": false, + "objectName": "EF_V2", + "tagPath": "[Ignition_Common_IO_Gtwy]ER1229/SATB1_ER1229_EF5_VFD" + }, + "path": "Library/Diagrams/HVAC/Dgrm_EF_VFD", + "style": { + "borderBottomLeftRadius": "var(-borderRadius)", + "borderBottomRightRadius": "var(-borderRadius)", + "borderTopLeftRadius": "var(-borderRadius)", + "borderTopRightRadius": "var(-borderRadius)", + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "50%" + }, + "props": { + "text": "Space DP" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\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\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Transmitter_3" + }, + "position": { + "grow": 1 + }, + "props": { + "params": { + "EU": "inWc", + "EU_Pos": 1, + "Val": 0.108 + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "7.7%" + }, + "props": { + "style": { + "gap": "5px", + "padding": "25px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "30%" + }, + "props": { + "params": { + "dataType": "Float4", + "enabled": true, + "max": 120, + "min": 0, + "name": "Space DP Setpoint", + "options": [], + "tagPath": "[default]simulator/DH/Temp16", + "visible": true + }, + "path": "Library/Framework/Tag ConfigV2", + "style": { + "overflow": "visible", + "padding": "17px" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "basis": "30%" + }, + "props": { + "params": { + "dataType": "Boolean", + "enabled": false, + "max": 9999, + "min": -9999, + "name": "Enable RM1200 EF", + "options": [], + "tagPath": "[default]simulator/TestBoolean", + "visible": true + }, + "path": "Library/Framework/Tag ConfigV2", + "style": { + "padding": "17px" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "450px" + }, + "props": { + "direction": "column", + "style": { + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "4px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "28.4%" + }, + "props": { + "style": { + "gap": "50px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "FirstFloor Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 5, + "paddingLeft": 15, + "paddingRight": 15, + "paddingTop": 5 + }, + "text": "First Floor" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "props": { + "params": { + "embedded": false, + "objectName": "EF", + "tagPath": "[Ignition_Common_IO_Gtwy]SR1133/SATB1_HS1_SR1136_EF01" + }, + "path": "Library/Diagrams/HVAC/Dgrm_EF", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "props": { + "params": { + "embedded": false, + "objectName": "EF", + "tagPath": "[Ignition_Common_IO_Gtwy]SR1133/SATB1_HS1_SR1133_EF03" + }, + "path": "Library/Diagrams/HVAC/Dgrm_EF", + "style": { + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "First Floor" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "justify": "center", + "style": { + "gap": 200, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "gap": 50, + "overflow": "visible", + "padding": 15 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/FCU/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/FCU/resource.json new file mode 100644 index 0000000..72b3602 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/FCU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5a81db77dd43e6e321e9140bbbc362f7e1aaf3d7955fc6e6e30b401ef95f5dba", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T15:08:56Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/FCU/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/FCU/thumbnail.png new file mode 100644 index 0000000..c882d93 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/FCU/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/FCU/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/FCU/view.json new file mode 100644 index 0000000..5ecbd42 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/FCU/view.json @@ -0,0 +1,726 @@ +{ + "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" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/HUM/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/HUM/resource.json new file mode 100644 index 0000000..f2af969 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/HUM/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "47beb42121f112af94d9e2ce2103567f576829cca1690f51efa4cc64068ba528", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T14:51:15Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/HUM/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/HUM/thumbnail.png new file mode 100644 index 0000000..75a40e4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/HUM/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/HUM/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/HUM/view.json new file mode 100644 index 0000000..dbabcfa --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/HUM/view.json @@ -0,0 +1,793 @@ +{ + "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" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/RTU/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/RTU/resource.json new file mode 100644 index 0000000..5218af6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/RTU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8133d73df1ec62a8b4a1f5c01f7e1833b94899a62ac07bef7d876663a4c44c94", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T15:09:02Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/RTU/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/RTU/thumbnail.png new file mode 100644 index 0000000..fd84872 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/RTU/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/RTU/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/RTU/view.json new file mode 100644 index 0000000..8db9ed7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/RTU/view.json @@ -0,0 +1,1053 @@ +{ + "custom": { + "RTU_tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02", + "auth": { + "almAck": false, + "almShelve": false, + "config": false, + "control": false + }, + "data": [ + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU02" + ], + "room": "SATB1_RF_RTU02", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof" + }, + "params": {}, + "propConfig": { + "custom.RTU_tagPath": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "transforms": [ + { + "code": "\treturn self.custom.tagPath + \"/\"+ value", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.auth": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\treturn utils.roles.validate(value)", + "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/RTU-1\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\ttagPath \u003d str(item[\"fullPath\"])\n\t\toutput.append(tagPath)\n\t\ttags \u003d system.tag.browse(value[\"tagPath\"],{\"typeId\":\"Objects/Air/RTU-2\", \"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": "RTU Diagram" + }, + "propConfig": { + "props.params.objectName": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "transforms": [ + { + "code": "\toutput \u003d value.split(\"_\")\n\treturn output[2]", + "type": "script" + } + ], + "type": "property" + } + }, + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.RTU_tagPath" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "enabled": false, + "transforms": [ + { + "code": "\tsplit \u003d value.split(\"_\")\n\treturn \"Pages/Dev/C_AirSystem/Diagrams/\" + split[2]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": false + }, + "path": "Library/Diagrams/HVAC/Dgrm_RTU", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Diagram" + }, + "position": { + "basis": "70%", + "grow": 1 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "backgroundColor": "var(--containerRoot)", + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "props": { + "text": "Roof" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FirstFloor Percent" + }, + "position": { + "grow": 1 + }, + "props": { + "path": "Library/Widgets/Layouts/RTU_Roof", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "Second Floor" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FirstFloor Percent_0" + }, + "position": { + "grow": 1 + }, + "props": { + "path": "Library/Widgets/Layouts/RTU_SecondFloor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_2" + }, + "props": { + "text": "First Floor" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FirstFloor Percent_1" + }, + "position": { + "grow": 1 + }, + "props": { + "path": "Library/Widgets/Layouts/RTU_FirstFloor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "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].Tag}\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)\n\tmessageType \u003d \"layout_03_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "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\tRAD \u003d system.tag.readBlocking(item + \"/Return Air Damper\")[0].value\n\t\tSAT \u003d system.tag.readBlocking(item + \"/Supply Air Temperature\")[0].value\n\t\tName \u003d system.tag.readBlocking(item + \"/Meta/EqName\")[0].value\n\t\ttag \u003d system.tag.readBlocking(item + \"/Meta/Ignition Tag Name\")[0].value\n\t\toutput.append({ \"RAD\": str(RAD) + \u0027 %\u0027,\n\t\t\t\t\t\t\"SAT\": str(round(SAT,3)) + \u0027 F\u0027,\n\t\t\t\t\t\t\"Tag\": tag,\n\t\t\t\t\t\t\"AlarmSeverity\": AlarmSeverity,\n\t\t\t\t\t\t\"Name\": Name})\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": "Device" + }, + "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": "string", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 75 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "SAT", + "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": "Supply Air 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": "RAD", + "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": "Return Air Damper Position" + }, + "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": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Tag", + "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": false, + "width": "" + } + ], + "data": [ + { + "AlarmSeverity": "Info", + "Name": "RTU_01", + "RAD": "48.0 %", + "SAT": "57.1 F", + "Tag": "SATB1_RF_RTU01" + }, + { + "AlarmSeverity": " ", + "Name": "RTU_02", + "RAD": "68.0 %", + "SAT": "69.8 F", + "Tag": "SATB1_RF_RTU02" + }, + { + "AlarmSeverity": " ", + "Name": "RTU_03", + "RAD": "68.0 %", + "SAT": "69.8 F", + "Tag": "SATB1_RF_RTU02" + }, + { + "AlarmSeverity": " ", + "Name": "RTU_04", + "RAD": "66.0 %", + "SAT": "70.1 F", + "Tag": "SATB1_RF_RTU02" + }, + { + "AlarmSeverity": " ", + "Name": "RTU_05", + "RAD": "69.0 %", + "SAT": "68.8 F", + "Tag": "SATB1_RF_RTU02" + } + ], + "style": { + "overflow": "auto" + } + }, + "type": "ia.display.table" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tClosed \u003d True\n\tself.custom.RTU1_Emergency_Override \u003d Closed\n\tself.custom.RTU2_Emergency_Override \u003d Closed" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.RTU1_Emergency_Override": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.data[0]}" + }, + "tagPath": "{0}/Control/Emergency Override" + }, + "type": "tag" + } + }, + "custom.RTU2_Emergency_Override": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.data[1]}" + }, + "tagPath": "{0}/Control/Emergency Override" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01/Control/Emergency Override" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "image": { + "style": { + "backgroundColor": "#D5D5D5", + "color": "#2B2B2B" + } + }, + "style": { + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderWidth": 1, + "margin": 2 + }, + "text": "Close Outside Dampers", + "textStyle": { + "color": "#2B2B2B" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tAuto \u003d False\n\tself.custom.RTU1_Emergency_Override \u003d Auto\n\tself.custom.RTU2_Emergency_Override \u003d Auto\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "custom.RTU1_Emergency_Override": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.data[0]}" + }, + "tagPath": "{0}/Control/Emergency Override" + }, + "type": "tag" + } + }, + "custom.RTU2_Emergency_Override": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.custom.data[1]}" + }, + "tagPath": "{0}/Control/Emergency Override" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "path": "view.custom.auth.control" + }, + "type": "property" + } + }, + "props.primary": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01/Control/Emergency Override" + }, + "enabled": false, + "transforms": [ + { + "fallback": false, + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": true + }, + { + "input": true, + "output": false + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "image": { + "style": { + "backgroundColor": "#D5D5D5", + "color": "#2B2B2B" + } + }, + "style": { + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderWidth": 1, + "margin": 2 + }, + "text": "Set Dampers In Auto", + "textStyle": { + "color": "#2B2B2B" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "style": { + "gap": "var(--space-sm)", + "margin": 5, + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Location" + }, + "position": { + "basis": "450px", + "grow": 1 + }, + "props": { + "direction": "column", + "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": "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" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/SP/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/SP/resource.json new file mode 100644 index 0000000..5bbcccc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/SP/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0c84fc48b4926ce0f265b1f270e9a2c69ccb808fe53b54f26f0c2816d509dabd", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T15:34:05Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/SP/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/SP/thumbnail.png new file mode 100644 index 0000000..2559ae7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/SP/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/SP/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/SP/view.json new file mode 100644 index 0000000..c2aa176 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/SP/view.json @@ -0,0 +1,138 @@ +{ + "custom": { + "DOAS_tagPath": "[Ignition_Common_IO_Gtwy]Roof/DOAS1", + "data": [ + "[Ignition_Common_IO_Gtwy]Roof/DOAS1", + "[Ignition_Common_IO_Gtwy]Roof/DOAS2", + "[Ignition_Common_IO_Gtwy]Roof/DOAS3" + ], + "key": null, + "key_1": "value", + "tagPath": "[Ignition_Common_IO_Gtwy]" + }, + "params": {}, + "propConfig": { + "custom.DOAS_tagPath": { + "binding": { + "config": { + "path": "view.custom.key" + }, + "transforms": [ + { + "code": "\toutput \u003d \"\"\n\tif(value is None):\n\t\toutput \u003d \"[Ignition_Common_IO_Gtwy]Roof/DOAS1\"\n\telse:\n\t\toutput \u003d self.custom.data[value]\n\treturn output", + "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/DOAS\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\toutput.append(str(item[\"fullPath\"]))\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.key": { + "binding": { + "config": { + "path": "/root/Location/Table.props.selection.selectedRow" + }, + "transforms": [ + { + "code": "\tif(value \u003d\u003d \"null\"):\n\t\tvalue \u003d 0\n\treturn value", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.key_1": { + "persistent": true + }, + "custom.tagPath": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ESP", + "tagPath": "[Ignition_Common_IO_Gtwy]ELEV1124/SATB1_ELEV1124_ESP1" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ESP", + "tagPath": "[Ignition_Common_IO_Gtwy]ELEV1130/SATB1_ELEV1124_ESP2" + }, + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "ESP", + "tagPath": "[Ignition_Common_IO_Gtwy]ELEV1131/SATB1_ELEV1124_ESP3" + } + ], + "path": "Library/Symbols/Mechanical/Sym_SP", + "style": { + "gap": 100, + "overflow": "visible" + } + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "gap": 50, + "overflow": "visible", + "padding": 15 + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/STU/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/STU/resource.json new file mode 100644 index 0000000..2147264 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/STU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "63e0d661dbf2a2303ba1b2972c789ee7c9eb65082a45e0b27d3397582d82fc94", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T15:06:39Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/STU/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/STU/thumbnail.png new file mode 100644 index 0000000..0f82a1b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/STU/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/STU/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/STU/view.json new file mode 100644 index 0000000..085b7a0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/STU/view.json @@ -0,0 +1,1554 @@ +{ + "custom": { + "STU_tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU01", + "data": [ + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU01", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU03", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU05", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU07", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU09", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU11", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU13", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU15", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU17", + "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU19", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU02", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU04", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU06", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU08", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU10", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU12", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU14", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU16", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU18", + "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU20", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU01", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU03", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU05", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU07", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU09", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU11", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU13", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU15", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU17", + "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU19", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU02", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU04", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU06", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU08", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU10", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU12", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU14", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU16", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU18", + "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU20", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU01", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU03", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU05", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU07", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU09", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU11", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU13", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU15", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU17", + "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU19", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU02", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU04", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU06", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU08", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU10", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU12", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU14", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU16", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU18", + "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU20", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU01", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU03", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU05", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU07", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU09", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU11", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU13", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU15", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU17", + "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU19", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU02", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU04", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU06", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU08", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU10", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU12", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU14", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU16", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU18", + "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU20", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU01", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU03", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU05", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU07", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU09", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU11", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU13", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU15", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU17", + "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU19", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU02", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU04", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU08", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU10", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU12", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU14", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU16", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU18", + "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU20" + ], + "room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]" + }, + "params": {}, + "propConfig": { + "custom.STU_tagPath": { + "binding": { + "config": { + "path": "view.custom.selected" + }, + "transforms": [ + { + "code": "\toutput \u003d \"\"\n\tif(value is None):\n\t\toutput \u003d \"[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU01\"\n\telse:\n\t\toutput \u003d value\n\treturn output", + "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/STU\", \"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": "STU diagram" + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.custom.STU_tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "embedded": false, + "objectName": "STU" + }, + "path": "Library/Diagrams/HVAC/Dgrm_STU", + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "padding": 5 + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "70%", + "grow": 1 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "backgroundColor": "var(--containerRoot)", + "padding": 10 + } + }, + "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" + }, + "useDefaultViewWidth": true + }, + "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" + }, + "useDefaultViewHeight": true, + "useDefaultViewWidth": true + }, + "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 \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_02_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tpayload \u003d {\t\"Tag\":self.props.selection.data[0].tagPath}\n\tmessageType \u003d \"equipmentUpdate\"\n\tsystem.perspective.sendMessage(messageType, payload)\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "50%" + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "struct": { + "data": "{view.custom.data}", + "time": "now(5000)" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tdata \u003d value[\"data\"]\n\tfor item in data:\n\t\ttry:\n\t\t\tAlmS \u003d alarm.summary.calcMaxPriority(item)\n\t\texcept:\n\t\t\tAlmS \u003d -1\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\tinstance \u003d system.tag.readBlocking(item)[0].value\n\t\tRAT \u003d instance[\"Return Air Temperature\"]\n\t\tName \u003d instance[\"Meta\"][\"EqName\"]\n\t\tRoom \u003d instance[\"Meta\"][\"Room\"]\n\t\toutput.append({\"RAT\":RAT ,\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\": item})\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.filter.text": { + "binding": { + "config": { + "path": "view.custom.room" + }, + "type": "property" + } + } + }, + "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": "RAT", + "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": "Return Air Temperature" + }, + "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": "", + "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": false, + "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 STU01", + "RAT": 75.5999984741211, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU01" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU03", + "RAT": 75.4000015258789, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU03" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU05", + "RAT": 76.5, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU05" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU07", + "RAT": 76.69999694824219, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU07" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU09", + "RAT": 77.19999694824219, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU09" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU11", + "RAT": 76, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU11" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU13", + "RAT": 75.4000015258789, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU13" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU15", + "RAT": 75.5, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU15" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU17", + "RAT": 76.5999984741211, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU17" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU19", + "RAT": 77.30000305175781, + "Room": "GAL1171", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_DH3_STU19" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU02", + "RAT": 76.4000015258789, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU02" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU04", + "RAT": 76.5, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU04" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU06", + "RAT": 76.4000015258789, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU06" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU08", + "RAT": 75.5, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU08" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU10", + "RAT": 75.4000015258789, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU10" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU12", + "RAT": 75.19999694824219, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU12" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU14", + "RAT": 75.5, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU14" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU16", + "RAT": 75.4000015258789, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU16" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU18", + "RAT": 75.5, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU18" + }, + { + "AlarmSeverity": " ", + "Name": " DH3 STU20", + "RAT": 75.69999694824219, + "Room": "GAL1172", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_DH3_STU20" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU01", + "RAT": 73.9000015258789, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU01" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU03", + "RAT": 74.80000305175781, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU03" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU05", + "RAT": 75.19999694824219, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU05" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU07", + "RAT": 75.4000015258789, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU07" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU09", + "RAT": 75.19999694824219, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU09" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU11", + "RAT": 75.30000305175781, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU11" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU13", + "RAT": 75.30000305175781, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU13" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU15", + "RAT": 75.30000305175781, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU15" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU17", + "RAT": 75.30000305175781, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU17" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU19", + "RAT": 75.19999694824219, + "Room": "GAL1181", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1181/SATB1_GAL1181_DH5_STU19" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU02", + "RAT": 75, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU02" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU04", + "RAT": 75, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU04" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU06", + "RAT": 75, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU06" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU08", + "RAT": 75.0999984741211, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU08" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU10", + "RAT": 75.0999984741211, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU10" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU12", + "RAT": 75.19999694824219, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU12" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU14", + "RAT": 75.30000305175781, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU14" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU16", + "RAT": 75.19999694824219, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU16" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU18", + "RAT": 75.30000305175781, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU18" + }, + { + "AlarmSeverity": " ", + "Name": " DH5 STU20", + "RAT": 75.19999694824219, + "Room": "GAL1182", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1182/SATB1_GAL1182_DH5_STU20" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU01", + "RAT": 89.69999694824219, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU01" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU03", + "RAT": 85.4000015258789, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU03" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU05", + "RAT": 82.5999984741211, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU05" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU07", + "RAT": 82.69999694824219, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU07" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU09", + "RAT": 82.0999984741211, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU09" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU11", + "RAT": 82, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU11" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU13", + "RAT": 83.5, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU13" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU15", + "RAT": 81.80000305175781, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU15" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU17", + "RAT": 82.4000015258789, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU17" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU19", + "RAT": 81.0999984741211, + "Room": "GAL1261", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_DH1_STU19" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU02", + "RAT": 85, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU02" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU04", + "RAT": 81.30000305175781, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU04" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU06", + "RAT": 82, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU06" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU08", + "RAT": 81.80000305175781, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU08" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU10", + "RAT": 82.0999984741211, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU10" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU12", + "RAT": 81.19999694824219, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU12" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU14", + "RAT": 82.0999984741211, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU14" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU16", + "RAT": 81.0999984741211, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU16" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU18", + "RAT": 80.19999694824219, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU18" + }, + { + "AlarmSeverity": " ", + "Name": " DH1 STU20", + "RAT": 82.80000305175781, + "Room": "GAL1262", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_DH1_STU20" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU01", + "RAT": 81.0999984741211, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU01" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU03", + "RAT": 82.9000015258789, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU03" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU05", + "RAT": 82.80000305175781, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU05" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU07", + "RAT": 82.5999984741211, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU07" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU09", + "RAT": 82.69999694824219, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU09" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU11", + "RAT": 82.4000015258789, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU11" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU13", + "RAT": 83.5, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU13" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU15", + "RAT": 82.5, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU15" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU17", + "RAT": 82.69999694824219, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU17" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU19", + "RAT": 82.5999984741211, + "Room": "GAL1271", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_DH2_STU19" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU02", + "RAT": 81.19999694824219, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU02" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU04", + "RAT": 81.9000015258789, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU04" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU06", + "RAT": 81.69999694824219, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU06" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU08", + "RAT": 81.5, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU08" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU10", + "RAT": 81, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU10" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU12", + "RAT": 80.5999984741211, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU12" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU14", + "RAT": 81.19999694824219, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU14" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU16", + "RAT": 80.5, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU16" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU18", + "RAT": 80.69999694824219, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU18" + }, + { + "AlarmSeverity": " ", + "Name": " DH2 STU20", + "RAT": 83, + "Room": "GAL1272", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_DH2_STU20" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU01", + "RAT": 75.5, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU01" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU03", + "RAT": 75.9000015258789, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU03" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU05", + "RAT": 76.0999984741211, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU05" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU07", + "RAT": 76, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU07" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU09", + "RAT": 77.30000305175781, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU09" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU11", + "RAT": 76.5, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU11" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU13", + "RAT": 76.4000015258789, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU13" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU15", + "RAT": 76.5999984741211, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU15" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU17", + "RAT": 76.5999984741211, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU17" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU19", + "RAT": 76.5, + "Room": "GAL1281", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_DH4_STU19" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU02", + "RAT": 75.19999694824219, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU02" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU04", + "RAT": 75.0999984741211, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU04" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU06", + "RAT": 75.0999984741211, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU06" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU08", + "RAT": 75.19999694824219, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU08" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU10", + "RAT": 75.30000305175781, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU10" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU12", + "RAT": 75.19999694824219, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU12" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU14", + "RAT": 75.4000015258789, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU14" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU16", + "RAT": 75.30000305175781, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU16" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU18", + "RAT": 75.30000305175781, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU18" + }, + { + "AlarmSeverity": " ", + "Name": " DH4 STU20", + "RAT": 75, + "Room": "GAL1282", + "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_DH4_STU20" + } + ], + "filter": { + "enabled": true + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "450px", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around", + "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)", + "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 + }, + { + "messageType": "equipmentUpdate", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.STU_tagPath \u003d payload[\"Tag\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/VAV/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/VAV/resource.json new file mode 100644 index 0000000..5bf29d4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/VAV/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d688b07e28ddf103466e00b550d034d68fd3938d0a12e09c22a46b56b2b6da13", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T15:08:10Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/VAV/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/VAV/thumbnail.png new file mode 100644 index 0000000..7c909e4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/VAV/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/VAV/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/VAV/view.json new file mode 100644 index 0000000..42456c0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/HVAC/VAV/view.json @@ -0,0 +1,876 @@ +{ + "custom": { + "VAV_tagPaths": [], + "data": [ + "[Ignition_Common_IO_Gtwy]RM1100/SATB1_HS1_RM1100_VAV13", + "[Ignition_Common_IO_Gtwy]RM1100/SATB1_HS1_RM1100_VAV14", + "[Ignition_Common_IO_Gtwy]RM1101/SATB1_HS1_RM1101_VAV17", + "[Ignition_Common_IO_Gtwy]RM1102/SATB1_HS1_RM1102_VAV15", + "[Ignition_Common_IO_Gtwy]RM1102-2/SATB1_HS1_RM1102-2_VAV16", + "[Ignition_Common_IO_Gtwy]RM1103/SATB1_HS1_RM1103_VAV09", + "[Ignition_Common_IO_Gtwy]RM1109/SATB1_HS1_RM1109_VAV06", + "[Ignition_Common_IO_Gtwy]RM1110/SATB1_HS1_RM1110_VAV04", + "[Ignition_Common_IO_Gtwy]RM1110/SATB1_HS1_RM1110_VAV05", + "[Ignition_Common_IO_Gtwy]RM1111/SATB1_HS1_RM1111_VAV11", + "[Ignition_Common_IO_Gtwy]RM1113/SATB1_HS1_RM1113_VAV08", + "[Ignition_Common_IO_Gtwy]RM1114/SATB1_HS1_RM1114_VAV07", + "[Ignition_Common_IO_Gtwy]RM1116/SATB1_HS1_RM1116_VAV01", + "[Ignition_Common_IO_Gtwy]RM1117/SATB1_HS1_RM1117_VAV02", + "[Ignition_Common_IO_Gtwy]RM1118/SATB1_HS1_RM1118_VAV03", + "[Ignition_Common_IO_Gtwy]RM1121/SATB1_HS1_RM1121_VAV19", + "[Ignition_Common_IO_Gtwy]RM1127/SATB1_HS1_RM1127_VAV22", + "[Ignition_Common_IO_Gtwy]RM1127/SATB1_HS1_RM1127_VAV23", + "[Ignition_Common_IO_Gtwy]RM1133/SATB1_HS1_RM1133_VAV25", + "[Ignition_Common_IO_Gtwy]RM1133-5/SATB1_HS1_RM1133-5_VAV18", + "[Ignition_Common_IO_Gtwy]RM1134/SATB1_HS1_RM1134_VAV20", + "[Ignition_Common_IO_Gtwy]RM1135/SATB1_HS1_RM1135_VAV21", + "[Ignition_Common_IO_Gtwy]RM1137/SATB1_HS1_RM1137_VAV12", + "[Ignition_Common_IO_Gtwy]RM1138/SATB1_HS1_RM1138_VAV29", + "[Ignition_Common_IO_Gtwy]RM1139/SATB1_HS1_RM1139_VAV26", + "[Ignition_Common_IO_Gtwy]RM1139/SATB1_HS1_RM1139_VAV27", + "[Ignition_Common_IO_Gtwy]RM1139/SATB1_HS1_RM1139_VAV28", + "[Ignition_Common_IO_Gtwy]RM1141/SATB1_HS1_RM1141_VAV24", + "[Ignition_Common_IO_Gtwy]RM1153/SATB1_HS1_RM1153_VAV34", + "[Ignition_Common_IO_Gtwy]RM1190/SATB1_HS1_RM1190_VAV33", + "[Ignition_Common_IO_Gtwy]RM1192/SATB1_HS1_RM1192_VAV31", + "[Ignition_Common_IO_Gtwy]RM1194/SATB1_HS1_RM1194_VAV32" + ], + "selectedRoom": "RM1109", + "tagPath": "[Ignition_Common_IO_Gtwy]", + "tagPath_VAVmaster": "[Ignition_Common_IO_Gtwy]VAV/SATB1_VAV_Master" + }, + "params": {}, + "propConfig": { + "custom.VAV_tagPaths": { + "binding": { + "config": { + "struct": { + "selected": "{view.custom.selectedRoom}", + "time": "now(1000)" + }, + "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/VAV v2\", \"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.data": { + "binding": { + "config": { + "struct": { + "tagPath": "{view.custom.tagPath}", + "time": "now(3000)" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\ttags \u003d system.tag.browse(value[\"tagPath\"],{\"typeId\":\"Objects/Air/VAV\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\toutput.append(str(item[\"fullPath\"]))\n\treturn output", + "type": "script" + } + ], + "type": "expr-struct" + }, + "persistent": true + }, + "custom.selectedRoom": { + "persistent": true + }, + "custom.tagPath": { + "persistent": true + }, + "custom.tagPath_VAVmaster": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 1200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.VAV_tagPaths[0]" + }, + "transforms": [ + { + "code": "\timport re\n\ttag_path \u003d value\n\tpattern \u003d r\"]([^/]+)\" # Matches any characters between \u0027]\u0027 and \u0027/\u0027\n\tmatch \u003d re.search(pattern, tag_path)\n\tif match:\n\t\textracted_value \u003d match.group(1)\n\treturn extracted_value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": "var(--borderRadius)", + "borderBottomRightRadius": "var(--borderRadius)", + "borderTopLeftRadius": "var(--borderRadius)", + "borderTopRightRadius": "var(--borderRadius)", + "boxShadow": "var(--boxShadow2)", + "overflow": "visible", + "paddingBottom": 5, + "paddingLeft": 15, + "paddingRight": 15, + "paddingTop": 5 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexRepeater" + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "path": "view.custom.VAV_tagPaths" + }, + "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\": \"VAV v2\",\n\t\t\t\t\t\t\"tagPath\": item})\n\treturn output", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "instances": [ + { + "embedded": false, + "instancePosition": {}, + "instanceStyle": { + "classes": "" + }, + "objectName": "VAV v2", + "tagPath": "[Ignition_Common_IO_Gtwy]RM1109/SATB1_HS1_RM1109_VAV06" + } + ], + "justify": "center", + "path": "Library/Diagrams/HVAC/Dgrm_VAV", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": 50, + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.display.flex-repeater" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\ttagPath \u003d self.view.custom.tagPath_VAVmaster\n\tobjectName \u003d \"VAVMaster\"\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\t\u0027left\u0027:\u00270\u0027,\n\t#\t\t\t\u0027top\u0027:\u00270\u0027,\n\t\t\u0027width\u0027: \u00271000px\u0027,\n\t\t\u0027height\u0027: \u0027800px\u0027\n\t\t}\n\t}\n\tutils.nav.eqPopupMsg(self, payload)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "34px" + }, + "props": { + "primary": false, + "text": "VAV Global parameters" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Diagram" + }, + "position": { + "basis": "70%", + "grow": 1 + }, + "props": { + "alignContent": "center", + "alignItems": "center", + "direction": "column", + "justify": "center", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": 20 + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "First Floor" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FirstFloor Percent_0" + }, + "position": { + "basis": "30%", + "grow": 1, + "shrink": 0 + }, + "props": { + "path": "Library/Widgets/Layouts/RTU_FirstFloor", + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": true + }, + "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)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "66%", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "struct": { + "p": "{view.custom.data}", + "t": "now(3000)" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tpaths \u003d value[\u0027p\u0027]\n\tsubPaths \u003d [\n\t\t\"/Space Temperature\",\n\t\t\"/Damper Position\"\n\t]\n\tsize \u003d len(subPaths)\n\ttags \u003d []\n\tfor path in paths:\n\t\tfor sub in subPaths:\n\t\t\ttags.append(path+sub)\n\tdata \u003d system.tag.readBlocking(tags)\n\toutput \u003d []\n\tfor vav in paths:\n\t\telement \u003d {}\n\t\trawTag \u003d vav.split(\u0027_\u0027)\n\t\tname \u003d rawTag[-1]\n\t\troom \u003d rawTag[-2]\n\t\t#almS \u003d alarm.summary.calcMaxPriority(vav)\n\t\talmS \u003d 0\n\t\tif almS \u003c\u003d0: alm_lbl \u003d \u0027\u0027\n\t\telif almS \u003d\u003d1: alm_lbl \u003d \u0027Info\u0027\n\t\telif almS \u003d\u003d2: alm_lbl \u003d \u0027Warning\u0027\n\t\telif almS \u003d\u003d3: alm_lbl \u003d \u0027High\u0027\n\t\telif almS \u003d\u003d4: alm_lbl \u003d \u0027Critical\u0027\n\t\telse: alm_lbl \u003d \u0027error\u0027\n\t\t\n\t\tpos \u003d paths.index(vav)\n\t\tidx1 \u003d pos * size\n\t\tidx2 \u003d (pos * size) +1\n\t\telement[\u0027name\u0027] \u003d name\n\t\telement[\u0027room\u0027] \u003d room\n\t\telement[\u0027alarm\u0027] \u003d alm_lbl\n\t\telement[\u0027SpaceTemp\u0027] \u003d data[idx1].value\n\t\telement[\u0027DamperPos\u0027] \u003d data[idx2].value\n\t\t\n\t\toutput.append(element)\n\treturn output", + "type": "script" + } + ], + "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/VAV v2\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\treturn tags", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.data" + }, + "type": "property" + } + } + }, + "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": 70 + }, + { + "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": "Room" + }, + "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": 90 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "SpaceTemp", + "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": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "DamperPos", + "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": "Damper Pos" + }, + "justify": "left", + "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": false, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 80 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "alarm", + "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" + }, + "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": "" + } + ], + "dragOrderable": false, + "filter": { + "enabled": true + }, + "headerGroups": [ + [] + ], + "pager": { + "activeOption": 14, + "options": [ + 5, + 10, + 14, + 50, + 100 + ] + }, + "rows": { + "striped": { + "color": { + "even": "#C0C0C0" + } + } + }, + "virtualized": false + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "Location" + }, + "position": { + "basis": "450px", + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-around", + "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)", + "padding": 15 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "roomUpdate", + "pageScope": true, + "script": "\t# implement your handler here\n\tself.view.custom.selectedRoom \u003d payload[\"Room\"]", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/CHW_System/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/CHW_System/resource.json new file mode 100644 index 0000000..2c464cc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/CHW_System/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d801ebb6295769384d64b3b12ff68e4aece6d0c705510208d46b9ee0543e1757", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T14:56:54Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/CHW_System/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/CHW_System/thumbnail.png new file mode 100644 index 0000000..d6dcd8e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/CHW_System/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/CHW_System/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/CHW_System/view.json new file mode 100644 index 0000000..7d5f2e3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/CHW_System/view.json @@ -0,0 +1,6228 @@ +{ + "custom": {}, + "params": { + "pageId": "" + }, + "propConfig": { + "params.pageId": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1425, + "width": 2962 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlowDiagram" + }, + "position": { + "height": 1040, + "width": 2011, + "x": 87.88, + "y": 15.059999999999999 + }, + "props": { + "elements": [ + { + "d": "M1098.98,0.442l0,102.447l-1096.65,0l0,-102.447l1096.65,-0Zm0,164.608l0,167.653l-1096.65,-0l0,-167.653m0,-3.735l0,-16.744l1096.65,-0l0,16.71m-1096.65,-49.616l0,-8.776m370.552,8.776l-0,-8.776m363.051,8.776l-0,-8.776m363.051,8.776l0,-8.776m-1081.65,58.392l0,-16.756m0,246.597l0,-16.756m370.552,-213.085l-0,-16.756m-223.582,0l-0,37.5l21,0m-5.97,192.341l0,37.5l21,0m327.777,-267.341l0,37.5l21,0m-6.798,192.341l0,37.5l21,0m327.021,-267.341l0,37.5l21,0m-538.448,-20.744l-0,-16.756m363.051,16.756l-0,-16.71m-363.051,20.479l-0,167.653m363.051,-167.653l-0,167.653m15,-171.422l-0,-16.71m-363.051,171.668l-0,16.464m363.051,-16.112l-0,16.112m-733.603,-16.327l0,16.327m0,213.468l0,16.327m146.97,-229.795l-0,-26.25l21,-0m-5.97,256.045l0,-26.25l21,0m327.777,-203.545l0,-26.25l21,-0m-6.798,256.045l0,-26.25l21,0m327.021,-203.545l0,-26.25l21,-0m-894,67.913l733.603,0l-0,16.756m-733.603,171.376l733.603,0l-0,-16.112m-363.051,-155.264l-0,-16.756m-0,172.02l-0,16.112", + "fill": { + "paint": "transparent" + }, + "id": "Supply", + "name": "Supply", + "stroke": { + "paint": "#0005ff", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M1091.48,7.942l0,87.447l-1081.65,0l0,-87.447l1081.65,-0Zm-1081.65,103.723l0,-16.276m355.552,16.276l-0,-16.276m363.051,16.276l-0,-16.276m363.051,16.276l0,-16.276m-726.102,69.661l-0,160.153m363.051,-160.153l-0,160.153m-363.051,-163.922l-0,-9.21m363.051,9.21l-0,-9.21m363.051,12.979l0,160.153l-1081.65,-0l0,-160.153m0,-3.723l0,-9.256l1081.65,-0l0,9.21m-1066.65,0l0,-9.21m0,239.051l0,-9.21m355.552,-220.631l-0,-9.256m-190.582,30l21,0l-0,-30m-5.97,259.841l21,0l0,-30m327.777,-199.841l21,0l0,-30m-6.798,259.841l21,0l0,-30m327.021,-199.841l21,0l0,-30m-193.397,9.256l-0,-9.21m-363.051,164.168l-0,8.964m363.051,-8.827l-0,8.827m-718.603,-8.612l0,8.612m0,221.183l0,8.612m164.97,-248.545l21,-0l-0,18.763m-5.97,211.032l21,0l0,18.75m327.777,-248.545l21,-0l0,18.763m-6.798,211.032l21,0l0,18.75m327.021,-248.545l21,-0l0,18.763m-193.397,65.906l-0,-9.256l-718.603,0m718.603,164.52l-0,8.612l-718.603,0m355.552,-163.876l-0,-9.256m-0,164.52l-0,8.612", + "fill": { + "paint": "transparent" + }, + "id": "Return", + "name": "Return", + "stroke": { + "paint": "#f00", + "width": "0.88px" + }, + "type": "path" + }, + { + "d": "M9.826,161.281c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm363.052,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm-1081.65,0c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm0,229.841c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm363.052,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm-741.103,-279.457c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm370.552,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm-718.602,49.616c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm-726.103,151.326c1.04,-0 1.885,0.844 1.885,1.884c-0,1.04 -0.845,1.885 -1.885,1.885c-1.04,-0 -1.884,-0.845 -1.884,-1.885c-0,-1.04 0.844,-1.884 1.884,-1.884Zm0,229.795c1.04,-0 1.885,0.844 1.885,1.884c-0,1.041 -0.845,1.885 -1.885,1.885c-1.04,-0 -1.884,-0.844 -1.884,-1.885c-0,-1.04 0.844,-1.884 1.884,-1.884Zm363.052,-0c1.04,-0 1.884,0.844 1.884,1.884c0,1.041 -0.844,1.885 -1.884,1.885c-1.041,-0 -1.885,-0.844 -1.885,-1.885c0,-1.04 0.844,-1.884 1.885,-1.884Zm363.051,-0c1.04,-0 1.884,0.844 1.884,1.884c0,1.041 -0.844,1.885 -1.884,1.885c-1.04,-0 -1.885,-0.844 -1.885,-1.885c0,-1.04 0.845,-1.884 1.885,-1.884Zm-363.051,-229.795c1.04,-0 1.884,0.844 1.884,1.884c0,1.04 -0.844,1.885 -1.884,1.885c-1.041,-0 -1.885,-0.845 -1.885,-1.885c0,-1.04 0.844,-1.884 1.885,-1.884Zm363.051,-0c1.04,-0 1.884,0.844 1.884,1.884c0,1.04 -0.844,1.885 -1.884,1.885c-1.04,-0 -1.885,-0.845 -1.885,-1.885c0,-1.04 0.845,-1.884 1.885,-1.884Zm-718.603,-151.326c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm0,229.841c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm363.052,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm-741.103,-279.457c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm355.552,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm-703.602,49.616c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm-726.103,151.326c1.04,-0 1.885,0.892 1.885,1.992c-0,1.099 -0.845,1.992 -1.885,1.992c-1.04,-0 -1.884,-0.893 -1.884,-1.992c-0,-1.1 0.844,-1.992 1.884,-1.992Zm0,229.795c1.04,-0 1.885,0.893 1.885,1.992c-0,1.099 -0.845,1.992 -1.885,1.992c-1.04,-0 -1.884,-0.893 -1.884,-1.992c-0,-1.099 0.844,-1.992 1.884,-1.992Zm363.052,-0c1.04,-0 1.884,0.893 1.884,1.992c0,1.099 -0.844,1.992 -1.884,1.992c-1.041,-0 -1.885,-0.893 -1.885,-1.992c0,-1.099 0.844,-1.992 1.885,-1.992Zm363.051,-0c1.04,-0 1.884,0.893 1.884,1.992c0,1.099 -0.844,1.992 -1.884,1.992c-1.04,-0 -1.885,-0.893 -1.885,-1.992c0,-1.099 0.845,-1.992 1.885,-1.992Zm-363.051,-229.795c1.04,-0 1.884,0.892 1.884,1.992c0,1.099 -0.844,1.992 -1.884,1.992c-1.041,-0 -1.885,-0.893 -1.885,-1.992c0,-1.1 0.844,-1.992 1.885,-1.992Zm363.051,-0c1.04,-0 1.884,0.892 1.884,1.992c0,1.099 -0.844,1.992 -1.884,1.992c-1.04,-0 -1.885,-0.893 -1.885,-1.992c0,-1.1 0.845,-1.992 1.885,-1.992Zm-748.603,-151.326c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Zm363.052,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.041,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.844,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.884,0.845 1.884,1.885c0,1.04 -0.844,1.884 -1.884,1.884c-1.04,0 -1.885,-0.844 -1.885,-1.884c0,-1.04 0.845,-1.885 1.885,-1.885Zm363.051,0c1.04,0 1.885,0.845 1.885,1.885c-0,1.04 -0.845,1.884 -1.885,1.884c-1.04,0 -1.884,-0.844 -1.884,-1.884c-0,-1.04 0.844,-1.885 1.884,-1.885Z", + "fill": { + "paint": "transparent" + }, + "id": "Connector", + "name": "Connector", + "stroke": { + "paint": "#000", + "width": "0.88px" + }, + "type": "path" + } + ], + "fill": { + "rule": "evenodd" + }, + "stroke": { + "linecap": "round", + "linejoin": "round", + "miterlimit": "1.5" + }, + "style": { + "clipRule": "evenodd" + }, + "viewBox": "0 0 1102 563" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Valve_A" + }, + "position": { + "height": 78, + "width": 100, + "x": 418.4, + "y": 949 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_DH1180_FCV73" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_0" + }, + "position": { + "height": 78, + "width": 100, + "x": 1076.4, + "y": 949 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1260_FCV69" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_1" + }, + "position": { + "height": 78, + "rotate": { + "anchor": "39% 50%" + }, + "width": 100, + "x": 1076.4, + "y": 722.5 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH1280_FCV72" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_2" + }, + "position": { + "height": 78, + "width": 100, + "x": 1058.4, + "y": 530.4 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH1270_FCV70" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_3" + }, + "position": { + "height": 78, + "width": 100, + "x": 1058.4, + "y": 303.8 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH1170_FCV71" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter" + }, + "position": { + "height": 20, + "width": 80, + "x": 112.97999999999999, + "y": 212.46766030883788 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES02_TT01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_3" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.01, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_4" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.01, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_10" + }, + "position": { + "height": 20, + "width": 80, + "x": 154, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_11" + }, + "position": { + "height": 20, + "width": 80, + "x": 154, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_13" + }, + "position": { + "height": 20, + "width": 80, + "x": 782.9296875, + "y": 212.0119375 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES05_TT01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_34" + }, + "position": { + "height": 20, + "width": 80, + "x": 1434, + "y": 212.0119375 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES08_TT01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_48" + }, + "position": { + "height": 20, + "width": 80, + "x": 1993, + "y": 212.0119375 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES11_TT01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/DHDP_AvgObj/Value OUT" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "psi", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "DH DP Avg", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/ChillerDP_AvgObj/Value OUT" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "gpm", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "Chiller Min Flow", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_1/Control/PSet_SP" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "psi", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "CHW Bpv PID SP", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/Chiller_MinFlow_SP" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "GPLM", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "Chiller Min Flow SP", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_1/Out CV" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "CHW Bpv PID 1 OutCV", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_2/Out CV" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "#.##", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25%" + }, + "props": { + "alignVertical": "top", + "text": "CHW Bpv PID 2 OutCV", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_3" + }, + "position": { + "basis": "40%" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "1px" + }, + "props": { + "style": { + "backgroundColor": "LightGray" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/PLC Tags/CHWBPV_PosSP" + }, + "type": "tag" + } + } + }, + "props": { + "textStyle": { + "color": "var(--tagvalue-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "end" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "props": { + "text": "%", + "textStyle": { + "color": "var(--units-color)", + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "start" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "props": { + "justify": "center", + "style": { + "gap": "5px", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "props": { + "alignVertical": "top", + "text": "CHW Bpv Pos SP", + "textStyle": { + "fontFamily": "inherit", + "fontSize": 12, + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "30%" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_6" + }, + "position": { + "height": 110, + "rotate": { + "anchor": "61% -55%" + }, + "width": 554, + "x": 1524, + "y": 1027.1396014404297 + }, + "props": { + "style": { + "backgroundColor": "var(--container)", + "borderBottomLeftRadius": 4, + "borderBottomRightRadius": 4, + "borderTopLeftRadius": 4, + "borderTopRightRadius": 4, + "boxShadow": "var(--boxShadow2)", + "gap": "5px", + "overflow": "visible", + "padding": "5px" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "EmbeddedView_28" + }, + "position": { + "height": 110, + "width": 130, + "x": 2285, + "y": 1027.2096014404297 + }, + "props": { + "params": { + "embedded": true, + "objectName": "PID_Loop", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_1" + }, + "path": "Library/Widgets/Wdg_PID", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_29" + }, + "position": { + "height": 110, + "rotate": { + "anchor": "-22% 0%" + }, + "width": 130, + "x": 2124.16, + "y": 1026.9896014404299 + }, + "props": { + "params": { + "embedded": true, + "objectName": "PID_Loop", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/CHWBPV_PID_2" + }, + "path": "Library/Widgets/Wdg_PID", + "style": { + "classes": "containers/HoverOver", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_2" + }, + "position": { + "height": 120, + "rotate": { + "anchor": "25% 50%" + }, + "width": 290, + "x": 1110, + "y": 818.653 + }, + "props": { + "params": { + "DH": "DH101" + }, + "path": "Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk", + "style": { + "bxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_4" + }, + "position": { + "height": 78, + "rotate": { + "anchor": "39% 50%" + }, + "width": 100, + "x": 418.4, + "y": 722.5 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH4/SATB1_DH1280_FCV72" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_5" + }, + "position": { + "height": 78, + "width": 100, + "x": 391.4, + "y": 303.8 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH1170_FCV71" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_6" + }, + "position": { + "height": 78, + "width": 100, + "x": 391.4, + "y": 530.4 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH1270_FCV70" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_7" + }, + "position": { + "height": 78, + "width": 100, + "x": 1715.7, + "y": 530.4 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH2/SATB1_DH1270_FCV70" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Valve_A_8" + }, + "position": { + "height": 78, + "width": 100, + "x": 1715.7, + "y": 303.8 + }, + "props": { + "params": { + "Layout": 1, + "objectName": "ValveC", + "tagPath": "[Ignition_Common_IO_Gtwy]DH3/SATB1_DH1170_FCV71" + }, + "path": "Library/Symbols/Mechanical/Sym_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_12" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_5" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_14" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_6" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_15" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_7" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_16" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_8" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_9" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.01, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_17" + }, + "position": { + "height": 20, + "width": 80, + "x": 154, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_18" + }, + "position": { + "height": 20, + "width": 80, + "x": 154, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_19" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.01, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_20" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_21" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_22" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_23" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_24" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_25" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_26" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 724 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_27" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 680 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_28" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_29" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_30" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_31" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_32" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_33" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_35" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 1054 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_36" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 1011.3 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_37" + }, + "position": { + "height": 20, + "width": 80, + "x": 154, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_38" + }, + "position": { + "height": 20, + "width": 80, + "x": 154, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_39" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.012, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_40" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.01, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_41" + }, + "position": { + "height": 20, + "width": 80, + "x": 14.6873490234375, + "y": 346.8 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_42" + }, + "position": { + "height": 20, + "width": 80, + "x": 110, + "y": 346.8 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_43" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.01, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_44" + }, + "position": { + "height": 20, + "width": 80, + "x": 303.01, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_45" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_46" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_47" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_49" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_50" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_51" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_52" + }, + "position": { + "height": 20, + "width": 80, + "x": 546, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_53" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_54" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_55" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_56" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_57" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_58" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_59" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_60" + }, + "position": { + "height": 20, + "width": 80, + "x": 814, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_61" + }, + "position": { + "height": 20, + "width": 80, + "x": 954, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_63" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_64" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_65" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_66" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_67" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_68" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_69" + }, + "position": { + "height": 20, + "width": 80, + "x": 1212, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_70" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_71" + }, + "position": { + "height": 20, + "width": 80, + "x": 1522, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_72" + }, + "position": { + "height": 20, + "width": 80, + "x": 1522, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_73" + }, + "position": { + "height": 20, + "width": 80, + "x": 1622, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_74" + }, + "position": { + "height": 20, + "width": 80, + "x": 1622, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_75" + }, + "position": { + "height": 20, + "width": 80, + "x": 1522, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_76" + }, + "position": { + "height": 20, + "width": 80, + "x": 1622, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_77" + }, + "position": { + "height": 20, + "width": 80, + "x": 1522, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_78" + }, + "position": { + "height": 20, + "width": 80, + "x": 1622, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_79" + }, + "position": { + "height": 20, + "width": 80, + "x": 1836, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_80" + }, + "position": { + "height": 20, + "width": 80, + "x": 1836, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_81" + }, + "position": { + "height": 20, + "width": 80, + "x": 1936, + "y": 302 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_82" + }, + "position": { + "height": 20, + "width": 80, + "x": 1936, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_83" + }, + "position": { + "height": 20, + "width": 80, + "x": 1836, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_84" + }, + "position": { + "height": 20, + "width": 80, + "x": 1936, + "y": 592 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_85" + }, + "position": { + "height": 20, + "width": 80, + "x": 1836, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_86" + }, + "position": { + "height": 20, + "width": 80, + "x": 1936, + "y": 632 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_3" + }, + "position": { + "height": 120, + "rotate": { + "anchor": "25% 50%" + }, + "width": 290, + "x": 445.772, + "y": 818.653 + }, + "props": { + "params": { + "DH": "DH102" + }, + "path": "Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk", + "style": { + "bxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_4" + }, + "position": { + "height": 120, + "rotate": { + "anchor": "25% 50%" + }, + "width": 290, + "x": 1109.9970019531252, + "y": 393.4020944595337 + }, + "props": { + "params": { + "DH": "DH202" + }, + "path": "Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk", + "style": { + "bxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_5" + }, + "position": { + "height": 120, + "rotate": { + "anchor": "25% 50%" + }, + "width": 290, + "x": 445.7672814941406, + "y": 393.4020944595337 + }, + "props": { + "params": { + "DH": "DH203" + }, + "path": "Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk", + "style": { + "bxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_6" + }, + "position": { + "height": 120, + "rotate": { + "anchor": "25% 50%" + }, + "width": 290, + "x": 1763.75, + "y": 394.6 + }, + "props": { + "params": { + "DH": "DH201" + }, + "path": "Library/Widgets/Mechanical/Wdg_TonnageDemand_sprk", + "style": { + "bxShadow": "var(--boxShadow2)", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_87" + }, + "position": { + "height": 20, + "width": 80, + "x": 776, + "y": 346.775 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_88" + }, + "position": { + "height": 20, + "width": 80, + "x": 660, + "y": 346.7750085830688 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_89" + }, + "position": { + "height": 20, + "width": 80, + "x": 1434.0027490234374, + "y": 346.7750085830688 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP03" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_90" + }, + "position": { + "height": 20, + "width": 80, + "x": 1328, + "y": 346.775 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "psig", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]DH5/SATB1_CHW_DH5_DP04" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "height": 788, + "width": 311, + "x": 2124.48, + "y": 222.49436804199217 + }, + "props": { + "path": "Library/Cards/Card_Process_Control", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VFD Pie Chart" + }, + "position": { + "height": 139, + "width": 155, + "x": 206, + "y": 405 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VFD Pie Chart_0" + }, + "position": { + "height": 159, + "width": 139, + "x": 857.69, + "y": 391.7 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VFD Pie Chart_1" + }, + "position": { + "height": 137, + "width": "Æ", + "x": 1495.29, + "y": 400.38 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VFD Pie Chart_2" + }, + "position": { + "height": 141, + "width": 107, + "x": 890.3, + "y": 836.29 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VFD Pie Chart_3" + }, + "position": { + "height": 139, + "width": 123, + "x": 196.61, + "y": 835.29 + }, + "props": { + "params": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140" + }, + "meta": { + "name": "VFD Pie Chart_4" + }, + "position": { + "height": 125, + "width": 104, + "x": 119.959, + "y": 56 + }, + "props": { + "params": { + "Tag": "Chillers", + "faulted": 8, + "running": 3, + "standby": 25 + }, + "path": "Library/Widgets/Wgt_EquipmentStatusCount", + "style": { + "overflow": "visible" + }, + "useDefaultViewWidth": true + }, + "type": "ia.display.view" + }, + { + "custom": { + "ChillerTagInfo": { + "chillerLLSPath": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS", + "statusTranslation": [ + { + "index": 0, + "value": [ + "Not Avail", + "Available" + ] + }, + { + "index": 1, + "value": [ + "Stopped", + "Running" + ] + }, + { + "index": 2, + "value": [ + "Good", + "Failed" + ] + } + ] + } + }, + "meta": { + "name": "Chiller LLS Table" + }, + "position": { + "height": 338, + "rotate": { + "anchor": "64% 50%" + }, + "width": 558, + "x": 1526.04, + "y": 676.49 + }, + "propConfig": { + "custom.ChillerTagInfo.nUnits": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{tagPath}/Config/Number of Units" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.priority": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{1}/Reference Devices" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "1": "{this.custom.ChillerTagInfo.chillerLLSPath}" + }, + "tagPath": "{1}/Status Devices" + }, + "type": "tag" + } + }, + "custom.ChillerTagInfo.statusBinary": { + "binding": { + "config": { + "path": "this.custom.ChillerTagInfo.status" + }, + "transforms": [ + { + "code": "\t\n\tdef int_to_bits(num):\n\t # Ensure the integer is formatted as a 3-bit binary string and then reversed\n\t binary_str \u003d format(num % 8, \u002703b\u0027) # % 8 ensures only the last 3 bits are considered\n\t return [int(bit) for bit in binary_str[::-1]]\n\t\n\treturn [int_to_bits(num) for num in value]", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "struct": { + "nUnits": "{this.custom.ChillerTagInfo.nUnits}", + "priority": "{this.custom.ChillerTagInfo.priority}", + "status": "{this.custom.ChillerTagInfo.statusBinary}", + "statusTranslation": "{this.custom.ChillerTagInfo.statusTranslation}" + }, + "waitOnAll": false + }, + "enabled": false, + "transforms": [ + { + "code": "\toutput \u003d []\n\tfor i, priority in enumerate(range(value[\u0027nUnits\u0027])):\n\t\tif i\u003c9:\n\t\t\tchillerName \u003d \u0027Chiller 0{}\u0027.format(i+1)\n\t\telse:\n\t\t\tchillerName \u003d \u0027Chiller {}\u0027.format(i+1)\n\t\tstatusTxt \u003d \"Available\"\n\t\tbgColor \u003d \"transparent\"\n\t\tif value[\u0027statusTranslation\u0027][2].value[value[\u0027status\u0027][i][2]] \u003d\u003d \"Failed\":\n\t\t\tstatusTxt\u003d \"Failed\"\n\t\t\tbgColor \u003d \u0027var(--error)\u0027\n\t\telif value[\u0027statusTranslation\u0027][1].value[value[\u0027status\u0027][i][1]]\u003d\u003d\"Running\":\n\t\t\tstatusTxt\u003d \"Running\"\t\t\n\t\t\n\t\t\n\t\tnewRow \u003d {\n\t\t\t\t\u0027index\u0027: i, # index\n\t\t\t\t\u0027chillerName\u0027: {\n\t\t\t\t\t\u0027value\u0027: chillerName, # chillerName\n\t\t\t\t\t\u0027style\u0027: {\n\t\t\t\t\t\t\u0027margin-left\u0027: 10\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\"status\": {\"value\":statusTxt,\n\t\t\t\t\t\t\t\"style\":{\n\t\t\t\t\t\t\t\t\"backgroundColor\":bgColor}\n\t\t\t\t\t\t},\n\t\t\t\t\u0027priority\u0027 : value[\u0027priority\u0027][i],\n\t\t\t\t\u0027priority2\u0027: value[\u0027priority\u0027][i] if value[\u0027priority\u0027][i] \u003e 0 else 999 , # priority\n\t\t\t}\n\t\toutput.append(newRow)\n\t\tif i \u003d\u003d value[\u0027nUnits\u0027]-1:\n\t\t\tbreak\n\treturn self.sortChillerData(output)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "index", + "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": false, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": false, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "chillerName", + "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": "Chiller" + }, + "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": "status", + "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": "Status" + }, + "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": "priority2", + "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": "number", + "resizable": true, + "sort": "ascending", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": false, + "width": 0 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "priority", + "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": "Priority" + }, + "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": [ + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 41" + }, + "index": 40, + "priority": 1, + "priority2": 1, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 26" + }, + "index": 25, + "priority": 2, + "priority2": 2, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 29" + }, + "index": 28, + "priority": 3, + "priority2": 3, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 08" + }, + "index": 7, + "priority": 4, + "priority2": 4, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 46" + }, + "index": 45, + "priority": 5, + "priority2": 5, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 44" + }, + "index": 43, + "priority": 6, + "priority2": 6, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 12" + }, + "index": 11, + "priority": 7, + "priority2": 7, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 11" + }, + "index": 10, + "priority": 8, + "priority2": 8, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Running" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 28" + }, + "index": 27, + "priority": 9, + "priority2": 9, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 40" + }, + "index": 39, + "priority": 10, + "priority2": 10, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 13" + }, + "index": 12, + "priority": 11, + "priority2": 11, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 36" + }, + "index": 35, + "priority": 12, + "priority2": 12, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 19" + }, + "index": 18, + "priority": 13, + "priority2": 13, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 24" + }, + "index": 23, + "priority": 14, + "priority2": 14, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 20" + }, + "index": 19, + "priority": 15, + "priority2": 15, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 17" + }, + "index": 16, + "priority": 16, + "priority2": 16, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 47" + }, + "index": 46, + "priority": 17, + "priority2": 17, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 38" + }, + "index": 37, + "priority": 18, + "priority2": 18, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 30" + }, + "index": 29, + "priority": 19, + "priority2": 19, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 07" + }, + "index": 6, + "priority": 20, + "priority2": 20, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 05" + }, + "index": 4, + "priority": 21, + "priority2": 21, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 27" + }, + "index": 26, + "priority": 22, + "priority2": 22, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 15" + }, + "index": 14, + "priority": 23, + "priority2": 23, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 34" + }, + "index": 33, + "priority": 24, + "priority2": 24, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 35" + }, + "index": 34, + "priority": 25, + "priority2": 25, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 22" + }, + "index": 21, + "priority": 26, + "priority2": 26, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 14" + }, + "index": 13, + "priority": 27, + "priority2": 27, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 33" + }, + "index": 32, + "priority": 28, + "priority2": 28, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 45" + }, + "index": 44, + "priority": 29, + "priority2": 29, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 21" + }, + "index": 20, + "priority": 30, + "priority2": 30, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 16" + }, + "index": 15, + "priority": 31, + "priority2": 31, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 48" + }, + "index": 47, + "priority": 32, + "priority2": 32, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 43" + }, + "index": 42, + "priority": 33, + "priority2": 33, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 39" + }, + "index": 38, + "priority": 34, + "priority2": 34, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 23" + }, + "index": 22, + "priority": 35, + "priority2": 35, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 31" + }, + "index": 30, + "priority": 36, + "priority2": 36, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 02" + }, + "index": 1, + "priority": 37, + "priority2": 37, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 03" + }, + "index": 2, + "priority": 38, + "priority2": 38, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 04" + }, + "index": 3, + "priority": 39, + "priority2": 39, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 32" + }, + "index": 31, + "priority": 40, + "priority2": 40, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 09" + }, + "index": 8, + "priority": 41, + "priority2": 41, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 06" + }, + "index": 5, + "priority": 42, + "priority2": 42, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 25" + }, + "index": 24, + "priority": 43, + "priority2": 43, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 42" + }, + "index": 41, + "priority": 44, + "priority2": 44, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 01" + }, + "index": 0, + "priority": 45, + "priority2": 45, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 18" + }, + "index": 17, + "priority": 46, + "priority2": 46, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 10" + }, + "index": 9, + "priority": 47, + "priority2": 47, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + }, + { + "chillerName": { + "style": { + "margin-left": 10 + }, + "value": "Chiller 37" + }, + "index": 36, + "priority": 48, + "priority2": 48, + "status": { + "style": { + "backgroundColor": "transparent" + }, + "value": "Available" + } + } + ], + "pager": { + "bottom": false + } + }, + "scripts": { + "customMethods": [ + { + "name": "sortChillerData", + "params": [ + "arrData" + ], + "script": "\tpriority_rows \u003d sorted([row for row in arrData if row[\"priority2\"] \u003c 999], key\u003dlambda x: x[\"priority2\"])\n\tnewArr \u003d [row for row in arrData if row[\"priority2\"] \u003d\u003d 999]\n\tfor row in priority_rows:\n\t\tif row[\"priority2\"] \u003c 999:\n#\t\t\tsystem.perspective.print(\"%s placed in position %s\"%(row[\"chillerName\"][\"value\"], row[\"priority2\"]-1))\n\t\t\tnewArr.insert(row[\"priority2\"]-1, row)\n\t\n\treturn newArr\n\t\t\t\n\t\n\t" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.display.table" + }, + { + "custom": { + "tagPath": "[Ignition_Common_IO_Gtwy]Roof" + }, + "meta": { + "name": "Supply Chart" + }, + "position": { + "height": 240, + "rotate": { + "anchor": "57% 50%" + }, + "width": 352, + "x": 2101.97, + "y": -2.959808349609375 + }, + "propConfig": { + "custom.raw": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "2", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "60" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "120", + "type": "FIXED" + }, + "tags": "{this.custom.tags}", + "valueFormat": "DOCUMENT" + }, + "type": "tag-history" + } + }, + "custom.tags": { + "binding": { + "config": { + "struct": {}, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\toutput \u003d []\n\taggregate \u003d \"LastValue\"\n\talias \u003d \"Value\"\n\thistProvider \u003d {\"Ignition_Common_IO_Gtwy\":\"Ignition_Hist/ignition-satb1-io6:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO1_Gtwy\":\"Ignition_Hist/ignition-satb1-io1:default\",\n\t\t\t\t\t\"Ignition_SATB1_IO2_Gtwy\":\"Ignition_Hist/ignition-satb1-io2:default\"}\n\ttags \u003d system.tag.browse(self.custom.tagPath, {\"name\":\"*SYSTEM\",\"typeId\":\"Objects/Mechanical/Chiller\",\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\ttagname \u003d str(item[\"fullPath\"]) + \"/Load\"\n\t\tnameparts \u003d tagname.split(\"]\")\n\t\tprovider\u003d histProvider[nameparts[0][1:]]\n\t\trun_path \u003d \"[{}]{}\".format(provider, nameparts[1])\n\t\toutput.append({\"aggregate\": aggregate, \"alias\": str(item[\"name\"]), \"path\": run_path})\n\t\n\treturn output\n\t\n\t\n\t\t\n\t\t", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.dataSources.Tonnage": { + "binding": { + "config": { + "struct": { + "dataset": "{this.custom.raw}" + }, + "waitOnAll": true + }, + "enabled": false, + "transforms": [ + { + "code": "\t\n\trawHist \u003d value[\u0027dataset\u0027]\n\toutput \u003d []\n\ttotal \u003d 0\n\tfor item in rawHist:\n\t\ttotal \u003d 0\n\t\tfor key in item:\n\t\t\tif key \u003d\u003d \"t_stamp\": \n\t\t\t\tstamp \u003d item[key]\n\t\t\t\tcontinue\n\t\t\tif item[key] is None:\n\t\t\t\ttotal +\u003d 0\n\t\t\telse:\n\t\t\t\ttotal +\u003d item[key]\n\t\toutput.append({\u0027t_stamp\u0027: stamp, \"total\": total})\n\treturn output\n\t\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "background": { + "render": "color" + }, + "dataSources": { + "Tonnage": [ + { + "t_stamp": 1776866263502, + "total": 1673.604373568407 + }, + { + "t_stamp": 1776866323502, + "total": 1668.3232719284033 + }, + { + "t_stamp": 1776866383502, + "total": 1667.7585804841597 + }, + { + "t_stamp": 1776866443502, + "total": 1677.5819018963616 + }, + { + "t_stamp": 1776866503502, + "total": 1685.8205119174413 + }, + { + "t_stamp": 1776866563502, + "total": 1689.8692880042101 + }, + { + "t_stamp": 1776866623502, + "total": 1675.565934076644 + }, + { + "t_stamp": 1776866683502, + "total": 1677.0669210518904 + }, + { + "t_stamp": 1776866743502, + "total": 1677.0423980430648 + }, + { + "t_stamp": 1776866803502, + "total": 1669.4905979078678 + }, + { + "t_stamp": 1776866863502, + "total": 1678.9369594752789 + }, + { + "t_stamp": 1776866923502, + "total": 1687.1916379989912 + }, + { + "t_stamp": 1776866983502, + "total": 1687.3385592680215 + }, + { + "t_stamp": 1776867043502, + "total": 1695.8774153804547 + }, + { + "t_stamp": 1776867103502, + "total": 1700.6212221696458 + }, + { + "t_stamp": 1776867163502, + "total": 1705.2337151708052 + }, + { + "t_stamp": 1776867223502, + "total": 1696.7683863537602 + }, + { + "t_stamp": 1776867283502, + "total": 1692.3688050157184 + }, + { + "t_stamp": 1776867343502, + "total": 1696.0415455735406 + }, + { + "t_stamp": 1776867403502, + "total": 1702.246973531337 + }, + { + "t_stamp": 1776867463502, + "total": 1706.1742175421298 + }, + { + "t_stamp": 1776867523502, + "total": 1695.5927052647216 + }, + { + "t_stamp": 1776867583502, + "total": 1701.3725069511581 + }, + { + "t_stamp": 1776867643502, + "total": 1695.7144239444785 + }, + { + "t_stamp": 1776867703502, + "total": 1702.6068129410028 + }, + { + "t_stamp": 1776867763502, + "total": 1701.0631307816898 + }, + { + "t_stamp": 1776867823502, + "total": 1714.5919484051492 + }, + { + "t_stamp": 1776867883502, + "total": 1711.3600040150939 + }, + { + "t_stamp": 1776867943502, + "total": 1718.5114102340797 + }, + { + "t_stamp": 1776868003502, + "total": 1716.2898490025261 + }, + { + "t_stamp": 1776868063502, + "total": 1724.1854644023742 + }, + { + "t_stamp": 1776868123502, + "total": 1712.9110237981288 + }, + { + "t_stamp": 1776868183502, + "total": 1707.9297555006074 + }, + { + "t_stamp": 1776868243502, + "total": 1712.8940187229937 + }, + { + "t_stamp": 1776868303502, + "total": 1714.1118496792003 + }, + { + "t_stamp": 1776868363502, + "total": 1713.7515206119724 + }, + { + "t_stamp": 1776868423502, + "total": 1720.9529738868714 + }, + { + "t_stamp": 1776868483502, + "total": 1720.0880106587158 + }, + { + "t_stamp": 1776868543502, + "total": 1711.856543937079 + }, + { + "t_stamp": 1776868603502, + "total": 1721.124363350834 + }, + { + "t_stamp": 1776868663502, + "total": 1727.1498985698713 + }, + { + "t_stamp": 1776868723502, + "total": 1728.170471446037 + }, + { + "t_stamp": 1776868783502, + "total": 1723.909578320036 + }, + { + "t_stamp": 1776868843502, + "total": 1729.8520381218805 + }, + { + "t_stamp": 1776868903502, + "total": 1732.097751646726 + }, + { + "t_stamp": 1776868963502, + "total": 1740.9971828180521 + }, + { + "t_stamp": 1776869023502, + "total": 1734.2687255570472 + }, + { + "t_stamp": 1776869083502, + "total": 1734.2929230090335 + }, + { + "t_stamp": 1776869143502, + "total": 1734.6363186037192 + }, + { + "t_stamp": 1776869203502, + "total": 1743.9197004263635 + }, + { + "t_stamp": 1776869263502, + "total": 1737.5756559216577 + }, + { + "t_stamp": 1776869323502, + "total": 1742.9075356864444 + }, + { + "t_stamp": 1776869383502, + "total": 1746.6211894734565 + }, + { + "t_stamp": 1776869443502, + "total": 1740.8419477213345 + }, + { + "t_stamp": 1776869503502, + "total": 1733.2567053044684 + }, + { + "t_stamp": 1776869563502, + "total": 1736.0245853120891 + }, + { + "t_stamp": 1776869623502, + "total": 1739.6241111354132 + }, + { + "t_stamp": 1776869683502, + "total": 1742.343615144019 + }, + { + "t_stamp": 1776869743502, + "total": 1746.5502502787115 + }, + { + "t_stamp": 1776869803502, + "total": 1742.2633506779198 + }, + { + "t_stamp": 1776869863502, + "total": 1743.4050817623797 + }, + { + "t_stamp": 1776869923502, + "total": 1736.8477679900932 + }, + { + "t_stamp": 1776869983502, + "total": 1743.0368428952843 + }, + { + "t_stamp": 1776870043502, + "total": 1747.3324815688302 + }, + { + "t_stamp": 1776870103502, + "total": 1753.0242299943664 + }, + { + "t_stamp": 1776870163502, + "total": 1748.3851890690034 + }, + { + "t_stamp": 1776870223502, + "total": 1749.756959463162 + }, + { + "t_stamp": 1776870283502, + "total": 1752.826580690277 + }, + { + "t_stamp": 1776870343502, + "total": 1750.4432147478196 + }, + { + "t_stamp": 1776870403502, + "total": 1749.9699796187908 + }, + { + "t_stamp": 1776870463502, + "total": 1750.810513435925 + }, + { + "t_stamp": 1776870523502, + "total": 1753.6675424187536 + }, + { + "t_stamp": 1776870583502, + "total": 1753.3575761529119 + }, + { + "t_stamp": 1776870643502, + "total": 1752.998356977879 + }, + { + "t_stamp": 1776870703502, + "total": 1760.0286232986691 + }, + { + "t_stamp": 1776870763502, + "total": 1761.057042654046 + }, + { + "t_stamp": 1776870823502, + "total": 1754.2316664188131 + }, + { + "t_stamp": 1776870883502, + "total": 1760.8681574444565 + }, + { + "t_stamp": 1776870943502, + "total": 1759.0162714942785 + }, + { + "t_stamp": 1776871003502, + "total": 1755.4071409359299 + }, + { + "t_stamp": 1776871063502, + "total": 1759.701700921904 + }, + { + "t_stamp": 1776871123502, + "total": 1761.1063343853061 + }, + { + "t_stamp": 1776871183502, + "total": 1752.4834227853635 + }, + { + "t_stamp": 1776871243502, + "total": 1745.7723498193548 + }, + { + "t_stamp": 1776871303502, + "total": 1752.4357288955077 + }, + { + "t_stamp": 1776871363502, + "total": 1752.483457777643 + }, + { + "t_stamp": 1776871423502, + "total": 1767.0660551786423 + }, + { + "t_stamp": 1776871483502, + "total": 1765.361112868309 + }, + { + "t_stamp": 1776871543502, + "total": 1772.3484557221161 + }, + { + "t_stamp": 1776871603502, + "total": 1769.6380303433157 + }, + { + "t_stamp": 1776871663502, + "total": 1765.1463410465883 + }, + { + "t_stamp": 1776871723502, + "total": 1757.970170917029 + }, + { + "t_stamp": 1776871783502, + "total": 1767.2378848195076 + }, + { + "t_stamp": 1776871843502, + "total": 1765.807411055545 + }, + { + "t_stamp": 1776871903502, + "total": 1763.8420522502504 + }, + { + "t_stamp": 1776871963502, + "total": 1752.3368800322855 + }, + { + "t_stamp": 1776872023502, + "total": 1758.7938743375364 + }, + { + "t_stamp": 1776872083502, + "total": 1764.3227354980754 + }, + { + "t_stamp": 1776872143502, + "total": 1758.534891189733 + }, + { + "t_stamp": 1776872203502, + "total": 1755.7419400599197 + }, + { + "t_stamp": 1776872263502, + "total": 1747.3315513598322 + }, + { + "t_stamp": 1776872323502, + "total": 1748.0340819589003 + }, + { + "t_stamp": 1776872383502, + "total": 1762.0498406014892 + }, + { + "t_stamp": 1776872443502, + "total": 1764.9835695732045 + }, + { + "t_stamp": 1776872503502, + "total": 1760.9265243419136 + }, + { + "t_stamp": 1776872563502, + "total": 1763.0892823015924 + }, + { + "t_stamp": 1776872623502, + "total": 1754.4993179332862 + }, + { + "t_stamp": 1776872683502, + "total": 1756.0587353413346 + }, + { + "t_stamp": 1776872743502, + "total": 1757.1295786965152 + }, + { + "t_stamp": 1776872803502, + "total": 1760.5342755692782 + }, + { + "t_stamp": 1776872863502, + "total": 1769.7505698147313 + }, + { + "t_stamp": 1776872923502, + "total": 1760.3795834155528 + }, + { + "t_stamp": 1776872983502, + "total": 1773.0256561354795 + }, + { + "t_stamp": 1776873043502, + "total": 1767.426040279913 + }, + { + "t_stamp": 1776873103502, + "total": 1768.120054070619 + }, + { + "t_stamp": 1776873163502, + "total": 1769.0735871671823 + }, + { + "t_stamp": 1776873223502, + "total": 1780.5697892264104 + }, + { + "t_stamp": 1776873283502, + "total": 1782.129469384543 + }, + { + "t_stamp": 1776873343502, + "total": 1780.7831728458405 + }, + { + "t_stamp": 1776873403502, + "total": 1780.7831728458405 + } + ] + }, + "legend": { + "enabled": false + }, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": { + "x": "", + "y": "" + }, + "low": { + "x": "", + "y": "" + }, + "open": { + "x": "", + "y": "" + } + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "Tonnage", + "x": "t_stamp", + "y": "total" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": false, + "label": { + "text": "Process Temp" + }, + "line": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": false, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "Tonnage", + "render": "line", + "stepLine": { + "appearance": { + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "time", + "yAxis": "Tonnage", + "zIndex": 0 + } + ], + "style": { + "overflow": "visible", + "paddingRight": 5 + }, + "title": { + "text": "Supply (Tons)" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": 60, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 30, + "enabled": true, + "skipEmptyPeriods": false, + "timeUnit": "second" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "HH:mm", + "inputFormat": "HH:mm", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "Time" + }, + "name": "time", + "render": "date", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": 500 + }, + "grid": { + "color": "", + "dashArray": "", + "minDistance": null, + "opacity": 0.5, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle" + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": 10000, + "min": 0, + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": false, + "text": "CHWS" + }, + "name": "Tonnage", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + }, + { + "meta": { + "name": "Transmitter_62" + }, + "position": { + "height": 20, + "width": 80, + "x": 1994, + "y": 237.49138220214843 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "Val": 83, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TES11_TT01" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_91" + }, + "position": { + "height": 20, + "width": 80, + "x": 154, + "y": 260 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "degF", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_TT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Transmitter_92" + }, + "position": { + "height": 20, + "width": 80, + "x": 152, + "y": 303 + }, + "props": { + "params": { + "Bkgnd_EN": false, + "EU": "gpm", + "EU_Pos": 1, + "Size": 12, + "objectName": "AnalogIn", + "tagPath": "[Ignition_Common_IO_Gtwy]MPR1140/SATB1_CHW_FT02" + }, + "path": "Library/Symbols/Sym_Xmtr", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "height": 128, + "width": 1833, + "x": 232.99, + "y": 52.46 + }, + "props": { + "path": "Library/Cards/Card_CH_Overview", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": 1001, + "y": 600 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "eqPopupMsg", + "pageScope": true, + "script": "\tutils.nav.eqPopupMsg(self, payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/LLS_CHW_Skids/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/LLS_CHW_Skids/resource.json new file mode 100644 index 0000000..9b47d96 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/LLS_CHW_Skids/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7158c5e02ab737c1f58ba0263166e9297a66147060aaa3595cb2ad279def9ec9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-17T00:03:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/LLS_CHW_Skids/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/LLS_CHW_Skids/thumbnail.png new file mode 100644 index 0000000..7f274a9 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/LLS_CHW_Skids/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/LLS_CHW_Skids/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/LLS_CHW_Skids/view.json new file mode 100644 index 0000000..aa3bbb7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/LLS_CHW_Skids/view.json @@ -0,0 +1,41 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "B301 Chillers LLS" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "params": { + "alm_Filter": { + "provider": "Ignition_Common_IO_Gtwy", + "source": "*CHWS/Chiller_LLS*" + }, + "deviceName": "Chiller", + "tagPaths": { + "tagPath_LLS": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_LLS", + "tagPath_ResetRT": "[Ignition_Common_IO_Gtwy]RT_Tags/CH", + "tagPath_Rotation": "[Ignition_Common_IO_Gtwy]CHWS/Chiller_Rotation" + } + }, + "path": "Library/Layouts/LLS/Device LLS" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/Skid_Details/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/Skid_Details/resource.json new file mode 100644 index 0000000..46185e7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/Skid_Details/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4617ee00c5df180dd9add174c856b97b6cbdc2a3dfbf5c9cc0293721634c8e13", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-23T20:39:06Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/Skid_Details/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/Skid_Details/thumbnail.png new file mode 100644 index 0000000..33ee8a8 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/Skid_Details/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/Skid_Details/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/Skid_Details/view.json new file mode 100644 index 0000000..e6b832d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Mechanical/Skid_Details/view.json @@ -0,0 +1,124 @@ +{ + "custom": { + "data": "value" + }, + "params": {}, + "propConfig": { + "custom.data": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 1000, + "width": 1700 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "props": { + "path": "Library/Cards/Card_CH_Overview", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "grow": 1 + }, + "props": { + "path": "Library/Diagrams/Mechanical/Chiller_Skid", + "style": { + "classes": "containers/card" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "EmbeddedView_0" + }, + "position": { + "basis": "200px" + }, + "props": { + "style": { + "classes": "containers/card" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "400px" + }, + "props": { + "style": { + "classes": "containers/card" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "gap": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "backgroundColor": "var(--containerRoot)", + "gap": "10px", + "padding": "10px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Billing/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Billing/resource.json new file mode 100644 index 0000000..9d00156 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Billing/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1349c01a3264eb6325c4e6508b76ea8f1e44512baf08ae90ed6e6553006e0abf", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:59:21Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Billing/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Billing/thumbnail.png new file mode 100644 index 0000000..8456915 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Billing/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Billing/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Billing/view.json new file mode 100644 index 0000000..8324fc7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Billing/view.json @@ -0,0 +1,433 @@ +{ + "custom": { + "endDate": "2025-4-20 23:59:59", + "location": null, + "startDate": "2025-4-18 00:00:00" + }, + "params": { + "endDate": "2025-4-20 23:59:59", + "location": null, + "startDate": "2025-4-18 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px", + "display": false + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.calculated.ResultData" + }, + "transforms": [ + { + "code": "\treturn \"Daily Avgs: \" + str([round(v[1],2) for v in value])", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Min Avg: \", round({parent.custom.calculated.MinAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Max Avg: \", round({parent.custom.calculated.MaxAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "TotalLoad" + }, + "position": { + "basis": "200px", + "display": false + }, + "propConfig": { + "custom.calculated": { + "binding": { + "config": { + "path": ".../Table.custom.PUEData.TotalLoad" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "CriticalLoad" + }, + "position": { + "basis": "200px", + "display": false + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "30px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 15 + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Import" + }, + "position": { + "basis": "34px", + "display": false + }, + "props": { + "enabled": false, + "text": "Import" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\tsystem.perspective.download(\"Billing Data.xls\", xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Common" + }, + "position": { + "basis": "150px" + }, + "props": { + "selected": true, + "text": "Common" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH1" + }, + "position": { + "basis": "150px" + }, + "props": { + "selected": true, + "text": "Datahall 1" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH2" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 2" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH3" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 3" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH4" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 4" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH5" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 5" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "AreaFilter" + }, + "position": { + "basis": "400px" + }, + "propConfig": { + "custom.areaSelection": { + "binding": { + "config": { + "struct": { + "areas": [ + "if({./Common.props.selected}, \"Common\", \"\")", + "if({./DH1.props.selected}, \"DH1\", \"\")", + "if({./DH2.props.selected}, \"DH2\", \"\")", + "if({./DH3.props.selected}, \"DH3\", \"\")", + "if({./DH4.props.selected}, \"DH4\", \"\")", + "if({./DH5.props.selected}, \"DH5\", \"\")" + ] + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn [v for v in value[\"areas\"] if len(v.value) \u003e 0]\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "props": { + "style": { + "gap": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.BillingData": { + "binding": { + "config": { + "struct": { + "areaLocations": "{../CalculatedFields/AreaFilter.custom.areaSelection}", + "endDate": "toDate({view.custom.endDate})", + "intervalMin": "{../CalculatedFields/Actions/Dropdown.props.value}", + "location": "{view.custom.location}", + "startDate": "toDate({view.custom.startDate})" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\tlocation\u003d value[\"areaLocations\"]\n\tintervalMin \u003d value[\"intervalMin\"]\n\treturn reports.MBR.billing.processRawData(startDate, endDate, location, intervalMin)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.BillingData" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/ChillerTonnage/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/ChillerTonnage/resource.json new file mode 100644 index 0000000..1839acf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/ChillerTonnage/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9cdbc2385b97faf39f55927dc4061602b6937464696f5cd188dd9b2d7c0b9b05", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:59:23Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/ChillerTonnage/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/ChillerTonnage/thumbnail.png new file mode 100644 index 0000000..a8359f4 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/ChillerTonnage/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/ChillerTonnage/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/ChillerTonnage/view.json new file mode 100644 index 0000000..6f3965d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/ChillerTonnage/view.json @@ -0,0 +1,320 @@ +{ + "custom": { + "endDate": "2025-7-8 23:59:59", + "location": null, + "startDate": "2025-7-7 00:00:00" + }, + "params": { + "endDate": "2025-7-8 23:59:59", + "location": null, + "startDate": "2025-7-7 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "30px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + }, + { + "label": "daily", + "value": 1440 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 60 + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Import" + }, + "position": { + "basis": "34px", + "display": false + }, + "props": { + "enabled": false, + "text": "Import" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\tsystem.perspective.download(\"Billing Data.xls\", xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "DH1" + }, + "position": { + "basis": "150px" + }, + "props": { + "selected": true, + "text": "Datahall 1" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH2" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 2" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH3" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 3" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH4" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 4" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH5" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 5" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "AreaFilter" + }, + "position": { + "basis": "400px" + }, + "propConfig": { + "custom.areaSelection": { + "binding": { + "config": { + "struct": { + "areas": [ + "if({./DH1.props.selected}, \"DH1\", \"\")", + "if({./DH2.props.selected}, \"DH2\", \"\")", + "if({./DH3.props.selected}, \"DH3\", \"\")", + "if({./DH4.props.selected}, \"DH4\", \"\")", + "if({./DH5.props.selected}, \"DH5\", \"\")" + ] + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn [v for v in value[\"areas\"] if len(v.value) \u003e 0]\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "props": { + "style": { + "gap": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.CoolingData": { + "binding": { + "config": { + "struct": { + "endDate": "{view.params.endDate}", + "interval": "{../CalculatedFields/Actions/Dropdown.props.value}", + "locations": "{view.params.location}", + "startDate": "{view.params.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\t\t\t\n\treturn reports.MBR.cooling.DoChillerDemand(value[\"startDate\"], value[\"endDate\"],\n\t\t\t\tvalue[\"interval\"], value[\"locations\"]) ", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.CoolingData.histDS" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Cooling/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Cooling/resource.json new file mode 100644 index 0000000..1bcb39a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Cooling/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7dc1d881adcfeaa9a8f87f4923800d9b4f9615c50b0393c9988e2b983ead61a3", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:59:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Cooling/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Cooling/thumbnail.png new file mode 100644 index 0000000..d98626e Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Cooling/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Cooling/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Cooling/view.json new file mode 100644 index 0000000..edc5564 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Cooling/view.json @@ -0,0 +1,104 @@ +{ + "custom": { + "endDate": "2025-04-18 23:59:59", + "location": "DH2", + "startDate": "2025-04-18 00:00:00" + }, + "params": { + "endDate": "2025-04-18 23:59:59", + "location": null, + "startDate": "2025-04-18 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "struct": { + "endDate": "{view.custom.endDate}", + "location": "{view.custom.location}", + "startDate": "{view.custom.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\treturn reports.MBR.cooling.getRawDataMeasurement(startDate, endDate)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CoolingData/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CoolingData/resource.json new file mode 100644 index 0000000..3324bcf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CoolingData/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c2cc3dea29629aacc96761af7cc7bdc25e25188ec4eb6b1e6d548380c92420a7", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:59:30Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CoolingData/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CoolingData/thumbnail.png new file mode 100644 index 0000000..94d03e0 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CoolingData/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CoolingData/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CoolingData/view.json new file mode 100644 index 0000000..cf253b8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CoolingData/view.json @@ -0,0 +1,320 @@ +{ + "custom": { + "endDate": "2025-4-20 23:59:59", + "location": null, + "startDate": "2025-4-18 00:00:00" + }, + "params": { + "endDate": "2025-4-20 23:59:59", + "location": null, + "startDate": "2025-4-18 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "30px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + }, + { + "label": "daily", + "value": 1440 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 60 + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Import" + }, + "position": { + "basis": "34px", + "display": false + }, + "props": { + "enabled": false, + "text": "Import" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\tsystem.perspective.download(\"Billing Data.xls\", xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "DH1" + }, + "position": { + "basis": "150px" + }, + "props": { + "selected": true, + "text": "Datahall 1" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH2" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 2" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH3" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 3" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH4" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 4" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DH5" + }, + "position": { + "basis": "150px" + }, + "props": { + "text": "Datahall 5" + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "AreaFilter" + }, + "position": { + "basis": "400px" + }, + "propConfig": { + "custom.areaSelection": { + "binding": { + "config": { + "struct": { + "areas": [ + "if({./DH1.props.selected}, \"DH1\", \"\")", + "if({./DH2.props.selected}, \"DH2\", \"\")", + "if({./DH3.props.selected}, \"DH3\", \"\")", + "if({./DH4.props.selected}, \"DH4\", \"\")", + "if({./DH5.props.selected}, \"DH5\", \"\")" + ] + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn [v for v in value[\"areas\"] if len(v.value) \u003e 0]\n\t", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "props": { + "style": { + "gap": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.CoolingData": { + "binding": { + "config": { + "struct": { + "endDate": "{view.params.endDate}", + "interval": "{../CalculatedFields/Actions/Dropdown.props.value}", + "locations": "{../CalculatedFields/AreaFilter.custom.areaSelection}", + "startDate": "{view.params.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn reports.MBR.coolingdata.doReport(value[\"startDate\"], value[\"endDate\"], \n\t\t\tvalue[\"locations\"], value[\"interval\"])", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.CoolingData.measurementDS" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CriticalPower/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CriticalPower/resource.json new file mode 100644 index 0000000..546eb54 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CriticalPower/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "edf1dfd8d466bfa30e3b94e701be9bf5ada4f8e45e7fc093d308bd9e4b8a6697", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:59:28Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CriticalPower/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CriticalPower/thumbnail.png new file mode 100644 index 0000000..4b2b36b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CriticalPower/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CriticalPower/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CriticalPower/view.json new file mode 100644 index 0000000..f9cb3eb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/CriticalPower/view.json @@ -0,0 +1,197 @@ +{ + "custom": { + "endDate": "2025-04-18 23:59:59", + "location": null, + "startDate": "2025-04-16 00:00:00" + }, + "params": { + "endDate": "2025-04-18 23:59:59", + "location": null, + "startDate": "2025-04-16 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "38px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 15 + }, + "type": "ia.input.dropdown" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\ttoggleSelect \u003d self.parent.getChild(\"Toggles\").getChild(\"RadioGroup\").props.value\n\tsystem.perspective.download(\"%s-Raw.xls\"%toggleSelect, xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.CritPwrData": { + "binding": { + "config": { + "struct": { + "endDate": "{view.custom.endDate}", + "interval": "{../CalculatedFields/Actions/Dropdown.props.value}", + "location": "{view.custom.location}", + "startDate": "{view.custom.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\tlocation\u003d value[\"location\"]\n\tinterval \u003d value[\"interval\"]\n\treturn reports.MBR.criticalpower.doReportInterval(startDate, endDate, location, interval)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.CritPwrData.rawDS" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Generators/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Generators/resource.json new file mode 100644 index 0000000..98dff98 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Generators/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ebf61db1e0e9edc49694ff25d502849c9f97ceefbe17081c70a97e6e468987ee", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:59:25Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Generators/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Generators/thumbnail.png new file mode 100644 index 0000000..4e58f22 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Generators/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Generators/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Generators/view.json new file mode 100644 index 0000000..c3b715f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Generators/view.json @@ -0,0 +1,110 @@ +{ + "custom": { + "endDate": "2025-04-25 23:59:59", + "location": null, + "startDate": "2025-04-20 00:00:00" + }, + "params": { + "endDate": "2025-04-25 23:59:59", + "location": null, + "startDate": "2025-04-20 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "struct": { + "endDate": "toDate({view.custom.endDate})", + "location": "{view.custom.location}", + "startDate": "toDate({view.custom.startDate})" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n#\treturn reports.MBR.generators.getHistoryLastValues(\"[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M1\",\"[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM\", startDate, endDate)\n\treturn reports.MBR.generators.buildFinalTable(startDate,endDate,location\u003dNone)", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/PUE_Interval/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/PUE_Interval/resource.json new file mode 100644 index 0000000..41abc99 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/PUE_Interval/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "adb90f2365d2527a606af00b4e9d80bd1288f7249058d3bea64a9409af340b4c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:59:23Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/PUE_Interval/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/PUE_Interval/thumbnail.png new file mode 100644 index 0000000..8d0628a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/PUE_Interval/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/PUE_Interval/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/PUE_Interval/view.json new file mode 100644 index 0000000..4fa586c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/PUE_Interval/view.json @@ -0,0 +1,313 @@ +{ + "custom": { + "endDate": "2025-04-15 23:59:59", + "location": null, + "startDate": "2025-04-15 00:00:00" + }, + "params": { + "endDate": "2025-04-15 23:59:59", + "location": null, + "startDate": "2025-04-15 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px", + "display": false + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.calculated.ResultData" + }, + "transforms": [ + { + "code": "\treturn \"Daily Avgs: \" + str([round(v[1],2) for v in value])", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Min Avg: \", round({parent.custom.calculated.MinAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Max Avg: \", round({parent.custom.calculated.MaxAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "TotalLoad" + }, + "position": { + "basis": "200px", + "display": false + }, + "propConfig": { + "custom.calculated": { + "binding": { + "config": { + "path": ".../Table.custom.PUEData.TotalLoad" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "CriticalLoad" + }, + "position": { + "basis": "200px", + "display": false + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "30px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 15 + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Import" + }, + "position": { + "basis": "34px", + "display": false + }, + "props": { + "enabled": false, + "text": "Import" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\tsystem.perspective.download(\"PUE Table.xls\", xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.PUEData": { + "binding": { + "config": { + "struct": { + "endDate": "{view.custom.endDate}", + "intervalMin": "{../CalculatedFields/Actions/Dropdown.props.value}", + "location": "{view.custom.location}", + "startDate": "{view.custom.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\tlocation\u003d value[\"location\"]\n\tintervalMin \u003d value[\"intervalMin\"]\n\treturn reports.MBR.totalpower.doAllInterval(startDate, endDate, None, intervalMin)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.PUEData.PUE.ResultDS" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPower/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPower/resource.json new file mode 100644 index 0000000..7409d33 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPower/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e6b8d697c5b6ddb199c51da9ddea2429bc74a2f40fd0f1efb2f5c29c68283f76", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:59:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPower/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPower/thumbnail.png new file mode 100644 index 0000000..b64f4c3 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPower/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPower/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPower/view.json new file mode 100644 index 0000000..3665238 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPower/view.json @@ -0,0 +1,406 @@ +{ + "custom": { + "endDate": "2025-05-15 23:59:59", + "location": "Common", + "startDate": "2025-05-13 00:00:00" + }, + "params": { + "endDate": "2025-05-15 23:59:59", + "location": "Common", + "startDate": "2025-05-13 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Total Load Summary", + "textStyle": { + "fontWeight": "700" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.calculated.ResultData" + }, + "transforms": [ + { + "code": "\treturn \"Daily Avgs: \" + str([round(v[1],2) for v in value])", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Min Avg: \", round({parent.custom.calculated.MinAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Max Avg: \", round({parent.custom.calculated.MaxAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "TotalLoad" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "custom.calculated": { + "binding": { + "config": { + "path": ".../Table.custom.PUEData.TotalLoad" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Critical Load Summary", + "textStyle": { + "fontWeight": "700" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.calculated.ResultData" + }, + "transforms": [ + { + "code": "\treturn \"Daily Avgs: \" + str([round(v[1],2) for v in value])", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Min Avg: \", round({parent.custom.calculated.MinAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Max Avg: \", round({parent.custom.calculated.MaxAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CriticalLoad" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "custom.calculated": { + "binding": { + "config": { + "path": ".../Table.custom.PUEData.CriticalLoad" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "RadioGroup" + }, + "position": { + "basis": "200px" + }, + "props": { + "radios": [ + { + "selected": true, + "text": "Total Load", + "value": "TotalLoad" + }, + { + "selected": false, + "text": "Critical Load", + "value": "CriticalLoad" + } + ], + "value": "TotalLoad" + }, + "type": "ia.input.radio-group" + } + ], + "meta": { + "name": "Toggles" + }, + "position": { + "basis": "84px" + }, + "type": "ia.container.flex" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\ttoggleSelect \u003d self.parent.getChild(\"Toggles\").getChild(\"RadioGroup\").props.value\n\tsystem.perspective.download(\"%s-Raw.xls\"%toggleSelect, xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.PUEData": { + "binding": { + "config": { + "struct": { + "endDate": "{view.custom.endDate}", + "location": "{view.custom.location}", + "startDate": "{view.custom.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\tlocation\u003d value[\"location\"]\n\n\treturn reports.MBR.totalpower.doAllInterval(startDate, endDate, location, None)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "expression": "case({../CalculatedFields/Actions/Toggles/RadioGroup.props.value},\r\n\t\"TotalLoad\", {this.custom.PUEData.TotalLoad.RawDS},\r\n\t\"CriticalLoad\", {this.custom.PUEData.CriticalLoad.RawDS},\r\n\tNone)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPowerData/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPowerData/resource.json new file mode 100644 index 0000000..11f1422 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPowerData/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "90bb117c08854b30b929829e1a18cd25d1ad35634642f886c1e8aaa19520393d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:59:22Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPowerData/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPowerData/thumbnail.png new file mode 100644 index 0000000..34bf5fc Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPowerData/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPowerData/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPowerData/view.json new file mode 100644 index 0000000..bcecf10 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/TotalPowerData/view.json @@ -0,0 +1,229 @@ +{ + "custom": { + "endDate": { + "$": [ + "ts", + 0, + 1746122920108 + ], + "$ts": 1745798399000 + }, + "location": null, + "startDate": { + "$": [ + "ts", + 0, + 1746122916750 + ], + "$ts": 1745539200000 + } + }, + "params": { + "endDate": "2025-04-27 23:59:59", + "location": null, + "startDate": "2025-04-25 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "expression": "toDate({view.params.endDate})" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "expression": "toDate({view.params.startDate})" + }, + "type": "expr" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "30px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + }, + { + "label": "daily", + "value": 1440 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 1440 + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Import" + }, + "position": { + "basis": "34px", + "display": false + }, + "props": { + "enabled": false, + "text": "Import" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\tsystem.perspective.download(\"Total Power Data.xls\", xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.PUEData": { + "binding": { + "config": { + "struct": { + "endDate": "{view.custom.endDate}", + "intervalMins": "{../CalculatedFields/Actions/Dropdown.props.value}", + "location": "{view.custom.location}", + "startDate": "{view.custom.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\tlocation\u003d value[\"location\"]\n\tintMins \u003d value[\"intervalMins\"]\n\treturn reports.MBR.data.totalpower.beginReport(startDate, endDate, intMins, location)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.PUEData.summaryData" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/UPSkWData/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/UPSkWData/resource.json new file mode 100644 index 0000000..07e1f92 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/UPSkWData/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "37a2d965ee961cc05b925ab1e8128d72395acf3ea1ef2e1ac235b5eaac95fda8", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:59:24Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/UPSkWData/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/UPSkWData/thumbnail.png new file mode 100644 index 0000000..2a33e1c Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/UPSkWData/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/UPSkWData/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/UPSkWData/view.json new file mode 100644 index 0000000..c556a54 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/UPSkWData/view.json @@ -0,0 +1,229 @@ +{ + "custom": { + "endDate": { + "$": [ + "ts", + 0, + 1746221497024 + ], + "$ts": 1745798399000 + }, + "location": null, + "startDate": { + "$": [ + "ts", + 0, + 1746221497024 + ], + "$ts": 1745539200000 + } + }, + "params": { + "endDate": "2025-04-27 23:59:59", + "location": null, + "startDate": "2025-04-25 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "expression": "toDate({view.params.endDate})" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "expression": "toDate({view.params.startDate})" + }, + "type": "expr" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "30px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + }, + { + "label": "daily", + "value": 1440 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 60 + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Import" + }, + "position": { + "basis": "34px", + "display": false + }, + "props": { + "enabled": false, + "text": "Import" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\tsystem.perspective.download(\"Total Power Data.xls\", xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.UPSData": { + "binding": { + "config": { + "struct": { + "endDate": "{view.custom.endDate}", + "intervalMins": "{../CalculatedFields/Actions/Dropdown.props.value}", + "location": "{view.custom.location}", + "startDate": "{view.custom.startDate}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\tlocation\u003d value[\"location\"]\n\tintMins \u003d value[\"intervalMins\"]\n\treturn reports.MBR.data.ups.beginReport(startDate,endDate, intMins, location)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.UPSData" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Utility/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Utility/resource.json new file mode 100644 index 0000000..73713c4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Utility/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ca8b7d702079551ee44528d1f336bfe8d0916a47d15a9ba5d706d8566423406f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:59:20Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Utility/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Utility/thumbnail.png new file mode 100644 index 0000000..c4301d3 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Utility/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Utility/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Utility/view.json new file mode 100644 index 0000000..e97a1ff --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBR/Utility/view.json @@ -0,0 +1,313 @@ +{ + "custom": { + "endDate": "2025-4-17 23:59:59", + "location": null, + "startDate": "2025-4-17 00:00:00" + }, + "params": { + "endDate": "2025-4-17 23:59:59", + "location": null, + "startDate": "2025-4-17 00:00:00" + }, + "propConfig": { + "custom.endDate": { + "binding": { + "config": { + "path": "view.params.endDate" + }, + "type": "property" + }, + "persistent": true + }, + "custom.location": { + "binding": { + "config": { + "path": "view.params.location" + }, + "type": "property" + }, + "persistent": true + }, + "custom.startDate": { + "binding": { + "config": { + "path": "view.params.startDate" + }, + "type": "property" + }, + "persistent": true + }, + "params.endDate": { + "paramDirection": "input", + "persistent": true + }, + "params.location": { + "paramDirection": "input", + "persistent": true + }, + "params.startDate": { + "paramDirection": "input", + "persistent": true + } + }, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px", + "display": false + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.calculated.ResultData" + }, + "transforms": [ + { + "code": "\treturn \"Daily Avgs: \" + str([round(v[1],2) for v in value])", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Min Avg: \", round({parent.custom.calculated.MinAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "concat(\"Max Avg: \", round({parent.custom.calculated.MaxAvg},2))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "TotalLoad" + }, + "position": { + "basis": "200px", + "display": false + }, + "propConfig": { + "custom.calculated": { + "binding": { + "config": { + "path": ".../Table.custom.PUEData.TotalLoad" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "CriticalLoad" + }, + "position": { + "basis": "200px", + "display": false + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "30px" + }, + "props": { + "options": [ + { + "label": "15 mins", + "value": 15 + }, + { + "label": "30 mins", + "value": 30 + }, + { + "label": "hourly", + "value": 60 + } + ], + "placeholder": { + "text": "Select Interval" + }, + "value": 15 + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Import" + }, + "position": { + "basis": "34px", + "display": false + }, + "props": { + "enabled": false, + "text": "Import" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\tsystem.perspective.download(\"PUE Table.xls\", xlsBytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export" + }, + "position": { + "basis": "34px" + }, + "props": { + "text": "Export" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Actions" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column", + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "CalculatedFields" + }, + "position": { + "basis": "150px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "custom.BillingData": { + "binding": { + "config": { + "struct": { + "endDate": "toDate({view.custom.endDate})", + "intervalMin": "{../CalculatedFields/Actions/Dropdown.props.value}", + "location": "{view.custom.location}", + "startDate": "toDate({view.custom.startDate})" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\tstartDate \u003d value[\"startDate\"]\n\tendDate \u003d value[\"endDate\"]\n\tlocation\u003d value[\"location\"]\n\tintervalMin \u003d value[\"intervalMin\"]\n\treturn reports.MBR.utility.doReport(startDate, endDate, intervalMin)", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.columns": { + "binding": { + "config": { + "path": "this.props.data" + }, + "transforms": [ + { + "code": "\treturn utils.helper.xformTableColumns(value)", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "this.custom.BillingData.RawData" + }, + "type": "property" + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBRViewer/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBRViewer/resource.json new file mode 100644 index 0000000..a185cdb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBRViewer/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1497f0343e66a5be399962ffc2680e4b370d01e5d186ea329fc9825fa13c1571", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:59:23Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBRViewer/thumbnail.png b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBRViewer/thumbnail.png new file mode 100644 index 0000000..b5642e8 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBRViewer/thumbnail.png differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBRViewer/view.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBRViewer/view.json new file mode 100644 index 0000000..da58e60 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.perspective/views/Pages/Reports/MBRViewer/view.json @@ -0,0 +1,239 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "children": [ + { + "custom": { + "key": "value" + }, + "meta": { + "name": "DateTimeInput" + }, + "position": { + "basis": "170px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "expression": "addDays(\r\n\tmidnight(now(0)),\r\n\t-1)" + }, + "type": "expr" + } + } + }, + "props": { + "format": "MMM DD, yyyy HH:mm", + "formattedValue": "Jul 06, 2025 19:00", + "pickerType": "date" + }, + "type": "ia.input.date-time-input" + }, + { + "meta": { + "name": "DateTimeInput_0" + }, + "position": { + "basis": "170px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "expression": "addSeconds(\r\n\tmidnight(now(0)),\r\n\t-1)" + }, + "type": "expr" + } + } + }, + "props": { + "format": "MMM DD, yyyy HH:mm", + "formattedValue": "Jul 08, 2025 18:59", + "pickerType": "date" + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "ReportConfig" + }, + "position": { + "basis": "40px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "256px" + }, + "props": { + "options": [ + { + "label": "Total Power", + "value": "TotalPower" + }, + { + "label": "Cooling", + "value": "Cooling" + }, + { + "label": "Generators", + "value": "Generators" + }, + { + "label": "Utility", + "value": "Utility" + }, + { + "label": "PUE Interval", + "value": "PUE_Interval" + }, + { + "label": "Critical Power", + "value": "CriticalPower" + }, + { + "label": "Billing", + "value": "Billing" + }, + { + "label": "Total Power Data", + "value": "TotalPowerData" + }, + { + "label": "UPS kW Data", + "value": "UPSkWData" + }, + { + "label": "Cooling Data", + "value": "CoolingData" + }, + { + "label": "Chiller Demand", + "value": "ChillerTonnage" + } + ], + "value": "TotalPower" + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Dropdown_0" + }, + "position": { + "basis": "256px" + }, + "props": { + "options": [ + { + "label": "No Filter", + "value": null + }, + { + "label": "Common", + "value": "Common" + }, + { + "label": "Datahall 1", + "value": "DH1" + }, + { + "label": "Datahall 2", + "value": "DH2" + }, + { + "label": "Datahall 3", + "value": "DH3" + }, + { + "label": "Datahall 4", + "value": "DH4" + }, + { + "label": "Datahall 5", + "value": "DH5" + } + ], + "value": null + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Selector" + }, + "position": { + "basis": "37px" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "320px", + "grow": 1 + }, + "propConfig": { + "props.params.endDate": { + "binding": { + "config": { + "path": "../ReportConfig/DateTimeInput_0.props.value" + }, + "type": "property" + } + }, + "props.params.location": { + "binding": { + "config": { + "path": "../Selector/Dropdown_0.props.value" + }, + "type": "property" + } + }, + "props.params.startDate": { + "binding": { + "config": { + "path": "../ReportConfig/DateTimeInput.props.value" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "path": "../Selector/Dropdown.props.value" + }, + "transforms": [ + { + "expression": "concat(\"Pages/Reports/MBR/\",{value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/0-Cover/data.bin b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/0-Cover/data.bin new file mode 100644 index 0000000..d684d39 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/0-Cover/data.bin differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/0-Cover/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/0-Cover/resource.json new file mode 100644 index 0000000..9533b8d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/0-Cover/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "2747d77bb54072c7062cb9c1cc0e87bb55aceba5477ea84b676e1a99bd9e9470", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/1-Total Power/data.bin b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/1-Total Power/data.bin new file mode 100644 index 0000000..d2411ff Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/1-Total Power/data.bin differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/1-Total Power/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/1-Total Power/resource.json new file mode 100644 index 0000000..10ac164 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/1-Total Power/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "dada38dde3c9ff7bf0ddbf447d76966256c9436060cbdbc50b09e974581fb33d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/1A-Utility/data.bin b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/1A-Utility/data.bin new file mode 100644 index 0000000..613e5ad Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/1A-Utility/data.bin differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/1A-Utility/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/1A-Utility/resource.json new file mode 100644 index 0000000..3d797da --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/1A-Utility/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "be5493bdd7335e8ae90ec71f0bcdca2c7300a769dafd0fb58932fea117aed82e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/2-CriticalPower/data.bin b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/2-CriticalPower/data.bin new file mode 100644 index 0000000..12d021b Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/2-CriticalPower/data.bin differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/2-CriticalPower/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/2-CriticalPower/resource.json new file mode 100644 index 0000000..8a1f110 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/2-CriticalPower/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "41c2f5e57abcc8ef5e0f5db5a31ff32b03c77a7e739f487427b86e40c34ae53a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/3-Cooling/data.bin b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/3-Cooling/data.bin new file mode 100644 index 0000000..5b6c633 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/3-Cooling/data.bin differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/3-Cooling/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/3-Cooling/resource.json new file mode 100644 index 0000000..bdbba50 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/3-Cooling/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "ef99a60df346f288902ba38e3b61b89eca47e87d6d6928b3e2da896887b15925", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/3-Cooling_v1/data.bin b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/3-Cooling_v1/data.bin new file mode 100644 index 0000000..b9a74f7 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/3-Cooling_v1/data.bin differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/3-Cooling_v1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/3-Cooling_v1/resource.json new file mode 100644 index 0000000..119fecd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/3-Cooling_v1/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "d836c724ff09dadd52f30e5cb1f028b48308c96a79c9fa1f2ffc0d9c7ab33dec", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/4-Generators/data.bin b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/4-Generators/data.bin new file mode 100644 index 0000000..1679e2a Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/4-Generators/data.bin differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/4-Generators/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/4-Generators/resource.json new file mode 100644 index 0000000..6ebc35c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/4-Generators/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "311b824b7aace407ae58bf40016e4babf5f1c2d43b297a93de601ce47cee9e3f", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/Archive/1-Total Power_20250723/data.bin b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/Archive/1-Total Power_20250723/data.bin new file mode 100644 index 0000000..d1c6587 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/Archive/1-Total Power_20250723/data.bin differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/Archive/1-Total Power_20250723/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/Archive/1-Total Power_20250723/resource.json new file mode 100644 index 0000000..5c10671 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.reporting/reports/MBR/Archive/1-Total Power_20250723/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "e67d5b5ff65486549881eff338f00f0d59db04b2bc9f739d9d45d125533a62a4", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:08Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.vision/client-tags/data.bin b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.vision/client-tags/data.bin new file mode 100644 index 0000000..a5ed890 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.vision/client-tags/data.bin differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.vision/client-tags/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.vision/client-tags/resource.json new file mode 100644 index 0000000..01f75c3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.vision/client-tags/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "C", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "d2bb6f2e115e507db8f7bf0298eecb30887f52b1d1e20fe998cf49e28bb02544", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T15:28:47Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/alert.mp3/config.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/alert.mp3/config.json new file mode 100644 index 0000000..b1abea2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/alert.mp3/config.json @@ -0,0 +1,4 @@ +{ + "resource-type": "file-resource", + "content-type": "audio/mpeg" +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/alert.mp3/file.bin b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/alert.mp3/file.bin new file mode 100644 index 0000000..0430b39 Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/alert.mp3/file.bin differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/alert.mp3/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/alert.mp3/resource.json new file mode 100644 index 0000000..253c193 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/alert.mp3/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "config.json", + "file.bin" + ], + "attributes": { + "lastModificationSignature": "7fa67653127389c1fd7dc5a22f9622b461d5541abff9cc05c89c1e82eea7f22e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:59:07Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/config.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/config.json new file mode 100644 index 0000000..1a0e51e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/config.json @@ -0,0 +1,67 @@ +{ + "resource-type": "python-resource", + "doGet": { + "enabled": true, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + }, + "doPost": { + "enabled": false, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + }, + "doPut": { + "enabled": false, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + }, + "doDelete": { + "enabled": false, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + }, + "doHead": { + "enabled": false, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + }, + "doOptions": { + "enabled": false, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + }, + "doTrace": { + "enabled": false, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + }, + "doPatch": { + "enabled": false, + "max-retry-attempts": 3, + "require-auth": false, + "require-https": false, + "required-roles": "", + "user-source": "" + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doDelete.py b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doDelete.py new file mode 100644 index 0000000..8d686ff --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doDelete.py @@ -0,0 +1 @@ +def doDelete(request, session): diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doGet.py b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doGet.py new file mode 100644 index 0000000..15b1523 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doGet.py @@ -0,0 +1,653 @@ +def doGet(request, session): + html = """ + + + + + + + Pan Zoom iFrame + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+ + + + +
+ + +
+ +
+
+
+ + Fit to screen +
+
+ + Zoom Out +
+
+ + Zoom In +
+
+ + Set Zoom +
+
+ + Panning Mode +
 Interact : Disabled +
 Pan : Any Mouse Click +
 Zoom : Scroll Wheel +
+
+
+ + Interactive Mode +
 Interact : Left Click +
 Pan : Disabled +
 Zoom : Control Buttons +
+
+
+ +
+ + + + + """ + + gatewayAddress = request['params'].get('gatewayAddress', '') + projectName = request['params'].get('projectName', '') + targetURL = request['params'].get('targetURL', '') + targetDetailedURL = request['params'].get('targetDetailedURL', '') + height = request['params'].get('height', '') + width = request['params'].get('width', '') + pageId = request['params'].get('pageId', '') + + def makeURL(page): + if page.startswith('/'): + URL = "'{gatewayAddress}/data/perspective/client/{projectName}{page}/{pageId}';".format(gatewayAddress=gatewayAddress, projectName=projectName, page=page, pageId=pageId) +# URL = "'{gatewayAddress}/data/perspective/client/{projectName}{page}';".format(gatewayAddress=gatewayAddress, projectName=projectName, page=page) + else: + URL = "'{page}';".format(page=page) + return URL + + def cleanDim(dim): + if dim == '': + iDim = '100%' + elif dim.endswith('%'): + iDim = dim + elif dim.endswith('px'): + iDim = dim + else: + iDim = '%spx' % dim + return '%s;' % iDim + + html = html.replace("'https://example.com/'; /*replace-target*/", makeURL(targetURL)) + html = html.replace("'SDC_PHX_A7'; /*replace-target-detailed*/", makeURL(targetDetailedURL)) + html = html.replace("100%; /*replace-width*/", cleanDim(width)) + html = html.replace("100%; /*replace-height*/", cleanDim(height)) + + return {'html': html} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doHead.py b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doHead.py new file mode 100644 index 0000000..f3dae19 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doHead.py @@ -0,0 +1 @@ +def doHead(request, session): diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doOptions.py b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doOptions.py new file mode 100644 index 0000000..41846b7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doOptions.py @@ -0,0 +1 @@ +def doOptions(request, session): diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doPatch.py b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doPatch.py new file mode 100644 index 0000000..e689611 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doPatch.py @@ -0,0 +1 @@ +def doPatch(request, session): diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doPost.py b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doPost.py new file mode 100644 index 0000000..49015ad --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doPost.py @@ -0,0 +1 @@ +def doPost(request, session): diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doPut.py b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doPut.py new file mode 100644 index 0000000..9c0d7c0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doPut.py @@ -0,0 +1 @@ +def doPut(request, session): diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doTrace.py b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doTrace.py new file mode 100644 index 0000000..8031de4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/doTrace.py @@ -0,0 +1 @@ +def doTrace(request, session): diff --git a/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/resource.json b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/resource.json new file mode 100644 index 0000000..163b1d9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/com.inductiveautomation.webdev/resources/pan-zoom-iframe/html/resource.json @@ -0,0 +1,24 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "config.json", + "doPut.py", + "doTrace.py", + "doHead.py", + "doPatch.py", + "doPost.py", + "doOptions.py", + "doGet.py", + "doDelete.py" + ], + "attributes": { + "lastModificationSignature": "b47406feebd14c16b784658d017d8eba72bbeefe77edeaadd79e601589a2b25a", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-16T21:53:06Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/global-props/data.bin b/Gateways/FE/projects/SDC_PHX_A7/ignition/global-props/data.bin new file mode 100644 index 0000000..965f64f Binary files /dev/null and b/Gateways/FE/projects/SDC_PHX_A7/ignition/global-props/data.bin differ diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/global-props/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/global-props/resource.json new file mode 100644 index 0000000..32c477f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/global-props/resource.json @@ -0,0 +1,10 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": {} +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Admin/User/GetSettings/query.sql b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Admin/User/GetSettings/query.sql new file mode 100644 index 0000000..6d888ed --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Admin/User/GetSettings/query.sql @@ -0,0 +1,2 @@ +select id, settingname, settingvalue from user_settings +where username= :username \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Admin/User/GetSettings/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Admin/User/GetSettings/resource.json new file mode 100644 index 0000000..574ffe5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Admin/User/GetSettings/resource.json @@ -0,0 +1,40 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "Ignition", + "fallbackEnabled": false, + "lastModificationSignature": "50ee34967f6ef8d81281863fa8d094d3bcb8e04d35eae3e7aca25d6dbb24b0cf", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:00Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "username", + "sqlType": 7 + } + ] + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Get Notes/query.sql b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Get Notes/query.sql new file mode 100644 index 0000000..72531cd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Get Notes/query.sql @@ -0,0 +1,9 @@ +SELECT + id, + body, + last_updated, + last_updated_by +FROM + tag_notes +WHERE + tag_path = :tagPath \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Get Notes/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Get Notes/resource.json new file mode 100644 index 0000000..e29aba0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Get Notes/resource.json @@ -0,0 +1,40 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "", + "fallbackEnabled": false, + "lastModificationSignature": "0dd24dc57cc57d24576e0156d4aac7e16bfa206f7f6e6f118505920aca4759fc", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:53:59Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "tagPath", + "sqlType": 7 + } + ] + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Insert Note/query.sql b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Insert Note/query.sql new file mode 100644 index 0000000..b0e8c57 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Insert Note/query.sql @@ -0,0 +1 @@ +INSERT INTO tag_notes (tag_path, body, last_updated, last_updated_by) VALUES (:tagPath, :body, CURRENT_TIMESTAMP, :user) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Insert Note/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Insert Note/resource.json new file mode 100644 index 0000000..dc60fae --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Insert Note/resource.json @@ -0,0 +1,50 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "UpdateQuery", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "", + "fallbackEnabled": false, + "lastModificationSignature": "48165516e5aa4fb1da2121b34dacec7aaeb5b5bc4e6a13fef9e2ed5efea023c1", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:53:59Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "tagPath", + "sqlType": 7 + }, + { + "type": "Parameter", + "identifier": "body", + "sqlType": 7 + }, + { + "type": "Parameter", + "identifier": "user", + "sqlType": 7 + } + ] + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Update Note/query.sql b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Update Note/query.sql new file mode 100644 index 0000000..c487aeb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Update Note/query.sql @@ -0,0 +1 @@ +UPDATE tag_notes SET body = :body, last_updated = CURRENT_TIMESTAMP, last_updated_by = :user WHERE id = :id \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Update Note/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Update Note/resource.json new file mode 100644 index 0000000..0a94a9d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Tag Notes/Update Note/resource.json @@ -0,0 +1,50 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "UpdateQuery", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "", + "fallbackEnabled": false, + "lastModificationSignature": "e6812051c27292002a4f15bc2d0c43b06e18b9a48bd5cecdc81aaca526778d57", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:53:59Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "body", + "sqlType": 7 + }, + { + "type": "Parameter", + "identifier": "id", + "sqlType": 2 + }, + { + "type": "Parameter", + "identifier": "user", + "sqlType": 7 + } + ] + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Get Notes/query.sql b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Get Notes/query.sql new file mode 100644 index 0000000..8241a14 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Get Notes/query.sql @@ -0,0 +1,9 @@ +SELECT + id, + body, + last_updated, + last_updated_by +FROM + wiki_notes +WHERE + model_no = :modelNo \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Get Notes/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Get Notes/resource.json new file mode 100644 index 0000000..1057b11 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Get Notes/resource.json @@ -0,0 +1,40 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "", + "fallbackEnabled": false, + "lastModificationSignature": "5d06b7473439f0754df95e57c91a1c9de3b4de1de431c48f951f3ad17546228d", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:00Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "modelNo", + "sqlType": 7 + } + ] + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Insert Note/query.sql b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Insert Note/query.sql new file mode 100644 index 0000000..8effca7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Insert Note/query.sql @@ -0,0 +1 @@ +INSERT INTO wiki_notes (model_no, body, last_updated, last_updated_by) VALUES (:modelNo, :body, CURRENT_TIMESTAMP, :user) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Insert Note/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Insert Note/resource.json new file mode 100644 index 0000000..ee94d4d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Insert Note/resource.json @@ -0,0 +1,50 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "UpdateQuery", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "", + "fallbackEnabled": false, + "lastModificationSignature": "894dc84c99c78584b2b1c576d11e55cf01e3ce5d13c88de341339c25148f862f", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:53:59Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "body", + "sqlType": 7 + }, + { + "type": "Parameter", + "identifier": "user", + "sqlType": 7 + }, + { + "type": "Parameter", + "identifier": "modelNo", + "sqlType": 7 + } + ] + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Update Note/query.sql b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Update Note/query.sql new file mode 100644 index 0000000..3e5c488 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Update Note/query.sql @@ -0,0 +1 @@ +UPDATE wiki_notes SET body = :body, last_updated = CURRENT_TIMESTAMP, last_updated_by = :user WHERE id = :id \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Update Note/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Update Note/resource.json new file mode 100644 index 0000000..b0a9129 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/named-query/Wiki Notes/Update Note/resource.json @@ -0,0 +1,50 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "UpdateQuery", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "", + "fallbackEnabled": false, + "lastModificationSignature": "e4ca2a7850ea86c99232674e1090e174bea7c23a9704d48de9d73fabc526009a", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:00Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "body", + "sqlType": 7 + }, + { + "type": "Parameter", + "identifier": "id", + "sqlType": 2 + }, + { + "type": "Parameter", + "identifier": "user", + "sqlType": 7 + } + ] + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS1A_1B/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS1A_1B/code.py new file mode 100644 index 0000000..d018206 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS1A_1B/code.py @@ -0,0 +1,101 @@ +def trace_power_flow(): + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + ds_names = ["DS-1A1", "DS-1B1"] + + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/SESA_Out1', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/SESB_Out3' + ] + for name in ds_names: + # Assuming your UDT instances are in a folder named 'DS' + base_path = "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}".format(name) + tag_paths_to_read.append("{}/Breaker Closed Way 01".format(base_path)) + tag_paths_to_read.append("{}/Breaker Closed Way 02".format(base_path)) + # 3. Read all tags at once + + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['SESA-FRD1_Live'] = tag_values[0].value + values['SESB-FRD3_Live'] = tag_values[1].value + + read_idx = 2 + for name in ds_names: + values[name] = { + 'Way01': tag_values[read_idx].value, + 'Way02': tag_values[read_idx + 1].value + } + read_idx += 2 + + # 4. The Tracing Algorithm + + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['SESA-FRD1_Live']: + q.append( ("DS-1A1", "SESA-FRD1") ) + if values['SESB-FRD3_Live']: + q.append( ("DS-1B1", "SESB-FRD3") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ds_name, source = q.pop(0) + if current_ds_name in visited: + continue + + visited.add(current_ds_name) + energized_state[current_ds_name] = source + current_ut_index = ds_names.index(current_ds_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ds_names) - 1: + neighbor_name = ds_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ds_name]['Way02'] and values[neighbor_name]['Way02']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ds_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ds_name]['Way02'] and values[neighbor_name]['Way02']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + print energized_state + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + for name in ds_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + + tag_paths_to_write.append("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}/Data/isEnergized".format(name)) + values_to_write.append(is_energized) + + tag_paths_to_write.append("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}/Data/PowerSource".format(name)) + values_to_write.append(power_source) + + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS1A_1B/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS1A_1B/resource.json new file mode 100644 index 0000000..2914a74 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS1A_1B/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "ed5d5728562ec7fb1eb5c70af41b9744783a2e8f8047790061812d12bc2e14e0", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS2A_2B/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS2A_2B/code.py new file mode 100644 index 0000000..6bff95c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS2A_2B/code.py @@ -0,0 +1,100 @@ +def trace_power_flow(): + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + ds_names = ["DS-1A2", "DS-1B2"] + + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/SESA_Out2', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/SESB_Out2' + ] + for name in ds_names: + # Assuming your UDT instances are in a folder named 'DS' + base_path = "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}".format(name) + tag_paths_to_read.append("{}/Breaker Closed Way 01".format(base_path)) + tag_paths_to_read.append("{}/Breaker Closed Way 02".format(base_path)) + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['SESA-FRD2_Live'] = tag_values[0].value + values['SESB-FRD2_Live'] = tag_values[1].value + + read_idx = 2 + for name in ds_names: + values[name] = { + 'Way01': tag_values[read_idx].value, + 'Way02': tag_values[read_idx + 1].value + } + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['SESA-FRD2_Live']: + q.append( ("DS-1A2", "SESA-FRD2") ) + if values['SESB-FRD2_Live']: + q.append( ("DS-1B2", "SESB-FRD2") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ds_name, source = q.pop(0) + + if current_ds_name in visited: + continue + + visited.add(current_ds_name) + energized_state[current_ds_name] = source + + current_ut_index = ds_names.index(current_ds_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ds_names) - 1: + neighbor_name = ds_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ds_name]['Way02'] and values[neighbor_name]['Way02']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ds_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ds_name]['Way02'] and values[neighbor_name]['Way02']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + print energized_state + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + for name in ds_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + + tag_paths_to_write.append("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}/Data/isEnergized".format(name)) + values_to_write.append(is_energized) + + tag_paths_to_write.append("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}/Data/PowerSource".format(name)) + values_to_write.append(power_source) + + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS2A_2B/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS2A_2B/resource.json new file mode 100644 index 0000000..1103cb9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS2A_2B/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "b4bfe3f146a1804c988fe83bde0acd9e6aaad25aa5c28f3daec91141cb7fb926", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS3A_3B/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS3A_3B/code.py new file mode 100644 index 0000000..44a5412 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS3A_3B/code.py @@ -0,0 +1,101 @@ +def trace_power_flow(): + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + ds_names = ["DS-1A3", "DS-1B3"] + + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/SESA_Out3', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/SESB_Out1' + ] + for name in ds_names: + # Assuming your UDT instances are in a folder named 'DS' + base_path = "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}".format(name) + tag_paths_to_read.append("{}/Breaker Closed Way 01".format(base_path)) + tag_paths_to_read.append("{}/Breaker Closed Way 02".format(base_path)) + + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['SESA-FRD3_Live'] = tag_values[0].value + values['SESB-FRD1_Live'] = tag_values[1].value + + read_idx = 2 + for name in ds_names: + values[name] = { + 'Way01': tag_values[read_idx].value, + 'Way02': tag_values[read_idx + 1].value + } + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['SESA-FRD3_Live']: + q.append( ("DS-1A3", "SESA-FRD3") ) + if values['SESB-FRD1_Live']: + q.append( ("DS-1B3", "SESB-FRD1") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ds_name, source = q.pop(0) + + if current_ds_name in visited: + continue + + visited.add(current_ds_name) + energized_state[current_ds_name] = source + + current_ut_index = ds_names.index(current_ds_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ds_names) - 1: + neighbor_name = ds_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ds_name]['Way02'] and values[neighbor_name]['Way02']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ds_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ds_name]['Way02'] and values[neighbor_name]['Way02']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + print energized_state + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + for name in ds_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + + tag_paths_to_write.append("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}/Data/isEnergized".format(name)) + values_to_write.append(is_energized) + + tag_paths_to_write.append("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_{}/Data/PowerSource".format(name)) + values_to_write.append(power_source) + + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS3A_3B/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS3A_3B/resource.json new file mode 100644 index 0000000..94ccf54 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/DS3A_3B/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "9b732af351dad7161b4485bb89f5d950a03e5c78d97de96e100e5e8902de1349", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R1/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R1/code.py new file mode 100644 index 0000000..9d04830 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R1/code.py @@ -0,0 +1,133 @@ +def trace_power_flow(): + """ + Traces power flow through a series of connected transformers (UTs). + - Reads the state of all switches. + - Determines which components are energized and from which source. + - Writes the results back to memory tags. + """ + + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + # [Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1 + ut_names = ["UT-P5-1", "UT-P5-2", "UT-P5-3", "UT-P5-4", "UT-P5-5"] + providers = [ "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_"] + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/DS3A_W3', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/DS3B_W3'] + idx = 0 + for name in ut_names: + # Assuming your UDT instances are in a folder named 'UTs' + base_path = providers[idx] + name + tag_paths_to_read.append("{}/Source 1 Switch".format(base_path)) + tag_paths_to_read.append("{}/Source 2 Switch".format(base_path)) + idx+=1 + + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['DS-3A_Live'] = tag_values[0].value + values['DS-3B_Live'] = tag_values[1].value + + read_idx = 2 + for name in ut_names: + values[name] = { + 'Switch_L_Status': tag_values[read_idx].value, + 'Switch_R_Status': tag_values[read_idx + 1].value} + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['DS-3A_Live']: + q.append( ("UT-P5-1", "DS-1A3") ) + if values['DS-3B_Live']: + q.append( ("UT-P5-5", "DS-1B3") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ut_name, source = q.pop(0) + + if current_ut_name in visited: + continue + + visited.add(current_ut_name) + energized_state[current_ut_name] = source + current_ut_index = ut_names.index(current_ut_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ut_names) - 1: + neighbor_name = ut_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ut_name]['Switch_R_Status']['Value'] and values[neighbor_name]['Switch_L_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ut_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ut_name]['Switch_L_Status']['Value'] and values[neighbor_name]['Switch_R_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source)) + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + idx = 0 + for name in ut_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + tag_paths_to_write.append(providers[idx] + name + "/Data/isEnergized") + values_to_write.append(is_energized) + tag_paths_to_write.append(providers[idx] + name + "/Data/PowerSource") + values_to_write.append(power_source) + idx += 1 + + line_tags_base_path = "[Ignition_Common_IO_Gtwy]Cables/UT/" + #print energized_state + # Loop through each connection between UTs + for i in range(len(ut_names) - 1): + ut1_name = ut_names[i] + ut2_name = ut_names[i+1] + line_energized = (ut1_name in energized_state and + ut2_name in energized_state and + #energized_state[ut1_name] == energized_state[ut2_name] and + values[ut1_name]['Switch_R_Status']['Value'] and + values[ut2_name]['Switch_L_Status']['Value']) + #print ut1_name + " : " + str(ut1_name in energized_state) +" & "+str(values[ut1_name]['Switch_R_Status']['Value']) + #print energized_state[ut1_name] + " = " + energized_state[ut2_name] + #print ut2_name + " : " + str(ut2_name in energized_state) +" & "+str(values[ut1_name]['Switch_L_Status']['Value']) + line_tag_name = "Line_{}_to_{}".format(ut1_name, ut2_name) + # Construct the full tag path directly to the boolean tag + full_tag_path = line_tags_base_path + line_tag_name + # Add the path and the calculated value to our list for writing + tag_paths_to_write.append(full_tag_path) + values_to_write.append(line_energized) + #print full_tag_path + " : " + str(line_energized) + + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R1/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R1/resource.json new file mode 100644 index 0000000..bd747e3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "aa51734aec8b652af7e3451814626b923234d4b105435a6f40d0469e61d861e5", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R2/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R2/code.py new file mode 100644 index 0000000..adff43c --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R2/code.py @@ -0,0 +1,138 @@ +def trace_power_flow(): + """ + Traces power flow through a series of connected transformers (UTs). + - Reads the state of all switches. + - Determines which components are energized and from which source. + - Writes the results back to memory tags. + """ + + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + # [Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1 + + #Temp suppres due to IO4 not available + ut_names = ["UT-P4-1", "UT-P4-2", "UT-P4-3", "UT-P4-4", "UT-P4-5", "UT-HS2"] + providers = [ "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_"] + + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/DS3A_W4', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/DS3B_W4'] + idx = 0 + for name in ut_names: + # Assuming your UDT instances are in a folder named 'UTs' + base_path = providers[idx] + name + tag_paths_to_read.append("{}/Source 1 Switch".format(base_path)) + tag_paths_to_read.append("{}/Source 2 Switch".format(base_path)) + idx+=1 + + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['DS-3A_Live'] = tag_values[0].value + values['DS-3B_Live'] = tag_values[1].value + + read_idx = 2 + for name in ut_names: + values[name] = { + 'Switch_L_Status': tag_values[read_idx].value, + 'Switch_R_Status': tag_values[read_idx + 1].value + } + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['DS-3A_Live']: + q.append( ("UT-P4-1", "DS-1A3") ) + if values['DS-3B_Live']: + q.append( ("UT-HS2", "DS-1B3") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ut_name, source = q.pop(0) + + if current_ut_name in visited: + continue + + visited.add(current_ut_name) + energized_state[current_ut_name] = source + current_ut_index = ut_names.index(current_ut_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ut_names) - 1: + neighbor_name = ut_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ut_name]['Switch_R_Status']['Value'] and values[neighbor_name]['Switch_L_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ut_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ut_name]['Switch_L_Status']['Value'] and values[neighbor_name]['Switch_R_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source)) + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + idx = 0 + for name in ut_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + tag_paths_to_write.append(providers[idx] + name + "/Data/isEnergized") + values_to_write.append(is_energized) + tag_paths_to_write.append(providers[idx] + name + "/Data/PowerSource") + values_to_write.append(power_source) + idx += 1 + + line_tags_base_path = "[Ignition_Common_IO_Gtwy]Cables/UT/" + #print energized_state + # Loop through each connection between UTs + for i in range(len(ut_names) - 1): + ut1_name = ut_names[i] + ut2_name = ut_names[i+1] + line_energized = (ut1_name in energized_state and + ut2_name in energized_state and + #energized_state[ut1_name] == energized_state[ut2_name] and + values[ut1_name]['Switch_R_Status']['Value'] and + values[ut2_name]['Switch_L_Status']['Value']) + #print ut1_name + " : " + str(ut1_name in energized_state) +" & "+str(values[ut1_name]['Switch_R_Status']['Value']) + #print energized_state[ut1_name] + " = " + energized_state[ut2_name] + #print ut2_name + " : " + str(ut2_name in energized_state) +" & "+str(values[ut1_name]['Switch_L_Status']['Value']) + line_tag_name = "Line_{}_to_{}".format(ut1_name, ut2_name) + # Construct the full tag path directly to the boolean tag + full_tag_path = line_tags_base_path + line_tag_name + # Add the path and the calculated value to our list for writing + tag_paths_to_write.append(full_tag_path) + values_to_write.append(line_energized) + #print full_tag_path + " : " + str(line_energized) + + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R2/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R2/resource.json new file mode 100644 index 0000000..2a1033a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R2/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "dc6966341a2163b4682d0a38d71ef3ff16e8bc9cb78c77275dab48147240f9cd", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R3/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R3/code.py new file mode 100644 index 0000000..42ec73f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R3/code.py @@ -0,0 +1,133 @@ +def trace_power_flow(): + """ + Traces power flow through a series of connected transformers (UTs). + - Reads the state of all switches. + - Determines which components are energized and from which source. + - Writes the results back to memory tags. + """ + + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + # [Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1 + ut_names = ["UT-P3-1", "UT-P3-2", "UT-P3-3", "UT-P3-4", "UT-P3-5"] + providers = [ "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_"] + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/DS2A_W3', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/DS2B_W3'] + idx = 0 + for name in ut_names: + # Assuming your UDT instances are in a folder named 'UTs' + base_path = providers[idx] + name + tag_paths_to_read.append("{}/Source 1 Switch".format(base_path)) + tag_paths_to_read.append("{}/Source 2 Switch".format(base_path)) + idx+=1 + + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['DS-2A_Live'] = tag_values[0].value + values['DS-2B_Live'] = tag_values[1].value + + read_idx = 2 + for name in ut_names: + values[name] = { + 'Switch_L_Status': tag_values[read_idx].value, + 'Switch_R_Status': tag_values[read_idx + 1].value} + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['DS-2A_Live']: + q.append( ("UT-P3-1", "DS-1A2") ) + if values['DS-2B_Live']: + q.append( ("UT-P3-5", "DS-1B2") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ut_name, source = q.pop(0) + + if current_ut_name in visited: + continue + + visited.add(current_ut_name) + energized_state[current_ut_name] = source + current_ut_index = ut_names.index(current_ut_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ut_names) - 1: + neighbor_name = ut_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ut_name]['Switch_R_Status']['Value'] and values[neighbor_name]['Switch_L_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ut_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ut_name]['Switch_L_Status']['Value'] and values[neighbor_name]['Switch_R_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source)) + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + idx = 0 + for name in ut_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + tag_paths_to_write.append(providers[idx] + name + "/Data/isEnergized") + values_to_write.append(is_energized) + tag_paths_to_write.append(providers[idx] + name + "/Data/PowerSource") + values_to_write.append(power_source) + idx += 1 + + line_tags_base_path = "[Ignition_Common_IO_Gtwy]Cables/UT/" + #print energized_state + #print values + # Loop through each connection between UTs + for i in range(len(ut_names) - 1): + ut1_name = ut_names[i] + ut2_name = ut_names[i+1] + line_energized = (ut1_name in energized_state and + ut2_name in energized_state and + #energized_state[ut1_name] == energized_state[ut2_name] and + values[ut1_name]['Switch_R_Status']['Value'] and + values[ut2_name]['Switch_L_Status']['Value']) + #print ut1_name + " : " + str(ut1_name in energized_state) +" & "+str(values[ut1_name]['Switch_R_Status']['Value']) + #print energized_state[ut1_name] + " = " + energized_state[ut2_name] + #print ut2_name + " : " + str(ut2_name in energized_state) +" & "+str(values[ut2_name]['Switch_L_Status']['Value']) + line_tag_name = "Line_{}_to_{}".format(ut1_name, ut2_name) + # Construct the full tag path directly to the boolean tag + full_tag_path = line_tags_base_path + line_tag_name + # Add the path and the calculated value to our list for writing + tag_paths_to_write.append(full_tag_path) + values_to_write.append(line_energized) + #print full_tag_path + " : " + str(line_energized) + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R3/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R3/resource.json new file mode 100644 index 0000000..c2551f7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R3/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "d2264103d03ca219bd76f5f3740835941d09b6b9fab43277f008d537968f6950", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:15Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R4/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R4/code.py new file mode 100644 index 0000000..6ab64aa --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R4/code.py @@ -0,0 +1,132 @@ +def trace_power_flow(): + """ + Traces power flow through a series of connected transformers (UTs). + - Reads the state of all switches. + - Determines which components are energized and from which source. + - Writes the results back to memory tags. + """ + + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + # [Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1 + ut_names = ["UT-P2-1", "UT-P2-2", "UT-P2-3", "UT-P2-4", "UT-P2-5"] + providers = ["[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_"] + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/DS2A_W4', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/DS2B_W4'] + idx = 0 + for name in ut_names: + # Assuming your UDT instances are in a folder named 'UTs' + base_path = providers[idx] + name + tag_paths_to_read.append("{}/Source 1 Switch".format(base_path)) + tag_paths_to_read.append("{}/Source 2 Switch".format(base_path)) + idx+=1 + + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['DS-2A_Live'] = tag_values[0].value + values['DS-2B_Live'] = tag_values[1].value + + read_idx = 2 + for name in ut_names: + values[name] = { + 'Switch_L_Status': tag_values[read_idx].value, + 'Switch_R_Status': tag_values[read_idx + 1].value} + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['DS-2A_Live']: + q.append( ("UT-P2-1", "DS-1A2") ) + if values['DS-2B_Live']: + q.append( ("UT-P2-5", "DS-1B2") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ut_name, source = q.pop(0) + + if current_ut_name in visited: + continue + + visited.add(current_ut_name) + energized_state[current_ut_name] = source + current_ut_index = ut_names.index(current_ut_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ut_names) - 1: + neighbor_name = ut_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ut_name]['Switch_R_Status']['Value'] and values[neighbor_name]['Switch_L_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ut_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ut_name]['Switch_L_Status']['Value'] and values[neighbor_name]['Switch_R_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source)) + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + idx = 0 + for name in ut_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + tag_paths_to_write.append(providers[idx] + name + "/Data/isEnergized") + values_to_write.append(is_energized) + tag_paths_to_write.append(providers[idx] + name + "/Data/PowerSource") + values_to_write.append(power_source) + idx += 1 + + line_tags_base_path = "[Ignition_Common_IO_Gtwy]Cables/UT/" + #print energized_state + # Loop through each connection between UTs + for i in range(len(ut_names) - 1): + ut1_name = ut_names[i] + ut2_name = ut_names[i+1] + line_energized = (ut1_name in energized_state and + ut2_name in energized_state and + #energized_state[ut1_name] == energized_state[ut2_name] and + values[ut1_name]['Switch_R_Status']['Value'] and + values[ut2_name]['Switch_L_Status']['Value']) + #print ut1_name + " : " + str(ut1_name in energized_state) +" & "+str(values[ut1_name]['Switch_R_Status']['Value']) + #print energized_state[ut1_name] + " = " + energized_state[ut2_name] + #print ut2_name + " : " + str(ut2_name in energized_state) +" & "+str(values[ut1_name]['Switch_L_Status']['Value']) + line_tag_name = "Line_{}_to_{}".format(ut1_name, ut2_name) + # Construct the full tag path directly to the boolean tag + full_tag_path = line_tags_base_path + line_tag_name + # Add the path and the calculated value to our list for writing + tag_paths_to_write.append(full_tag_path) + values_to_write.append(line_energized) + #print full_tag_path + " : " + str(line_energized) + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R4/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R4/resource.json new file mode 100644 index 0000000..7e6a25a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R4/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "1c695fdc2f6f2a0a26d56429e3e2112a4e23820c44f16282ae38b36feae0a370", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R5/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R5/code.py new file mode 100644 index 0000000..2980feb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R5/code.py @@ -0,0 +1,134 @@ +def trace_power_flow(): + """ + Traces power flow through a series of connected transformers (UTs). + - Reads the state of all switches. + - Determines which components are energized and from which source. + - Writes the results back to memory tags. + """ + + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + # [Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1 + ut_names = ["UT-M1", "UT-M2", "UT-M3", "UT-M4", "UT-M5", "UT-M6"] + providers = ["[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_",] + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/DS1A_W3', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W3'] + idx = 0 + for name in ut_names: + # Assuming your UDT instances are in a folder named 'UTs' + base_path = providers[idx] + name + tag_paths_to_read.append("{}/Source 1 Switch".format(base_path)) + tag_paths_to_read.append("{}/Source 2 Switch".format(base_path)) + idx+=1 + + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['DS-1A_Live'] = tag_values[0].value + values['DS-1B_Live'] = tag_values[1].value + + read_idx = 2 + for name in ut_names: + values[name] = { + 'Switch_L_Status': tag_values[read_idx].value, + 'Switch_R_Status': tag_values[read_idx + 1].value} + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['DS-1A_Live']: + q.append( ("UT-M1", "DS-1A1") ) + if values['DS-1B_Live']: + q.append( ("UT-M6", "DS-1B1") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ut_name, source = q.pop(0) + + if current_ut_name in visited: + continue + + visited.add(current_ut_name) + energized_state[current_ut_name] = source + current_ut_index = ut_names.index(current_ut_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ut_names) - 1: + neighbor_name = ut_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ut_name]['Switch_R_Status']['Value'] and values[neighbor_name]['Switch_L_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ut_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ut_name]['Switch_L_Status']['Value'] and values[neighbor_name]['Switch_R_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source)) + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + idx = 0 + for name in ut_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + tag_paths_to_write.append(providers[idx] + name + "/Data/isEnergized") + values_to_write.append(is_energized) + tag_paths_to_write.append(providers[idx] + name + "/Data/PowerSource") + values_to_write.append(power_source) + idx += 1 + + line_tags_base_path = "[Ignition_Common_IO_Gtwy]Cables/UT/" + #print energized_state + # Loop through each connection between UTs + for i in range(len(ut_names) - 1): + ut1_name = ut_names[i] + ut2_name = ut_names[i+1] + line_energized = (ut1_name in energized_state and + ut2_name in energized_state and + #energized_state[ut1_name] == energized_state[ut2_name] and + values[ut1_name]['Switch_R_Status']['Value'] and + values[ut2_name]['Switch_L_Status']['Value']) + #print ut1_name + " : " + str(ut1_name in energized_state) +" & "+str(values[ut1_name]['Switch_R_Status']['Value']) + #print energized_state[ut1_name] + " = " + energized_state[ut2_name] + #print ut2_name + " : " + str(ut2_name in energized_state) +" & "+str(values[ut1_name]['Switch_L_Status']['Value']) + line_tag_name = "Line_{}_to_{}".format(ut1_name, ut2_name) + # Construct the full tag path directly to the boolean tag + full_tag_path = line_tags_base_path + line_tag_name + # Add the path and the calculated value to our list for writing + tag_paths_to_write.append(full_tag_path) + values_to_write.append(line_energized) + #print full_tag_path + " : " + str(line_energized) + + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R5/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R5/resource.json new file mode 100644 index 0000000..2f1bfd4 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R5/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "daffcc145abf608df8dadc3944a09827b336f75fa21ce05ef6d07080eb22b38c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R6/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R6/code.py new file mode 100644 index 0000000..89698bb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R6/code.py @@ -0,0 +1,137 @@ +def trace_power_flow(): + """ + Traces power flow through a series of connected transformers (UTs). + - Reads the state of all switches. + - Determines which components are energized and from which source. + - Writes the results back to memory tags. + """ + + # 1. Define the network structure in order from left to right + # This makes it easy to find neighbors. + # [Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_UT-HS1 + ut_names = ["UT-HS1", "UT-P1-1", "UT-P1-2", "UT-P1-3", "UT-P1-4", "UT-P1-5", "UT-M7", "UT-M8"] + providers = ["[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_", + "[Ignition_SATB1_IO1_default]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_"] + # 2. Build the list of all tags we need to read + # Using readBlocking for a single, efficient tag read + tag_paths_to_read = [ + '[Ignition_Common_IO_Gtwy]Cables/SES/DS1A_W4', # Assumes a tag for the source status + '[Ignition_Common_IO_Gtwy]Cables/SES/DS1B_W4'] + idx = 0 + for name in ut_names: + # Assuming your UDT instances are in a folder named 'UTs' + base_path = providers[idx] + name + tag_paths_to_read.append("{}/Source 1 Switch".format(base_path)) + tag_paths_to_read.append("{}/Source 2 Switch".format(base_path)) + idx+=1 + + # 3. Read all tags at once + try: + tag_values = system.tag.readBlocking(tag_paths_to_read) + except Exception as e: + # Log error if tags can't be read + system.util.getLogger("PowerTrace").error("Error reading tags: {}".format(e)) + return + + # Create a dictionary for easy access to tag values + # e.g., values['UT-HS1']['Switch_L_Status'] + values = {} + values['DS-1A_Live'] = tag_values[0].value + values['DS-1B_Live'] = tag_values[1].value + + read_idx = 2 + for name in ut_names: + values[name] = { + 'Switch_L_Status': tag_values[read_idx].value, + 'Switch_R_Status': tag_values[read_idx + 1].value} + read_idx += 2 + + # 4. The Tracing Algorithm + # This dictionary will store the final state: e.g., energized_state['UT P1.2'] = 'DS-1A1' + energized_state = {} + + # A queue for our BFS traversal, storing (ut_name, source) + # Using a list as a queue: append to add, pop(0) to remove from front + q = [] + + # Initialize the queue with active sources + if values['DS-1A_Live']: + q.append( ("UT-HS1", "DS-1A1") ) + if values['DS-1B_Live']: + q.append( ("UT-M8", "DS-1B1") ) + + # Process the queue until it's empty + visited = set() # Keep track of UTs we've already processed to prevent infinite loops + while q: + current_ut_name, source = q.pop(0) + + if current_ut_name in visited: + continue + + visited.add(current_ut_name) + energized_state[current_ut_name] = source + current_ut_index = ut_names.index(current_ut_name) + + # Check for propagation to the RIGHT (-->) + if current_ut_index < len(ut_names) - 1: + neighbor_name = ut_names[current_ut_index + 1] + # Condition: Current UT's right switch is closed AND Neighbor's left switch is closed + if values[current_ut_name]['Switch_R_Status']['Value'] and values[neighbor_name]['Switch_L_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source) ) + + # Check for propagation to the LEFT (<--) + if current_ut_index > 0: + neighbor_name = ut_names[current_ut_index - 1] + # Condition: Current UT's left switch is closed AND Neighbor's right switch is closed + if values[current_ut_name]['Switch_L_Status']['Value'] and values[neighbor_name]['Switch_R_Status']['Value']: + if neighbor_name not in visited: + q.append( (neighbor_name, source)) + + # 5. Prepare and write the results back to Ignition tags + tag_paths_to_write = [] + values_to_write = [] + + # Set UT states + idx = 0 + for name in ut_names: + is_energized = name in energized_state + power_source = energized_state.get(name, 'None') + tag_paths_to_write.append(providers[idx] + name + "/Data/isEnergized") + values_to_write.append(is_energized) + tag_paths_to_write.append(providers[idx] + name + "/Data/PowerSource") + values_to_write.append(power_source) + idx += 1 + + line_tags_base_path = "[Ignition_Common_IO_Gtwy]Cables/UT/" + #print energized_state + # Loop through each connection between UTs + i = 0 + for i in range(len(ut_names) - 1): + ut1_name = ut_names[i] + ut2_name = ut_names[i+1] + line_energized = (ut1_name in energized_state and + ut2_name in energized_state and + #energized_state[ut1_name] == energized_state[ut2_name] and + values[ut1_name]['Switch_R_Status']['Value'] and + values[ut2_name]['Switch_L_Status']['Value']) + #print ut1_name + " : " + str(ut1_name in energized_state) +" & "+str(values[ut1_name]['Switch_R_Status']['Value']) + #print energized_state[ut1_name] + " = " + energized_state[ut2_name] + #print ut2_name + " : " + str(ut2_name in energized_state) +" & "+str(values[ut1_name]['Switch_L_Status']['Value']) + line_tag_name = "Line_{}_to_{}".format(ut1_name, ut2_name) + # Construct the full tag path directly to the boolean tag + full_tag_path = line_tags_base_path + line_tag_name + # Add the path and the calculated value to our list for writing + tag_paths_to_write.append(full_tag_path) + values_to_write.append(line_energized) + #print full_tag_path + " : " + str(line_energized) + + # Write all values in a single, efficient call + if tag_paths_to_write: + system.tag.writeBlocking(tag_paths_to_write, values_to_write) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R6/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R6/resource.json new file mode 100644 index 0000000..54c6df7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/EPMS/UT_R6/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "ac86cff99153ba73c3a107377850f75a1ef82bd56c00a42386f8fb4c94cbca28", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/EnableDisable_UDT/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/EnableDisable_UDT/code.py new file mode 100644 index 0000000..9f61db6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/EnableDisable_UDT/code.py @@ -0,0 +1,56 @@ +def update_alarms_in_udts(root_path): + """This script will update all the alarms under a base path so that the + alarm is enabled based on the depth from the UDT and the other Meta tag bindings are updated accordingly.""" + + def get_relative_meta_path(depth): + if depth <= 1: + return "[.]Meta/" + return "[.]" + "../" * (depth - 1) + "Meta/" + + def update_alarm_config(base_path, path, meta_path): + """This function will take a tag path as an input and update the alarms with depth-based meta references.""" + configs = system.tag.getConfiguration(path, False) + + for config in configs: + if "alarms" in config: + for alarm in config["alarms"]: + print alarm + alarm["Building"] = {"bindType": "Tag", "value": meta_path + "Building"} + alarm["EqName"] = {"bindType": "Tag", "value": meta_path + "EqName"} + alarm["AreaServed"] = {"bindType": "Tag", "value": meta_path + "Area Served"} + alarm["Room"] = {"bindType": "Tag", "value": meta_path + "Room"} + if "enabled" not in alarm or alarm['enabled']==True: + alarm["enabled"] = {"bindType": "Tag", "value": meta_path + "Alarms Enabled"} + else: + # Check to see if the alarm if false. If false, skip edit. + if alarm["enabled"]: + enable_condition = str(alarm["enabled"]["value"]) + alarm["enabled"] = {"bindType": "Expression", "value": "{%sAlarms Enabled} && {%s}" % (meta_path, enable_condition)} + # take the tag path and use in the expression + # u'enabled': {u'bindType': u'Expression', u'value': u'{[.]../Meta/Alarms Enabled} && {[.]Communcation Loss}'} + system.tag.configure(base_path, config, "o") + print "Updated tag: %s" % config["path"] + else: + print "\nERROR: Tag has no alarms: %s\n" % config["path"] + + def recurse_tags(base_path, udt_depth): + """Recursively browse tags and update alarms with respect to UDT depth.""" + tags = system.tag.browse(base_path) + + for tag in tags: + tag_type = str(tag["tagType"]) + has_children = tag["hasChildren"] + full_path = tag["fullPath"] + + if tag_type == "UdtType": + # Entering a new UDT, so depth resets to 1 + recurse_tags(full_path, 1) + elif tag_type == "AtomicTag" and "alarm" in tag["attributes"]: + meta_path = get_relative_meta_path(udt_depth) + update_alarm_config(base_path, full_path, meta_path) + elif has_children: + # Descending deeper from current UDT level + recurse_tags(full_path, udt_depth + 1) + + recurse_tags(root_path, 0) + \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/EnableDisable_UDT/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/EnableDisable_UDT/resource.json new file mode 100644 index 0000000..a98eb69 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/EnableDisable_UDT/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "6de9a9776b2ada70fb30cf99ee571f029230b025a127b455c84eeef7f03b32a2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/Pipline_Params/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/Pipline_Params/code.py new file mode 100644 index 0000000..03360cb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/Pipline_Params/code.py @@ -0,0 +1,38 @@ +def update_alarms_in_udts(root_path): #, enable_tag_path, custom_props): + """This script will update all the alarms under a base path so that the + alarm is enabled based on the "Meta/Alarms Enabled" tag, and the Building, EqName, + Area Served, Location, and Alarms Enabled properties have been set to their Meta tag equivalent.""" + + def update_alarm_config(base_path, path): + """This function will take a tag path as an input and update the alarms.""" + + configs = system.tag.getConfiguration(path, False) + + for config in configs: + if "alarms" in config: + for alarm in config["alarms"]: + alarm["ackPipeline"] = {"bindType": "UDTParameter", "value": "{AckPipeline}"} + alarm["activePipeline"] = {"bindType": "UDTParameter", "value": "{ActivePipeline}"} + alarm["clearPipeline"] = {"bindType": "UDTParameter", "value": "{ClearPipeline}"} + system.tag.configure(base_path, config, "o") + print "The following tag was update: %s" % config["path"] + else: + print "\nERROR: The following tag did not have an alarm: %s\n" % config["path"] + + + def recurse_tags(base_path): + """Locate all the alarms underneath a base_path and call update_alarm_config when found.""" + + tags = system.tag.browse(base_path) + for tag in tags: + if str(tag["tagType"]) == "UdtType": + isUdt = True + else: + isUdt = False + + if str(tag["tagType"]) == "AtomicTag" and "alarm" in tag["attributes"]: + update_alarm_config(base_path, tag["fullPath"]) + elif tag["hasChildren"]: + recurse_tags(tag["fullPath"]) + + recurse_tags(root_path) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/Pipline_Params/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/Pipline_Params/resource.json new file mode 100644 index 0000000..274bd1f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/Pipline_Params/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "2544878c5b9f0a3162a38dfaffb1290391660c0a4011d0b51563572f0028118b", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/export/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/export/code.py new file mode 100644 index 0000000..f0b05b3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/export/code.py @@ -0,0 +1,24 @@ +def exportAlarms(): + state = ['ActiveUnacked'] + + alarms_list = system.alarm.queryStatus(state = state) + # Define column headers for your dataset + headers = ["Source", "Display Path", "Current State", "Priority"] + + # Create a list of lists to hold the alarm data + data = [] + for alarm in alarms_list: + row = [ + alarm.getSource(), + alarm.getDisplayPath(), + alarm.getState(), + alarm.getPriority(), + ] + data.append(row) + + alarms_dataset = system.dataset.toDataSet(headers, data) + + filepath = system.dataset.exportCSV("data.csv", 1, alarms_dataset) + + if fielPath != None: + system.net.openURL("file:///"+filePath.replace('\\','/')) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/export/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/export/resource.json new file mode 100644 index 0000000..98d6bab --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/export/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "ef7ad09a3b817d7a4149189d7fc7ce7b66695cce299bfd74f44af370611083b9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/summary/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/summary/code.py new file mode 100644 index 0000000..9e4e0af --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/summary/code.py @@ -0,0 +1,81 @@ +import pprint, time +Logger = system.util.getLogger("alarm.summary") +provider = "[default]" + +def initAlarmSummaries(): + """ This function will reset all the alarm summary udt's in the system + + """ + allActiveAlarmsTag = [] + newValues = [] + for t in system.tag.browse(provider, {"tagType":"UdtInstance", "typeId": "AlarmSummary", "recursive":True}): + allActiveAlarmsTag.append(t["fullPath"].toString() +"/ActiveAlarms") + newValues.append({}) + + system.tag.writeAsync(allActiveAlarmsTag, newValues) + +def updateAlarmCount(srcPath, priority, state): + pass + + +def calcMaxPriority(levelPath): + """ Pass in the path level to determine the max priority and return the value + levelPath: string of the object level path without the /AlarmSummary/ActiveAlarms + """ + aggAlarmStatus = system.tag.readBlocking([levelPath+"/AlarmSummary/ActiveAlarms"])[0].value.toDict() + + return determinePriority(aggAlarmStatus) + +def determinePriority(tagValue): + """ Use this method to figure out the highest priority level of a tag. Useful with transforms from front-end + Args: + tagValue: dict/document of the expected structure of {srcPath:priority} + Returns: + maxState: int -1 for none, 0-Diag, 1-Low, 2- Med, 3- High, 4-Critical + """ + maxState = -1 + for k, v in tagValue.iteritems(): + maxState = v if v > maxState else maxState + + return maxState + + + +def syncAlarms(): + """ + Timer based function to update all of the aggregate alarm tags. + + """ + sublog = Logger.createSubLogger("syncAlarms") + start = time.time() + levelAlarmSummary = {} #{"alarmPath":[{srcAlarm:priority}] + for alm in system.alarm.queryStatus(priority=[0,1,2,3,4],state=['ActiveUnacked','ActiveAcked']): + srcPath = alm.getSource().toString() + mainTagPath = srcPath.split("/tag:")[1].split(":/alm")[0] + priorityVal = alm.getPriority().intValue + + pathLevelsList = mainTagPath.split("/") + + # Because alarms can exist outside of the /Alarms folder in the UDT, we will account for this + almOffset = -1 + if "Alarms" not in pathLevelsList: + almOffset= 0 + + for i in range(1, len(pathLevelsList) + almOffset): + path = provider+"/".join(pathLevelsList[:i])+"/AlarmSummary/ActiveAlarms" + if path not in levelAlarmSummary.keys(): + levelAlarmSummary[path]= {} + + levelAlarmSummary[path][srcPath] = max([levelAlarmSummary[path].get(srcPath,0), priorityVal ]) + +# pprint.pprint(levelAlarmSummary) + writeTags, writeVals = [], [] + for k, v in levelAlarmSummary.iteritems(): + writeTags.append(str(k)) + writeVals.append(v) + sublog.debug("%s - %s"%(writeTags, writeVals)) + if len(writeTags) == len(writeVals) and len(writeTags) > 0: + system.tag.writeAsync(writeTags, writeVals) + + + sublog.trace("finished in %s sec"%(time.time() - start)) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/summary/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/summary/resource.json new file mode 100644 index 0000000..648b9ec --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/summary/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 7, + "lastModificationSignature": "36649fc8abff8060b71390e2f49afe477ea8e0096329614f217eda8372941ad9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:15Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/timers/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/timers/code.py new file mode 100644 index 0000000..1389b28 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/timers/code.py @@ -0,0 +1,22 @@ +from com.inductiveautomation.ignition.common.alarming.config.CommonAlarmProperties import EventTime +priorityBGColors = {"Diagnostic":"#FFFFFF", "Low":"#7266B7", "Medium":"#F4B834", "High":"#DE7C33", "Critical":"#E22028"} +priorityTextColors = {"Diagnostic":"#222222", "Low":"#FAFAFB", "Medium":"#FAFAFB", "High":"#FAFAFB", "Critical":"#FAFAFB"} + +def getTop3Alarms(): +# import time +# start= time.time() + res= [] + + activeAlarms = system.alarm.queryStatus([], ["ActiveUnacked"], ["*"], [], []) + sortedAlarms = system.dataset.toPyDataSet(system.dataset.sort(activeAlarms.getDataset(),3,False)) + + formatAlarms = [{'eventid':str(alm.EventId), "label":alm.get('label'), "dispPath":alm.getDisplayPathOrSource(), "eventtime":alm.getActiveData().get(EventTime), "priority":str(alm.getPriority())} for alm in activeAlarms] + top3EventIDs = [alm["EventId"] for alm in sortedAlarms[:3]] + for eid in top3EventIDs: + for alm in formatAlarms: + if alm["eventid"] == eid: + res.append({"value":{"dispPath":alm["dispPath"],"label":alm["label"]}, "style":{"backgroundColor":priorityBGColors[alm["priority"]], + "color":priorityTextColors[alm["priority"]]}}) + break +# system.perspective.print("alarm update duration %s"%(time.time()- start)) + return res \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/timers/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/timers/resource.json new file mode 100644 index 0000000..0ecb099 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/alarm/timers/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "e341a1798bc82f48656303e0c6d816f4f5adf74cac28b4132878419205df89de", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/config/utils/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/config/utils/code.py new file mode 100644 index 0000000..447e08f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/config/utils/code.py @@ -0,0 +1,80 @@ +# Find ALL the devices with a String, set 1 to Enable, 0 to Disable them +def UpdateAllDevices(target): + deviceDataset = system.device.listDevices() + for i in range(0, deviceDataset.getRowCount()): + deviceName = deviceDataset.getValueAt(i, "Name") + if target == 0: + system.device.setDeviceEnabled(deviceName, target) + print "Device: Disabled %s"%(deviceName) + if target == 1: + system.device.setDeviceEnabled(deviceName, target) + print "Device: Enabled %s"%(deviceName) + +#Update the devices with a specific string in the name. 1 to enable - 0 to disable +def UpdateDeviceType(taget, deviceType): + deviceDataset = system.device.listDevices() + for i in range(0, deviceDataset.getRowCount()): + deviceName = deviceDataset.getValueAt(i, "Name") + if deviceName.find(deviceType)>-1: + if target == 0: + system.device.setDeviceEnabled(deviceName, target) + print "Device: Disabled %s"%(deviceName) + if target == 1: + system.device.setDeviceEnabled(deviceName, target) + print "Device: Enabled %s"%(deviceName) + +def UpdatePanelParams(path, namespace, opc, tagname): + subpaths = [{'name':'/AC Primary Power Fault', 'ext':'.JA_01'}, + {'name':'/AC Secondary Power Fault', 'ext':'.JA_02'}, + {'name':'/DC Power Supply 1 Fault', 'ext':'.JA_03'}, + {'name':'/DC Power Supply 2 Fault', 'ext':'.JA_04'}, + {'name':'/High Temperature', 'ext':'.TAH'}, + {'name':'/Panel Intrusion', 'ext':'.XA'}] + print "===== Updating Panel Parameters =====" + for subtag in subpaths: + tagpath = str(path) + str(subtag['name']) + tag = system.tag.getConfiguration(tagpath) + name = str(tagname) + str(subtag['ext']) + tag[0]['parameters']['Namespace'] = namespace + tag[0]['parameters']['OPC'] = opc + tag[0]['parameters']['Tag'] = name + system.tag.configure(path, tag, "o") + print "updating: " + str(subtag) + print "===== Panel Parameters Updated =====" + +def UpdateUTParams(path, namespace, opc, tagname): + subpaths = [{'name':'/Liquid Level Alarm', 'ext':'.LA'}, + {'name':'/Liquid Temperature Alarm High', 'ext':'.TAH'}, + {'name':'/Liquid Temperature Alarm High High', 'ext':'.TAHH'}, + {'name':'/Pressure Relief Device Alarm', 'ext':'.PRD_ALM'}, + {'name':'/Pressure Switch', 'ext':'.PSW'}, + {'name':'/Rapid Rise Relay Tripped', 'ext':'.RRR_TRIP'}, + {'name':'/Rapid Rise Relay Warning', 'ext':'.RRR_ALM'}, + {'name':'/Source 1 Switch', 'ext':'.ZSO01'}, + {'name':'/Source 2 Switch', 'ext':'.ZSO02'}, + {'name':'/Vacuum Fault Interrupter1 Tripped', 'ext':'.VFI01'}, + {'name':'/Vacuum Fault Interrupter2 Tripped', 'ext':'.VFI02'}, + {'name':'/Vacuum Switch', 'ext':'.VSW'}] + + for subtag in subpaths: + tagpath = str(path) + str(subtag['name']) + tag = system.tag.getConfiguration(tagpath) + name = str(tagname) + str(subtag['ext']) + tag[0]['parameters']['Namespace'] = namespace + tag[0]['parameters']['OPC'] = opc + tag[0]['parameters']['Tag'] = name + system.tag.configure(path, tag, "o") + +#def setHistory(UDTNAme): + #parentPath = "[default]_types_/Objects/TEST" + #configs = system.tag.getConfiguration(parentPath, True) + +#for folder in configs[0]['tags']: +# UDTName = [folder['name']][0] +# print UDTName +# UDTs = system.tag.getConfiguration(parentPath +'/'+ UDTName, True) +# for tag in UDTs[0]['tags']: +# if str(tag['tagType']) == 'AtomicTag': +# tag['historyEnabled'] = True +# print tag + \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/config/utils/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/config/utils/resource.json new file mode 100644 index 0000000..725ac58 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/config/utils/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "a4438c3c50df8495f839d01fc8b494cd7b042d5c1757d91511c0b5f54bd73a5e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/equipment/control/common/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/equipment/control/common/code.py new file mode 100644 index 0000000..790b93d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/equipment/control/common/code.py @@ -0,0 +1,21 @@ +def toggleCommandPaths (resetTagPath, enableTagPath): + """ + This function receives two paths, resetTagPath set to False, then the enabletagPath is set to True + Params: + resetTagPath: string + enableTagPath: string + Returns: + none + """ + + def writeSeparate(): + def writeEnable(asyncReturn): + system.tag.writeBlocking([enableTagPath],[1]) + system.tag.writeAsync([resetTagPath],[0], writeEnable) + + + def writeAll(): + system.tag.writeBlocking([resetTagPath, enableTagPath], [0,1]) + + writeAll() +# writeSeparate() \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/equipment/control/common/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/equipment/control/common/resource.json new file mode 100644 index 0000000..fdd64d2 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/equipment/control/common/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "3884853f03c1677b8c792ca6ec847b3304067a5c1b1622618f314a38755d5f6e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/equipment/setpoint/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/equipment/setpoint/code.py new file mode 100644 index 0000000..2e268ef --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/equipment/setpoint/code.py @@ -0,0 +1,100 @@ +def set_DOAS(): + tagpaths = ["[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01/Config/High Supply Air Temperature Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01/Control/Schedule Force Occupied", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01/Control/Supply Air Dewpoint Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS01/Control/Supply Air Temperature Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02/Config/High Supply Air Temperature Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02/Control/Schedule Force Occupied", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02/Control/Supply Air Dewpoint Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS02/Control/Supply Air Temperature Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03/Config/High Supply Air Temperature Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03/Control/Schedule Force Occupied", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03/Control/Supply Air Dewpoint Setpoint", + "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_DOAS03/Control/Supply Air Temperature Setpoint" + ] + data = system.tag.readBlocking(tagpaths) + #print data + idx = 0 + w_paths = [] + w_values = [] + for i in range(0,3): + if data[idx].value == 0: + w_paths.append(tagpaths[idx]) + w_values.append(68) + if data[idx+1].value == 0: + w_paths.append(tagpaths[idx+1]) + w_values.append(1) + if data[idx+2].value == 0: + w_paths.append(tagpaths[idx+2]) + w_values.append(55) + if data[idx+3].value == 0: + w_paths.append(tagpaths[idx+3]) + w_values.append(65) + idx += 4 + if w_paths: + print "Writing values" + try: + system.tag.writeBlocking(w_paths, w_values) + except: + print "Error" + else: + print "Zeros not found" + +def set_FCU(): + fcus = ["[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"] + + tagpaths = [] + for fcu in fcus: + tagpaths.append(fcu + "/Config/Space Temperature Cooling Setpoint") + tagpaths.append(fcu + "/Config/Space Temperature Cooling Setpoint DB") + + data = system.tag.readBlocking(tagpaths) + #for d in data: + # print d + idx = 0 + w_paths = [] + w_values = [] + for i in range(0,29): + if data[idx].value == 0: + w_paths.append(tagpaths[idx]) + w_values.append(74) + if data[idx+1].value == 0: + w_paths.append(tagpaths[idx+1]) + w_values.append(1) + idx += 2 + if w_paths: + print "writing values" + try: + system.tag.writeBlocking(w_paths, w_values) + except: + print "Error" + else: + print "Zeros not found" \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/equipment/setpoint/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/equipment/setpoint/resource.json new file mode 100644 index 0000000..b57c6b6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/equipment/setpoint/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "0d7cc7d2974a944e1da1eab2282d019d2930240755b62dc0bbcb4586418b1bbf", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/helper/journal/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/helper/journal/code.py new file mode 100644 index 0000000..0cfa6b8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/helper/journal/code.py @@ -0,0 +1,30 @@ +def groupJournalByPathAndState(events): + """ + Creates a summary list of dicts with displayPath, eventState, and occurrence count. + + Returns list sorted by displayPath (alphabetical), then by eventState. + """ + if not events: + return [] + + groups = {} # outer: source → {eventState: count} + + for event in events: + + es = event.get('eventState') + source = event.get('source') + + # Get or create inner dict + inner = groups.setdefault(source, {}) + # Increment count (inner.setdefault would also work, but +1 is clearer) + inner[es] = inner.get(es, 0) + 1 + + # Build flat list of result dictionaries + result = [] + + for source in sorted(groups.keys()): # sort displayPath alphabetically + for es in sorted(groups[source].keys()): # sort eventState within each path + + result.append([source, es, groups[source][es]]) + + return system.dataset.toDataSet(["source", "eventState", "count"], result) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/helper/journal/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/helper/journal/resource.json new file mode 100644 index 0000000..cd882ac --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/helper/journal/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "c1ae1a36c86e01ef45a97b06345fcb5066bee4242a034579df6bc3d535115394", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/helper/util/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/helper/util/code.py new file mode 100644 index 0000000..9a9741e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/helper/util/code.py @@ -0,0 +1,122 @@ +def getColumnOrder(columns_config): + visible_columns = [k for k, v in sorted(columns_config.items(), key=lambda x: x[1]["order"]) + if v["enabled"]] + return visible_columns + +def fromObjToDS(data, column_order=None): + """ + Converts a list of dictionaries into an Ignition PyDataSet. + + Parameters: + data: list[dict] - list of dictionaries where keys are column names + column_order: list[str] (optional) - explicit column order. + If None, uses the keys from the fi row. + + Returns: + PyDataSet - Ignition dataset object + """ + if len(data)== 0: + # Return empty dataset with no columns if input is invalid/empty + + return system.dataset.toDataSet([], []) + + # Determine column names + if column_order is not None: + headers = column_order + else: + # Use keys from first dictionary (Python 3.7+ preserves insertion order) + headers = list(data[0].keys()) + + # Build rows + rows = [] + for row_dict in data: + # Create row tuple using the determined column order + row = [] + for col in headers: + # Use .get() so missing keys become None (standard dataset behavior) + value = row_dict.get(col, None) + row.append(value) + rows.append(row) + + # Create the actual dataset + return system.dataset.toDataSet(headers, rows) + +def true_keys(data): + """ + Returns a list of dictionary keys whose values are strictly True. + + Parameters: + data (dict): A dictionary with boolean values. + + Returns: + list[str]: A list of keys where the value is True, or an empty list + if none match. + + Example: + priorities = { + "diagnostic": True, + "low": False, + "medium": False, + "high": False, + "critical": False + } + + result = true_keys(priorities) + # result => ['diagnostic'] + """ + + return [key for key, value in data.items() if value is True] + +def parse_event_filter_to_query_states(events): + """ + Build a list of event state labels from the given filter. + + Input: + events: A container supporting membership tests (e.g., set/list/dict keys), + where possible keys are: + - 'active' -> include active states + - 'cleared' -> include cleared states + - 'acked' -> refine to only acked states (removes *Unacked) + + Behavior: + - If 'active' in events: add ['activeUnacked'] + - If 'cleared' in events: add ['clearedUnacked'] + - If 'acked' in events: remove any label containing 'Un' (i.e., keep only *Acked) + + Returns: + list[str]: A list of labels, e.g., + ['activeUnacked', 'activeAcked', 'clearedUnacked', 'clearedAcked'] + reduced by the 'acked' refiner if present. + + Examples: + parse_event_filter_to_query_states({'active'}) + -> ['ActiveUnacked', 'ActiveAcked'] + + parse_event_filter_to_query_states({'cleared', 'acked'}) + -> ['ClearAcked'] + + parse_event_filter_to_query_states({'active', 'cleared', 'acked'}) + -> ['ActiveAcked', 'ClearAcked'] + + parse_event_filter_to_query_states({'active', 'cleared', 'acked'}) + -> ['ClearAcked', 'ActiveAcked'] + """ + + ret = [] + + if 'active' in events: + ret += ['ActiveUnacked'] + + if 'cleared' in events: + ret += ['ClearUnacked'] + + if 'acked' in events: + if len(ret) == 0: + ret += ['ActiveAcked', 'ClearAcked'] + else: + if 'active' in events: + ret += ['ActiveAcked'] + if 'cleared' in events: + ret += ['ClearAcked'] + + return ret diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/helper/util/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/helper/util/resource.json new file mode 100644 index 0000000..d42736b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/helper/util/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "a12fe09e0f6676442fe57c13fff6eaca1002a86a33595aea7a91ba69dedf3699", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/billing/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/billing/code.py new file mode 100644 index 0000000..30f8fb7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/billing/code.py @@ -0,0 +1,75 @@ +from datetime import datetime +def getBaseTagPaths(locations=[]): + """ + Get a list of tagpaths from SES1A/SES1B or the selected datahalls. + """ + baseTagPaths = [] + if len(locations) > 0: + for location in locations: + baseTagPaths+= reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getPQMBase(), location) + else: + baseTagPaths = reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getUtilitySES(), "Yard") + return baseTagPaths + + +def getEnergyPaths(locations): + return ["%s/Real Energy"%(path) for path in getBaseTagPaths(locations)] + +def getRawData(startDate, endDate, locations): + """ + Get per minute data for all of the energy paths. + """ + energyTagPathsSES = getEnergyPaths([]) + energyTagPathsAreas = getEnergyPaths(locations) + sesHist = reports.MBR.common.util.getHistory(energyTagPathsSES, startDate, endDate, customArgs={}) + areaHist = reports.MBR.common.util.getHistory(energyTagPathsAreas, startDate, endDate, customArgs={}) + + return sesHist, areaHist + +def calculateDelta(dataset, sumColName): + """ + Pass in the dataset and use the sumColName to indicate which column the delta will be performed + Args: + dataset: PyDataset of rawhist and sum column + sumColname: name of the column the sum resides in + Returns: + List of calculated deltas + """ + deltaList = [] + for i,row in enumerate(dataset): + if i == 0: + deltaList.append(0) + else: + deltaList.append(row[sumColName]-dataset[i-1][sumColName]) + return deltaList + +def processRawData(startDate, endDate, locations, intervalMins=15): + """ + Retrieve the raw history minute data, then create the new columns + """ + # PyDS + sesDS, areaDS = getRawData(startDate, endDate, locations) + sesDS = reports.MBR.common.util.generateSumCol(reports.MBR.common.util.averageIntervalData(sesDS, intervalMins), sumColName="SESTotalEnergy") + areaDS = reports.MBR.common.util.generateSumCol(reports.MBR.common.util.averageIntervalData(areaDS, intervalMins), sumColName="ExclAreaTotalEnergy") + + sesDeltaList = calculateDelta(sesDS, "SESTotalEnergy") + areaDeltaList = calculateDelta(areaDS, "ExclAreaTotalEnergy") + finalDS = sesDS + + if len(sesDeltaList) == len(areaDeltaList): + deltaDiffList = [a-b for a,b in zip(sesDeltaList, areaDeltaList)] + + # merge the 2 SES and Area Datasets +# try: + finalDS = reports.MBR.common.util.mergeHistorianData(sesDS, areaDS) + finalDS = system.dataset.addColumn(finalDS, sesDeltaList, "SES Consumed", float) + finalDS = system.dataset.addColumn(finalDS, areaDeltaList, "Excluded Area Consumed", float) + finalDS = system.dataset.addColumn(finalDS, deltaDiffList, "Tenant Consumed", float) + +# except: +# pass + else: + finalDS = system.dataset.addColumn(finalDS, col= sesDeltaList, colName="SES Consumed", colType=float) + + return finalDS + \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/billing/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/billing/resource.json new file mode 100644 index 0000000..b6cc2f7 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/billing/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "e4c85a51878f4d13dc0f3c44dbbc071acc44b8f267c073c79c2d151f10ee0bed", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/coolingTags/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/coolingTags/code.py new file mode 100644 index 0000000..725427d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/coolingTags/code.py @@ -0,0 +1,35 @@ +locBasePath= {"DH1":"[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_", + "DH2":"[Ignition_Common_IO_Gtwy]DH2/SATB1_DH2_PNL22_", + "DH3":"[Ignition_Common_IO_Gtwy]DH3/SATB1_DH3_PNL18_", + "DH4":"[Ignition_Common_IO_Gtwy]DH4/SATB1_DH4_PNL20_", + "DH5":"[Ignition_Common_IO_Gtwy]DH5/SATB1_DH5_PNL16_", + } + +def loopConstructPaths(basePath, pfx): + tagList = [] + for aisle in range(1,22): + for pos in range(1,4): +# print aisle, pos + fullPath = basePath+"C%s_%s%s/Val"%(aisle, pfx, str(pos).zfill(2)) + tagList.append(fullPath) + return tagList + +""" + Generate the tagpaths needed for a particular cold aisle tags for a location + Args: + location: str (DH1-DH5) + sensorType: str (temp or humidity) + Returns: + list of strings of paths +""" +def generateTags(location, sensorType): + finalTags = [] + sensorPfx = "TT" if sensorType == "temp" else "HT" + if location is None: + for k,v in locBasePath.iteritems(): + finalTags.extend(loopConstructPaths(v,sensorPfx)) + else: + finalTags.extend(loopConstructPaths(locBasePath[location],sensorPfx)) + + + return finalTags \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/coolingTags/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/coolingTags/resource.json new file mode 100644 index 0000000..fd4de7e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/coolingTags/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "adcde55290e5b73f9f0c8b195ace8b825f44035273fbe2387d5dc4aeee1325fe", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/schedule/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/schedule/code.py new file mode 100644 index 0000000..79d86a1 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/schedule/code.py @@ -0,0 +1,18 @@ +def GenerateCompleteReport(startDate, endDate, location): + +# reports = ["MBR/0-Cover", "MBR/1-Total Power", "MBR/2-CriticalPower", "MBR/3-Cooling", "MBR/4-Generators"] +# reportBytes = [] +# for report in reports: +# repParams= {"StartDate":startDate, "EndDate":endDate, "location":location} +# print report +# try: +# bytes = system.report.executeReport(path=report, parameters=repParams, fileType="pdf") +# except: +# bytes= system.report.executeReport(path=report,project=system.util.getProjectName(), parameters=repParams, fileType="pdf") +# +# reportBytes.append(bytes) +# +# return system.artek.mergeMultiPDF(reportBytes) + + return null + \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/schedule/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/schedule/resource.json new file mode 100644 index 0000000..6c24361 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/schedule/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "2bbf2545a9a0e8eaf51578864f4ab7448923274c3f5ea02383609b09c723dd8c", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/static/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/static/code.py new file mode 100644 index 0000000..1d28038 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/static/code.py @@ -0,0 +1,184 @@ +emptyDict={ + "Common":["a"], + "DH1":["a"], + "DH2":[], + "DH3":[], + "DH4":[], + "DH5":[], + "Something":[] + } + +humidityHighLimit = 80.0 +humidityLowLimit = 5.0 +tempHighLimit= 95.0 +tempLowLimit= 50.0 + +def getChillerTonnage(): + return { + "Common":[], + "DH1":["[Ignition_Common_IO_Gtwy]DH1/OPC Tags/SATB1_DH1 Tonnage Demand"], + "DH2":["[Ignition_Common_IO_Gtwy]DH2/OPC Tags/SATB1_DH2 Tonnage Demand"], + "DH3":["[Ignition_Common_IO_Gtwy]DH3/OPC Tags/SATB1_DH3 Tonnage Demand"], + "DH4":["[Ignition_Common_IO_Gtwy]DH4/OPC Tags/SATB1_DH4 Tonnage Demand"], + "DH5":["[Ignition_Common_IO_Gtwy]DH5/OPC Tags/SATB1_DH5 Tonnage Demand"], + } + +def getPQMBase(): + return { + "Common":["[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM", + "[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_PQM", + "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_PQM", + "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_PQM", + "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_PQM", + "[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_PQM", + "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_PQM", + "[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_PQM"], + "DH1":["[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_PQM1", + "[Ignition_SATB1_IO1_default]ER1243/SWBD/SATB1_ER1244_PQM1", + "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1245_PQM1", + "[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1246_PQM1"], + "DH2":["[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_PQM1", + "[Ignition_SATB1_IO2_default]ER1249/SWBD/SATB1_ER1249_PQM1", + "[Ignition_SATB1_IO2_default]ER1250/SWBD/SATB1_ER1250_PQM1", + "[Ignition_SATB1_IO2_default]ER1251/SWBD/SATB1_ER1251_PQM1", + "[Ignition_SATB1_IO2_default]ER1252/SWBD/SATB1_ER1252_PQM1" + ], + "DH3":["[Ignition_SATB1_IO3_default]ER1155/SWBD/SATB1_ER1155_PQM1", + "[Ignition_SATB1_IO3_default]ER1156/SWBD/SATB1_ER1156_PQM1", + "[Ignition_SATB1_IO3_default]ER1157/SWBD/SATB1_ER1157_PQM1", + "[Ignition_SATB1_IO3_default]ER1158/SWBD/SATB1_ER1158_PQM1", + "[Ignition_SATB1_IO3_default]ER1159/SWBD/SATB1_ER1159_PQM1" + ], + "DH4":["[Ignition_SATB1_IO4_default]ER1254/SWBD/SATB1_ER1254_PQM1", + "[Ignition_SATB1_IO4_default]ER1255/SWBD/SATB1_ER1255_PQM1", + "[Ignition_SATB1_IO4_default]ER1256/SWBD/SATB1_ER1256_PQM1", + "[Ignition_SATB1_IO4_default]ER1257/SWBD/SATB1_ER1257_PQM1", + "[Ignition_SATB1_IO4_default]ER1258/SWBD/SATB1_ER1258_PQM1" + ], + "DH5":["[Ignition_SATB1_IO5_default]ER1161/SWBD/SATB1_ER1161_PQM1", + "[Ignition_SATB1_IO5_default]ER1162/SWBD/SATB1_ER1162_PQM1", + "[Ignition_SATB1_IO5_default]ER1163/SWBD/SATB1_ER1163_PQM1", + "[Ignition_SATB1_IO5_default]ER1164/SWBD/SATB1_ER1164_PQM1", + "[Ignition_SATB1_IO5_default]ER1165/SWBD/SATB1_ER1165_PQM1" + ], + } + +def getPDUBase(): + return { + "Common":[], + "DH1":["[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-1", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-2", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-3", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-1-4", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-1", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-2", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-3", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-2-4", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-1", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-2", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-3", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-3-4", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-1", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-2", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-3", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-4-4", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-1", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-2", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-3", + "[Ignition_SATB1_IO1_default]GAL1261/SATB1_GAL1261_PDU_P1-5-4"], + "DH2":[], + "DH3":[], + "DH4":[], + "DH5":["[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-4-1", + "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-4-2", + "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-4-3", + "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-4-4", + "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-5-1", + "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-5-2", + "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-5-3", + "[Ignition_SATB1_IO5_default]GAL1181/SATB1_GAL1181_PDU-P5-5-4"] + } + +def getGeneratorBase(): + return { + "Common":[ + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M1","[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M1_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M2","[Ignition_Common_IO_Gtwy]MPR1240/SATB1_MPR1240_M2_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M3","[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M3_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M4","[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M5","[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M5_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M6","[Ignition_Common_IO_Gtwy]MPR1150/SATB1_MPR1150_M6_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M7","[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M7_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-M8","[Ignition_Common_IO_Gtwy]MPR1247/SATB1_MPR1247_M8_PQM"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-1","[Ignition_SATB1_IO1_default]ER1242/SWBD/SATB1_ER1242_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-2","[Ignition_SATB1_IO1_default]ER1243/SWBD/SATB1_ER1243_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-3","[Ignition_SATB1_IO1_default]ER1244/SWBD/SATB1_ER1244_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-4","[Ignition_SATB1_IO1_default]ER1245/SWBD/SATB1_ER1245_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P1-5","[Ignition_SATB1_IO1_default]ER1246/SWBD/SATB1_ER1246_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-1","[Ignition_SATB1_IO3_default]ER1155/SWBD/SATB1_ER1155_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-2","[Ignition_SATB1_IO3_default]ER1156/SWBD/SATB1_ER1156_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-3","[Ignition_SATB1_IO3_default]ER1157/SWBD/SATB1_ER1157_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-4","[Ignition_SATB1_IO3_default]ER1158/SWBD/SATB1_ER1158_PQM1"), + ("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_GEN-P3-5","[Ignition_SATB1_IO3_default]ER1159/SWBD/SATB1_ER1159_PQM1")], + "DH1":[], + "DH2":[("[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_GEN-P2-1","[Ignition_SATB1_IO2_default]ER1248/SWBD/SATB1_ER1248_PQM1"), + ("[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_GEN-P2-2","[Ignition_SATB1_IO2_default]ER1249/SWBD/SATB1_ER1249_PQM1"), + ("[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_GEN-P2-3","[Ignition_SATB1_IO2_default]ER1250/SWBD/SATB1_ER1250_PQM1"), + ("[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_GEN-P2-4","[Ignition_SATB1_IO2_default]ER1251/SWBD/SATB1_ER1251_PQM1"), + ("[Ignition_SATB1_IO2_default]Yard/SATB1_YARD_GEN-P2-5","[Ignition_SATB1_IO2_default]ER1252/SWBD/SATB1_ER1252_PQM1")], + "DH3":[], + "DH4":[("[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_GEN-P4-1","[Ignition_SATB1_IO4_default]ER1254/SWBD/SATB1_ER1254_PQM1"), + ("[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_GEN-P4-2","[Ignition_SATB1_IO4_default]ER1255/SWBD/SATB1_ER1255_PQM1"), + ("[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_GEN-P4-3","[Ignition_SATB1_IO4_default]ER1256/SWBD/SATB1_ER1256_PQM1"), + ("[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_GEN-P4-4","[Ignition_SATB1_IO4_default]ER1257/SWBD/SATB1_ER1257_PQM1"), + ("[Ignition_SATB1_IO4_default]Yard/SATB1_YARD_GEN-P4-5","[Ignition_SATB1_IO4_default]ER1258/SWBD/SATB1_ER1258_PQM1")], + "DH5":[("[Ignition_SATB1_IO5_default]Yard/SATB1_YARD_GEN-P5-1","[Ignition_SATB1_IO5_default]ER1161/SWBD/SATB1_ER1161_PQM1"), + ("[Ignition_SATB1_IO5_default]Yard/SATB1_YARD_GEN-P5-2","[Ignition_SATB1_IO5_default]ER1162/SWBD/SATB1_ER1162_PQM1"), + ("[Ignition_SATB1_IO5_default]Yard/SATB1_YARD_GEN-P5-3","[Ignition_SATB1_IO5_default]ER1163/SWBD/SATB1_ER1163_PQM1"), + ("[Ignition_SATB1_IO5_default]Yard/SATB1_YARD_GEN-P5-4","[Ignition_SATB1_IO5_default]ER1164/SWBD/SATB1_ER1164_PQM1"), + ("[Ignition_SATB1_IO5_default]Yard/SATB1_YARD_GEN-P5-5","[Ignition_SATB1_IO5_default]ER1165/SWBD/SATB1_ER1165_PQM1")], + } + +def getUPSBase(): + """ + Formatted in a way to group UPS to lines and lines to data hall + """ + return { + "Common":[], + "DH1":[("[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1", "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-2"), + ("[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_UPS-1", "[Ignition_SATB1_IO1_default]ER1243/SATB1_ER1243_UPS-2"), + ("[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-1","[Ignition_SATB1_IO1_default]ER1244/SATB1_ER1244_UPS-2"), + ("[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_UPS-1","[Ignition_SATB1_IO1_default]ER1245/SATB1_ER1245_UPS-2"), + ("[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_UPS-1","[Ignition_SATB1_IO1_default]ER1246/SATB1_ER1246_UPS-2")], + "DH2":[("[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-1","[Ignition_SATB1_IO2_default]ER1248/SATB1_ER1248_UPS-2"), + ("[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_UPS-1","[Ignition_SATB1_IO2_default]ER1249/SATB1_ER1249_UPS-2"), + ("[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_UPS-1","[Ignition_SATB1_IO2_default]ER1250/SATB1_ER1250_UPS-2"), + ("[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_UPS-1","[Ignition_SATB1_IO2_default]ER1251/SATB1_ER1251_UPS-2"), + ("[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_UPS-1","[Ignition_SATB1_IO2_default]ER1252/SATB1_ER1252_UPS-1")], + "DH3":[("[Ignition_SATB1_IO3_default]ER1155/SATB1_ER1155_UPS-1","[Ignition_SATB1_IO3_default]ER1155/SATB1_ER1155_UPS-2"), + ("[Ignition_SATB1_IO3_default]ER1156/SATB1_ER1156_UPS-1","[Ignition_SATB1_IO3_default]ER1156/SATB1_ER1156_UPS-2"), + ("[Ignition_SATB1_IO3_default]ER1157/SATB1_ER1157_UPS-1","[Ignition_SATB1_IO3_default]ER1157/SATB1_ER1157_UPS-2"), + ("[Ignition_SATB1_IO3_default]ER1158/SATB1_ER1158_UPS-1","[Ignition_SATB1_IO3_default]ER1158/SATB1_ER1158_UPS-2"), + ("[Ignition_SATB1_IO3_default]ER1159/SATB1_ER1159_UPS-1", "[Ignition_SATB1_IO3_default]ER1159/SATB1_ER1159_UPS-2")], + "DH4":[("[Ignition_SATB1_IO4_default]ER1254/SATB1_ER1254_UPS-1","[Ignition_SATB1_IO4_default]ER1254/SATB1_ER1254_UPS-2"), + ("[Ignition_SATB1_IO4_default]ER1255/SATB1_ER1255_UPS-1","[Ignition_SATB1_IO4_default]ER1255/SATB1_ER1255_UPS-2"), + ("[Ignition_SATB1_IO4_default]ER1256/SATB1_ER1256_UPS-1","[Ignition_SATB1_IO4_default]ER1256/SATB1_ER1256_UPS-2"), + ("[Ignition_SATB1_IO4_default]ER1257/SATB1_ER1257_UPS-1","[Ignition_SATB1_IO4_default]ER1257/SATB1_ER1257_UPS-2"), + ("[Ignition_SATB1_IO4_default]ER1258/SATB1_ER1258_UPS-1","[Ignition_SATB1_IO4_default]ER1258/SATB1_ER1258_UPS-2")], + "DH5":[("[Ignition_SATB1_IO5_default]ER1161/SATB1_ER1161_UPS-1", "[Ignition_SATB1_IO5_default]ER1161/SATB1_ER1161_UPS-2"), + ("[Ignition_SATB1_IO5_default]ER1162/SATB1_ER1162_UPS-1","[Ignition_SATB1_IO5_default]ER1162/SATB1_ER1162_UPS-2"), + ("[Ignition_SATB1_IO5_default]ER1163/SATB1_ER1163_UPS-1","[Ignition_SATB1_IO5_default]ER1163/SATB1_ER1163_UPS-2"), + ("[Ignition_SATB1_IO5_default]ER1164/SATB1_ER1164_UPS-1", "[Ignition_SATB1_IO5_default]ER1164/SATB1_ER1164_UPS-2"), + ("[Ignition_SATB1_IO5_default]ER1165/SATB1_ER1165_UPS-1", "[Ignition_SATB1_IO5_default]ER1165/SATB1_ER1165_UPS-2")] + } +def getUtilitySES(): + return { + "Yard": ["[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A/PQM_Main", + "[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1B/PQM_Main"], + "Common":[], + "DH1":[], + "DH2":[], + "DH3":[], + "DH4":[], + "DH5":[], + } \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/static/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/static/resource.json new file mode 100644 index 0000000..12c8a92 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/static/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "4be4bd697ca3e6827d3cc1dd7b20cb29b02d3e664a9f8534754b1e4c3a2eaf03", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:15Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/util/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/util/code.py new file mode 100644 index 0000000..1ce2aed --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/util/code.py @@ -0,0 +1,87 @@ +from datetime import datetime +def getBaseTagPaths(collection, location=None): + if location is not None: + return collection[location] + else: +# return [x for v in collection.values() for x in v] + return [value for key, values in collection.items() if key in ["Common","DH1","DH2","DH3","DH4","DH5"] for value in values] + + +def getHistory(paths, startDate, endDate, customArgs={}): + """ + Generic get history + Args: + paths: [] of strings/tagpaths + startDate: date start of range + endDate: date end of range + customArgs: dictionary of custom values if needed + returns: + PyDataSet + """ + intervalMin = customArgs.get("intervalMinutes",1) + noInterpol = customArgs.get("noInterpolation",True) + ignoreBad = customArgs.get("ignoreBadQuality",True) + aggMode = customArgs.get("aggregationMode","LastValue") + + histDS = system.tag.queryTagHistory(paths, startDate, endDate, aggregationMode = aggMode, intervalMinutes= intervalMin,noInterpolation= noInterpol, ignoreBadQuality= ignoreBad ) +# print "common.util.getHist", histDS.getRowCount(), paths + return system.dataset.toPyDataSet(histDS) + + +def generateSumCol(hist, sumColName="SumRealPwr"): + allHeaders = system.dataset.getColumnHeaders(hist) + + sumCol = [] + for row in hist: + try: + sumCol.append(sum([row[h] for h in allHeaders[1:] if row[h] is not None]) if len(allHeaders)>1 else 0) + except: + sumCol.append(0) + + return system.dataset.toPyDataSet(system.dataset.addColumn(hist, sumCol, sumColName, float)) + +def averageIntervalData(histDS, interval=15): + """ + Average values over time based on minute per minute data. + First column should be t_stamp + """ + timeUnitStr = "" + GroupDict= {} # represents {"datetime":{"col1":[], "col2":[]...}} + histDsCols = system.dataset.getColumnHeaders(histDS)[1:] + resultData = [] + for i,row in enumerate(histDS): + if i%interval == 0: + timeUnitStr = system.date.format(row["t_stamp"],"yyyy-MM-dd HH:mm") + GroupDict.setdefault(timeUnitStr, {}) + GroupDict[timeUnitStr]={col:[] for col in histDsCols} +# GroupDict[quarterHrStr].append(row["SumRealPwr"]) + for col in histDsCols: + GroupDict[timeUnitStr][col].append(row[col] if row[col] is not None else 0) + sortedDateKeys = sorted(GroupDict.keys(), key=lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M')) + for dt_str in sortedDateKeys: + oneRow = [system.date.parse(dt_str, "yyyy-MM-dd HH:mm")]+ [sum(GroupDict[dt_str][col])/len(GroupDict[dt_str][col]) for col in histDsCols] + resultData.append(oneRow) + + return system.dataset.toPyDataSet(system.dataset.toDataSet(["t_stamp"]+histDsCols, resultData)) + + +def mergeHistorianData(ds1, ds2): + """ + Expects 2 sets of historian data, sanity check . t_stamp should be column index 0, so we only need one + """ + if len(ds1) != len(ds2): + raise Exception("Mismatch on both datasets") + else: + ds1Header = system.dataset.getColumnHeaders(ds1) + ds2Header = system.dataset.getColumnHeaders(ds2)[1:] + + newHeader = ds1Header+ds2Header + + allRows = [] + for i,row in enumerate(ds1): + newRow = [c for c in row] + ([c for c in ds2[i]][1:]) + allRows.append(newRow) +# print len(newHeader), len(allRows[0]) + return system.dataset.toPyDataSet(system.dataset.toDataSet(newHeader, allRows)) + + \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/util/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/util/resource.json new file mode 100644 index 0000000..cd8edc0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/common/util/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "1ea8a1d8875f23df70e875640630463a30e363ae5f65953b6e8d886ac18b5251", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/cooling/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/cooling/code.py new file mode 100644 index 0000000..e7f43ef --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/cooling/code.py @@ -0,0 +1,76 @@ +from datetime import datetime +udtInstPath = "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_RTU01" + + +def getMeasurementPaths(): + return ["%s/Outside Air Dewpoint"%udtInstPath, + "%s/Outside Air Temperature"%udtInstPath, + "%s/Outside Air Humidity"%udtInstPath] + +def getRawDataMeasurement(startDate, endDate, customArgs= {}): + tagpaths = getMeasurementPaths() + hist = reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={}) + + + return hist + +def getRawChillerDemand(startDate, endDate, location, customArgs= {}): + tagpaths = reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getChillerTonnage(), location) + tagpaths.sort() + hist = reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={}) + + return hist + +def calculateValues(data): + """ + Calculate the Daily Average of each sensor's measurement + """ + data = system.dataset.toPyDataSet(data) + curHeaders = system.dataset.getColumnHeaders(data) + res = {"ResultTemp":None, "ResultHumidity":None} + dailyGroup= {} + allResultData = {} + allResultDS = {} + allAvgs = [] + + for row in data: + dayStr = system.date.format(row["t_stamp"],"yyyy-MM-dd") + dailyGroup.setdefault(dayStr, {}) + dailyGroup[dayStr].setdefault("OATemp", []) + dailyGroup[dayStr].setdefault("OADew", []) + dailyGroup[dayStr].setdefault("OAHum", []) + + dailyGroup[dayStr]["OADew"].append(row[curHeaders[1]]) + dailyGroup[dayStr]["OATemp"].append(row[curHeaders[2]]) + dailyGroup[dayStr]["OAHum"].append(row[curHeaders[3]]) + + sortedDateKeys = sorted(dailyGroup.keys(), key=lambda x: datetime.strptime(x, '%Y-%m-%d')) + temperatureRows= [] + humidityRows= [] + for date_str in sortedDateKeys: + try: + dpAvg = sum(dailyGroup[date_str]["OADew"])/len(dailyGroup[date_str]["OADew"]) + tempAvg = sum(dailyGroup[date_str]["OATemp"])/len(dailyGroup[date_str]["OATemp"]) + humAvg = sum(dailyGroup[date_str]["OAHum"])/len(dailyGroup[date_str]["OAHum"]) + except: + dpAvg = 0 + tempAvg = 0 + humAvg = 0 + + temperatureRows.append([system.date.parse(date_str, "yyyy-MM-dd"), dpAvg, tempAvg]) + humidityRows.append([system.date.parse(date_str, "yyyy-MM-dd"), humAvg]) + + res["ResultTemp"] = system.dataset.toDataSet(["Date","Dewpoint","Temperature"], temperatureRows) + res["ResultHumidity"] = system.dataset.toDataSet(["Date","Humidity"], humidityRows) + return res + +def DoAll(startDate,endDate): + return calculateValues(getRawDataMeasurement(startDate,endDate)) + +def DoChillerDemand(startDate, endDate, interval= 60, locations=None): + histDS = reports.MBR.cooling.getRawChillerDemand(startDate, endDate, locations, customArgs= {}) + histDS = reports.MBR.common.util.averageIntervalData(histDS, interval) + histDS = reports.MBR.common.util.generateSumCol(histDS, sumColName="Sum Tonnage") + + return {"histDS":histDS} + \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/cooling/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/cooling/resource.json new file mode 100644 index 0000000..74d1666 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/cooling/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "9cd76c3bcdb531699c938b8ca0b32e5aa82ec7aff5e4f3437e24029a40bd0320", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/coolingdata/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/coolingdata/code.py new file mode 100644 index 0000000..7af2842 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/coolingdata/code.py @@ -0,0 +1,269 @@ +import time +from collections import OrderedDict +Logger = system.util.getLogger("reports.MBR.coolingdata") + +def test1_0(): + res={} + endDate= system.date.midnight(system.date.now()) + startDate = system.date.addDays(endDate, -2) + tempDS, humDS = reports.MBR.coolingdata.getRawDataMeasurement(startDate, endDate, "DH1", customArgs= {"noInterpolation":False}) +# res["tempDS"]= tempDS +# res["humDS"] = humDS + # group the sensors by aisle then perform an interval average + tempDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(tempDS, "Temp"), 60) + humDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(humDS, "Humidity"), 60) + + + tempSummaryDS = reports.MBR.coolingdata.generateSummaryColumnDS(tempDS, "Temp") + humiditySummaryDS = reports.MBR.coolingdata.generateSummaryColumnDS(humDS, "Humidity") + summaryDS = combineTempHumidity(tempSummaryDS, humiditySummaryDS) + del tempSummaryDS + del humiditySummaryDS + + + measurementDS = reports.MBR.common.util.mergeHistorianData(combineTempHumidity(tempDS, humDS),summaryDS) + res["measurementDS"]=measurementDS + res["summaryDS"]=summaryDS + return res + + +def genSummCols(ds, snsrType, aggRow): + if aggRow: + return reports.MBR.coolingdata.generateSummaryColumnDS(ds, snsrType) + else: + return reports.MBR.coolingdata.generateRangeSummaryCol(ds, snsrType) +def doReport(startDate, endDate, locations, intervalTime = 60, aggRow= True): + """ + Args: + aggRow boolean, true: get the min/max/avg on row, false: get the min max over the range, and avg per row + """ + res={} + customArgs= {"noInterpolation":False} + tempDS, humDS = None, None + if locations is None: + tempDS, humDS = reports.MBR.coolingdata.getRawDataMeasurement(startDate, endDate, None,customArgs) + else: + for loc in locations: + ds1, ds2 = getRawDataMeasurement(startDate, endDate, loc, customArgs) + if tempDS is None and humDS is None: + tempDS = ds1 + humDS = ds2 + else: + tempDS= reports.MBR.common.util.mergeHistorianData(tempDS, ds1) + humDS= reports.MBR.common.util.mergeHistorianData(humDS, ds1) +# res["tempDS"]= tempDS +# res["humDS"] = humDS + # group the sensors by aisle then perform an interval average + tempDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(tempDS, "Temp"), intervalTime) + humDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(humDS, "Humidity"), intervalTime) + + + tempSummaryDS = genSummCols(tempDS, "Temp", aggRow) + humiditySummaryDS = genSummCols(humDS, "Humidity", aggRow) + summaryDS = combineTempHumidity(tempSummaryDS, humiditySummaryDS) + del tempSummaryDS + del humiditySummaryDS + + + measurementDS = addStaticLimits(reports.MBR.common.util.mergeHistorianData(combineTempHumidity(tempDS, humDS),summaryDS)) + res["measurementDS"]=measurementDS + res["summaryDS"]=summaryDS + return res + +def doReport2(startDate, endDate, locations, intervalTime = 60, aggRow= False): + """ + Args: + aggRow boolean, true: get the min/max/avg on row, false: get the min max over the range, and avg per row + """ + tSt = time.time() + res={} + customArgs= {"noInterpolation":False} + superTempDS, superHumDS, tempDS, humDS = None, None, None, None + if locations is None: + locations = ["DH1","DH2","DH3","DH4","DH5"] + summaryRows = [] + + + for loc in locations: + ds1, ds2 = getRawDataMeasurement(startDate, endDate, loc, customArgs) + tempDS = ds1 + humDS = ds2 + if superTempDS is None and superHumDS is None: + superTempDS = ds1 + superHumDS = ds2 + else: + superTempDS= reports.MBR.common.util.mergeHistorianData(superTempDS, ds1) + superHumDS= reports.MBR.common.util.mergeHistorianData(superHumDS, ds2) + tempDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(tempDS, "Temp"), intervalTime) + humDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(humDS, "Humidity"), intervalTime) + + + + tempSummaryDS = genSummCols(tempDS, "Temp", aggRow) + humiditySummaryDS = genSummCols(humDS, "Humidity", aggRow) + summaryDS = combineTempHumidity(tempSummaryDS, humiditySummaryDS) + del tempSummaryDS + del humiditySummaryDS + summaryRows.append([loc.replace("DH", "Datahall "), system.dataset.toDataSet(summaryDS) ]) + print "elapsed 1: ", time.time() - tSt + + # group the sensors by aisle then perform an interval average + print "elapsed 2: ", time.time()- tSt + superTempDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(superTempDS, "Temp"), intervalTime) + superHumDS = reports.MBR.common.util.averageIntervalData(groupColumnLocation(superHumDS, "Humidity"), intervalTime) + tempSummaryDS = genSummCols(superTempDS, "Temp", aggRow) + humiditySummaryDS = genSummCols(superHumDS, "Humidity", aggRow) + summaryDS = combineTempHumidity(tempSummaryDS, humiditySummaryDS) + measurementDS = addStaticLimits(reports.MBR.common.util.mergeHistorianData(combineTempHumidity(superTempDS, superHumDS),summaryDS)) + print "elapsed 3: ", time.time()- tSt + + res["summaryDS"]=summaryDS + res["measurementDS"]=measurementDS + res["locSummaryDS"] = system.dataset.toDataSet(["Location", "data"], summaryRows) + return res +# res["summaryDS"]=system.dataset.toDataSet([],summaryDS) +def getRawDataMeasurement(startDate, endDate, location, customArgs= {}): + """ + Get the history 1-minute interval for the relevant location sensors + Args: + startDate: datetime + endDate: datetime + location: str DH1, DH2.. + customArgs: optional overrides for the history retrieval + Returns: + tuple (temp Dataset, humidity dataset) + """ + logger = Logger.createSubLogger("getRawDataMeasurement") + stTime= time.time() + tempTags = reports.MBR.common.coolingTags.generateTags(location, "temp") + humidityTags = reports.MBR.common.coolingTags.generateTags(location, "humidity") + + tempDS = reports.MBR.common.util.getHistory(tempTags, startDate, endDate, customArgs) + humidityDS = reports.MBR.common.util.getHistory(humidityTags, startDate, endDate, customArgs) + logger.debug("complete duration: %s"%(time.time()-stTime)) + + return tempDS, humidityDS + + + +def groupColumnLocation(histDS, sensorType): + """ + Take the full range of tag columns and group them by location and average the value + ex. [Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_C1_HT01/Val + [Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_C1_HT02/Val + [Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PNL24_C1_HT03/Val + becomes DH1_C1 + Args: + histDS: pyds of history + sensorType: str Temp/Humidity + Returns: + py dataset + """ + def groupColNames(colNames): + colMap = OrderedDict() + for name in colNames: + + cNameParts = name.split("/")[1].split("_") + gName = "%s_%s %s"%(cNameParts[1], cNameParts[3], sensorType) + colMap.setdefault(gName, []) + colMap[gName].append(name) + return colMap + + oColNames = system.dataset.getColumnHeaders(histDS)[1:] + colMap = groupColNames(oColNames) + newCols = colMap.keys() + + # now let's average across the new names + allRows = [] + for row in histDS: + oneRow = [row["t_stamp"]] + for grp in newCols: + groupVals = [row[c] for c in colMap[grp]] + try: + oneRow.append(sum(groupVals)/len(groupVals)) + except: + oneRow.append(-1.0) + + allRows.append(oneRow) + + return system.dataset.toPyDataSet(system.dataset.toDataSet(["t_stamp"]+newCols , allRows)) + +def combineTempHumidity(tempDS, humidityDS): + """ + Build the custom column sort order C1 Humidity, C1 Temp, C2 Humidity, etc.. + Args: + tempDS: pyDataset + humidityDS: humidityDS + Returns: + pydataset + """ + allRows = [] + header = ["t_stamp"] + tempHeaders = system.dataset.getColumnHeaders(tempDS) + humHeaders = system.dataset.getColumnHeaders(humidityDS) + + for rCnt, row in enumerate(humidityDS): + newRow = [row["t_stamp"]] + for cCnt in range(1, len(row)): + if rCnt == 0: + header.extend([humHeaders[cCnt], tempHeaders[cCnt]]) + newRow.extend([row[cCnt], tempDS[rCnt][cCnt]]) + allRows.append(newRow) +# print header, len(header), len(allRows[0]) + return system.dataset.toPyDataSet(system.dataset.toDataSet(header, allRows)) + + +def generateSummaryColumnDS(ds1, sensorType): + """ + Receive the grouped dataset and calculate the Min/Max/Avg/Limit for each row + Args: + ds1: pydataset grouped by sensors + sensorType: str (Temp or Humidity) + Returns: + pydataset with columns t_stamp, Max , Avg, Min + """ + header = ["t_stamp", "Max %s"%(sensorType), "Avg %s"%(sensorType), "Min %s"%(sensorType)] + allRows = [] + for row in ds1: + rowVals= [c for c in row[1:]] + allRows.append([row["t_stamp"], max(rowVals), sum(rowVals)/len(rowVals), min(rowVals)]) + return system.dataset.toPyDataSet(system.dataset.toDataSet(header, allRows)) + + +def generateRangeSummaryCol(ds1, sensorType): + """ + Receive the grouped dataset and calculate the Min/Max/Avg/Limit for the entire range + Args: + ds1: pydataset grouped by sensors + sensorType: str (Temp or Humidity) + Returns: + pydataset with columns t_stamp, Max , Avg, Min + """ + header = ["t_stamp", "Max %s"%(sensorType), "Avg %s"%(sensorType), "Min %s"%(sensorType)] + allRows = [] + vals = [] + for row in ds1: + vals.extend([v for v in row[1:]]) + rowVals= [c for c in row[1:]] + allRows.append([row["t_stamp"], None, sum(rowVals)/len(rowVals), None]) + valMin = min(vals) + valMax = max(vals) + for sRow in allRows: + sRow[1] = valMax + sRow[3] = valMin + + return system.dataset.toPyDataSet(system.dataset.toDataSet(header, allRows)) + +def addStaticLimits(ds): + limits= [] + limits.append( [reports.MBR.common.static.humidityHighLimit for i in range(len(ds))]) + limits.append( [reports.MBR.common.static.humidityLowLimit for i in range(len(ds))]) + limits.append( [reports.MBR.common.static.tempHighLimit for i in range(len(ds))]) + limits.append( [reports.MBR.common.static.tempLowLimit for i in range(len(ds))]) + + for i,cName in enumerate(["Hum High Lim", "Hum Low Lim", "Temp High Lim", "Temp Low Lim"]): + ds = system.dataset.addColumn(ds, limits[i], cName, float) + + return system.dataset.toPyDataSet(ds) + + \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/coolingdata/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/coolingdata/resource.json new file mode 100644 index 0000000..66bd806 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/coolingdata/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "6695e2ab7dfb639ba559e4a9681ab44d182497d1e1086a6e3601b1913be684e9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/criticalpower/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/criticalpower/code.py new file mode 100644 index 0000000..d2a52e6 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/criticalpower/code.py @@ -0,0 +1,147 @@ +from datetime import datetime +import re +def getTagPaths(location=None): + """ + Get all the relvant tagpaths needed for the historian query + """ + baseTagPaths = reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getUPSBase(), location) + return baseTagPaths + +def getPowerPaths(location): + paths = [] + for ups1path, ups2path in getTagPaths(location): + paths.extend(["%s/Total kW"%ups1path, "%s/Total kW"%ups2path]) + return paths +def getPowerHist(startDate,endDate, location=None): + tagpaths = getPowerPaths(location) + + hist = reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={}) + return reports.MBR.common.util.generateSumCol(hist, sumColName="SumTotalkW"), tagpaths + + +def averageHistData(histData, inclColumns, interval=None): + """ + Calculate the Average, Min Average, Max Average + Args: + data: historian data, expected in minute intervals + inclColumns: list of strings reprsenting the tagpath/column name from queryTagHistory + interval: grouping by minutes, None if daily + Returns: + dictionary containing calculated data + """ + data = system.dataset.toPyDataSet(histData) + res = {"MinAvg":-1,"MaxAvg":-1,"ResultData":None} + dailyGroup= {} + resultData = [] + allAvgs = [] + def getUPSName(inclNames): + newNames = [] + for name in inclNames: + newNames.append(name.split("_")[-1].split("/")[0]) + return newNames + if interval is None: + for row in data: + # dayStr = system.date.format(system.date.fromMillis(row["t_stamp"]),"yyyy-MM-dd") + dayStr = system.date.format(row["t_stamp"],"yyyy-MM-dd") + dailyGroup.setdefault(dayStr,{c:[] for c in inclColumns}) + for c in inclColumns: + dailyGroup[dayStr][c].append(row[c]) + + + + sortedDateKeys = sorted(dailyGroup.keys(), key=lambda x: datetime.strptime(x, '%Y-%m-%d')) + for date_str in sortedDateKeys: + oneRow= [system.date.parse(date_str, "yyyy-MM-dd")] + for c in inclColumns: + cleanValues = [v for v in dailyGroup[date_str][c] if v is not None] + dailyAvg = sum(cleanValues)/len(cleanValues) if len(cleanValues) > 0 else 0 + allAvgs.append(dailyAvg) + oneRow.append(dailyAvg) + resultData.append(oneRow) + + else: + quarterHrStr = "" + for i,row in enumerate(data): + if i%interval == 0: + quarterHrStr = system.date.format(row["t_stamp"],"yyyy-MM-dd HH:mm") + dailyGroup.setdefault(quarterHrStr,{c:[] for c in inclColumns}) + for c in inclColumns: + dailyGroup[quarterHrStr][c].append(row[c]) + sortedDateKeys = sorted(dailyGroup.keys(), key=lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M')) + for dt_str in sortedDateKeys: + oneRow = [system.date.parse(dt_str, "yyyy-MM-dd HH:mm")] + for c in inclColumns: +# print dailyGroup[dt_str] + cleanValues = [v for v in dailyGroup[dt_str][c] if v is not None] + dtAvg = sum(cleanValues)/len(cleanValues) if len(cleanValues) > 0 else 0 + allAvgs.append(dtAvg) + oneRow.append(dtAvg) + resultData.append(oneRow) + + res["MinAvg"] = min(allAvgs) if len(allAvgs) > 0 and not all(x == 0 for x in allAvgs) else -1 + res["MaxAvg"] = max(allAvgs) if len(allAvgs) > 0 and not all(x == 0 for x in allAvgs) else 1 + res["SimpAvg"] = sum(allAvgs)/len(allAvgs) if len(allAvgs) > 0 else 0 + res["Paths"] = inclColumns + + # we're going to inject two new columns to resultData + for row in resultData: + row.extend([res["MinAvg"], res["MaxAvg"]]) + + res["ResultDS"] = system.dataset.toDataSet(["Date"]+["Unit%s"%(i+1) for i in range(len(inclColumns))]+["Min", "Max"], resultData) +# res["RawDS"] = data + return res + +def getEqNamesByLoc(location): + mEqPaths = [] + for ups1path, ups2path in getTagPaths(location): + mEqPaths.extend(["%s/Meta/EqName"%ups1path, "%s/Meta/EqName"%ups2path]) + return [qv.value for qv in system.tag.readBlocking(mEqPaths)] + +def getEqNamesByPath(paths): + mEqPaths = ["/".join(p.split("/")[:-1]) +"/Meta/EqName" for p in paths] + return [qv.value for qv in system.tag.readBlocking(mEqPaths)] + +def processAverage(startDate, endDate, location, interval=None): + finalRes= {} + def getUPSName(tagpath): + return tagpath.split("_")[-1].split("/")[0][:-2] if "-"in tagpath else tagpath.split("_")[-1].split("/")[0][:-1] + def getRoomName(tagpath): +# return tagpath.split("/")[1].split("_")[1] + if "]" in tagpath: + return tagpath.split("/")[0].split("]")[1] + else: + return tagpath.split("/")[0] + + + histData, rawTagPaths = getPowerHist(startDate,endDate, location) + header = system.dataset.getColumnHeaders(histData) + # clone the header for actual tagpaths + rawTagPaths = [""]+rawTagPaths +# print header + allRows = [] + newHeader = ["ChartName","MinAvg","MaxAvg","ChartDS", "SimpAvg"] + + res = averageHistData(histData, ["SumTotalkW"], interval) + allRows.append(["Data Hall Total Loading", res["MinAvg"], res["MaxAvg"], res["ResultDS"], res["SimpAvg"]]) + finalRes["TotalLoading"] = system.dataset.toDataSet(newHeader, allRows) + + allRows= [] + + # Format the result + for i in range(1, len(header)-2, 2): # Start at index 1, step by 2 to get pairs + tag1, tag2 = header[i], header[i+1] + res = averageHistData(histData, [tag1,tag2], interval) + eq1,eq2 = reports.MBR.criticalpower.getEqNamesByPath([rawTagPaths[i], rawTagPaths[i+1]]) + allRows.append([getRoomName(tag1)+" Loading", res["MinAvg"], res["MaxAvg"], res["ResultDS"], res["SimpAvg"], getUPSName(tag1), eq1, eq2]) + + finalRes["reportDS"] = system.dataset.toDataSet(newHeader+["ChartCategory", "Eq1", "Eq2"], allRows) + finalRes["rawDS"] = histData +# finalRes["NameLists"] = reports.MBR.criticalpower.getEqNames(location) + + return finalRes + +def doDailyReport(startDate, endDate, location=None): + return processAverage(startDate, endDate, location, None) + +def doReportInterval(startDate, endDate, location=None, interval=15): + return processAverage(startDate, endDate, location, interval) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/criticalpower/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/criticalpower/resource.json new file mode 100644 index 0000000..1c742a5 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/criticalpower/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "837a8bf93a7e251a59f8441a16ae27a5a8b12ab148439017613fb4fbbe9dbed6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/data/totalpower/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/data/totalpower/code.py new file mode 100644 index 0000000..250851a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/data/totalpower/code.py @@ -0,0 +1,86 @@ +from datetime import datetime + +def getRawDataTotalLoad(startDate, endDate, location, customArgs= {}): + return reports.MBR.totalpower.getRawDataTotalLoad(startDate, endDate, location, customArgs) + +def getRawDataCriticalLoad(startDate, endDate, location, customArgs= {}): + return reports.MBR.totalpower.getRawDataCriticalLoad(startDate, endDate, location, customArgs= {}) + + +def stripHistColumns(histDS, colsToKeep=[]): + """ + Support function to remove standalone columns + """ + histHeaders = system.dataset.getColumnHeaders(histDS) + newHeader = [histHeaders[0]] + colsToKeep + + allRows = [] + for row in histDS: + allRows.append([row[c] for c in newHeader]) + + return system.dataset.toPyDataSet(system.dataset.toDataSet((newHeader, allRows))) + +def processCalcPeakAvg(histDS, keyCol, colNames, interval): + """ + Calculate peak and avg by interval + Args: + histDS: history dataset to process + keyCol: identify the key column to calculate from + colNames: new column names for peak and avg + interval: histDS should be in minute intervals, how many rows per grouping + Returns: + dataset of t_stamp, Peak, Avg + GroupDict of interval raw values + """ + timeUnitStr = "" + GroupDict= {} # represents {"datetime":{"col1":[], "col2":[]...}} + histDsCols = [keyCol] + resultData = [] + for i,row in enumerate(histDS): + if i%interval == 0: + timeUnitStr = system.date.format(row["t_stamp"],"yyyy-MM-dd HH:mm") + GroupDict.setdefault(timeUnitStr, {}) + GroupDict[timeUnitStr]={"values":[]} +# GroupDict[quarterHrStr].append(row["SumRealPwr"]) + for col in histDsCols: + GroupDict[timeUnitStr]["values"].append(row[col] if row[col] is not None else 0) + sortedDateKeys = sorted(GroupDict.keys(), key=lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M')) + for dt_str in sortedDateKeys: + intervalAvg = sum(GroupDict[dt_str]["values"])/len(GroupDict[dt_str]["values"]) + intervalPeak = max(GroupDict[dt_str]["values"]) + oneRow = [system.date.parse(dt_str, "yyyy-MM-dd HH:mm"), intervalPeak, intervalAvg] + resultData.append(oneRow) + + return system.dataset.toPyDataSet(system.dataset.toDataSet(["t_stamp"]+colNames, resultData)), GroupDict + +def calcPUE(totalLoadDict, critLoadDict): + resultData = [] + sortedDateKeys = sorted(totalLoadDict.keys(), key=lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M')) + + for dt_str in sortedDateKeys: + pue_intervalList= [a/b if b> 0 else -1 for a,b in zip(critLoadDict[dt_str]["values"], totalLoadDict[dt_str]["values"])] + resultData.append([system.date.parse(dt_str, "yyyy-MM-dd HH:mm"), max(pue_intervalList), sum(pue_intervalList)/len(pue_intervalList)]) + + return system.dataset.toPyDataSet(system.dataset.toDataSet(["t_stamp","PeakPUE", "AvgPUE"], resultData)) + +def beginReport(startDate, endDate, intervalMin=15, location=None): + """ + Single call point for Report data fetch + """ + totalLoadHist = getRawDataTotalLoad(startDate, endDate, location) + critLoadHist = getRawDataCriticalLoad(startDate, endDate, location) + +# rawData = reports.MBR.common.util.mergeHistorianData(totalLoadHist, critLoadHist) + + totalLoadHist = reports.MBR.common.util.generateSumCol(totalLoadHist, sumColName="TotalLoad") + totalLoadHist, totalLoadDict = processCalcPeakAvg(totalLoadHist, "TotalLoad", ["PeakTotalLoad","AvgTotalLoad"], intervalMin) + critLoadHist = reports.MBR.common.util.generateSumCol(critLoadHist, sumColName="CriticalLoad") + critLoadHist, critLoadDict = processCalcPeakAvg(critLoadHist, "CriticalLoad", ["PeakCriticalLoad","AvgCriticalLoad"], intervalMin) + + pueData = calcPUE(totalLoadDict, critLoadDict) + + summaryData = reports.MBR.common.util.mergeHistorianData(totalLoadHist, critLoadHist) + summaryData = reports.MBR.common.util.mergeHistorianData(summaryData, pueData) + + return {"summaryData": summaryData} + \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/data/totalpower/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/data/totalpower/resource.json new file mode 100644 index 0000000..79b03bf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/data/totalpower/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "8d21970d4b74c835aecd7fc6bc0aa8409c29a8cfbc8690d65c4cbe2ae55390a5", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/data/ups/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/data/ups/code.py new file mode 100644 index 0000000..d2b21dc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/data/ups/code.py @@ -0,0 +1,17 @@ +def getUPSPaths(location=None): + return reports.MBR.criticalpower.getPowerPaths(location) + +def getPowerHist(startDate,endDate, location=None): + tagpaths = getUPSPaths(location) + + hist = reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={}) + return reports.MBR.common.util.generateSumCol(hist, sumColName="CalculatedUPSTotalkW") + + +def processData(startDate,endDate, interval, location=None): + histDS = getPowerHist(startDate,endDate, location) + return reports.MBR.common.util.averageIntervalData(histDS, interval) + +def beginReport(startDate,endDate, intervalMins, location=None): + return processData(startDate,endDate, intervalMins, location) + diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/data/ups/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/data/ups/resource.json new file mode 100644 index 0000000..e389872 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/data/ups/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "5284378bcacb947c8e3a096e6f2979879b0453af15013d3c670f51ca205126b2", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/generators/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/generators/code.py new file mode 100644 index 0000000..6b1e02b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/generators/code.py @@ -0,0 +1,30 @@ +from datetime import datetime +def getTagPaths(location=None): + """ + Get all the relvant tagpaths needed for the historian query + """ + baseTagPaths = reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getGeneratorBase(), location) + return baseTagPaths + +def getHistoryLastValues(genBasePath, pqmBasePath, sDate, eDate): + tagpaths = ["%s/Fuel Percent"%(genBasePath), "%s/Fuel Gallons"%(genBasePath), "%s/Real Power"%(pqmBasePath)] + pyDS = reports.MBR.common.util.getHistory(tagpaths, sDate, eDate, customArgs={"noInterpolation":False}) +# print tagpaths, len(pyDS) + return [c for c in pyDS[-1]] + +def buildFinalTable(startDate,endDate,location=None): + lastValueStartDate = system.date.addMinutes(endDate, -10) + header = ["Generator", "FuelPercent","FuelGal","RatedLoading","CurrentLoading","RunHours"] + allRows = [] + for genPath,pqmPath in getTagPaths(location): + genName = genPath.split("_")[-1].replace("GEN-","") + tstamp, fuel_perc, fuel_gal, curLoad = getHistoryLastValues(genPath, pqmPath, lastValueStartDate, endDate) + # now get the meta values + fullLoadKW, fullLoadGPH= [t.value for t in system.tag.readBlocking(["%s/Meta/Full Load kW"%genPath,"%s/Meta/Full Load GPH"%genPath])] + if fullLoadGPH is None: + fullLoadGPH = 180.0 + if fuel_gal is None: + fuel_gal = 1500 + allRows.append([genName,fuel_perc,fuel_gal,fullLoadKW,curLoad, fuel_gal/fullLoadGPH]) + + return system.dataset.sort(system.dataset.toDataSet(header, allRows), "Generator", True) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/generators/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/generators/resource.json new file mode 100644 index 0000000..a063991 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/generators/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "c493bf7d137fb805ec563f8e44ebd04f6a81a6b16f0d0690e33b17d2e03efca9", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/totalpower/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/totalpower/code.py new file mode 100644 index 0000000..6e1c97b --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/totalpower/code.py @@ -0,0 +1,170 @@ +import time +from datetime import datetime +Logger = system.util.getLogger("reports.MBR.totalpower") +def getTagPaths(location=None): + """ + Get all the relvant tagpaths needed for the historian query + """ + baseTagPaths = reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getPQMBase(), location) + return baseTagPaths + +def getRealPowerPaths(location=None): + paths = [] + for path in reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getPQMBase(), location): + paths.append(path+"/Real Power") + return paths + +def getPDURealPowerPaths(location=None): + paths = [] + for path in reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getPDUBase(), location): + paths.append(path+"/PQM/Real Power") + return paths + +def getRawDataTotalLoad(startDate, endDate, location, customArgs= {}): + logger = Logger.createSubLogger("getRawDataTotalLoad") + logger.debug("BEGIN") + startDur = time.time() + tagpaths = getRealPowerPaths(location) + hist = reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={}) + logger.debug("completed in %s"%(time.time()-startDur)) + return hist + +def getRawDataCriticalLoad(startDate, endDate, location, customArgs= {}): + logger = Logger.createSubLogger("getRawDataTotalLoad") + logger.debug("BEGIN") + startDur = time.time() + tagpaths = getPDURealPowerPaths(location) + hist = reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={}) + + logger.debug("completed in %s"%(time.time()-startDur)) + return hist + +def generateSumCol(hist): + return reports.MBR.common.util.generateSumCol(hist, sumColName="SumRealPwr") +# allHeaders = system.dataset.getColumnHeaders(hist) +# +# sumCol = [] +# for row in hist: +# try: +# sumCol.append(sum([row[h] for h in allHeaders[1:] if row[h] is not None])) +# except: +# sumCol.append(0) +# +# return system.dataset.toPyDataSet(system.dataset.addColumn(hist, sumCol, "SumRealPwr", float)) + +def calculateValues(data, interval=15): + """ + Calculate the Average, Min Average, Max Average + Args: + data: historian data, expected in minute intervals + interval: grouping by minutes, None if daily + Returns: + dictionary containing calculated data + """ + data = system.dataset.toPyDataSet(data) + res = {"MinAvg":-1,"MaxAvg":-1,"ResultData":None} + dailyGroup= {} + resultData = [] + allAvgs = [] + rawSum = [] + timeUnitStr = "" + GroupDict= {} # represents {"datetime":{"col1":[], "col2":[]...}} + histDsCols = ["SumRealPwr"] + resultData = [] + # Construct / Group + for i,row in enumerate(data): + if i%interval == 0: + timeUnitStr = system.date.format(row["t_stamp"],"yyyy-MM-dd HH:mm") + GroupDict.setdefault(timeUnitStr, {}) + GroupDict[timeUnitStr]={col:[] for col in histDsCols} + # GroupDict[quarterHrStr].append(row["SumRealPwr"]) + for col in histDsCols: + colVal = row[col] if row[col] is not None else 0 + rawSum.append(colVal) + GroupDict[timeUnitStr][col].append(row[col] if row[col] is not None else 0) + sortedDateKeys = sorted(GroupDict.keys(), key=lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M')) + # Create + for dt_str in sortedDateKeys: + colAvgs= [sum(GroupDict[dt_str][col])/len(GroupDict[dt_str][col]) for col in histDsCols] + allAvgs.append(colAvgs[0]) + oneRow = [system.date.parse(dt_str, "yyyy-MM-dd HH:mm")]+ colAvgs + resultData.append(oneRow) + + res["MinAvg"] = min(allAvgs) if len(allAvgs)> 0 else 0 + res["MaxAvg"] = max(allAvgs) if len(allAvgs)> 0 else 0 + res["RawMin"] = min(rawSum) if len(rawSum)> 0 else 0 + res["RawMax"] = max(rawSum) if len(rawSum)> 0 else 0 + + res["ResultData"] = resultData + res["ResultDS"] = system.dataset.toDataSet(["Date", "Average"], resultData) + res["RawDS"] = data + return res + +def generatePUE(mergedData): + """ + Calculate the PUE based on the time column. + Since there's only 3 columns, date/time, Average, AverageCritical + """ + headers = system.dataset.getColumnHeaders(mergedData) + axisHeader = headers[0] + newHeaders= [axisHeader, "PUE"] + allRows= [] + singleVals = [] + for row in system.dataset.toPyDataSet(mergedData): + try: + rowPUE = row["Average"]/row["AverageCritical"] + except: + rowPUE = -1 + + allRows.append([row[axisHeader], rowPUE]) + singleVals.append(rowPUE) + + return {"ResultDS":system.dataset.toDataSet(newHeaders, allRows), + "Min":min(singleVals), + "Max":max(singleVals)} + +def getInputData(startDate, endDate, location=None, calcInterval=60): + """ + + """ + final = {"TotalLoad":{}, "CriticalLoad":{}, "MergedDS":{}} + rawDataTotal = generateSumCol(getRawDataTotalLoad(startDate, endDate, location)) + totalLoadDict = calculateValues(rawDataTotal, calcInterval) + final["TotalLoad"] = totalLoadDict + + rawDataCritical = generateSumCol(getRawDataCriticalLoad(startDate, endDate, location)) + totalCriticalDict = calculateValues(rawDataCritical, calcInterval) + final["CriticalLoad"] = totalCriticalDict + + return final + +def MergeTotalCritical(ds1,ds2): + # extract the rows of average from ds2 + newCol =[] + for row in system.dataset.toPyDataSet(ds2): + newCol.append(row["Average"]) + + return system.dataset.addColumn(ds1, newCol, "AverageCritical", float) +def DoAll(startDate, endDate, location=None, interval= 60): + """ + Single call point for Report data fetch + """ + final = getInputData(startDate,endDate,location, interval) + + try: + final["MergedDS"] = MergeTotalCritical(final["TotalLoad"]["ResultDS"],final["CriticalLoad"]["ResultDS"]) + final["PUE"] = generatePUE(final["MergedDS"]) + except: + final["MergedDS"] = final["TotalLoad"]["ResultDS"] + + return final + +def doAllInterval(startDate, endDate, location=None, intervalMins=15): + final = getInputData(startDate,endDate,location, intervalMins) + try: + final["MergedDS"] = MergeTotalCritical(final["TotalLoad"]["ResultDS"],final["CriticalLoad"]["ResultDS"]) + final["PUE"] = generatePUE(final["MergedDS"]) + except: + final["MergedDS"] = final["TotalLoad"]["ResultDS"] + + return final \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/totalpower/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/totalpower/resource.json new file mode 100644 index 0000000..296bc94 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/totalpower/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "fdae4ca1bbcf42fc23dd4f0e8a3b613fd7df40fede069da20d90bfaa1dfa3d70", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/utility/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/utility/code.py new file mode 100644 index 0000000..0cb0f3d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/utility/code.py @@ -0,0 +1,69 @@ +from datetime import datetime + +def getTagPaths(location=None): + """ + Get all the relvant tagpaths needed for the historian query + """ + baseTagPaths = reports.MBR.common.util.getBaseTagPaths(reports.MBR.common.static.getUtilitySES(), location) + return baseTagPaths + +def getEnergyHistory(startDate, endDate, location=None): + tagpaths = ["%s/Real Energy"%(path) for path in getTagPaths(location)] + return reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={}) + +def getRealPowerHistory(startDate,endDate, location=None): + tagpaths = ["%s/Real Power"%(path) for path in getTagPaths(location)] + return reports.MBR.common.util.getHistory(tagpaths, startDate, endDate, customArgs={"intervalMinutes":60}) + + +def generateEnergyData(startDate, endDate, location=None): + """ + We'll take the actual start and end dates, but because we only care about the first entry and last entry we'll do + 2 queries to get the head and tail of the range + """ + qStart = startDate + qEnd = system.date.addMinutes(startDate, 10) + hist = getEnergyHistory(qStart, qEnd, location) + energyStart, energyEnd = (), () + if len(hist)>0: + energyStart= (hist[0][1], hist[0][2]) + + qStart = system.date.addMinutes(endDate, -10) + qEnd = endDate + hist = getEnergyHistory(qStart, qEnd, location) + if len(hist)>0: + energyEnd= (hist[-1][1], hist[-1][2]) + return energyStart, energyEnd + +def generateRealPowerTrend(startDate,endDate, location=None): + hist = getRealPowerHistory(startDate, endDate, location) + return reports.MBR.common.util.generateSumCol(hist, "SumRealPwr") + +def getRawData(startDate,endDate, intervalMins = 15, location=None): + # Try doing this the direct way through historian + tagpaths = ["%s/Real Power"%(path) for path in getTagPaths(location)] + ["%s/Real Energy"%(path) for path in getTagPaths(location)] + return system.dataset.toPyDataSet( + system.tag.queryTagHistory(tagpaths, startDate, endDate, intervalMinutes= intervalMins, + columnNames= ["SES-1A Pwr","SES-1B Pwr", "SES-1A Energy", "SES-1B Energy"], + aggregationModes=["SimpleAverage","SimpleAverage","LastValue","LastValue"], noInterpolation=True, + ignoreBadQuality=True) + ) + +def doReport(startDate, endDate, intervalMin= 15): + """ + This report runs only for the SES1A and SES1B yard. + """ + res= {"RealPower":None, "RealEnergy":{}} + sEnergy, eEnergy= generateEnergyData(startDate,endDate, "Yard") + res["RealEnergy"]["1A"] = {"Start":sEnergy[0], "End":eEnergy[0]} + res["RealEnergy"]["1B"] = {"Start":sEnergy[1], "End":eEnergy[1]} + + powerChart = generateRealPowerTrend(startDate, endDate, "Yard") + oldHeader = system.dataset.getColumnHeaders(powerChart) + newHeader = ["t_stamp", "SES_1A", "SES_1B", "SumPower"] + allRows = [[row[c] for c in oldHeader] for row in powerChart] + + res["RealPower"] = system.dataset.toDataSet(newHeader, allRows) + res["RawData"] = reports.MBR.utility.getRawData(startDate,endDate, intervalMin, "Yard") + return res + diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/utility/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/utility/resource.json new file mode 100644 index 0000000..6ec1712 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/MBR/utility/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "208b7e2940b0b77aa9dcbe800f07893cffdbdc3e4a2261c48bcfdde60067c876", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:15Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/rm/utils/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/rm/utils/code.py new file mode 100644 index 0000000..96b213a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/rm/utils/code.py @@ -0,0 +1,13 @@ +from org.jfree.chart.plot import ValueMarker,XYPlot +from org.jfree.ui import RectangleAnchor,TextAnchor +from java.awt import Color, BasicStroke + + +def newMarker(y, labelText, colorStr): + marker = ValueMarker(y) + marker.setPaint(Color.decode(colorStr)) + marker.setLabel(labelText) + marker.setLabelTextAnchor(TextAnchor.CENTER_LEFT) + marker.setStroke(BasicStroke(2.5)) + + return marker \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/rm/utils/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/rm/utils/resource.json new file mode 100644 index 0000000..3af39d8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/reports/rm/utils/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "d717900627819765dd4441ec9c9e14e531feef7f050dcdd5a57f0bdb55319c6d", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/Alerts/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/Alerts/code.py new file mode 100644 index 0000000..4fbeb3e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/Alerts/code.py @@ -0,0 +1,3 @@ +def showAlert(state, title, message, showCloseBtn, btnTextPrimary, btnTextSecondary, btnIconPrimary, btnIconSecondary, btnIconAlignment, btnActionPrimary, btnActionSecondary, btnActionClose): + params = {"state":state, "title":title, "message":message, "showCloseBtn":showCloseBtn, "btnTextPrimary":btnTextPrimary, "btnTextSecondary":btnTextSecondary, "btnIconPrimary":btnIconPrimary, "btnIconSecondary":btnIconSecondary, "btnIconAlignment":btnIconAlignment, "btnActionPrimary":btnActionPrimary, "btnActionSecondary":btnActionSecondary, "btnActionClose":btnActionClose} + system.perspective.openPopup(id="alertDialog", view="Library/Alerts/alert", params=params, showCloseIcon=False, draggable=False, resizable=False, modal=True, overlayDismiss=True, btnActionPrimary="closePopup") \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/Alerts/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/Alerts/resource.json new file mode 100644 index 0000000..4094edb --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/Alerts/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "lastModificationSignature": "934536a36388b7109a117418e46c7687f987981a0a52aadbd3e88d84f7c27cfc", + "hintScope": 2, + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/GAN/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/GAN/code.py new file mode 100644 index 0000000..d78c127 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/GAN/code.py @@ -0,0 +1,14 @@ +GWMap= {"172.17.19.32":"HMI1", + "172.17.19.33":"HMI1-Backup", + "172.17.19.41":"IO1", + "172.17.19.42":"IO2", + "172.17.19.43":"IO3", + "172.17.19.44":"IO4", + "172.17.19.45":"IO5", + "172.17.19.46":"IO6", + "172.17.19.49":"IO1-Backup", + } + +def getGatewayStatus(ipAddr): + result = system.net.httpGet("http://"+ipAddr + ":8088/main/system/gwinfo") + return {k: v for k, v in [item.split("=") for item in [pair for pair in result.split(";") if pair]]} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/GAN/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/GAN/resource.json new file mode 100644 index 0000000..49e14e9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/GAN/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "4cf3610be781555846730c4ff4457eea433428c471e1000fb88799f1ab89e1ac", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/Tags/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/Tags/code.py new file mode 100644 index 0000000..9a14adc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/Tags/code.py @@ -0,0 +1,34 @@ +def browseTags(path="", filters=None, expanded=False): + treeItems = [] + results = system.tag.browse(path, {} if filters == None else filters) + + if results != None and results.getResults() != None: + for result in results.getResults(): + name = result["name"] + if name != "_types_": + treeItem = {"label":name, "expanded":expanded, "data":{"path":result["fullPath"], "hasChildren":False}} + treeItem["items"] = [] + + if result["hasChildren"]: + treeItem["items"].append({"label":"Click to load...", "expanded":expanded, "data":{"path":result["fullPath"], "hasChildren":True}, "items":[], "icon":{"path":"material/hourglass_empty"}}) + + treeItems.append(treeItem) + + return treeItems + +def browseHistoryTags(path="", filters=None, expanded=False): + treeItems = [] + results = system.tag.browseHistoricalTags(path, [] if filters == None else filters) + + if results != None and results.getResults() != None: + for result in results.getResults(): + name = result.getPath().toString().replace(path, "").replace(":/", "").replace("/", "") + treeItem = {"label":name, "expanded":expanded, "data":{"path":result.getPath().toString(), "hasChildren":False}} + treeItem["items"] = [] + + if result.hasChildren(): + treeItem["items"].append({"label":"Click to load...", "expanded":expanded, "data":{"path":result.getPath().toString(), "hasChildren":True}, "items":[], "icon":{"path":"material/hourglass_empty"}}) + + treeItems.append(treeItem) + + return treeItems \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/Tags/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/Tags/resource.json new file mode 100644 index 0000000..ab7cad0 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/Tags/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "lastModificationSignature": "4692305066947531565acebf6c0d58f6ae10ecc094549a3411c3b3af742824c2", + "hintScope": 2, + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/helper/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/helper/code.py new file mode 100644 index 0000000..ea55639 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/helper/code.py @@ -0,0 +1,34 @@ +defaultProvider = "[MQTT]" # Target Provider Name +defaultSourceProvider = "[Ignition_Common_IO_Gtwy]" # "[Ignition_Common_IO_Gtwy]" +Logger = system.util.getLogger("utils.admin.tags.helper") +def generateUDTDef(): + """ One stop shop execution to deploy the MQTT tags. + + """ + logger = Logger.createSubLogger("generateUDTDef") + + utils.admin.tags.utils.definition.transformBase() + utils.admin.tags.utils.definition.transformObjects(udtFolder= "Objects/Parent") + utils.admin.tags.utils.definition.transformObjects(udtFolder= "Objects") + +def generateUDTInstances(): + """ Generate UDT Instances based off of MQTT Reference UDTs. Iterate over every provider and perform the execution + """ + logger = Logger.createSubLogger("generateUDTInstances") + for prov in ["Ignition_Common_IO_Gtwy", "Ignition_SATB1_IO1_default", "Ignition_SATB1_IO2_default", + "Ignition_SATB1_IO3_default", "Ignition_SATB1_IO4_default", "Ignition_SATB1_IO5_default"]: + logger.debug("Processing provider: %s"%(prov)) + utils.admin.tags.utils.instances.transformObjects(prov) + logger.debug("Finished Processing") + +def generateUDTInstances_demo(): + """ Generate UDT Instances based off of MQTT Reference UDTs. Iterate over every provider and perform the execution + """ +# utils.admin.tags.utils.instances.transformObjects("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A") + utils.admin.tags.utils.instances.transformObjects("[Ignition_Common_IO_Gtwy]Yard") + +def exportAllTags(): + """ Browse all the tags in the MQTT provider and generate a tag export. + + """ + return system.dataset.toExcel(True, [utils.admin.tags.utils.instances.generateTagExport()], ["All Tags"]) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/helper/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/helper/resource.json new file mode 100644 index 0000000..29a9a2f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/helper/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "292eebcb9c5ee8c670e34443dcad544a413f13afb6cbda9928fb7f476a660e35", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/utils/definition/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/utils/definition/code.py new file mode 100644 index 0000000..400964f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/utils/definition/code.py @@ -0,0 +1,120 @@ +import pprint +from com.inductiveautomation.ignition.common.tags.config.types import TagObjectType +defaultProvider= utils.admin.tags.helper.defaultProvider +defaultSrcProv = utils.admin.tags.helper.defaultSourceProvider + +def getUDTBaseParameters(): + return {'srcPath': {"dataType":"String", "value":None}, + 'tagGroup': {"dataType":"String", "value":"Default"}} + +def transformBase(): + """ Read the [default]Base UDT and convert it into the Reference Tag equivalent + New logic to create an additional expression tag bound to the srcPath parameter + Returns: Nothing, will create the UDT in the global defaultProvider + """ + newTagConfig= (transformSingleObject("%s_types_/Base"%(defaultSrcProv))) + devPathTag={'dataType': "String", + 'expression':'{srcPath}', + 'name': 'DeviceTagPath', + 'tagType': "AtomicTag", + 'valueSource': 'expr'} + newTagConfig["parameters"] = getUDTBaseParameters() + newTagConfig["tags"][0]["tags"].append(devPathTag) + + + pprint.pprint(newTagConfig) + system.tag.configure("%s/_types_"%(defaultProvider), [newTagConfig], "o") + +def transformObjects(udtFolder= "Objects"): + """ Scan for all of the Object UDTs in [default] and create the Reference tag version + Returns: Nothing + """ + metaTagNames = [t["name"] for t in system.tag.browse("[MQTT]_types_/Base/Meta")] + def normalizeTagConfig(tagConfig): +# tagConfig.pop("path") + tagConfig.pop("parameters") + # Clean up the meta tags inherited from base + for t in tagConfig["tags"]: + if t["name"] == "Meta": + t["tags"] = [item for item in t["tags"] if item['name'] not in metaTagNames] + + return tagConfig + allTagConfig = {} + for udtPath in recBrowse("%s_types_/%s"%(defaultSrcProv, udtFolder)): + newTagConfig = normalizeTagConfig(transformSingleObject(udtPath)) + if "parameters" not in newTagConfig.keys(): + newTagConfig["parameters"] = getUDTBaseParameters() + rootFolder = "/".join(udtPath.split("/")[:-1]).replace(defaultSrcProv,defaultProvider) + allTagConfig.setdefault(rootFolder, []) + + allTagConfig[rootFolder].append(newTagConfig) + + for k,v in allTagConfig.iteritems(): + system.tag.configure(k, v, "o") + + +def recBrowse(path): + """ Recursively process the folder + """ + listOfPaths = [] + for tag in system.tag.browse(path): + if tag["tagType"] == TagObjectType.Folder: + if tag["name"] != "Parent": # don't browse the parent folder when we're doing the root Objects folder + listOfPaths.extend(recBrowse(str(tag["fullPath"]))) + elif tag["tagType"] == TagObjectType.UdtType: + listOfPaths.append(str(tag["fullPath"])) + return listOfPaths + + +def transformSingleObject(udtPath): + """ Convert a single UDT Object to a reference tag equivalent. Reusable in individual scenarios + Returns: JSON configuration for the new tag object + """ + curTagConfig = system.tag.getConfiguration(udtPath, True)[0] +# curTagConfig.pop("path") # don't need this since we're creating new + + curTagConfig["tags"] = recFolderTransform(curTagConfig["tags"], curTagConfig["name"]) + return curTagConfig + + +def recFolderTransform(tagObj, rootObjName= "", folderPath=""): + """ Recursively process the folder's contents to convert the existing tags to Reference Tags + Returns: Newly constructed JSON + """ + alarmSummIdx = -1 + for idx, obj in enumerate(tagObj): +# print obj["name"], obj["tagType"] + if obj["tagType"]== TagObjectType.Folder: +# print " %s -- folder found"%(obj["name"]) + if "tags" in obj.keys(): + recFolderTransform(obj["tags"], folderPath="/".join([folderPath, obj["name"]])) + elif str(obj["tagType"]) not in ["UdtInstance"] and obj["name"] != "AlarmSummary": + obj["valueSource"] = "reference" +# obj["sourceTagPath"] = {"bindType":"parameter", "binding":"{srcPath}/%s{TagName}"%(folderPath[:]+"/" if folderPath != "" else "")} + obj["sourceTagPath"] = {"bindType":"parameter", "binding":"{srcPath}/%s%s"%(folderPath[1:]+"/" if folderPath != "" else "", obj["name"])} # hardcode tagpath, but change name to underscore + obj["tagGroup"] = {"bindType":"parameter", "binding":"{tagGroup}"} + obj["name"] = obj["name"].replace(" ", "_") + # remove keys that are no longer relative to the MQTT transmission + for k in ["value", "opcServer", "opcItemPath", "sampleMode", "alarms", "sampleMode", "scaleMode", "scaledHigh"]: + obj.pop(k, None) + # Remove historian settings since we don't need to log this + obj["historyEnabled"]= False + for setting in ["historyMaxAge", "historyProvider", "historyTagGroup"]: + obj.pop(setting, None) + elif obj["tagType"] == TagObjectType.UdtInstance: + print "1" + # Special handler for the Base Object + if str(obj["name"]) == "AlarmSummary" and rootObjName=="Base" : + replacementTag = obj["tags"][0] + replacementTag["valueSource"] = "reference" + replacementTag["sourceTagPath"] = {"bindType":"parameter", "binding":"{srcPath}/{TagName}/ActiveAlarms"} + replacementTag["tagGroup"] = {"bindType":"parameter", "binding":"{tagGroup}"} + replacementTag.pop("name") + replacementTag.pop("path") + replacementTag.pop("value") + obj.pop("tags") + obj.pop("typeId") + + obj.update(replacementTag) + + return tagObj \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/utils/definition/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/utils/definition/resource.json new file mode 100644 index 0000000..c9cb55e --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/utils/definition/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "6a663abb11d70e8dc81771dba1a8376b078ff6b9214883b24aaebf4094561cf6", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/utils/instances/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/utils/instances/code.py new file mode 100644 index 0000000..57037dd --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/utils/instances/code.py @@ -0,0 +1,128 @@ +import pprint, time +from com.inductiveautomation.ignition.common.tags.config.types import TagObjectType +defaultTgtProvider= utils.admin.tags.helper.defaultProvider +defaultSrcProv = utils.admin.tags.helper.defaultSourceProvider +thisTenant = "Valley" + +Logger = system.util.getLogger("utils.admin.tags.utils.instances") + + +def transformObjects(startPath): + logger = Logger.createSubLogger("transformObjects") + newTags = [] + for udtInst in recBrowse(startPath): + newTags.append(createSingleInstance(udtInst)) + + system.tag.configure(defaultTgtProvider, newTags, "o") + +def recBrowse(path): + """ Recursively process the folder + """ + logger = Logger.createSubLogger("recBrowse") + _tStartTime = time.time() + + + listOfPaths = [] + for tag in system.tag.browse(path): + if tag["tagType"] == TagObjectType.Folder: + if tag["name"] not in ["Parent", "AlarmSummary"]: # don't browse the parent folder when we're doing the root Objects folder + listOfPaths.extend(recBrowse(str(tag["fullPath"]))) + elif tag["tagType"] == TagObjectType.UdtInstance: + listOfPaths.append(str(tag["fullPath"])) + logger.trace("recursive browse completed in : %s"%(time.time()-_tStartTime)) + + return listOfPaths + + +def createSingleInstance(udtPath): + """ create a reference tag equiavalent of a UDT found + udtPath: str the udt instance path + + """ + logger = Logger.createSubLogger("createSingleInstance") + + tagConfig = system.tag.getConfiguration(udtPath, False)[0] + + path = tagConfig["path"] + udtType = tagConfig["typeId"] + refPath = str(tagConfig["path"]) + pathSegments = refPath.split("/") + prov = refPath[refPath.find("[")+1 : refPath.find("]")] + tagName = tagConfig["name"] + if len(tagConfig["name"].split("_")) < 3: +# tagName = "%s_%s_%s"%(prov.replace("_","-"), pathSegments[-2],tagName) + tagName = "%s_%s"%(pathSegments[-2],tagName) + else: + tagName = "%s"%(tagName) + + newTag= {"name":tagName, + "typeId":tagConfig["typeId"], "tagType":"UdtInstance", + "parameters":{"srcPath":{"dataType":"String", "value":refPath}} + } + + return newTag + + +def generateTagExport(): + """ Generate a dataset representing all of the discovered tags in the MQTT provider + + """ + def transformRow(path): + metaProps = getMetaProp(path, ["EqName"]) + def buildRow(udtDefPath, path, tagdict, srcPath=""): + instNameArr = path.split("/")[0].split("_") + hasProvInPath= True if "Ignition_" in path else False + if hasProvInPath: + loc = instNameArr[5] + devName = "_".join(instNameArr[4:]) + else: + loc = instNameArr[1] + devName = "_".join(instNameArr[2:]) + +# return [udtDefPath[-2], udtDefPath[-1], "%s/%s"%(path, tagdict["name"]), tagdict.get("engUnit",""), devName, loc, tagdict["name"].replace("_"," "), +# tagdict["name"].replace(" ","_"), path] + localPath = "%s/%s"%(path, tagdict["name"]) + remotePath, tagTenant = getCustomTenantProp(localPath) + return [udtDefPath[-2], udtDefPath[-1], remotePath, tagdict.get("engUnit",""), + devName if metaProps.get("EqName","") == "" else metaProps["EqName"], # DeviceName + loc, + tagTenant if tagTenant is not None else tagdict["name"].replace("_"," "), # Description + tagdict["name"].replace(" ","_"), + remotePath] # Notes + + rows = [] + config = system.tag.getConfiguration(path, True)[0] + udtDefPath = str(config.get("typeId","/")).split("/") + srcPath = config["parameters"].get("srcPath").value + for tag in config["tags"]: + if tag["tagType"] == TagObjectType.Folder and tag["name"] not in ["Meta"]: + for fTag in tag["tags"]: +# rows.append(buildRow(udtDefPath, "%s/%s"%(path, tag["name"]), fTag)) + rows.append(buildRow(udtDefPath, "%s/%s"%(path, tag["name"]), fTag, "%s/%s"%(srcPath, tag["name"]))) + else: + if tag["name"] not in ["Meta"]: + rows.append(buildRow(udtDefPath, path, tag, srcPath)) + + return rows + _udtInstList= utils.admin.tags.utils.instances.recBrowse(defaultTgtProvider) + header = ["componentType", "topic", "tag", "units", "deviceName", "hallId", "description", "dataPointType", "Notes"] + allRows = [] + for udtInstPath in _udtInstList: + allRows.extend(transformRow(udtInstPath)) + + fullDS = system.dataset.toDataSet(header, allRows) + return fullDS +# return system.dataset.toExcel(True, [fullDS], ["All Points"]) + +def getMetaProp(instPath, propNames): + """ Get the meta properties of a tag + returns: dictionary of the propertyname and value + """ + pathsToRead = ["%s/Meta/%s"%(instPath,p) for p in propNames] + qvs = system.tag.readBlocking(pathsToRead) + return {p:qv.value for p,qv in zip(propNames, qvs)} + +def getCustomTenantProp(localTagPath): + print localTagPath + tagpath = system.tag.readBlocking("%s.%s"%(localTagPath,"SourceTagPath"))[0].value + return tagpath, system.tag.readBlocking("%s.%s"%(tagpath,thisTenant))[0].value \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/utils/instances/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/utils/instances/resource.json new file mode 100644 index 0000000..3d228ae --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/tags/utils/instances/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "5f3ad9988a1dca97daeea68b398815293009d7ae28f733c15c6e4f08defc5a80", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/user/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/user/code.py new file mode 100644 index 0000000..3a68332 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/user/code.py @@ -0,0 +1,20 @@ +db = "Ignition" +def saveAllSettings(homepage, theme, username): + settingDict = {"Homepage":homepage, "Theme":theme} + saveSettings(settingDict, username) + +def saveSettings(settingDict, username): + """ save all settings from a dictionary + settingDict: pyDictionary ex {"Homepage":homepage, "Theme":theme}, key represents settingname and value is the settingvalue + + """ + insQuery = "Insert into user_settings (settingname, settingvalue, username) values" + insVals = [] + for k,v in settingDict.iteritems(): + # perform upsert + if system.db.runPrepUpdate("Update user_settings set settingvalue= ? where settingname=? and username = ?", [ v, k, username], db) == 0: + insQuery += "(?,?,?)," + insVals.extend([k, v, username]) + + if len(insVals) > 0: + system.db.runPrepUpdate(insQuery[:-1], insVals, db) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/user/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/user/resource.json new file mode 100644 index 0000000..df674a9 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/admin/user/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "a5594821e12b5ae5e26bec702c2c0f7936d1beb95ace9c90b248eea3eb942afa", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/helper/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/helper/code.py new file mode 100644 index 0000000..ab3252a --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/helper/code.py @@ -0,0 +1,128 @@ +from com.inductiveautomation.ignition.common import BasicDataset +from com.inductiveautomation.ignition.common.script.builtin.DatasetUtilities import PyDataSet +from java.util import Date +def sanitize_tree(element): + if hasattr(element, '__iter__'): + if hasattr(element, 'keys'): + return dict((k, sanitize_tree(element[k])) for k in element.keys()) + else: + return list(sanitize_tree(x) for x in element) + return element +def getColumnStruct(): + return { + "field": "", + "visible": True, + "editable": False, + "render": "auto", + "justify": "auto", + "align": "center", + "resizable": True, + "sortable": True, + "sort": "none", + "filter": { + "enabled": False, + "visible": "on-hover", + "string": { + "condition": "", + "value": "" + }, + "number": { + "condition": "", + "value": "" + }, + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + } + }, + "viewPath": "", + "viewParams": {}, + "boolean": "checkbox", + "number": "value", + "progressBar": { + "max": 100, + "min": 0, + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": True, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "nullFormat": { + "includeNullStrings": False, + "strict": False, + "nullFormatValue": "" + }, + "numberFormat": "0,0.##", + "dateFormat": "MMM-DD HH:mm", + "width": "", + "strictWidth": False, + "header": { + "title": "", + "justify": "left", + "align": "center", + "style": { + "classes": "" + } + }, + "footer": { + "title": "", + "justify": "left", + "align": "center", + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + } +def xformTableColumns(dataIn): + + if isinstance(dataIn, PyDataSet): + data = dataIn + elif isinstance(dataIn, BasicDataset): + data = system.dataset.toPyDataSet(dataIn) + elif isinstance(dataIn, dict): + pass + + colHeaders = system.dataset.getColumnHeaders(data) + columns = [] + if len(data)> 0: + for col in colHeaders: + struct= utils.helper.getColumnStruct() + struct["field"] = col + if isinstance(data[0][col], Date): + struct["render"] = "date" + columns.append(struct) + else: + for col in colHeaders: + struct= utils.helper.getColumnStruct() + struct["field"] = col + columns.append(struct) + + return columns \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/helper/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/helper/resource.json new file mode 100644 index 0000000..997c874 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/helper/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "5ffc764eb84cbc2ad5c24750ebca9a5c2be526ee00942642d1533c9806330d12", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/invokeAfter/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/invokeAfter/code.py new file mode 100644 index 0000000..7cd193d --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/invokeAfter/code.py @@ -0,0 +1,5 @@ + +def open_popup(): + system.perspective.openPopup("maintNotification", "Delete ME/xychart") + +system.util.invokeLater(open_popup,5000) # Schedule popup to open after 5000 milliseconds (5 seconds) \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/invokeAfter/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/invokeAfter/resource.json new file mode 100644 index 0000000..3d39181 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/invokeAfter/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "b59e7239880e3343a20b0af06c68f2baf5893c70e51f5701c25b12229b943dbf", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/misc/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/misc/code.py new file mode 100644 index 0000000..94abe83 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/misc/code.py @@ -0,0 +1,33 @@ +def getHexColorFromInt(num, total=100): + import colorsys + + # Calculate the hue by evenly spacing values around the full 360-degree color wheel + hue = (float(num) / total) * 360 # Ensure hue varies between 0 and 360 degrees + hue = hue / 360 # Convert to range [0, 1] for colorsys compatibility + saturation = 0.8 # High saturation for vibrant colors + lightness = 0.5 # Moderate lightness for balanced colors + + # Convert HSL to RGB using the colorsys module + r, g, b = colorsys.hls_to_rgb(hue, lightness, saturation) + + # Convert RGB values to the 0-255 range and format as a hex color + r = int(r * 255) + g = int(g * 255) + b = int(b * 255) + + # Return the color as a hex string + color_hex = "#{:02x}{:02x}{:02x}".format(r, g, b) + return color_hex + +def getComplimentaryLabelColor(backgroundColor): + # Convert hex color to RGB components + r = int(backgroundColor[1:3], 16) + g = int(backgroundColor[3:5], 16) + b = int(backgroundColor[5:7], 16) + + # Calculate luminance (perceived brightness) using the formula + # Luminance formula adjusted for human perception + luminance = 0.299 * r + 0.587 * g + 0.114 * b + + # If the luminance is greater than 128, use black text; otherwise, use white text + return '#000000' if luminance > 128 else '#FFFFFF' \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/misc/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/misc/resource.json new file mode 100644 index 0000000..3dbbdcc --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/misc/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "a620f696c46805e70bd5251658a9c3ab6e3578402bcbba1145073efa467d4b6e", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/nav/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/nav/code.py new file mode 100644 index 0000000..7c2c756 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/nav/code.py @@ -0,0 +1,192 @@ +def openEQPopup(objectName, tagPath): + """ Called from equipment template view. Sends a message to the parent view using the messageId 'sendEQPopupMsg' + """ + system.perspective.sendMessage('eqPopupMsg', payload={ + 'objectName': objectName, + 'tagPath': tagPath, + 'modal': False, + 'resizable': True, + 'draggable': True, + 'position': { +# 'left':'0', +# 'top':'0', + 'width': '1000px', + 'height': '835px' + } + }) + +def eqPopup(self, payload): + """ Opens the Equipment Popup view. + """ + viewPath = 'Library/Templates/Base' + popupId = 'eqPopup' + params = { + 'objectName': payload['objectName'], + 'tagPath': payload['tagPath'] + } + system.perspective.openPopup( + popupId, viewPath, params=params, position=payload['position'], + showCloseIcon=False, draggable=payload['draggable'], resizable=payload['resizable'], + modal=payload['modal'], overlayDismiss=False, viewportBound=True + ) + +def eqPopupMsg(self, payload): + """ When called from inside an iFrame, will send a message to the outer view to call eqPopup() and open the popup outside of the iFrame. Otherwise will just call eqPopup() and open the popup. + """ + try: + pageId = self.view.params.pageId + except: + pageId = "" + if pageId == "": + eqPopup(self, payload) + else: + system.perspective.sendMessage('eqPopup', payload=payload, scope='page', pageId=pageId) + +#====================================================================================================================================================== + +def openLLSPopup(viewPath,title): + """ Called from equipment template view. Sends a message to the parent view using the messageId 'sendEQPopupMsg' + """ + system.perspective.sendMessage('LLSPopupMsg', payload={ + 'viewPath': viewPath, + 'title': title, + 'modal': False, + 'resizable': True, + 'draggable': True, + 'position': { +# 'left':'0', +# 'top':'0', + 'width': '1000px', + 'height': '835px' + } + }) + +def LLSPopup(self, payload): + """ Opens the Equipment Popup view. + """ + viewPath = payload['viewPath'] + title = payload['title'] + popupId = 'LLSPopup' + + system.perspective.openPopup( + popupId, viewPath,title=title, position=payload['position'], + showCloseIcon=False, draggable=payload['draggable'], resizable=payload['resizable'], + modal=payload['modal'], overlayDismiss=False, viewportBound=True + ) + +def LLSPopupMsg(self, payload): + """ When called from inside an iFrame, will send a message to the outer view to call eqPopup() and open the popup outside of the iFrame. Otherwise will just call eqPopup() and open the popup. + """ + try: + pageId = self.view.params.pageId + except: + pageId = "" + if pageId == "": + LLSPopup(self, payload) + else: + system.perspective.sendMessage('LLSPopup', payload=payload, scope='page', pageId=pageId) + + + +#def openEQPopup(objectName, tagPath, modal=False, resizable=True, draggable=True, pageId=None): +# """ OLD VERSION +# Opens an equipment popup based on an objectName and tagPath. +# """ +# viewPath = 'Library/Templates/Base' +# popupId = 'eqPopup' +# params = { +# 'objectName': objectName, +# 'tagPath': tagPath +# } +# position = { +# 'left':'0', +# 'top':'0', +# 'width': '1000px', +# 'height': '800px' +# } +# +# system.perspective.openPopup( +# popupId, viewPath, params=params, position=position, +# showCloseIcon=False, draggable=draggable, resizable=resizable, +# modal=modal, overlayDismiss=False, viewportBound=True +# ) + +# developing +#def openEQPopupCentered(objectName, tagPath, modal=True, resizable=False, draggable=False): +# """ +# Opens an equipment popup based on an objectName and tagPath. +# """ + +# viewPath = 'Library/Templates/Base' +# popupId = 'eqPopup' +# params = { +# 'objectName': objectName, +# 'tagPath': tagPath +# } +# position = { +# 'width': '1000px', +# 'height': '800px' +# } +# system.perspective.openPopup( +# popupId, viewPath, params=params, position=position, +# showCloseIcon=False, draggable=draggable, resizable=resizable, +# modal=modal, overlayDismiss=True, viewportBound=True +# ) + +def iFrameNavigate(self, payload): + """ + + """ + try: + pageId = self.view.params.pageId + except: + pageId = "" + system.perspective.print("%s"%(payload)) + params = payload["params"] + target = payload["target"] + breadcrumb = payload.get("breadcrumb") + if pageId == "": + system.perspective.navigate(view = target, params= params) + else: + system.perspective.sendMessage('iFrameNav', payload=payload, scope='page', pageId=pageId) + +def _nav(view, params, breadcrumb= None): + if breadcrumb is None: + breadcrumb = "" + system.perspective.sendMessage('updateBreadcrumb', {'target':breadcrumb}, scope="page") + system.perspective.sendMessage('updateNavSelection', {'breadcrumb':breadcrumb}, scope="page") + + system.perspective.navigate(view=view,params=params['zoom']) + +def openL4AlarmPopup(srcPath): + """ Use this to determine the UDT or navigation path + srcPath: string ex: prov:Ignition_SATB1_IO1_default:/tag:Datahall 1/Development/UT HS1/Alarms/Vacuum Fault Interrupter_VF-1 Tripped:/alm:Alarm + """ + def adjustObjName(objName): + """ Manually correct the varying udt to view + """ + if "AnalogIn" in objName: + objName = "AnalogIn" + elif "SEL" in objName: + objName = "SEL-751" + elif "LV Feeder" in objName: + objName = "LV Feeder" + return objName + + objName = "" + tagPath = "" + + parts = srcPath.split(':/') + prov_part = parts[0].split(':')[1] # Extract after "prov:" + tag_part = parts[1].split(':')[1] # Extract after "tag:" + + constrPath = "" + for p in tag_part.split("/"): + constrPath+= (p+"/") + # print constrPath + tConf= system.tag.getConfiguration("[%s]%s"%(prov_part, constrPath), False) + if tConf[0]["tagType"].toString() == "UdtInstance": + objName = adjustObjName(str(tConf[0]["typeId"]).split("/")[-1]) + tagpath = tConf[0]["path"].toString() + + return {"objectName":objName, "tagPath":tagpath} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/nav/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/nav/resource.json new file mode 100644 index 0000000..4782ced --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/nav/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "811cc46f2c91f992daeefad56d53373d84bdd0274d0ce9197b524b27a1915b60", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-22T23:16:27Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/roles/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/roles/code.py new file mode 100644 index 0000000..fc8434f --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/roles/code.py @@ -0,0 +1,21 @@ +control = ["L2 Operator", "L3 Operator", "Designer Development"] +config = ["L3 Operator", "Designer Development"] +almAck = ["L2 Operator", "L3 Operator", "Designer Development"] +almShelve = ["L3 Operator", "Designer Development"] + +def validate(currentRoles): + output = {} + output['control'] = False + output['config'] = False + output['almAck'] = False + output['almShelve'] = False + for role in currentRoles: + if role in control: + output['control'] = True + if role in config: + output['config'] = True + if role in almAck: + output['almAck'] = True + if role in almShelve: + output['almShelve'] = True + return output \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/roles/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/roles/resource.json new file mode 100644 index 0000000..2cea836 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/roles/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "57cd30d2fc91e9d873ae99a7ec9f093ef185bb44d2af46c8b36d11f50dcccc58", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/timer/code.py b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/timer/code.py new file mode 100644 index 0000000..157aea8 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/timer/code.py @@ -0,0 +1,5 @@ +def updateTop3Alarms(): + alarmList = alarm.timers.getTop3Alarms() + + system.tag.writeAsync(["[default]System/Top3Alarms"], [alarmList]) + \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/timer/resource.json b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/timer/resource.json new file mode 100644 index 0000000..14efdc3 --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/ignition/script-python/utils/timer/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "hintScope": 2, + "lastModificationSignature": "3365f3d211dc49fa4999522e37c182e6cb20912fcaca9a0898c6a2e349c205ab", + "lastModification": { + "actor": "Emmanuel", + "timestamp": "2026-04-15T20:54:16Z" + } + } +} \ No newline at end of file diff --git a/Gateways/FE/projects/SDC_PHX_A7/project.json b/Gateways/FE/projects/SDC_PHX_A7/project.json new file mode 100644 index 0000000..999badf --- /dev/null +++ b/Gateways/FE/projects/SDC_PHX_A7/project.json @@ -0,0 +1,7 @@ +{ + "title": "PHXA7 BMS\u0026EPMS", + "description": "Stream Data Center, Phoenix, Building A7", + "enabled": true, + "inheritable": false, + "parent": "" +} \ No newline at end of file diff --git a/Gateways/FE/themes/NunitoSans-Variable.ttf b/Gateways/FE/themes/NunitoSans-Variable.ttf new file mode 100755 index 0000000..9ee3c15 Binary files /dev/null and b/Gateways/FE/themes/NunitoSans-Variable.ttf differ diff --git a/Gateways/FE/themes/config.json b/Gateways/FE/themes/config.json new file mode 100755 index 0000000..0e879bf --- /dev/null +++ b/Gateways/FE/themes/config.json @@ -0,0 +1,4 @@ +{ + "entrypoint": "index.css", + "isPrivate": false +} \ No newline at end of file diff --git a/Gateways/FE/themes/fonts.css b/Gateways/FE/themes/fonts.css new file mode 100755 index 0000000..67ac3c3 --- /dev/null +++ b/Gateways/FE/themes/fonts.css @@ -0,0 +1,7 @@ +@font-face { + font-family: "Nunito Sans"; + src: url('./NunitoSans-Variable.ttf') format('truetype'); + font-weight: 200 900; + font-style: normal; + font-display: swap; +} diff --git a/Gateways/FE/themes/fonts/resource.json b/Gateways/FE/themes/fonts/resource.json new file mode 100755 index 0000000..d2a1de1 --- /dev/null +++ b/Gateways/FE/themes/fonts/resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "type": "com.inductiveautomation.perspective:theme", + "restricted": false, + "overridable": true, + "files":[ + "NunitoSans-Variable.ttf" + ] +} diff --git a/Gateways/FE/themes/index.css b/Gateways/FE/themes/index.css new file mode 100755 index 0000000..be52894 --- /dev/null +++ b/Gateways/FE/themes/index.css @@ -0,0 +1,16 @@ +/* Imports */ +/* @import "./fonts.css"; */ +@import "./variables.css"; + +@import "../light/globals.css"; +@import "../light/app/index.css"; +@import "../light/common/index.css"; +@import "../light/designer/index.css"; +@import "../light/palette/index.css"; + +:root { + --font-main: 'Nunito', sans-serif; +} +.ia_container, .ia_component { + font-family: var(--font-main) !important; +} diff --git a/Gateways/FE/themes/resource.json b/Gateways/FE/themes/resource.json new file mode 100755 index 0000000..2968b84 --- /dev/null +++ b/Gateways/FE/themes/resource.json @@ -0,0 +1,14 @@ +{ + "scope": "G", + "description": "The light-cool theme for Perspective.", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "config.json", + "index.css", + "variables.css", + "fonts.css", + "NunitoSans-Variable.ttf" + ] +} diff --git a/Gateways/FE/themes/variables.css b/Gateways/FE/themes/variables.css new file mode 100755 index 0000000..357aa9f --- /dev/null +++ b/Gateways/FE/themes/variables.css @@ -0,0 +1,237 @@ +:root { + /* company color pallete */ + --streamnavy: #263367; + --streamblue: #014ea8; + --darkbluegray: #191928; + --darkgray: #53575a; + --gray: #b1b3b2; + --lightgray: #d9d8d4; + --darkred: #9e272b; + --alarmred: #e22028; + --sunsetorange: #de7c33; + --goldenyellow: #f4b834; + --coolpurple: #7266b7; + --tagvalue-color: var(--streamblue); + --units-color: var(--gray); + /* Alarm status */ + --alarm-diag: var(--darkgray); + --alarm-low: var(--coolpurple); + --alarm-medium: var(--goldenyellow); + --alarm-high: var(--sunsetorange); + --alarm-critical: var(--alarmred); + + /* Electrical color */ + --elec-on: #e23030; + --elec-off: #8fca94; + --elec-tripped: var(--goldenyellow); + --elec-maintenance: var(--sunsetorange); + --elec-disabled: var(--gray); + + /* States Performance */ + --state-running: #ffffff; + --state-standby: var(--gray); + --state-faulted: var(--alarmred); + --state-auto: #013d85; + --state-manual: var(--coolpurple); + --state-maintenance:var(--sunsetorange); + + /* Acción Principal (Control de Proceso) */ + --action-primary: var(--streamblue); + --action-primary-hover: #013d85; + --action-primary-text: #ffffff; + + /* Acción Crítica (Impacto Físico) */ + --action-danger: var(--alarmred); + --action-danger-hover: var(--darkred); + --action-danger-text: #ffffff; + + /* Acción Neutra (Navegación / Cancelar) */ + --action-secondary: var(--lightgray); + --action-secondary-hover: var(--gray); + --action-secondary-text: var(--darkgray); + + /* Estado Deshabilitado */ + --action-disabled: var(--gray); + --action-disabled-text: #767676; + + /* --- MONITOREO DE DATOS --- */ + --data-normal: #2073d3; + --data-high: #d32020; + --data-low: #20d3bb; + --units-color: var(--gray); + + /* Texto */ + --text-primary: #161616; + --text-secondary: #5E5E5E; + --text-inverse: #ffffff; + --text-muted: #767676; /* Unidades y detalles */ + + /* nav styles */ + --navtree-bgcolor: #0e1742; + --navtree-color: var(--lightgray); + --navtreeitem-hover-color: var(--white); + --navtreeitem-hover-bgcolor: var(--navtree-bgcolor); + --navtreeitem-active-color: var(--white); + --navtreeitem-active-bgcolor: #143663; + --idk-what: #0d1741; + + /*Begin Standard Ignition*/ + --white: var(--lightgray); + --black: #000000; + --red-20: #FAD4D4; + --red-30: #F99797; + --red-50: #F55353; + --red-60: #DE1B1B; + --red-90: #661414; + + /* Neutrals */ + --neutral-10: var(--lightgray); + --neutral-20: #F4F4F4; + --neutral-30: #D8D8D8; + --neutral-40: #BDBDBD; + --neutral-50: #A1A1A1; + --neutral-60: #767676; + --neutral-70: #5E5E5E; + --neutral-80: #515151; + --neutral-90: #323232; + --neutral-100: #161616; + + /* Sequential */ + --seq-1: #AE74E8; /* purple-50 */ + --seq-2: #9659D6; /* purple-60 */ + --seq-3: #7D3CBD; /* purple-70 */ + --seq-4: #642B9E; /* purple-80 */ + --seq-5: #4B2175; /* purple-90 */ + --seq-6: #371C52; /* purple-100 */ + + /* Data Viz: Diverging */ + --div-1: #642B9E; /* purple-80 */ + --div-2: #7D3CBD; /* purple-70 */ + --div-3: #9656D6; /* purple-60 */ + --div-4: #AE74E8; /* purple-50 */ + --div-5: #C79BF2; /* purple-40 */ + --div-6: #DABCF7; /* purple-30 */ + --div-7: #EAD9FA; /* purple-20 */ + --div-8: #F5F0FA; /* purple-10 */ + --div-9: #D7FAF8; /* teal-10 */ + --div-10: #83F2EB; /* teal-20 */ + --div-11: #43DED3; /* teal-30 */ + --div-12: #21C2B7; /* teal-40 */ + --div-13: #0EA197; /* teal-50 */ + --div-14: #08827A; /* teal-60 */ + --div-15: #086962; /* teal-70 */ + --div-16: #09524D; /* teal-80 */ + + /* Data Viz: Qualitative */ + --qual-1: #7D3CBD; /* purple-70 */ + --qual-2: #229AD6; /* primary-50 */ + --qual-3: #086962; /* teal-70 */ + --qual-4: #B01355; /* magenta-70 */ + --qual-5: var(--red-50); /* red-50 */ + --qual-6: var(--red-90); /* red-90 */ + --qual-7: #038537; /* green-60 */ + --qual-8: #114599; /* blue-80 */ + --qual-9: #ED5393; /* magenta-50 */ + --qual-10: #CF7911; /* bronze-50 */ + + --containerRoot: #F2F2F2; /* var(--neutral-10) the root container, depth 0 */ + --container: var(--neutral-20); /* standard container, depth 1 */ + --containerNested: var(--neutral-30); /* nested container, depth 2 */ + + --icon: var(--neutral-70); + --icon--hover: var(--neutral-60); + --icon--disabled: var(--neutral-40); + --icon--selected: var(--neutral-10); + + /* Borders */ + --border: var(--neutral-50); + --border--disabled: var(--neutral-50); + --containerBorder: 1px solid var(--border); + /* Box Shadow */ + --boxShadow1: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + --boxShadow2: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + --boxShadow3: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + --boxShadow4: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + --boxShadow5: 0 19px 38px rgba(0, 0, 0, 0.30), 0 15px 12px rgba(0, 0, 0, 0.22); + --boxShadow--inset: inset 0 0 4px 2px rgba(34, 34, 34, 0.4); + /* Spaces */ + --space-xs: 2px; + --space-sm: 4px; + --space-md: 8px; + --space-lg: 12px; + --space-xl: 20px; + + /* Border Radius */ + --borderRadius: 4px; + --borderRadiusInput: 2px; + /* Opacity */ + --opacity-25: rgba(0, 0, 0, 0.25); /* black, 50% opacity */ + --opacity-50: rgba(0, 0, 0, 0.50); /* black, 50% opacity */ + --opacity-85: rgba(0, 0, 0, 0.85); /* black, 85% opacity */ + /* Typography */ + --font-NotoSans: 'Nunito', "Segoe UI", Arial, sans-serif; + --font-main: 'Nunito', "Segoe UI", Arial, sans-serif; + /* Component Context Menu */ + --contextBackground: var(--white); +} + +.psc-navtree { + font-family: 'Nunito'; + font-size: 16; + font-weight: 100; + color: var(--navtree-color); + background-color: var(--navtree-bgcolor); +} + +.psc-navtree .ia_treeComponent__node__icon { + fill: var(--navtree-color); + width: 30px; + height: 30px; +} + +.psc-navtree .tree-item-label .label-wrapper.label-wrapper-icon { + flex: 0 0 30px; +} + +.psc-navtree .expand-icon, .psc-navtree .terminal-expand-icon, .psc-navtree .ia_treeComponent__alignmentGuide { + display: none; +} + +.psc-navtree .terminal-node .label-wrapper-icon { + visibility: hidden; +} + +.psc-navtree .ia_treeComponent__node--selected { + background-color: var(--navtreeitem-active-bgcolor); + color: var(--navtreeitem-active-color); + font-weight: 100; +} + +.psc-navtree .node-wrapper { + min-width: calc(100% - 20px) !important; +} + +.psc-navtree .node-selected::after { + content: ''; + position: absolute; + top: 0; + right: -12px; /* Adjust this value to control how far the point extends outwards */ + bottom: 0; + width: 12px; /* Adjust width to control the size of the diamond side */ + background-color: var(--navtreeitem-active-bgcolor); /* Same as the container's background */ + clip-path: polygon(0 0, 100% 50%, 0 100%); /* Points outward to create the diamond shape */ +} + +.psc-navtree .node-selected .ia_treeComponent__node__icon { + fill: var(--navtreeitem-active-color); +} + +.psc-navtree .ia_treeComponent__node:hover:not(.psc-navtree .ia_treeComponent__node--selected) { + background-color: var(--navtreeitem-hover-bgcolor); + color: var(--navtreeitem-hover-color); + font-weight: 100; +} + +.psc-navtree .ia_treeComponent__node:hover:not(.psc-navtree .ia_treeComponent__node--selected) .ia_treeComponent__node__icon { + fill: var(--navtreeitem-active-color); +}